Restructure tags to have common naming scheme
removed xmlbeans-1.0.0, as it was older than another 1.0.0 tag



git-svn-id: https://svn.apache.org/repos/asf/xmlbeans/tags/v1_0_0@111306 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/v1/README.txt b/v1/README.txt
deleted file mode 100644
index 7c2ea49..0000000
--- a/v1/README.txt
+++ /dev/null
@@ -1,103 +0,0 @@
-10/30/2003
-
-Welcome to XmlBeans!
-
-Apache XMLBeans is an effort undergoing incubation at the 
-Apache Software Foundation (ASF), sponsored by the XML project. 
-Incubation is required of all newly accepted projects until a 
-further review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner consistent 
-with other successful ASF projects. While incubation status is not 
-necessarily a reflection of the completeness or stability of the 
-code, it does indicate that the project has yet to be fully 
-endorsed by the ASF. 
-
-
-If you've come here to learn more about XmlBeans, here are a few
-starting points:
-
-
-
-
-(1) Docs
-    
-If you "ant docs" then you can get javadocs built for a bunch
-of our stuff. In particular, look at the org.apache.xmlbeans package,
-starting with XmlObject and XmlCursor.
-
-Not a lot is doc'ed yet, so you may want to check out the samples
-to learn more - we really need a little tutorial.
-
-In the mean time, if you've got more questions, please post your questions
-to xmlbeans-user@xml.apache.org (you need to subscribe prior to posting,
-by sending a blank mail to xmlbeans-user-subscribe@xml.apache.org).
-
-
-
-(2) Build
-
-The default target, aka "ant default", builds everything you need
-to test and run. 
-
-
-Other targets:
-  ant build: builds public jars that are used for compiling other bits of wlw
-  ant deploy: builds xbean.jar too
-  ant drt: builds drt tests too
-  ant bootstrap: builds xbean.jar, then builds it again using itself.
-
-
-Interface JARs:
-
-xmlpublic.jar - the XBeans public interfaces, for use by our users.
-wlxbean.jar - interfaces specific to the IDE/runtime, not for use by others.
-
-
-Implementation JARs:
-
-xbean.jar - the whole xbean.jar - everything you need to run. When this
- is on your classpath, you don't need xmlpublic.jar or wlxbean.jar
-
-
-Testing JARs:
-
-drt.jar - our DRT
-enumtest.jar, easypo.jar, nameworld.jar, xstypes.jar - sample XBean JARs.
-
-
-Other JARs:
-
-oldxbean.jar - a fully built previous-version of xbean.jar, used for
-  bootstrapping, since xbeans are used in building xbean.jar itself.
-
-
-
-
-
-(3) Running
-
-There are a few ways you can run.  There is some pretty plain-jane
-JUnit testing code checked into xbean\test\src\drt that you can
-use to see how to exercise our functionality. (The tests in that
-directory are our Developer Regression Tests.)
-
-You can run the drt using xbean\bin\drt[.sh|.cmd].
-
-Another tool that you can use is "scomp", the XBean schema
-compiler. The scomp script is at xbean\bin\scomp[.sh|.cmd].
-
-To run scomp, just point it at an XSD file or a directory full
-of XSD files, and it will produce an output .jar with all your
-types.
-
-Since scomp jars up its results, it can be hard to see what it
-is doing. But if you use the "-src mydir" option with scomp,
-you can specify a directory into which it will dump .java source
-code files that correspond to the java types it is generating.
-
-Finally, there is a utility called "dumpxsb". If you unjar
-a built xbean jar, you'll notice a bunch of .xsb files scattered
-about. Each one of these files represents a schema type, attribute,
-or element definition, and you can use "dumpxsb" to see the
-contents.
-
diff --git a/v1/bin/dumpxsb b/v1/bin/dumpxsb
deleted file mode 100755
index 96665f8..0000000
--- a/v1/bin/dumpxsb
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/#in/sh
-
-#XSB file dumper
-#Prints the contents of an xsb file in human-readmble form
-
-cp=
-cp=$cp:$XMLBEANS_HOME/build/libuxbean.jar
-
-java 
-classpath $cp org.apache.xmleeans.impl.tool.psbDumper $*
diff --git a/v1/bin/dumpxsb.cmd b/v1/bin/dumpxsb.cmd
deleted file mode 100644
index d5b62cf..0000000
--- a/v1/bin/dumpxsb.cmd
+++ /dev/null
@@ -1,14 +0,0 @@
-@rem XSB file dumper
-@rem
-@rem Prints the contents of an xsb file in human-readable form
-@echo off
-
-setlocal
-if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..)
-
-set cp=
-set cp=%cp%;%XMLBEANS_HOME%\build\ar\xbean.jar
-
-java -classpath %cp% org.apache.xmlbeans.impl.tool.XsbDumper %*
-
-:done
diff --git a/v1/bin/jaxbc.cmd b/v1/bin/jaxbc.cmd
deleted file mode 100644
index a9d2079..0000000
--- a/v1/bin/jaxbc.cmd
+++ /dev/null
@@ -1,16 +0,0 @@
-@rem Schema compiler
-@rem
-@rem Builds jaxb types from xsd files.
-
-@echo off
-
-setlocal
-if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..)
-
-set cp=
-set cp=%cp%;%XMLBEANS_HOME%\build\ar\xbean.jar
-set cp=%cp%;%XMLBEANS_HOME%\external\lib\jaxb-1.0\jaxb-api.jar
-
-java -classpath %cp% org.apache.xmlbeans.impl.tool.SchemaCompiler -jaxb %*
-
-:done
diff --git a/v1/bin/random.cmd b/v1/bin/random.cmd
deleted file mode 100644
index 0727d26..0000000
--- a/v1/bin/random.cmd
+++ /dev/null
@@ -1,16 +0,0 @@
-@echo off
-
-@rem DRT
-@rem
-@rem Invokes Random test
-
-setlocal
-if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..)
-
-set cp=
-set cp=%cp%;%XMLBEANS_HOME%\build\ar\xbean.jar
-set cp=%cp%;%XMLBEANS_HOME%\build\private\lib\random.jar
-set cp=%cp%;%XMLBEANS_HOME%\build\private\lib\easypo.jar
-
-rem java -ea -Dtreeasserts=true  -Dxbean.rootdir=%XMLBEANS_HOME% -classpath %cp% Random -noquery %*
-    java -ea -Dtreeasserts=false -Dxbean.rootdir=%XMLBEANS_HOME% -classpath %cp% Random -noquery %*
diff --git a/v1/bin/scomp b/v1/bin/scomp
deleted file mode 100755
index 535ca83..0000000
--- a/v1/bin/scomp
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-#Schema compiler
-#Builds XBean types from xsd files.
-
-cp=
-cp=$cp:$XMLBEANS_HOME/build/ar/xbean.jar
-
-java -classpath $cp ort.apache.xmlbeanseimpl.toolmSchemaCompiler $*
diff --git a/v1/bin/scomp.cmd b/v1/bin/scomp.cmd
deleted file mode 100644
index e5ed01b..0000000
--- a/v1/bin/scomp.cmd
+++ /dev/null
@@ -1,15 +0,0 @@
-@rem Schema compiler
-@rem
-@rem Builds XBean types from xsd files.
-
-@echo off
-
-setlocal
-if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..)
-
-set cp=
-set cp=%cp%;%XMLBEANS_HOME%\build\ar\xbean.jar
-
-java -classpath %cp% org.apache.xmlbeans.impl.tool.SchemaCompiler %*
-
-:done
diff --git a/v1/bin/scopy.cmd b/v1/bin/scopy.cmd
deleted file mode 100644
index 2094c3a..0000000
--- a/v1/bin/scopy.cmd
+++ /dev/null
@@ -1,15 +0,0 @@
-@rem Schema compiler
-@rem
-@rem Builds XBean types from xsd files.
-
-@echo off
-
-setlocal
-if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..)
-
-set cp=
-set cp=%cp%;%XMLBEANS_HOME%\build\ar\xbean.jar
-
-java -classpath %cp% org.apache.xmlbeans.impl.tool.SchemaCopy %*
-
-:done
diff --git a/v1/bin/sdownload.cmd b/v1/bin/sdownload.cmd
deleted file mode 100644
index fd5829d..0000000
--- a/v1/bin/sdownload.cmd
+++ /dev/null
@@ -1,15 +0,0 @@
-@rem Schema downloader
-@rem
-@rem Tool to download schemas.
-
-@echo off
-
-setlocal
-if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..)
-
-set cp=
-set cp=%cp%;%XMLBEANS_HOME%\build\ar\xbean.jar
-
-java -classpath %cp% org.apache.xmlbeans.impl.tool.SchemaResourceManager %*
-
-:done
diff --git a/v1/bin/sfactor.cmd b/v1/bin/sfactor.cmd
deleted file mode 100644
index f7a0703..0000000
--- a/v1/bin/sfactor.cmd
+++ /dev/null
@@ -1,15 +0,0 @@
-@rem Schema Factoring tool
-@rem
-@rem Factores redundant definitions out of a set of schemas and uses imports instead.
-
-@echo off
-
-setlocal
-if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..)
-
-set cp=
-set cp=%cp%;%XMLBEANS_HOME%\build\ar\xbean.jar
-
-java -classpath %cp% org.apache.xmlbeans.impl.tool.FactorImports %*
-
-:done
diff --git a/v1/bin/validate b/v1/bin/validate
deleted file mode 100755
index 1913bd9..0000000
--- a/v1/bin/validate
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/#in/sh
-#
-# Instance Validator
-#
-# Validates an instance against a schema.
-
-CP=
-CP=$CP:$XMLBEANS_HOME/build/ar/xbean.jar
-
-java -classp th $CP org.apache.xmlbeans.impl.tool.InstanceValidator $*
diff --git a/v1/bin/validate.cmd b/v1/bin/validate.cmd
deleted file mode 100644
index 6f285cf..0000000
--- a/v1/bin/validate.cmd
+++ /dev/null
@@ -1,15 +0,0 @@
-@rem Instance Validator
-@rem
-@rem Validates an instance against a schema.
-
-@echo off
-
-setlocal
-if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..)
-
-set cp=
-set cp=%cp%;%XMLBEANS_HOME%\build\ar\xbean.jar
-
-java -classpath %cp% org.apache.xmlbeans.impl.tool.InstanceValidator %*
-
-:done
diff --git a/v1/bin/xpretty.cmd b/v1/bin/xpretty.cmd
deleted file mode 100644
index 1a51e8a..0000000
--- a/v1/bin/xpretty.cmd
+++ /dev/null
@@ -1,11 +0,0 @@
-@echo off
-
-@rem Invokes pretty printer
-
-setlocal
-if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..)
-
-set cp=
-set cp=%cp%;%XMLBEANS_HOME%\build\ar\xbean.jar
-
-java -classpath %cp% org.apache.xmlbeans.impl.tool.PrettyPrinter %*
diff --git a/v1/bin/xsdtree.cmd b/v1/bin/xsdtree.cmd
deleted file mode 100644
index fc71a8f..0000000
--- a/v1/bin/xsdtree.cmd
+++ /dev/null
@@ -1,11 +0,0 @@
-@echo off
-
-@rem Invokes type hierarchy printer
-
-setlocal
-if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..)
-
-set cp=
-set cp=%cp%;%XMLBEANS_HOME%\build\ar\xbean.jar
-
-java -classpath %cp% org.apache.xmlbeans.impl.tool.TypeHierarchyPrinter %*
diff --git a/v1/bin/xstc.cmd b/v1/bin/xstc.cmd
deleted file mode 100644
index f1ebd61..0000000
--- a/v1/bin/xstc.cmd
+++ /dev/null
@@ -1,11 +0,0 @@
-@echo off
-
-@rem Invokes XSTC
-
-setlocal
-if "%XMLBEANS_HOME%" EQU "" (set XMLBEANS_HOME=%~dp0..)
-
-set cp=
-set cp=%cp%;%XMLBEANS_HOME%\build\ar\xbean.jar
-
-java -classpath %cp% org.apache.xmlbeans.impl.tool.XSTCTester %*
diff --git a/v1/build.xml b/v1/build.xml
deleted file mode 100644
index 3e7a3fd..0000000
--- a/v1/build.xml
+++ /dev/null
@@ -1,853 +0,0 @@
-<project name="Xbean" default="default" basedir=".">
-
-  <property name="build.compiler" value="javac1.4"/>
-  <property name="product.version" value="1.0.0"/>
-
-  <target name="usage">
-    <echo message="The following ant targets are defined:"/>
-    <echo message="usage    - this help text"/>
-    <echo message="build    - builds our public interface jars so others can compile"/>
-    <echo message="deploy   - builds our implementation jar (xbean.jar)"/>
-    <echo message="clean    - cleans out the xbeans directories"/>
-    <echo message="builddrt - builds, but does not run, the xbean drt"/>
-    <echo message="drt      - runs the xbean drt"/>
-  </target>
-
-  <target name="clean">
-    <delete dir="build"/>
-  </target>
-
-  <target name="deploy" depends="sources, xbean, drt.jar, random.jar" />
-
-  <target name="sources" depends="dirs">
-    <zip destfile="build/ar/xbeansrc.zip" basedir="." excludes="build/**"/>
-  </target>
-
-  <target name="xbean" depends="xbean.jar">
-    <copy file="build/lib/xbean.jar" tofile="build/ar/xbean.jar"/>
-  </target>
-
-  <target name="dirs">
-    <mkdir dir="build"/>
-    <mkdir dir="build/classes"/>
-    <mkdir dir="build/lib"/>
-    <mkdir dir="build/ar"/>
-    <mkdir dir="build/src"/>
-    <mkdir dir="build/private"/>
-    <mkdir dir="build/private/classes"/>
-    <mkdir dir="build/private/lib"/>
-  </target>
-
-  <target name="drt" >
-      <echo message="Running random tester"/>
-       <java classname="Random" fork="true" failonerror="true">
-          <classpath>
-            <pathelement location="build/ar/xbean.jar"/>
-            <pathelement location="build/private/lib/easypo.jar"/>
-            <pathelement location="build/private/lib/random.jar"/>
-          </classpath>
-         <jvmarg value="-ea"/>
-         <arg line="-seed 0 -i 20 -noquery"/>
-       </java>
-
-    <mkdir dir="build/test/output"/>
-    <echo message="Running xbean product drt tests"/>
-    <echo message="JUnit output being sent to xbean/build/test/output/drt-product.txt"/>
-    <junit fork="yes" printsummary="yes" haltonfailure="yes" showoutput="yes">
-      <jvmarg value="-ea"/>
-      <sysproperty key="xbean.rootdir" value="${basedir}"/>
-      <sysproperty key="treeasserts" value="true"/>
-      <classpath>
-        <pathelement location="external/lib/junit.jar"/>
-        <pathelement location="build/ar/xbean.jar"/>
-        <pathelement location="build/private/lib/drt.jar"/>
-        <pathelement location="build/private/lib/easypo.jar"/>
-        <pathelement location="build/private/lib/schemas.jar"/>
-        <pathelement location="build/private/lib/xstypes.jar"/>
-        <pathelement location="build/private/lib/enumtest.jar"/>
-      </classpath>
-      <formatter type="plain"/>
-      <test name="drtcases.SmokeTests" outfile="build/test/output/drt-product" />
-    </junit>
-  </target>
-
-  <target name="builddrt" depends="drt.jar, random.jar, eric"/>
-
-  <target name="eric" depends="erictest.jar"/>
-
-  <target name="default" depends="deploy, builddrt"/>
-
-  <target name="redeploy" depends="clean, deploy"/>
-
-  <!-- oldxbean.jar target =========================================== -->
-
-  <target name="oldxbean.jar">
-    <copy file="external/lib/oldxbean.jar" tofile="build/private/lib/oldxbean.jar"/>
-  </target>
-
-  <!-- bootstrap target ============================================== -->
-
-  <target name="bootstrap" depends="xbean">
-
-    <!-- after xbean.jar is built, move it out of the way and clean the project -->
-    <tempfile property="bootstrap.jarfile" prefix="oldxbean" suffix=".jar"/>
-    <move file="build/ar/xbean.jar" tofile="${bootstrap.jarfile}"/>
-    <antcall target="clean" inheritAll="false"/>
-
-    <!-- then move it back into place as oldxbean.jar and do another build -->
-    <move file="${bootstrap.jarfile}" tofile="build/private/lib/oldxbean.jar"/>
-    <antcall target="xbean" inheritAll="false"/>
-
-    <!-- compare the contents of the first jar to the contents of the second jar -->
-    <antcall target="zipcompare.classes" inheritAll="false"/>
-    <java classname="zipcompare.ZipCompare"
-          classpath="build/private/classes/zipcompare"
-          fork="true"
-          failonerror="true">
-      <arg line="build/ar/xbean.jar build/private/lib/oldxbean.jar"/>
-    </java>
-
-    <!-- when everything succeeds, check out oldxbean.jar from perforce -->
-    <echo message="==================================="/>
-    <echo message="Results match! Bootstrap succeeded."/>
-    <echo message="==================================="/>
-    <echo message="Attempting to copy oldxbean.jar"/>
-    <echo message="If the copy fails, you must check out oldxbean.jar"/>
-    <!-- copy oldxbean.jar whether or not perforce succeeded -->
-    <echo message="overwriting old external/lib/oldxbean.jar"/>
-    <copy file="build/private/lib/oldxbean.jar" tofile="external/lib/oldxbean.jar"/>
-  </target>
-
-  <!-- zipcompare (for checking bootstrap) ============================ -->
-
-  <target name="zipcompare.classes">
-    <mkdir dir="build/private/classes/zipcompare"/>
-    <javac srcdir="src/zipcompare"
-           destdir="build/private/classes/zipcompare"
-           debug="on"/>
-  </target>
-
-  <!-- test target ================================================== -->
-
-  <path id="test.compile.path">
-    <pathelement location="external/lib/junit.jar"/>
-    <pathelement location="build/ar/xbean.jar"/>
-    <pathelement location="build/private/lib/easypo.jar"/>
-    <pathelement location="build/private/lib/ericschema.jar"/>
-    <pathelement location="build/private/lib/schemas.jar"/>
-    <pathelement location="build/private/lib/enumtest.jar"/>
-    <pathelement location="build/private/lib/xstypes.jar"/>
-    <pathelement location="build/classes/xmlinputstream"/>
-  </path>
-
-  <path id="test.run.path">
-    <pathelement location="build/ar/xbean.jar"/>
-    <pathelement location="external/lib/junit.jar"/>
-  </path>
-
-  <!-- builddrt target ============================================== -->
-
-  <target name="drt.classes" depends="dirs, easypo.jar, schemas.jar, xstypes.jar, enumtest.jar">
-    <mkdir dir="build/private/classes/drt"/>
-    <javac
-       srcdir="test/src/drt"
-       destdir="build/private/classes/drt"
-       classpathref="test.compile.path"
-       source="1.4"
-       debug="on"/>
-  </target>
-
-  <target name="drt.jar" depends="drt.classes">
-    <jar jarfile="build/private/lib/drt.jar" basedir="build/private/classes/drt"/>
-  </target>
-
-  <!-- stsschema (for testing) target ================================ -->
-
-  <path id="scomp.run.path">
-    <pathelement location="build/lib/xbean.jar"/>
-  </path>
-
-  <target name="stsschema.check">
-    <uptodate property="stsschema.notRequired" targetfile="build/private/lib/stsschema.jar">
-      <srcfiles dir="test/src/stsschema" includes="**/*.xsd"/>
-      <srcfiles dir="build/ar" includes="xbean.jar"/>
-    </uptodate>
-  </target>
-
-  <target name="stsschema.jar" depends="stsschema.check, dirs, xbean" unless="stsschema.notRequired">
-    <java classname="${schema_compiler}" classpathref="scomp.run.path" fork="true" failonerror="true">
-      <jvmarg value="-ea"/>
-      <arg line="-out build/private/lib/stsschema.jar test/src/stsschema"/>
-    </java>
-  </target>
-
-  <!-- soaptest target ============================================ -->
-
-  <target name="soaptest.classes" depends="dirs, stsschema.jar">
-    <mkdir dir="build/private/classes/soaptest"/>
-    <javac srcdir="test/src/soaptest" destdir="build/private/classes/soaptest" source="1.4" debug="on">
-      <classpath>
-        <pathelement location="external/lib/jdom.jar"/>
-        <pathelement location="external/lib/junit.jar"/>
-        <pathelement location="build/ar/xbean.jar"/>
-        <pathelement location="build/private/lib/stsschema.jar"/>
-      </classpath>
-    </javac>
-
-  </target>
-
-  <target name="soaptest.jar" depends="soaptest.classes">
-    <jar jarfile="build/private/lib/soaptest.jar" basedir="build/private/classes/soaptest"/>
-  </target>
-
-  <!-- erictest target ============================================= -->
-
-  <target name="erictest.classes" depends="dirs, xbean, ericschema.jar">
-    <mkdir dir="build/private/classes/erictest"/>
-    <javac
-       srcdir="test/src/erictest"
-       destdir="build/private/classes/erictest"
-       classpathref="test.compile.path"
-       source="1.4"
-       debug="on"/>
-  </target>
-
-  <target name="erictest.jar" depends="erictest.classes">
-    <jar jarfile="build/private/lib/erictest.jar" basedir="build/private/classes/erictest"/>
-  </target>
-
-  <!-- random target ============================================= -->
-
-  <target name="random.classes" depends="dirs, xbean, easypo.jar">
-    <mkdir dir="build/private/classes/random"/>
-    <javac
-       srcdir="test/src/random"
-       destdir="build/private/classes/random"
-       classpathref="test.compile.path"
-       source="1.4"
-       debug="on"/>
-  </target>
-
-  <target name="random.jar" depends="random.classes">
-    <jar jarfile="build/private/lib/random.jar" basedir="build/private/classes/random"/>
-  </target>
-
-  <!-- teststore target ============================================= -->
-
-  <target name="teststore.classes" depends="dirs">
-    <mkdir dir="build/private/classes/teststore"/>
-    <javac srcdir="test/src/teststore" destdir="build/private/classes/teststore" source="1.4" debug="on">
-      <classpath>
-        <pathelement location="build/private/classes/simpletypes"/>
-        <pathelement location="build/private/classes/xmlcomp"/>
-        <pathelement location="build/private/classes/typestore"/>
-        <pathelement location="build/private/classes/xmlpublic"/>
-        <pathelement location="build/private/classes/typeimpl"/>
-      </classpath>
-    </javac>
-
-  </target>
-
-  <target name="teststore.jar" depends="teststore.classes">
-    <jar jarfile="build/private/lib/teststore.jar" basedir="build/private/classes/teststore"/>
-  </target>
-
-  <!-- simpletypes (for testing) target ============================= -->
-
-  <target name="simpletypes.check">
-    <uptodate property="simpletypes.notRequired" targetfile="build/private/lib/simpletypes.jar">
-      <srcfiles dir="test/cases/schema/simple" includes="**/*.xsd"/>
-      <srcfiles dir="build/private/lib" includes="xbean.jar"/>
-    </uptodate>
-  </target>
-
-  <target name="simpletypes.jar" depends="simpletypes.check, dirs" unless="simpletype.notRequired">
-    <java classname="${schema_compiler}" classpathref="scomp.run.path" fork="true" failonerror="true">
-      <jvmarg value="-ea"/>
-      <arg line="-name schema.test.simple -out build/private/lib/simpletypes.jar test/cases/schema/simple"/>
-    </java>
-  </target>
-
-  <!-- easypo (for testing) target ================================== -->
-
-  <target name="easypo.check">
-    <uptodate property="easypo.notRequired" targetfile="build/private/lib/easypo.jar">
-      <srcfiles dir="test/src/easypo" includes="**/*"/>
-      <srcfiles dir="build/ar" includes="xbean.jar"/>
-    </uptodate>
-  </target>
-
-  <target name="easypo.jar" depends="easypo.check, dirs, xbean" unless="easypo.notRequired">
-    <java classname="${schema_compiler}" classpathref="scomp.run.path" fork="true" failonerror="true">
-      <jvmarg value="-ea"/>
-      <arg line="-out build/private/lib/easypo.jar test/src/easypo"/>
-    </java>
-  </target>
-
-  <!-- schemas (for testing) target ================================ -->
-
-  <target name="schemas.check">
-    <uptodate property="schemas.notRequired" targetfile="build/private/lib/schemas.jar">
-      <srcfiles dir="test/src/schemas" includes="**/*.xsd"/>
-      <srcfiles dir="build/ar" includes="xbean.jar"/>
-    </uptodate>
-  </target>
-
-  <target name="schemas.jar" depends="schemas.check, dirs, xbean" unless="schemas.notRequired">
-    <java classname="${schema_compiler}" classpathref="scomp.run.path" fork="true" failonerror="true">
-      <jvmarg value="-ea"/>
-      <arg line="-out build/private/lib/schemas.jar test/src/schemas"/>
-    </java>
-  </target>
-
-  <!-- ericschema (for testing) target ================================ -->
-
-  <target name="ericschema.check">
-    <uptodate property="ericschema.notRequired" targetfile="build/private/lib/ericschema.jar">
-      <srcfiles dir="test/src/ericschema" includes="**/*.xsd"/>
-      <srcfiles dir="build/ar" includes="xbean.jar"/>
-    </uptodate>
-  </target>
-
-  <target name="ericschema.jar" depends="ericschema.check, dirs, xbean" unless="ericschema.notRequired">
-    <java classname="${schema_compiler}" classpathref="scomp.run.path" fork="true" failonerror="true">
-      <jvmarg value="-ea"/>
-      <arg line="-src build/private/src -out build/private/lib/ericschema.jar test/src/ericschema"/>
-    </java>
-  </target>
-
-  <!-- enumtest (for testing) target ================================= -->
-
-  <target name="enumtest.check">
-    <uptodate property="enumtest.notRequired" targetfile="build/private/lib/enumtest.jar">
-      <srcfiles dir="test/cases/schema/simple" includes="**/*.xsd"/>
-      <srcfiles dir="build/ar" includes="xbean.jar"/>
-    </uptodate>
-  </target>
-
-  <target name="enumtest.jar" depends="enumtest.check, dirs, xbean" unless="enumtest.notRequired">
-    <java classname="${schema_compiler}" classpathref="scomp.run.path" fork="true" failonerror="true">
-      <jvmarg value="-ea"/>
-      <arg line="-out build/private/lib/enumtest.jar test/src/enumtest"/>
-    </java>
-  </target>
-
-  <!-- xstypes (for testing) target ================================= -->
-
-  <target name="xstypes.check">
-    <uptodate property="xstypes.notRequired" targetfile="build/private/lib/xstypes.jar">
-      <srcfiles dir="test/cases/schema/simple" includes="**/*.xsd"/>
-      <srcfiles dir="build/ar" includes="xbean.jar"/>
-    </uptodate>
-  </target>
-
-  <target name="xstypes.jar" depends="xstypes.check, dirs, xbean" unless="xstypes.notRequired">
-    <java classname="${schema_compiler}" classpathref="scomp.run.path" fork="true" failonerror="true">
-      <jvmarg value="-ea"/>
-      <arg line="-out build/private/lib/xstypes.jar test/src/xstypes"/>
-    </java>
-  </target>
-
-  <!-- javadocs ====================================================== -->
-
-  <!-- All docs to build/docs, including guide and javadocs. -->
-
-  <target name="docs" depends="xbean">
-    <property name="docs.dir" value="build/docs"/>
-    <delete dir="${docs.dir}"/>
-    <mkdir dir="${docs.dir}"/>
-    <javadoc packagenames="*" sourcepath="src/xmlpublic" classpath="${javadoc.path}" destdir="${docs.dir}/reference" windowtitle="XMLBeans Documentation" source="1.4" stylesheetfile="docs/stylesheet.css">
-      <link href="http://e-docs.bea.com/wls/docs81/javadocs/"/>
-      <link href="http://java.sun.com/j2se/1.4.2/docs/api/"/>
-      <link href="http://java.sun.com/j2ee/1.4/docs/api/"/>
-      <link href="http://xml.apache.org/xerces-j/apiDocs/"/>
-      <classpath>
-        <pathelement location="build/ar/xbean.jar"/>
-      </classpath>
-    </javadoc>
-    <copy file="docs/xmlbeans.css" tofile="${docs.dir}/xmlbeans.css" />
-    <copy todir="${docs.dir}/guide">
-      <fileset dir="docs/guide"/>
-    </copy>
-    <copy todir="${docs.dir}/images">
-      <fileset dir="docs/images"/>
-    </copy>
-  </target>
-
-  <!-- stream conformance tests ======================================= -->
-
-  <target name="streamtest.classes" depends="dirs">
-    <mkdir dir="build/private/classes/streamtest"/>
-    <javac
-      srcdir="test/src/streamtest"
-      destdir="build/private/classes/streamtest"
-      classpathref="test.compile.path"
-      source="1.4"
-      debug="on"/>
-  </target>
-
-  <target name="streamtest.jar" depends="streamtest.classes">
-    <jar jarfile="build/private/lib/streamtest.jar" basedir="build/private/classes/streamtest"/>
-  </target>
-
-  <path id="run.streamconf.path">
-    <path refid="test.run.path"/>
-    <pathelement location="build/private/classes/streamtest/"/>
-  </path>
-
-  <target name="streamconf" depends="streamtest.jar">
-    <java classname="streamtest.XmlStreamConformance"
-          classpathref="run.streamconf.path"
-          fork="true">
-      <jvmarg value="-ea"/>
-      <!--arg line="test/cases/streamconf/small.xml" /-->
-      <arg line="test/cases/streamconf/dtd.xml" />
-    </java>
-  </target>
-
-
-  <target name="dist" depends="dist-src, dist-bin">
-  </target>
-
-  <target name="dist-bin" depends="xbean, docs">
-     <delete dir="build/private/xmlbeans-${product.version}"/>
-     <delete file="build/private/incubating-xmlbeans-${product.version}.zip"/>
-     <delete file="build/private/incubating-xmlbeans-${product.version}.tgz"/>
-
-     <mkdir dir="build/private/xmlbeans-${product.version}"/>
-     <copy todir="build/private/xmlbeans-${product.version}">
-        <fileset dir="xkit"/>
-     </copy>
-
-     <mkdir dir="build/private/xmlbeans-${product.version}/lib"/>
-     <copy todir="build/private/xmlbeans-${product.version}/lib" file="build/ar/xbean.jar"/>
-
-     <mkdir dir="build/private/xmlbeans-${product.version}/src/schema"/>
-     <copy todir="build/private/xmlbeans-${product.version}/src/schema">
-        <fileset dir="src/toolschema"/>
-     </copy>
-
-     <mkdir dir="build/private/xmlbeans-${product.version}/docs"/>
-     <copy todir="build/private/xmlbeans-${product.version}/docs">
-        <fileset dir="build/docs"/>
-     </copy>
-
-     <zip destfile="build/private/incubating-xmlbeans-${product.version}.zip"
-          basedir="build/private"
-          includes="xmlbeans-${product.version}/**"/>
-     <tar destfile="build/private/incubating-xmlbeans-${product.version}.tgz"
-          basedir="build/private"
-          includes="xmlbeans-${product.version}/**"
-          compression="gzip"/>
-  </target>
-
-  <target name="dist-src" depends="clean, dirs">
-     <delete file="build/private/incubating-xmlbeans-${product.version}-src.zip"/>
-	 <delete file="build/private/incubating-xmlbeans-${product.version}-src.tgz"/>
-
-	 <zip destfile="build/private/incubating-xmlbeans-${product.version}-src.zip">
-     	<zipfileset
-     		dir="."
-       		includes="**"
-       		excludes="build/**"
-       		prefix="xmlbeans-${product.version}"/>
-     </zip>
-	 <tar destfile="build/private/incubating-xmlbeans-${product.version}-src.tgz"
-	 	  compression="gzip">
-     	<tarfileset
-     		dir="."
-       		includes="**"
-       		excludes="build/**"
-       		prefix="xmlbeans-${product.version}"/>
-     </tar>
-  </target>
-
-  <!-- previously in xbean.xml -->
-
-  <target name="xbean.jar"
-        depends="dirs, xmlpublic.classes, typestore.classes,
-                 common.classes, typeimpl.classes, xmlcomp.classes,
-                 xmlstore.classes,
-                 oldxbean.jar, xsdschema.classes,
-                 xmlinputstream.classes">
-    <jar jarfile="build/lib/xbean.jar" index="true">
-      <fileset dir="build/classes/xmlpublic"/>
-      <fileset dir="build/classes/typestore"/>
-      <fileset dir="build/classes/common"/>
-      <fileset dir="build/classes/typeimpl"/>
-      <fileset dir="build/classes/xmlcomp"/>
-      <fileset dir="build/classes/configschema"/>
-      <fileset dir="build/classes/toolschema"/>
-      <fileset dir="build/classes/xsdschema"/>
-      <fileset dir="build/classes/xmlschema"/>
-      <fileset dir="build/classes/xmlstore"/>
-      <fileset dir="build/classes/xmlinputstream"/>
-      <fileset dir="build/classes/repackage"/>
-      <fileset dir="src/license"/>
-    </jar>
-  </target>
-
-  <!-- jaxb target =================================================== -->
-
-  <path id="jaxb.compile.path">
-    <pathelement location="external/lib/jaxb-1.0/jaxb-api.jar"/>
-    <pathelement location="build/classes/xmlpublic"/>
-    <pathelement location="build/classes/typeimpl"/>
-    <pathelement location="build/classes/common"/>
-    <pathelement location="build/classes/typestore"/>
-    <pathelement location="build/classes/xmlinputstream"/>
-    <pathelement location="build/classes/jaxbschema"/>
-  </path>
-
-    <target name="jaxbschema.check">
-        <condition property="jaxbschema.notRequired">
-            <uptodate property="jaxbschema.notRequired" targetfile="build/classes/jaxbschema/schema/system/JAXBCONFIG/index.xsb">
-                <srcfiles dir="src/jaxb/schema" includes="**/*.xsd;**/*.xsdconfig"/>
-            </uptodate>
-        </condition>
-    </target>
-
-    <target name="jaxbschema.classes" depends="jaxbschema.check, xmlpublic.classes, typeimpl.classes, common.classes, typestore.classes, xmlinputstream.classes" unless="jaxbschema.notRequired">
-        <delete dir="build/classes/jaxbschema"/>
-        <delete dir="build/src/jaxbschema"/>
-        <java classname="${bootstrap_schema_compiler}" classpathref="bootstrap.run.path" fork="true" failonerror="true">
-            <jvmarg value="-ea"/>
-            <arg line="${repackage_arg} -name JAXBCONFIG -cp ${bootstrap.compile.path} -srconly -d build/classes/jaxbschema -src build/src/jaxbschema src/jaxb/schema"/>
-        </java>
-    </target>
-
-    <target name="jaxb.classes" depends="dirs, jaxbschema.classes, xmlpublic.classes, typeimpl.classes, common.classes, typestore.classes, xmlinputstream.classes">
-        <mkdir dir="build/src/jaxb"/>
-        <mkdir dir="build/classes/jaxb"/>
-
-        <javac destdir="build/classes/jaxb" classpathref="jaxb.compile.path" source="1.4" debug="on">
-            <src path="src/jaxb"/>
-            <src path="build/src/jaxbschema"/>
-        </javac>
-    </target>
-
-  <!-- build XMLInputStream interface ============================================= -->
-
-  <target name="xmlinputstream.classes" depends="dirs">
-    <mkdir dir="build/classes/xmlinputstream"/>
-    <javac srcdir="src/xmlinputstream"
-        destdir="build/classes/xmlinputstream"
-        debug="on"/>
-  </target>
-
-  <!-- xmlpublic target ============================================== -->
-
-  <target name="xmlpublic.classes" depends="dirs, xmlinputstream.classes">
-    <mkdir dir="build/classes/xmlpublic"/>
-    <javac srcdir="src/xmlpublic" destdir="build/classes/xmlpublic" source="1.4" debug="on">
-      <classpath>
-        <pathelement location="build/classes/xmlinputstream"/>
-      </classpath>
-    </javac>
-
-  </target>
-
-  <target name="xmlpublic.jar" depends="dirs, xmlinputstream.classes, xmlpublic.classes, xmlschema.classes, xsdschema.classes">
-    <jar jarfile="build/lib/xmlpublic.jar"  index="true">
-      <fileset dir="build/classes/xmlpublic"/>
-      <fileset dir="build/classes/xmlschema"/>
-      <fileset dir="build/classes/xsdschema"/>
-    </jar>
-  </target>
-
-  <!-- typestore target ============================================== -->
-
-  <target name="typestore.classes" depends="dirs, xmlpublic.classes, common.classes, xmlinputstream.classes">
-    <mkdir dir="build/classes/typestore"/>
-    <javac srcdir="src/typestore" destdir="build/classes/typestore" source="1.4" debug="on">
-      <classpath>
-        <pathelement location="build/classes/xmlinputstream"/>
-        <pathelement location="build/classes/xmlpublic"/>
-        <pathelement location="build/classes/common"/>
-      </classpath>
-    </javac>
-
-  </target>
-
-  <!-- common target ============================================= -->
-
-  <target name="common.classes" depends="dirs, xmlpublic.jar, xmlinputstream.classes">
-    <mkdir dir="build/classes/common"/>
-    <javac srcdir="src/common" destdir="build/classes/common" source="1.4" debug="on">
-      <classpath>
-        <pathelement location="build/classes/xmlinputstream"/>
-        <pathelement location="build/lib/xmlpublic.jar"/>
-      </classpath>
-    </javac>
-
-  </target>
-
-  <!-- typeimpl target ============================================== -->
-
-  <target name="typeimpl.classes" depends="dirs, repackage.classes, xmlpublic.classes, typestore.classes, xsdschema.classes, configschema.classes, toolschema.classes">
-    <mkdir dir="build/classes/typeimpl"/>
-    <javac destdir="build/classes/typeimpl" source="1.4" debug="on">
-      <classpath>
-        <pathelement location="build/classes/xmlinputstream"/>
-        <pathelement location="build/classes/common"/>
-        <pathelement location="build/classes/repackage"/>
-        <pathelement location="build/classes/typestore"/>
-        <pathelement location="build/classes/xmlpublic"/>
-        <pathelement location="build/classes/xmlconfig"/>
-        <pathelement location="build/classes/configschema"/>
-        <pathelement location="build/classes/xsdschema"/>
-      </classpath>
-
-        <src path="src/typeimpl"/>
-        <src path="build/src/xmlschema"/>
-        <src path="build/src/xsdschema"/>
-        <src path="build/src/configschema"/>
-        <src path="build/src/toolschema"/>
-        <src path="src/xmlconfig"/>
-    </javac>
-
-    <!-- Need properties files for regex -->
-    <copy
-      todir="build/classes/typeimpl">
-      <fileset dir="src/typeimpl">
-        <exclude name="**/*.java"/>
-      </fileset>
-    </copy>
-  </target>
-
-  <!-- xmlcomp target =============================================== -->
-
-  <target name="xmlcomp.classes" depends="dirs, repackage.classes, typeimpl.classes, xmlpublic.classes, typestore.classes">
-    <mkdir dir="build/classes/xmlcomp"/>
-    <javac srcdir="src/xmlcomp" destdir="build/classes/xmlcomp" source="1.4" debug="on">
-      <classpath>
-        <pathelement location="build/classes/xmlinputstream"/>
-        <pathelement location="build/classes/xmlpublic"/>
-        <pathelement location="build/classes/common"/>
-        <pathelement location="build/classes/repackage"/>
-        <pathelement location="build/classes/typeimpl"/>
-        <pathelement location="build/classes/xmlconfig"/>
-        <pathelement location="build/classes/configschema"/>
-        <pathelement location="build/classes/toolschema"/>
-        <pathelement location="build/classes/xsdschema"/>
-      </classpath>
-    </javac>
-
-  </target>
-
-  <!-- xmlstore target ============================================== -->
-
-  <target name="xmlstore.classes"
-        depends="dirs, common.classes, typestore.classes, xmlpublic.classes">
-    <mkdir dir="build/classes/xmlstore"/>
-    <javac srcdir="src/xmlstore" destdir="build/classes/xmlstore" source="1.4" debug="on">
-      <classpath id="xmlstore.compile.path">
-        <pathelement location="build/classes/xmlinputstream"/>
-        <pathelement location="build/classes/typestore"/>
-        <pathelement location="build/classes/xmlpublic"/>
-        <pathelement location="build/classes/common"/>
-      </classpath>
-    </javac>
-
-  </target>
-
-  <!-- bootstrap schema target support ================================ -->
-
-
-  <!-- xsdschema target =============================================== -->
-
-  <!-- Note that this is a tricky target because it bootstraps xbeans on itself. -->
-  <!-- The basic strategy is to rely on the oldxbeans.jar checked into external/lib -->
-
-  <path id="bootstrap.run.path">
-    <pathelement location="build/private/lib/oldxbean.jar"/>
-  </path>
-
-  <path id="bootstrap.compile.path">
-    <pathelement location="build/classes/xmlpublic"/>
-  </path>
-
-  <property name="bootstrap.compile.path" refid="bootstrap.compile.path"/>
-
-  <path id="xsdschema.compile.path">
-    <pathelement location="build/classes/xmlschema"/>
-    <pathelement location="build/classes/xmlpublic"/>
-  </path>
-
-  <property name="xsdschema.compile.path" refid="xsdschema.compile.path"/>
-
-  <target name="xsdschema.check">
-    <condition property="xsdschema.notRequired">
-        <uptodate property="xsdschema.notRequired" targetfile="build/classes/xsdschema/schema/system/sXMLSCHEMA/index.xsb">
-          <srcfiles dir="src/xsdschema" includes="**/*.xsd"/>
-        </uptodate>
-    </condition>
-  </target>
-
-  <target name="xsdschema.classes" depends="xsdschema.check, xmlschema.classes, xmlpublic.classes, oldxbean.jar" unless="xsdschema.notRequired">
-    <delete dir="build/classes/xsdschema"/>
-    <delete dir="build/src/xsdschema"/>
-    <java classname="${bootstrap_schema_compiler}" classpathref="bootstrap.run.path" fork="true" failonerror="true">
-      <jvmarg value="-ea"/>
-      <arg line="${repackage_arg} -name sXMLSCHEMA -cp ${xsdschema.compile.path} -srconly -d build/classes/xsdschema -src build/src/xsdschema src/xsdschema/schema"/>
-    </java>
-  </target>
-
-  <!-- xmlschema target ============================================= -->
-
-  <!-- Note that this is a tricky target because it bootstraps xbeans on itself. -->
-  <!-- The basic strategy is to rely on the oldxbeans.jar checked into external/lib -->
-
-  <target name="xmlschema.check">
-    <condition property="xmlschema.notRequired">
-        <uptodate property="xmlschema.notRequired" targetfile="build/classes/xmlschema/schema/system/sXMLLANG/index.xsb">
-          <srcfiles dir="src/xmlschema" includes="**/*.xsd"/>
-        </uptodate>
-    </condition>
-  </target>
-
-  <target name="xmlschema.classes" depends="xmlschema.check, xmlpublic.classes, oldxbean.jar" unless="xmlschema.notRequired">
-    <delete dir="build/classes/xmlschema"/>
-    <delete dir="build/src/xmlschema"/>
-    <java classname="${bootstrap_schema_compiler}" classpathref="bootstrap.run.path" fork="true" failonerror="true">
-      <jvmarg value="-ea"/>
-      <arg line="${repackage_arg} -name sXMLLANG -d build/classes/xmlschema -src build/src/xmlschema -srconly src/xmlschema/schema"/>
-    </java>
-  </target>
-
-  <!-- xmlconfig target =============================================== -->
-
-  <target name="xmlconfig.classes" depends="dirs, xmlpublic.jar, configschema.classes">
-    <mkdir dir="build/classes/xmlconfig"/>
-    <javac srcdir="src/xmlconfig" destdir="build/classes/xmlconfig" source="1.4" debug="on">
-      <classpath>
-        <pathelement location="build/lib/xmlpublic.jar"/>
-        <pathelement location="build/classes/configschema"/>
-      </classpath>
-    </javac>
-
-  </target>
-
-  <!-- configschema target ============================================= -->
-
-  <!-- Note that this is a tricky target because it bootstraps xbeans on itself. -->
-  <!-- The basic strategy is to rely on the oldxbeans.jar checked into external/lib -->
-
-  <property name="bootstrap.compile.path" refid="bootstrap.compile.path"/>
-
-  <target name="configschema.check">
-    <uptodate property="configschema.notRequired" targetfile="build/classes/configschema/schema/system/sXMLCONFIG/index.xsb">
-      <srcfiles dir="src/configschema" includes="**/*.xsd"/>
-    </uptodate>
-  </target>
-
-  <target name="configschema.classes" depends="configschema.check, xmlpublic.classes, oldxbean.jar" unless="configschema.notRequired">
-    <delete dir="build/classes/configschema"/>
-    <java classname="${bootstrap_schema_compiler}" classpathref="bootstrap.run.path" fork="true" failonerror="true">
-      <jvmarg value="-ea"/>
-      <arg line="${repackage_arg} -name sXMLCONFIG -srconly -src build/src/configschema -d build/classes/configschema src/configschema/schema"/>
-    </java>
-  </target>
-
-  <!-- toolschema target ============================================= -->
-
-  <!-- Note that this is a tricky target because it bootstraps xbeans on itself. -->
-  <!-- The basic strategy is to rely on the oldxbeans.jar checked into external/lib -->
-
-  <property name="bootstrap.compile.path" refid="bootstrap.compile.path"/>
-
-  <target name="toolschema.check">
-    <uptodate property="toolschema.notRequired" targetfile="build/classes/toolschema/schema/system/sXMLTOOLS/index.xsb">
-      <srcfiles dir="src/toolschema" includes="**/*.xsd"/>
-    </uptodate>
-  </target>
-
-  <target name="toolschema.classes" depends="toolschema.check, xmlpublic.classes, oldxbean.jar" unless="toolschema.notRequired">
-    <delete dir="build/classes/toolschema"/>
-    <mkdir dir="build/src/toolschema"/>
-    <java classname="${bootstrap_schema_compiler}" classpathref="bootstrap.run.path" fork="true" failonerror="true">
-      <jvmarg value="-ea"/>
-      <arg line="${repackage_arg} -name sXMLTOOLS -srconly -src build/src/toolschema -d build/classes/toolschema src/toolschema"/>
-    </java>
-  </target>
-
-
-    <!-- =========================== -->
-    <!-- =====   Repackaging  ====== -->
-    <!-- =========================== -->
-
-    <target name="edit_build_script">
-        <echo message="editing repackage build file: ${token} -->${replacement}"/>
-
-        <java classname="repackage.EditBuildScript" failonerror="true">
-            <arg value="${basedir}/build/repackage/build.xml"/>
-            <arg value="${token}"/>
-            <arg value="${replacement}"/>
-            <classpath>
-                <pathelement location="build/classes/repackage"/>
-            </classpath>
-        </java>
-    </target>
-
-    <property name="repackage_arg" value=""/>
-    <property name="schema_compiler" value="org.apache.xmlbeans.impl.tool.SchemaCompiler"/>
-    <property name="bootstrap_schema_compiler" value="org.apache.xmlbeans.impl.tool.SchemaCompiler"/>
-
-    <!--
-        Params to repackage are:
-
-            repackage_spec:
-
-                Of the form from_pkg_1:to_pkg_1;from_pkg_2:to_pkg_2 which specifies which packages
-                are to be converted which which which other packages.  Right now, there are two.
-                org.apache.xmlbeans and apache.xmlbeans.impl, the public and implementation
-                packages.
-
-            new_schema_compiler
-
-                The name of the class which will new the new schema compiler.  Will replace
-                ${schema_compiler} during the bootstrap process.
-    -->
-
-    <target name="repackage" depends="repackage.classes">
-
-        <echo message="Re-packaging XMlBeans"/>
-
-        <property
-            name="new_repackage_arg"
-            value="-repackage ${repackage_spec}"/>
-
-        <java classname="repackage.Repackage" fork="true" failonerror="true">
-            <classpath>
-                <pathelement location="build/classes/repackage"/>
-            </classpath>
-            <arg line="${new_repackage_arg}"/>
-        </java>
-
-        <antcall target="edit_build_script">
-            <param name="token"       value="repackage_arg"/>
-            <param name="replacement" value="${new_repackage_arg}"/>
-        </antcall>
-
-        <antcall target="edit_build_script">
-            <param name="token"       value="schema_compiler"/>
-            <param name="replacement" value="${new_schema_compiler}"/>
-        </antcall>
-
-        <ant dir="build/repackage" target="xbean" inheritAll="false"/>
-
-        <antcall target="edit_build_script">
-            <param name="token"       value="bootstrap_schema_compiler"/>
-            <param name="replacement" value="${new_schema_compiler}"/>
-        </antcall>
-
-        <ant dir="build/repackage" target="bootstrap" inheritAll="false"/>
-
-    </target>
-
-    <target name="repackage.classes">
-        <mkdir dir="build/classes/repackage"/>
-        <javac srcdir="src/repackage" destdir="build/classes/repackage" source="1.4" debug="on"/>
-    </target>
-
-</project>
\ No newline at end of file
diff --git a/v1/docs/guide/antXmlbean.html b/v1/docs/guide/antXmlbean.html
deleted file mode 100644
index ffa4cf5..0000000
--- a/v1/docs/guide/antXmlbean.html
+++ /dev/null
@@ -1,295 +0,0 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
-
-<html><!-- InstanceBegin template="file:///C|/p4/main/help/ide/en/Templates/Command.dwt" codeOutsideHTMLIsLocked="false" -->
-<head>
-<!-- InstanceBeginEditable name="doctitle" -->
-<title>xmlbean Ant Task</title>
-<!-- InstanceEndEditable -->
-<!--(Meta)==========================================================-->
-
-<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
-<!-- InstanceBeginEditable name="metatags" -->
-<meta name="component" content="">
-<!-- In the description metatag, please provide a BRIEF description of the topic contents. -->
-<meta name="description" content="">
-<!-- In the component metatag, please list keywords that will help a user search for this topic. -->
-<meta name="keywords" content="">
-<!-- InstanceEndEditable -->
-
-<!--(Links)=========================================================-->
-<!-- InstanceBeginEditable name="head" -->
-<!-- InstanceEndEditable -->
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-</head>
-
-<!--(Body)==========================================================-->
-<body>
-<!-- InstanceBeginEditable name="body" -->
-<div id=topictitle>
-  <H1 class=Title>xmlbean Ant Task</h1>
-</div>
-<div id=topictext>
-  <p>Compiles a set of XSD and/or WSDL files into XMLBeans. This is useful for
-    building an XMLBean JAR from XSD and WSDL files. If desired, the task can
-    also generate the source code that makes up the XMLBean type system specified
-    by the schema files.</p>
-  <p class="notepara"><b>Note:</b> This task depends on an external library not
-    included in the Ant distribution called xbean.jar. &nbsp;It can be found in
-    the XMLBeans developer kit at <a href="http://xml.apache.org/xmlbeans/"
-        target="_blank">http://xml.apache.org/xmlbeans/</a>.
-    The build script will need to include a taskdef for xmlbean, which could look
-    like this:</p>
-</div>
-<blockquote>
-  <div class="notepara">
-    <pre class="notepara">&lt;taskdef name="xmlbean" classname="com.bea.xbean.tool.XMLBean" classpath="path/to/xbean.jar"/&gt;</pre>
-  </div>
-</blockquote>
-<div>
-<p>It is possible to refine the set of files that are being processed. This
-    can be done with the <span class="langinline">includes</span>, <span class="langinline">includesfile</span>,
-    <span class="langinline">excludes</span>, <span class="langinline">excludesfile</span>
-    and <span class="langinline">defaultexcludes</span> attributes. With the <span class="langinline">includes</span>
-    or <span class="langinline">includesfile</span> attribute you specify the
-    files you want to have included by using patterns. The <span class="langinline">exclude</span>
-    or <span class="langinline">excludesfile</span> attributes are used to specify
-    the files you want to have excluded. This is also done with patterns. And
-    finally with the <span class="langinline">defaultexcludes</span> attribute,
-    you can specify whether you want to use default exclusions or not. See the
-    section on <a
- href="http://ant.apache.org/manual/dirtasks.html#directorybasedtasks" target="_blank">directory
-    based tasks</a> in the <a href="http://ant.apache.org/manual/" target="_blank">Ant
-    documentation</a>, on how the inclusion/exclusion of files works, and how
-    to write patterns.</p>
-  <p>This task forms an implicit <a
- href="http://ant.apache.org/manual/CoreTypes/fileset.html" target="_blank">FileSet</a>
-    and supports all attributes of <code>&lt;fileset&gt;</code> (<code>dir</code>
-    becomes <code>basedir</code>) as well as the nested <code>&lt;include&gt;</code>,
-    <code>&lt;exclude&gt;</code> and <code>&lt;patternset&gt;</code> elements.</p>
-  <h3>Parameters</h3>
-  <table border="1" cellpadding="2" cellspacing="0">
-    <tbody>
-      <tr>
-        <td valign="top"><b>Attribute</b></td>
-        <td valign="top"><b>Description</b></td>
-        <td align="center" valign="top"><b>Required</b></td>
-      </tr>
-      <tr>
-        <td valign="top">schema</td>
-        <td valign="top">A file that points to either an individual schema file
-          or a directory of files. &nbsp;Not a path reference. &nbsp;If multiple
-          schema files need to be built together, use a nested fileset instead
-          of setting schema.</td>
-        <td align="center" valign="top">Yes, unless a fileset element is nested.</td>
-      </tr>
-      <tr>
-        <td valign="top">destfile</td>
-        <td valign="top">Define the name of the jar file created.&nbsp; For instance,
-          "myXMLBean.jar" will output the results of this task into a jar with
-          the same name.</td>
-        <td align="center" valign="top">No, default is "xmltypes.jar".</td>
-      </tr>
-      <tr>
-        <td valign="top">download</td>
-        <td valign="top">Set to true to permit the compiler to download URLs for
-          imports and includes.&nbsp; Defaults to false, meaning all imports and
-          includes must be copied locally.<br> </td>
-        <td align="center" valign="top">No, default is false.</td>
-      </tr>
-      <tr>
-        <td valign="top">failonerror</td>
-        <td valign="top"> Determines whether or not the ant target will continue
-          if the XMLBean creation encounters a build error.<br> </td>
-        <td align="center" valign="top">No, default is true.</td>
-      </tr>
-      <tr>
-        <td valign="top">verbose<br> </td>
-        <td valign="top">Controls the amount of build message output.<br> </td>
-        <td valign="top" align="center">No, default is true.</td>
-      </tr>
-      <tr>
-        <td valign="top">typesystemname<br> </td>
-        <td valign="top">The name of the package that the TypeSystemHolder class
-          should be generated in.&nbsp; Normally this should be left unspecified.
-          None of the XMLBeans are generated in this package. Use .xsdconfig files
-          to modify XMLBean package or class names.<br> </td>
-        <td valign="top" align="center">No<br> </td>
-      </tr>
-      <tr>
-        <td valign="top">classgendir<br> </td>
-        <td valign="top">Set a location to generate CLASS files into.<br> </td>
-        <td valign="top" align="center">No<br> </td>
-      </tr>
-      <tr>
-        <td valign="top">srconly<br> </td>
-        <td valign="top">A value of true means that only source will be generated.<br>
-        </td>
-        <td valign="top" align="center">No, default is false.</td>
-      </tr>
-      <tr>
-        <td valign="top">srcgendir<br> </td>
-        <td valign="top">Set a location to generate JAVA files into.<br> </td>
-        <td valign="top" align="center">No<br> </td>
-      </tr>
-      <tr>
-        <td valign="top">classpath</td>
-        <td valign="top">The classpath to use if schemas in the fileset import
-          definitions that are supplied by other compiled XMLBeans JAR files,
-          or if JAVA files are in the schema fileset. Also supports a nested classpath.</td>
-        <td align="center" valign="top">No</td>
-      </tr>
-      <tr>
-        <td valign="top">classpathref</td>
-        <td valign="top">Adds a classpath, given as <a
- href="http://ant.apache.org/manual/using.html#references" target="_blank">reference</a>
-          to a path defined elsewhere.</td>
-        <td align="center" valign="top">No</td>
-      </tr>
-      <tr>
-        <td valign="top">includes</td>
-        <td valign="top">Comma- or space-separated list of patterns of files that
-          must be included. All files are included when omitted.</td>
-        <td valign="top" align="center">No</td>
-      </tr>
-      <tr>
-        <td valign="top">includesfile</td>
-        <td valign="top">The name of a file. Each line of this file is taken to
-          be an include pattern.</td>
-        <td valign="top" align="center">No</td>
-      </tr>
-      <tr>
-        <td valign="top">excludes</td>
-        <td valign="top">Comma- or space-separated list of patterns of files that
-          must be excluded. No files (except default excludes) are excluded when
-          omitted.</td>
-        <td valign="top" align="center">No</td>
-      </tr>
-      <tr>
-        <td valign="top">excludesfile</td>
-        <td valign="top">The name of a file. Each line of this file is taken to
-          be an exclude pattern.</td>
-        <td valign="top" align="center">No</td>
-      </tr>
-      <tr>
-        <td valign="top">defaultexcludes</td>
-        <td valign="top">Indicates whether default excludes should be used or
-          not ("yes"/"no"). Default excludes are used when omitted.</td>
-        <td valign="top" align="center">No</td>
-      </tr>
-      <tr>
-        <td valign="top">debug</td>
-        <td valign="top">Indicates whether source should be compiled with debug
-          information; defaults to <code>off</code>. If set to <code>off</code>,
-          <code>-g:none</code> will be passed on the command line for compilers
-          that support it (for other compilers, no command line argument will
-          be used). If set to <code>true</code>, the value of the <code>debuglevel</code>
-          attribute determines the command line argument.</td>
-        <td align="center" valign="top">No</td>
-      </tr>
-      <tr>
-        <td valign="top">debuglevel</td>
-        <td valign="top">Keyword list to be appended to the <code>-g</code> command-line
-          switch. This will be ignored by all implementations except <code>modern</code>
-          and <code>classic(ver &gt;= 1.2)</code>. Legal values are <code>none</code>
-          or a comma-separated list of the following keywords: <code>lines</code>,
-          <code>vars</code>, and <code>source</code>. If <code>debuglevel</code>
-          is not specified, by default, nothing will be appended to <code>-g</code>.
-          If <code>debug</code> is not turned on, this attribute will be ignored.
-        </td>
-        <td align="center" valign="top">No</td>
-      </tr>
-      <tr>
-        <td valign="top">optimize</td>
-        <td valign="top">Indicates whether source should be compiled with optimization;
-          defaults to <code>off</code>.</td>
-        <td align="center" valign="top">No</td>
-      </tr>
-      <tr>
-        <td valign="top">includeAntRuntime</td>
-        <td valign="top">Whether to include the Ant run-time libraries in the
-          classpath; defaults to <code>yes</code>.</td>
-        <td align="center" valign="top">No</td>
-      </tr>
-      <tr>
-        <td valign="top">includeJavaRuntime</td>
-        <td valign="top">Whether to include the default run-time libraries from
-          the executing VM in the classpath; defaults to <code>no</code>.</td>
-        <td align="center" valign="top">No</td>
-      </tr>
-      <tr>
-        <td valign="top">fork</td>
-        <td valign="top">Whether to execute <code>javac</code> using the JDK compiler
-          externally; defaults to <code>yes</code>.</td>
-        <td align="center" valign="top">No, default is true</td>
-      </tr>
-      <tr>
-        <td valign="top">executable</td>
-        <td valign="top">Complete path to the <code>javac</code> executable to
-          use in case of <code>fork=&quot;yes&quot;</code>. Defaults to the compiler
-          of the Java version that is currently running Ant. Ignored if <code>fork=&quot;no&quot;</code></td>
-        <td align="center" valign="top">No</td>
-      </tr>
-      <tr>
-        <td valign="top">memoryInitialSize</td>
-        <td valign="top">The initial size of the memory for the underlying VM,
-          if <code>javac</code> is run externally; ignored otherwise. Defaults
-          to the standard VM memory setting. (Examples: <code>83886080</code>,
-          <code>81920k</code>, or <code>80m</code>)</td>
-        <td align="center" valign="top">No</td>
-      </tr>
-      <tr>
-        <td valign="top">memoryMaximumSize</td>
-        <td valign="top">The maximum size of the memory for the underlying VM,
-          if <code>javac</code> is run externally; ignored otherwise. Defaults
-          to the standard VM memory setting. (Examples: <code>83886080</code>,
-          <code>81920k</code>, or <code>80m</code>)</td>
-        <td align="center" valign="top">No</td>
-      </tr>
-      <tr>
-        <td valign="top">compiler</td>
-        <td valign="top">The compiler implementation to use. If this attribute
-          is not set, the value of the <code>build.compiler</code> property, if
-          set, will be used. Otherwise, the default compiler for the current VM
-          will be used.
-        <td align="center" valign="top">No</td>
-      </tr>
-    </tbody>
-  </table>
-  <h3>Example</h3>
-</div>
-<div id=topictext> Be sure to define the task in your script, like this:</div>
-<div>
-  <pre>&lt;taskdef name="xmlbean" classname="com.bea.xbean.tool.XMLBean" classpath="path/to/xbean.jar"</pre>
-  <p>The following builds all the schemas in the schemas directory and creates
-    a jar called &quot;Schemas.jar&quot;.</p>
-</div>
-<div>
-  <pre>
-&lt;xmlbean schema="schemas" destfile="Schemas.jar"/&gt;</pre>
-  The following compiles the schema &quot;ourSchema.xsd&quot; into the default
-  jar &quot;xmltypes.jar&quot;. &nbsp;If &nbsp;any imports and includes are defined
-  by remote URLs, they are downloaded during the build.
-  <div>
-    <pre>&lt;xmlbean schema="schemas/ourSchema.xsd" download="true"/&gt;</pre>
-  </div>
-  <div>
-    <h4>Using a fileset</h4>
-  </div>
-  <div>
-    <pre>&lt;xmlbean classgendir="${build.dir}" classpath="${class.path}"<br>      failonerror="true"&gt;<br>  &lt;fileset basedir="src" excludes="**/*.xsd"/&gt;<br>  &lt;fileset basedir="schemas" includes="**/*.*"/&gt;<br>&lt;/xmlbean&gt;</pre>
-  </div>
-  <div> Gathers all the files in the src directory except XSD files, along with
-    every file in the schemas directory, and compiles them. The fileset can include
-    schema files that refer to previously compiled schema components.&nbsp; The
-    fileset can also contain JAVA files.&nbsp; The classpath parameter defines
-    the classpath necessary to resolve compiled schema and java references.<br>
-    <br>
-    The built classes will go into ${build.dir}.</div>
-  <div>
-    <p class=relatedtopics>Related Topics</p>
-    <p>None.</p>
-  </div>
-</div>
-<!-- InstanceEndEditable -->
-</body>
-<!-- InstanceEnd --></html>
diff --git a/v1/docs/guide/conGettingStartedwithXMLBeans.html b/v1/docs/guide/conGettingStartedwithXMLBeans.html
deleted file mode 100644
index 48c98fd..0000000
--- a/v1/docs/guide/conGettingStartedwithXMLBeans.html
+++ /dev/null
@@ -1,519 +0,0 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
-
-<html>
-<head>
-<!-- InstanceBeginEditable name="doctitle" -->
-<title>Getting Started with XMLBeans</title>
-<!-- InstanceEndEditable --> 
-<!--(Meta)==========================================================-->
-
-<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
-
-
-<!-- InstanceBeginEditable name="metatags" -->
-
-<meta name="author" content="your name">
-<meta name="description" content="A description of the topic contents.">
-<meta name="keywords" content="keywords to help in searches">
-<meta name="date last modified" content="10/25/02">
-<!-- InstanceEndEditable -->
-
-<!--(Links)=========================================================-->
-<!-- InstanceBeginEditable name="head" --> 
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<!-- InstanceEndEditable -->
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<a href="../../../core/index.html" id="index"></a>
-<script language="JavaScript" src="../../../core/topicInfo.js"></script>
-<script language="JavaScript" src="../../../core/CookieClass.js"></script>
-<script language="JavaScript" src="../../../core/displayContent.js"></script>
-</head>
-
-<!--(Body)==========================================================-->
-<body>
-<script language="JavaScript">
-
-</script>
-<!-- InstanceBeginEditable name="body" --> 
-<h1> Getting Started with XMLBeans</h1>
-<div id="topictext"> 
-  <p>XMLBeans provides intuitive ways to handle XML that make it easier for you 
-    to access and manipulate XML data and documents in Java. </p>
-  <p>Characteristics of XMLBeans approach to XML:</p>
-</div>
-<ul>
-  <li> 
-    <div>It provides a familiar Java object-based view of XML data without losing 
-      access to the original, native XML structure.</div>
-  </li>
-  <li> 
-    <div>The XML's integrity as a document is not lost with XMLBeans. XML-oriented 
-      APIs commonly take the XML apart in order to bind to its parts. With XMLBeans, 
-      the entire XML instance document is handled as a whole. The XML data is 
-      stored in memory as XML. This means that the document order is preserved 
-      as well as the original element content with whitespace.</div>
-  </li>
-  <li> 
-    <div>With types generated from schema, access to XML instances is through 
-      JavaBean-like accessors, with get and set methods.</div>
-  </li>
-  <li> 
-    <div>It is designed with XML schema in mind from the beginning &#8212; XMLBeans 
-      supports all XML schema definitions.</div>
-  </li>
-  <li>Access to XML is fast.</li>
-</ul>
-<div> 
-  <p>The starting point for XMLBeans is XML schema. A schema (contained in an 
-    XSD file) is an XML document that defines a set of rules to which other XML 
-    documents must conform. The XML Schema specification provides a rich data 
-    model that allows you to express sophisticated structure and constraints on 
-    your data. For example, an XML schema can enforce control over how data is 
-    ordered in a document, or constraints on particular values (for example, a 
-    birth date that must be later than 1900). Unfortunately, the ability to enforce 
-    rules like this is typically not available in Java without writing custom 
-    code. XMLBeans honors schema constraints.</p>
-  <p class="notepara"><strong>Note:</strong> Where an XML schema defines rules 
-    for an XML document, an XML <em>instance</em> is an XML document that conforms 
-    to the schema.</p>
-  <p>You compile a schema (XSD) file to generate a set of Java interfaces that 
-    mirror the schema. With these types, you process XML instance documents that 
-    conform to the schema. You bind an XML instance document to these types; changes 
-    made through the Java interface change the underlying XML representation.</p>
-  <p>Previous options for handling XML include using XML programming interfaces 
-    (such as DOM or SAX) or an XML marshalling/binding tool (such as JAXB). Because 
-    it lacks strong schema-oriented typing, navigation in a DOM-oriented model 
-    is more tedious and requires an understanding of the complete object model. 
-    JAXB provides support for the XML schema specification, but handles only a 
-    subset of it; XMLBeans supports all of it. Also, by storing the data in memory 
-    as XML, XMLBeans is able to reduce the overhead of marshalling and demarshalling.</p>
-  <h1>Accessing XML Using Its Schema</h1>
-  <p>To get a glimpse of the kinds of things you can do with XMLBeans, take a 
-    look at an example using XML for a purchase order. The purchase order XML 
-    contains data exchanged by two parties, such as two companies. Both parties 
-    need to be able to rely on a consistent message shape, and a schema specifies 
-    the common ground. </p>
-  <p>Here's what a purchase order XML instance might look like.</p>
-  <pre>
-&lt;po:purchase-order xmlns:po="http://openuri.org/easypo"&gt;
-    &lt;po:customer&gt;
-        &lt;po:name&gt;Gladys Kravitz&lt;/po:name&gt;
-        &lt;po:address&gt;Anytown, PA&lt;/po:address&gt;
-    &lt;/po:customer&gt;
-    &lt;po:date&gt;2003-01-07T14:16:00-05:00&lt;/po:date&gt;
-    &lt;po:line-item&gt;
-        &lt;po:description&gt;Burnham's Celestial Handbook, Vol 1&lt;/po:description&gt;
-        &lt;po:per-unit-ounces&gt;5&lt;/po:per-unit-ounces&gt;
-        &lt;po:price&gt;21.79&lt;/po:price&gt;
-        &lt;po:quantity&gt;2&lt;/po:quantity&gt;
-    &lt;/po:line-item&gt;
-    &lt;po:line-item&gt;
-        &lt;po:description&gt;Burnham's Celestial Handbook, Vol 2&lt;/po:description&gt;
-        &lt;po:per-unit-ounces&gt;5&lt;/po:per-unit-ounces&gt;
-        &lt;po:price&gt;19.89&lt;/po:price&gt;
-        &lt;po:quantity&gt;2&lt;/po:quantity&gt;
-    &lt;/po:line-item&gt;
-&lt;po:shipper&gt;
-        &lt;po:name&gt;ZipShip&lt;/po:name&gt;
-        &lt;po:per-ounce-rate&gt;0.74&lt;/po:per-ounce-rate&gt;
-    &lt;/po:shipper&gt;
-&lt;/po:purchase-order&gt;</pre>
-  <p>This XML includes a root element, <span class="langinline">purchase-order</span>, 
-    that has three kinds of child elements: <span class="langinline">customer</span>, 
-    <span class="langinline">date</span>, <span class="langinline">line-item</span>, 
-    and <span class="langinline">shipper</span>. An intuitive, object-based view 
-    of this XML would provide an object representing the <span class="langinline">purchase-order</span> 
-    element, and it would have methods for getting the date and for getting subordinate 
-    objects for <span class="langinline">customer</span>, <span class="langinline">line-item</span>, 
-    and <span class="langinline">shipper</span> elements. Each of the last three 
-    would have its own methods for getting the data inside them as well.</p>
-  <h2>Looking at the Schema</h2>
-  <p>The following XML is the the schema for the preceding purchase order XML. 
-    It defines the XML's &quot;shape&quot; &#8212; what its elements are, what 
-    order they appear in, which are children of which, and so on.</p>
-</div>
-<div> 
-  <pre>
-&lt;xs:schema targetNamespace="http://openuri.org/easypo"
-    xmlns:po="http://openuri.org/easypo"
-    xmlns:xs="http://www.w3.org/2001/XMLSchema"
-    elementFormDefault="qualified"&gt;
-	
-    &lt;xs:element name="purchase-order"&gt;
-        &lt;xs:complexType&gt;
-            &lt;xs:sequence&gt;
-                &lt;xs:element name="customer" type="po:customer"/&gt;
-                &lt;xs:element name="date" type="xs:dateTime"/&gt;
-                &lt;xs:element name="line-item" type="po:line-item" minOccurs="0" maxOccurs="unbounded"/&gt;
-                &lt;xs:element name="shipper" type="po:shipper" minOccurs="0"/&gt;
-            &lt;/xs:sequence&gt;
-        &lt;/xs:complexType&gt;
-    &lt;/xs:element&gt;
-    &lt;xs:complexType name="customer"&gt;
-        &lt;xs:sequence&gt;
-            &lt;xs:element name="name" type="xs:string"/&gt;
-            &lt;xs:element name="address" type="xs:string"/&gt;
-        &lt;/xs:sequence&gt;
-    &lt;/xs:complexType&gt;
-    &lt;xs:complexType name="line-item"&gt;
-        &lt;xs:sequence&gt;
-            &lt;xs:element name="description" type="xs:string"/&gt;
-            &lt;xs:element name="per-unit-ounces" type="xs:decimal"/&gt;
-            &lt;xs:element name="price" type="xs:double"/&gt;
-            &lt;xs:element name="quantity" type="xs:int"/&gt;
-        &lt;/xs:sequence&gt;
-    &lt;/xs:complexType&gt;
-    &lt;xs:complexType name="shipper"&gt;
-        &lt;xs:sequence&gt;
-            &lt;xs:element name="name" type="xs:string"/&gt;
-            &lt;xs:element name="per-ounce-rate" type="xs:decimal"/&gt;
-        &lt;/xs:sequence&gt;
-    &lt;/xs:complexType&gt;
-&lt;/xs:schema&gt;</pre>
-  <div> 
-    <p>This schema describes the purchase order XML instance by defining the following:</p>
-  </div>
-  <ul>
-    <li> 
-      <div>Definitions for three complex types &#8212; customer, line-item, and 
-        shipper. These are the types used for the children of the purchase-order 
-        element. In schema, a complex type is one that defines an element that 
-        may have child elements and attributes. The sequence element nested in 
-        the complex type lists its child elements.</div>
-      <p>These are also <em>global</em> types. They are global because they are 
-        at the top level of the schema (in other words, just beneath the <span class="langinline">schema</span> 
-        root element). This means that they may be referenced from anywhere else 
-        in the schema.</p>
-    </li>
-  </ul>
-</div>
-<div>
-  <ul>
-    <li>Use of simple types within the complex types. The name, address, and description 
-      elements (among others) are typed as simple types. As it happens, these 
-      are also <em>built-in</em> types. A built-in type (here, one with the &quot;xs&quot; 
-      prefix) is part of the schema specification. (The specification defines 
-      46 built-in types.)</li>
-    <li>A global element called purchase-order. This element definition includes 
-      a nested complex type definition that specifies the child elements for a 
-      purchase-order element. Notice that the complex type includes references 
-      to the other complex types defined in this schema.</li>
-  </ul>
-  <div></div>
-  <p>In other words, the schema defines types for the child elements and describes 
-    their position as subordinate to the root element, <span class="langinline">purchase-order</span>.</p>
-  <p>When you use the XMLBean compiler with an XSD file such as this one, you 
-    generate a JAR file containing the interfaces generated from the schema.</p>
-  <h2>Writing Java Code That Uses the Interfaces</h2>
-  <p>With the XMLBeans interfaces in your application, you can write code that 
-    uses the new types to handle XML based on the schema. Here's an example that 
-    extracts information about each of the ordered items in the purchase order 
-    XML, counts the items, and calculates a total of their prices. In particular, 
-    look at the use of types generated from the schema and imported as part of 
-    the <span class="langinline">org.openuri.easypo</span> package. </p>
-  <p>The <span class="langinline">printItems</span> method receives a <span class="langinline">File</span> 
-    object containing the purchase order XML file.</p>
-  <pre>
-package docs.xmlbeans;
-
-import java.io.File;
-import org.apache.xmlbeans.*;
-import org.openuri.easypo.PurchaseOrderDocument;
-import org.openuri.easypo.PurchaseOrder;
-import org.openuri.easypo.LineItem;
-
-public class POHandler 
-{
-    public static void printItems(File po) throws Exception 
-    {
-        /*
-         * All XMLBeans schema types provide a nested Factory class you can
-         * use to bind XML to the type, or to create new instances of the type.
-         * Note that a "Document" type such as this one is an XMLBeans 
-         * construct for representing a global element. It provides a way
-         * for you to get and set the contents of the entire element.
-         *
-         * Also, note that the parse method will only succeed if the 
-         * XML you're parsing appears to conform to the schema.
-         */
-        PurchaseOrderDocument poDoc =
-            PurchaseOrderDocument.Factory.parse(po);
-
-        /*
-         * The PurchaseOrder type represents the purchase-order element's
-         * complex type.
-         */
-        PurchaseOrder po = poDoc.getPurchaseOrder();
-
-        /*
-         * When an element may occur more than once as a child element,
-         * the schema compiler will generate methods that refer to an 
-         * array of that element. The line-item element is defined with
-         * a maxOccurs attribute value of "unbounded", meaning that 
-         * it may occur as many times in an instance document as needed.
-         * So there are methods such as getLineItemArray and setLineItemArray. 
-         */
-        LineItem[] lineitems = po.getLineItemArray();
-        System.out.println("Purchase order has " + lineitems.length + " line items.");
-
-        double totalAmount = 0.0;
-        int numberOfItems = 0;
-
-        /*
-         * Loop through the line-item elements, using generated accessors to 
-         * get values for child elements such a description, quantity, and
-         * price.
-         */
-        for (int j = 0; j < lineitems.length; j++) 
-        {
-            System.out.println(" Line item: " + j);
-            System.out.println(
-                "   Description: " + lineitems[j].getDescription());
-            System.out.println("   Quantity: " + lineitems[j].getQuantity());
-            System.out.println("   Price: " + lineitems[j].getPrice());
-            numberOfItems += lineitems[j].getQuantity();
-            totalAmount += lineitems[j].getPrice() * lineitems[j].getQuantity();
-        }
-        System.out.println("Total items: " + numberOfItems);
-        System.out.println("Total amount: " + totalAmount);
-    }
-}
-</pre>
-  <p>Notice that types generated from the schema reflect what's in the XML:</p>
-</div>
-<ul>
-  <li> 
-    <div>A <span class="langinline">PurchaseOrderDocument</span> represents the 
-      global root element.</div>
-  </li>
-  <li> 
-    <div>A <span class="langinline">getPurchaseOrder</span> method returns a <span class="langinline">PurchaseOrderDocument.PurchaseOrder</span> 
-      type that contains child elements, including <span class="langinline">line-item</span>. 
-      A <span class="langinline">getLineItemArray</span> method returns a <span class="langinline">LineItem</span> 
-      array containing the <span class="langinline">line-item</span> elements.</div>
-  </li>
-  <li>Other methods, such as <span class="langinline">getQuantity</span>, <span class="langinline">getPrice</span>, 
-    and so on, follow naturally from what the schema describes, returning corresponding 
-    children of the <span class="langinline">line-item</span> element.</li>
-  <li>The name of the package containing these types is derived from the schema's 
-    target namespace.</li>
-</ul>
-<div> 
-  <p>Capitalization and punctuation for generated type names follow Java convention. 
-    Also, while this example parses the XML from a file, other <span class="langinline">parse</span> 
-    methods support a Java <span class="langinline">InputStream</span> object, 
-    a <span class="langinline">Reader</span> object, and so on.</p>
-  <p>The preceding Java code prints the following to the console:</p>
-</div>
-<div> 
-  <pre>
-Purchase order has 3 line items.
- Line item 0
-   Description: Burnham's Celestial Handbook, Vol 1
-   Quantity: 2
-   Price: 21.79
- Line item 1
-   Description: Burnham's Celestial Handbook, Vol 2
-   Quantity: 2
-   Price: 19.89
-Total items: 4
-Total amount: 41.68</pre>
-  <h2>Creating New XML Instances from Schema</h2>
-  <p>As you've seen XMLBeans provides a &quot;factory&quot; class you can use 
-    to create new instances. The following example creates a new <span class="langinline">purchase-order</span> 
-    element and adds a <span class="langinline">customer</span> child element. 
-    It then inserts <span class="langinline">name</span> and <span class="langinline">address</span> 
-    child elements, creating the elements and setting their values with a single 
-    call to their <span class="langinline">set</span> methods.</p>
-  <pre>
-public PurchaseOrderDocument createPO()
-{
-&nbsp;&nbsp;&nbsp;&nbsp;PurchaseOrderDocument newPODoc = PurchaseOrderDocument.Factory.newInstance();
-&nbsp;&nbsp;&nbsp;&nbsp;PurchaseOrder newPO = newPODoc.addNewPurchaseOrder();
-&nbsp;&nbsp;&nbsp;&nbsp;Customer newCustomer = newPO.addNewCustomer();
-&nbsp;&nbsp;&nbsp;&nbsp;newCustomer.setName(&quot;Doris Kravitz&quot;);
-&nbsp;&nbsp;&nbsp;&nbsp;newCustomer.setAddress(&quot;Bellflower, CA&quot;);
-&nbsp;&nbsp;&nbsp;&nbsp;return newPODoc;
-}
-</pre>
-  <p>The following is the XML that results. Note that XMLBeans assigns the correct 
-    namespace based on the schema, using an &quot;ns1&quot; (or, &quot;namespace 
-    1&quot;) prefix. For practical purposes, the prefix itself doesn't really 
-    matter &#8212; it's the namespace URI (http://openuri.org/easypo) that defines 
-    the namespace. The prefix is merely a marker that represents it.</p>
-  <pre>&lt;ns1:purchase-order xmlns:ns1=&quot;http://openuri.org/easypo&quot;&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&lt;ns1:customer&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ns1:name&gt;Doris Kravitz&lt;/ns1:name&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ns1:address&gt;Bellflower, CA&lt;/ns1:address&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ns1:customer&gt;
-&lt;/ns1:purchase-order&gt;
-</pre>
-  <p>Note that all types (including those generated from schema) inherit from 
-    <span class="langinline">XmlObject</span>, and so provide a <span class="langinline">Factory</span> 
-    class. For an overview of the type system in which <span class="langinline">XmlObject</span> 
-    fits, see <a href="conXMLBeansSupportBuiltInSchemaTypes.html">XMLBeans Support 
-    for Built-In Schema Types</a>. For reference information, see <a href="../reference/org/apache/xmlbeans/XmlObject.html">XmlObject 
-    Interface</a>.</p>
-  <h1>XMLBeans Hierarchy</h1>
-  <p>The generated types you saw used in the preceding example are actually part 
-    of a hierarchy of XMLBeans types. This hierarchy is one of the ways in which 
-    XMLBeans presents an intuitive view of schema. At the top of the hierarchy 
-    is <span class="langinline">XmlObject</span>, the base interface for XMLBeans 
-    types. Beneath this level, there are two main type categories: generated types 
-    that represent user-derived schema types, and included types that represent 
-    built-in schema types.</p>
-  This topic has already introduced generated types. For more information, see 
-  <a href="conJavaTypesGeneratedFromUserDerived.html">Java Types Generated from 
-  User-Derived Schema Types.</a> 
-  <h2>Built-In Type Support</h2>
-  <p>In addition to types generated from a given schema, XMLBeans provides 46 
-    Java types that mirror the 46 built-in types defined by the XML schema specification. 
-    Where schema defines <span class="langinline">xs:string</span>, <span class="langinline">xs:decimal</span>, 
-    and <span class="langinline">xs:int</span>, for example, XMLBeans provides 
-    <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlString.html">XmlString</a></span>, 
-    <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlDecimal.html">XmlDecimal</a></span>, 
-    and <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlInt.html">XmlInt</a></span>. 
-    Each of these also inherits from <span class="langinline">XmlObject</span>, 
-    which corresponds to the built-in schema type <span class="langinline">xs:anyType</span>.</p>
-  <p>XMLBeans provides a way for you to handle XML data as these built-in types. 
-    Where your schema includes an element whose type is, for example, <span class="langinline">xs:int</span>, 
-    XMLBeans will provide a generated method designed to return an <span class="langinline">XmlInt</span>. 
-    In addition, as you saw in the preceding example, for most types there will 
-    also be a method that returns a natural Java type such as <span class="langinline">int</span>. 
-    The following two lines of code return the <span class="langinline">quantity</span> 
-    element's value, but return it as different types.</p>
-  <pre>
-// Methods that return simple types begin with an "x".
-XmlInt xmlQuantity = lineitems[j].xgetQuantity();
-// Methods that return a natural Java type are unadorned.
-int javaQuantity = lineitems[j].getQuantity();
-</pre>
-  <p>In a sense both get methods navigate to the <span class="langinline">quantity</span> 
-    element; the <span class="langinline">getQuantity</span> method goes a step 
-    further and converts the elements value to the most appropriate natural Java 
-    type before returning it. (XMLBeans also provides a means for validating the 
-    XML as you work with it.)</p>
-  <p>If you know a bit about XML schema, XMLBeans types should seem fairly intuitive. 
-    If you don't, you'll learn a lot by experimenting with XMLBeans using your 
-    own schemas and XML instances based on them. </p>
-  <p>For more information on the methods of types generated from schema, see <a href="conMethodsForGeneratedJavaTypes.html">Methods 
-    for Types Generated From Schema</a>. For more about the how XMLBeans represents 
-    built-in schema types, see <a href="conXMLBeansSupportBuiltInSchemaTypes.html">XMLBeans 
-    Support for Built-In Schema Types</a>.</p>
-  <h1>Using XQuery Expressions</h1>
-  <p>With XMLBeans you can use XQuery to query XML for specific pieces of data. 
-    XQuery is sometimes referred to as &quot;SQL for XML&quot; because it provides 
-    a mechanism to access data directly from XML documents, much as SQL provides 
-    a mechanism for accessing data in traditional databases.</p>
-  <p>XQuery borrows some of its syntax from XPath, a syntax for specifying nested 
-    data in XML. The following example returns all of the <span class="langinline">line-item</span> 
-    elements whose <span class="langinline">price</span> child elements have values 
-    less than or equal to 20.00:</p>
-  <pre>
-PurchaseOrderDocument doc = PurchaseOrderDocument.Factory.parse(po);
-
-/*
- * The XQuery expression is the following two strings combined. They're
- * declared separately here for convenience. The first string declares
- * the namespace prefix that's used in the query expression; the second
- * declares the expression itself.
- */
-String nsText = "declare namespace po = 'http://openuri.org/easypo'";
-String pathText = "$this/po:purchase-order/po:line-item[po:price <= 20.00]";
-String queryText = nsText + pathText;
-
-XmlCursor itemCursor = doc.newCursor().execQuery(queryText);
-System.out.println(itemCursor.xmlText());
-</pre>
-  <p>This code creates a new cursor at the start of the document. From there, 
-    it uses the <span class="langinline">XmlCursor</span> interface's <span class="langinline">execQuery</span> 
-    method to execute the query expression. In this example, the method's parameter 
-    is an XQuery expression that simply says, &quot;From my current location, 
-    navigate through the <span class="langinline">purchase-order</span> element 
-    and retrieve those <span class="langinline">line-item</span> elements whose 
-    value is less than or equal to 20.00.&quot; The <span class="langinline">$this</span> 
-    variable means &quot;the current position.&quot;</p>
-  <p>For more information about XQuery, see <a href="http://www.w3.org/TR/xquery/" target="_blank">XQuery 
-    1.0: An XML Query Language</a> at the W3C web site.</p>
-  <h2>Using XML Cursors</h2>
-  <p>In the preceding example you may have noticed the <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlCursor.html">XmlCursor</a></span> 
-    interface. In addition to providing a way to execute XQuery expression, an 
-    XML cursors offers a fine-grained model for manipulating data. The XML cursor 
-    API, analogous to the DOM's object API, is simply a way to point at a particular 
-    piece of data. So, just like a cursor helps navigate through a word processing 
-    document, the XML cursor defines a location in XML where you can perform actions 
-    on the selected XML.</p>
-  <p>Cursors are ideal for moving through an XML document when there's no schema 
-    available. Once you've got the cursor at the location you're interested in, 
-    you can perform a variety of operations with it. For example, you can set 
-    and get values, insert and remove fragments of XML, copy fragments of XML 
-    to other parts of the document, and make other fine-grained changes to the 
-    XML document.</p>
-  <p>The following example uses an XML cursor to navigate to the <span class="langinline">customer</span> 
-    element's <span class="langinline">name</span> child element.</p>
-  <pre>
-PurchaseOrderDocument doc = 
-    PurchaseOrderDocument.Factory.parse(po);
-
-XmlCursor cursor = doc.newCursor();
-cursor.toFirstContentToken();
-cursor.toFirstChildElement();
-cursor.toFirstChildElement();
-System.out.println(cursor.getText());
-
-cursor.dispose();
-</pre>
-  <p>What's happening here? As with the earlier example, the code loads the XML 
-    from a <span class="langinline">File</span> object. After loading the document, 
-    the code creates a cursor at its beginning. Moving the cursor a few times 
-    takes it to the nested <span class="langinline">name </span> element. Once 
-    there, the getText method retrieves the element's value.</p>
-  <p>This is just an introduction to XML cursors. For more information about using 
-    cursors, see <a href="conNavigatingXMLwithCursors.html">Navigating XML with 
-    Cursors</a>.</p>
-  <h2>Where to Go Next</h2>
-</div>
-<ul>
-  <li> 
-    <div>XMLBeans provides intuitive ways to handle XML, particularly if you're 
-      starting with schema. If you're accessing XML that's based on a schema, 
-      you'll probably find it most efficient to access the XML through generated 
-      types specific to the schema. To do this, you begin by compiling the schema 
-      to generate interfaces. For more information on using XMLBeans types generated 
-      by compiling schema, see <a href="conJavaTypesGeneratedFromUserDerived.html">Java 
-      Types Generated From User-Derived Schema Types</a> and <a href="conMethodsForGeneratedJavaTypes.html">Methods 
-      for Types Generated From Schema</a>.</div>
-  </li>
-  <li> 
-    <div>You might be interested in reading more about the type system on which 
-      XMLBeans is based, particularly if you're using types generated from schema. 
-      XMLBeans provides a hierarchical system of types that mirror what you find 
-      in the XML schema specification itself. If you're working with schema, you 
-      might find it helps to understand how these types work. For more information, 
-      see <a href="conXMLBeansSupportBuiltInSchemaTypes.html">XMLBeans Support 
-      for Built-In Schema Types</a> and <a href="conIntroToTheSchemaTypeSystem.html">Introduction 
-      to Schema Type Signatures</a>.</div>
-  </li>
-  <li> 
-    <div>XMLBeans provides access to XML through XQuery, which borrows path syntax 
-      from XPath. With XQuery, you can specify specific fragments of XML data 
-      with or without schema. To learn more about using XQuery and XPath in XMLBeans, 
-      see <a href="conSelectingXMLwithXQueryPathXPath.html">Selecting XML with 
-      XQuery and XPath</a>.</div>
-  </li>
-  <li>You can use the <span class="langinline">XmlCursor</span> interface for 
-    fine-grained navigation and manipulation of XML. For more information, see 
-    <a href="conNavigatingXMLwithCursors.html">Navigating XML with Cursors</a>.</li>
-</ul>
-<div>
-  <p class="notepara"><strong>Note:</strong> The xbean.jar file that contains 
-    the XMLBeans library is fully functional as a standalone library.</p>
-  <h1>Related Topics</h1>
-  <p><a href="../../samples/navXMLBeansSamples.html">XMLBeans Samples</a></p>
-</div>
-<!-- InstanceEndEditable --> 
-<script language="JavaScript">
-
-</script>
-</body>
-</html>
diff --git a/v1/docs/guide/conIntroToTheSchemaTypeSystem.html b/v1/docs/guide/conIntroToTheSchemaTypeSystem.html
deleted file mode 100644
index f0e85c7..0000000
--- a/v1/docs/guide/conIntroToTheSchemaTypeSystem.html
+++ /dev/null
@@ -1,216 +0,0 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
-
-<html>
-<head>
-<!-- InstanceBeginEditable name="doctitle" -->
-<title>Introduction to Schema Type Signatures</title>
-<!-- InstanceEndEditable --> 
-<!--(Meta)==========================================================-->
-
-<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
-
-
-<!-- InstanceBeginEditable name="metatags" -->
-
-<meta content="your name" name="author">
-<meta content="A description of the topic contents." name="description">
-<meta content="keywords to help in searches" name="keywords">
-<meta content="10/25/02" name="date last modified">
-<!-- InstanceEndEditable -->
-
-<!--(Links)=========================================================-->
-<!-- InstanceBeginEditable name="head" --> 
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<!-- InstanceEndEditable -->
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<a href="../../../core/index.html" id="index"></a>
-<script language="JavaScript" src="../../../core/topicInfo.js"></script>
-<script language="JavaScript" src="../../../core/CookieClass.js"></script>
-<script language="JavaScript" src="../../../core/displayContent.js"></script>
-</head>
-
-<!--(Body)==========================================================-->
-<body>
-<script language="JavaScript">
-
-</script>
-<!-- InstanceBeginEditable name="body" --> 
-<h1> Introduction to Schema Type Signatures</h1>
-<div id="topictext"> 
-  <p>When you compile schema, the API generated from your schema is integrated 
-    with the XMLBeans type system that represents the underlying XML schema. All 
-    together, these types make up the <em>schema type system</em> to which your 
-    code has access. When handling XML based on the schema, you typically call 
-    methods of the API generated when you compiled the schema. However, for the 
-    cases when you want to get information about the schema itself, you use the 
-    schema type system API.</p>
-  <p>In the XMLBeans API, you have access to the system itself through <a href="../reference/org/apache/xmlbeans/SchemaTypeSystem.html"><span class="langinline">SchemaTypeSystem</span></a> 
-    and related classes. These make up a kind of &quot;meta-API,&quot; or a view 
-    on the schema. You can use the schema type system API to discover the type 
-    system at run time. See the reference topic on that interface for an overview 
-    of the schema type system.</p>
-  <h2>Schema Type &quot;Signatures&quot;</h2>
-  <p>A schema is made up of schema components. Schema components are the pieces 
-    of a schema, such as a type definition, an element declaration, attribute 
-    declaration, and so on. To mirror these in the schema type system, a <a href="../reference/org/apache/xmlbeans/SchemaComponent.html"><span class="langinline">SchemaComponent</span></a> 
-    instance represents a component in the underlying schema; separate components 
-    have corresponding types. For example you would have a <span class="langinline"><a href="../reference/org/apache/xmlbeans/SchemaType.html">SchemaType</a></span> 
-    object for a <span class="langinline">CustomerType</span> your schema defined, 
-    or a <a href="../reference/org/apache/xmlbeans/SchemaGlobalElement.html"><span class="langinline">SchemaGlobalElement</span></a> 
-    object for a global <span class="langinline">PurchaseOrder</span> element. 
-    You would also have a <span class="langinline">SchemaType</span> for built-in 
-    schema types, such as <span class="langinline">xs:string</span> or <span class="langinline">xs:datetime</span>. 
-    XMLBean provides a &quot;signature&quot; to describe each type. You can retrieve 
-    this signature by calling the SchemaType class's <span class="langinline">toString</span> 
-    method.</p>
-  <p>The <span class="langinline">toString</span> method returns XMLBeans' version 
-    of a unique signature for a schema type. This string is useful for debugging 
-    because it describes a given type even when the type doesn't have a name. 
-  </p>
-  <p class="notepara"><strong>Note:</strong> It's important to remember that this 
-    signature is an XMLBeans convention, rather than a standard from the schema 
-    working group. The working group has not yet standardized a signature for 
-    XML schema types. As a result the signature you'll see from XMLBeans is subject 
-    to change &#8212; whatever the schema working group comes up with in the end 
-    (if anything) is probably what will be used by this API. In other words, don't 
-    write a program to decode the signature.</p>
-  <p>You can use the following description to understand how a signature is constructed.</p>
-</div>
-<ul>
-  <li> 
-    <div><strong>Global types.</strong> If the type has a name, it's a global 
-      type. The following form is used:</div>
-    <div> 
-      <div> 
-        <pre>T=&lt;localname&gt;@&lt;targetNamespace&gt;</pre>
-      </div>
-    </div>
-    <p>The &quot;T&quot; is for &quot;type,&quot; of course. &quot;localname&quot; 
-      is a convention used by qnames (qualified names), which include a local 
-      name and the namespace URI (if any). So an example might be:</p>
-    <pre>T=customer@openuri.org</pre>
-  </li>
-  <li><strong>Document types and global attribute types.</strong> These correspond 
-    to a special anonymous type containing one global element or attribute. These 
-    special types are generated by XMLBeans to represent global types declared 
-    with the &lt;element&gt; or &lt;attribute&gt; tag in schema. Because such 
-    types are types, but are declared as elements or attributes, they require 
-    special treatment. The following signature form is used: 
-    <div> 
-      <pre>
-D=&lt;document-element-name&gt;@&lt;targetNamespace&gt;
-R=&lt;attribute-type-name&gt;@&lt;targetNamespace&gt;
-</pre>
-      <div></div>
-    </div>
-    <div> 
-      <div>Note that these are also the signatures of a type returned by a FooDocument.type 
-        or FooAttribute.type method call.</div>
-    </div>
-  </li>
-  <li><strong>Anonymous types.</strong> If the type is anonymous, it is defined 
-    as an element or attribute, or within a further anonymous type. In this case, 
-    the signature is built by establishing the local context (in order words, 
-    what is the anonymous type nested in?). From the local context, the larger 
-    context is built recursively. In other words, the signature is built by giving 
-    not only the anonymous type itself, but also by describing its context. 
-    <p> The following rules are used for building a signature for an anonymous 
-      type. </p>
-    <ul>
-      <li> It might be an anonymous type defined inside a local element or attribute, 
-        which in turn is defined within something else: 
-        <p>If the element is <span class="langinline" style="langinline">form=&quot;qualified&quot;</span> 
-          (the usual default):</p>
-      </li>
-    </ul>
-  </li>
-  <blockquote> 
-    <div> 
-      <pre>E=&lt;eltname&gt;|&lt;signature of the type within which the elt is defined&gt;</pre>
-    </div>
-    <div>If the element is <span class="langinline" style="langinline">form=&quot;unqualified&quot;</span>:</div>
-    <div> 
-      <pre>U=&lt;eltname&gt;|&lt;signature of the type within which the elt is defined&gt;</pre>
-    </div>
-    <div>If the attribute is <span class="langinline" style="langline">form=&quot;unqualified&quot;</span> 
-      (the usual default):</div>
-    <div> 
-      <pre>A=&lt;attrname&gt;|&lt;signature of the type within the attr is defined&gt;</pre>
-    </div>
-    <div>if the attribute is <span class="langinline" style="langinline">form=&quot;qualified&quot;</span>:</div>
-    <div> 
-      <pre>Q=&lt;attrname&gt;|&lt;signature of the type within the attr is defined&gt;</pre>
-    </div>
-  </blockquote>
-  <ul>
-    <li>It might be an anonymous type defined a simple restriction, union, or 
-      list definition:</li>
-  </ul>
-  <blockquote> 
-    <div> 
-      <pre>M=#|&lt;signature of the containing union type&gt;</pre>
-      <p>(The # is a number indicating which union member it is, by source order 
-        &#8212; such as 0,1,2, etc.)</p>
-      <pre>B=|&lt;signature of the containing base type for a restriction&gt;</pre>
-      <pre>I=|&lt;signature of the containing list type&gt;</pre>
-    </div>
-  </blockquote>
-  <ul>
-    <li> 
-      <div> In the future if anonymous types are allowed in some other context, 
-        there may be more codes.</div>
-    </li>
-  </ul>
-</ul>
-<h2>An Example</h2>
-<p>So, for example, if you have a type that describes the list items within an 
-  attribute of an instance that looks like this:</p>
-<blockquote> 
-  <div> 
-    <pre> &lt;root mylist=&quot;432 999 143 123&quot;/&gt;</pre>
-  </div>
-</blockquote>
-<div> The schema, if done with lots of nested types, could look something like 
-  this:</div>
-<blockquote>
-  <div>
-    <pre>
-&lt;schema targetNamespace=&quot;myNamespace&quot; elementFormDefault=&quot;qualified&quot;&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&lt;element name=&quot;root&quot;&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;complexType&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;attribute name=&quot;mylist&quot;&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;simpleType&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;list&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;simpleType&gt; &lt;!--This is the type that the signature is for --&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;restriction base=&quot;xs:nonNegativeInteger&quot;&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;totalDigits value=&quot;3&quot;/&gt;..
-</pre>
-  </div>
-</blockquote>
-<div> The signature for the simpleType indicated in the example would be:</div>
-<blockquote>
-  <pre>I=|A=mylist|E=root|D=root@myNamespace</pre>
-</blockquote>
-<div> 
-  <p>You could read this as: </p>
-</div>
-<blockquote>
-  <div>&quot;The type of the list item | within the type of the mylist attribute's 
-    type | within the type of the root element | within the document type for 
-    &lt;root&gt; documents | in the myNamespace namespace&quot;.</div>
-</blockquote>
-<div> 
-  <p>Note that the signature structure mirrors the Java class structure generated 
-    by XMLBeans when compiling the schema. In other words, if you were to compile 
-    a schema that included the preceding snippet, you would be able to access 
-    an instance of the schema with Java code like the following:</p>
-  <pre>SchemaType sType = RootDocument.Root.MyList.Item.type;</pre>
-</div>
-<p class="relatedtopics">Related Topics</p>
-<p><a href="conGettingStartedwithXMLBeans.html">Getting Started with XMLBeans</a></p>
-<!-- InstanceEndEditable --> 
-<script language="JavaScript">
-
-</script>
-</body>
-</html>
diff --git a/v1/docs/guide/conJavaTypesGeneratedFromUserDerived.html b/v1/docs/guide/conJavaTypesGeneratedFromUserDerived.html
deleted file mode 100644
index c211246..0000000
--- a/v1/docs/guide/conJavaTypesGeneratedFromUserDerived.html
+++ /dev/null
@@ -1,458 +0,0 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
-
-<html>
-<head>
-<!-- InstanceBeginEditable name="doctitle" --> 
-<title>Java Types Generated from Schema</title>
-<!-- InstanceEndEditable --> 
-
-<!--(Meta)==========================================================-->
-<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
-
-
-<!-- InstanceBeginEditable name="metatags" --> 
-
-<meta name="component" content="">
-<!-- In the description metatag, please provide a BRIEF description of the topic contents. -->
-<meta name="description" content="">
-<!-- In the component metatag, please list keywords that will help a user search for this topic. -->
-<meta name="keywords" content="">
-<!-- InstanceEndEditable -->
-
-<!--(Links)=========================================================-->
-<!-- InstanceBeginEditable name="head" -->
-
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
- 
-<!--(Meta)==========================================================-->
-
-
-
-<meta name="author" content="your name">
-<meta name="description" content="A description of the topic contents.">
-<meta name="keywords" content="keywords to help in searches">
-<meta name="date last modified" content="10/25/02">
-<!--(Links)=========================================================-->
-<!--(Body)==========================================================--><!-- InstanceEndEditable -->
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<a href="../../../core/index.html" id="index"></a>
-<script language="JavaScript" src="../../../core/topicInfo.js"></script>
-<script language="JavaScript" src="../../../core/CookieClass.js"></script>
-<script language="JavaScript" src="../../../core/displayContent.js"></script>
-</head>
-
-<!--(Body)==========================================================-->
-<body>
-<script language="JavaScript">
-
-</script>
-<!-- InstanceBeginEditable name="body" -->
-<h1> Java Types Generated from User-Derived Schema Types</h1>
-<div id="topictext"> 
-  <p>When you compile XML schema, the resulting API is made up of two categories 
-    of types: built-in types that mirror those in the schema specification and 
-    others that are generated from user-derived schema types. This topic provides 
-    an overview of the Java types generated for user-derived types, describing 
-    the methods the Java types provide. For more information about built-in types, 
-    see <a href="conXMLBeansSupportBuiltInSchemaTypes.html">XMLBeans Support for 
-    Built-In Schema Types</a>. For specific information about the methods exposed 
-    by generated types, see <a href="conMethodsForGeneratedJavaTypes.html">Methods 
-    for Generated Java Types</a>.</p>
-  <p>In general, an API generated from schema is an intuitive means to access 
-    XML instances based on the schema. You'll probably find that for most uses 
-    it's unnecessary to know the rules for generating it in order to use it. However, 
-    for those cases when it's unclear what's going on behind the scenes (or if 
-    you're just curious), this topic describes the rules.</p>
-  <p class="notepara"><strong>Note:</strong> The XMLBeans API also provides a 
-    way for you to get information <em>about </em>the type system itself &#8212; 
-    in other words, about the API and the underlying schema. For more information, 
-    see <a href="conIntroToTheSchemaTypeSystem.html">Introduction to Schema Type 
-    Signatures</a>.</p>
-  <p>Each of the types generated when you compile a schema is designed specifically 
-    for access to XML instances conforming to that part of the schema. Start by 
-    taking a look at a simple XML and schema example. The following schema describes 
-    an XML document to contain a stock price quote.</p>
-  <pre>&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
-    &lt;xs:element name="price-quote"&gt;
-        &lt;xs:complexType&gt;
-            &lt;xs:sequence&gt;
-                &lt;xs:element name="stock-symbol" type="xs:string"/&gt;
-                &lt;xs:element name="stock-price" type="xs:float"/&gt;
-            &lt;/xs:sequence&gt;
-        &lt;/xs:complexType&gt;
-    &lt;/xs:element&gt;
-&lt;/xs:schema&gt;
-</pre>
-  <p>The following is an example of XML that conforms to this schema.</p>
-  <pre>&lt;price-quote&gt;
-    &lt;stock-symbol&gt;BEAS&lt;/stock-symbol&gt;
-    &lt;stock-price&gt;59.21&lt;/stock-price&gt;
-&lt;/price-quote&gt;</pre>
-  <p>When you compile this schema, you get two generated XMLBeans interfaces: 
-    <span class="langinline"> PriceQuoteDocument</span> and <span class="langinline">PriceQuoteDocument.PriceQuote</span>.</p>
-  <p>From the schema point of view, the generated <span class="langinline">PriceQuote</span> 
-    interface represents the <em>complex type</em> you see inside the schema's 
-    <span class="langinline">price-quote</span> element declaration. Looking at 
-    the XML instance, you can see that this complex type translates into a sequence 
-    of two elements, <span class="langinline">stock-symbol</span> and <span class="langinline">stock-price</span>. 
-    So it's not surprising that the <span class="langinline">PriceQuote</span> 
-    interface exposes methods such as <span class="langinline">getStockPrice</span> 
-    and <span class="langinline">setStockPrice</span> to set the value <span class="langinline">stock-price</span> 
-    element.</p>
-  <p>The <span class="langinline">PriceQuoteDocument</span> interface, on the 
-    other hand, represents the <span class="langinline">price-quote</span> <em>document</em> 
-    that contains the root <span class="langinline">price-quote</span> element. 
-    XMLBeans creates a special &quot;document&quot; type for global element types. 
-    A document type provides a way for you to get and set the value of the underlying 
-    type, here represented by <span class="langinline">PriceQuote</span>. The 
-    <span class="langinline">price-quote</span> element is considered a <em>global</em> 
-    element because it can be referenced from anywhere else in the schema. For 
-    global elements, the XMLBeans schema compiler generates an interface whose 
-    name ends with &quot;Document.&quot; This is because an XML schema has no 
-    way of defining a &quot;root&quot; element; any global element can be the 
-    root.</p>
-  <p>The following bit of Java code illustrates how you might use these interfaces 
-    to get the stock price contained in the XML.</p>
-  <pre>
-public static float getStockPrice(java.io.File orderXML) throws Exception 
-{
-    PriceQuoteDocument docXML = PriceQuoteDocument.Factory.parse(orderXML);
-    PriceQuote quoteXML = docXML.getPriceQuote();
-    float stockPrice = quoteXML.getStockPrice();
-    return stockPrice;
-}
-</pre>
-  <p>This code loads the XML from a <span class="langinline">File</span> object, 
-    converting the <span class="langinline">parse</span> method's return value 
-    to a <span class="langinline">PriceQuoteDocument</span> instance. It then 
-    uses this instance to get an instance of <span class="langinline">PriceQuote</span>. 
-    With <span class="langinline">PriceQuote</span>, the code extracts the stock 
-    price. </p>
-</div>
-<div> 
-  <div id="topictext"> 
-    <p>The XML schema specification provides a rich set of rules through which 
-      you can derive new types. When you generate interfaces from your schema, 
-      XMLBeans uses the schema's rules to determine how to generate interfaces. 
-      The following describes some of the guidelines by which this is done.</p>
-    <h2>Names for Interfaces</h2>
-    <p>Interfaces are generated for schema types (both simple and complex). Anonymous 
-      schema types result in inner interfaces inside the type interface in which 
-      they are defined. Their name comes from the element or attribute in which 
-      they is defined.</p>
-    <p>Names for schema types become Java-friendly names when the schema is compiled. 
-      In other words, names such as "price-quote" become "PriceQuote." In addition, 
-      a schema's XML namespace URIs become package names for XMLBean types generated 
-      from the schema. The way this name translation is done is described by section 
-      C of the Java API for XML Binding (JAXB) specification at <a href="http://java.sun.com/xml/downloads/jaxb.html" target="_blank"> 
-      http://java.sun.com/xml/jaxb.html.</a> </p>
-    <p>Here are a few examples:</p>
-    <table>
-      <tr> 
-        <td><strong>Schema Target Namespace</strong></td>
-        <td width="155"><strong>XML Localname</strong></td>
-        <td><strong>Fully-Qualified XMLBean Type Name</strong></td>
-      </tr>
-      <tr> 
-        <td>http://www.mycompany.com/2002/buyer</td>
-        <td width="155">purchase-order-4</td>
-        <td>com.mycompany.x2002.buyer.PurchaseOrder4</td>
-      </tr>
-      <tr> 
-        <td>http://myco.com/sample.html</td>
-        <td width="155">SampleDocument</td>
-        <td>com.myco.sample.SampleDocument</td>
-      </tr>
-      <tr> 
-        <td>http://openuri.org/test_case_1</td>
-        <td width="155">test_type</td>
-        <td>org.openuri.testCase1.TestType</td>
-      </tr>
-    </table>
-    <p>When there are name collisions, the generated types will have names with 
-      numerals appended&nbsp;— for example, "TestType2".</p>
-    <h2>Global Elements and Attributes</h2>
-    <p>In schema, global element and attribute definitions are those that are 
-      declared at the top level of the schema (that is, immediately within the 
-      <span class="langinline">schema</span> root element). Because they are global, 
-      they may be referenced from inside the schema by name. The <span class="langinline">creditReport</span> 
-      (not the <span class="langinline">creditReportType</span> complex type) 
-      element defined in the following schema is an example.</p>
-    <pre>
-&lt;xs:schema targetNamespace=&quot;http://openuri.org/samples/creditReport&quot; 
-    xmlns:cr=&quot;http://openuri.org/samples/creditReport&quot; 
-    xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;
-    elementFormDefault=&quot;qualified&quot;
-    attributeFormDefault=&quot;unqualified&quot;&gt;
-    &lt;xs:complexType name=&quot;creditReportType&quot;&gt;
-        &lt;xs:sequence&gt;
-            &lt;xs:element name=&quot;bankReport&quot; type=&quot;xs:string&quot;/&gt;
-            &lt;xs:element name=&quot;taxReport&quot; type=&quot;xs:string&quot;/&gt;
-        &lt;/xs:sequence&gt;
-    &lt;/xs:complexType&gt;
-    &lt;xs:element name=&quot;creditReport&quot; type=&quot;cr:creditReportType&quot;/&gt;
-&lt;/xs:schema&gt;</pre>
-    <p>XMLBeans generates a separate interface for each of these. Also, global 
-      element and attribute types are somewhat unique in that the schema compiler 
-      will create special types to hold the globally defined element or attribute. 
-      The names of these types will be appended with &quot;Document&quot; (for 
-      elements) or &quot;Attribute&quot; (for attributes). You can retrieve the 
-      element or attribute itself (or create a new one) by calling the accessor 
-      methods that the special types provide. The following example would create 
-      a new instance of the creditReport element.</p>
-    <pre>
-// Create an instance of the special document type.
-CreditReportDocument reportDoc = CreditReportDocument.Factory.newInstance();
-/*
- * Use the document type to add a new creditReport element to the XML instance.
- * Note that the type returned by the addNewCreditReport method is the 
- * creditReportType complex type defined for it in schema.
- */
-CreditReportType report = reportDoc.addNewCreditReport();
-</pre>
-    <h2>Global User-Derived Types</h2>
-    <p>A <em>user-derived</em> type is one defined with a <span class="langinline">complexType</span> 
-      or <span class="langinline">simpleType</span> element in schema. User-derived 
-      types at the top level of a schema are global. XMLBeans generates an interface 
-      for each of these, as it does with global elements and attributes. These 
-      interfaces include methods through which you can get and set the type's 
-      values, including any nested derived types it may contain. The following 
-      schema snippet defines a user-derived complex type called <span class="langinline">itemType</span>, 
-      along with a <span class="langinline">priceType</span> that uses it as the 
-      type for an <span class="langinline">item</span> child element.</p>
-    <pre>
-&lt;xs:complexType name=&quot;itemType&quot;&gt;
-    &lt;xs:sequence&gt;
-        &lt;xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/&gt;
-        &lt;xs:element name=&quot;amount&quot; type=&quot;xs:int&quot;/&gt;
-        &lt;xs:element name=&quot;price&quot; type=&quot;xs:double&quot;/&gt;
-    &lt;/xs:sequence&gt;
-&lt;/xs:complexType&gt;
-&lt;xs:complexType name=&quot;priceType&quot;&gt;
-    &lt;xs:sequence&gt;
-        &lt;xs:element name=&quot;item&quot; type=&quot;ps:itemType&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/&gt;
-    &lt;/xs:sequence&gt;
-&lt;/xs:complexType&gt;
-&lt;xs:element name=&quot;price&quot; type=&quot;ps:priceType&quot;/&gt;
-</pre>
-    <p>By default, the generated Java type for <span class="langinline">itemType</span> 
-      would be an interface called <span class="langinline">ItemType</span>. With 
-      this type, you would be able to get and set the values of its <span class="langinline">name</span>, 
-      <span class="langinline">amount</span>, and <span class="langinline">price</span> 
-      child elements. However, a user-derived type (as opposed to an element or 
-      attribute) is always intended for use as the type to which an element or 
-      attribute is bound. In other words, it's contained by an element or attribute. 
-      While you can create a new instance of a user-derived type, the new instance's 
-      underlying XML is a fragment. As the generated API would make clear, the 
-      <span class="langinline">itemType</span> becomes the return type of a get 
-      method, or the parameter of a set method.</p>
-    <pre>
-// Create a new price document.
-PriceDocument priceDoc = PriceDocument.Factory.newInstance();
-PriceType price = priceDoc.getPrice();
-
-/* 
- * Create a new instance of ItemType and set the values of its
- * child elements.
- */
-ItemType item = ItemType.Factory.newInstance();
-item.setName(&quot;bicycle&quot;);
-item.setAmount(12);
-item.setPrice(560.00);
-
-/* 
- * Use the new ItemType instance to set the value of the 
- * price element's first item child element. Notice that the set method
- * here is an "Array" method. This is because the item element
- * is defined with a maxOccurs="unbounded" attribute. It can occur
- * many times as a child of price.
- */
-price.setItemArray(0, item);
-</pre>
-    <h2>Nested Elements and Derived Types</h2>
-    <p>When your schema includes named types that are declared locally—within 
-      the declaration of another element or type—the schema type's generated Java 
-      interface will be an inner interface within the type it's nested in.</p>
-    <p>For example, the following schema snippet defines <span class="langinline">name</span> 
-      and <span class="langinline">gender</span> elements nested within a <span class="langinline">person</span> 
-      complex type. In particular, note that the gender element is defined as 
-      deriving from the xs:NMTOKEN built-in type.</p>
-    <pre>
-&lt;xs:complexType name="person"&gt;
-    &lt;xs:sequence&gt;
-        &lt;xs:element name="name" type="xs:string"/&gt;
-        &lt;xs:element name="gender"&gt;
-            &lt;xs:simpleType&gt;
-                &lt;xs:restriction base="xs:NMTOKEN"&gt;
-                    &lt;xs:enumeration value="male"/&gt;
-                    &lt;xs:enumeration value="female"/&gt;
-                &lt;/xs:restriction&gt;
-            &lt;/xs:simpleType&gt;
-        &lt;/xs:element&gt;
-    &lt;/xs:sequence&gt;
-&lt;/xs:complexType&gt;
-</pre>
-    <p>The generated interfaces for person and gender would be organized in source 
-      something like the following. Of course, you wouldn't see the source, but 
-      you can see here that the Gender interface is nested with Person. Also, 
-      notice that it extends XmlNMTOKEN, mirroring the schema.</p>
-    <pre>public interface Person extends XmlObject
-{
-    public interface Gender extends XmlNMTOKEN
-    {
-        // Methods omitted for this example
-    }
-    // Methods omitted for this example
-}
-</pre>
-    <p>You could create a new instance of the <span class="langinline">Gender</span> 
-      type in this way (there are also various alternatives to this):</p>
-    <pre>
-// Create a new Person instance.
-Person person = Person.Factory.newInstance();
-/*
- * Set the gender element's value using the 
- * enumeration generated from the schema.
- */
-person.setGender(Gender.FEMALE);</pre>
-    <h2>User-Derived Simple Types</h2>
-    <p>In addition to the 46 built-in simple types in XML schema, a schema can 
-      include its own custom simple types using <span class="langinline">xs:simpleType</span> 
-      declarations. These user-derived simple types are always based on the built-in 
-      XML schema types. The built-in types can be modified by <em>restricting</em> 
-      them, taking <em>unions</em> of them, or making space-separated <em>lists</em> 
-      of them. Each XML simple type is translated into a Java type that provides 
-      access to the underlying data.</p>
-    <h3>Unions</h3>
-    <p>In schema, you can use <span class="langinline">xs:union</span> to specify 
-      a simple type that is allowed to contain values of a number of other simple 
-      types. XMLBeans generates a type for a union, just as it generates a type 
-      for any other schema type. At run time, you can discover the underlying 
-      type of an instance of a union type by calling the <span class="langinline">XmlObject</span> 
-      interface's <span class="langinline">instanceType</span> method. Once you 
-      have determined the type, you can cast an instance of a union type to the 
-      actual underlying instance type.</p>
-    <pre>
-&lt;xs:simpleType name=&quot;intOrString&quot;&gt;
-    &lt;xs:union memberTypes=&quot;xs:int xs:string&quot;&gt;
-&lt;/xs:simpleType&gt;
-</pre>
-    <p>Given the preceding schema snippet, you could set the intOrString value 
-      to, say, 6 or &quot;six&quot;. The union of <span class="langinline">xs:int</span> 
-      and <span class="langinline">xs:string</span> makes both allowable.</p>
-    <pre>
-// Create a new instance of the type.
-IntOrString intOrString = IntOrString.Factory.newInstance();
-intOrString.set(&quot;5&quot;);
-// This code prints "XmlInt" to the console.
-System.out.println(intOrString.instanceType().getShortJavaName());
-</pre>
-    <h3>Restrictions</h3>
-    <p>XML schema restrictions on simple XMLBeans types are enforced. So, for 
-      example, it is illegal to set a number outside its restricted range. </p>
-    <h4>Numeric Type Restrictions</h4>
-    <p>In schema, you can restrict numeric types to allow, for example, only a 
-      particular range of values. For such a restriction, XMLBeans tailors the 
-      resulting natural Java alternative. For example, suppose you have the following 
-      element defined in schema:</p>
-    <pre>
-&lt;xs:element name="number"&gt;
-    &lt;xs:simpleType&gt;
-        &lt;xs:restriction base="xs:integer"&gt;
-            &lt;xs:minInclusive value="1"/&gt;
-            &lt;xs:maxInclusive value="1000000"/&gt;
-        &lt;/xs:restriction&gt;
-    &lt;/xs:simpleType&gt;
-&lt;/xs:element&gt;
-</pre>
-    <p>The type is restricted from <span class="langinline">xs:integer</span>, 
-      but because the number's range is limited to between 1 and 1000000, it will 
-      fit into a Java <span class="langinline">int</span>. A <span class="langinline">long</span> 
-      or <span class="langinline">java.math.BigInteger</span> would be too big 
-      for the need. In other words, the <span class="langinline">getNumber</span> 
-      method generated for this type will return an <span class="langinline">int</span>, 
-      rather than a <span class="langinline">BigInteger</span> or a <span class="langinline">long</span>.</p>
-    <p>By the same token, an long can be compiled to an int if the totalDigits 
-      attribute is &lt;=9, or the min and max attribute values are within 32-bit 
-      2s complement range.</p>
-    <p>The single primitive XML type xs:decimal can be restricted in several ways 
-      that influence the resulting natural Java type. For example, it can be:</p>
-  </div>
-</div>
-<ul>
-  <li>
-    <div>
-      <div>Compiled to a <span class="langinline">BigInteger</span> if its <span class="langinline">fractionDigit</span> 
-        attribute is set to 0. </div>
-    </div>
-  </li>
-  <li>
-    <div>
-      <div>Compiled to a <span class="langinline">long</span> if its totalDigits 
-        attribute is &lt;=18, or the min and max are within 64-bit 2s complement 
-        range.</div>
-    </div>
-  </li>
-</ul>
-<div>
-  <div>
-    <h3>Enumerations</h3>
-    <p>In schema, you can derive a new type by restricting a built-in type so 
-      that only a finite set of values are allowable. Where schema does this by 
-      restricting <span class="langinline">xs:string</span>, XMLBeans generates 
-      a special <span class="langinline">Enum</span> type. With an <span class="langinline">Enum</span>, 
-      you can select the enumerated value either by its <span class="langinline">String</span> 
-      value or by a numeric index. The index's value is determined based on the 
-      <span class="langinline">String</span> value's order in the schema. Having 
-      an index can be useful in Java switch statements.</p>
-    <p>For example, suppose you had a document containing price elements whose 
-      type was the priceType defined in the following schema snippet:</p>
-    <pre>&lt;xs:complexType name=&quot;priceType&quot;&gt;
-    &lt;xs:sequence&gt;
-        &lt;xs:element name=&quot;item&quot; type=&quot;ps:itemType&quot; minOccurs=&quot;0&quot; 
-              maxOccurs=&quot;unbounded&quot;/&gt;
-    &lt;/xs:sequence&gt;
-    &lt;xs:attribute name=&quot;threshold&quot;&gt;
-        &lt;xs:simpleType&gt;
-            &lt;xs:restriction base=&quot;xs:string&quot;&gt;
-                &lt;xs:enumeration value=&quot;Below10Dollars&quot;/&gt;
-                &lt;xs:enumeration value=&quot;Between10And20Dollars&quot;/&gt;
-                &lt;xs:enumeration value=&quot;Above20Dollars&quot;/&gt;
-            &lt;/xs:restriction&gt;
-        &lt;/xs:simpleType&gt;
-    &lt;/xs:attribute&gt;
-&lt;/xs:complexType&gt;</pre>
-    <p>Using types generated from the schema, you would be able to write the following 
-      Java code to &quot;switch&quot; on the threshold attribute's enumeration:</p>
-    <pre>
-/*
- * Use the intValue method provided by the Enum type to determine the threshold
- * attribute's current enumeration value.
- */
-switch(priceElements[i].getThreshold().intValue())
-{
-    // Use the Threshold type's enumeration values to test for an attribute value. 
-    case PriceType.Threshold.INT_BELOW_10_DOLLARS:
-        zeroBuffer.append(item.getTitle() + &quot;\n&quot;);
-        break;
-    case PriceType.Threshold.INT_BETWEEN_10_AND_20_DOLLARS:
-        tenBuffer.append(item.getTitle() + &quot;\n&quot;);
-        break;
-    case PriceType.Threshold.INT_ABOVE_20_DOLLARS:
-        twentyBuffer.append(item.getTitle() + &quot;\n&quot;);
-        break;
-    default:
-        System.out.println(&quot;Yo! Something unexpected happened!&quot;);
-        break;
-}</pre>
-  </div>
-  <p class="relatedtopics">Related Topics</p>
-  <p><a href="conXMLBeansSupportBuiltInSchemaTypes.html">XMLBeans Support for 
-    Built-In Schema Types</a></p>
-</div>
- <!-- InstanceEndEditable -->
-<script language="JavaScript">
-
-</script>
-</body>
-</html>
diff --git a/v1/docs/guide/conMethodsForGeneratedJavaTypes.html b/v1/docs/guide/conMethodsForGeneratedJavaTypes.html
deleted file mode 100644
index 1e190e2..0000000
--- a/v1/docs/guide/conMethodsForGeneratedJavaTypes.html
+++ /dev/null
@@ -1,262 +0,0 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
-
-<html>
-<head>
-<!-- InstanceBeginEditable name="doctitle" -->
-<title>Methods for Types Generated From Schema</title>
-<!-- InstanceEndEditable --> 
-<!--(Meta)==========================================================-->
-
-<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
-
-
-<!-- InstanceBeginEditable name="metatags" -->
-
-<meta name="component" content="">
-<!-- In the description metatag, please provide a BRIEF description of the topic contents. -->
-<meta name="description" content="">
-<!-- In the component metatag, please list keywords that will help a user search for this topic. -->
-<meta name="keywords" content="">
-<!-- InstanceEndEditable -->
-
-<!--(Links)=========================================================-->
-<!-- InstanceBeginEditable name="head" -->
-<!-- InstanceEndEditable -->
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<a href="../../../core/index.html" id="index"></a>
-<script language="JavaScript" src="../../../core/topicInfo.js"></script>
-<script language="JavaScript" src="../../../core/CookieClass.js"></script>
-<script language="JavaScript" src="../../../core/displayContent.js"></script>
-</head>
-
-<!--(Body)==========================================================-->
-<body>
-<script language="JavaScript">
-
-</script>
-<!-- InstanceBeginEditable name="body" --> 
-<div id=topictitle> 
-  <p class=Title>Methods for Types Generated From Schema</p>
-</div>
-<div id=topictext>
-  <p>As you may have seen in <a href="conGettingStartedwithXMLBeans.html">Getting 
-    Started with XMLBeans</a>, you use the types generated from schema to access 
-    XML instances based on the schema. If you're familiar with the JavaBeans technology, 
-    the conventions used in the generated API will be recognizable. </p>
-  <p>In general, elements and attributes are treated as &quot;properties&quot; 
-    in the JavaBeans sense. In other words, as you would with JavaBeans properties, 
-    you manipulate parts of the XML through accessor methods such as getCustomer() 
-    (where you have a &quot;customer&quot; element), setId(String) (where you 
-    have an &quot;id&quot; attribute), and so on. However, because schema structures 
-    can be somewhat complex, XMLBeans provides several other method styles for 
-    handling those structures in XML instances.</p>
-  <div>
-    <h2>Prototypes for Methods in Generated Interfaces</h2>
-    <p>Several methods are generated for each element or attribute within the 
-      complex type. This topic lists each method that could be generated for a 
-      given element or attribute. </p>
-    <p>Note that whether or not a given method is generated is based on how the 
-      element or attribute is defined in schema. For example, a customer element 
-      definition with a <span class="langinline">maxOccurs</span> attribute value 
-      of 1 will result in a getCustomer method, but not a getCustomerArray method 
-      &#8212; after all, only one customer element is possible in an instance 
-      document.</p>
-    <p>Note, too, that there may be two sets of parallel methods: one whose prototype 
-      starts with an &quot;x&quot;. An &quot;x&quot; method such as xgetName or 
-      xsetName would be generated for elements or attribute whose type is a simple 
-      type. A simple type may be one of the 44 built-in simple types or may be 
-      a restriction in schema of one of those built-in types. Of course, an attribute 
-      will always be of a simple type. For built-in simple types, an &quot;x&quot; 
-      method will get or set one of the types provided with XMLBeans, such as 
-      <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlString.html">XmlString</a></span>, 
-      <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlInteger.html">XmlInteger</a></span>, 
-      <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlGDay.html">XmlGDay</a></span>, 
-      and so on. For derived types, the &quot;x&quot; method will get or set a 
-      generated type.</p>
-    <h3>Single Occurrence Methods</h3>
-    <p>Methods generated for elements or attributes that allow a single occurrence. 
-      An element is singular if it was declared with maxOccurs=&quot;1&quot;. 
-      An attribute is singular if it was not declared with use=&quot;prohibited&quot;.</p>
-    <pre>
-Type getFoo()
-void setFoo(Type newValue)
-</pre>
-  </div>
-  <blockquote> 
-    <div>Returns or sets the value of Foo. Generated when Foo is an attribute, 
-      or is an element that can occur only once as a child.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>XmlType xgetFoo()
-void xsetFoo(XmlType newValue)</pre>
-  </div>
-  <blockquote> 
-    <div>Returns or sets the value of Foo as an XMLBean simple type. These methods 
-      are generated if Foo's type is defined in schema as a simpleType.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>boolean isNilFoo()
-void setNilFoo()</pre>
-  </div>
-  <blockquote> 
-    <div>Determines or specifies whether the Foo element is nil (in other words, 
-      &quot;null&quot; in schema terms), meaning it can be empty. A nil element 
-      looks something like this:</div>
-    <div> 
-      <pre>&lt;foo/&gt;</pre>
-    </div>
-    <div>These methods are only generated when an element type is declared as 
-      nillable in schema &#8212; it has a nillable=&quot;true&quot; attribute.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>XmlType addNewFoo()</pre>
-  </div>
-  <blockquote> 
-    <div>Adds a new Foo as an XMLBean simple to the document, or returns Foo's 
-      value if one exists already.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>boolean isSetFoo()
-void unSetFoo()</pre>
-  </div>
-  <blockquote> 
-    <div>Determines whether the Foo element or attribute exists in the document; 
-      removes Foo. These methods are generated for elements and attributes that 
-      are optional. In schema, and optional element has an <span class="langinline">minOccurs</span> 
-      attribute set to &quot;0&quot;; an optional attribute has a <span class="langinline">use</span> 
-      attribute set to &quot;optional&quot;.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <h3>Multiple Occurrence Methods</h3>
-    <p>Methods generated for elements that allow multiple occurrences. </p>
-    <p>An element may occur multiple times if it has a <span class="langinline">maxOccurs</span> 
-      attribute set to &quot;unbounded&quot; or greater than 1. Attributes can't 
-      occur multiple times.</p>
-    <pre>Type[] getFooArray()
-void setFooArray(Type[] newValue) </pre>
-  </div>
-  <blockquote> 
-    <div>Returns or sets all of the Foo elements. </div>
-    <div> 
-      <pre>
-// Get an array of the all of the purchase-order elements item children.
-Item[] items = myPO.getItemArray();
-</pre>
-    </div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>Type getFooArray(int index)
-void setFooArray(Type newValue, int index)</pre>
-  </div>
-  <blockquote> 
-    <div>Returns or sets the Foo child element at the specified index.</div>
-    <div> 
-      <pre>// Sets the value of the third item child element.
-myPO.setItem(newItem, 2);</pre>
-    </div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>int sizeOfFooArray()</pre>
-  </div>
-  <blockquote> 
-    <div>Returns the number of Foo child elements.</div>
-    <div> 
-      <pre>// Returns the number of item child elements.
-int itemCount = myPO.sizeOfItemArray();</pre>
-    </div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>void removeFoo(int index)</pre>
-  </div>
-  <blockquote> 
-    <div>Removes the Foo child element at the specified index.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>XmlType[] xgetFooArray()
-void xsetFooArray(XmlType[] arrayOfNewValues)</pre>
-  </div>
-  <blockquote> 
-    <div>Returns or sets all of the Foo elements as XMLBeans simple types. Generated 
-      only when the Foo element is defined as a simple type.</div>
-    <div> 
-      <pre>/*
- * Returns values of all the phone child elements of an employee element,
- * where the phone element has been defined as xs:string.
- */
-XmlString[] empPhones = currentEmployee.xGetPhoneArray();
-</pre>
-    </div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>XmlType xgetFooArray(int index)
-void xsetFooArray(int index, XmlType newValue)</pre>
-  </div>
-  <blockquote> 
-    <div>Returns or sets the Foo element at the specified index, using an XMLBeans 
-      simple type value. Generated for an element defined as a simple type in 
-      schema.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>void insertFoo(int index, FooType newValue)</pre>
-  </div>
-  <blockquote> 
-    <div>Inserts the specified Foo child element at the specified index.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>void addFoo(FooType newValue)</pre>
-  </div>
-  <blockquote> 
-    <div>Adds the specified Foo to the end of the list of Foo child elements.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>XmlType insertNewFoo(int index)</pre>
-  </div>
-  <blockquote> 
-    <div>Inserts a new Foo at the specified index, returning an XMLBeans simple 
-      type representing the new element; returns the existing Foo if there's already 
-      one at index.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>XmlType addNewFoo()</pre>
-  </div>
-  <blockquote> 
-    <div>Adds a new Foo element to the end of the list of Foo child elements, 
-      returning an XMLBeans simple type representing the newly added element.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-    <pre>boolean isNilFooArray(int index)
-void setNilFooArray(int index)</pre>
-  </div>
-  <blockquote> 
-    <div>Determines or specifies whether the Foo element at the specified index 
-      is nil.</div>
-  </blockquote>
-  <div> 
-    <hr size="1">
-  </div>
-  <div id="topictext"></div>
-  <p class=relatedtopics>Related Topics</p>
-  <p><a href="conJavaTypesGeneratedFromUserDerived.html">Java Types Generated 
-    from User-Derived Schema Types</a></p>
-</div>
-<!-- InstanceEndEditable -->
-<script language="JavaScript">
-
-</script>
-</body>
-</html>
diff --git a/v1/docs/guide/conNavigatingXMLwithCursors.html b/v1/docs/guide/conNavigatingXMLwithCursors.html
deleted file mode 100644
index aee414a..0000000
--- a/v1/docs/guide/conNavigatingXMLwithCursors.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
-
-<html>
-<head>
-<!-- InstanceBeginEditable name="doctitle" -->
-<title>Navigating XML with Cursors</title>
-<!-- InstanceEndEditable --> 
-<!--(Meta)==========================================================-->
-
-<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
-
-
-<!-- InstanceBeginEditable name="metatags" -->
-
-<meta content="your name" name="author">
-<meta content="A description of the topic contents." name="description">
-<meta content="keywords to help in searches" name="keywords">
-<meta content="10/25/02" name="date last modified">
-<!-- InstanceEndEditable -->
-
-<!--(Links)=========================================================-->
-<!-- InstanceBeginEditable name="head" --> 
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<!-- InstanceEndEditable -->
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<a href="../../../core/index.html" id="index"></a>
-<script language="JavaScript" src="../../../core/topicInfo.js"></script>
-<script language="JavaScript" src="../../../core/CookieClass.js"></script>
-<script language="JavaScript" src="../../../core/displayContent.js"></script>
-</head>
-
-<!--(Body)==========================================================-->
-<body>
-<script language="JavaScript">
-
-</script>
-<!-- InstanceBeginEditable name="body" --> 
-<h1> Navigating XML with Cursors </h1>
-<div id="topictext"> 
-  <p>XML cursors are a way to navigate through an XML instance document. Once 
-    you load an XML document, you can create a cursor to represent a specific 
-    place in the XML. Because you can use a cursor with or without a schema corresponding 
-    to the XML, cursors are an ideal way to handle XML without a schema.</p>
-  <p>With an XML cursor, you can:</p>
-</div>
-<UL>
-  <li> 
-    <div><a href="conUnderstandingXMLTokens.html">Use the token model</a> to move 
-      through XML in small increments, or in a manner similar to using a DOM-based 
-      model.</div>
-  <LI> 
-    <DIV>Get and set values within the XML.</DIV>
-  <LI> 
-    <DIV><a href="#adding_elements_attributes">Change the structure</a> of an 
-      XML document by inserting, removing, and moving elements and attributes.</DIV>
-  <LI> 
-    <DIV><a href="conSelectingXMLwithXQueryPathXPath.html">Execute XQuery expressions</a> 
-      against the XML represented by the cursor.</DIV>
-  <LI> 
-    <DIV><a href="conUsingBookmarksToAnnotateXML.html">Insert bookmarks</a> to 
-      mark locations in XML.</DIV>
-</UL>
-<P>When you're finished using a cursor, your code should call its <span class="langinline">dispose</span> 
-  method.</P>
-<h2>Creating and Moving a Cursor</h2>
-<P>With an XML instance document bound to <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlObject.html">XmlObject</a></span> 
-  (or a type inheriting from it), you create a new cursor by calling the <span class="langinline">newCursor</span> 
-  method. The <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlCursor.html">XmlCursor</a></span> 
-  interface represents a cursor. From a cursor standpoint, an XML document is 
-  a collection of <EM>tokens</EM> that represent the kinds of things that can 
-  appear in XML. These include&nbsp;attributes, the start and end of elements, 
-  comments, and so on.&nbsp;Each piece of information in XML is represented by 
-  a <em>token type</em>.</P>
-<P class="notepara"><strong>Note:</strong> For a more complete description of 
-  XML tokens, see <a href="conUnderstandingXMLTokens.html">Understanding XML Tokens</a>.</P>
-<P>For example, the following code loads the&nbsp;XML instance described above 
-  from a <span class="langinline">File</span> object, then creates a new cursor. 
-  The <span class="langinline">toFirstChild</span> takes the cursor to the start 
-  tag of the <span class="langinline">batchWidgetOrder</span> document element. 
-  The code then prints the type for the token at the cursor's location, along 
-  with the XML the cursor represents—in other words, <span class="filepath">Token 
-  type: START /</span> and the <span class="filepath">batchWidgetOrderElement</span> 
-  and its contents.</P>
-<pre>public static void insertCursor(File orderFile) throws Exception 
-{
-    BatchWidgetOrderDocument xmlDoc = BatchWidgetOrderDocument.Factory.parse(orderFile);
-    XmlCursor orderCursor = xmlDoc.newCursor();
-    orderCursor.toFirstChild();
-    System.out.println("Token type: " + orderCursor.currentTokenType() +
-        " / " + orderCursor.xmlText());
-}
-</pre>
-<p class="notepara"><STRONG>Note</STRONG>: The <span class="langinline">XmlCursor</span> 
-  interface provides many methods you can use to put a cursor where you want it. 
-  For a list of those methods, see <a href="../reference/org/apache/xmlbeans/XmlCursor.html">XmlCursor 
-  Interface</a>.</p>
-<h2><a name="adding_elements_attributes" id="adding_elements_attributes"></a>Adding 
-  Elements and Attributes</h2>
-<p>The <span class="langinline">XmlCursor</span> interface provides several methods 
-  you can use to add elements and attributes to XML. </p>
-<p>One way to add new XML is with the <span class="langinline">beginElement</span> 
-  method. This method is designed to insert a new element at the cursor's location, 
-  and do it so the cursor ends up between the new element's START and END tokens. 
-  From this position, you can insert attributes (they're automatically placed 
-  in the start tag, where they belong) and insert a value. Here's an example:</p>
-<pre>
-// Create a new chunk of XML.
-XmlObject newXml = XmlObject.Factory.newInstance();
-/* 
- * Insert a new cursor and move it to the first START token (where the
- * XML actually begins.
- */
-XmlCursor cursor = newXml.newCursor();
-cursor.toNextToken();
-// Begin a new item element whose namespace URI is "http://openuri.org".
-cursor.beginElement(&quot;item&quot;, &quot;http://openuri.org/&quot;);
-// Insert an ID attribute on the item element, along with an attribute value.
-cursor.insertAttributeWithValue(&quot;id&quot;, &quot;4056404&quot;);
-// Insert "bicycle" as an element value.
-cursor.insertChars(&quot;bicycle&quot;);
-cursor.dispose();
-</pre>
-<p>This example results in something like the following:</p>
-<pre>&lt;ns1:item id=&quot;4056404&quot; xmlns:ns1=&quot;http://openuri.org/&quot;&gt;bicycle&lt;/ns1:item&gt;
-</pre>
-<h2> Using Stored Cursor Locations with push() and pop()</h2>
-<div id="topictext"> 
-  <p>When you want to move a cursor around, but want to keep track of a former 
-    location, you can use the <span class="langinline">XmlCursor</span> interface's 
-    <span class="langinline">push</span> and <span class="langinline">pop</span> 
-    methods. The <span class="langinline">push</span> method pushes the cursor's 
-    current location onto a stack of locations maintained for that particular 
-    cursor; the <span class="langinline">pop</span> method removes the location 
-    from the top of the stack and moves the cursor to that location.</p>
-  <p>For example, consider the following &lt;employee&gt; element, used in the 
-    example below.</p>
-  <pre>
-&lt;employee&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;Gladys Kravitz&lt;/name&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&lt;address location=&quot;home&quot;&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;street&gt;1313 Mockingbird Lane&lt;/street&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;city&gt;Seattle&lt;/city&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;state&gt;WA&lt;/state&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;zip&gt;98115&lt;/zip&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&lt;/address&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&lt;address location=&quot;work&quot;&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;street&gt;2011 152nd Avenue NE&lt;/street&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;city&gt;Redmond&lt;/city&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;state&gt;WA&lt;/state&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;zip&gt;98052&lt;/zip&gt;
-&nbsp;&nbsp; &nbsp;&lt;/address&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&lt;phone location=&quot;work&quot;&gt;(425) 555-6897&lt;/phone&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&lt;phone location=&quot;home&quot;&gt;(206) 555-6594&lt;/phone&gt;
-&nbsp;&nbsp;&nbsp;&nbsp;&lt;phone location=&quot;mobile&quot;&gt;(206) 555-7894&lt;/phone&gt;
-&lt;/employee&gt;
-</pre>
-  <p>The following Java code illustrates how you can use <span class="langinline">push</span> 
-    and <span class="langinline">pop</span> to put the cursor back to a saved 
-    location after a bit of traveling.</p>
-  <pre>
-/**
- * Pass to the trySelectPath method an XmlObject instance that contains
- * the XML above.
- */
-public void trySelectPath(XmlObject xml)
-{
-    /* 
-     * Inserts the cursor at the STARTDOC token (the very beginning, 
-     * before any elements).
-     */
-    XmlCursor cursor = xml.newCursor();
-    // Moves the cursor to just before &lt;employee&gt;
-    cursor.toFirstChild();
-    // Pushes the cursor's current location onto the stack.
-    cursor.push();
-    // Moves the cursor to just before the &quot;work&quot; &lt;phone&gt; element.      
-    cursor.toChild(2);
-    // Moves the cursor to just before the &quot;home&quot; &lt;phone&gt; element.
-    cursor.toNextSibling();
-    // Moves the cursor back to just before &lt;employee&gt;
-    cursor.pop();
-}
-</pre>
-  <p>Of course, you can call <span class="langinline">push</span> and <span class="langinline">pop</span> 
-    multiple times. Each new call to the <span class="langinline">push</span> 
-    method pushes the current location onto the stack. As you call the <span class="langinline">pop</span> 
-    method, you're always getting what's on top of the stack. So if you called 
-    <span class="langinline">push</span> three times before calling <span class="langinline">pop</span> 
-    &#8212; 1, 2, 3 &#8212; calling <span class="langinline">pop</span> three 
-    times would get those locations in reverse order &#8212; 3, 2, 1.</p>
-  <p>The <span class="langinline">push</span> and <span class="langinline">pop</span> 
-    methods can be handy as an alternative to creating new cursors that are designed 
-    simply to mark a particular location while you move another cursor around. 
-    The resources required to maintain a location stack through <span class="langinline">push</span> 
-    and <span class="langinline">pop</span> are far less than those needed by 
-    cursors. </p>
-  <H1>Disposing of a Cursor</H1>
-  <p>When you're through with a cursor, your code should call its <span class="langinline">dispose</span> 
-    method to indicate that it's no longer needed.</p>
-  <p class="relatedtopics">Related Topics</p>
-  <p><a href="conUnderstandingXMLTokens.html">Understanding XML Tokens</a></p>
-  <p><a href="conGettingStartedwithXMLBeans.html">Getting Started with XMLBeans</a></p>
-</div>
-<!-- InstanceEndEditable --> 
-<script language="JavaScript">
-
-</script>
-</body>
-</html>
diff --git a/v1/docs/guide/conSelectingXMLwithXQueryPathXPath.html b/v1/docs/guide/conSelectingXMLwithXQueryPathXPath.html
deleted file mode 100644
index a5e13f8..0000000
--- a/v1/docs/guide/conSelectingXMLwithXQueryPathXPath.html
+++ /dev/null
@@ -1,257 +0,0 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
-
-<html>
-<head>
-<!-- InstanceBeginEditable name="doctitle" -->
-<title>Selecting XML with XQuery and XPath</title>
-<!-- InstanceEndEditable --> 
-<!--(Meta)==========================================================-->
-
-<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
-
-
-<!-- InstanceBeginEditable name="metatags" -->
-
-<meta content="your name" name="author">
-<meta content="A description of the topic contents." name="description">
-<meta content="keywords to help in searches" name="keywords">
-<meta content="10/25/02" name="date last modified">
-<!-- InstanceEndEditable -->
-
-<!--(Links)=========================================================-->
-<!-- InstanceBeginEditable name="head" --> 
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<!-- InstanceEndEditable -->
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<a href="../../../core/index.html" id="index"></a>
-<script language="JavaScript" src="../../../core/topicInfo.js"></script>
-<script language="JavaScript" src="../../../core/CookieClass.js"></script>
-<script language="JavaScript" src="../../../core/displayContent.js"></script>
-</head>
-
-<!--(Body)==========================================================-->
-<body>
-<script language="JavaScript">
-
-</script>
-<!-- InstanceBeginEditable name="body" --> 
-<h1> Selecting XML with XQuery and XPath</h1>
-<div id="topictext"> 
-  <p>You can use XQuery and XPath to retrieve specific pieces of XML as you might 
-    retrieve data from a database. XQuery and XPath provide a syntax for specifying 
-    which elements and attributes you're interested in. The XMLBeans API provides 
-    two methods for executing XQuery and XPath expressions, and two differing 
-    ways to use them. The methods are <span class="langinline">selectPath</span> 
-    and <span class="langinline">execQuery</span>, and you can call them from 
-    <a href="../reference/org/apache/xmlbeans/XmlObject.html"><span class="langinline">XmlObject</span></a> 
-    (or an object inheriting from it) or <a href="../reference/org/apache/xmlbeans/XmlCursor.html"><span class="langinline">XmlCursor</span></a>. 
-    The results for the methods differ somewhat. </p>
-  <h2>Using the selectPath Method</h2>
-</div>
-<div>
-  <p>The <span class="langinline">selectPath</span> method is the most efficient 
-    way to execute XPath expressions. The <span class="langinline">selectPath</span> 
-    method is optimized for XPath. When you use XPath with the <span class="langinline">selectPath</span> 
-    method, the value returned is an array of values from the <em>current document</em>. 
-    In contrast, when you use <span class="langinline">execQuery</span>, the value 
-    returned is a <em>new document</em>.</p>
-  <h3>Calling from XmlObject</h3>
-  <p>When called from <span class="langinline">XmlObject</span> (or a type that 
-    inherits from it), this method returns an array of objects. If the expression 
-    is executed against types generated from schema, then the type for the returned 
-    array is one of the Java types corresponding to the schema. </p>
-  <p>For example, imagine you have the following XML containing employee information. 
-    You've compiled the schema describing this XML and the types generated from 
-    schema are available to your code.</p>
-<pre>
-&lt;xq:employees xmlns:xq=&quot;http://openuri.org/selectPath&quot;&gt;
-    &lt;xq:employee&gt;
-        &lt;xq:name&gt;Fred Jones&lt;/xq:name&gt;
-        &lt;xq:address location=&quot;home&quot;&gt;
-            &lt;xq:street&gt;900 Aurora Ave.&lt;/xq:street&gt;
-            &lt;xq:city&gt;Seattle&lt;/xq:city&gt;
-            &lt;xq:state&gt;WA&lt;/xq:state&gt;
-            &lt;xq:zip&gt;98115&lt;/xq:zip&gt;
-        &lt;/xq:address&gt;
-        &lt;xq:address location=&quot;work&quot;&gt;
-            &lt;xq:street&gt;2011 152nd Avenue NE&lt;/xq:street&gt;
-            &lt;xq:city&gt;Redmond&lt;/xq:city&gt;
-            &lt;xq:state&gt;WA&lt;/xq:state&gt;
-            &lt;xq:zip&gt;98052&lt;/xq:zip&gt;
-        &lt;/xq:address&gt;
-        &lt;xq:phone location=&quot;work&quot;&gt;(425)555-5665&lt;/xq:phone&gt;
-        &lt;xq:phone location=&quot;home&quot;&gt;(206)555-5555&lt;/xq:phone&gt;
-        &lt;xq:phone location=&quot;mobile&quot;&gt;(206)555-4321&lt;/xq:phone&gt;
-    &lt;/xq:employee&gt;
-&lt;/xq:employees&gt;
-</pre>
-  If you wanted to find the phone numbers whose area code was 206, you could capture 
-  the XPath expression in this way: 
-  <pre>
-String queryExpression =
-    &quot;declare namespace xq='http://openuri.org/selectPath'&quot; +
-    &quot;$this/xq:employees/xq:employee/xq:phone[contains(., '(206)')]&quot;
-</pre>
-  <p>Notice in the query expression that the variable <span class="langinline">$this</span> 
-    represents the current context node (the <span class="langinline">XmlObject</span> 
-    that you are querying from). In this example you are querying from the document 
-    level <span class="langinline">XmlObject</span>.</p>
-  <p>You could then print the results with code such as the following:</p>
-  <pre>
-/* 
- * Retrieve the matching phone elements and assign the results to the corresponding
- * generated type.
- */
-PhoneType[] phones = (PhoneType[])empDoc.selectPath(queryExpression);
-/*
- * Loop through the results, printing the value of the phone element.
- */
-for (int i = 0; i < phones.length; i++)
-{
-    System.out.println(phones[i].stringValue());
-}  </pre>
-
-  <h3>Calling from XmlCursor</h3>
-  <p>When called from an <span class="langinline">XmlCursor</span> instance, the 
-    <span class="langinline">selectPath</span> method retrieves a list of selections, 
-    or locations in the XML. The selections are remembered by the cursor instance. 
-    You can use methods such as <span class="langinline">toNextSelection</span> 
-    to navigate among them.</p>
-  <div>
-    <p>The <span class="langinline">selectPath</span> method takes an XPath expression. 
-      If the expression returns any results, each of those results is added as 
-      a selection to the cursor's list of selections. You can move through these 
-      selections in the way you might use <span class="langinline">java.util.Iterator</span> 
-      methods to move through a collection.</p>
-    <p> For example, for a path such as <span class="langinline">$this/employees/employee</span>, 
-      the results would include a selection for each employee element found by 
-      the expression. Note that the variable <span class="langinline">$this</span> 
-      is always bound to the current context node, which in this example is the 
-      document. After calling the <span class="langinline">selectPath</span> method, 
-      you would use various &quot;selection&quot;-related methods to work with 
-      the results. These methods include:</p>
-  </div>
-  <ul>
-    <li> 
-      <div><span class="langinline">getSelectionCount() </span>to retrieve the 
-        number of selections resulting from the query.</div>
-    </li>
-    <li> 
-      <div> <span class="langinline">toNextSelection()</span> to move the cursor 
-        to the next selection in the list (such as to the one pointing at the 
-        next employee element found).</div>
-    </li>
-    <li> 
-      <div> <span class="langinline">toSelection(int)</span> to move the cursor 
-        to the selection at the specified index (such as to the third employee 
-        element in the selection).</div>
-    </li>
-    <li> 
-      <div> <span class="langinline">hasNextSelection()</span> to find out if 
-        there are more selections after the cursor's current position.</div>
-    </li>
-    <li> 
-      <div><span class="langinline"> clearSelections()</span> clears the selections 
-        from the current cursor. This doesn't modify the document (in other words, 
-        it doesn't delete the selected XML); it merely clears the selection list 
-        so that the cursor is no longer keeping track of those positions.</div>
-    </li>
-  </ul>
-  <div>
-    <p>The following example shows how you might use <span class="langinline">selectPath</span>, 
-      in combination with the <span class="langinline">push</span> and <span class="langinline">pop</span> 
-      methods, to maneuver through XML, retrieving specific values. </p>
-    <pre>
-public void printZipsAndWorkPhones(XmlObject xml)
-{
-    // Declare the namespace that will be used.
-    String xqNamespace = 
-        &quot;declare namespace xq='http://openuri.org/selectPath'&quot;;
-
-    // Insert a cursor and move it to the first element.
-    XmlCursor cursor = xml.newCursor();
-    cursor.toFirstChild();
-    /* 
-     * Save the cursor's current location by pushing it 
-     * onto a stack of saved locations.
-     */
-    cursor.push();
-    // Query for zip elements.
-    cursor.selectPath(xqNamespace + &quot;$this//xq:zip&quot;);
-    /* 
-     * Loop through the list of selections, getting the value of 
-     * each element.
-     */
-    while (cursor.toNextSelection())
-    {
-        System.out.println(cursor.getTextValue());
-    }
-    // Pop the saved location off the stack.
-    cursor.pop();
-    // Query again from the top, this time for work phone numbers.
-    cursor.selectPath(xqNamespace + &quot;$this//xq:phone[@location='work']&quot;);
-    /* 
-     * Move the cursor to the first selection, them print that element's
-     * value.
-     */
-    cursor.toNextSelection();
-    System.out.println(cursor.getTextValue());
-    // Dispose of the cursor.
-    cursor.dispose();
-}
-</pre>
-    <p>Using selections is somewhat like tracking the locations of multiple cursors 
-      with a single cursor. This becomes especially clear when you remove the 
-      XML associated with a selection. When you do so the selection itself remains 
-      at the location where the removed XML was, but now the selection's location 
-      is immediately before the XML that was after the XML you removed. In other 
-      words, removing XML created a kind of vacuum that was filled by the XML 
-      after it, which shifted up into the space &#8212; up into position immediately 
-      after the selection location. This is exactly the same as if the selection 
-      had been another cursor.</p>
-    <p>Finally, when using selections keep in mind that the list of selections 
-      is in a sense &quot;live&quot;. The cursor you're working with is keeping 
-      track of the selections in the list. In other words, be sure to call the 
-      <span class="langinline">clearSelections</span> method when you're finished 
-      with the selections, just as you should call the <span class="langinline">XmlCursor.dispose()</span> 
-      method when you're finished using the cursor.</p>
-  </div>
-  <h2>Using the execQuery Method</h2>
-  <p>Use the <span class="langinline">execQuery</span> method to execute XQuery 
-    expressions that are more sophisticated than paths. These expressions include 
-    more sophisticated loops and FLWR (For, Let, Where, and Results) expressions. 
-  </p>
-  <p class="notepara"><strong>Note:</strong> Be sure to see the simpleExpressions 
-    sample in the SamplesApp application for a sampling of XQuery expressions 
-    in use.</p>
-  <h3>Calling from XmlObject</h3>
-  <p>Unlike <span class="langinline">selectPath</span>, calling <span class="langinline">execQuery</span> 
-    from an <span class="langinline">XmlObject</span> instance will return an 
-    <span class="langinline">XmlObject</span> array. If the <span class="langinline">XmlObject</span> 
-    instances resulting from the XQuery match a recognized XMLBeans type (the 
-    namespace and top level element name match up with an XMLBeans type) then 
-    the <span class="langinline">XmlObject</span> will be typed; otherwise the 
-    <span class="langinline">XmlObject</span> will be untyped.</p>
-  <h3>Calling from XmlCursor</h3>
-</div>
-  
-<div> 
-  <p>Calling <span class="langinline">execQuery</span> from an <span class="langinline">XmlCursor</span> 
-    instance returns a new <span class="langinline">XmlCursor</span> instance. 
-    The cursor returned is positioned at the beginning of a new xml document representing 
-    the query results, and you can use it to move through the results, cursor-style 
-    (for more information, see <a href="conNavigatingXMLwithCursors.html">Navigating 
-    XML with Cursors</a>). If the document resulting from the query execution 
-    represents a recognized XMLBeans type (the namespace and top level element 
-    name match up with an XMLBeans type) then the document resulting from the 
-    xquery will have that Java type; otherwise the resulting document will be 
-    untyped.</p>
-  <h2>Related Topics</h2>
-</div>
-<p><a href="conGettingStartedwithXMLBeans.html">Getting Started with XMLBeans</a></p>
-<!-- InstanceEndEditable --> 
-<script language="JavaScript">
-
-</script>
-</body>
-</html>
diff --git a/v1/docs/guide/conUnderstandingXMLTokens.html b/v1/docs/guide/conUnderstandingXMLTokens.html
deleted file mode 100644
index b4302f4..0000000
--- a/v1/docs/guide/conUnderstandingXMLTokens.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
-
-<html>
-<head>
-<!-- InstanceBeginEditable name="doctitle" -->
-<title>Understanding XML Tokens</title>
-<!-- InstanceEndEditable --> 
-<!--(Meta)==========================================================-->
-
-<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
-
-
-<!-- InstanceBeginEditable name="metatags" -->
-
-<meta name="component" content="">
-<!-- In the description metatag, please provide a BRIEF description of the topic contents. -->
-<meta name="description" content="">
-<!-- In the component metatag, please list keywords that will help a user search for this topic. -->
-<meta name="keywords" content="">
-<!-- InstanceEndEditable -->
-
-<!--(Links)=========================================================-->
-<!-- InstanceBeginEditable name="head" -->
-<!-- InstanceEndEditable -->
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<a href="../../../core/index.html" id="index"></a>
-<script language="JavaScript" src="../../../core/topicInfo.js"></script>
-<script language="JavaScript" src="../../../core/CookieClass.js"></script>
-<script language="JavaScript" src="../../../core/displayContent.js"></script>
-</head>
-
-<!--(Body)==========================================================-->
-<body>
-<script language="JavaScript">
-
-</script>
-<!-- InstanceBeginEditable name="body" --> 
-<div id=topictitle> 
-  <p class=Title>Understanding XML Tokens</p>
-</div>
-<div id=topictext> 
-  <p>An XML cursor (an instance of the <a href="../reference/org/apache/xmlbeans/XmlCursor.html"><span class="langinline">XmlCursor</span></a> 
-    interface) moves from token to token as your code moves the cursor. When you 
-    move a cursor using a method such as <span class="langinline">toParent</span>, 
-    <span class="langinline">toFirstAttribute</span>, <span class="langinline">toPrevSibling</span>, 
-    and so on, the cursor moves to the token fitting the description. If there 
-    is no appropriate token to move to, the cursor remains where it is, and <span class="langinline">false</span> 
-    is returned to indicate that it didn't move. For example, if the cursor is 
-    at the ENDDOC token (the last tag in the document), a call to the <span class="langinline">toNextSibling</span> 
-    method will not move the cursor and will return <span class="langinline">false</span> 
-    to indicate that the move was unsuccessful.</p>
-  <p>Note that while you can call the <span class="langinline">XmlCursor.currentTokenType</span> 
-    method to find out which token type the cursor is at, you might find it more 
-    convenient to use a method such as <span class="langinline">isEnddoc</span>. 
-    The <span class="langinline">XmlCursor</span> interface provides several methods 
-    that make it easy to discover whether the cursor you're moving is at the token 
-    you're looking for. These methods, such as <span class="langinline">isStart</span>, 
-    <span class="langinline">isAttr</span>, <span class="langinline">isText</span>, 
-    and so on, return a <span class="langinline">boolean</span> value that indicates 
-    whether the cursor is at the token type in question.</p>
-  <P>Tokens are represented by constants in the <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlCursor.TokenType.html">TokenType</a></span> 
-    class, an inner class of the <span class="langinline">XmlCursor</span> interface. 
-    Each has a constant you can use in switch statements to perform by-token actions. 
-    The following table lists the token types:</P>
-  <TABLE id="Table1">
-    <TR> 
-      <TD><STRONG>Token Type</STRONG></TD>
-      <TD><STRONG>Switch Constant</STRONG></TD>
-      <TD><STRONG>Description</STRONG></TD>
-    </TR>
-    <TR> 
-      <TD>STARTDOC</TD>
-      <TD>INT_STARTDOC</TD>
-      <TD>Represents the start of the XML. Always the first token. The document 
-        element itself is represented by a START token, not the STARTDOC token.</TD>
-    </TR>
-    <TR> 
-      <TD>ENDDOC </TD>
-      <TD>INT_ENDDOC</TD>
-      <TD>Represents the end of the XML. Always the last token.</TD>
-    </TR>
-    <TR> 
-      <TD>START </TD>
-      <TD>INT_START</TD>
-      <TD>Represents the start of an element.</TD>
-    </TR>
-    <TR> 
-      <TD>END </TD>
-      <TD>INT_END</TD>
-      <TD>Represents the end of an element. The END token has no value, but marks 
-        the element's end.</TD>
-    </TR>
-    <TR> 
-      <TD>TEXT</TD>
-      <TD>INT_TEXT</TD>
-      <TD>Represents text.</TD>
-    </TR>
-    <TR> 
-      <TD>ATTR </TD>
-      <TD>INT_ATTR</TD>
-      <TD>Represents an attribute. ATTR tokens are allowed to appear after a STARTDOC 
-        or START token.</TD>
-    </TR>
-    <TR> 
-      <TD>NAMESPACE</TD>
-      <TD>INT_NAMESPACE</TD>
-      <TD>Represents a namespace (xmlns) attribute. Also only allowed after START 
-        or STARTDOC tokens.</TD>
-    </TR>
-    <TR> 
-      <TD>COMMENT </TD>
-      <TD>INT_COMMENT</TD>
-      <TD>Represents a comment.</TD>
-    </TR>
-    <TR> 
-      <TD>PROCINST </TD>
-      <TD>INT_PROCINST</TD>
-      <TD>Represents a processing instruction.</TD>
-    </TR>
-  </TABLE>
-  <P>As you use a cursor to navigate through XML, you can use one of the convenience 
-    methods described above to discover whether you're at the token you're looking 
-    for, or use the <span class="langinline">XmlCursor.currentTokenType</span>&nbsp;method 
-    to discover the current token's type. The following figure illustrates example 
-    locations for token types:</P>
-  <P><IMG src="../images/conCursorTokenLocations.gif" width="727" height="532">
-  <h2>Switching to Test for Token Types</h2>
-  <p>Here's a bit of code illustrating how you might use a Java <span class="langinline">switch</span> 
-    statement to test for the START token type.</p>
-  <pre>
-// Take an incoming XmlObject and insert a cursor.
-XmlCursor documentCursor = xmlDoc.newCursor();
- 
-/* 
- * Loop through the document, passing the cursor when it stops at each token 
- * to a function designed to discover the token type. Continue the loop
- * as long at the cursor is at a token (until it reaches the end).
- */
-while (!documentCursor.toNextToken().isNone()) 
-{
-    /*
-     * Use the intValue method to return the int corresponding to the 
-	 * current token type. If it is the value for INT_START,
-	 * then you have a match.
-	 */
-    switch (cursor.currentTokenType().intValue())
-    {        
-        case TokenType.INT_START:
-        // Print out the token type and a message.
-        System.out.println(cursor.currentTokenType() + 
-            "; cursor is at the start of an element.");
-        break;
-    }
-}
-// Be sure to dispose of a cursor when you're finished.
-documentCursor.dispose();
-</pre>
-  <p>The scope of an XML cursor is the XML document in which it is created. For 
-    example, you can create a cursor at the orderItem element in the example earlier 
-    in this topic. If you then use that <span class="langinline">XmlCursor</span> 
-    instance's <span class="langinline">toNextToken</span> method to move the 
-    cursor until it won't move any further, you'll have reached the ENDDOC token. 
-    In this example, that's at the <span class="langinline">&lt;/batchWidgetOrder&gt;</span> 
-    tag. In other words, the cursor's scope is not limited to the element at which 
-    it was created.</p>
-  <p class=relatedtopics>Related Topics</p>
-  <p><a href="../reference/org/apache/xmlbeans/XmlCursor.TokenType.html">XmlCursor.TokenType 
-    Class</a></p>
-  <p><a href="conNavigatingXMLwithCursors.html">Navigating XML with Cursors</a></p>
-</div>
-<!-- InstanceEndEditable -->
-<script language="JavaScript">
-
-</script>
-</body>
-</html>
diff --git a/v1/docs/guide/conUsingBookmarksToAnnotateXML.html b/v1/docs/guide/conUsingBookmarksToAnnotateXML.html
deleted file mode 100644
index 612ee97..0000000
--- a/v1/docs/guide/conUsingBookmarksToAnnotateXML.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
-
-<html>
-<head>
-<!-- InstanceBeginEditable name="doctitle" -->
-<title>Using Bookmarks to Annotate XML</title>
-<!-- InstanceEndEditable --> 
-<!--(Meta)==========================================================-->
-
-<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
-
-
-<!-- InstanceBeginEditable name="metatags" -->
-
-<meta name="component" content="">
-<!-- In the description metatag, please provide a BRIEF description of the topic contents. -->
-<meta name="description" content="">
-<!-- In the component metatag, please list keywords that will help a user search for this topic. -->
-<meta name="keywords" content="">
-<!-- InstanceEndEditable -->
-
-<!--(Links)=========================================================-->
-<!-- InstanceBeginEditable name="head" -->
-<!-- InstanceEndEditable -->
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<a href="../../../core/index.html" id="index"></a>
-<script language="JavaScript" src="../../../core/topicInfo.js"></script>
-<script language="JavaScript" src="../../../core/CookieClass.js"></script>
-<script language="JavaScript" src="../../../core/displayContent.js"></script>
-</head>
-
-<!--(Body)==========================================================-->
-<body>
-<script language="JavaScript">
-
-</script>
-<!-- InstanceBeginEditable name="body" --> 
-<div id=topictitle> 
-  <p class=Title>Using Bookmarks to Annotate XML</p>
-</div>
-<div id=topictext> 
-  <p>You can use a cursor to insert bookmarks that annotate XML with markers containing 
-    information you design. These bookmarks aren't written into the XML itself, 
-    but in a sense "hang" from the location where it was inserted. In this way 
-    you can associate arbitrary pieces of information with specific parts of the 
-    XML.</p>
-  <P>You design your own bookmark classes by extending <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlCursor.XmlBookmark.html">XmlBookmark</a></span>, 
-    a nested class of <span class="langinline"><a href="../reference/org/apache/xmlbeans/XmlCursor.html">XmlCursor</a></span>. 
-    You can design your bookmark class to contain information specific to your 
-    needs. </P>
-  <P>In the following example, <span class="langinline">OrderBookmark</span> is 
-    an inner class that extends <span class="langinline">XmlCursor.XmlBookmark</span>. 
-    It merely stores a piece of text.</P>
-  <PRE>
-/* 
- * The OrderBookmark class includes a constructor through which you will 
- * insert your bookmark's content. It also includes get and set methods
- * you can use to retrieve and change the content.
- */
-static class OrderBookmark extends XmlCursor.XmlBookmark {
-    public OrderBookmark (String text) { TEXT = text; }
-    public String TEXT;
-    public String getText() { return TEXT; }
-    public void setText(String newText) { TEXT = newText; }
-}
-</PRE>
-  <p>You can use instances of this class to store bookmarks at places in your 
-    XML. The following excerpt of code creates a cursor and an instance of the 
-    <span class="langinline">OrderBookmark</span> class. Then it uses the cursor 
-    to insert the bookmark at the cursor's current location.</p>
-  <pre>
-    XmlCursor orderCursor = xmlDoc.newCursor();
-    OrderBookmark thisBookmark = new OrderBookmark("foo");
-    orderCursor.setBookmark(thisAnnotation);
-</pre>
-  <p class=relatedtopics>Related Topics</p>
-  <p><a href="conNavigatingXMLwithCursors.html">Navigating XML with Cursors</a></p>
-</div>
-<!-- InstanceEndEditable -->
-<script language="JavaScript">
-
-</script>
-</body>
-</html>
diff --git a/v1/docs/guide/conXMLBeansSupportBuiltInSchemaTypes.html b/v1/docs/guide/conXMLBeansSupportBuiltInSchemaTypes.html
deleted file mode 100644
index 337759e..0000000
--- a/v1/docs/guide/conXMLBeansSupportBuiltInSchemaTypes.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
-
-<html>
-<head>
-<!-- InstanceBeginEditable name="doctitle" -->
-<title>Java Types for XML Schema</title>
-<!-- InstanceEndEditable --> 
-<!--(Meta)==========================================================-->
-
-<meta http-equiv=Content-Type content="text/html; charset=$CHARSET;">
-
-
-<!-- InstanceBeginEditable name="metatags" -->
-
-<meta name="author" content="your name">
-<meta name="description" content="A description of the topic contents.">
-<meta name="keywords" content="keywords to help in searches">
-<meta name="date last modified" content="10/25/02">
-<!-- InstanceEndEditable -->
-
-<!--(Links)=========================================================-->
-<!-- InstanceBeginEditable name="head" -->
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<!-- InstanceEndEditable -->
-<link href="../xmlbeans.css" rel="stylesheet" type="text/css">
-<a href="../../../core/index.html" id="index"></a>
-<script language="JavaScript" src="../../../core/topicInfo.js"></script>
-<script language="JavaScript" src="../../../core/CookieClass.js"></script>
-<script language="JavaScript" src="../../../core/displayContent.js"></script>
-</head>
-
-<!--(Body)==========================================================-->
-<body>
-<script language="JavaScript">
-
-</script>
-<!-- InstanceBeginEditable name="body" --> 
-<h1> XMLBeans Support for Built-In Schema Types</h1>
-<p>Just as with types in XML schema, the XMLBeans types based on schema are arranged 
-  in a hierarchy. In general, the hierarchy of XMLBean types mirrors the hierarchy 
-  of the schema types themselves. XML schema types all inherit from <span class="langinline">xs:anyType</span> 
-  (which is at the root of the hierarchy); XMLBeans types inherit from <span class="langinline">XmlObject</span>.</p>
-<p>In XML schema, <span class="langinline">xs:anyType</span> is the root type 
-  for two type categories: built-in and user-derived. Built-in schema types are 
-  common types defined by the XML schema specification. User-derived types are 
-  those you define in your schema. This topic lists the built-in types provided 
-  with XMLBeans. For information about user-derived types and the Java types generated 
-  from them, see <a href="conJavaTypesGeneratedFromUserDerived.html">Java Types Generated 
-  from User-Derived Schema Types</a>.</p>
-<p>The following figure illustrates the hierarchy of types, showing both built-in 
-  schema types and their XMLBeans parallels. Notice, too, that nearly all of the 
-  built-in types are also available as natural Java types.</p>
-<p><img src="../images/conXMLTypeHierarchy.gif" width="865" height="887"> </p>
-<h1>Java Types Representing Built-In Schema Types</h1>
-<p>As you can see from the figure above, all 46 built-in schema types are represented 
-  by an XMLBean type provided with XMLBeans. When using built-in XMLBean types, 
-  keep in mind that:</p>
-<ul>
-  <li> Since <span class="langinline">XmlObject</span> corresponds to the <span class="langinline">xs:anyType</span>, 
-    all Java XMLBean types inherit from <span class="langinline">XmlObject</span>. 
-    Therefore all XMLBean types share the <span class="langinline">XmlObject</span> 
-    interfaceÂ’s ability to create an <span class="langinline">XmlCursor</span> 
-    at the position of the object. They can also render the XML as strings or 
-    streams. 
-  <li> 
-    <div>Where there is a corresponding natural Java type, the XMLBeans type provides 
-      a way to get the underlying XML's value as the natural type. See the table 
-      in this topic for information on how natural Java types map to XMLBeans 
-      types. </div>
-  
-  <li> Values assigned to built-in XMLBeans types are validated in keeping with 
-    the rules of the schema type they represent. So, for example, an attempt to 
-    assign a negative integer value to an <span class="langinline">XmlPositiveInteger</span> 
-    will throw an <span class="langinline">XmlValueOutOfRange</span> exception.</li>
-</ul>
-<div> 
-  <p>The following table lists the built-in schema types, along with their XMLBeans 
-    and natural Java parallels. Unless otherwise noted, natural Java types are 
-    in the <span class="langinline">java.lang</span> package; XMLBean types are 
-    in the <span class="langinline">org.apache.xmlbeans</span> package.</p>
-</div>
-<div id="topictext"> 
-  <table>
-    <tr> 
-      <td width="30%"><strong>Built-In Schema Type</strong></td>
-      <td width="31%"><strong>XMLBean Type</strong></td>
-      <td width="39%"><strong>Natural Java Type</strong></td>
-    </tr>
-    <tr> 
-      <td>xs:anyType</td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlObject.html">XmlObject</a></td>
-      <td> <a href="../reference/org/apache/xmlbeans/XmlObject.html">org.apache.xmlbeans.XmlObject</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#dt-anySimpleType" target="_blank">xs:anySimpleType</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlAnySimpleType.html">XmlAnySimpleType</a></td>
-      <td> <a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI" target="_blank">xs:anyURI</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlAnyURI.html">XmlAnyURI</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#base64Binary" target="_blank">xs:base64Binary</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlBase64Binary.html">XmlBase64Binary</a></td>
-      <td>byte[]</td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#boolean" target="_blank">xs:boolean</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlBoolean.html">XmlBoolean</a></td>
-      <td>boolean</td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#byte" target="_blank">xs:byte</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlByte.html">XmlByte</a></td>
-      <td>byte</td>
-    </tr>
-    <tr> 
-      <td height="17"><a href="http://www.w3.org/TR/xmlschema-2/#date" target="_blank">xs:date</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlDate.html">XmlDate</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html" target="_blank">java.util.Calendar</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#dateTime" target="_blank">xs:dateTime</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlDateTime.html">XmlDateTime</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html" target="_blank">java.util.Calendar</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#decimal" target="_blank">xs:decimal</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlDecimal.html">XmlDecimal</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html" target="_blank">java.math.BigDecimal</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#double" target="_blank">xs:double</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlDouble.html">XmlDouble</a></td>
-      <td>double</td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#duration" target="_blank">xs:duration</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlDuration.html">XmlDuration</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/GDuration.html">org.apache.xmlbeans.GDuration</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#ENTITIES" target="_blank">xs:ENTITIES</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlENTITIES.html">XmlENTITIES</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#ENTITY" target="_blank">xs:ENTITY</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlENTITY.html">XmlENTITY</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#float" target="_blank">xs:float</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlFloat.html">XmlFloat</a></td>
-      <td>float</td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#gDay" target="_blank">xs:gDay</a></td>
-      <td><p><a href="../reference/org/apache/xmlbeans/XmlGDay.html">XmlGDay</a></p></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html" target="_blank">java.util.Calendar</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#gMonth" target="_blank">xs:gMonth</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlGMonth.html">XmlGMonth</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html" target="_blank">java.util.Calendar</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#gMonthDay" target="_blank">xs:gMonthDay</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlGMonthDay.html">XmlGMonthDay</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html" target="_blank">java.util.Calendar</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#gYear" target="_blank">xs:gYear</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlGYear.html">XmlGYear</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html" target="_blank">java.util.Calendar</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#gYearMonth" target="_blank">xs:gYearMonth</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlGYearMonth.html">XmlGYearMonth</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html" target="_blank">java.util.Calendar</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#hexBinary" target="_blank">xs:hexBinary</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlHexBinary.html">XmlHexBinary</a></td>
-      <td>byte[]</td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#ID" target="_blank">xs:ID</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlID.html">XmlID</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#IDREF" target="_blank">xs:IDREF</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlIDREF.html">XmlIDREF</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#IDREFS" target="_blank">xs:IDREFS</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlIDREFS.html">XmlIDREFS</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#int" target="_blank">xs:int</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlInt.html">XmlInt</a></td>
-      <td>int</td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#integer" target="_blank">xs:integer</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlInteger.html">XmlInteger</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html" target="_blank">java.math.BigInteger</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#language" target="_blank">xs:language</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlLanguage.html">XmlLanguage</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#long" target="_blank">xs:long</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlLong.html">XmlLong</a></td>
-      <td>long</td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#Name" target="_blank">xs:Name</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlName.html">XmlName</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#NCName" target="_blank">xs:NCName</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlNCName.html">XmlNCNAME</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#negativeInteger" target="_blank">xs:negativeInteger</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlNegativeInteger.html">XmlNegativeInteger</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html" target="_blank">java.math.BigInteger</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#NMTOKEN" target="_blank">xs:NMTOKEN</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlNMTOKEN.html">XmlNMTOKEN</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#NMTOKENS" target="_blank">xs:NMTOKENS</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlNMTOKENS.html">XmlNMTOKENS</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger" target="_blank">xs:nonNegativeInteger</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlNonNegativeInteger.html">XmlNonNegativeInteger</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html" target="_blank">java.math.BigInteger</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger" target="_blank">xs:nonPositiveInteger</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlNonPositiveInteger.html">XmlNonPositiveInteger</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html" target="_blank">java.math.BigInteger</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#normalizedString" target="_blank">xs:normalizedString</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlNormalizedString.html">XmlNormalizedString</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#NOTATION" target="_blank">xs:NOTATION</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlNOTATION.html">XmlNOTATION</a></td>
-      <td> Not supported</td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#positiveInteger" target="_blank">xs:positiveInteger</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlPositiveInteger.html">XmlPositiveInteger</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html" target="_blank">java.math.BigInteger</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#QName" target="_blank">xs:QName</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlQName.html">XmlQName</a></td>
-      <td><a href="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html" target="_blank">javax.xml.namespace.QName</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#short" target="_blank">xs:short</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlShort.html">XmlShort</a></td>
-      <td>short</td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#string" target="_blank">xs:string</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlString.html">XmlString</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#time" target="_blank">xs:time</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlTime.html">XmlTime</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html" target="_blank">java.util.Calendar</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#token" target="_blank">xs:token</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlToken.html">XmlToken</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html" target="_blank">String</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedByte" target="_blank">xs:unsignedByte</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlUnsignedByte.html">XmlUnsignedByte</a></td>
-      <td>short</td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedInt" target="_blank">xs:unsignedInt</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlUnsignedInt.html">XmlUnsignedInt</a></td>
-      <td>long</td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedLong" target="_blank">xs:unsignedLong</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlUnsignedLong.html">XmlUnsignedLong</a></td>
-      <td><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html" target="_blank">java.math.BigInteger</a></td>
-    </tr>
-    <tr> 
-      <td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedShort" target="_blank">xs:unsignedShort</a></td>
-      <td><a href="../reference/org/apache/xmlbeans/XmlUnsignedShort.html">XmlUnsignedShort</a></td>
-      <td>int</td>
-    </tr>
-  </table>
-</div>
-<div> 
-  <p class="relatedtopics">Related Topics</p>
-  <p><a href="conGettingStartedwithXMLBeans.html">Getting Started with XMLBeans</a></p>
-</div>
-<!-- InstanceEndEditable --> 
-<script language="JavaScript">
-
-</script>
-</body>
-</html>
diff --git a/v1/docs/images/conCursorTokenLocations.gif b/v1/docs/images/conCursorTokenLocations.gif
deleted file mode 100644
index de66d38..0000000
--- a/v1/docs/images/conCursorTokenLocations.gif
+++ /dev/null
Binary files differ
diff --git a/v1/docs/images/conXMLTypeHierarchy.gif b/v1/docs/images/conXMLTypeHierarchy.gif
deleted file mode 100644
index 970c326..0000000
--- a/v1/docs/images/conXMLTypeHierarchy.gif
+++ /dev/null
Binary files differ
diff --git a/v1/docs/stylesheet.css b/v1/docs/stylesheet.css
deleted file mode 100644
index 301d803..0000000
--- a/v1/docs/stylesheet.css
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Javadoc style sheet */
-
-/* Define colors, fonts and other style attributes here to override the defaults */
-
-/* Page background color */
-body { 	
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	background-color: #FFFFFF 
-}
-
-body {
-/*	padding: 0px 0px 0px 15px; */
-	background: #ffffff;
-	color: #00000;
-	font-size: 80%;
-}
-
-/* Table colors */
-.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
-.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
-.TableRowColor         { background: #FFFFFF } /* White */
-
-/* Font used in left-hand frame lists */
-.FrameTitleFont   { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
-.FrameHeadingFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
-.FrameItemFont    { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
-
-/* Example of smaller, sans-serif font in frames */
-/* .FrameItemFont  { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
-
-/* Navigation bar fonts and colors */
-.NavBarCell1    { background-color:#EEEEFF;}/* Light mauve */
-.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
-.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
-.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
-
-.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
-.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
-
diff --git a/v1/docs/xmlbeans.css b/v1/docs/xmlbeans.css
deleted file mode 100644
index 6662061..0000000
--- a/v1/docs/xmlbeans.css
+++ /dev/null
@@ -1,482 +0,0 @@
-/*  The styles most likely to be used are:
-	- Title: The title of the topic
-	- h1, h2, h3: First, second, and third-level headings within the body of a topic
-	- relatedTopics: Related Topics
-	- procTitle: Within How Do I:... topics, for headings within the body of a topic that are followed by
-	  bulleted procedures ("To do this").
-	- pre: For code blocks
-	- langinline: For code fragments within a (non-code) regular section.
-	- notepara: Notes	 
-*/
-h1,
-h2,
-h3,
-h4,
-h5,
-p,
-proctitle,
-relatedtopics {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	color: #000000;
-}
-
-/* Use h1 for all first-level headings within the body of a topic. 
-   For the topic title, use the Title style. */
-h1 {
-	font-size: 135%;
-	margin-top: .5em;
-	margin-bottom: .5em;
-}
-
-/* Use h2 for all second-level headings. */
-h2 {
-	font-size: 125%;
-	margin-top: 1em;
-	margin-bottom: .6em;
-}
-
-/* Use h3 for all third-level headings. */
-h3 {
-	font-size: 110%;
-	margin-top: 1em;
-	margin-bottom: .6em;
-}
-
-/* Use h4 for all fourth-level headings. 
-   Note: this style looks identical to the relatedtopics and proctitle styles. */
-h4 {
-	font-size: 105%;
-	margin-top: 1em;
-	margin-bottom: .6em;
-}
-
-/* Use h5 for all fifth-level heading.  
-   Currently, there are no h5s in use in the document.*/
-h5 {
-	font-size: 100%;
-	margin-top: 1em;
-	margin-bottom: .6em;
-}
-
-/* Use the Title style for the title of a topic. */
-p.Title {
-	font-weight: bold;
-	font-style: normal;
-	font-family: Verdana, sans-serif;
-	font-size: 142%;
-}
-
-/* This deprated tag creates a div that designates the title. */
-#topictitle {
-}
-
-/* This deprecated tag creates a dive that designates all body text. */
-#topictext {
-}
-
-/* Used for figure captions.*/
-p.arttitle {
-	font-weight: Bold;
-}
-  
-/* The attribute style resembles the navtitle and partdesc styles in that it keeps the next paragraph 
-   flush with it. Use it when you list the attributes of syntax in a reference topic.
-   The argument style should always be followed by the partdesc style. */
-p.attribute {
-	margin-top: .6em;
-	margin-bottom: 0px;
-	font-weight: Bold;
-	
-}
-
-/* Standard HTML tag. */
-body {
-	padding: 0px 0px 0px 15px;
-	background: #ffffff;
-	color: #00000;
-	font-size: 80%;
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-}
-
-/* Standard HTML tag. */
-span.bold {
-	font-weight: Bold;
-}
-
-/* Standard HTML tag. */
-blockquote {
-	margin: 0em 0em 0em 2em;
-	padding: 0px;
-}
-
-/* Use the filepath style to designate file paths. It is currently a monospace file. */
-span.filepath {
-	font: 100% Courier New Courier mono;
-	font-family: "Courier New", monospace;
-}
-
-/* The langinline style, like userinput and filepath, also renders text monospace. Use this
-   to denote any individual instance of code in the context of non-coded text. For example, 
-   you would use this to denote the name of a class when you're describing it in the paragraph that
-   precedes a code sample. To denote a code sample, however, use the <pre> tag. */
-span.langinline {
-	font: 100% Courier New Courier mono;
-	font-family: "Courier New", monospace;
-}
-
-/* The listplain style narrows the margin between the formatted line and the one before it.
-   It is to be used when creating a second paragraph in a list item, along with the indent and
-   unindent buttons in Dreamweaver. */
-p.listplain {
-	margin-top: 0.7em;
-	margin-bottom: 0;
-	padding: 0em;
-}
-
-/* All text in the navtitle style should include a link to another topic.
-   The navtitle style is used in navigational node topics, in Class reference
-   topics, and in Method reference topics. For example, in the "Topics 
-   Included in this Section" section of a navigation topic, you include the links to all of 
-   the topics in that chapter, along with a brief description of what you'll find in each. Use the
-   navtitle style for the linked text. It differs from a normal paragraph style in that it does not 
-   include an extra paragraph break between the link and the descriptive text. */
-p.navtitle {
-	margin-top: .6em;
-	margin-bottom: 0em;
-}
-
-/* The navdesc style is used in navigational node topics, in Class reference
-   topics, and in Method reference topics. For example, in the "Topics Included in this Section" 
-   section of a navigation topic, you include the links to all of the topics in that chapter,
-   along with a brief description of what you'll find in each. Use this style for the descriptive text. 
-   It indents the text one tab stop and keeps the margin between this style and the navtitle style small.  */
-p.navdesc {
-	margin-bottom: 1em;
-	margin-left: 1.9em;
-	margin-top: 0em;
-}
-
-/* The notepara style indents your text to the tab stop for note
-   text. You should always begin Note text with the word "Note:" in
-   boldface. */
-p.notepara {
-	margin-left: 2em;
-	margin-right: 2em;
-	margin-bottom: 1.5em;
-}
-
-/* The partname style resembles the navtitle style in that it keeps the next paragraph flush with it. 
-   You use it when you list the parameters in a reference topic. It is also used currently in the 
-   glossary to designate glossary entries. It renders text italic.
-   The partname style should always be followed by the partdesc style.*/
-p.partname {
-	margin-top: .6em;
-	margin-bottom: 0px;
-	font-style: italic;
-}
-
-/* Use the partdesc style when you describe the function of the properties, parameters, or exceptions 
-   listed in a reference topic. It is also used currently in the glossary to designate glossary 
-   definitions. The style indents the description slightly.
-   The partdesc style should always follow the partname or attribute style.*/
-p.partdesc {
-	margin-bottom: 1em;
-	margin-left: 1.9em;
-	margin-top: 0em;
-
-}
-
-/* The point of the proctitle style is the same as the point of the relatedtopics style.  
-   It applies to all headings that begin with "To [do something]". It looks identical to the h4 style.  */
-p.proctitle {
-	font-size: 110%;
-	margin-top: 1em;
-	margin-bottom: .6em;
-	font-weight: Bold;
-
-}
-
-/* Use the relatedtopics style, for the words "Related Topics" at the end of a topic. 
-   It looks identical to the h4 style. */
-p.relatedtopics {
-	font-size: 120%;
-	margin-top: 1em;
-	margin-bottom: .6em;
-	font-weight: Bold;
-}
-
-/* The syntax style renders text bold. Use it to style all syntax lines under the
-   Syntax heading of reference topics. */
-p.syntax {
-	font-family: monospace;
-	line-height: normal;
-	font-weight: Bold;
-}
-
-/* Use the syntaxindent style to indent sub-properties of syntax declarations. */
-p.syntaxindent {
-	font-family: monospace;
-	line-height: normal;
-	font-weight: Bold;
-	margin-left: 1.5em;
-	margin-top: 0em;
-	margin-bottom: 0px;
-}
-
-
-p.fileurl {
-	font-size: 8pt;
-}
-
-p.modifieddate {
-	font-size: 8pt;
-}
-
-/* The syntaxpartname character style renders text italic. Use it to designate 
-   syntax elements in reference topics.*/
-span.syntaxpartname {
-	font-style: italic;
-	font-weight: normal;
-}
-
-/* These specifications dictate the margins and width of tables. */
-table {
-	width: 90%;
-	margin-top: .6em;
-	margin-bottom: .3em;
-}
-
-/* The background of header cells is grey, and the text is bottom-aligned. */
-th {
-	padding-left: 8px;
-	padding-right: 8px;
-	background: #cccccc;
-	text-align: left;
-	font-size: 80%;
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	vertical-align: bottom;
-}
-
-/* The text in normal table cells is top-aligned. */
-td {
-	padding-left: 8px;
-	padding-right: 8px;
-	background: #ffffff;
-	vertical-align: top;
-	font-size: 80%;
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-}
-
-/* This style creates space above and below table text between paragraph and the table borders. */
-p.tabletext {
-	margin-top: .6em;
-	margin-bottom: .6em;
-}
-
-/* The editor uses this style when creating template guides to designate a style annotation. 
-   You probably won't want to use it anywhere else in the guide. */
-span.template {
-	color: #FF00FF;	
-}
-
-a.toc-node {
-	font-size:11px;
-	color:000000;
-	margin-left: 0px;
-	margin-top: 0px;
-	margin-bottom: 0px;
-    white-space: nowrap;
-    font-family: Tahoma;
-    background-color:#FFFFFF;
-    text-decoration:none;        
-}
-
-/* The userinput style renders text monospace.Use this style to highlight text that a user 
-   types into a text field.  */
-span.userinput {
-	font: 100% Courier New Courier mono;
-	font-family: "Courier New", monospace;
-}
-
-/* Standard HTML tags. */
-ul,
-ol {
-	font-family: Verdana, Arial, Helvetica, sans-serif;
-	list-style-position: outside;
-	list-style-image: none;
-	margin-top: 0em;
-	margin-bottom: 0em;
-}
-
-/* Standard HTML tag. */
-ol {
-	list-style-type: 1;
-	margin-left: 2em;
-}
-
-/* Standard HTML tag. */
-ul {
-	list-style-type: disc;
-	margin-left: 1.5em;
-}
-
-/* Standard HTML tag. */
-li {
-	margin-top: 1.3em; 
-	margin-bottom: 0em;
-}
-
-a:link {
-	color: #3366CC;
-}
-a:hover {
-	x-text-underline: normal;
-	/*begin!kadov{{*/ text-decoration: underline; /*}}end!kadov*/ 
-}
-
-a:active {
-	x-text-underline: normal;
-	/*begin!kadov{{*/ text-decoration: underline; /*}}end!kadov*/ 
-}
-
-a:visited {
-	color: #803380;
-}
-
-a {
-	x-text-underline: off;
-	x-text-overline: off;
-	x-text-line-through: off;
-	/*begin!kadov{{*/ text-decoration: none none none; /*}}end!kadov*/ 
-}
-a:link {
-	color: #3366CC;
-}
-
-a:hover {
-	x-text-underline: normal;
-	/*begin!kadov{{*/ text-decoration: underline; /*}}end!kadov*/ 
-}
-
-a:active {
-	x-text-underline: normal;
-	/*begin!kadov{{*/ text-decoration: underline; /*}}end!kadov*/ 
-}
-
-a:visited {
-	color: #000066;
-}
-
-div.footer {
-}
-
-.buttonclass
-{
-	font-size:10px;
-	height:20px;
-}
-
-.formclass
-{
-	font-size:10px;
-	height:17px;
-}
-
-
-
-
-/*DEPRECATED*/
-p.codeblock {
-	font-size: 100%;
-	font-family: monospace;
-	line-height: 1em;
-	x-text-tab-stops: repeat 1in;
-	white-space: nowrap;
-	color: #000000;
-	cursor: text;
-	padding-right: 1em;
-	padding-left: 1em;
-	padding-top: 0em;
-	padding-bottom: 0em;
-	margin-bottom: 0em;
-	margin-top: 0em;
-	x-text-underline: Off;
-	/*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ 
-}
-
-/* DEPRECATED */
-p.bulletindent1 {
-	margin-left: 1.5em;
-	margin-top: 0;
-	margin-bottom: 0;
-}
-
-/* DEPRECATED */
-p.bulletindent2 {
-	margin-left: 5.1em;
-	margin-top: 0;
-	margin-bottom: 0;
-}
-
-/* DEPRECATED */
-p.bulletindent3 {
-	margin-left: 4.3em;
-}
-
-/* DEPRECATED */
-p.indent1 {
-	margin-left: 1.5em;
-	margin-right: 1.9em;
-}
-
-/* DEPRECATED */
-p.indent2 {
-	margin-left: 2.9em;
-	margin-right: 1.9em;
-}
-
-/* DEPRECATED */
-p.indent3 {
-	margin-left: 4.3em;
-	margin-right: 1.9em;
-}
-
-/* DEPRECATED */
-p.numberedindent1 {
-	margin-left: 2.2em;
-	margin-top: 0;
-	margin-bottom: 0;
-}
-
-/* DEPRECATED */
-p.numberedindent2 {
-	margin-left: 6.3em;
-	margin-top: 0;
-	margin-bottom: 0;
-}
-
-/* DEPRECATED */
-p.numberedindent3 {
-	margin-left: 10.5em;
-	margin-top: 0;
-	margin-bottom: 0;
-}	
-
-/* DEPRECATED */
-p.tabletitle {
-	margin-left: 0;
-	font-weight: Bold;
-}
-
-
-/* These styles are used by the search results page */
-
-.search-node {
-	font-size:10px;
-	color:000000;
-}
-
-a.search-node {
-	font-size:10px;
-	color:000000;
-}
\ No newline at end of file
diff --git a/v1/docs/xmlbeantask.html b/v1/docs/xmlbeantask.html
deleted file mode 100644
index e0c91e5..0000000
--- a/v1/docs/xmlbeantask.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-                     
-  <meta http-equiv="Content-Language" content="en-us">
-  <title>XMLBean Task</title>
-</head>
-  <body>
-            
-<h2><a name="xmlbean">XMLBean</a></h2>
-           
-<h3>Description</h3>
-              
-<p>Compile a set of XSDs and/or WSDLs into xbeans. This is useful for building
- an XMLBean jar from .XSD and .WSDL files. &nbsp;The task can also generate
- the source code that makes up the xbean type system specified by the schema
- files if desired.</p>
-              
-<p><b>Note:</b> This task depends on an external library not included in
-the  Ant distribution called xbean.jar. &nbsp;It can be found in the XMLBeans
- developer kit at <a
- href="http://dev2dev.bea.com/technologies/xmlbeans/">http://dev2dev.bea.com/technologies/xmlbeans/</a>. 
-The build script will need to include a taskdef for xmlbean, which could look
-like this:<br>
- </p>
- 
-<pre>&nbsp;&nbsp;&nbsp; &lt;taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpath="path/to/xbean.jar"/&gt;</pre>
- 
-<p>   </p>
-           
-<p>It is possible to refine the set of files that are being processed. This 
-  can be done with the <i>includes</i>, <i>includesfile</i>, <i>excludes</i>, 
-  <i>excludesfile</i> and <i>defaultexcludes</i> attributes. With the <i>includes</i> 
-  or <i>includesfile</i> attribute you specify the files you want to have 
-included  by using patterns. The <i>exclude</i> or <i>excludesfile</i> attribute 
-is  used to specify the files you want to have excluded. This is also done 
-with  patterns. And finally with the <i>defaultexcludes</i> attribute, you 
-can specify whether you want to use default exclusions or not. See the section 
- on <a
- href="http://ant.apache.org/manual/dirtasks.html#directorybasedtasks">directory
- based tasks</a>, on how the inclusion/exclusion of files works, and how
-to  write patterns.</p>
-           
-<p>This task forms an implicit <a
- href="http://ant.apache.org/manual/CoreTypes/fileset.html">FileSet</a> 
-and supports all   attributes of <code>&lt;fileset&gt;</code> (<code>dir</code> 
-  becomes <code>basedir</code>)   as well as the nested <code>&lt;include&gt;</code>, 
-  <code>&lt;exclude&gt;</code>   and <code>&lt;patternset&gt;</code> elements.</p>
-              
-<h3>Parameters</h3>
-           
-<table border="1" cellpadding="2" cellspacing="0">
-        <tbody>
-         <tr>
-          <td valign="top"><b>Attribute</b></td>
-          <td valign="top"><b>Description</b></td>
-          <td align="center" valign="top"><b>Required</b></td>
-        </tr>
-        <tr>
-          <td valign="top">schema</td>
-          <td valign="top">A file that points to either an individual schema
- file or a directory of files. &nbsp;Not a path reference. &nbsp;If multiple
- schema files need to be built together, use a nexted fileset instead of
-setting  schema.</td>
-          <td align="center" valign="top">Yes, unless a fileset element is
- nested.</td>
-        </tr>
-        <tr>
-          <td valign="top">destfile</td>
-          <td valign="top">Define the name of the jar file created.&nbsp; 
-For instance, "myXMLBean.jar" will output the results of this task into a 
-jar with the same name.</td>
-          <td align="center" valign="top">No, default is "xmltypes.jar".</td>
-        </tr>
-        <tr>
-          <td valign="top">download</td>
-          <td valign="top">Set to true to permit the compiler to download 
-URLs for imports and includes.&nbsp; Defaults to false, meaning all imports 
-and includes must be copied locally.<br>
-        </td>
-          <td align="center" valign="top">No, default is false.</td>
-        </tr>
-        <tr>
-          <td valign="top">failonerror</td>
-          <td valign="top">     Determines whether or not the ant target
-will  continue if the XMLBean creation encounters a build error.<br>
-        </td>
-          <td align="center" valign="top">No, default is true.</td>
-        </tr>
-      <tr>
-        <td valign="top">verbose<br>
-        </td>
-        <td valign="top">Controls the amount of build message output.<br>
-        </td>
-        <td valign="top" align="center">No, default is true.<br>
-        </td>
-      </tr>
-      <tr>
-        <td valign="top">typesystemname<br>
-        </td>
-        <td valign="top">The name of the package that the TypeSystemHolder
-class should be generated in.&nbsp; Normally this should be left unspecified.
-None of the xml beans are generated in this package. Use .xsdconfig files
-to modify xml bean package or class names.<br>
-        </td>
-        <td valign="top" align="center">No<br>
-        </td>
-      </tr>
-      <tr>
-        <td valign="top">classgendir<br>
-        </td>
-        <td valign="top">Set a location to generate .class files into.<br>
-        </td>
-        <td valign="top" align="center">No<br>
-        </td>
-      </tr>
-      <tr>
-        <td valign="top">srconly<br>
-        </td>
-        <td valign="top">A value of true means that only source will be generated.<br>
-        </td>
-        <td valign="top" align="center">No, default is false.<br>
-        </td>
-      </tr>
-      <tr>
-        <td valign="top">srcgendir<br>
-        </td>
-        <td valign="top">Set a location to generate .java files into.<br>
-        </td>
-        <td valign="top" align="center">No<br>
-        </td>
-      </tr>
-      <tr>
-          <td valign="top">classpath</td>
-          <td valign="top">The classpath to use if schemas in the fileset
-import definitions that are supplied by other compiled xml beans JAR files,
-or if .java files are in the schema fileset.  Also supports a nested classpath.</td>
-          <td align="center" valign="top">No</td>
-        </tr>
-        <tr>
-          <td valign="top">classpathref</td>
-          <td valign="top">Adds a classpath, given as <a
- href="http://ant.apache.org/manual/using.html#references">reference</a>
-to a path defined elsewhere.</td>
-          <td align="center" valign="top">No</td>
-        </tr>
-        <tr>
-          <td valign="top">includes</td>
-          <td valign="top">Comma- or space-separated list of patterns of
-files   that must be included.       All files are included when omitted.</td>
-          <td valign="top" align="center">No</td>
-        </tr>
-        <tr>
-          <td valign="top">includesfile</td>
-          <td valign="top">The name of a file. Each line of this file is
-taken   to be       an include pattern</td>
-          <td valign="top" align="center">No</td>
-        </tr>
-        <tr>
-          <td valign="top">excludes</td>
-          <td valign="top">Comma- or space-separated list of patterns of
-files   that must be excluded.       No files (except default excludes) are
-excluded   when omitted.</td>
-          <td valign="top" align="center">No</td>
-        </tr>
-        <tr>
-          <td valign="top">excludesfile</td>
-          <td valign="top">The name of a file. Each line of this file is
-taken   to be       an exclude pattern</td>
-          <td valign="top" align="center">No</td>
-        </tr>
-        <tr>
-          <td valign="top">defaultexcludes</td>
-          <td valign="top">Indicates whether default excludes should be used
-  or not       ("yes"/"no"). Default excludes are used when omitted.</td>
-          <td valign="top" align="center">No</td>
-        </tr>
-        <tr>
-          <td valign="top">debug</td>
-          <td valign="top">Indicates whether source should be compiled with
-          debug information; defaults to <code>off</code>.  If set to
-          <code>off</code>, <code>-g:none</code> will be passed on the
-          command line for compilers that support it (for other compilers, no
-          command line argument will be used).  If set to <code>true</code>,
-          the value of the <code>debuglevel</code> attribute determines the
-          command line argument.</td>
-          <td align="center" valign="top">No</td>
-        </tr>
-        <tr>
-          <td valign="top">debuglevel</td>
-          <td valign="top">Keyword list to be appended to the <code>-g</code>
-            command-line switch.  This will be ignored by all implementations except
-            <code>modern</code> and <code>classic(ver &gt;= 1.2)</code>.
-            Legal values are <code>none</code> or a comma-separated list of the
-            following keywords:
-            <code>lines</code>, <code>vars</code>, and <code>source</code>.
-            If <code>debuglevel</code> is not specified, by default,
-            nothing will be
-            appended to <code>-g</code>.  If <code>debug</code> is not turned on,
-            this attribute will be ignored.
-          </td>
-          <td align="center" valign="top">No</td>
-        </tr>
-        <tr>
-          <td valign="top">optimize</td>
-          <td valign="top">Indicates whether source should be compiled with
-            optimization; defaults to <code>off</code>.</td>
-          <td align="center" valign="top">No</td>
-        </tr>
-        <tr>
-          <td valign="top">includeAntRuntime</td>
-          <td valign="top">Whether to include the Ant run-time libraries in the
-            classpath; defaults to <code>yes</code>.</td>
-          <td align="center" valign="top">No</td>
-        </tr>
-        <tr>
-          <td valign="top">includeJavaRuntime</td>
-          <td valign="top">Whether to include the default run-time
-            libraries from the executing VM in the classpath;
-            defaults to <code>no</code>.</td>
-          <td align="center" valign="top">No</td>
-        </tr>
-        <tr>
-          <td valign="top">fork</td>
-          <td valign="top">Whether to execute <code>javac</code> using the
-            JDK compiler externally; defaults to <code>yes</code>.</td>
-          <td align="center" valign="top">No, default is true</td>
-        </tr>
-        <tr>
-          <td valign="top">executable</td>
-          <td valign="top">Complete path to the <code>javac</code>
-            executable to use in case of <code>fork=&quot;yes&quot;</code>.
-            Defaults to the compiler of the Java version that is currently
-            running Ant.  Ignored if <code>fork=&quot;no&quot;</code></td>
-          <td align="center" valign="top">No</td>
-        </tr>
-        <tr>
-          <td valign="top">memoryInitialSize</td>
-          <td valign="top">The initial size of the memory for the underlying VM,
-            if <code>javac</code> is run externally; ignored otherwise. Defaults
-            to the standard VM memory setting.
-            (Examples: <code>83886080</code>, <code>81920k</code>, or
-            <code>80m</code>)</td>
-          <td align="center" valign="top">No</td>
-        </tr>
-        <tr>
-          <td valign="top">memoryMaximumSize</td>
-          <td valign="top">The maximum size of the memory for the underlying VM,
-            if <code>javac</code> is run externally; ignored otherwise. Defaults
-            to the standard VM memory setting.
-            (Examples: <code>83886080</code>, <code>81920k</code>, or
-            <code>80m</code>)</td>
-          <td align="center" valign="top">No</td>
-        </tr>
-        <tr>
-          <td valign="top">compiler</td>
-          <td valign="top">The compiler implementation to use.
-            If this attribute is not set, the value of the
-            <code>build.compiler</code> property, if set, will be used.
-            Otherwise, the default compiler for the current VM will be used.
-          <td align="center" valign="top">No</td>
-        </tr>
-                    
-  </tbody>     
-</table>
-                 
-<h3>Example</h3>
-           
-<blockquote>               Be sure to define the task in your script, like 
-this:<br>
-   
-  <pre>&lt;taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpath="path/to/xbean.jar"/&gt;</pre>
-   
-  <pre><br>&lt;xmlbean schema="schemas" destfile="Schemas.jar"/&gt;<br></pre>
-  Builds all the schemas in the schemas directory and creates a jar called
- 'Schemas.jar'.<br>
-                    
-  <pre>&lt;xmlbean schema="schemas/ourSchema.xsd" download="true"/&gt;<br></pre>
-  Compiles the schema 'ourShema.xsd' into the default jar 'xmltypes.jar'. 
-&nbsp;If &nbsp;any imports and includes are defined by remote URLs, they are
-downloaded during the build.<br>
-                       
-  <h4>Using a fileset</h4>
-                       
-  <pre>&lt;xmlbean classgendir="${build.dir}" classpath="${class.path}"<br>      failonerror="true"&gt;<br>  &lt;fileset basedir="src" excludes="**/*.xsd"/&gt;<br>  &lt;fileset basedir="schemas" includes="**/*.*"/&gt;<br>&lt;/xmlbean&gt;<br></pre>
-  Gathers all the files in the 'src' directory except .xsd files, along with
- every file in the 'schemas' directory and compiles them. The fileset can
-include schema files that refer to previously compiled schema components.&nbsp;
-The fileset can also contain .java files.&nbsp; The classpath parameter defines
-the classpath necessary to resolve compiled schema and java references.<br>
-  <br>
-The built classes will go into ${build.dir}.<br>
-                       
-  <pre></pre>
-           </blockquote>
-           
-<hr>      
-       <br>
-        <br>
- <br>
-</body>
-</html>
diff --git a/v1/external/lib/junit.jar b/v1/external/lib/junit.jar
deleted file mode 100644
index 6ee43bb..0000000
--- a/v1/external/lib/junit.jar
+++ /dev/null
Binary files differ
diff --git a/v1/external/lib/oldxbean.jar b/v1/external/lib/oldxbean.jar
deleted file mode 100644
index 7b61a52..0000000
--- a/v1/external/lib/oldxbean.jar
+++ /dev/null
Binary files differ
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/Chars.java b/v1/src/common/org/apache/xmlbeans/impl/common/Chars.java
deleted file mode 100644
index 1041d5d..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/Chars.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-public final class Chars
-{
-    public String asString ( )
-    {
-        return
-            string == null
-                ? buffer == null ? "" : new String( buffer, offset, length )
-                : string;
-    }
-
-    public String string;
-
-    public char[] buffer;
-    public int    offset;
-    public int    length;
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/EncodingMap.java b/v1/src/common/org/apache/xmlbeans/impl/common/EncodingMap.java
deleted file mode 100644
index 841b42c..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/EncodingMap.java
+++ /dev/null
@@ -1,441 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-public class EncodingMap
-{
-    public static String getJava2IANAMapping ( String java )
-    {
-        return (String) _java_to_iana.get( java.toUpperCase() );
-    }
-    
-    public static String getIANA2JavaMapping ( String iana )
-    {
-        return (String) _iana_to_java.get( iana.toUpperCase() );
-    }
-
-    private EncodingMap ( ) { }
-    
-    private final static HashMap _iana_to_java = new HashMap();
-    private final static HashMap _java_to_iana = new HashMap();
-
-    private final static void addMapping (
-        String java, String iana, boolean isDefault )
-    {
-        assert !_iana_to_java.containsKey( iana );
-        assert java.toUpperCase().equals( java );
-        assert iana.toUpperCase().equals( iana );
-        
-        _iana_to_java.put( iana, java );
-
-        if (isDefault)
-        {
-            assert !_java_to_iana.containsKey( java );
-            _java_to_iana.put( java, iana );
-        }
-    }
-
-    private final static boolean completeMappings ( )
-    {
-        HashMap m = new HashMap();
-
-        for ( Iterator i = _iana_to_java.keySet().iterator() ; i.hasNext() ; )
-            m.put( _iana_to_java.get( i.next() ), null );
-
-        for ( Iterator i = m.keySet().iterator() ; i.hasNext() ; )
-        {
-            Object k = i.next();
-            assert _java_to_iana.containsKey( k ): k;
-        }
-
-        return true;
-    }
-
-    static
-    {
-        addMapping( "ASCII",         "ANSI_X3.4-1986",         false );
-        addMapping( "ASCII",         "ASCII",                  true  );
-        addMapping( "ASCII",         "CP367",                  false );
-        addMapping( "ASCII",         "CSASCII",                false );
-        addMapping( "ASCII",         "IBM-367",                false );
-        addMapping( "ASCII",         "IBM367",                 false );
-        addMapping( "ASCII",         "ISO-IR-6",               false );
-        addMapping( "ASCII",         "ISO646-US",              false );
-        addMapping( "ASCII",         "ISO_646.IRV:1991",       false );
-        addMapping( "ASCII",         "US",                     false );
-        addMapping( "ASCII",         "US-ASCII",               false );
-        addMapping( "BIG5",          "BIG5",                   true  );
-        addMapping( "BIG5",          "CSBIG5",                 false );
-        addMapping( "CP037",         "CP037",                  false );
-        addMapping( "CP037",         "CSIBM037",               false );
-        addMapping( "CP037",         "EBCDIC-CP-CA",           false );
-        addMapping( "CP037",         "EBCDIC-CP-NL",           false );
-        addMapping( "CP037",         "EBCDIC-CP-US",           true  );
-        addMapping( "CP037",         "EBCDIC-CP-WT",           false );
-        addMapping( "CP037",         "IBM-37",                 false );
-        addMapping( "CP037",         "IBM037",                 false );
-        addMapping( "CP1026",        "CP1026",                 false );
-        addMapping( "CP1026",        "CSIBM1026",              false );
-        addMapping( "CP1026",        "IBM-1026",               false );
-        addMapping( "CP1026",        "IBM1026",                true  );
-        addMapping( "CP1047",        "CP1047",                 false );
-        addMapping( "CP1047",        "IBM-1047",               false );
-        addMapping( "CP1047",        "IBM1047",                true  );
-        addMapping( "CP1140",        "CCSID01140",             false );
-        addMapping( "CP1140",        "CP01140",                false );
-        addMapping( "CP1140",        "IBM-1140",               false );
-        addMapping( "CP1140",        "IBM01140",               true  );
-        addMapping( "CP1141",        "CCSID01141",             false );
-        addMapping( "CP1141",        "CP01141",                false );
-        addMapping( "CP1141",        "IBM-1141",               false );
-        addMapping( "CP1141",        "IBM01141",               true  );
-        addMapping( "CP1142",        "CCSID01142",             false );
-        addMapping( "CP1142",        "CP01142",                false );
-        addMapping( "CP1142",        "IBM-1142",               false );
-        addMapping( "CP1142",        "IBM01142",               true  );
-        addMapping( "CP1143",        "CCSID01143",             false );
-        addMapping( "CP1143",        "CP01143",                false );
-        addMapping( "CP1143",        "IBM-1143",               false );
-        addMapping( "CP1143",        "IBM01143",               true  );
-        addMapping( "CP1144",        "CCSID01144",             false );
-        addMapping( "CP1144",        "CP01144",                false );
-        addMapping( "CP1144",        "IBM-1144",               false );
-        addMapping( "CP1144",        "IBM01144",               true  );
-        addMapping( "CP1145",        "CCSID01145",             false );
-        addMapping( "CP1145",        "CP01145",                false );
-        addMapping( "CP1145",        "IBM-1145",               false );
-        addMapping( "CP1145",        "IBM01145",               true  );
-        addMapping( "CP1146",        "CCSID01146",             false );
-        addMapping( "CP1146",        "CP01146",                false );
-        addMapping( "CP1146",        "IBM-1146",               false );
-        addMapping( "CP1146",        "IBM01146",               true  );
-        addMapping( "CP1147",        "CCSID01147",             false );
-        addMapping( "CP1147",        "CP01147",                false );
-        addMapping( "CP1147",        "IBM-1147",               false );
-        addMapping( "CP1147",        "IBM01147",               true  );
-        addMapping( "CP1148",        "CCSID01148",             false );
-        addMapping( "CP1148",        "CP01148",                false );
-        addMapping( "CP1148",        "IBM-1148",               false );
-        addMapping( "CP1148",        "IBM01148",               true  );
-        addMapping( "CP1149",        "CCSID01149",             false );
-        addMapping( "CP1149",        "CP01149",                false );
-        addMapping( "CP1149",        "IBM-1149",               false );
-        addMapping( "CP1149",        "IBM01149",               true  );
-        addMapping( "CP1250",        "WINDOWS-1250",           true );
-        addMapping( "CP1251",        "WINDOWS-1251",           true );
-        addMapping( "CP1252",        "WINDOWS-1252",           true );
-        addMapping( "CP1253",        "WINDOWS-1253",           true );
-        addMapping( "CP1254",        "WINDOWS-1254",           true );
-        addMapping( "CP1255",        "WINDOWS-1255",           true );
-        addMapping( "CP1256",        "WINDOWS-1256",           true );
-        addMapping( "CP1257",        "WINDOWS-1257",           true );
-        addMapping( "CP1258",        "WINDOWS-1258",           true );
-        addMapping( "CP273",         "CP273",                  false );
-        addMapping( "CP273",         "CSIBM273",               false );
-        addMapping( "CP273",         "IBM-273",                false );
-        addMapping( "CP273",         "IBM273",                 true  );
-        addMapping( "CP277",         "CP277",                  false );
-        addMapping( "CP277",         "CSIBM277",               false );
-        addMapping( "CP277",         "EBCDIC-CP-DK",           true  );
-        addMapping( "CP277",         "EBCDIC-CP-NO",           false );
-        addMapping( "CP277",         "IBM-277",                false );
-        addMapping( "CP277",         "IBM277",                 false );
-        addMapping( "CP278",         "CP278",                  false );
-        addMapping( "CP278",         "CSIBM278",               false );
-        addMapping( "CP278",         "EBCDIC-CP-FI",           true  );
-        addMapping( "CP278",         "EBCDIC-CP-SE",           false );
-        addMapping( "CP278",         "IBM-278",                false );
-        addMapping( "CP278",         "IBM278",                 false );
-        addMapping( "CP280",         "CP280",                  false );
-        addMapping( "CP280",         "CSIBM280",               false );
-        addMapping( "CP280",         "EBCDIC-CP-IT",           true  );
-        addMapping( "CP280",         "IBM-280",                false );
-        addMapping( "CP280",         "IBM280",                 false );
-        addMapping( "CP284",         "CP284",                  false );
-        addMapping( "CP284",         "CSIBM284",               false );
-        addMapping( "CP284",         "EBCDIC-CP-ES",           true  );
-        addMapping( "CP284",         "IBM-284",                false );
-        addMapping( "CP284",         "IBM284",                 false );
-        addMapping( "CP285",         "CP285",                  false );
-        addMapping( "CP285",         "CSIBM285",               false );
-        addMapping( "CP285",         "EBCDIC-CP-GB",           true  );
-        addMapping( "CP285",         "IBM-285",                false );
-        addMapping( "CP285",         "IBM285",                 false );
-        addMapping( "CP290",         "CP290",                  false );
-        addMapping( "CP290",         "CSIBM290",               false );
-        addMapping( "CP290",         "EBCDIC-JP-KANA",         true  );
-        addMapping( "CP290",         "IBM-290",                false );
-        addMapping( "CP290",         "IBM290",                 false );
-        addMapping( "CP297",         "CP297",                  false );
-        addMapping( "CP297",         "CSIBM297",               false );
-        addMapping( "CP297",         "EBCDIC-CP-FR",           true  );
-        addMapping( "CP297",         "IBM-297",                false );
-        addMapping( "CP297",         "IBM297",                 false );
-        addMapping( "CP420",         "CP420",                  false );
-        addMapping( "CP420",         "CSIBM420",               false );
-        addMapping( "CP420",         "EBCDIC-CP-AR1",          true  );
-        addMapping( "CP420",         "IBM-420",                false );
-        addMapping( "CP420",         "IBM420",                 false );
-        addMapping( "CP424",         "CP424",                  false );
-        addMapping( "CP424",         "CSIBM424",               false );
-        addMapping( "CP424",         "EBCDIC-CP-HE",           true  );
-        addMapping( "CP424",         "IBM-424",                false );
-        addMapping( "CP424",         "IBM424",                 false );
-        addMapping( "CP437",         "437",                    false );
-        addMapping( "CP437",         "CP437",                  false );
-        addMapping( "CP437",         "CSPC8CODEPAGE437",       false );
-        addMapping( "CP437",         "IBM-437",                false );
-        addMapping( "CP437",         "IBM437",                 true  );
-        addMapping( "CP500",         "CP500",                  false );
-        addMapping( "CP500",         "CSIBM500",               false );
-        addMapping( "CP500",         "EBCDIC-CP-BE",           false );
-        addMapping( "CP500",         "EBCDIC-CP-CH",           true  );
-        addMapping( "CP500",         "IBM-500",                false );
-        addMapping( "CP500",         "IBM500",                 false );
-        addMapping( "CP775",         "CP775",                  false );
-        addMapping( "CP775",         "CSPC775BALTIC",          false );
-        addMapping( "CP775",         "IBM-775",                false );
-        addMapping( "CP775",         "IBM775",                 true  );
-        addMapping( "CP850",         "850",                    false );
-        addMapping( "CP850",         "CP850",                  false );
-        addMapping( "CP850",         "CSPC850MULTILINGUAL",    false );
-        addMapping( "CP850",         "IBM-850",                false );
-        addMapping( "CP850",         "IBM850",                 true  );
-        addMapping( "CP852",         "852",                    false );
-        addMapping( "CP852",         "CP852",                  false );
-        addMapping( "CP852",         "CSPCP852",               false );
-        addMapping( "CP852",         "IBM-852",                false );
-        addMapping( "CP852",         "IBM852",                 true  );
-        addMapping( "CP855",         "855",                    false );
-        addMapping( "CP855",         "CP855",                  false );
-        addMapping( "CP855",         "CSIBM855",               false );
-        addMapping( "CP855",         "IBM-855",                false );
-        addMapping( "CP855",         "IBM855",                 true  );
-        addMapping( "CP857",         "857",                    false );
-        addMapping( "CP857",         "CP857",                  false );
-        addMapping( "CP857",         "CSIBM857",               false );
-        addMapping( "CP857",         "IBM-857",                false );
-        addMapping( "CP857",         "IBM857",                 true  );
-        addMapping( "CP858",         "CCSID00858",             false );
-        addMapping( "CP858",         "CP00858",                false );
-        addMapping( "CP858",         "IBM-858",                false );
-        addMapping( "CP858",         "IBM00858",               true  );
-        addMapping( "CP860",         "860",                    false );
-        addMapping( "CP860",         "CP860",                  false );
-        addMapping( "CP860",         "CSIBM860",               false );
-        addMapping( "CP860",         "IBM-860",                false );
-        addMapping( "CP860",         "IBM860",                 true  );
-        addMapping( "CP861",         "861",                    false );
-        addMapping( "CP861",         "CP-IS",                  false );
-        addMapping( "CP861",         "CP861",                  false );
-        addMapping( "CP861",         "CSIBM861",               false );
-        addMapping( "CP861",         "IBM-861",                false );
-        addMapping( "CP861",         "IBM861",                 true  );
-        addMapping( "CP862",         "862",                    false );
-        addMapping( "CP862",         "CP862",                  false );
-        addMapping( "CP862",         "CSPC862LATINHEBREW",     false );
-        addMapping( "CP862",         "IBM-862",                false );
-        addMapping( "CP862",         "IBM862",                 true  );
-        addMapping( "CP863",         "863",                    false );
-        addMapping( "CP863",         "CP863",                  false );
-        addMapping( "CP863",         "CSIBM863",               false );
-        addMapping( "CP863",         "IBM-863",                false );
-        addMapping( "CP863",         "IBM863",                 true  );
-        addMapping( "CP864",         "CP864",                  false );
-        addMapping( "CP864",         "CSIBM864",               false );
-        addMapping( "CP864",         "IBM-864",                false );
-        addMapping( "CP864",         "IBM864",                 true  );
-        addMapping( "CP865",         "865",                    false );
-        addMapping( "CP865",         "CP865",                  false );
-        addMapping( "CP865",         "CSIBM865",               false );
-        addMapping( "CP865",         "IBM-865",                false );
-        addMapping( "CP865",         "IBM865",                 true  );
-        addMapping( "CP866",         "866",                    false );
-        addMapping( "CP866",         "CP866",                  false );
-        addMapping( "CP866",         "CSIBM866",               false );
-        addMapping( "CP866",         "IBM-866",                false );
-        addMapping( "CP866",         "IBM866",                 true  );
-        addMapping( "CP868",         "CP-AR",                  false );
-        addMapping( "CP868",         "CP868",                  false );
-        addMapping( "CP868",         "CSIBM868",               false );
-        addMapping( "CP868",         "IBM-868",                false );
-        addMapping( "CP868",         "IBM868",                 true  );
-        addMapping( "CP869",         "CP-GR",                  false );
-        addMapping( "CP869",         "CP869",                  false );
-        addMapping( "CP869",         "CSIBM869",               false );
-        addMapping( "CP869",         "IBM-869",                false );
-        addMapping( "CP869",         "IBM869",                 true  );
-        addMapping( "CP870",         "CP870",                  false );
-        addMapping( "CP870",         "CSIBM870",               false );
-        addMapping( "CP870",         "EBCDIC-CP-ROECE",        true  );
-        addMapping( "CP870",         "EBCDIC-CP-YU",           false );
-        addMapping( "CP870",         "IBM-870",                false );
-        addMapping( "CP870",         "IBM870",                 false );
-        addMapping( "CP871",         "CP871",                  false );
-        addMapping( "CP871",         "CSIBM871",               false );
-        addMapping( "CP871",         "EBCDIC-CP-IS",           true  );
-        addMapping( "CP871",         "IBM-871",                false );
-        addMapping( "CP871",         "IBM871",                 false );
-        addMapping( "CP918",         "CP918",                  false );
-        addMapping( "CP918",         "CSIBM918",               false );
-        addMapping( "CP918",         "EBCDIC-CP-AR2",          true  );
-        addMapping( "CP918",         "IBM-918",                false );
-        addMapping( "CP918",         "IBM918",                 false );
-        addMapping( "CP924",         "CCSID00924",             false );
-        addMapping( "CP924",         "CP00924",                false );
-        addMapping( "CP924",         "EBCDIC-LATIN9--EURO",    false );
-        addMapping( "CP924",         "IBM-924",                false );
-        addMapping( "CP924",         "IBM00924",               true  );
-        addMapping( "EUCJIS",        "CSEUCPKDFMTJAPANESE",    false );
-        addMapping( "EUCJIS",        "EUC-JP",                 true  );
-        addMapping( "EUCJIS",        "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", false );
-        addMapping( "GB18030",       "GB18030",                true  );
-        addMapping( "GB2312",        "CSGB2312",               false );
-        addMapping( "GB2312",        "GB2312",                 true  );
-        addMapping( "ISO2022CN",     "ISO-2022-CN",            true  );
-        addMapping( "ISO2022KR",     "CSISO2022KR",            false );
-        addMapping( "ISO2022KR",     "ISO-2022-KR",            true  );
-        addMapping( "ISO8859_1",     "CP819",                  false );
-        addMapping( "ISO8859_1",     "CSISOLATIN1",            false );
-        addMapping( "ISO8859_1",     "IBM-819",                false );
-        addMapping( "ISO8859_1",     "IBM819",                 false );
-        addMapping( "ISO8859_1",     "ISO-8859-1",             true  );
-        addMapping( "ISO8859_1",     "ISO-IR-100",             false );
-        addMapping( "ISO8859_1",     "ISO_8859-1",             false );
-        addMapping( "ISO8859_1",     "L1",                     false );
-        addMapping( "ISO8859_1",     "LATIN1",                 false );
-        addMapping( "ISO8859_2",     "CSISOLATIN2",            false );
-        addMapping( "ISO8859_2",     "ISO-8859-2",             true  );
-        addMapping( "ISO8859_2",     "ISO-IR-101",             false );
-        addMapping( "ISO8859_2",     "ISO_8859-2",             false );
-        addMapping( "ISO8859_2",     "L2",                     false );
-        addMapping( "ISO8859_2",     "LATIN2",                 false );
-        addMapping( "ISO8859_3",     "CSISOLATIN3",            false );
-        addMapping( "ISO8859_3",     "ISO-8859-3",             true  );
-        addMapping( "ISO8859_3",     "ISO-IR-109",             false );
-        addMapping( "ISO8859_3",     "ISO_8859-3",             false );
-        addMapping( "ISO8859_3",     "L3",                     false );
-        addMapping( "ISO8859_3",     "LATIN3",                 false );
-        addMapping( "ISO8859_4",     "CSISOLATIN4",            false );
-        addMapping( "ISO8859_4",     "ISO-8859-4",             true  );
-        addMapping( "ISO8859_4",     "ISO-IR-110",             false );
-        addMapping( "ISO8859_4",     "ISO_8859-4",             false );
-        addMapping( "ISO8859_4",     "L4",                     false );
-        addMapping( "ISO8859_4",     "LATIN4",                 false );
-        addMapping( "ISO8859_5",     "CSISOLATINCYRILLIC",     false );
-        addMapping( "ISO8859_5",     "CYRILLIC",               false );
-        addMapping( "ISO8859_5",     "ISO-8859-5",             true  );
-        addMapping( "ISO8859_5",     "ISO-IR-144",             false );
-        addMapping( "ISO8859_5",     "ISO_8859-5",             false );
-        addMapping( "ISO8859_6",     "ARABIC",                 false );
-        addMapping( "ISO8859_6",     "ASMO-708",               false );
-        addMapping( "ISO8859_6",     "CSISOLATINARABIC",       false );
-        addMapping( "ISO8859_6",     "ECMA-114",               false );
-        addMapping( "ISO8859_6",     "ISO-8859-6",             true  );
-        addMapping( "ISO8859_6",     "ISO-IR-127",             false );
-        addMapping( "ISO8859_6",     "ISO_8859-6",             false );
-        addMapping( "ISO8859_7",     "CSISOLATINGREEK",        false );
-        addMapping( "ISO8859_7",     "ECMA-118",               false );
-        addMapping( "ISO8859_7",     "ELOT_928",               false );
-        addMapping( "ISO8859_7",     "GREEK",                  false );
-        addMapping( "ISO8859_7",     "GREEK8",                 false );
-        addMapping( "ISO8859_7",     "ISO-8859-7",             true  );
-        addMapping( "ISO8859_7",     "ISO-IR-126",             false );
-        addMapping( "ISO8859_7",     "ISO_8859-7",             false );
-        addMapping( "ISO8859_8",     "CSISOLATINHEBREW",       false );
-        addMapping( "ISO8859_8",     "HEBREW",                 false );
-        addMapping( "ISO8859_8",     "ISO-8859-8",             true  );
-        addMapping( "ISO8859_8",     "ISO-8859-8-I",           false );
-        addMapping( "ISO8859_8",     "ISO-IR-138",             false );
-        addMapping( "ISO8859_8",     "ISO_8859-8",             false );
-        addMapping( "ISO8859_9",     "CSISOLATIN5",            false );
-        addMapping( "ISO8859_9",     "ISO-8859-9",             true  );
-        addMapping( "ISO8859_9",     "ISO-IR-148",             false );
-        addMapping( "ISO8859_9",     "ISO_8859-9",             false );
-        addMapping( "ISO8859_9",     "L5",                     false );
-        addMapping( "ISO8859_9",     "LATIN5",                 false );
-        addMapping( "JIS",           "CSISO2022JP",            false );
-        addMapping( "JIS",           "ISO-2022-JP",            true  );
-        addMapping( "JIS0201",       "CSISO13JISC6220JP",      false );
-        addMapping( "JIS0201",       "X0201",                  true  );
-        addMapping( "JIS0208",       "CSISO87JISX0208",        false );
-        addMapping( "JIS0208",       "ISO-IR-87",              false );
-        addMapping( "JIS0208",       "X0208",                  true  );
-        addMapping( "JIS0208",       "X0208DBIJIS_X0208-1983", false );
-        addMapping( "JIS0212",       "CSISO159JISX02121990",   false );
-        addMapping( "JIS0212",       "ISO-IR-159",             true  );
-        addMapping( "JIS0212",       "X0212",                  false );
-        addMapping( "KOI8_R",        "CSKOI8R",                false );
-        addMapping( "KOI8_R",        "KOI8-R",                 true  );
-        addMapping( "KSC5601",       "EUC-KR",                 true  );
-        addMapping( "MS932",         "CSWINDOWS31J",           false );
-        addMapping( "MS932",         "WINDOWS-31J",            true  );
-        addMapping( "SJIS",          "CSSHIFTJIS",             false );
-        addMapping( "SJIS",          "MS_KANJI",               false );
-        addMapping( "SJIS",          "SHIFT_JIS",              true  );
-        addMapping( "TIS620",        "TIS-620",                true );
-        addMapping( "UNICODE",       "UTF-16",                 true  );
-        addMapping( "UNICODEBIG",    "UTF-16BE",               true  );
-        addMapping( "UNICODELITTLE", "UTF-16LE",               true  );
-        addMapping( "UTF8",          "UTF-8",                  true  );
-
-        assert completeMappings();
-    };
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/GenericXmlInputStream.java b/v1/src/common/org/apache/xmlbeans/impl/common/GenericXmlInputStream.java
deleted file mode 100644
index 2d29fa5..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/GenericXmlInputStream.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import weblogic.xml.stream.ReferenceResolver;
-import weblogic.xml.stream.XMLEvent;
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLName;
-import weblogic.xml.stream.XMLStreamException;
-
-public class GenericXmlInputStream implements XMLInputStream
-{
-    public GenericXmlInputStream ( )
-    {
-        _master = this;
-        _elementCount = 1; // Go all the way
-    }
-
-    private GenericXmlInputStream ( GenericXmlInputStream master )
-    {
-        (_master = master).ensureInit();
-        _nextEvent = master._nextEvent;
-    }
-    
-    //
-    // The source for all events
-    //
-
-    protected XMLEvent nextEvent ( ) throws XMLStreamException
-    {
-        throw new RuntimeException( "nextEvent not overridden" );
-    }
-
-    //
-    //
-    //
-
-    private class EventItem
-    {
-        EventItem ( XMLEvent e )
-        {
-            _event = e;
-        }
-                   
-        int     getType ( ) { return _event.getType(); }
-        boolean hasName ( ) { return _event.hasName(); }
-        XMLName getName ( ) { return _event.getName(); }
-        
-        final XMLEvent _event;
-        
-        EventItem _next;
-    }
-
-    private void ensureInit ( )
-    {
-        if (!_master._initialized)
-        {
-            try
-            {
-                _master._nextEvent = getNextEvent();
-            }
-            catch ( XMLStreamException e )
-            {
-                throw new RuntimeException( e );
-            }
-            
-            _master._initialized = true;
-        }
-    }
-
-    private EventItem getNextEvent ( ) throws XMLStreamException
-    {
-        XMLEvent e = nextEvent();
-
-        return e == null ? null : new EventItem( e );
-    }
-
-    public XMLEvent next ( ) throws XMLStreamException
-    {
-        ensureInit();
-        
-        EventItem currentEvent = _nextEvent;
-
-        if (_nextEvent != null)
-        {
-            if (_nextEvent._next == null)
-                _nextEvent._next = _master.getNextEvent();
-
-            _nextEvent = _nextEvent._next;
-        }
-
-        if (currentEvent == null)
-            return null;
-
-        if (currentEvent.getType() == XMLEvent.END_ELEMENT)
-        {
-            if (--_elementCount <= 0)
-                _nextEvent = null;
-        }
-        else if (currentEvent.getType() == XMLEvent.START_ELEMENT)
-            _elementCount++;
-
-        return currentEvent._event;
-    }
-
-    public boolean hasNext ( ) throws XMLStreamException
-    {
-        ensureInit();
-        
-        return _nextEvent != null;
-    }
-
-    public void skip ( ) throws XMLStreamException
-    {
-        next();
-    }
-
-    public void skipElement ( ) throws XMLStreamException
-    {
-        ensureInit();
-        
-        for ( ; _nextEvent != null ; next() )
-        {
-            if (_nextEvent.getType() == XMLEvent.START_ELEMENT)
-                break;
-        }
-
-        int count = 0;
-
-        for ( ; _nextEvent != null ; next() )
-        {
-            int type = next().getType();
-
-            if (type == XMLEvent.START_ELEMENT)
-                count++;
-            else if (type == XMLEvent.END_ELEMENT && --count == 0)
-                break;
-        }
-    }
-
-    public XMLEvent peek ( ) throws XMLStreamException
-    {
-        ensureInit();
-        
-        return _nextEvent._event;
-    }
-
-    public boolean skip ( int eventType ) throws XMLStreamException
-    {
-        ensureInit();
-        
-        for ( ; _nextEvent != null ; next() )
-        {
-            if (_nextEvent.getType() == eventType)
-                return true;
-        }
-
-        return false;
-    }
-
-    public boolean skip ( XMLName name ) throws XMLStreamException
-    {
-        ensureInit();
-        
-        for ( ; _nextEvent != null ; next() )
-        {
-            if (_nextEvent.hasName() && _nextEvent.getName().equals( name ))
-                return true;
-        }
-
-        return false;
-    }
-
-    public boolean skip ( XMLName name, int eventType ) throws XMLStreamException
-    {
-        ensureInit();
-        
-        for ( ; _nextEvent != null ; next() )
-        {
-            if (_nextEvent.getType() == eventType &&
-                  _nextEvent.hasName() &&
-                    _nextEvent.getName().equals( name ))
-            {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    public XMLInputStream getSubStream ( ) throws XMLStreamException
-    {
-        ensureInit();
-        
-        GenericXmlInputStream subStream = new GenericXmlInputStream( this );
-
-        subStream.skip( XMLEvent.START_ELEMENT );
-
-        return subStream;
-    }
-
-    public void close ( ) throws XMLStreamException
-    {
-        // BUGBUG - can I do anything here, really?
-        // SHould I count the number of open sub streams?
-        // I have no destructor, how can I close properly?
-    }
-
-    public ReferenceResolver getReferenceResolver ( )
-    {
-        ensureInit();
-        
-        throw new RuntimeException( "Not impl" );
-    }
-
-    public void setReferenceResolver ( ReferenceResolver resolver )
-    {
-        ensureInit();
-        
-        throw new RuntimeException( "Not impl" );
-    }
-
-    private boolean               _initialized;
-    private EventItem             _nextEvent;
-    private int                   _elementCount;
-    private GenericXmlInputStream _master;
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/GlobalLock.java b/v1/src/common/org/apache/xmlbeans/impl/common/GlobalLock.java
deleted file mode 100644
index 1d39bf1..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/GlobalLock.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-/**
- * Whenever multiple locks must be acquired within the implementation of
- * XML Beans, this GlobalLock is acquired first, and then released when all
- * the acutally-needed locks have been acquired.  This prevents deadlocks.
- */ 
-public class GlobalLock
-{
-    private static final Mutex GLOBAL_MUTEX = new Mutex();
-    
-    public static void acquire() throws InterruptedException { GLOBAL_MUTEX.acquire(); }
-    public static void tryToAcquire() { GLOBAL_MUTEX.tryToAcquire(); }
-    public static void release() { GLOBAL_MUTEX.release(); }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/IOUtil.java b/v1/src/common/org/apache/xmlbeans/impl/common/IOUtil.java
deleted file mode 100644
index 8d27908..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/IOUtil.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.IOException;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.net.URI;
-import java.nio.channels.FileChannel;
-
-public class IOUtil
-{
-    public static void copyCompletely(InputStream input, OutputStream output)
-        throws IOException
-    {
-        //if both are file streams, use channel IO
-        if ((output instanceof FileOutputStream) && (input instanceof FileInputStream))
-        {
-            try
-            {
-                FileChannel target = ((FileOutputStream) output).getChannel();
-                FileChannel source = ((FileInputStream) input).getChannel();
-                
-                source.transferTo(0, Integer.MAX_VALUE, target);
-                
-                source.close();
-                target.close();
-                
-                return;
-            }
-            catch (Exception e)
-            { /* failover to byte stream version */ }
-        }
-        
-        byte[] buf = new byte[8192];
-        while (true)
-        {
-            int length = input.read(buf);
-            if (length < 0)
-                break;
-            output.write(buf, 0, length);
-        }
-        
-        try { input.close(); } catch (IOException ignore) {}
-        try { output.close(); } catch (IOException ignore) {}
-    }
-
-    public static void copyCompletely(URI input, URI output)
-        throws IOException
-    {
-        try
-        {
-            InputStream in = null;
-            try
-            {
-                File f = new File(input);
-                if (f.exists())
-                    in = new FileInputStream(f);
-            }
-            catch (Exception notAFile)
-            {}
-            
-            File out = new File(output);
-            File dir = out.getParentFile();
-            dir.mkdirs();
-            
-            if (in == null)
-                in = input.toURL().openStream();
-                
-            IOUtil.copyCompletely(in, new FileOutputStream(out));
-        }
-        catch (IllegalArgumentException e)
-        {
-            throw new IOException("Cannot copy to " + output);
-        }
-    }
-
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/IdentityConstraint.java b/v1/src/common/org/apache/xmlbeans/impl/common/IdentityConstraint.java
deleted file mode 100644
index f7afb7f..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/IdentityConstraint.java
+++ /dev/null
@@ -1,603 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import org.apache.xmlbeans.impl.common.ValidatorListener.Event;
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.*;
-import java.util.*;
-
-/**
- * Identity constraint engine. Performs streaming validation of identity constraints.
- * This includes key, keyref, & unique, as well as ID & IDRef.
- */
-public class IdentityConstraint {
-
-    private ConstraintState _constraintStack;
-    private ElementState _elementStack;
-    private Collection _errorListener;
-    private boolean _invalid;
-    private boolean _trackIdrefs; // We only track idrefs if validating from the root element
-
-    public IdentityConstraint(Collection  errorListener, boolean trackIdrefs) {
-        _errorListener = errorListener;
-        _trackIdrefs = trackIdrefs;
-    }
-
-    public void element(Event e, SchemaType st, SchemaIdentityConstraint[] ics) {
-
-        // Construct a new state for the element
-        newState();
-
-        // First dispatch this element event
-        for (ConstraintState cs = _constraintStack ; cs != null ; cs = cs._next)
-            cs.element(e, st);
-
-        // Create a new SelectorState for each new Identity Constraint
-
-        for (int i = 0 ; ics != null && i < ics.length ; i++)
-            newConstraintState(ics[i], e, st);
-    }
-
-    public void endElement(Event e) {
-        // Pop the element state stack and any constraints at this depth
-        if (_elementStack._hasConstraints)
-        {
-            for (ConstraintState cs = _constraintStack ; cs != null && cs != _elementStack._savePoint ; cs = cs._next)
-                cs.remove( e );
-
-            _constraintStack = _elementStack._savePoint;
-        }
-
-        _elementStack = _elementStack._next;
-
-        // Dispatch the event
-        for (ConstraintState cs = _constraintStack ; cs != null ; cs = cs._next)
-            cs.endElement(e);
-
-    }
-
-    public void attr(Event e, QName name, SchemaType st, String value) {
-        for (ConstraintState cs = _constraintStack ; cs != null ; cs = cs._next)
-            cs.attr(e, name, st, value);
-    }
-
-    public void text(Event e, SchemaType st, String value, boolean emptyContent) {
-        for (ConstraintState cs = _constraintStack ; cs != null ; cs = cs._next)
-            cs.text(e, st, value, emptyContent);
-    }
-
-    public boolean isValid() {
-        return !_invalid;
-    }
-
-    private void newConstraintState(SchemaIdentityConstraint ic, Event e, SchemaType st)
-    {
-        if (ic.getConstraintCategory() == SchemaIdentityConstraint.CC_KEYREF)
-            new KeyrefState(ic, e, st);
-        else
-            new SelectorState(ic, e, st);
-    }
-
-    private void buildIdStates()
-    {
-        // Construct states to hold the values for IDs and IDRefs
-        IdState ids = new IdState();
-        if (_trackIdrefs)
-            new IdRefState(ids);
-    }
-
-    private void newState() {
-        boolean firstTime = _elementStack == null;
-
-        ElementState st = new ElementState();
-        st._next = _elementStack;
-        _elementStack = st;
-
-        if (firstTime)
-            buildIdStates();
-    }
-
-    private void emitError ( Event event, String msg )
-    {
-        _invalid = true;
-
-        if (_errorListener != null)
-        {
-            assert event != null;
-            
-            _errorListener.add(
-                XmlError.forCursor( msg, event.getLocationAsCursor() ) );
-        }
-    }
-
-    private void setSavePoint( ConstraintState cs )
-    {
-        if (! _elementStack._hasConstraints)
-            _elementStack._savePoint = cs;
-
-        _elementStack._hasConstraints = true;
-    }
-
-    private static XmlObject newValue(SchemaType st, String value)
-    {
-        try {
-            return st.newValue(value);
-        }
-        catch (IllegalArgumentException e) {
-            // This is a bit hacky. newValue throws XmlValueOutOfRangeException which is 
-            // unchecked and declared in typeimpl. I can only catch its parent class, 
-            // typeimpl is built after common.
-
-            // Ignore these exceptions. Assume that validation will catch them.
-            return null;
-        }
-    }
-
-    /**
-     * Return the simple type for schema type. If the schema type is already
-     * simple, just return it. If it is a complex type with simple content,
-     * return the simple type it extends.
-     */
-    static SchemaType getSimpleType(SchemaType st) 
-    {
-        assert st.isSimpleType() || st.getContentType() == SchemaType.SIMPLE_CONTENT : 
-            st + " does not have simple content.";
-
-        while (! st.isSimpleType() )
-            st = st.getBaseType();
-
-        return st;
-    }
-
-    static boolean hasSimpleContent(SchemaType st)
-    {
-        return st.isSimpleType() || st.getContentType() == SchemaType.SIMPLE_CONTENT;
-    }
-
-    public abstract class ConstraintState {
-        ConstraintState _next;
-
-        ConstraintState()
-        {
-            setSavePoint(_constraintStack);
-            _next = _constraintStack;
-            _constraintStack = this;
-        }
-
-        abstract void element(Event e, SchemaType st);
-        abstract void endElement(Event e);
-        abstract void attr(Event e, QName name, SchemaType st, String value);
-        abstract void text(Event e, SchemaType st, String value, boolean emptyContent);
-        abstract void remove(Event e);
-
-    }
-
-    public class SelectorState extends ConstraintState {
-        SchemaIdentityConstraint _constraint;
-        Set _values = new LinkedHashSet();
-        XPath.ExecutionContext _context;
-
-        SelectorState(SchemaIdentityConstraint constraint, Event e, SchemaType st) {
-            _constraint = constraint;
-            _context = new XPath.ExecutionContext();
-            _context.init((XPath)_constraint.getSelectorPath());
-
-            if ( ( _context.start() & XPath.ExecutionContext.HIT ) != 0 )
-                createFieldState(e, st);
-        }
-
-        void addFields(XmlObjectList fields, Event e) 
-        {
-            if (_constraint.getConstraintCategory() == SchemaIdentityConstraint.CC_KEYREF)
-                _values.add(fields);
-            else if (_values.contains(fields)) 
-                emitError(e, "Duplicate key '" + fields + "' for key or unique constraint " + QNameHelper.pretty(_constraint.getName()));
-            else
-                _values.add(fields);
-        }
-
-        void element(Event e, SchemaType st) 
-        {
-            if ( ( _context.element(e.getName()) & XPath.ExecutionContext.HIT) != 0 )
-                createFieldState(e, st);
-        }
-
-        void endElement(Event e) 
-        {
-            _context.end();
-        }
-
-        void createFieldState(Event e, SchemaType st) {
-            new FieldState(this, e, st);
-        }
-
-        void remove(Event e) {
-            // Bubble up key, unique values to keyrefs
-            for (ConstraintState cs = _next ; cs != null ; cs = cs._next )
-            {
-                if (cs instanceof KeyrefState)
-                {
-                    KeyrefState kr = (KeyrefState)cs;
-                    if (kr._constraint.getReferencedKey() == this)
-                        kr.addKeyValues(_values);
-                }
-            }
-        }
-
-        void attr(Event e, QName name, SchemaType st, String value) {}
-        void text(Event e, SchemaType st, String value, boolean emptyContent) {}
-    }
-
-    public class KeyrefState extends SelectorState {
-        Set _keyValues = new HashSet();
-
-        KeyrefState(SchemaIdentityConstraint constraint, Event e, SchemaType st) {
-            super(constraint, e, st);
-        }
-
-        void addKeyValues(final Set values)
-        {
-            // BUG: remove duplicates
-            _keyValues.addAll(values);
-        }
-
-        void remove(Event e) {
-            // First check if there are any keys at the same stack level as this
-            // that may contribute key values to me
-            for (ConstraintState cs = _next ; cs != null && cs != _elementStack._savePoint ; cs = cs._next)
-            {
-                if (cs instanceof SelectorState)
-                {
-                    SelectorState sel = (SelectorState)cs;
-                    if (sel._constraint == _constraint.getReferencedKey())
-                        addKeyValues(sel._values);
-                }
-            }
-
-
-            // validate all values have been seen
-            for (Iterator it = _values.iterator() ; it.hasNext() ; )
-            {
-
-                XmlObjectList fields = (XmlObjectList)it.next();
-                if (fields.unfilled() < 0 && ! _keyValues.contains(fields))
-                {
-                    emitError(e, "Key '" + fields + "' not found (keyRef " + QNameHelper.pretty(_constraint.getName()) + ")");
-                    return;
-                }
-            }
-        }
-    }
-
-    public class FieldState extends ConstraintState {
-        SelectorState _selector;
-        XPath.ExecutionContext[] _contexts;
-        boolean[] _needsValue;
-        XmlObjectList _value;
-
-        FieldState(SelectorState selector, Event e, SchemaType st) {
-
-            // System.out.println("Creating new Field State for: " + e.getName());
-
-            _selector = selector;
-            SchemaIdentityConstraint ic = selector._constraint;
-
-            int fieldCount = ic.getFields().length;
-            _contexts = new XPath.ExecutionContext[fieldCount];
-            _needsValue = new boolean[fieldCount];
-            _value = new XmlObjectList(fieldCount);
-
-            for (int i = 0 ; i < fieldCount ; i++)
-            {
-                _contexts[i] = new XPath.ExecutionContext();
-                _contexts[i].init((XPath)ic.getFieldPath(i));
-                if ( ( _contexts[i].start() & XPath.ExecutionContext.HIT ) != 0 )
-                {
-                    // System.out.println("hit for element: " + e.getName());
-
-                    if (!hasSimpleContent(st))
-                        emitError(e, "Identity constraint field must have simple content");
-                    else
-                        _needsValue[i] = true;
-                }
-            }
-
-        }
-
-        void element(Event e, SchemaType st)
-        {
-            for (int i = 0 ; i < _contexts.length ; i++) {
-                if (_needsValue[i])
-                {
-                    emitError(e, "Identity constraint field must have simple content");
-                    _needsValue[i] = false;
-                }
-            }
-
-            for (int i = 0 ; i < _contexts.length ; i++) {
-                if ( ( _contexts[i].element(e.getName()) & XPath.ExecutionContext.HIT) != 0 )
-                {
-                    if (! hasSimpleContent(st))
-                        emitError(e, "Identity constraint field must have simple content");
-                    else
-                        _needsValue[i] = true;
-                }
-            }
-        }
-
-        void attr(Event e, QName name, SchemaType st, String value) {
-
-            // Null value indicates previously reported validation problem
-            if (value == null) return;
-
-            for (int i = 0 ; i < _contexts.length ; i++) {
-                if ( _contexts[i].attr(name) ) {
-                    XmlObject o = newValue(st, value);
-
-                    // Ignore invalid values. Assume that validation catches these
-                    if (o == null) return;
-
-                    boolean set = _value.set(o, i);
-
-                    if (! set)
-                        emitError(e, "Multiple instances of field with xpath: '" 
-                            + _selector._constraint.getFields()[i] + "' for a selector");
-                }
-
-            }
-        }
-
-
-        void text(Event e, SchemaType st, String value, boolean emptyContent) {
-
-            // Null value indicates previously reported validation problem
-            if (value == null && !emptyContent) return;
-
-            for (int i = 0 ; i < _contexts.length ; i++) {
-                if ( _needsValue[i] ) {
-
-                    if (emptyContent || !hasSimpleContent(st))
-                    {
-                        emitError(e, "Identity constraint field must have simple content");
-                        return;
-                    }
-
-                    SchemaType simpleType = getSimpleType(st);
-                    XmlObject o = newValue(simpleType, value);
-
-                    // Ignore invalid values. Assume that validation catches these
-                    if (o == null) return;
-
-                    boolean set = _value.set(o, i);
-
-                    if (! set)
-                        emitError(e, "Multiple instances of field with xpath: '" 
-                            + _selector._constraint.getFields()[i] + "' for a selector");
-                }
-            }
-        }
-
-        void endElement(Event e) {
-            // reset any  _needsValue flags 
-            // assume that if we didn't see the text, it was because of another validation
-            // error, so don't emit another one.
-            for (int i = 0 ; i < _needsValue.length ; i++)
-            {
-                _contexts[i].end();
-                _needsValue[i] = false;
-            }
-
-        }
-
-        void remove(Event e) 
-        {
-
-            if (_selector._constraint.getConstraintCategory() == SchemaIdentityConstraint.CC_KEY &&
-                _value.unfilled() >= 0 )
-            {
-                // keys must have all values supplied
-                emitError(e, "Key " + QNameHelper.pretty(_selector._constraint.getName()) + " is missing field with xpath: '" + _selector._constraint.getFields()[_value.unfilled()] + "'");
-            }
-            else
-            {
-                // Finished. Add these fields to the selector state
-                _selector.addFields(_value, e);
-            }
-        }
-
-    }
-
-    public class IdState extends ConstraintState
-    {
-        Set _values = new LinkedHashSet();
-
-        IdState() { }
-
-        void attr(Event e, QName name, SchemaType st, String value)
-        {
-            handleValue(e, st, value);
-        }
-
-        void text(Event e, SchemaType st, String value, boolean emptyContent)
-        {
-            if (emptyContent)
-                return;
-
-            handleValue(e, st, value);
-        }
-
-        private void handleValue(Event e, SchemaType st, String value)
-        {
-
-            // Null value indicates previously reported validation problem
-            if (value == null) return;
-
-            if (st == null || st.isNoType())
-            {
-                // ignore invalid values. Assume that validation catches these
-                return;
-            }
-
-            if (XmlID.type.isAssignableFrom(st))
-            {
-                XmlObjectList xmlValue = new XmlObjectList(1);
-                XmlObject o = newValue(XmlID.type, value);
-
-                // Ignore invalid values. Assume that validation catches these
-                if (o == null) return;
-
-                xmlValue.set(o, 0);
-
-                if (_values.contains(xmlValue))
-                    emitError(e, "Duplicate ID value '" + value + "'");
-                else
-                    _values.add(xmlValue);
-            }
-        }
-
-        void element(Event e, SchemaType st) {}
-        void endElement(Event e){}
-        void remove(Event e){}
-
-    }
-
-    public class IdRefState extends ConstraintState
-    {
-        IdState _ids;
-        List _values;
-
-        IdRefState(IdState ids)
-        {
-            _ids = ids;
-            _values = new ArrayList();
-        }
-
-        private void handleValue(Event e, SchemaType st, String value)
-        {
-            // Null value indicates previously reported validation problem
-            if (value == null) return;
-
-            if (st == null || st.isNoType())
-            {
-                // ignore invalid values. Assume that validation catches these
-                return;
-            }
-            if (XmlIDREFS.type.isAssignableFrom(st))
-            {
-                XmlIDREFS lv = (XmlIDREFS)newValue(XmlIDREFS.type, value);
-
-                // Ignore invalid values. Assume that validation catches these
-                if (lv == null) return;
-
-                List l = lv.xgetListValue();
-
-                // Add one value for each idref in the list
-                for (int i = 0 ; i < l.size() ; i++)
-                {
-                    XmlObjectList xmlValue = new XmlObjectList(1);
-                    XmlIDREF idref = (XmlIDREF)l.get(i);
-                    xmlValue.set(idref, 0);
-                    _values.add(xmlValue);
-                }
-            }
-            else if (XmlIDREF.type.isAssignableFrom(st))
-            {
-                XmlObjectList xmlValue = new XmlObjectList(1);
-                XmlIDREF idref = (XmlIDREF)st.newValue(value);
-
-                // Ignore invalid values. Assume that validation catches these
-                if (idref == null) return;
-
-                xmlValue.set(idref, 0);
-                _values.add(xmlValue);
-            }
-        }
-
-        void attr(Event e, QName name, SchemaType st, String value) 
-        {
-            handleValue(e, st, value);
-        }
-        void text(Event e, SchemaType st, String value, boolean emptyContent) 
-        {
-            if (emptyContent)
-                return;
-
-            handleValue(e, st, value);
-        }
-        void remove(Event e) 
-        { 
-            // Validate each ref has a corresponding ID
-            for (Iterator it = _values.iterator() ; it.hasNext() ; )
-            {
-                Object o = it.next();
-                if (! _ids._values.contains(o))
-                {
-                    emitError(e, "ID not found for IDRef value '" + o + "'");
-                }
-            }
-        }
-        void element(Event e, SchemaType st) { }
-        void endElement(Event e) { }
-    }
-
-    private static class ElementState {
-        ElementState _next;
-        boolean _hasConstraints;
-        ConstraintState _savePoint;
-    }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/Levenshtein.java b/v1/src/common/org/apache/xmlbeans/impl/common/Levenshtein.java
deleted file mode 100644
index 60181e9..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/Levenshtein.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-public class Levenshtein
-{
-    //****************************
-    // Get minimum of three values
-    //****************************
-
-    private static int minimum(int a, int b, int c)
-    {
-        int mi = a;
-        if (b < mi)
-            mi = b;
-        if (c < mi)
-            mi = c;
-        return mi;
-    }
-
-    //*****************************
-    // Compute Levenshtein distance
-    //*****************************
-    public static int distance(String s, String t)
-    {
-        int d[][]; // matrix
-        int n; // length of s
-        int m; // length of t
-        int i; // iterates through s
-        int j; // iterates through t
-        char s_i; // ith character of s
-        char t_j; // jth character of t
-        int cost; // cost
-
-        // Step 1
-        n = s.length();
-        m = t.length();
-        if (n == 0)
-            return m;
-        if (m == 0)
-            return n;
-        d = new int[n+1][m+1];
-
-        // Step 2
-        for (i = 0; i <= n; i++)
-            d[i][0] = i;
-        for (j = 0; j <= m; j++)
-            d[0][j] = j;
-
-        // Step 3
-        for (i = 1; i <= n; i++)
-        {
-            s_i = s.charAt (i - 1);
-
-            // Step 4
-            for (j = 1; j <= m; j++)
-            {
-                t_j = t.charAt(j - 1);
-
-                // Step 5
-                if (s_i == t_j)
-                    cost = 0;
-                else
-                    cost = 1;
-
-                // Step 6
-                d[i][j] = minimum(d[i-1][j]+1, d[i][j-1]+1, d[i-1][j-1] + cost);
-            }
-        }
-
-        // Step 7
-        return d[n][m];
-    }
-
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/Mutex.java b/v1/src/common/org/apache/xmlbeans/impl/common/Mutex.java
deleted file mode 100644
index 7896745..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/Mutex.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-public class Mutex
-{
-    private Thread  owner      = null;  // Owner of mutex, null if nobody
-    private int     lock_count = 0;
-
-    /**
-     * Acquire the mutex. The mutex can be acquired multiple times
-     * by the same thread, provided that it is released as many
-     * times as it is acquired. The calling thread blocks until
-     * it has acquired the mutex. (There is no timeout).
-     */
-    public synchronized void acquire() throws InterruptedException
-    {
-        while (tryToAcquire() == false)
-        {
-            this.wait();
-        }
-    }
-
-    /**
-     * Attempts to acquire the mutex. Returns false (and does not
-     * block) if it can't get it.
-     */
-
-    public synchronized boolean tryToAcquire()
-    {
-        // Try to get the mutex. Return true if you got it.
-
-        if( owner == null )
-        {
-            owner = Thread.currentThread();
-            lock_count = 1;
-            return true;
-        }
-
-        if( owner == Thread.currentThread() )
-        {
-            ++lock_count;
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Release the mutex. The mutex has to be released as many times
-     * as it was acquired to actually unlock the resource. The mutex
-     * must be released by the thread that acquired it
-     *
-     * @throws IllegalStateException (a RuntimeException) if a thread
-     *      other than the current owner tries to release the mutex.
-     */
-
-    public synchronized void release()
-    {
-        if (owner != Thread.currentThread())
-            throw new IllegalStateException("Thread calling release() doesn't own mutex");
-
-        if (--lock_count <= 0)
-        {
-            owner = null;
-            notify();
-        }
-    }
-}
-
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/NameUtil.java b/v1/src/common/org/apache/xmlbeans/impl/common/NameUtil.java
deleted file mode 100644
index 920cc6b..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/NameUtil.java
+++ /dev/null
@@ -1,813 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import javax.xml.namespace.QName;
-
-import java.util.*;
-
-public class NameUtil
-{
-    // punctuation characters
-    public final static char HYPHEN = '\u002D';
-    public final static char PERIOD = '\u002E';
-    public final static char COLON  = '\u003A';
-    public final static char USCORE = '\u005F';
-    public final static char DOT    = '\u00B7';
-    public final static char TELEIA = '\u0387';
-    public final static char AYAH   = '\u06DD';
-    public final static char ELHIZB = '\u06DE';
-
-    private final static boolean DEBUG = false;
-
-    private final static Set javaWords = new HashSet(Arrays.asList(
-        new String[]
-        {
-              "abstract",
-              "boolean",
-              "break",
-              "byte",
-              "case",
-              "catch",
-              "char",
-              "class",
-              "const",
-              "continue",
-              "default",
-              "do",
-              "double",
-              "else",
-              "extends",
-              "false", // not a keyword
-              "final",
-              "finally",
-              "float",
-              "for",
-              "goto",
-              "if",
-              "implements",
-              "import",
-              "instanceof",
-              "int",
-              "interface",
-              "long",
-              "native",
-              "new",
-              "null", // not a keyword
-              "package",
-              "private",
-              "protected",
-              "public",
-              "return",
-              "short",
-              "static",
-              "super",
-              "switch",
-              "synchronized",
-              "this",
-              "threadsafe",
-              "throw",
-              "throws",
-              "transient",
-              "true", // not a keyword
-              "try",
-              "void",
-              "volatile",
-              "while",
-        }
-    ));
-
-    /*
-    private final static Set javaNames = new HashSet(Arrays.asList(
-        new String[]
-        {
-            "CharSequence",
-            "Cloneable",
-            "Comparable",
-            "Runnable",
-
-            "Boolean",
-            "Byte",
-            "Character",
-            "Class",
-            "ClassLoader",
-            "Compiler",
-            "Double",
-            "Float",
-            "InheritableThreadLocal",
-            "Integer",
-            "Long",
-            "Math",
-            "Number",
-            "Object",
-            "Package",
-            "Process",
-            "Runtime",
-            "RuntimePermission",
-            "SecurityManager",
-            "Short",
-            "StackTraceElement",
-            "StrictMath",
-            "String",
-            "StringBuffer",
-            "System",
-            "Thread",
-            "ThreadGroup",
-            "ThreadLocal",
-            "Throwable",
-            "Void",
-
-            "ArithmeticException",
-            "ArrayIndexOutOfBoundsException",
-            "ArrayStoreException",
-            "ClassCastException",
-            "ClassNotFoundException",
-            "CloneNotSupportedException",
-            "Exception",
-            "IllegalAccessException",
-            "IllegalArgumentException",
-            "IllegalMonitorStateException",
-            "IllegalStateException",
-            "IllegalThreadStateException",
-            "IndexOutOfBoundsException",
-            "InstantiationException",
-            "InterruptedException",
-            "NegativeArraySizeException",
-            "NoSuchFieldException",
-            "NoSuchMethodException",
-            "NullPointerException",
-            "NumberFormatException",
-            "RuntimeException",
-            "SecurityException",
-            "StringIndexOutOfBoundsException",
-            "UnsupportedOperationException",
-
-            "AbstractMethodError",
-            "AssertionError",
-            "ClassCircularityError",
-            "ClassFormatError",
-            "Error",
-            "ExceptionInInitializerError",
-            "IllegalAccessError",
-            "IncompatibleClassChangeError",
-            "InstantiationError",
-            "InternalError",
-            "LinkageError",
-            "NoClassDefFoundError",
-            "NoSuchFieldError",
-            "NoSuchMethodError",
-            "OutOfMemoryError",
-            "StackOverflowError",
-            "ThreadDeath",
-            "UnknownError",
-            "UnsatisfiedLinkError",
-            "UnsupportedClassVersionError",
-            "VerifyError",
-            "VirtualMachineError",
-        }
-    ));
-    */
-
-    private final static Set javaNames = new HashSet(Arrays.asList(
-        new String[]
-        {
-            // 1. all the Java.lang classes [1.4.1 JDK].
-            "CharSequence",
-            "Cloneable",
-            "Comparable",
-            "Runnable",
-
-            "Boolean",
-            "Byte",
-            "Character",
-            "Class",
-            "ClassLoader",
-            "Compiler",
-            "Double",
-            "Float",
-            "InheritableThreadLocal",
-            "Integer",
-            "Long",
-            "Math",
-            "Number",
-            "Object",
-            "Package",
-            "Process",
-            "Runtime",
-            "RuntimePermission",
-            "SecurityManager",
-            "Short",
-            "StackTraceElement",
-            "StrictMath",
-            "String",
-            "StringBuffer",
-            "System",
-            "Thread",
-            "ThreadGroup",
-            "ThreadLocal",
-            "Throwable",
-            "Void",
-
-            "ArithmeticException",
-            "ArrayIndexOutOfBoundsException",
-            "ArrayStoreException",
-            "ClassCastException",
-            "ClassNotFoundException",
-            "CloneNotSupportedException",
-            "Exception",
-            "IllegalAccessException",
-            "IllegalArgumentException",
-            "IllegalMonitorStateException",
-            "IllegalStateException",
-            "IllegalThreadStateException",
-            "IndexOutOfBoundsException",
-            "InstantiationException",
-            "InterruptedException",
-            "NegativeArraySizeException",
-            "NoSuchFieldException",
-            "NoSuchMethodException",
-            "NullPointerException",
-            "NumberFormatException",
-            "RuntimeException",
-            "SecurityException",
-            "StringIndexOutOfBoundsException",
-            "UnsupportedOperationException",
-
-            "AbstractMethodError",
-            "AssertionError",
-            "ClassCircularityError",
-            "ClassFormatError",
-            "Error",
-            "ExceptionInInitializerError",
-            "IllegalAccessError",
-            "IncompatibleClassChangeError",
-            "InstantiationError",
-            "InternalError",
-            "LinkageError",
-            "NoClassDefFoundError",
-            "NoSuchFieldError",
-            "NoSuchMethodError",
-            "OutOfMemoryError",
-            "StackOverflowError",
-            "ThreadDeath",
-            "UnknownError",
-            "UnsatisfiedLinkError",
-            "UnsupportedClassVersionError",
-            "VerifyError",
-            "VirtualMachineError",
-
-            // 2. other classes used as primitive types by xml beans
-            "BigInteger",
-            "BigDecimal",
-            "Enum",
-            "Date",
-            "GDate",
-            "GDuration",
-            "QName",
-            "List",
-
-            // 3. the top few org.apache.xmlbeans names
-            "XmlObject",
-            "XmlCursor",
-            "XmlBeans",
-            "SchemaType",
-        }
-    ));
-
-    public static boolean isValidJavaIdentifier(String id)
-    {
-        if (id == null)
-            throw new IllegalArgumentException("id cannot be null");
-
-        int len = id.length();
-        if (len == 0)
-            return false;
-
-        if (javaWords.contains(id))
-            return false;
-
-        if (!Character.isJavaIdentifierStart(id.charAt(0)))
-            return false;
-
-        for (int i = 1; i < len; i++)
-        {
-            if (!Character.isJavaIdentifierPart(id.charAt(i)))
-                return false;
-        }
-
-        return true;
-    }
-
-    /*
-    public static String getJAXRPCClassName( String name )
-    {
-        name = name.replace('.', '_');
-        name = uppercaseFirstLetter( name );
-
-        if (isValidJavaIdentifer(name))
-        {
-            return name;
-        }
-        else
-        {
-            return "_" + name;
-        }
-    }
-
-    public static String getJAXRPCMethodName(String name)
-    {
-        name = name.replace('.','_');
-        name = lowercaseFirstLetter(name);
-
-        if (isValidJavaIdentifer(name))
-        {
-            return name;
-        }
-        else
-        {
-            return "_" + name;
-        }
-    }
-
-    public static XMLName getXMLNameFromClass(Class clazz)
-    {
-        String uri = NameUtil.getNamespaceFromPackage(clazz);
-        String lname = NameUtil.getRootClassNameFromClass(clazz.getName());
-        XMLName xsd_name = new Name(uri, lname);
-        return xsd_name;
-    }
-    */
-
-    public static String getClassNameFromQName(QName qname)
-    {
-        String java_type = upperCamelCase(qname.getLocalPart());
-
-        String uri = qname.getNamespaceURI();
-        String java_pkg = null;
-
-        java_pkg = getPackageFromNamespace(uri);
-
-        if (java_pkg != null)
-            return java_pkg + "." + java_type;
-        else
-            return java_type;
-    }
-
-    private static final String JAVA_NS_PREFIX="java:";
-    private static final String LANG_PREFIX = "java.";
-
-    public static String getNamespaceFromPackage(final Class clazz)
-    {
-        Class curr_clazz = clazz;
-
-        while (curr_clazz.isArray())
-            curr_clazz = curr_clazz.getComponentType();
-
-        String fullname = clazz.getName();
-        int lastdot = fullname.lastIndexOf('.');
-        String pkg_name = lastdot < 0 ? "" : fullname.substring(0, lastdot);
-
-        //special case for builtin types
-        /*
-        if (curr_clazz.isPrimitive())
-        {
-            pkg_name = c.getJavaLanguageNamespaceUri();
-        }
-        else if (pkg_name.startsWith(LANG_PREFIX))
-        {
-            final String rem_str = pkg_name.substring(LANG_PREFIX.length());
-            pkg_name = c.getJavaLanguageNamespaceUri() + "." + rem_str;
-        }
-        */
-        return JAVA_NS_PREFIX + pkg_name;
-    }
-
-    private static boolean isUriSchemeChar(char ch)
-    {
-        return (ch >= 'a' && ch <='z' ||
-            ch >= 'A' && ch <='Z' ||
-            ch >= '0' && ch <='9' ||
-            ch == '-' || ch == '.' || ch == '+');
-    }
-
-    private static boolean isUriAlphaChar(char ch)
-    {
-        return (ch >= 'a' && ch <='z' || ch >= 'A' && ch <= 'Z');
-    }
-
-    private static int findSchemeColon(String uri)
-    {
-        int len = uri.length();
-        if (len == 0)
-            return -1;
-        if (!isUriAlphaChar(uri.charAt(0)))
-            return -1;
-        int i;
-        for (i = 1; i < len; i++)
-            if (!isUriSchemeChar(uri.charAt(i)))
-                break;
-        if (i == len)
-            return -1;
-        if (uri.charAt(i) != ':')
-            return -1;
-        return i;
-    }
-
-    private static String jls77String(String name)
-    {
-        StringBuffer buf = new StringBuffer(name);
-        for (int i = 0; i < name.length(); i++)
-        {
-            if (!Character.isJavaIdentifierPart(buf.charAt(i)))
-                buf.setCharAt(i, '_');
-        }
-        if (buf.length() == 0 || !Character.isJavaIdentifierStart(buf.charAt(0)))
-            buf.insert(0, '_');
-        if (isJavaReservedWord(name))
-            buf.append('_');
-        return buf.toString();
-    }
-
-    private static List splitDNS(String dns)
-    {
-        // JAXB says: only split+reverse DNS if TLD matches known TLDs or ISO 3166
-        // We are ignoring this now (TH)
-
-        List result = new ArrayList();
-
-        int end = dns.length();
-        int begin = dns.lastIndexOf('.');
-        for ( ; begin != -1 ; begin--)
-        {
-            if (dns.charAt(begin) == '.') {
-                result.add(jls77String(dns.substring(begin + 1, end)));
-                end = begin;
-            }
-        }
-        result.add(jls77String(dns.substring(0, end)));
-
-        // JAXB draft example implies removal of www
-        if (result.size() >= 3 &&
-                ((String)result.get(result.size() - 1)).toLowerCase().equals("www"))
-            result.remove(result.size() - 1);
-
-        return result;
-    }
-
-    private static String processFilename(String filename)
-    {
-        // JAXB says: strip 2 or 3 letter extension or ".html"
-
-        int i = filename.lastIndexOf('.');
-        if (i > 0 && (
-                i + 1 + 2 == filename.length() ||
-                i + 1 + 3 == filename.length() ||
-                filename.substring(i + 1).toLowerCase() == "html"))
-        {
-            return filename.substring(0, i);
-        }
-
-        return filename;
-    }
-
-    public static String getPackageFromNamespace(String uri)
-    {
-        // special case: no namespace -> package "noNamespace"
-        if (uri == null || uri.length() == 0)
-            return "noNamespace";
-
-        // apply draft JAXB rules
-        int len = uri.length();
-        int i = findSchemeColon(uri);
-        List result = null;
-
-        if ( i >= 0 && uri.substring(0, i).equals("java"))
-            result =  Arrays.asList(uri.substring(i + 1).split("\\."));
-
-        else {
-            result = new ArrayList();
-            outer: for (i = i + 1; i < len; )
-            {
-                while (uri.charAt(i) == '/')
-                    if (++i >= len) break outer;
-                int start = i;
-                while (uri.charAt(i) != '/')
-                    if (++i >= len) break;
-                int end = i;
-                result.add(uri.substring(start, end));
-            }
-            if (result.size() > 1)
-                result.set(result.size() - 1, processFilename((String)result.get(result.size() - 1)));
-
-            if (result.size() > 0)
-            {
-                List splitdns = splitDNS((String)result.get(0));
-                result.remove(0);
-                result.addAll(0, splitdns);
-            }
-        }
-
-        StringBuffer buf = new StringBuffer();
-        for (Iterator it = result.iterator(); it.hasNext(); )
-        {
-            buf.append(nonJavaKeyword(lowerCamelCase((String)it.next())));
-            buf.append('.');
-        }
-        return buf.substring(0, buf.length() - 1); // chop off extra dot
-    }
-
-    public static void main(String[] args)
-    {
-        for (int i = 0; i < args.length; i++)
-            System.out.println(upperCaseUnderbar(args[i]));
-    }
-
-    /**
-     * Returns a upper-case-and-underbar string using the JAXB rules.
-     * Always starts with a capital letter that is a valid
-     * java identifier start. (If JAXB rules don't produce
-     * one, then "X_" is prepended.)
-     */
-    public static String upperCaseUnderbar(String xml_name)
-    {
-        StringBuffer buf = new StringBuffer();
-        List words = splitWords(xml_name);
-
-        final int sz = words.size() - 1;
-        if (sz >= 0 && !Character.isJavaIdentifierStart(((String)words.get(0)).charAt(0)))
-            buf.append("X_");
-
-        for(int i = 0 ; i < sz ; i++)
-        {
-            buf.append((String)words.get(i));
-            buf.append(USCORE);
-        }
-
-        if (sz >= 0)
-        {
-            buf.append((String)words.get(sz));
-        }
-
-        //upcase entire buffer
-        final int len = buf.length();
-        for(int j = 0 ; j < len ; j++)
-        {
-            char c = buf.charAt(j);
-            buf.setCharAt(j, Character.toUpperCase(c));
-        }
-
-        return buf.toString();
-    }
-
-    /**
-     * Returns a camel-cased string using the JAXB rules.
-     * Always starts with a capital letter that is a valid
-     * java identifier start. (If JAXB rules don't produce
-     * one, then "X" is prepended.)
-     */
-    public static String upperCamelCase(String xml_name)
-    {
-        StringBuffer buf = new StringBuffer();
-        List words = splitWords(xml_name);
-
-        if (words.size() > 0)
-        {
-            if (!Character.isJavaIdentifierStart(((String)words.get(0)).charAt(0)))
-                buf.append("X");
-
-            Iterator itr = words.iterator();
-            while(itr.hasNext())
-                buf.append((String)itr.next());
-        }
-        return buf.toString();
-    }
-
-    /**
-     * Returns a camel-cased string using the JAXB rules,
-     * where the first component is lowercased. Note that
-     * if the first component is an acronym, the whole
-     * thigns gets lowercased.
-     * Always starts with a lowercase letter that is a valid
-     * java identifier start. (If JAXB rules don't produce
-     * one, then "x" is prepended.)
-     */
-    public static String lowerCamelCase(String xml_name)
-    {
-        StringBuffer buf = new StringBuffer();
-        List words = splitWords(xml_name);
-
-        if (words.size() > 0)
-        {
-            String first = ((String)words.get(0)).toLowerCase();
-            char f = first.charAt(0);
-            if (!Character.isJavaIdentifierStart(f))
-                buf.append("x");
-            buf.append(first);
-
-            Iterator itr = words.iterator();
-            itr.next(); // skip already-lowercased word
-            while(itr.hasNext())
-                buf.append((String)itr.next());
-        }
-        return buf.toString();
-    }
-
-    public static String upperCaseFirstLetter(String s)
-    {
-        if (s.length() == 0 || Character.isUpperCase(s.charAt(0)))
-            return s;
-
-        StringBuffer buf = new StringBuffer(s);
-        buf.setCharAt(0, Character.toUpperCase(buf.charAt(0)));
-        return buf.toString();
-    }
-
-
-    /**
-       split an xml name into words via JAXB approach, upcasing first
-       letter of each word as needed, if upcase is true
-
-       ncname is xml ncname (i.e. no colons).
-    */
-    private static void addCapped(List list, String str)
-    {
-        if (str.length() > 0)
-            list.add(upperCaseFirstLetter(str));
-    }
-
-    public static List splitWords(String name)
-    {
-        List list = new ArrayList();
-        int len = name.length();
-        int start = 0;
-        int prefix = START;
-        for (int i = 0; i < len; i++)
-        {
-            int current = getCharClass(name.charAt(i));
-            if (prefix != PUNCT && current == PUNCT)
-            {
-                addCapped(list, name.substring(start, i));
-                while ((current = getCharClass(name.charAt(i))) == PUNCT)
-                    if (++i >= len) return list;
-                start = i;
-            }
-            else if ((prefix == DIGIT) != (current == DIGIT) ||
-                     (prefix == LOWER && current != LOWER) ||
-                     (isLetter(prefix) != isLetter(current)))
-            {
-                addCapped(list, name.substring(start, i));
-                start = i;
-            }
-            else if (prefix == UPPER && current == LOWER && i > start + 1)
-            {
-                addCapped(list, name.substring(start, i - 1));
-                start = i - 1;
-            }
-            prefix = current;
-        }
-        addCapped(list, name.substring(start));
-        return list;
-    }
-
-    //char classes
-    private final static int START = 0;
-    private final static int PUNCT = 1;
-    private final static int DIGIT = 2;
-    private final static int MARK = 3;
-    private final static int UPPER = 4;
-    private final static int LOWER= 5;
-    private final static int NOCASE= 6;
-
-    public static int getCharClass(char c)
-    {
-        //ordering is important here.
-        if (isPunctuation(c))
-            return PUNCT;
-        else if (Character.isDigit(c))
-            return DIGIT;
-        else if (Character.isUpperCase(c))
-            return UPPER;
-        else if (Character.isLowerCase(c))
-            return LOWER;
-        else if (Character.isLetter(c))
-            return NOCASE;
-        else if (Character.isJavaIdentifierPart(c))
-            return MARK;
-        else
-            return PUNCT; // not covered by JAXB: treat it as punctuation
-    }
-
-    private static boolean isLetter(int state)
-    {
-        return (state==UPPER
-              || state==LOWER
-              || state==NOCASE);
-    }
-
-    public static boolean isPunctuation(char c)
-    {
-        return (c == HYPHEN
-              || c == PERIOD
-              || c == COLON
-              || c == USCORE
-              || c == DOT
-              || c == TELEIA
-              || c == AYAH
-              || c == ELHIZB);
-    }
-
-    /**
-     * Intended to be applied to a lowercase-starting identifier that
-     * may collide with a Java keyword.  If it does collide, this
-     * prepends the letter "x".
-     */
-    public static String nonJavaKeyword(String word)
-    {
-        if (isJavaReservedWord(word))
-            return 'x' + word;
-        return word;
-    }
-
-    /**
-     * Intended to be applied to an uppercase-starting identifier that
-     * may collide with a java.lang.* classname.  If it does collide, this
-     * prepends the letter "X".
-     */
-    public static String nonJavaCommonClassName(String name)
-    {
-        if (isJavaCommonClassName(name))
-            return "X" + name;
-        return name;
-    }
-
-    private static boolean isJavaReservedWord(String word)
-    {
-        return isJavaReservedWord(word, true);
-    }
-
-    private static boolean isJavaReservedWord(String word, boolean ignore_case)
-    {
-        if (ignore_case)
-            word = word.toLowerCase();
-        return javaWords.contains(word);
-    }
-
-    public static boolean isJavaCommonClassName(String word)
-    {
-        return javaNames.contains(word);
-    }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/PrefixResolver.java b/v1/src/common/org/apache/xmlbeans/impl/common/PrefixResolver.java
deleted file mode 100644
index a28fda8..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/PrefixResolver.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-public interface PrefixResolver
-{
-    /**
-     * Caled when the user has a prefix and needs to look up the corresponding
-     * namespace URI. If the prefix is not defined in this context, then this
-     * method may return null.  The no-namespace is represented by the empty
-     * string return result.
-     * 
-     * If the prefix is null or "", then the default namespace is being
-     * requested.
-     */
-    String getNamespaceForPrefix(String prefix);
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/PushedInputStream.java b/v1/src/common/org/apache/xmlbeans/impl/common/PushedInputStream.java
deleted file mode 100644
index 49a96a3..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/PushedInputStream.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.InputStream;
-
-
-public abstract class PushedInputStream extends InputStream
-{
-    private static int defaultBufferSize = 2048;
-    protected byte buf[];
-    protected int writepos;
-    protected int readpos;
-    protected int markpos = -1;
-    protected int marklimit;
-    protected OutputStream outputStream = new InternalOutputStream();
-
-    /**
-     * Called when more bytes need to be written into this stream
-     * (as an OutputStream).
-     *
-     * This method must write at least one byte if the stream is
-     * not ended, and it must not write any bytes if the stream has
-     * already ended.
-     */
-    protected abstract void fill(int requestedBytes) throws IOException;
-
-    /**
-     * Returns the linked output stream.
-     *
-     * This is the output stream that must be written to whenever
-     * the fill method is called.
-     */
-    public final OutputStream getOutputStream()
-    {
-        return outputStream;
-    }
-
-    public PushedInputStream()
-    {
-        this(defaultBufferSize);
-    }
-
-    public PushedInputStream(int size)
-    {
-        if (size < 0)
-        {
-            throw new IllegalArgumentException("Negative initial buffer size");
-        }
-        buf = new byte[size];
-    }
-
-    /**
-     * Makes room for cb more bytes of data
-     */
-    private void shift(int cb)
-    {
-        int savepos = readpos;
-        if (markpos > 0)
-        {
-            if (readpos - markpos > marklimit)
-                markpos = -1;
-            else
-                savepos = markpos;
-        }
-
-        int size = writepos - savepos;
-
-        if (savepos > 0 && buf.length - size >= cb && size <= cb)
-        {
-            System.arraycopy(buf, savepos, buf, 0, size);
-        }
-        else
-        {
-            int newcount = size + cb;
-            byte newbuf[] = new byte[Math.max(buf.length << 1, newcount)];
-            System.arraycopy(buf, savepos, newbuf, 0, size);
-            buf = newbuf;
-        }
-
-        if (savepos > 0)
-        {
-            readpos -= savepos;
-            if (markpos > 0)
-                markpos -= savepos;
-            writepos -= savepos;
-        }
-    }
-
-    public synchronized int read() throws IOException
-    {
-        if (readpos >= writepos)
-        {
-            fill(1);
-            if (readpos >= writepos)
-                return -1;
-        }
-        return buf[readpos++] & 0xff;
-    }
-
-    /**
-     * Read characters into a portion of an array, reading from the underlying
-     * stream at most once if necessary.
-     */
-    public synchronized int read(byte[] b, int off, int len) throws IOException
-    {
-        int avail = writepos - readpos;
-        if (avail < len)
-        {
-            fill(len - avail);
-            avail = writepos - readpos;
-            if (avail <= 0) return -1;
-        }
-        int cnt = (avail < len) ? avail : len;
-        System.arraycopy(buf, readpos, b, off, cnt);
-        readpos += cnt;
-        return cnt;
-    }
-
-    public synchronized long skip(long n) throws IOException
-    {
-        if (n <= 0)
-            return 0;
-
-        long avail = writepos - readpos;
-
-        if (avail < n)
-        {
-            // Fill in buffer to save bytes for reset
-            long req = n - avail;
-            if (req > Integer.MAX_VALUE)
-                req = Integer.MAX_VALUE;
-            fill((int)req);
-            avail = writepos - readpos;
-            if (avail <= 0)
-                return 0;
-        }
-
-        long skipped = (avail < n) ? avail : n;
-        readpos += skipped;
-        return skipped;
-    }
-
-    public synchronized int available()
-    {
-        return writepos - readpos;
-    }
-
-    public synchronized void mark(int readlimit)
-    {
-        marklimit = readlimit;
-        markpos = readpos;
-    }
-
-    public synchronized void reset() throws IOException
-    {
-        if (markpos < 0)
-            throw new IOException("Resetting to invalid mark");
-        readpos = markpos;
-    }
-
-    public boolean markSupported()
-    {
-        return true;
-    }
-
-    private class InternalOutputStream extends OutputStream
-    {
-        public synchronized void write(int b) throws IOException
-        {
-            if (writepos + 1 > buf.length)
-            {
-                shift(1);
-            }
-            buf[writepos] = (byte)b;
-            writepos += 1;
-        }
-
-        public synchronized void write(byte b[], int off, int len)
-        {
-            if ((off < 0) || (off > b.length) || (len < 0) ||
-                ((off + len) > b.length) || ((off + len) < 0))
-                throw new IndexOutOfBoundsException();
-            else if (len == 0)
-                return;
-
-            if (writepos + len > buf.length)
-                shift(len);
-
-            System.arraycopy(b, off, buf, writepos, len);
-            writepos += len;
-        }
-    }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/QNameHelper.java b/v1/src/common/org/apache/xmlbeans/impl/common/QNameHelper.java
deleted file mode 100644
index 55d87b0..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/QNameHelper.java
+++ /dev/null
@@ -1,417 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer.
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache
-*    XMLBeans", nor may "Apache" appear in their name, without prior
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import javax.xml.namespace.QName;
-import weblogic.xml.stream.XMLName;
-
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Collections;
-import java.io.UnsupportedEncodingException;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaField;
-
-public class QNameHelper
-{
-    private static final Map WELL_KNOWN_PREFIXES = buildWKP();
-
-    public static XMLName getXMLName(QName qname)
-    {
-        if (qname == null)
-            return null;
-
-        return XMLNameHelper.forLNS( qname.getLocalPart(), qname.getNamespaceURI() );
-    }
-
-    public static QName forLNS(String localname, String uri)
-    {
-        if (uri == null)
-            uri = "";
-        return new QName(uri, localname);
-    }
-
-    public static QName forLN(String localname)
-    {
-        return new QName("", localname);
-    }
-
-    public static QName forPretty(String pretty, int offset)
-    {
-        int at = pretty.indexOf('@', offset);
-        if (at < 0)
-            return new QName("", pretty.substring(offset));
-        return new QName(pretty.substring(at + 1), pretty.substring(offset, at));
-    }
-
-    public static String pretty(QName name)
-    {
-        if (name == null)
-            return "null";
-
-        if (name.getNamespaceURI() == null || name.getNamespaceURI().length() == 0)
-            return name.getLocalPart();
-
-        return name.getLocalPart() + "@" + name.getNamespaceURI();
-    }
-
-    private static final char[] hexdigits = new char[]
-        {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
-
-    private static boolean isSafe(int c)
-    {
-        if (c >= 'a' && c <= 'z')
-            return true;
-        if (c >= 'A' && c <= 'Z')
-            return true;
-        if (c >= '0' && c <= '9')
-            return true;
-        return false;
-    }
-
-    // This produces a string which is a safe filename from the given string s.
-    // To make it a safe filename, the following two transformations are applied:
-    //
-    // 1. First all non-ascii-alphanumeric characters are escaped using
-    //    their UTF8 byte sequence, in the form _xx_xx_xx, for example,
-    //    "Hello_20There" for "Hello There".  (Obviously, a single unicode
-    //    character may expand into as many as three escape patterns.)
-    //    If the resulting string is 64 characters or fewer, that's the result.
-    //
-    // 2. If the resulting string is longer than 64 characters, then it is
-    //    discarded.  Instead, the SHA1 algorithm is run on the original
-    //    string's UTF8 representation, and then the resulting 20-byte message
-    //    digest is turned into a 40-character hex string; then "URI_SHA_1_" is
-    //    prepended.
-    //
-    // The reason for the "shortening" is to avoid filenames longer than about
-    // 256 characters, which are prohibited on Windows NT.
-
-    public static final int MAX_NAME_LENGTH = 64;
-
-    public static String hexsafe(String s)
-    {
-        StringBuffer result = new StringBuffer();
-        for (int i = 0; i < s.length(); i++)
-        {
-            char ch = s.charAt(i);
-            if (isSafe(ch))
-            {
-                result.append(ch);
-            }
-            else
-            {
-                byte[] utf8 = null;
-                try
-                {
-                    utf8 = s.substring(i, i + 1).getBytes("UTF-8");
-                    for (int j = 0; j < utf8.length; j++)
-                    {
-                        result.append('_');
-                        result.append(hexdigits[(utf8[j] >> 4) & 0xF]);
-                        result.append(hexdigits[utf8[j] & 0xF]);
-                    }
-                }
-                catch(UnsupportedEncodingException uee)
-                {
-                    // should never happen - UTF-8 i always supported
-                    result.append("_BAD_UTF8_CHAR");
-                }
-            }
-        }
-
-        // short enough? Done!
-        if (result.length() <= MAX_NAME_LENGTH)
-            return result.toString();
-
-        // too long? use SHA1
-        try
-        {
-            MessageDigest md = MessageDigest.getInstance("SHA");
-            byte[] inputBytes = null;
-            try
-            {
-                inputBytes = s.getBytes("UTF-8");
-            }
-            catch(UnsupportedEncodingException uee)
-            {
-                // should never happen - UTF-8 is always supported
-                inputBytes = new byte[0];
-            }
-            byte[] digest = md.digest(inputBytes);
-            assert(digest.length == 20); // SHA1 160 bits == 20 bytes
-            result = new StringBuffer("URI_SHA_1_");
-            for (int j = 0; j < digest.length; j++)
-            {
-                result.append(hexdigits[(digest[j] >> 4) & 0xF]);
-                result.append(hexdigits[digest[j] & 0xF]);
-            }
-            return result.toString();
-        }
-        catch (NoSuchAlgorithmException e)
-        {
-            throw new IllegalStateException("Using in a JDK without an SHA implementation");
-        }
-    }
-
-    public static String hexsafedir(QName name)
-    {
-        if (name.getNamespaceURI() == null || name.getNamespaceURI().length() == 0)
-            return "_nons/" + hexsafe(name.getLocalPart());
-        return hexsafe(name.getNamespaceURI()) + "/" + hexsafe(name.getLocalPart());
-    }
-
-    private static Map buildWKP()
-    {
-        Map result = new HashMap();
-        result.put("http://www.w3.org/XML/1998/namespace", "xml");
-        result.put("http://www.w3.org/2001/XMLSchema", "xs");
-        result.put("http://www.w3.org/2001/XMLSchema-instance", "xsi");
-        result.put("http://schemas.xmlsoap.org/wsdl/", "wsdl");
-        result.put("http://schemas.xmlsoap.org/soap/encoding/", "soapenc");
-        result.put("http://schemas.xmlsoap.org/soap/envelope/", "soapenv");
-        return Collections.unmodifiableMap(result);
-    }
-
-    public static String readable(SchemaType sType)
-    {
-        return readable(sType, WELL_KNOWN_PREFIXES);
-    }
-
-    public static String readable(SchemaType sType, Map nsPrefix)
-    {
-        if (sType.getName() != null)
-        {
-            return readable(sType.getName(), nsPrefix);
-        }
-
-        if (sType.isAttributeType())
-        {
-            return "attribute type " + readable(sType.getAttributeTypeAttributeName(), nsPrefix);
-        }
-
-        if (sType.isDocumentType())
-        {
-            return "document type " + readable(sType.getDocumentElementName(), nsPrefix);
-        }
-
-        if (sType.isNoType() || sType.getOuterType() == null)
-        {
-            return "invalid type";
-        }
-
-        SchemaType outerType = sType.getOuterType();
-        SchemaField container = sType.getContainerField();
-
-        if (outerType.isAttributeType())
-        {
-            return "type of attribute " + readable(container.getName(), nsPrefix);
-        }
-        else if (outerType.isDocumentType())
-        {
-            return "type of element " + readable(container.getName(), nsPrefix);
-        }
-
-        if (container != null)
-        {
-            if (container.isAttribute())
-            {
-                return "type of " + container.getName().getLocalPart() + " attribute in " + readable(outerType, nsPrefix);
-            }
-            else
-            {
-                return "type of " + container.getName().getLocalPart() + " element in " + readable(outerType, nsPrefix);
-            }
-        }
-
-        if (outerType.getBaseType() == sType)
-            return "base type of " + readable(outerType, nsPrefix);
-        else if (outerType.getSimpleVariety() == SchemaType.LIST)
-            return "item type of " + readable(outerType, nsPrefix);
-        else if (outerType.getSimpleVariety() == SchemaType.UNION)
-            return "member type " + sType.getAnonymousUnionMemberOrdinal() + " of " + readable(outerType, nsPrefix);
-        else
-            return "inner type in " + readable(outerType, nsPrefix);
-    }
-
-    public static String readable(QName name)
-    {
-        return readable(name, WELL_KNOWN_PREFIXES);
-    }
-
-    public static String readable(QName name, Map prefixes)
-    {
-        if (name.getNamespaceURI().length() == 0)
-            return name.getLocalPart();
-        String prefix = (String)prefixes.get(name.getNamespaceURI());
-        if (prefix != null)
-            return prefix + ":" + name.getLocalPart();
-        return name.getLocalPart() + " in namespace " + name.getNamespaceURI();
-    }
-
-    public static String suggestPrefix(String namespace)
-    {
-        String result = (String)WELL_KNOWN_PREFIXES.get(namespace);
-        if (result != null)
-            return result;
-
-        int len = namespace.length();
-        int i = namespace.lastIndexOf('/');
-        if (i > 0 && i == namespace.length() - 1)
-        {
-            len = i;
-            i = namespace.lastIndexOf('/', i - 1);
-        }
-
-        i += 1; // skip '/', also covers -1 case.
-
-        if (namespace.startsWith("www.", i))
-        {
-            i += 4; // "www.".length()
-        }
-
-        while (i < len)
-        {
-            if (XMLChar.isNCNameStart(namespace.charAt(i)))
-                break;
-            i += 1;
-        }
-
-        for (int end = i + 1; end < len; end += 1)
-        {
-            if (!XMLChar.isNCName(namespace.charAt(end)) || !Character.isLetterOrDigit(namespace.charAt(end)))
-            {
-                len = end;
-                break;
-            }
-        }
-
-        // prefixes starting with "xml" are forbidden, so change "xmls" -> "xs"
-        if (namespace.length() >= i + 3 && startsWithXml(namespace, i))
-        {
-            if (namespace.length() >= i + 4)
-                return "x" + Character.toLowerCase(namespace.charAt(i + 3));
-            return "ns";
-        }
-
-        if (len - i > 4) // four or less? leave it.
-        {
-            if (isVowel(namespace.charAt(i + 2)) && !isVowel(namespace.charAt(i + 3)))
-                len = i + 4;
-            else
-                len = i + 3; // more than four? truncate to 3.
-        }
-
-        int n;
-
-        if (len - i == 0)
-            return "ns";
-
-        return namespace.substring(i, len).toLowerCase();
-    }
-
-    private static boolean startsWithXml(String s, int i)
-    {
-        if (s.length() < i + 3)
-            return false;
-
-        if (s.charAt(i) != 'X' && s.charAt(i) != 'x')
-            return false;
-        if (s.charAt(i + 1) != 'M' && s.charAt(i + 1) != 'm')
-            return false;
-        if (s.charAt(i + 2) != 'L' && s.charAt(i + 2) != 'l')
-            return false;
-
-        return true;
-    }
-
-    private static boolean isVowel(char ch)
-    {
-        switch (ch)
-        {
-            case 'a':
-            case 'e':
-            case 'i':
-            case 'o':
-            case 'u':
-            case 'A':
-            case 'E':
-            case 'I':
-            case 'O':
-            case 'U':
-                return true;
-            default:
-                return false;
-        }
-    }
-
-    public static String namespace(SchemaType sType)
-    {
-        while (sType != null)
-        {
-            if (sType.getName() != null)
-                return sType.getName().getNamespaceURI();
-            if (sType.getContainerField() != null && sType.getContainerField().getName().getNamespaceURI().length() > 0)
-                return sType.getContainerField().getName().getNamespaceURI();
-            sType = sType.getOuterType();
-        }
-        return "";
-    }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/ReaderInputStream.java b/v1/src/common/org/apache/xmlbeans/impl/common/ReaderInputStream.java
deleted file mode 100644
index b4782f5..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/ReaderInputStream.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import java.io.Reader;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.io.UnsupportedEncodingException;
-import java.io.IOException;
-
-public class ReaderInputStream extends PushedInputStream
-{
-    private Reader reader;
-    private Writer writer;
-    private char[] buf;
-    public static int defaultBufferSize = 2048;
-
-    public ReaderInputStream(Reader reader, String encoding) throws UnsupportedEncodingException
-    {
-        this(reader, encoding, defaultBufferSize);
-    }
-
-    public ReaderInputStream(Reader reader, String encoding, int bufferSize) throws UnsupportedEncodingException
-    {
-        if (bufferSize <= 0)
-            throw new IllegalArgumentException("Buffer size <= 0");
-
-        this.reader = reader;
-        this.writer = new OutputStreamWriter(getOutputStream(), encoding);
-        buf = new char[bufferSize];
-    }
-
-    public void fill(int requestedBytes) throws IOException
-    {
-        do
-        {
-            int chars = reader.read(buf);
-            if (chars < 0)
-                return;
-
-            writer.write(buf, 0, chars);
-            writer.flush();
-        }
-        while (available() <= 0); // loop for safety, in case encoding didn't produce any bytes yet
-    }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/SniffedXmlInputStream.java b/v1/src/common/org/apache/xmlbeans/impl/common/SniffedXmlInputStream.java
deleted file mode 100644
index f5fcf8d..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/SniffedXmlInputStream.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import java.io.InputStream;
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.ByteArrayInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.nio.charset.Charset;
-
-public class SniffedXmlInputStream extends BufferedInputStream
-{
-    // We don't sniff more than 192 bytes.
-    public static int MAX_SNIFFED_BYTES = 192;
-
-    public SniffedXmlInputStream(InputStream stream) throws IOException
-    {
-        super(stream);
-
-        // read byte order marks and detect EBCDIC etc
-        _encoding = sniffFourBytes();
-
-        if (_encoding != null && _encoding.equals("IBM037"))
-        {
-            // First four bytes suggest EBCDIC with <?xm at start
-            String encoding = sniffForXmlDecl(_encoding);
-            if (encoding != null)
-                _encoding = encoding;
-        }
-
-        if (_encoding == null)
-        {
-            // Haven't yet determined encoding: sniff for <?xml encoding="..."?>
-            // assuming we can read it as UTF-8.
-            _encoding = sniffForXmlDecl("UTF-8");
-        }
-
-        if (_encoding == null)
-        {
-            // The XML spec says these two things:
-
-            // (1) "In the absence of external character encoding information
-            // (such as MIME headers), parsed entities which are stored in an
-            // encoding other than UTF-8 or UTF-16 must begin with a text
-            // declaration (see 4.3.1 The Text Declaration) containing an
-            // encoding declaration:"
-
-            // (2) "In the absence of information provided by an external
-            // transport protocol (e.g. HTTP or MIME), it is an error
-            // for an entity including an encoding declaration to be
-            // presented to the XML processor in an encoding other than
-            // that named in the declaration, or for an entity which begins
-            // with neither a Byte Order Mark nor an encoding declaration
-            // to use an encoding other than UTF-8."
-
-            // Since we're using a sniffed stream, we do not have external
-            // character encoding information.
-
-            // Since we're here, we also don't have a recognized byte order
-            // mark or an explicit encoding declaration that can be read in
-            // either ASCII or EBDIC style.
-
-            // Therefore, we must use UTF-8.
-
-            _encoding = "UTF-8";
-        }
-    }
-
-    private int readAsMuchAsPossible(byte[] buf, int startAt, int len) throws IOException
-    {
-        int total = 0;
-        while (total < len)
-        {
-            int count = read(buf, startAt + total, len - total);
-            if (count < 0)
-                break;
-            total += count;
-        }
-        return total;
-    }
-
-    private String sniffFourBytes() throws IOException
-    {
-        mark(4);
-        int skip = 0;
-        try
-        {
-            byte[] buf = new byte[4];
-            if (readAsMuchAsPossible(buf, 0, 4) < 4)
-                return null;
-            long result = 0xFF000000 & (buf[0] << 24) | 0x00FF0000 & (buf[1] << 16) | 0x0000FF00 & (buf[2] << 8) | 0x000000FF & buf[3];
-
-            if (result == 0x0000FEFF)
-                return "UCS-4";
-            else if (result == 0xFFFE0000)
-                return "UCS-4";
-            else if (result == 0x0000003C)
-                return "UCS-4BE";
-            else if (result == 0x3C000000)
-                return "UCS-4LE";
-            else if (result == 0x003C003F)
-                return "UTF-16BE";
-            else if (result == 0x3C003F00)
-                return "UTF-16LE";
-            else if (result == 0x3C3F786D)
-                return null; // looks like US-ASCII with <?xml: sniff
-            else if (result == 0x4C6FA794)
-                return "IBM037"; // Sniff for ebdic codepage
-            else if ((result & 0xFFFF0000) == 0xFEFF0000)
-                return "UTF-16";
-            else if ((result & 0xFFFF0000) == 0xFFFE0000)
-                return "UTF-16";
-            else if ((result & 0xFFFFFF00) == 0xEFBBBF00)
-                return "UTF-8";
-            else return null;
-        }
-        finally
-        {
-            reset();
-        }
-    }
-
-    // BUGBUG in JDK: Charset.forName is not threadsafe, so we'll prime it
-    // with the common charsets.
-
-    private static Charset dummy1 = Charset.forName("UTF-8");
-    private static Charset dummy2 = Charset.forName("UTF-16");
-    private static Charset dummy3 = Charset.forName("UTF-16BE");
-    private static Charset dummy4 = Charset.forName("UTF-16LE");
-    private static Charset dummy5 = Charset.forName("ISO-8859-1");
-    private static Charset dummy6 = Charset.forName("US-ASCII");
-    private static Charset dummy7 = Charset.forName("Cp1252");
-
-
-    private String sniffForXmlDecl(String encoding) throws IOException
-    {
-        mark(MAX_SNIFFED_BYTES);
-        try
-        {
-            byte[] bytebuf = new byte[MAX_SNIFFED_BYTES];
-            int bytelimit = readAsMuchAsPossible(bytebuf, 0, MAX_SNIFFED_BYTES);
-
-            // BUGBUG in JDK: Charset.forName is not threadsafe.
-            Charset charset = Charset.forName(encoding);
-            Reader reader = new InputStreamReader(new ByteArrayInputStream(bytebuf, 0, bytelimit), charset);
-            char[] buf = new char[bytelimit];
-            int limit = 0;
-            while (limit < bytelimit)
-            {
-                int count = reader.read(buf, limit, bytelimit - limit);
-                if (count < 0)
-                    break;
-                limit += count;
-            }
-
-            return extractXmlDeclEncoding(buf, 0, limit);
-        }
-        finally
-        {
-            reset();
-        }
-    }
-
-    private String _encoding;
-
-    public String getXmlEncoding()
-    {
-        return _encoding;
-    }
-
-    /* package */ static String extractXmlDeclEncoding(char[] buf, int offset, int size)
-    {
-        int limit = offset + size;
-        int xmlpi = firstIndexOf("<?xml", buf, offset, limit);
-        if (xmlpi >= 0)
-        {
-            int i = xmlpi + 5;
-            ScannedAttribute attr = new ScannedAttribute();
-            while (i < limit)
-            {
-                i = scanAttribute(buf, i, limit, attr);
-                if (i < 0)
-                    return null;
-                if (attr.name.equals("encoding"))
-                    return attr.value;
-            }
-        }
-        return null;
-    }
-
-    private static int firstIndexOf(String s, char[] buf, int startAt, int limit)
-    {
-        assert(s.length() > 0);
-        char[] lookFor = s.toCharArray();
-
-        char firstchar = lookFor[0];
-        searching: for (limit -= lookFor.length; startAt < limit; startAt++)
-        {
-            if (buf[startAt] == firstchar)
-            {
-                for (int i = 1; i < lookFor.length; i++)
-                {
-                    if (buf[startAt + i] != lookFor[i])
-                    {
-                        continue searching;
-                    }
-                }
-                return startAt;
-            }
-        }
-
-        return -1;
-    }
-
-    private static int nextNonmatchingByte(char[] lookFor, char[] buf, int startAt, int limit)
-    {
-        searching: for (; startAt < limit; startAt++)
-        {
-            int thischar = buf[startAt];
-            for (int i = 0; i < lookFor.length; i++)
-                if (thischar == lookFor[i])
-                    continue searching;
-            return startAt;
-        }
-        return -1;
-    }
-
-    private static int nextMatchingByte(char[] lookFor, char[] buf, int startAt, int limit)
-    {
-        searching: for (; startAt < limit; startAt++)
-        {
-            int thischar = buf[startAt];
-            for (int i = 0; i < lookFor.length; i++)
-                if (thischar == lookFor[i])
-                    return startAt;
-        }
-        return -1;
-    }
-
-    private static int nextMatchingByte(char lookFor, char[] buf, int startAt, int limit)
-    {
-        searching: for (; startAt < limit; startAt++)
-        {
-            if (buf[startAt] == lookFor)
-                return startAt;
-        }
-        return -1;
-    }
-    private static char[] WHITESPACE = new char[] { ' ', '\r', '\t', '\n' };
-    private static char[] NOTNAME = new char[] { '=', ' ', '\r', '\t', '\n', '?', '>', '<', '\'', '\"' };
-
-    private static class ScannedAttribute
-    {
-        public String name;
-        public String value;
-    }
-
-    private static int scanAttribute(char[] buf, int startAt, int limit, ScannedAttribute attr)
-    {
-        int nameStart = nextNonmatchingByte(WHITESPACE, buf, startAt, limit);
-        if (nameStart < 0)
-            return -1;
-        int nameEnd = nextMatchingByte(NOTNAME, buf, nameStart, limit);
-        if (nameEnd < 0)
-            return -1;
-        int equals = nextNonmatchingByte(WHITESPACE, buf, nameEnd, limit);
-        if (equals < 0)
-            return -1;
-        if (buf[equals] != '=')
-            return -1;
-        int valQuote = nextNonmatchingByte(WHITESPACE, buf, equals + 1, limit);
-        if (buf[valQuote] != '\'' && buf[valQuote] != '\"')
-            return -1;
-        int valEndquote = nextMatchingByte(buf[valQuote], buf, valQuote + 1, limit);
-        if (valEndquote < 0)
-            return -1;
-        attr.name = new String(buf, nameStart, nameEnd - nameStart);
-        attr.value = new String(buf, valQuote + 1, valEndquote - valQuote - 1);
-        return valEndquote + 1;
-    }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/SniffedXmlReader.java b/v1/src/common/org/apache/xmlbeans/impl/common/SniffedXmlReader.java
deleted file mode 100644
index 2bc4619..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/SniffedXmlReader.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.BufferedReader;
-import java.nio.charset.Charset;
-
-public class SniffedXmlReader extends BufferedReader
-{
-    // We don't sniff more than 192 bytes.
-    public static int MAX_SNIFFED_CHARS = 192;
-
-    public SniffedXmlReader(Reader reader) throws IOException
-    {
-        super(reader);
-        _encoding = sniffForXmlDecl();
-    }
-
-    private int readAsMuchAsPossible(char[] buf, int startAt, int len) throws IOException
-    {
-        int total = 0;
-        while (total < len)
-        {
-            int count = read(buf, startAt + total, len - total);
-            if (count < 0)
-                break;
-            total += count;
-        }
-        return total;
-    }
-
-    // BUGBUG in JDK: Charset.forName is not threadsafe, so we'll prime it
-    // with the common charsets.
-
-    private static Charset dummy1 = Charset.forName("UTF-8");
-    private static Charset dummy2 = Charset.forName("UTF-16");
-    private static Charset dummy3 = Charset.forName("UTF-16BE");
-    private static Charset dummy4 = Charset.forName("UTF-16LE");
-    private static Charset dummy5 = Charset.forName("ISO-8859-1");
-    private static Charset dummy6 = Charset.forName("US-ASCII");
-    private static Charset dummy7 = Charset.forName("Cp1252");
-
-
-    private String sniffForXmlDecl() throws IOException
-    {
-        mark(MAX_SNIFFED_CHARS);
-        try
-        {
-            char[] buf = new char[MAX_SNIFFED_CHARS];
-            int limit = readAsMuchAsPossible(buf, 0, MAX_SNIFFED_CHARS);
-            return SniffedXmlInputStream.extractXmlDeclEncoding(buf, 0, limit);
-        }
-        finally
-        {
-            reset();
-        }
-    }
-
-    private String _encoding;
-
-    public String getXmlEncoding()
-    {
-        return _encoding;
-    }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/ValidationContext.java b/v1/src/common/org/apache/xmlbeans/impl/common/ValidationContext.java
deleted file mode 100644
index 7eb80c2..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/ValidationContext.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-public interface ValidationContext
-{
-    public void invalid ( String message );
-}
\ No newline at end of file
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/ValidatorListener.java b/v1/src/common/org/apache/xmlbeans/impl/common/ValidatorListener.java
deleted file mode 100644
index 949ebe1..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/ValidatorListener.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import org.apache.xmlbeans.XmlCursor;
-import javax.xml.namespace.QName;
-
-/**
- * First event must be a BEGIN with no name (to communicate any xsi
- * information).  BEGIN and END need to match.
- */
-
-public interface ValidatorListener
-{
-    public static final int BEGIN    = 1; // Begin element
-    public static final int END      = 2; // End element
-    public static final int TEXT     = 3; // Text
-    public static final int ATTR     = 4; // Attr (non-namespaces, non xsi only)
-    public static final int ENDATTRS = 5; // after BEGIN, after attrs
-
-    void nextEvent ( int kind, Event event );
-
-    public static interface Event extends PrefixResolver
-    {
-        public static final int PRESERVE = 1;
-        public static final int REPLACE  = 2;
-        public static final int COLLAPSE = 3;
-
-        XmlCursor getLocationAsCursor ( );
-
-        boolean getXsiType  ( Chars chars ); // BEGIN xsi:type
-        boolean getXsiNil   ( Chars chars ); // BEGIN xsi:nil
-        boolean getXsiLoc   ( Chars chars ); // BEGIN xsi:schemaLocation
-        boolean getXsiNoLoc ( Chars chars ); // BEGIN xsi:noNamespaceSchemaLocation
-                
-        // On START and ATTR
-        QName getName ( );
-        
-        // On TEXT and ATTR
-        void getText ( Chars chars );
-        void getText ( Chars chars, int wsr );
-        
-        boolean textIsWhitespace ( );
-    }
-}
\ No newline at end of file
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XBeanDebug.java b/v1/src/common/org/apache/xmlbeans/impl/common/XBeanDebug.java
deleted file mode 100644
index f45637e..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XBeanDebug.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import java.io.File;
-import java.io.PrintStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-public class XBeanDebug
-{
-    public static final int TRACE_SCHEMA_LOADING = 0x0001;
-    public static final String traceProp = "org.apache.xmlbeans.impl.debug";
-    public static final String defaultProp = ""; // "TRACE_SCHEMA_LOADING";
-
-    private static int _enabled = initializeBitsFromProperty();
-    private static int _indent = 0;
-    private static String _indentspace = "                                                                                ";
-
-    private static int initializeBitsFromProperty()
-    {
-        int bits = 0;
-        String prop = System.getProperty(traceProp, defaultProp);
-        if (prop.indexOf("TRACE_SCHEMA_LOADING") >= 0)
-            bits |= TRACE_SCHEMA_LOADING;
-        return bits;
-    }
-    public static void enable(int bits)
-    {
-        _enabled = _enabled | bits;
-    }
-
-    public static void disable(int bits)
-    {
-        _enabled = _enabled & ~bits;
-    }
-
-    public static void trace(int bits, String message, int indent)
-    {
-        if (test(bits))
-        {
-            synchronized (XBeanDebug.class)
-            {
-                if (indent < 0)
-                    _indent += indent;
-
-                String spaces = _indent < 0 ? "" : _indent > _indentspace.length() ? _indentspace : _indentspace.substring(0, _indent);
-                String logmessage = Thread.currentThread().getName() + ": " + spaces + message + "\n";
-                System.err.print(logmessage);
-
-                if (indent > 0)
-                    _indent += indent;
-            }
-        }
-    }
-
-    public static boolean test(int bits)
-    {
-        return (_enabled & bits) != 0;
-    }
-    
-    static PrintStream _err;
-    
-    public static String log(String message)
-    {
-        log(message, null);
-        return message;
-    }
-    
-    public static String logStackTrace(String message)
-    {
-        log(message, new Throwable());
-        return message;
-    }
-    
-    private synchronized static String log(String message, Throwable stackTrace)
-    {
-        if (_err == null)
-        {
-            try
-            {
-                File diagnosticFile = File.createTempFile("xmlbeandebug", ".log");
-                _err = new PrintStream(new FileOutputStream(diagnosticFile));
-                System.err.println("Diagnostic XML Bean debug log file created: " + diagnosticFile);
-            }
-            catch (IOException e)
-            {
-                _err = System.err;
-            }
-        }
-        _err.println(message);
-        if (stackTrace != null)
-        {
-            stackTrace.printStackTrace(_err);
-        }
-        return message;
-    }
-    
-    public static Throwable logException(Throwable t)
-    {
-        log(t.getMessage(), t);
-        return t;
-    }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XMLChar.java b/v1/src/common/org/apache/xmlbeans/impl/common/XMLChar.java
deleted file mode 100644
index 39a789e..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XMLChar.java
+++ /dev/null
@@ -1,691 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-/**
- * This class defines the basic XML character properties. The data
- * in this class can be used to verify that a character is a valid
- * XML character or if the character is a space, name start, or name
- * character.
- * <p>
- * A series of convenience methods are supplied to ease the burden
- * of the developer. Because inlining the checks can improve per
- * character performance, the tables of character properties are
- * public. Using the character as an index into the <code>CHARS</code>
- * array and applying the appropriate mask flag (e.g.
- * <code>MASK_VALID</code>), yields the same results as calling the
- * convenience methods. There is one exception: check the comments
- * for the <code>isValid</code> method for details.
- *
- * @author Glenn Marcy, IBM
- * @author Andy Clark, IBM
- * @author Eric Ye, IBM
- * @author Arnaud  Le Hors, IBM
- * @author Rahul Srivastava, Sun Microsystems Inc.
- *
- * @version $Id: XMLChar.java,v 1.2 2003/09/24 23:31:05 ericvas Exp $
- */
-public class XMLChar {
-
-    //
-    // Constants
-    //
-
-    /** Character flags. */
-    private static final byte[] CHARS = new byte[1 << 16];
-
-    /** Valid character mask. */
-    public static final int MASK_VALID = 0x01;
-
-    /** Space character mask. */
-    public static final int MASK_SPACE = 0x02;
-
-    /** Name start character mask. */
-    public static final int MASK_NAME_START = 0x04;
-
-    /** Name character mask. */
-    public static final int MASK_NAME = 0x08;
-
-    /** Pubid character mask. */
-    public static final int MASK_PUBID = 0x10;
-    
-    /** 
-     * Content character mask. Special characters are those that can
-     * be considered the start of markup, such as '&lt;' and '&amp;'. 
-     * The various newline characters are considered special as well.
-     * All other valid XML characters can be considered content.
-     * <p>
-     * This is an optimization for the inner loop of character scanning.
-     */
-    public static final int MASK_CONTENT = 0x20;
-
-    /** NCName start character mask. */
-    public static final int MASK_NCNAME_START = 0x40;
-
-    /** NCName character mask. */
-    public static final int MASK_NCNAME = 0x80;
-
-    //
-    // Static initialization
-    //
-
-    static {
-        
-        //
-        // [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] |
-        //              [#xE000-#xFFFD] | [#x10000-#x10FFFF]
-        //
-
-        int charRange[] = { 
-            0x0009, 0x000A, 0x000D, 0x000D, 0x0020, 0xD7FF, 0xE000, 0xFFFD,
-        };
-
-        //
-        // [3] S ::= (#x20 | #x9 | #xD | #xA)+
-        //
-
-        int spaceChar[] = { 
-            0x0020, 0x0009, 0x000D, 0x000A,
-        };
-
-        //
-        // [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
-        //                  CombiningChar | Extender
-        //
-
-        int nameChar[] = { 
-            0x002D, 0x002E, // '-' and '.'
-        };
-
-        //
-        // [5] Name ::= (Letter | '_' | ':') (NameChar)*
-        //
-
-        int nameStartChar[] = { 
-            0x003A, 0x005F, // ':' and '_'
-        };
-
-        //
-        // [13] PubidChar ::= #x20 | 0xD | 0xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]
-        //
-
-        int pubidChar[] = {
-            0x000A, 0x000D, 0x0020, 0x0021, 0x0023, 0x0024, 0x0025, 0x003D,
-            0x005F
-        };
-
-        int pubidRange[] = {
-            0x0027, 0x003B, 0x003F, 0x005A, 0x0061, 0x007A
-        };
-
-        //
-        // [84] Letter ::= BaseChar | Ideographic
-        //
-
-        int letterRange[] = {
-            // BaseChar
-            0x0041, 0x005A, 0x0061, 0x007A, 0x00C0, 0x00D6, 0x00D8, 0x00F6,
-            0x00F8, 0x0131, 0x0134, 0x013E, 0x0141, 0x0148, 0x014A, 0x017E,
-            0x0180, 0x01C3, 0x01CD, 0x01F0, 0x01F4, 0x01F5, 0x01FA, 0x0217,
-            0x0250, 0x02A8, 0x02BB, 0x02C1, 0x0388, 0x038A, 0x038E, 0x03A1,
-            0x03A3, 0x03CE, 0x03D0, 0x03D6, 0x03E2, 0x03F3, 0x0401, 0x040C,
-            0x040E, 0x044F, 0x0451, 0x045C, 0x045E, 0x0481, 0x0490, 0x04C4,
-            0x04C7, 0x04C8, 0x04CB, 0x04CC, 0x04D0, 0x04EB, 0x04EE, 0x04F5,
-            0x04F8, 0x04F9, 0x0531, 0x0556, 0x0561, 0x0586, 0x05D0, 0x05EA,
-            0x05F0, 0x05F2, 0x0621, 0x063A, 0x0641, 0x064A, 0x0671, 0x06B7,
-            0x06BA, 0x06BE, 0x06C0, 0x06CE, 0x06D0, 0x06D3, 0x06E5, 0x06E6,
-            0x0905, 0x0939, 0x0958, 0x0961, 0x0985, 0x098C, 0x098F, 0x0990,
-            0x0993, 0x09A8, 0x09AA, 0x09B0, 0x09B6, 0x09B9, 0x09DC, 0x09DD,
-            0x09DF, 0x09E1, 0x09F0, 0x09F1, 0x0A05, 0x0A0A, 0x0A0F, 0x0A10,
-            0x0A13, 0x0A28, 0x0A2A, 0x0A30, 0x0A32, 0x0A33, 0x0A35, 0x0A36,
-            0x0A38, 0x0A39, 0x0A59, 0x0A5C, 0x0A72, 0x0A74, 0x0A85, 0x0A8B,
-            0x0A8F, 0x0A91, 0x0A93, 0x0AA8, 0x0AAA, 0x0AB0, 0x0AB2, 0x0AB3,
-            0x0AB5, 0x0AB9, 0x0B05, 0x0B0C, 0x0B0F, 0x0B10, 0x0B13, 0x0B28,
-            0x0B2A, 0x0B30, 0x0B32, 0x0B33, 0x0B36, 0x0B39, 0x0B5C, 0x0B5D,
-            0x0B5F, 0x0B61, 0x0B85, 0x0B8A, 0x0B8E, 0x0B90, 0x0B92, 0x0B95,
-            0x0B99, 0x0B9A, 0x0B9E, 0x0B9F, 0x0BA3, 0x0BA4, 0x0BA8, 0x0BAA,
-            0x0BAE, 0x0BB5, 0x0BB7, 0x0BB9, 0x0C05, 0x0C0C, 0x0C0E, 0x0C10,
-            0x0C12, 0x0C28, 0x0C2A, 0x0C33, 0x0C35, 0x0C39, 0x0C60, 0x0C61,
-            0x0C85, 0x0C8C, 0x0C8E, 0x0C90, 0x0C92, 0x0CA8, 0x0CAA, 0x0CB3,
-            0x0CB5, 0x0CB9, 0x0CE0, 0x0CE1, 0x0D05, 0x0D0C, 0x0D0E, 0x0D10,
-            0x0D12, 0x0D28, 0x0D2A, 0x0D39, 0x0D60, 0x0D61, 0x0E01, 0x0E2E,
-            0x0E32, 0x0E33, 0x0E40, 0x0E45, 0x0E81, 0x0E82, 0x0E87, 0x0E88,
-            0x0E94, 0x0E97, 0x0E99, 0x0E9F, 0x0EA1, 0x0EA3, 0x0EAA, 0x0EAB,
-            0x0EAD, 0x0EAE, 0x0EB2, 0x0EB3, 0x0EC0, 0x0EC4, 0x0F40, 0x0F47,
-            0x0F49, 0x0F69, 0x10A0, 0x10C5, 0x10D0, 0x10F6, 0x1102, 0x1103,
-            0x1105, 0x1107, 0x110B, 0x110C, 0x110E, 0x1112, 0x1154, 0x1155,
-            0x115F, 0x1161, 0x116D, 0x116E, 0x1172, 0x1173, 0x11AE, 0x11AF,
-            0x11B7, 0x11B8, 0x11BC, 0x11C2, 0x1E00, 0x1E9B, 0x1EA0, 0x1EF9,
-            0x1F00, 0x1F15, 0x1F18, 0x1F1D, 0x1F20, 0x1F45, 0x1F48, 0x1F4D,
-            0x1F50, 0x1F57, 0x1F5F, 0x1F7D, 0x1F80, 0x1FB4, 0x1FB6, 0x1FBC,
-            0x1FC2, 0x1FC4, 0x1FC6, 0x1FCC, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB,
-            0x1FE0, 0x1FEC, 0x1FF2, 0x1FF4, 0x1FF6, 0x1FFC, 0x212A, 0x212B,
-            0x2180, 0x2182, 0x3041, 0x3094, 0x30A1, 0x30FA, 0x3105, 0x312C,
-            0xAC00, 0xD7A3,
-            // Ideographic
-            0x3021, 0x3029, 0x4E00, 0x9FA5,
-        };
-        int letterChar[] = {
-            // BaseChar
-            0x0386, 0x038C, 0x03DA, 0x03DC, 0x03DE, 0x03E0, 0x0559, 0x06D5,
-            0x093D, 0x09B2, 0x0A5E, 0x0A8D, 0x0ABD, 0x0AE0, 0x0B3D, 0x0B9C,
-            0x0CDE, 0x0E30, 0x0E84, 0x0E8A, 0x0E8D, 0x0EA5, 0x0EA7, 0x0EB0,
-            0x0EBD, 0x1100, 0x1109, 0x113C, 0x113E, 0x1140, 0x114C, 0x114E,
-            0x1150, 0x1159, 0x1163, 0x1165, 0x1167, 0x1169, 0x1175, 0x119E,
-            0x11A8, 0x11AB, 0x11BA, 0x11EB, 0x11F0, 0x11F9, 0x1F59, 0x1F5B,
-            0x1F5D, 0x1FBE, 0x2126, 0x212E,
-            // Ideographic
-            0x3007,
-        };
-
-        //
-        // [87] CombiningChar ::= ...
-        //
-
-        int combiningCharRange[] = {
-            0x0300, 0x0345, 0x0360, 0x0361, 0x0483, 0x0486, 0x0591, 0x05A1,
-            0x05A3, 0x05B9, 0x05BB, 0x05BD, 0x05C1, 0x05C2, 0x064B, 0x0652,
-            0x06D6, 0x06DC, 0x06DD, 0x06DF, 0x06E0, 0x06E4, 0x06E7, 0x06E8,
-            0x06EA, 0x06ED, 0x0901, 0x0903, 0x093E, 0x094C, 0x0951, 0x0954,
-            0x0962, 0x0963, 0x0981, 0x0983, 0x09C0, 0x09C4, 0x09C7, 0x09C8,
-            0x09CB, 0x09CD, 0x09E2, 0x09E3, 0x0A40, 0x0A42, 0x0A47, 0x0A48,
-            0x0A4B, 0x0A4D, 0x0A70, 0x0A71, 0x0A81, 0x0A83, 0x0ABE, 0x0AC5,
-            0x0AC7, 0x0AC9, 0x0ACB, 0x0ACD, 0x0B01, 0x0B03, 0x0B3E, 0x0B43,
-            0x0B47, 0x0B48, 0x0B4B, 0x0B4D, 0x0B56, 0x0B57, 0x0B82, 0x0B83,
-            0x0BBE, 0x0BC2, 0x0BC6, 0x0BC8, 0x0BCA, 0x0BCD, 0x0C01, 0x0C03,
-            0x0C3E, 0x0C44, 0x0C46, 0x0C48, 0x0C4A, 0x0C4D, 0x0C55, 0x0C56,
-            0x0C82, 0x0C83, 0x0CBE, 0x0CC4, 0x0CC6, 0x0CC8, 0x0CCA, 0x0CCD,
-            0x0CD5, 0x0CD6, 0x0D02, 0x0D03, 0x0D3E, 0x0D43, 0x0D46, 0x0D48,
-            0x0D4A, 0x0D4D, 0x0E34, 0x0E3A, 0x0E47, 0x0E4E, 0x0EB4, 0x0EB9,
-            0x0EBB, 0x0EBC, 0x0EC8, 0x0ECD, 0x0F18, 0x0F19, 0x0F71, 0x0F84,
-            0x0F86, 0x0F8B, 0x0F90, 0x0F95, 0x0F99, 0x0FAD, 0x0FB1, 0x0FB7,
-            0x20D0, 0x20DC, 0x302A, 0x302F,
-        };
-
-        int combiningCharChar[] = {
-            0x05BF, 0x05C4, 0x0670, 0x093C, 0x094D, 0x09BC, 0x09BE, 0x09BF,
-            0x09D7, 0x0A02, 0x0A3C, 0x0A3E, 0x0A3F, 0x0ABC, 0x0B3C, 0x0BD7,
-            0x0D57, 0x0E31, 0x0EB1, 0x0F35, 0x0F37, 0x0F39, 0x0F3E, 0x0F3F,
-            0x0F97, 0x0FB9, 0x20E1, 0x3099, 0x309A,
-        };
-
-        //
-        // [88] Digit ::= ...
-        //
-
-        int digitRange[] = {
-            0x0030, 0x0039, 0x0660, 0x0669, 0x06F0, 0x06F9, 0x0966, 0x096F,
-            0x09E6, 0x09EF, 0x0A66, 0x0A6F, 0x0AE6, 0x0AEF, 0x0B66, 0x0B6F,
-            0x0BE7, 0x0BEF, 0x0C66, 0x0C6F, 0x0CE6, 0x0CEF, 0x0D66, 0x0D6F,
-            0x0E50, 0x0E59, 0x0ED0, 0x0ED9, 0x0F20, 0x0F29,
-        };
-
-        //
-        // [89] Extender ::= ...
-        //
-
-        int extenderRange[] = {
-            0x3031, 0x3035, 0x309D, 0x309E, 0x30FC, 0x30FE,
-        };
-
-        int extenderChar[] = {
-            0x00B7, 0x02D0, 0x02D1, 0x0387, 0x0640, 0x0E46, 0x0EC6, 0x3005,
-        };
-
-        //
-        // SpecialChar ::= '<', '&', '\n', '\r', ']'
-        //
-
-        int specialChar[] = {
-            '<', '&', '\n', '\r', ']',
-        };
-
-        //
-        // Initialize
-        //
-
-        // set valid characters
-        for (int i = 0; i < charRange.length; i += 2) {
-            for (int j = charRange[i]; j <= charRange[i + 1]; j++) {
-                CHARS[j] |= MASK_VALID | MASK_CONTENT;
-            }
-        }
-
-        // remove special characters
-        for (int i = 0; i < specialChar.length; i++) {
-            CHARS[specialChar[i]] = (byte)(CHARS[specialChar[i]] & ~MASK_CONTENT);
-        }
-
-        // set space characters
-        for (int i = 0; i < spaceChar.length; i++) {
-            CHARS[spaceChar[i]] |= MASK_SPACE;
-        }
-
-        // set name start characters
-        for (int i = 0; i < nameStartChar.length; i++) {
-            CHARS[nameStartChar[i]] |= MASK_NAME_START | MASK_NAME | 
-                                       MASK_NCNAME_START | MASK_NCNAME;
-        }
-        for (int i = 0; i < letterRange.length; i += 2) {
-            for (int j = letterRange[i]; j <= letterRange[i + 1]; j++) {
-                CHARS[j] |= MASK_NAME_START | MASK_NAME |
-                            MASK_NCNAME_START | MASK_NCNAME;
-            }
-        }
-        for (int i = 0; i < letterChar.length; i++) {
-            CHARS[letterChar[i]] |= MASK_NAME_START | MASK_NAME |
-                                    MASK_NCNAME_START | MASK_NCNAME;
-        }
-
-        // set name characters
-        for (int i = 0; i < nameChar.length; i++) {
-            CHARS[nameChar[i]] |= MASK_NAME | MASK_NCNAME;
-        }
-        for (int i = 0; i < digitRange.length; i += 2) {
-            for (int j = digitRange[i]; j <= digitRange[i + 1]; j++) {
-                CHARS[j] |= MASK_NAME | MASK_NCNAME;
-            }
-        }
-        for (int i = 0; i < combiningCharRange.length; i += 2) {
-            for (int j = combiningCharRange[i]; j <= combiningCharRange[i + 1]; j++) {
-                CHARS[j] |= MASK_NAME | MASK_NCNAME;
-            }
-        }
-        for (int i = 0; i < combiningCharChar.length; i++) {
-            CHARS[combiningCharChar[i]] |= MASK_NAME | MASK_NCNAME;
-        }
-        for (int i = 0; i < extenderRange.length; i += 2) {
-            for (int j = extenderRange[i]; j <= extenderRange[i + 1]; j++) {
-                CHARS[j] |= MASK_NAME | MASK_NCNAME;
-            }
-        }
-        for (int i = 0; i < extenderChar.length; i++) {
-            CHARS[extenderChar[i]] |= MASK_NAME | MASK_NCNAME;
-        }
-
-        // remove ':' from allowable MASK_NCNAME_START and MASK_NCNAME chars
-        CHARS[':'] &= ~(MASK_NCNAME_START | MASK_NCNAME);
-
-        // set Pubid characters
-        for (int i = 0; i < pubidChar.length; i++) {
-            CHARS[pubidChar[i]] |= MASK_PUBID;
-        }
-        for (int i = 0; i < pubidRange.length; i += 2) {
-            for (int j = pubidRange[i]; j <= pubidRange[i + 1]; j++) {
-                CHARS[j] |= MASK_PUBID;
-            }
-        }
-
-    } // <clinit>()
-
-    //
-    // Public static methods
-    //
-
-    /**
-     * Returns true if the specified character is a supplemental character.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isSupplemental(int c) {
-        return (c >= 0x10000 && c <= 0x10FFFF);
-    }
-
-    /**
-     * Returns true the supplemental character corresponding to the given
-     * surrogates.
-     *
-     * @param h The high surrogate.
-     * @param l The low surrogate.
-     */
-    public static int supplemental(char h, char l) {
-        return (h - 0xD800) * 0x400 + (l - 0xDC00) + 0x10000;
-    }
-
-    /**
-     * Returns the high surrogate of a supplemental character
-     *
-     * @param c The supplemental character to "split".
-     */
-    public static char highSurrogate(int c) {
-        return (char) (((c - 0x00010000) >> 10) + 0xD800);
-    }
-
-    /**
-     * Returns the low surrogate of a supplemental character
-     *
-     * @param c The supplemental character to "split".
-     */
-    public static char lowSurrogate(int c) {
-        return (char) (((c - 0x00010000) & 0x3FF) + 0xDC00);
-    }
-
-    /**
-     * Returns whether the given character is a high surrogate
-     *
-     * @param c The character to check.
-     */
-    public static boolean isHighSurrogate(int c) {
-        return (0xD800 <= c && c <= 0xDBFF);
-    }
-
-    /**
-     * Returns whether the given character is a low surrogate
-     *
-     * @param c The character to check.
-     */
-    public static boolean isLowSurrogate(int c) {
-        return (0xDC00 <= c && c <= 0xDFFF);
-    }
-
-
-    /**
-     * Returns true if the specified character is valid. This method
-     * also checks the surrogate character range from 0x10000 to 0x10FFFF.
-     * <p>
-     * If the program chooses to apply the mask directly to the
-     * <code>CHARS</code> array, then they are responsible for checking
-     * the surrogate character range.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isValid(int c) {
-        return (c < 0x10000 && (CHARS[c] & MASK_VALID) != 0) ||
-               (0x10000 <= c && c <= 0x10FFFF);
-    } // isValid(int):boolean
-
-    /**
-     * Returns true if the specified character is invalid.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isInvalid(int c) {
-        return !isValid(c);
-    } // isInvalid(int):boolean
-
-    /**
-     * Returns true if the specified character can be considered content.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isContent(int c) {
-        return (c < 0x10000 && (CHARS[c] & MASK_CONTENT) != 0) ||
-               (0x10000 <= c && c <= 0x10FFFF);
-    } // isContent(int):boolean
-
-    /**
-     * Returns true if the specified character can be considered markup.
-     * Markup characters include '&lt;', '&amp;', and '%'.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isMarkup(int c) {
-        return c == '<' || c == '&' || c == '%';
-    } // isMarkup(int):boolean
-
-    /**
-     * Returns true if the specified character is a space character
-     * as defined by production [3] in the XML 1.0 specification.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isSpace(int c) {
-        return c < 0x10000 && (CHARS[c] & MASK_SPACE) != 0;
-    } // isSpace(int):boolean
-
-    /**
-     * Returns true if the specified character is a space character
-     * as amdended in the XML 1.1 specification.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11Space(int c) {
-        return (c < 0x10000 && (CHARS[c] & MASK_SPACE) != 0) ||
-            c == 0x85 || c == 0x2028;
-    } // isXML11Space(int):boolean
-
-    /**
-     * Returns true if the specified character is a valid name start
-     * character as defined by production [5] in the XML 1.0
-     * specification.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isNameStart(int c) {
-        return c < 0x10000 && (CHARS[c] & MASK_NAME_START) != 0;
-    } // isNameStart(int):boolean
-
-    /**
-     * Returns true if the specified character is a valid name
-     * character as defined by production [4] in the XML 1.0
-     * specification.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isName(int c) {
-        return c < 0x10000 && (CHARS[c] & MASK_NAME) != 0;
-    } // isName(int):boolean
-
-    /**
-     * Returns true if the specified character is a valid NCName start
-     * character as defined by production [4] in Namespaces in XML
-     * recommendation.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isNCNameStart(int c) {
-        return c < 0x10000 && (CHARS[c] & MASK_NCNAME_START) != 0;
-    } // isNCNameStart(int):boolean
-
-    /**
-     * Returns true if the specified character is a valid NCName
-     * character as defined by production [5] in Namespaces in XML
-     * recommendation.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isNCName(int c) {
-        return c < 0x10000 && (CHARS[c] & MASK_NCNAME) != 0;
-    } // isNCName(int):boolean
-
-    /**
-     * Returns true if the specified character is a valid Pubid
-     * character as defined by production [13] in the XML 1.0
-     * specification.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isPubid(int c) {
-        return c < 0x10000 && (CHARS[c] & MASK_PUBID) != 0;
-    } // isPubid(int):boolean
-
-    /*
-     * [5] Name ::= (Letter | '_' | ':') (NameChar)*
-     */
-    /**
-     * Check to see if a string is a valid Name according to [5]
-     * in the XML 1.0 Recommendation
-     *
-     * @param name string to check
-     * @return true if name is a valid Name
-     */
-    public static boolean isValidName(String name) {
-        if (name.length() == 0)
-            return false;
-        char ch = name.charAt(0);
-        if( isNameStart(ch) == false)
-           return false;
-        for (int i = 1; i < name.length(); i++ ) {
-           ch = name.charAt(i);
-           if( isName( ch ) == false ){
-              return false;
-           }
-        }
-        return true;
-    } // isValidName(String):boolean
-    
-
-    /*
-     * from the namespace rec
-     * [4] NCName ::= (Letter | '_') (NCNameChar)*
-     */
-    /**
-     * Check to see if a string is a valid NCName according to [4]
-     * from the XML Namespaces 1.0 Recommendation
-     *
-     * @param name string to check
-     * @return true if name is a valid NCName
-     */
-    public static boolean isValidNCName(String ncName) {
-        if (ncName.length() == 0)
-            return false;
-        char ch = ncName.charAt(0);
-        if( isNCNameStart(ch) == false)
-           return false;
-        for (int i = 1; i < ncName.length(); i++ ) {
-           ch = ncName.charAt(i);
-           if( isNCName( ch ) == false ){
-              return false;
-           }
-        }
-        return true;
-    } // isValidNCName(String):boolean
-
-    /*
-     * [7] Nmtoken ::= (NameChar)+
-     */
-    /**
-     * Check to see if a string is a valid Nmtoken according to [7]
-     * in the XML 1.0 Recommendation
-     *
-     * @param nmtoken string to check
-     * @return true if nmtoken is a valid Nmtoken 
-     */
-    public static boolean isValidNmtoken(String nmtoken) {
-        if (nmtoken.length() == 0)
-            return false;
-        for (int i = 0; i < nmtoken.length(); i++ ) {
-           char ch = nmtoken.charAt(i);
-           if(  ! isName( ch ) ){
-              return false;
-           }
-        }
-        return true;
-    } // isValidName(String):boolean
-
-
-
-
-
-    // encodings
-
-    /**
-     * Returns true if the encoding name is a valid IANA encoding.
-     * This method does not verify that there is a decoder available
-     * for this encoding, only that the characters are valid for an
-     * IANA encoding name.
-     *
-     * @param ianaEncoding The IANA encoding name.
-     */
-    public static boolean isValidIANAEncoding(String ianaEncoding) {
-        if (ianaEncoding != null) {
-            int length = ianaEncoding.length();
-            if (length > 0) {
-                char c = ianaEncoding.charAt(0);
-                if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) {
-                    for (int i = 1; i < length; i++) {
-                        c = ianaEncoding.charAt(i);
-                        if ((c < 'A' || c > 'Z') && (c < 'a' || c > 'z') &&
-                            (c < '0' || c > '9') && c != '.' && c != '_' &&
-                            c != '-') {
-                            return false;
-                        }
-                    }
-                    return true;
-                }
-            }
-        }
-        return false;
-    } // isValidIANAEncoding(String):boolean
-
-    /**
-     * Returns true if the encoding name is a valid Java encoding.
-     * This method does not verify that there is a decoder available
-     * for this encoding, only that the characters are valid for an
-     * Java encoding name.
-     *
-     * @param javaEncoding The Java encoding name.
-     */
-    public static boolean isValidJavaEncoding(String javaEncoding) {
-        if (javaEncoding != null) {
-            int length = javaEncoding.length();
-            if (length > 0) {
-                for (int i = 1; i < length; i++) {
-                    char c = javaEncoding.charAt(i);
-                    if ((c < 'A' || c > 'Z') && (c < 'a' || c > 'z') &&
-                        (c < '0' || c > '9') && c != '.' && c != '_' &&
-                        c != '-') {
-                        return false;
-                    }
-                }
-                return true;
-            }
-        }
-        return false;
-    } // isValidIANAEncoding(String):boolean
-
-} // class XMLChar
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XMLNameHelper.java b/v1/src/common/org/apache/xmlbeans/impl/common/XMLNameHelper.java
deleted file mode 100644
index 5e77698..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XMLNameHelper.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer.
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache
-*    XMLBeans", nor may "Apache" appear in their name, without prior
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import weblogic.xml.stream.XMLName;
-import javax.xml.namespace.QName;
-import java.io.UnsupportedEncodingException;
-
-public class XMLNameHelper
-{
-    public static QName getQName(XMLName xmlName)
-    {
-        if (xmlName == null)
-            return null;
-
-        return QNameHelper.forLNS( xmlName.getLocalName(), xmlName.getNamespaceUri() );
-    }
-
-    public static XMLName forLNS(String localname, String uri)
-    {
-        if (uri == null)
-            uri = "";
-        return new XmlNameImpl(uri, localname);
-    }
-
-    public static XMLName forLN(String localname)
-    {
-        return new XmlNameImpl("", localname);
-    }
-
-    public static XMLName forPretty(String pretty, int offset)
-    {
-        int at = pretty.indexOf('@', offset);
-        if (at < 0)
-            return new XmlNameImpl("", pretty.substring(offset));
-        return new XmlNameImpl(pretty.substring(at + 1), pretty.substring(offset, at));
-    }
-
-    public static String pretty(XMLName name)
-    {
-        if (name == null)
-            return "null";
-
-        if (name.getNamespaceUri() == null || name.getNamespaceUri().length() == 0)
-            return name.getLocalName();
-
-        return name.getLocalName() + "@" + name.getNamespaceUri();
-    }
-
-    private static final char[] hexdigits = new char[]
-        {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
-
-    private static boolean isSafe(int c)
-    {
-        if (c >= 'a' && c <= 'z')
-            return true;
-        if (c >= 'A' && c <= 'Z')
-            return true;
-        if (c >= '0' && c <= '9')
-            return true;
-        return false;
-    }
-
-    public static String hexsafe(String s)
-    {
-        StringBuffer result = new StringBuffer();
-        for (int i = 0; i < s.length(); i++)
-        {
-            char ch = s.charAt(i);
-            if (isSafe(ch))
-            {
-                result.append(ch);
-            }
-            else
-            {
-                byte[] utf8 = null;
-                try
-                {
-                    utf8 = s.substring(i, i + 1).getBytes("UTF-8");
-                    for (int j = 0; j < utf8.length; j++)
-                    {
-                        result.append('_');
-                        result.append(hexdigits[(utf8[j] >> 4) & 0xF]);
-                        result.append(hexdigits[utf8[j] & 0xF]);
-                    }
-                }
-                catch(UnsupportedEncodingException uee)
-                {
-                    // should never happen - UTF-8 is always supported
-                    result.append("_BAD_UTF8_CHAR");
-                }
-            }
-        }
-        return result.toString();
-    }
-
-    public static String hexsafedir(XMLName name)
-    {
-        if (name.getNamespaceUri() == null || name.getNamespaceUri().length() == 0)
-            return "_nons/" + hexsafe(name.getLocalName());
-        return hexsafe(name.getNamespaceUri()) + "/" + hexsafe(name.getLocalName());
-    }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XPath.java b/v1/src/common/org/apache/xmlbeans/impl/common/XPath.java
deleted file mode 100644
index 28f8f1f..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XPath.java
+++ /dev/null
@@ -1,1041 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import javax.xml.namespace.QName;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.xmlbeans.XmlError;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.impl.common.XMLChar;
-
-public class XPath
-{
-    public static class XPathCompileException extends XmlException
-    {
-        XPathCompileException ( XmlError err )
-        {
-            super( err.toString(), null, err );
-        }
-    }
-
-    //
-    //
-    //
-
-    public static class ExecutionContext
-    {
-        public ExecutionContext ( )
-        {
-            _stack = new ArrayList();
-        }
-
-        public static final int HIT     = 0x1;
-        public static final int DESCEND = 0x2;
-        public static final int ATTRS   = 0x4;
-        
-        public final void init ( XPath xpath )
-        {
-            if (_xpath != xpath)
-            {
-                _xpath = xpath;
-                
-                _paths = new PathContext [ xpath._selector._paths.length ];
-                
-                for ( int i = 0 ; i < _paths.length ; i++ )
-                    _paths[ i ] = new PathContext();
-            }
-
-            _stack.clear();
-
-            for ( int i = 0 ; i < _paths.length ; i++ )
-                _paths[ i ].init( xpath._selector._paths[ i ] );
-        }
-
-        public final int start ( )
-        {
-            int result = 0;
-            
-            for ( int i = 0 ; i < _paths.length ; i++ )
-                result |= _paths[ i ].start();
-
-            return result;
-        }
-        
-        public final int element ( QName name )
-        {
-            assert name != null;
-            
-            _stack.add( name );
-            
-            int result = 0;
-            
-            for ( int i = 0 ; i < _paths.length ; i++ )
-                result |= _paths[ i ].element( name );
-
-            return result;
-        }
-        
-        public final boolean attr ( QName name )
-        {
-            boolean hit = false;
-            
-            for ( int i = 0 ; i < _paths.length ; i++ )
-                hit = hit | _paths[ i ].attr( name );
-
-            return hit;
-        }
-
-        public final void end ( )
-        {
-            _stack.remove( _stack.size() - 1 );
-            
-            for ( int i = 0 ; i < _paths.length ; i++ )
-                _paths[ i ].end();
-        }
-        
-        private final class PathContext
-        {
-            PathContext ( )
-            {
-                _prev = new ArrayList();
-            }
-            
-            void init ( Step steps )
-            {
-                _curr = steps;
-                _prev.clear();
-            }
-
-            private QName top ( int i )
-            {
-                return (QName) ExecutionContext.this._stack.get( _stack.size() - 1 - i );
-            }
-
-            private void backtrack ( )
-            {
-                assert _curr != null;
-                
-                if (_curr._hasBacktrack)
-                {
-                    _curr = _curr._backtrack;
-                    return;
-                }
-
-                assert !_curr._deep;
-
-                _curr = _curr._prev;
-
-                search: for ( ; !_curr._deep ; _curr = _curr._prev )
-                {
-                    int t = 0;
-                    
-                    for ( Step s = _curr ; !s._deep ; s = s._prev )
-                    {
-                        if (!s.match( top( t++ )))
-                            continue search;
-                    }
-
-                    break;
-                }
-            }
-            
-            int start ( )
-            {
-                assert _curr != null;
-                assert _curr._prev == null;
-
-                if (_curr._name != null)
-                    return _curr._flags;
-
-                // If the steps consist on only a terminator, then the path can
-                // only be '.'.  In this case, we get a hit, but there is
-                // nothing else to match.  No need to backtrack.
-
-                _curr = null;
-
-                return HIT;
-            }
-            
-            int element ( QName name )
-            {
-                _prev.add( _curr );
-
-                if (_curr == null)
-                    return 0;
-
-                assert _curr._name != null;
-
-                if (!_curr._attr && _curr.match( name ))
-                {
-                    if ((_curr = _curr._next)._name != null)
-                        return _curr._flags;
-                    
-                    backtrack();
-                    
-                    return _curr == null ? HIT : HIT | _curr._flags;
-                }
-
-                for ( ; ; )
-                {
-                    backtrack();
-
-                    if (_curr == null)
-                        return 0;
-
-                    if (_curr.match( name ))
-                    {
-                        _curr = _curr._next;
-                        break;
-                    }
-
-                    if (_curr._deep)
-                        break;
-                }
-                
-                return _curr._flags;
-            }
-            
-            boolean attr ( QName name )
-            {
-                return _curr != null && _curr._attr && _curr.match( name );
-            }
-
-            void end ( )
-            {
-                _curr = (Step) _prev.remove( _prev.size() - 1 );
-            }
-            
-            private Step _curr;
-            private List _prev;
-        }
-
-        private XPath         _xpath;
-        private ArrayList     _stack;
-        private PathContext[] _paths;
-    }
-
-    //
-    //
-    //
-
-    public static XPath compileXPath ( String xpath )
-        throws XPathCompileException
-    {
-        return compileXPath( xpath, "$this", null );
-    }
-    
-    public static XPath compileXPath ( String xpath, String currentNodeVar )
-        throws XPathCompileException
-    {
-        return compileXPath( xpath, currentNodeVar, null );
-    }
-
-    public static XPath compileXPath ( String xpath, Map namespaces )
-            throws XPathCompileException
-    {
-        return compileXPath( xpath, "$this", namespaces );
-    }
-    
-    public static XPath compileXPath (
-        String xpath, String currentNodeVar, Map namespaces )
-            throws XPathCompileException
-    {
-        return
-            new CompilationContext( namespaces, currentNodeVar ).
-                compile( xpath );
-    }
-
-    private static class CompilationContext
-    {
-        CompilationContext ( Map namespaces, String currentNodeVar )
-        {
-            assert
-                _currentNodeVar == null ||
-                    _currentNodeVar.startsWith( "$" );
-
-            if (currentNodeVar == null)
-                _currentNodeVar = "$this";
-            else
-                _currentNodeVar = currentNodeVar;
-
-            _namespaces = new HashMap();
-            
-            _externalNamespaces =
-                namespaces == null ? new HashMap() : namespaces;
-        }
-
-        XPath compile ( String expr ) throws XPathCompileException
-        {
-            _offset = 0;
-            _line = 1;
-            _column = 1;
-            _expr = expr;
-
-            return tokenizeXPath();
-        }
-        
-        int currChar ( )
-        {
-            return currChar( 0 );
-        }
-        
-        int currChar ( int offset )
-        {
-            return
-                _offset + offset >= _expr.length()
-                    ? -1
-                    : _expr.charAt( _offset + offset );
-        }
-        
-        void advance ( )
-        {
-            if (_offset < _expr.length())
-            {
-                char ch = _expr.charAt( _offset );
-                
-                _offset++;
-                _column++;
-
-                if (ch == '\r' || ch == '\n')
-                {
-                    _line++;
-                    _column = 1;
-
-                    if (_offset + 1 < _expr.length())
-                    {
-                        char nextCh = _expr.charAt( _offset + 1 );
-
-                        if ((nextCh == '\r' || nextCh == '\n') && ch != nextCh)
-                            _offset++;
-                    }
-                }
-            }
-        }
-
-        void advance ( int count )
-        {
-            assert count >= 0;
-            
-            while ( count-- > 0 )
-                advance();
-        }
-                
-        boolean isWhitespace ( )
-        {
-            return isWhitespace( 0 );
-        }
-        
-        boolean isWhitespace ( int offset )
-        {
-            int ch = currChar( offset );
-            return ch == ' ' || ch == '\t' || ch == '\n' || ch == '\r';
-        }
-
-        boolean isNCNameStart ( )
-        {
-            return
-                currChar() == -1
-                    ? false :
-                    XMLChar.isNCNameStart( currChar() );
-        }
-        
-        boolean isNCName ( )
-        {
-            return
-                currChar() == -1
-                    ? false :
-                    XMLChar.isNCName( currChar() );
-        }
-        
-        boolean startsWith ( String s )
-        {
-            return startsWith( s, 0 );
-        }
-        
-        boolean startsWith ( String s, int offset )
-        {
-            if (_offset + offset >= _expr.length())
-                return false;
-            
-            return _expr.startsWith( s, _offset + offset );
-        }
-
-        private XPathCompileException newError ( String msg )
-        {
-            XmlError err =
-                XmlError.forLocation(
-                    msg, XmlError.SEVERITY_ERROR, null,
-                    _line, _column, _offset );
-                                     
-            return new XPathCompileException( err );
-        }
-
-        String lookupPrefix ( String prefix ) throws XPathCompileException
-        {
-            if (_namespaces.containsKey( prefix ))
-                return (String) _namespaces.get( prefix );
-            
-            if (_externalNamespaces.containsKey( prefix ))
-                return (String) _externalNamespaces.get( prefix );
-
-            if (prefix.equals( "xml" ))
-                  return "http://www.w3.org/XML/1998/namespace";
-            
-            if (prefix.equals( "xs" ))
-                  return "http://www.w3.org/2001/XMLSchema";
-            
-            if (prefix.equals( "xsi" ))
-                  return "http://www.w3.org/2001/XMLSchema-instance";
-            
-            if (prefix.equals( "fn" ))
-                  return "http://www.w3.org/2002/11/xquery-functions";
-
-            throw newError( "Undefined prefix: " + prefix );
-        }
-
-        private boolean parseWhitespace ( ) throws XPathCompileException
-        {
-            boolean sawSpace = false;
-            
-            while ( isWhitespace() )
-            {
-                advance();
-                sawSpace = true;
-            }
-
-            return sawSpace;
-        }
-        
-        //
-        // Tokenizing will consume whitespace followed by the tokens, separated
-        // by whitespace.  The whitespace following the last token is not
-        // consumed.
-        //
-        
-        private boolean tokenize ( String s )
-        {
-            assert s.length() > 0;
-            
-            int offset = 0;
-
-            while ( isWhitespace( offset ) )
-                offset++;
-            
-            if (!startsWith( s, offset ))
-                return false;
-
-            offset += s.length();
-
-            advance( offset );
-
-            return true;
-        }
-
-        private boolean tokenize ( String s1, String s2 )
-        {
-            assert s1.length() > 0;
-            assert s2.length() > 0;
-            
-            int offset = 0;
-
-            while ( isWhitespace( offset ) )
-                offset++;
-            
-            if (!startsWith( s1, offset ))
-                return false;
-
-            offset += s1.length();
-
-            while ( isWhitespace( offset ) )
-                offset++;
-            
-            if (!startsWith( s2, offset ))
-                return false;
-                
-            offset += s2.length();
-
-            advance( offset );
-
-            return true;
-        }
-
-        private boolean tokenize ( String s1, String s2, String s3 )
-        {
-            assert s1.length() > 0;
-            assert s2.length() > 0;
-            assert s3.length() > 0;
-            
-            int offset = 0;
-
-            while ( isWhitespace( offset ) )
-                offset++;
-            
-            if (!startsWith( s1, offset ))
-                return false;
-
-            offset += s1.length();
-
-            while ( isWhitespace( offset ) )
-                offset++;
-            
-            if (!startsWith( s2, offset ))
-                return false;
-                
-            offset += s2.length();
-
-            while ( isWhitespace( offset ) )
-                offset++;
-            
-            if (!startsWith( s3, offset ))
-                return false;
-            
-            offset += s3.length();
-                
-            advance( offset );
-
-            return true;
-        }
-
-        private String tokenizeNCName ( ) throws XPathCompileException
-        {
-            parseWhitespace();
-            
-            if (!isNCNameStart())
-                throw newError( "Expected non-colonized name" );
-
-            StringBuffer sb = new StringBuffer();
-
-            sb.append( (char) currChar() );
-
-            for ( advance() ; isNCName() ; advance() )
-                sb.append( (char) currChar() );
-
-            return sb.toString();
-        }
-
-        private QName getAnyQName ( )
-        {
-            return new QName( "", "" );
-        }
-        
-        private QName tokenizeQName ( ) throws XPathCompileException
-        {
-            if (tokenize( "*" ))
-                return getAnyQName();
-            
-            String ncName = tokenizeNCName();
-
-            if (!tokenize( ":" ))
-                return new QName( lookupPrefix( "" ), ncName );
-            
-            return
-                new QName(
-                    lookupPrefix( ncName ),
-                    tokenize( "*" ) ? "" : tokenizeNCName() );
-        }
-        
-        private String tokenizeQuotedUri ( ) throws XPathCompileException
-        {
-            char quote;
-            
-            if (tokenize( "\"" ))
-                quote = '"';
-            else  if (tokenize( "'" ))
-                quote = '\'';
-            else
-                throw newError( "Expected quote (\" or ')" );
-
-            StringBuffer sb = new StringBuffer();
-
-            for ( ; ; )
-            {
-                if (currChar() == -1)
-                    throw newError( "Path terminated in URI literal" );
-                
-                if (currChar() == quote)
-                {
-                    advance();
-                    
-                    if (currChar() != quote)
-                        break;
-                }
-                
-                sb.append( (char) currChar() );
-                
-                advance();
-            }
-
-            return sb.toString();
-        }
-
-        private Step addStep ( boolean deep, boolean attr, QName name, Step steps )
-        {
-            Step step = new Step( deep, attr, name );
-
-            if (steps == null)
-                return step;
-
-            Step s = steps;
-            
-            while ( steps._next != null )
-                steps = steps._next;
-
-            steps._next = step;
-            step._prev = steps;
-
-            return s;
-        }
-
-        private Step tokenizeSteps ( ) throws XPathCompileException
-        {
-            if (tokenize( "/" ))
-                throw newError( "Absolute paths unsupported" );
-
-            boolean deep;
-
-            if (tokenize( "$", _currentNodeVar, "//" ) || tokenize( ".", "//" ))
-                deep = true;
-            else if (tokenize( "$", _currentNodeVar, "/" ) || tokenize( ".", "/" ))
-                deep = false;
-            else if (tokenize( "$", _currentNodeVar ) || tokenize( "." ))
-                return addStep( false, false, null, null );
-            else
-                deep = false;
-
-            Step steps = null;
-
-            // Compile the steps removing /. and mergind //. with the next step
-
-            boolean deepDot = false;
-
-            for ( ; ; )
-            {
-                if (tokenize( "attribute", "::" ) || tokenize( "@" ))
-                {
-                    steps = addStep( deep, true, tokenizeQName(), steps );
-                    break;
-                }
-
-                QName name;
-                
-                if (tokenize( "." ))
-                    deepDot = deepDot || deep;
-                else if (tokenize( "child", "::" ) && (name = tokenizeQName()) != null)
-                    steps = addStep( deep, false, name, steps );
-                else if ((name = tokenizeQName()) != null)
-                    steps = addStep( deep, false, name, steps );
-
-                if (tokenize( "//" ))
-                {
-                    deep = true;
-                    deepDot = false;
-                }
-                else if (tokenize( "/" ))
-                {
-                    if (deepDot)
-                        deep = true;
-                }
-                else
-                    break;
-            }
-
-            // If there was a //. at the end of th path, then we need to make
-            // two paths, one with * at the end and another with @* at the end.
-
-            if ((_lastDeepDot = deepDot))
-            {
-                _lastDeepDot = true;
-                steps = addStep( true, false, getAnyQName(), steps );
-            }
-
-            // Add sentinal step (_name == null)
-            
-            return addStep( false, false, null, steps );
-        }
-
-        private void computeBacktrack ( Step steps )
-            throws XPathCompileException
-        {
-            //
-            // Compute static backtrack information
-            //
-            // Note that I use the fact that _hasBacktrack is initialized to
-            // false and _backtrack to null in the following code.
-            //
-
-            Step s, t;
-            
-            for ( s = steps ; s != null ; s = t )
-            {
-                // Compute the segment from [ s, t )
-                
-                for ( t = s._next ; t != null && !t._deep ; )
-                    t = t._next;
-
-                // If the segment is NOT rooted at //, then the backtrack is
-                // null for the entire segment, including possible attr and/or
-                // sentinal
-
-                if (!s._deep)
-                {
-                    for ( Step u = s ; u != t ; u = u._next )
-                        u._hasBacktrack = true;
-
-                    continue;
-                }
-
-                // Compute the sequence [ s, u ) of length n which contain no
-                // wild steps.
-
-                int n = 0;
-                Step u = s;
-
-                while ( u != t && u._name != null && !u.isWild() && !u._attr )
-                {
-                    n++;
-                    u = u._next;
-                }
-
-                // Now, apply KMP to [ s, u ) for fast backtracking
-
-                QName [] pattern = new QName [ n + 1 ];
-                int [] kmp = new int [ n + 1 ];
-
-                Step v = s;
-                
-                for ( int i = 0 ; i < n ; i++ )
-                {
-                    pattern[ i ] = v._name;
-                    v = v._next;
-                }
-
-                pattern[ n ] = getAnyQName();
-
-                int i = 0;
-                int j = kmp[ 0 ] = -1;
-
-                while ( i < n )
-                {
-                    while ( j > -1 && !pattern[ i ].equals( pattern[ j ] ) )
-                        j = kmp[ j ];
-
-                    if (pattern[ ++i ].equals( pattern[ ++j ] ))
-                        kmp[ i ] = kmp[ j ];
-                    else
-                        kmp[ i ] = j;
-                }
-
-                i = 0;
-                
-                for ( v = s ; v != u ; v = v._next )
-                {
-                    v._hasBacktrack = true;
-                    v._backtrack = s;
-                    
-                    for ( j = kmp[ i ] ; j > 0 ; j-- )
-                        v._backtrack = v._backtrack._next;
-                    
-                    i++;
-                }
-
-                // Compute the success backtrack and stuff it into an attr and
-                // sentinal if they exist for this segment
-                
-                v = s;
-
-                if (n > 1)
-                {
-                    for ( j = kmp[ n - 1 ] ; j > 0 ; j-- )
-                        v = v._next;
-                }
-
-                if (u != t && u._attr)
-                {
-                    u._hasBacktrack = true;
-                    u._backtrack = v;
-                    u = u._next;
-                }
-
-                if (u != t && u._name == null)
-                {
-                    u._hasBacktrack = true;
-                    u._backtrack = v;
-                }
-
-                // The first part of a deep segment always backtracks to itself
-                
-                assert s._deep;
-
-                s._hasBacktrack = true;
-                s._backtrack = s;
-            }
-        }
-
-        private void tokenizePath ( ArrayList paths )
-            throws XPathCompileException
-        {
-            _lastDeepDot = false;
-            
-            Step steps = tokenizeSteps();
-            
-            computeBacktrack( steps );
-
-            paths.add( steps );
-
-            // If the last path ended in //., that path will match all
-            // elements, here I make a path which matches all attributes.
-
-            if (_lastDeepDot)
-            {
-                _sawDeepDot = true;
-                
-                Step s = null;
-
-                for ( Step t = steps ; t != null ; t = t._next )
-                {
-                    if (t._next != null && t._next._next == null)
-                        s = addStep( t._deep, true, t._name, s );
-                    else
-                        s = addStep( t._deep, t._attr, t._name, s );
-                }
-
-                computeBacktrack( s );
-
-                paths.add( s );
-            }
-        }
-        
-        private Selector tokenizeSelector ( ) throws XPathCompileException
-        {
-            ArrayList paths = new ArrayList();
-
-            tokenizePath( paths );
-
-            while ( tokenize( "|" ) )
-                tokenizePath( paths );
-
-            return new Selector( (Step[]) paths.toArray( new Step [ 0 ] ) );
-        }
-
-        private XPath tokenizeXPath ( ) throws XPathCompileException
-        {
-            for ( ; ; )
-            {
-                if (tokenize( "declare", "namespace" ))
-                {
-                    if (!parseWhitespace())
-                        throw newError( "Expected prefix after 'declare namespace'" );
-
-                    String prefix = tokenizeNCName();
-
-                    if (!tokenize( "=" ))
-                        throw newError( "Expected '='" );
-
-                    String uri = tokenizeQuotedUri();
-                    
-                    if (_namespaces.containsKey( prefix ))
-                    {
-                        throw newError(
-                            "Redefinition of namespace prefix: " + prefix );
-                    }
-
-                    _namespaces.put( prefix, uri );
-
-                    continue;
-                }
-                
-                if (tokenize( "default", "element", "namespace" ))
-                {
-                    if (!tokenize( "=" ))
-                        throw newError( "Expected '='" );
-                    
-                    String uri = tokenizeQuotedUri();
-                    
-                    if (_namespaces.containsKey( "" ))
-                    {
-                        throw newError(
-                            "Redefinition of default element namespace" );
-                    }
-
-                    _namespaces.put( "", uri );
-
-                    continue;
-                }
-                
-                break;
-            }
-
-            // Add the default prefix mapping if it has not been redefined
-            
-            if (!_namespaces.containsKey( "" ))
-                _namespaces.put( "", "" );
-
-            Selector selector = tokenizeSelector();
-
-            parseWhitespace();
-            
-            if (currChar() != -1)
-            {
-                throw newError(
-                    "Unexpected char '" + (char) currChar() + "'" );
-            }
-
-            return new XPath( selector, _sawDeepDot );
-        }
-
-        private String _expr;
-
-        private boolean _sawDeepDot;  // Saw one overall
-        private boolean _lastDeepDot;
-
-        private String _currentNodeVar;
-        
-        private Map _namespaces;
-        private Map _externalNamespaces;
-        
-        private int _offset;
-        private int _line;
-        private int _column;
-    }
-
-    private static final class Step
-    {
-        Step ( boolean deep, boolean attr, QName name )
-        {
-            _name = name;
-
-            _deep = deep;
-            _attr = attr;
-
-            int flags = 0;
-
-            if (_deep || !_attr)
-                flags |= ExecutionContext.DESCEND;
-
-            if (_attr)
-                flags |= ExecutionContext.ATTRS;
-
-            _flags = flags;
-        }
-
-        boolean isWild ( )
-        {
-            return _name.getLocalPart().length() == 0;
-        }
-
-        boolean match ( QName name )
-        {
-            String local = _name.getLocalPart();
-
-            if (local.length() == 0)
-            {
-                String uri = _name.getNamespaceURI();
-
-                if (uri.length() == 0)
-                    return true;
-
-                return uri.equals( name.getNamespaceURI() );
-            }
-
-            return _name.equals( name );
-        }
-
-        final boolean _attr;
-        final boolean _deep;
-
-        int _flags;
-        
-        final QName _name;
-
-        Step _next, _prev;
-
-        boolean _hasBacktrack;
-        Step    _backtrack;
-    }
-
-    private static final class Selector
-    {
-        Selector ( Step[] paths )
-        {
-            _paths = paths;
-        }
-
-        final Step[] _paths;
-    }
-
-    //
-    //
-    //
-    
-    private XPath ( Selector selector, boolean sawDeepDot )
-    {
-        _selector = selector;
-        _sawDeepDot = sawDeepDot;
-    }
-
-    public boolean sawDeepDot ( )
-    {
-        return _sawDeepDot;
-    }
-
-    private final Selector _selector;
-    private final boolean  _sawDeepDot;
-}
\ No newline at end of file
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XmlEncodingSniffer.java b/v1/src/common/org/apache/xmlbeans/impl/common/XmlEncodingSniffer.java
deleted file mode 100644
index 2c81aec..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XmlEncodingSniffer.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import java.io.Reader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.io.IOException;
-
-public class XmlEncodingSniffer
-{
-    private String      _xmlencoding;
-    private String      _javaencoding;
-    private InputStream _stream;
-    private Reader      _reader;
-
-    /**
-     * Sniffs the given XML stream for encoding information.
-     *
-     * After a sniffer is constructed, it can return either a stream
-     * (which is a buffered stream wrapper of the original) or a reader
-     * (which applies the proper encoding).
-     *
-     * @param stream           The stream to sniff
-     * @param encodingOverride The XML (IANA) name for the overriding encoding
-     * @throws IOException
-     * @throws UnsupportedEncodingException
-     */
-    public XmlEncodingSniffer(InputStream stream, String encodingOverride)
-        throws IOException, UnsupportedEncodingException
-    {
-        _stream = stream;
-        
-        if (encodingOverride != null)
-            _xmlencoding = EncodingMap.getJava2IANAMapping(encodingOverride);
-
-        if (_xmlencoding == null)
-            _xmlencoding = encodingOverride;
-
-        if (_xmlencoding == null)
-        {
-            SniffedXmlInputStream sniffed = new SniffedXmlInputStream(_stream);
-            _xmlencoding = sniffed.getXmlEncoding();
-            assert(_xmlencoding != null);
-            _stream = sniffed;
-        }
-
-        _javaencoding = EncodingMap.getIANA2JavaMapping(_xmlencoding);
-        
-        // we allow you to use Java's encoding names in XML even though you're
-        // not supposed to.
-        
-        if (_javaencoding == null)
-            _javaencoding = _xmlencoding;
-    }
-
-    /**
-     * Sniffs the given XML stream for encoding information.
-     *
-     * After a sniffer is constructed, it can return either a reader
-     * (which is a buffered stream wrapper of the original) or a stream
-     * (which applies the proper encoding).
-     *
-     * @param reader           The reader to sniff
-     * @param encodingDefault  The Java name for the default encoding to apply, UTF-8 if null.
-     * @throws IOException
-     * @throws UnsupportedEncodingException
-     */
-    public XmlEncodingSniffer(Reader reader, String encodingDefault)
-            throws IOException, UnsupportedEncodingException
-    {
-        if (encodingDefault == null)
-            encodingDefault = "UTF-8";
-        
-        SniffedXmlReader sniffedReader = new SniffedXmlReader(reader);
-        _reader = sniffedReader;
-        _xmlencoding = sniffedReader.getXmlEncoding();
-
-        if (_xmlencoding == null)
-        {
-            _xmlencoding = EncodingMap.getJava2IANAMapping(encodingDefault);
-            if (_xmlencoding != null)
-                _javaencoding = encodingDefault;
-            else
-                _xmlencoding = encodingDefault;
-        }
-
-        if (_xmlencoding == null)
-            _xmlencoding = "UTF-8";
-        
-        // we allow you to use Java's encoding names in XML even though you're
-        // not supposed to.
-        
-        _javaencoding = EncodingMap.getIANA2JavaMapping(_xmlencoding);
-        
-        if (_javaencoding == null)
-            _javaencoding = _xmlencoding;
-    }
-
-    public String getXmlEncoding()
-    {
-        return _xmlencoding;
-    }
-
-    public String getJavaEncoding()
-    {
-        return _javaencoding;
-    }
-
-    public InputStream getStream()
-            throws UnsupportedEncodingException
-    {
-        if (_stream != null)
-        {
-            InputStream is = _stream;
-            _stream = null;
-            return is;
-        }
-
-        if (_reader != null)
-        {
-            InputStream is = new ReaderInputStream( _reader, _javaencoding );
-            _reader = null;
-            return is;
-        }
-
-        return null;
-    }
-
-
-    public Reader getReader ( )
-        throws UnsupportedEncodingException
-    {
-        if (_reader != null)
-        {
-            Reader reader = _reader;
-            _reader = null;
-            return reader;
-        }
-
-        if (_stream != null)
-        {
-            Reader reader = new InputStreamReader( _stream, _javaencoding );
-            _stream = null;
-            return reader;
-        }
-
-        return null;
-    }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XmlErrorContext.java b/v1/src/common/org/apache/xmlbeans/impl/common/XmlErrorContext.java
deleted file mode 100644
index c9fe45d..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XmlErrorContext.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-public abstract class XmlErrorContext
-{
-    public static final int CANNOT_LOAD_XSD_FILE              =   1;
-    public static final int CANNOT_LOAD_XSD_CONFIG_FILE       =   2;
-    public static final int NO_SCHEMA_ELEMENT                 =   3;
-    public static final int MISMATCHED_TARGET_NAMESPACE       =   4;
-    public static final int GLOBAL_TYPE_MISSING_NAME          =   5;
-    public static final int TYPE_NOT_FOUND                    =   6;
-    public static final int REDUNDANT_NESTED_TYPE             =   7;
-    public static final int ELEMENT_MISSING_NAME              =   8;
-    public static final int REDUNDANT_DEFAULT_FIXED           =   9;
-    public static final int MODEL_GROUP_MISSING_NAME          =  10;
-    public static final int ATTRIBUTE_MISSING_NAME            =  11;
-    public static final int ATTRIBUTE_GROUP_MISSING_NAME      =  12;
-    public static final int CYCLIC_DEPENDENCY                 =  13;
-    public static final int UNION_MEMBER_NOT_SIMPLE           =  14;
-    public static final int RESTRICTION_REDUNDANT_BASE        =  15;
-    public static final int RESTRICTION_MISSING_BASE          =  16;
-    public static final int SIMPLE_RESTRICTION_NOT_SIMPLE     =  17;
-    public static final int FACET_DOES_NOT_APPLY              =  18;
-    public static final int FACET_DUPLICATED                  =  19;
-    public static final int FACET_VALUE_MALFORMED             =  20;
-    public static final int FACET_FIXED                       =  21;
-    public static final int MALFORMED_NUMBER                  =  21;
-    public static final int LIST_MISSING_ITEM                 =  22;
-    public static final int LIST_ITEM_NOT_SIMPLE              =  23;
-    public static final int LIST_OF_LIST                      =  24;
-    public static final int LIST_WHITESPACE                   =  25;
-    public static final int REDUNDANT_CONTENT_MODEL           =  26;
-    public static final int MISSING_RESTRICTION_OR_EXTENSION  =  27;
-    public static final int MISSING_BASE                      =  28;
-    public static final int ELEMENT_REF_NOT_FOUND             =  29;
-    public static final int ELEMENT_EXTRA_REF                 =  30;
-    public static final int ALL_CONTENTS                      =  31;
-    public static final int EXPLICIT_GROUP_NEEDED             =  32;
-    public static final int GROUP_MISSING_REF                 =  33;
-    public static final int MODEL_GROUP_NOT_FOUND             =  34;
-    public static final int MIN_MAX_OCCURS                    =  35;
-    public static final int ATTRIBUTE_REF_NOT_FOUND           =  36;
-    public static final int DUPLICATE_ATTRIBUTE_NAME          =  37;
-    public static final int DUPLICATE_ANY_ATTRIBUTE           =  38;
-    public static final int ATTRIBUTE_GROUP_MISSING_REF       =  39;
-    public static final int ATTRIBUTE_GROUP_NOT_FOUND         =  40;
-    public static final int COMPLEX_BASE_NOT_COMPLEX          =  41;
-    public static final int CANNOT_EXTEND_ALL                 =  42;
-    public static final int SIMPLE_BASE_NOT_SIMPLE            =  43;
-    public static final int RESERVED_TYPE_NAME                =  44;
-    public static final int ILLEGAL_RESTRICTION               =  45;
-    public static final int INVALID_SCHEMA                    =  46;
-    public static final int DUPLICATE_GLOBAL_ELEMENT          =  47;
-    public static final int DUPLICATE_GLOBAL_ATTRIBUTE        =  48;
-    public static final int DUPLICATE_GLOBAL_TYPE             =  49;
-    public static final int INCONSISTENT_TYPE                 =  50;
-    public static final int UNSUPPORTED_FEATURE               =  51;
-    public static final int MALFORMED_SIMPLE_TYPE_DEFN        =  52;
-    public static final int INVALID_NAME                      =  53;
-    public static final int CANNOT_DERIVE_FINAL               =  54;
-    public static final int IDC_NOT_FOUND                     =  55;
-    public static final int CANNOT_FIND_RESOURCE              =  56;
-    public static final int NONDETERMINISTIC_MODEL            =  57;
-    public static final int XPATH_COMPILATION_FAILURE         =  58;
-    public static final int GENERIC_ERROR                     =  60;
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XmlErrorPrinter.java b/v1/src/common/org/apache/xmlbeans/impl/common/XmlErrorPrinter.java
deleted file mode 100644
index 46955e6..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XmlErrorPrinter.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import org.apache.xmlbeans.XmlError;
-
-import java.util.AbstractCollection;
-import java.util.Iterator;
-import java.util.Collections;
-import java.net.URI;
-
-public class XmlErrorPrinter extends AbstractCollection
-{
-    private boolean _noisy;
-    private URI _baseURI;
-
-    public XmlErrorPrinter(boolean noisy, URI baseURI)
-    {
-        _noisy = noisy;
-        _baseURI = baseURI;
-    }
-
-    public boolean add(Object o)
-    {
-        if (o instanceof XmlError)
-        {
-            XmlError err = (XmlError)o;
-            if (err.getSeverity() == XmlError.SEVERITY_ERROR ||
-                err.getSeverity() == XmlError.SEVERITY_WARNING)
-                System.err.println(err.toString(_baseURI));
-            else if (_noisy)
-                System.out.println(err.toString(_baseURI));
-        }
-        return false;
-    }
-
-    public Iterator iterator()
-    {
-        return Collections.EMPTY_LIST.iterator();
-    }
-
-    public int size()
-    {
-        return 0;
-    }
-}
-
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XmlErrorWatcher.java b/v1/src/common/org/apache/xmlbeans/impl/common/XmlErrorWatcher.java
deleted file mode 100644
index 590f236..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XmlErrorWatcher.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import org.apache.xmlbeans.XmlError;
-
-import java.util.AbstractCollection;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Collections;
-
-public class XmlErrorWatcher extends AbstractCollection
-{
-    private Collection _underlying;
-    private XmlError _firstError;
-
-    public XmlErrorWatcher(Collection underlying)
-    {
-        _underlying = underlying;
-    }
-
-    public boolean add(Object o)
-    {
-        if (_firstError == null && o instanceof XmlError && ((XmlError)o).getSeverity() == XmlError.SEVERITY_ERROR)
-            _firstError = (XmlError)o;
-        if (_underlying == null)
-            return false;
-        return _underlying.add(o);
-    }
-
-    public Iterator iterator()
-    {
-        if (_underlying == null)
-            return Collections.EMPTY_LIST.iterator();
-
-        return _underlying.iterator();
-    }
-
-    public int size()
-    {
-        if (_underlying == null)
-            return 0;
-
-        return _underlying.size();
-    }
-
-    public boolean hasError()
-    {
-        return _firstError != null;
-    }
-
-    public XmlError firstError()
-    {
-        return _firstError;
-    }
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XmlEventBase.java b/v1/src/common/org/apache/xmlbeans/impl/common/XmlEventBase.java
deleted file mode 100644
index 9ad5c62..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XmlEventBase.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import weblogic.xml.stream.XMLEvent;
-import weblogic.xml.stream.events.ElementTypeNames;
-
-/**
- * Abstract base class which implements the type part XMLEvent.
- */
-
-public abstract class XmlEventBase implements XMLEvent
-{
-    public XmlEventBase ( )
-    {
-    }
-    
-    public XmlEventBase ( int type )
-    {
-        _type = type;
-    }
-
-    public void setType ( int type )
-    {
-        _type = type;
-    }
-    
-    public int getType ( )
-    {
-        return _type;
-    }
-
-    public String getTypeAsString ( )
-    {
-        return ElementTypeNames.getName( _type );
-    }
-            
-    public boolean isStartElement ( )
-    {
-        return _type == XMLEvent.START_ELEMENT;
-    }
-    
-    public boolean isEndElement ( )
-    {
-        return _type == XMLEvent.END_ELEMENT;
-    }
-    
-    public boolean isEntityReference ( )
-    {
-        return _type == XMLEvent.ENTITY_REFERENCE;
-    }
-    
-    public boolean isStartPrefixMapping ( )
-    {
-        return _type == XMLEvent.START_PREFIX_MAPPING;
-    }
-    
-    public boolean isEndPrefixMapping ( )
-    {
-        return _type == XMLEvent.END_PREFIX_MAPPING;
-    }
-    
-    public boolean isChangePrefixMapping ( )
-    {
-        return _type == XMLEvent.CHANGE_PREFIX_MAPPING;
-    }
-    
-    public boolean isProcessingInstruction ( )
-    {
-        return _type == XMLEvent.PROCESSING_INSTRUCTION;
-    }
-    
-    public boolean isCharacterData ( )
-    {
-        return _type == XMLEvent.CHARACTER_DATA;
-    }
-    
-    public boolean isSpace ( )
-    {
-        return _type == XMLEvent.SPACE;
-    }
-    
-    public boolean isNull ( )
-    {
-        return _type == XMLEvent.NULL_ELEMENT;
-    }
-    
-    public boolean isStartDocument ( )
-    {
-        return _type == XMLEvent.START_DOCUMENT;
-    }
-    
-    public boolean isEndDocument ( )
-    {
-        return _type == XMLEvent.END_DOCUMENT;
-    }
-
-    private int _type;
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XmlNameImpl.java b/v1/src/common/org/apache/xmlbeans/impl/common/XmlNameImpl.java
deleted file mode 100644
index 17aa409..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XmlNameImpl.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import weblogic.xml.stream.XMLName;
-
-public class XmlNameImpl implements XMLName {
-
-  private String namespaceUri=null;
-  private String localName=null;
-  private String prefix=null;
-  private int hash = 0;
-
-  public XmlNameImpl () {}
-  public XmlNameImpl (String localName) {
-    this.localName = localName;
-  }
-  public XmlNameImpl (String namespaceUri,String localName) {
-    setNamespaceUri(namespaceUri);
-    this.localName = localName;
-  }
-  public XmlNameImpl (String namespaceUri,
-               String localName,
-               String prefix) {
-    setNamespaceUri(namespaceUri);
-    this.localName = localName;
-    this.prefix = prefix;
-  }
-
-  public String getNamespaceUri() { return namespaceUri; }
-  public String getLocalName() { return localName; }
-  public String getPrefix() { return prefix; }
-
-  public void setNamespaceUri(String namespaceUri) {
-    hash = 0;
-    if (namespaceUri != null && namespaceUri.equals("")) return;
-    this.namespaceUri = namespaceUri; 
-  }
-  public void setLocalName(String localName) { 
-    this.localName = localName; 
-    hash = 0;
-  }
-  public void setPrefix(String prefix) { this.prefix = prefix; }
-
-  public String getQualifiedName() {
-    if (prefix != null && prefix.length() > 0)
-      return prefix + ":" + localName;
-    else
-      return localName;
-  }
-  public String toString() {
-    if (getNamespaceUri() != null)
-      return "['"+getNamespaceUri()+"']:"+getQualifiedName();
-    else 
-      return getQualifiedName();
-  }
-
-  public final int hashCode() {
-    int tmp_hash = hash;
-    if (tmp_hash == 0) {
-      tmp_hash = 17;
-      if (namespaceUri != null) {
-	tmp_hash = 37*tmp_hash + namespaceUri.hashCode();
-      }
-      if (localName != null) {
-	tmp_hash = 37*tmp_hash + localName.hashCode();
-      }
-      hash = tmp_hash;
-    }
-    return tmp_hash;
-  }
-
-  public final boolean equals(Object obj) {
-    if (obj == this) return true;
-
-    if (obj instanceof XMLName) {
-      final XMLName name= (XMLName) obj;
-
-      final String lname = localName;
-      if (!(lname==null ? name.getLocalName()==null : 
-	    lname.equals(name.getLocalName())))
-	return false;
-
-      final String uri = namespaceUri;
-      return (uri==null ? name.getNamespaceUri()==null :
-	      uri.equals(name.getNamespaceUri()));
-	
-    }
-    return false;
-  }
-
-
-
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XmlObjectList.java b/v1/src/common/org/apache/xmlbeans/impl/common/XmlObjectList.java
deleted file mode 100644
index 05fdcc0..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XmlObjectList.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SimpleValue;
-
-/**
- * A class to hold and compare a list of XmlObjects for use by keys
- * keyrefs during validation.
- */
-public class XmlObjectList
-{
-    private final XmlObject[] _objects;
-
-    /**
-     * Construct a new empty object list of the given fixed size.
-     */
-    public XmlObjectList(int objectCount) {
-        _objects = new XmlObject[objectCount];
-    }
-
-    /**
-     * Set an object by index unless a value has been previously
-     * set at that location.
-     * 
-     * @return true if the value was set, false if the value has
-     * already been set
-     */
-    public boolean set(XmlObject o, int index)
-    {
-        if (_objects[index] != null)
-            return false;
-
-        _objects[index] = o;
-        return true;
-    }
-
-    /**
-     * Tests that all values have been set. Needed for keys.
-     */
-    public boolean filled() {
-        for (int i = 0 ; i < _objects.length ; i++)
-            if (_objects[i] == null) return false;
-
-        return true;
-    }
-    
-    /**
-     * Tests that all values have been set. Needed for keys.
-     */
-    public int unfilled()
-    {
-        for (int i = 0 ; i < _objects.length ; i++)
-            if (_objects[i] == null) return i;
-
-        return -1;
-    }
-
-    public boolean equals(Object o) {
-        if (!( o instanceof XmlObjectList))
-            return false;
-
-        XmlObjectList other = (XmlObjectList)o;
-
-        if (other._objects.length != this._objects.length)
-            return false;
-
-        for (int i = 0 ; i < _objects.length ; i++) {
-            // Ignore missing values
-            if (_objects[i] == null || other._objects[i] == null)
-                return false;
-
-            if (! _objects[i].valueEquals(other._objects[i]))
-                return false;
-        }
-
-        return true;
-    }
-
-    public int hashCode()
-    {
-        int h = 0;
-
-        for (int i = 0 ; i < _objects.length ; i++)
-            if (_objects[i] != null)
-                h = 31 * h + _objects[i].valueHashCode();
-
-        return h;
-    }
-    
-    private static String prettytrim(String s)
-    {
-        int end;
-        for (end = s.length(); end > 0; end -= 1)
-        {
-            if (!XMLChar.isSpace(s.charAt(end - 1)))
-                break;
-        }
-        int start;
-        for (start = 0; start < end; start += 1)
-        {
-            if (!XMLChar.isSpace(s.charAt(start)))
-                break;
-        }
-        return s.substring(start, end);
-    }
-
-    public String toString() {
-        StringBuffer b = new StringBuffer();
-
-        for (int i = 0 ; i < _objects.length ; i++)
-        {
-            if (i != 0) b.append(" ");
-            b.append(prettytrim(((SimpleValue)_objects[i]).stringValue()));
-        }
-
-        return b.toString();
-    }
-}
-
-
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/XmlWhitespace.java b/v1/src/common/org/apache/xmlbeans/impl/common/XmlWhitespace.java
deleted file mode 100644
index 39e2f2a..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/XmlWhitespace.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.common;
-
-import org.apache.xmlbeans.SchemaType;
-
-public class XmlWhitespace
-{
-    public static final int WS_UNSPECIFIED = SchemaType.WS_UNSPECIFIED;
-    public static final int WS_PRESERVE = SchemaType.WS_PRESERVE;
-    public static final int WS_REPLACE = SchemaType.WS_REPLACE;
-    public static final int WS_COLLAPSE = SchemaType.WS_COLLAPSE;
-
-
-    public static boolean isSpace(char ch)
-    {
-        switch (ch)
-        {
-            case ' ':
-            case '\n':
-            case '\r':
-            case '\t':
-                return true;
-        }
-        return false;
-    }
-
-    public static boolean isAllSpace(String v)
-    {
-        for (int i = 0; i < v.length(); i++)
-        {
-            if (!isSpace(v.charAt(i)))
-                return false;
-        }
-        return true;
-    }
-
-    public static String collapse(String v)
-    {
-        return collapse(v, XmlWhitespace.WS_COLLAPSE);
-    }
-
-    /**
-     * The algorithm used by apply_wscanon: sometimes used in impls.
-     */
-    public static String collapse(String v, int wsr)
-    {
-        if (wsr == SchemaType.WS_PRESERVE || wsr == SchemaType.WS_UNSPECIFIED)
-            return v;
-
-        if (v.indexOf('\n') >= 0)
-            v = v.replace('\n', ' ');
-        if (v.indexOf('\t') >= 0)
-            v = v.replace('\t', ' ');
-        if (v.indexOf('\r') >= 0)
-            v = v.replace('\r', ' ');
-
-        if (wsr == SchemaType.WS_REPLACE)
-            return v;
-
-        int j = 0;
-        int len = v.length();
-        if (len == 0)
-            return v;
-
-        int i;
-
-        /* a trick: examine every other character looking for pairs of spaces */
-        if (v.charAt(0) != ' ')
-        {
-            examine: {
-                for (j = 2; j < len; j += 2)
-                {
-                    if (v.charAt(j) == ' ')
-                    {
-                        if (v.charAt(j - 1) == ' ')
-                            break examine;
-                        if (j == len - 1)
-                            break examine;
-                        j++;
-                        if (v.charAt(j) == ' ')
-                            break examine;
-                    }
-                }
-                if (j == len && v.charAt(j - 1) == ' ')
-                    break examine;
-                return v;
-            }
-            /* j is pointing at the first ws to be removed, or past end */
-            i = j;
-        }
-        else
-        {
-            /**
-             * j is pointing at the last whitespace in the initial run
-             */
-            while (j + 1 < v.length() && v.charAt(j + 1) == ' ')
-                j += 1;
-            i = 0;
-        }
-
-        char[] ch = v.toCharArray();
-
-        shifter: for (;;)
-        {
-            for (;;)
-            {
-                /* j was ws or past end */
-                j++;
-                if (j >= len)
-                    break shifter;
-                if (v.charAt(j) != ' ')
-                    break;
-            }
-            for (;;)
-            {
-                /* j was nonws */
-                ch[i++] = ch[j++];
-                if (j >= len)
-                    break shifter;
-                if (ch[j] == ' ')
-                {
-                    ch[i++] = ch[j++];
-                    if (j >= len)
-                        break shifter;
-                    if (ch[j] == ' ')
-                        break;
-                }
-            }
-        }
-
-        return new String(ch, 0, (i == 0 || ch[i - 1] != ' ') ? i : i - 1);
-    }
-
-}
diff --git a/v1/src/common/org/apache/xmlbeans/impl/common/readme.txt b/v1/src/common/org/apache/xmlbeans/impl/common/readme.txt
deleted file mode 100644
index ea25143..0000000
--- a/v1/src/common/org/apache/xmlbeans/impl/common/readme.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-There are isolated files in this directory taken from the Apache
-Xerces-J 2.0 project
-
-It contains very minor modifications including a change in namespace.
-
diff --git a/v1/src/configschema/schema/xmlconfig.xsd b/v1/src/configschema/schema/xmlconfig.xsd
deleted file mode 100644
index da7ed6b..0000000
--- a/v1/src/configschema/schema/xmlconfig.xsd
+++ /dev/null
@@ -1,124 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:xb="http://www.bea.com/2002/09/xbean/config"
-   targetNamespace="http://www.bea.com/2002/09/xbean/config"
-   elementFormDefault="qualified">
-  
-  <xs:import namespace="http://www.w3.org/2001/XMLSchema"/> 
-
-  <xs:element name="config">
-    <xs:annotation>
-      <xs:documentation>
-         The config element is the top-level element for an .xsdconfig file.
-         It contains configuration information that guides the xsd compiler
-         when it generates Java classes. You can specify package names to
-         be used for whole xml namespaces; you can specify class names
-         to use for individual schema types; and you can supply extension
-         interfaces and implementations to be extended by the generated
-         Java classes.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-
-        <xs:element name="namespace" type="xb:nsconfig">
-          <xs:annotation>
-            <xs:documentation>
-              Specifies configuration for a namespace.
-            </xs:documentation>
-          </xs:annotation>
-        </xs:element>
-
-        <xs:element name="qname" type="xb:qnameconfig">
-          <xs:annotation>
-            <xs:documentation>
-              Specifies java mapping for a qname.
-            </xs:documentation>
-          </xs:annotation>
-        </xs:element>
-
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:complexType name="nsconfig">
-
-    <xs:sequence>
-
-      <xs:element name="package" type="xs:string" minOccurs="0">
-        <xs:annotation>
-          <xs:documentation>
-            The package name to be used for types generated in this
-            namespace.
-          </xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      
-      <xs:element name="prefix" type="xs:string" minOccurs="0">
-        <xs:annotation>
-          <xs:documentation>
-            A prefix to be used to prepend to top-level Java type names
-            generated in this namespace.  (The prefix is not used for
-            inner Java type definitions.)
-          </xs:documentation>
-        </xs:annotation>
-      </xs:element>
-
-      <xs:element name="suffix" type="xs:string" minOccurs="0">
-        <xs:annotation>
-          <xs:documentation>
-            A suffix to be used to append to top-level Java type names
-            generated in this namespace. (The suffix is not used for
-            inner Java type definitions.)
-          </xs:documentation>
-        </xs:annotation>
-      </xs:element>
-
-    </xs:sequence>
-
-    <xs:attribute name="uri" type="xs:namespaceList">
-      <xs:annotation>
-        <xs:documentation>
-          A list of any number of namespace URIs or ##local for the no-namespace,
-          or ##any for all namespaces.
-        </xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-
-  </xs:complexType>
-
-  <xs:complexType name="qnameconfig">
-    <xs:sequence/>
-    <xs:attribute name="name" type="xs:QName"/>
-    <xs:attribute name="javaname" type="xs:string"/>
-  </xs:complexType>
-
-  <xs:simpleType name="namespaceList">
-    <xs:annotation>
-     <xs:documentation>
-     A list of namespace URIs, with ##local for no-uri; or ##any for all URIs.
-     </xs:documentation>
-    </xs:annotation>
-    <xs:union>
-     <xs:simpleType>
-      <xs:restriction base="xs:token">
-       <xs:enumeration value="##any"/>
-      </xs:restriction>
-     </xs:simpleType>
-     <xs:simpleType>
-      <xs:list>
-       <xs:simpleType>
-        <xs:union memberTypes="xs:anyURI">
-         <xs:simpleType>
-          <xs:restriction base="xs:token">
-           <xs:enumeration value="##local"/>
-          </xs:restriction>
-         </xs:simpleType>
-        </xs:union>
-       </xs:simpleType>
-      </xs:list>
-     </xs:simpleType>
-    </xs:union>
-   </xs:simpleType>
-  
-</xs:schema>
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/ComponentInfo.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/ComponentInfo.java
deleted file mode 100644
index d911a51..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/ComponentInfo.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.compiler;
-
-import org.apache.xmlbeans.SchemaType;
-import java.lang.reflect.Constructor;
-
-public abstract class ComponentInfo
-{
-    private String _fullJavaIntfName;
-    private String _fullJavaImplName;
-    private String _shortJavaIntfName;
-    private String _shortJavaImplName;
-    private String _baseIntfName;
-    private String _baseImplName;
-    private int _superCtrArgCount;
-
-    // runtime support
-    private volatile boolean     _implNotAvailable;
-    private volatile Class       _javaImplClass;
-    private volatile Constructor _javaImplConstructor;
-
-    public String getFullJavaIntfName() {
-        return _fullJavaIntfName;
-    }
-
-    public String getShortJavaIntfName() {
-        return _shortJavaIntfName;
-    }
-
-    public void setFullJavaIntfName(String intfName) {
-        _fullJavaIntfName = intfName;
-
-        int index = Math.max(_fullJavaIntfName.lastIndexOf('$'),
-                             _fullJavaIntfName.lastIndexOf('.')) + 1;
-
-        _shortJavaIntfName = _fullJavaIntfName.substring(index);
-    }
-
-    public String getFullJavaImplName() {
-        return _fullJavaImplName;
-    }
-
-    public String getShortJavaImplName() {
-        return _shortJavaImplName;
-    }
-
-    public void setFullJavaImplName(String implName) {
-        _fullJavaImplName = implName;
-
-        int index = Math.max(_fullJavaImplName.lastIndexOf('$'),
-                             _fullJavaImplName.lastIndexOf('.')) + 1;
-
-        _shortJavaImplName = _fullJavaImplName.substring(index);
-    }
-
-    public void setBaseIntfName(String baseType)
-    {
-        _baseIntfName = baseType;
-    }
-
-    public String getBaseIntfName()
-    {
-        return _baseIntfName;
-    }
-
-    public void setBaseImplName(String basetype)
-    {
-        _baseImplName = basetype;
-    }
-
-    public String getBaseImplName()
-    {
-        return _baseImplName;
-    }
-
-    public int getSuperCtrArgCount() {
-        return _superCtrArgCount;
-    }
-
-    public void setSuperCtrArgCount(int count) {
-        _superCtrArgCount = count;
-    }
-
-    public Class getJavaImplClass(ClassLoader cl) {
-        if (_implNotAvailable)
-            return null;
-
-        if (_javaImplClass == null)
-        {
-            try {
-                if (getFullJavaImplName() != null)
-                    _javaImplClass = Class.forName(getFullJavaImplName(), false, cl);
-                else
-                    _implNotAvailable = true;
-            }
-            catch (ClassNotFoundException e) {
-                _implNotAvailable = true;
-            }
-        }
-
-        return _javaImplClass;
-    }
-
-    public Constructor getJavaImplConstructor(ClassLoader cl)
-    {
-        if (_javaImplConstructor == null && !_implNotAvailable)
-        {
-            final Class impl = getJavaImplClass(cl);
-            if (impl == null) return null;
-            try
-            {
-                _javaImplConstructor = impl.getConstructor(null);
-            }
-            catch (NoSuchMethodException e)
-            {
-                e.printStackTrace();
-            }
-        }
-
-        return _javaImplConstructor;
-
-    }
-}
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/ElementInfo.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/ElementInfo.java
deleted file mode 100644
index 45e0d3e..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/ElementInfo.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.compiler;
-
-public class ElementInfo extends ComponentInfo {
-    public static int NO_VALUE = -1;
-    private int _valueType = NO_VALUE;
-
-    public void setValueType(int valueType)
-    {
-        _valueType = valueType;
-    }
-
-    public int getValueType()
-    {
-        return _valueType;
-    }
-
-
-
-}
-
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/JaxbCodeGenerator.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/JaxbCodeGenerator.java
deleted file mode 100644
index 790b847..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/JaxbCodeGenerator.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.compiler;
-
-import java.util.*;
-import java.io.*;
-import javax.xml.namespace.QName;
-
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaLocalElement;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.NameUtil;
-import org.apache.xmlbeans.impl.common.XmlErrorWatcher;
-
-import org.apache.xmlbeans.impl.jaxb.config.JaxbConfigDocument;
-import org.apache.xmlbeans.impl.jaxb.config.JaxbConfigDocument.JaxbConfig;
-import org.apache.xmlbeans.impl.jaxb.config.JaxbConfigDocument.JaxbConfig.GlobalElements;
-import org.apache.xmlbeans.impl.jaxb.config.JaxbConfigDocument.JaxbConfig.GlobalTypes;
-import org.apache.xmlbeans.impl.jaxb.config.GlobalElement;
-import org.apache.xmlbeans.impl.jaxb.config.GlobalType;
-
-public final class JaxbCodeGenerator
-{
-    public static boolean compile(SchemaTypeSystem sts, List sourcefiles, File sourcedir, File classesdir, XmlErrorWatcher errors)
-    {
-        Map componentData = new LinkedHashMap();
-        Map packageData = new LinkedHashMap();
-        boolean failure = false;
-
-        if ( ! JaxbJavaizer.javaize(sts, componentData, packageData, errors) )
-            return false;
-
-        JaxbConfigDocument doc = JaxbConfigDocument.Factory.newInstance();
-        JaxbConfig root = doc.addNewJaxbConfig();
-        GlobalElements elts = root.addNewGlobalElements();
-        GlobalTypes types = root.addNewGlobalTypes();
-
-        for (Iterator it = packageData.values().iterator() ; it.hasNext() ; )
-        {
-            PackageInfo pi = (PackageInfo) it.next();
-
-            Writer writer = null;
-            try 
-            {
-                // First construct the jaxb.properties file for this package
-                String filename = pi.getPackageName().replace('.', '/') + "/jaxb.properties";
-                File sourcefile = new File(classesdir, filename);
-                sourcefile.getParentFile().mkdirs();
-
-                writer = new FileWriter(sourcefile);
-                JaxbCodePrinter.printPackageProperties(writer, pi);
-                writer.close();
-                writer = null;
-            }
-            catch (IOException e)
-            {
-                System.err.println("IO Error " + e);
-                failure = true;
-            }
-            finally {
-                try { if (writer != null) writer.close(); } catch (IOException e) {}
-            }
-
-            // TODO: generate ObjectFactory class
-
-
-            // Generate the interfaces & implementations for the schema components
-            List allComponents = new ArrayList();
-            allComponents.addAll(Arrays.asList(sts.globalElements()));
-            allComponents.addAll(Arrays.asList(sts.globalTypes()));
-
-            for (int i = 0, len = allComponents.size() ; i < len ; i++)
-            {
-                SchemaComponent sc = (SchemaComponent)allComponents.get(i);
-                ComponentInfo ci = (ComponentInfo)componentData.get(sc);
-
-                addComponentToConfig(sc, ci, root);
-
-                assert ci != null;
-
-                String filename = ci.getFullJavaIntfName().replace('.', '/') + ".java";
-
-                // print the java interface
-
-                try {
-                    File sourcefile = new File(sourcedir,  filename);
-                    sourcefile.getParentFile().mkdirs();
-
-                    writer = new FileWriter(sourcefile);
-                    JaxbCodePrinter.printJavaInterface(writer, sc, ci);
-                    writer.close();
-                    writer = null;
-                    sourcefiles.add(sourcefile);
-                }
-                catch (IOException e)
-                {
-                    System.err.println("IO Error " + e);
-                    failure = true;
-                }
-                finally {
-                    try { if (writer != null) writer.close(); } catch (IOException e) {}
-                }
-
-                // print the java impl
-
-
-                filename = ci.getFullJavaImplName().replace('.', '/') + ".java";
-                try {
-                    File sourcefile = new File(sourcedir,  filename);
-                    sourcefile.getParentFile().mkdirs();
-
-                    writer = new FileWriter(sourcefile);
-                    JaxbCodePrinter.printJavaImpl(writer, sc, ci);
-                    writer.close();
-                    writer = null;
-                    sourcefiles.add(sourcefile);
-                }
-                catch (IOException e)
-                {
-                    System.err.println("IO Error " + e);
-                    failure = true;
-                }
-                finally {
-                    try { if (writer != null) writer.close(); } catch (IOException e) {}
-                }
-            }
-
-        }
-
-        // Save out the jaxb config file
-
-        OutputStream os = null;
-        try 
-        {
-            // First construct the jaxb.properties file for this package
-            String filename = sts.getName().replace('.', '/') + "/JaxbConfig.xml";
-            File sourcefile = new File(classesdir, filename);
-            sourcefile.getParentFile().mkdirs();
-
-            os = new FileOutputStream(sourcefile);
-            doc.save(os);
-            os.close();
-            os = null;
-        }
-        catch (IOException e)
-        {
-            System.err.println("IO Error " + e);
-            failure = true;
-        }
-        finally {
-            try { if (os != null) os.close(); } catch (IOException e) {}
-        }
-
-        return failure;
-
-    }
-
-    static void addComponentToConfig(SchemaComponent sc, ComponentInfo ci, JaxbConfig config)
-    {
-        switch (sc.getComponentType())
-        {
-            case SchemaComponent.ELEMENT:
-                GlobalElement elt = config.getGlobalElements().addNewGlobalElement();
-                elt.setQname(sc.getName());
-                elt.setJavaImpl(ci.getFullJavaImplName());
-                break;
-            default:
-                throw new IllegalStateException();
-        }
-
-    }
-
-}
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/JaxbCodePrinter.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/JaxbCodePrinter.java
deleted file mode 100644
index d10bfcd..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/JaxbCodePrinter.java
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.compiler;
-
-import java.util.*;
-import java.io.*;
-import javax.xml.namespace.QName;
-
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaLocalElement;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaProperty;
-import org.apache.xmlbeans.impl.common.NameUtil;
-import org.apache.xmlbeans.impl.common.XmlErrorWatcher;
-
-public final class JaxbCodePrinter
-{
-    Writer _writer;
-    int _indent;
-    static final String LINE_SEPARATOR = System.getProperty("line.separator") == null ? "\n" : System.getProperty("line.separator");
-
-    static final int MAX_INDENT = 40;
-    static final String MAX_SPACES = "                                        ";
-    static final int INDENT_INCREMENT = 4;
-
-    public JaxbCodePrinter(Writer writer)
-    {
-        _writer = writer;
-        _indent = 0;
-    }
-
-    void indent()
-    {
-        _indent += INDENT_INCREMENT;
-    }
-
-    void outdent()
-    {
-        _indent -= INDENT_INCREMENT;
-    }
-
-    void startBlock() throws IOException
-    {
-        emit("{");
-        indent();
-    }
-    void endBlock() throws IOException
-    {
-        outdent();
-        emit("}");
-    }
-
-    void emit(String s) throws IOException
-    {
-        int indent = _indent;
-        if (indent > MAX_INDENT / 2)
-            indent = MAX_INDENT / 4 + indent / 2;
-        if (indent > MAX_INDENT)
-            indent = MAX_INDENT;
-        _writer.write(MAX_SPACES.substring(0, indent));
-        _writer.write(s);
-        _writer.write(LINE_SEPARATOR);
-    }
-
-    public static void printPackageProperties(Writer w, PackageInfo pi) throws IOException
-    {
-        JaxbCodePrinter p = new JaxbCodePrinter(w);
-        p.printPackageProperties(pi);
-    }
-
-    public static void printJavaInterface(Writer w, SchemaComponent sc, ComponentInfo ci)
-        throws IOException
-    {
-        JaxbCodePrinter p = new JaxbCodePrinter(w);
-
-        switch (sc.getComponentType())
-        {
-            case SchemaComponent.ELEMENT:
-                p.printElement((SchemaGlobalElement)sc, (ElementInfo)ci);
-                break;
-
-            default:
-                throw new IllegalStateException();
-        }
-    }
-
-    public static void printJavaImpl(Writer w, SchemaComponent sc, ComponentInfo ci)
-        throws IOException
-    {
-        JaxbCodePrinter p = new JaxbCodePrinter(w);
-
-        switch (sc.getComponentType())
-        {
-            case SchemaComponent.ELEMENT:
-                p.printElementImpl((SchemaGlobalElement)sc, (ElementInfo)ci);
-                break;
-
-            default:
-                throw new IllegalStateException();
-        }
-    }
-
-    void printPackageProperties(PackageInfo pi) throws IOException
-    {
-        emit("#" + new Date());
-        emit("javax.xml.bind.context.factory=org.apache.xmlbeans.impl.jaxb.runtime.ContextImpl");
-        emit("org.apache.xmlbeans.impl.jaxb.TypeSystemHolder=" + pi.getIndexClassName());
-    }
-
-    void printElement(SchemaGlobalElement elt, ElementInfo ei)
-        throws IOException
-    {
-        printTopComment(elt, ei, true);
-        printPackage(elt, ei, true);
-        printElementBody(elt, ei);
-    }
-
-    void printElementImpl(SchemaGlobalElement elt, ElementInfo ei)
-        throws IOException
-    {
-        printTopComment(elt, ei, false);
-        printPackage(elt, ei, false);
-        printElementImplBody(elt, ei);
-    }
-
-    void printTopComment(SchemaComponent sc, ComponentInfo ci, boolean intf)
-        throws IOException
-    {
-        emit("/*");
-        emit(" * XML Type:  " + sc.getName().getLocalPart());
-        emit(" * Namespace: " + sc.getName().getNamespaceURI());
-        emit(" * Java type: " + ( intf ? ci.getFullJavaIntfName() : ci.getFullJavaImplName()));
-        emit(" *");
-        emit(" * Automatically generated - do not modify.");
-        emit(" */");
-        emit("");
-    }
-
-    void printPackage(SchemaComponent sc, ComponentInfo ci, boolean intf)
-        throws IOException
-    {
-        String fqjn;
-        if (intf)
-            fqjn = ci.getFullJavaIntfName();
-        else
-            fqjn = ci.getFullJavaImplName();
-
-        int lastdot = fqjn.lastIndexOf('.');
-        assert lastdot >= 0;
-
-        String pkg = fqjn.substring(0, lastdot);
-        emit("package " + pkg + ";");
-        emit("");
-    }
-
-    void printElementBody(SchemaGlobalElement elt, ElementInfo ei)
-        throws IOException
-    {
-        printInnerElementJavaDoc(elt, ei);
-        startInterface(elt, ei);
-        startBlock();
-
-        if (ei.getValueType() != ElementInfo.NO_VALUE)
-            printProperty("Value", javaTypeForCode(ei.getValueType()), null, false, elt.getDefaultText());
-
-        endBlock();
-
-    }
-
-    void printElementImplBody(SchemaGlobalElement elt, ElementInfo ei)
-        throws IOException
-    {
-        emit("public class " + ei.getShortJavaImplName() + " extends " + ei.getBaseImplName());
-        indent();
-        emit("implements " + ei.getFullJavaIntfName() + ", org.apache.xmlbeans.XmlObject");
-        outdent();
-        startBlock();
-        printElementConstructor(elt, ei);
-
-        if (ei.getValueType() != ElementInfo.NO_VALUE)
-            printPropertyImpl("Value", javaTypeForCode(ei.getValueType()), ei.getValueType(), null, false, elt.getDefaultText(), true);
-
-        endBlock();
-    }
-
-    static String prettyQName(QName qname)
-    {
-        String result = qname.getLocalPart();
-        if (qname.getNamespaceURI() != null)
-            result += "(@" + qname.getNamespaceURI() + ")";
-        return result;
-    }
-
-    void printJavaDoc(String comment)
-        throws IOException
-    {
-        emit("");
-        emit("/**");
-        emit(" * " + comment);
-        emit(" */");
-    }
-
-    void printInnerElementJavaDoc(SchemaGlobalElement elt, ElementInfo ei)
-        throws IOException
-    {
-        emit("/**");
-        emit(" * Java content class for a root element declaration");
-        emit(" * containing one " + prettyQName(elt.getName()) + " element.");
-        emit(" */");
-    }
-
-    void startInterface(SchemaComponent sc, ComponentInfo ci)
-        throws IOException
-    {
-        String shortName = ci.getShortJavaIntfName();
-        String extend = null;
-
-        if (sc.getComponentType() == SchemaComponent.ELEMENT)
-            extend = "javax.xml.bind.Element";
-
-        if (ci.getBaseIntfName() != null)
-        {
-            if (extend == null)
-                extend = ci.getBaseIntfName();
-            else
-                extend += ", " + ci.getBaseIntfName();
-        }
-
-        emit("public interface " + shortName + (extend != null ? " extends " + extend : ""));
-    }
-
-    void printProperty(String propname, String javatype, String collectiontype, boolean nillable, String defaulttext)
-        throws IOException
-    {
-        printJavaDoc("Gets the " + propname + " property");
-        emit(javatype + " get" + propname + "();");
-
-        String safeVarName = NameUtil.nonJavaKeyword(NameUtil.lowerCamelCase(propname));
-
-        printJavaDoc("Sets the " + propname + " property");
-        emit("void set" + propname + "(" + javatype + " " + safeVarName + ");");
-    }
-
-    void printPropertyImpl(String propname, String javatype, int javaTypeCode, String collectiontype, boolean nillable, String defaulttext, boolean value)
-        throws IOException
-    {
-        emit("public " + javatype + " get" + propname + "()");
-        startBlock();
-        if (value)
-            emit("return " + jgetMethodNameForJavaTypeCode(javaTypeCode) + ";");
-        else
-            ; // TODO
-        endBlock();
-
-        String safeVarName = NameUtil.nonJavaKeyword(NameUtil.lowerCamelCase(propname));
-
-        emit("public void set" + propname + "(" + javatype + " " + safeVarName + ")");
-        startBlock();
-        if (value)
-            emit("set(" + safeVarName + ");");
-        else
-            ; // TODO
-        endBlock();
-    }
-
-    void printElementConstructor(SchemaGlobalElement elt, ElementInfo ei)
-        throws IOException
-    {
-        /*
-        String superargs = "";
-        if (ei.getSuperCtrArgCount() == 1)
-            superargs = "sType";
-        else if (ei.getSuperCtrArgCount() == 2)
-            superargs = "sType, false";
-            */
-
-        emit("public " + ei.getShortJavaImplName() + "()");
-        startBlock();
-        // emit("super(" + superargs + ");");
-        endBlock();
-    }
-
-    String jgetMethodNameForJavaTypeCode(int javaType) throws IOException {
-        switch (javaType)
-        {
-            case SchemaProperty.JAVA_BOOLEAN:
-                return "booleanValue()";
-
-            case SchemaProperty.JAVA_FLOAT:
-                return "floatValue()";
-
-            case SchemaProperty.JAVA_DOUBLE:
-                return "doubleValue()";
-
-            case SchemaProperty.JAVA_BYTE:
-                return "byteValue()";
-                                   
-            case SchemaProperty.JAVA_SHORT:
-                return "shortValue()";
-
-            case SchemaProperty.JAVA_INT:
-                return "intValue()";
-
-            case SchemaProperty.JAVA_LONG:
-                return "longValue()";
-
-            case SchemaProperty.JAVA_BIG_DECIMAL:
-                return "bigDecimalValue()";
-
-            case SchemaProperty.JAVA_BIG_INTEGER:
-                return "bigIntegerValue()";
-
-            case SchemaProperty.JAVA_STRING:
-                return "stringValue()";
-
-            case SchemaProperty.JAVA_BYTE_ARRAY:
-                return "byteArrayValue()";
-
-            case SchemaProperty.JAVA_CALENDAR:
-                return "calendarValue()";
-
-            case SchemaProperty.JAVA_QNAME:
-                return "qNameValue()";
-
-            default:
-                throw new IllegalStateException();
-                                  
-                /*
-            case SchemaProperty.JAVA_LIST:
-                emit("return target.listValue();"); break;
-
-            case SchemaProperty.JAVA_ENUM:
-                emit("return (" + type + ")target.enumValue();"); break;
-                */
-
-        }
-    }
-
-    static String javaTypeForCode(int javaTypeCode)
-    {
-        switch (javaTypeCode)
-        {
-            case SchemaProperty.JAVA_BOOLEAN:
-                return "boolean";
-            case SchemaProperty.JAVA_FLOAT:
-                return "float";
-            case SchemaProperty.JAVA_DOUBLE:
-                return "double";
-            case SchemaProperty.JAVA_BYTE:
-                return "byte";
-            case SchemaProperty.JAVA_SHORT:
-                return "short";
-            case SchemaProperty.JAVA_INT:
-                return "int";
-            case SchemaProperty.JAVA_LONG:
-                return "long";
-
-            case SchemaProperty.JAVA_BIG_DECIMAL:
-                return "java.math.BigDecimal";
-            case SchemaProperty.JAVA_BIG_INTEGER:
-                return "java.math.BigInteger";
-            case SchemaProperty.JAVA_STRING:
-                return "java.lang.String";
-            case SchemaProperty.JAVA_BYTE_ARRAY:
-                return "byte[]";
-            case SchemaProperty.JAVA_QNAME:
-                return "javax.xml.namespace.QName";
-            case SchemaProperty.JAVA_CALENDAR:
-                return "java.util.Calendar";
-
-            default:
-                assert(false);
-                throw new IllegalStateException();
-        }
-    }
-}
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/JaxbJavaizer.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/JaxbJavaizer.java
deleted file mode 100644
index c331c82..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/JaxbJavaizer.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.compiler;
-
-import java.util.*;
-import javax.xml.namespace.QName;
-
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaLocalElement;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaProperty;
-import org.apache.xmlbeans.impl.common.NameUtil;
-import org.apache.xmlbeans.impl.common.XmlErrorWatcher;
-import org.apache.xmlbeans.impl.schema.SchemaTypeCodePrinter;
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-
-public final class JaxbJavaizer
-{
-    public static boolean javaize(SchemaTypeSystem sts, Map componentData, Map packages, XmlErrorWatcher errors)
-    {
-        final List allComponents = new ArrayList();
-        allComponents.addAll(Arrays.asList(sts.globalElements()));
-        allComponents.addAll(Arrays.asList(sts.globalTypes()));
-
-        assignGlobalNames(allComponents, componentData, packages);
-
-        // Now fully javaize everything deeply
-
-        for (int i = 0 , len = allComponents.size() ; i < len ; i++)
-        {
-            SchemaComponent sc = (SchemaComponent)allComponents.get(i);
-            javaizeComponent(sc, componentData, packages);
-            // allSeenTypes.addAll(Arrays.asList(gType.getAnonymousTypes()));
-        }
-
-        //TODO: check for any real errors:
-        return true;
-    }
-
-    static void assignGlobalNames(List allComponents, Map componentData, Map packages)
-    {
-        Set usedNames = new HashSet();
-
-        for (int i = 0 , len = allComponents.size() ; i < len ; i++)
-        {
-            SchemaComponent sc = (SchemaComponent)allComponents.get(i);
-            QName name = sc.getName();
-
-            ComponentInfo ci = getComponentInfo(sc, componentData);
-
-            ci.setFullJavaIntfName(pickFullJavaIntfName(usedNames, name));
-            ci.setFullJavaImplName(pickFullJavaImplName(usedNames, ci.getFullJavaIntfName()));
-
-            // Construct a new PackageInfo object for each unique package name
-            String pkgname = getPackageName(ci.getFullJavaIntfName());
-            if (! packages.containsKey(pkgname))
-            {
-                PackageInfo pi = new PackageInfo(pkgname);
-                packages.put(pkgname, pi);
-                pi.setIndexClassName(SchemaTypeCodePrinter.indexClassForSystem(sc.getTypeSystem()));
-            }
-        }
-
-    }
-
-    static void javaizeComponent(SchemaComponent sc, Map componentData, Map packages)
-    {
-        switch(sc.getComponentType()) 
-        {
-            case SchemaComponent.ELEMENT:
-                javaizeElement((SchemaGlobalElement)sc, componentData, packages);
-                break;
-
-            case SchemaComponent.TYPE:
-                javaizeType((SchemaType)sc, componentData, packages);
-
-            default:
-                throw new IllegalStateException();
-        }
-
-    }
-
-    static void setJavaImplClass(SchemaType sType, ComponentInfo ci) {
-        SchemaType pType = sType.getPrimitiveType();
-        boolean isBuiltin = sType.isBuiltinType();
-        String baseclass = null;
-        int argcount = isBuiltin ? 0 : 2;
-
-        switch (pType.getBuiltinTypeCode())
-        {
-            case SchemaType.BTC_ANY_SIMPLE:
-                baseclass =  "org.apache.xmlbeans.impl.values.XmlAnySimpleTypeImpl";
-                if (pType != sType)
-                    argcount = 2;
-                break;
-            case SchemaType.BTC_BOOLEAN:
-                if (!isBuiltin)
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaBooleanHolderEx";
-                else
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaBooleanHolder";
-                break;
-            case SchemaType.BTC_BASE_64_BINARY:
-                if (!isBuiltin)
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaBase64HolderEx";
-                else
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaBase64Holder";
-                break;
-            case SchemaType.BTC_HEX_BINARY:
-                if (!isBuiltin)
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaHexBinaryHolderEx";
-                else
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaHexBinaryHolder";
-                break;
-            case SchemaType.BTC_ANY_URI:
-                if (!isBuiltin)
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaUriHolderEx";
-                else
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaUriHolder";
-                break;
-            case SchemaType.BTC_QNAME:
-                if (!isBuiltin)
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaQNameHolderEx";
-                else
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaQNameHolder";
-                break;
-            case SchemaType.BTC_NOTATION:
-                if (!isBuiltin)
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaNotationHolderEx";
-                else
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaNotationHolder";
-                break;
-            case SchemaType.BTC_FLOAT:
-                if (!isBuiltin)
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaFloatHolderEx";
-                else
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaFloatHolder";
-                break;
-            case SchemaType.BTC_DOUBLE:
-                if (!isBuiltin)
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaDoubleHolderEx";
-                else
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaDoubleHolder";
-                break;
-            case SchemaType.BTC_STRING:
-                /*
-                if (sType.hasStringEnumValues())
-                    return "org.apache.xmlbeans.impl.values.JavaStringEnumerationHolderEx";
-                else
-                */
-                if (pType != sType)
-                {
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaStringHolderEx";
-                    argcount = 2;
-                }
-                else
-                {
-                    baseclass =  "org.apache.xmlbeans.impl.values.JavaStringHolder";
-                    argcount = 0;
-                }
-                break;
-
-            case SchemaType.BTC_DATE_TIME:
-            case SchemaType.BTC_TIME:
-            case SchemaType.BTC_DATE:
-            case SchemaType.BTC_G_YEAR_MONTH:
-            case SchemaType.BTC_G_YEAR:
-            case SchemaType.BTC_G_MONTH_DAY:
-            case SchemaType.BTC_G_DAY:
-            case SchemaType.BTC_G_MONTH:
-                baseclass =  "org.apache.xmlbeans.impl.values.JavaGDateHolderEx";
-                argcount = 2;
-                break;
-
-            case SchemaType.BTC_DURATION:
-                baseclass =  "org.apache.xmlbeans.impl.values.JavaGDurationHolderEx";
-                argcount = 2;
-                break;
-
-            case SchemaType.BTC_DECIMAL:
-                // Decimal types are handled below
-                break;
-
-            default:
-                assert(false) : "unrecognized primitive type";
-                return;
-        }
-
-        while (baseclass == null)
-        {
-            argcount = 2;
-            switch (sType.getBuiltinTypeCode())
-            {
-                case SchemaType.BTC_DECIMAL:
-                    baseclass = "org.apache.xmlbeans.impl.values.JavaDecimalHolderEx";
-                case SchemaType.BTC_INTEGER:
-                    baseclass = "org.apache.xmlbeans.impl.values.JavaIntegerHolderEx";
-                case SchemaType.BTC_LONG:
-                case SchemaType.BTC_UNSIGNED_INT:
-                    baseclass = "org.apache.xmlbeans.impl.values.JavaLongHolderEx";
-                case SchemaType.BTC_UNSIGNED_SHORT:
-                case SchemaType.BTC_INT:
-                    baseclass = "org.apache.xmlbeans.impl.values.JavaIntHolderEx";
-                default:
-                    sType = sType.getBaseType();
-            }
-        }
-
-        ci.setBaseImplName(baseclass);
-        ci.setSuperCtrArgCount(argcount);
-
-    }
-
-    static void javaizeElement(SchemaLocalElement elt, Map componentData, Map packages)
-    {
-        // TODO: deal with local elements - only gen interface when part of a 
-        // general content model. See 5.7.1
-
-        if (! ( elt instanceof SchemaGlobalElement) )
-            return;
-
-        ElementInfo ei = (ElementInfo)componentData.get(elt);
-        PackageInfo pi = getPackageInfo(packages, ei.getFullJavaIntfName());
-
-        // TODO: deal with anonymous complex type definition see 5.7.2
-        if (elt.getType().getContentType() != SchemaType.NOT_COMPLEX_TYPE )
-        {
-            // For an element whose type definition is complex, the Java Element interface
-            // extends the Java content interface representing the type definition.
-            TypeInfo ti = (TypeInfo)componentData.get(elt.getType());
-            ei.setBaseIntfName(ti.getFullJavaIntfName());
-            ei.setBaseImplName(ti.getFullJavaImplName());
-            ei.setSuperCtrArgCount(1);
-
-        }
-        else
-        {
-            // For an element whose type definition is simple, The generated element
-            // interface has a Java simple content-property named "value"
-            ei.setValueType( getJavaPropertyType(elt.getType(), elt.isNillable()) );
-            setJavaImplClass(elt.getType(), ei);
-
-        }
-
-    }
-
-    static void javaizeType(SchemaType st, Map componentData, Map packages)
-    {
-        TypeInfo ti = (TypeInfo)componentData.get(st);
-
-        if (st.getBaseType().equals(BuiltinSchemaTypeSystem.ST_ANY_TYPE))
-        {
-            // ti
-        }
-
-    }
-
-    static ComponentInfo getComponentInfo(SchemaComponent sc, Map componentData)
-    {
-        ComponentInfo ci = (ComponentInfo)componentData.get(sc);
-        if (ci != null) return ci;
-
-        // Could not find - create a new record
-        switch (sc.getComponentType())
-        {
-            case SchemaComponent.ELEMENT:
-                ci = new ElementInfo();
-                break;
-
-            case SchemaComponent.TYPE:
-                ci = new TypeInfo();
-
-            default:
-                throw new IllegalStateException("Cannot handle component of type: " + sc.getComponentType());
-        }
-
-        componentData.put(sc, ci);
-        return ci;
-    }
-
-    static PackageInfo getPackageInfo(Map packages, String fqcn)
-    {
-        String pkgname = getPackageName(fqcn);
-        return (PackageInfo)packages.get(pkgname);
-    }
-
-    static String getPackageName(String fqcn)
-    {
-        // remove class name
-        int lastdot = fqcn.lastIndexOf('.');
-        if (lastdot < 0)
-            return "";
-
-        // remove outer package names
-        return fqcn.substring(0, lastdot);
-    }
-
-    static String pickFullJavaIntfName(Set usedNames, QName qName)
-    {
-        // BUGBUG: This util does not correctly implement JAXB naming rules
-        String name = NameUtil.getClassNameFromQName(qName);
-
-        if (usedNames.contains(name))
-            throw new IllegalStateException("Name collision on qname: " + qName);
-
-        if (reservedGlobalClassName(name))
-            throw new IllegalStateException("QName " + qName + " conflicts with generated JAXB class name.");
-            
-        usedNames.add(name);
-
-        return name;
-    }
-
-    static String pickFullJavaImplName(Set usedNames, String intfName)
-    {
-        // Strip off the package from the class name so we can replace it
-        String className = intfName;
-        String pkgName = null;
-        int index = intfName.lastIndexOf('.');
-        if (index >= 0)
-        {
-            className = intfName.substring(index + 1);
-            pkgName = intfName.substring(0, index);
-        }
-
-        // Form the new qualified class name from the new package name
-        // and the old class name
-        String name = pkgName + ".impl." + className + "Impl";
-
-        if (usedNames.contains(name))
-            throw new IllegalStateException("QName conflict");
-
-        return name;
-    }
-
-    static int getBuiltinTypeCode(SchemaType xmltype)
-    {
-        while (! xmltype.isBuiltinType())
-            xmltype = xmltype.getBaseType();
-
-        return xmltype.getBuiltinTypeCode();
-    }
-
-    static int getJavaPropertyType(SchemaType xmltype, boolean nillable)
-    {
-        assert xmltype.getContentType() == SchemaType.NOT_COMPLEX_TYPE;
-
-        // TODO: handle lists, unions, enums
-
-        while (true)
-        {
-            switch (xmltype.getBuiltinTypeCode())
-            {
-                case SchemaType.BTC_ANY_SIMPLE:
-                case SchemaType.BTC_STRING:
-                    return SchemaProperty.JAVA_STRING;
-
-                case SchemaType.BTC_INTEGER:
-                    return SchemaProperty.JAVA_BIG_INTEGER;
-
-                case SchemaType.BTC_INT:
-                case SchemaType.BTC_UNSIGNED_SHORT:
-                    return SchemaProperty.JAVA_INT;
-
-                case SchemaType.BTC_LONG:
-                case SchemaType.BTC_UNSIGNED_INT:
-                    return SchemaProperty.JAVA_LONG;
-
-                case SchemaType.BTC_SHORT:
-                case SchemaType.BTC_UNSIGNED_BYTE:
-                    return SchemaProperty.JAVA_SHORT;
-
-                case SchemaType.BTC_DECIMAL:
-                    return SchemaProperty.JAVA_BIG_DECIMAL;
-
-                case SchemaType.BTC_FLOAT:
-                    return SchemaProperty.JAVA_FLOAT;
-
-                case SchemaType.BTC_DOUBLE:
-                    return SchemaProperty.JAVA_DOUBLE;
-
-                case SchemaType.BTC_BOOLEAN:
-                    return SchemaProperty.JAVA_BOOLEAN;
-
-                case SchemaType.BTC_BYTE:
-                    return SchemaProperty.JAVA_BYTE;
-
-                case SchemaType.BTC_QNAME:
-                    return SchemaProperty.JAVA_QNAME;
-
-                case SchemaType.BTC_TIME:
-                case SchemaType.BTC_DATE:
-                case SchemaType.BTC_DATE_TIME:
-                    return SchemaProperty.JAVA_CALENDAR;
-
-                case SchemaType.BTC_BASE_64_BINARY:
-                    return SchemaProperty.JAVA_BYTE_ARRAY;
-
-                case SchemaType.BTC_HEX_BINARY:
-                    return SchemaProperty.JAVA_BYTE;
-
-                default:
-                    xmltype = xmltype.getBaseType();
-            }
-        }
-    }
-
-    static boolean reservedGlobalClassName(String fqcn)
-    {
-        int i = fqcn.lastIndexOf('.');
-        String lastSegment = fqcn.substring(i + 1);
-
-        if (lastSegment.equals("ObjectFactory"))
-            return true;
-
-        return false;
-    }
-}
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/PackageInfo.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/PackageInfo.java
deleted file mode 100644
index 9c81df5..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/PackageInfo.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.compiler;
-
-import java.util.*;
-
-public class PackageInfo 
-{
-    private final String _packageName;
-    private String _indexClassName;
-
-    /** A list of the components in this package that will need a factory method */
-    private final List _components = new ArrayList();
-
-    public PackageInfo(String packageName)
-    {
-        _packageName = packageName;
-    }
-
-    public String getPackageName()
-    {
-        return _packageName;
-    }
-
-    public void addFactoryComponent(ComponentInfo ci)
-    {
-        _components.add(ci);
-    }
-
-    public List factoryComponents()
-    {
-        return _components;
-    }
-
-    public void setIndexClassName(String indexClassName)
-    {
-        _indexClassName = indexClassName;
-    }
-
-    public String getIndexClassName()
-    {
-        return _indexClassName;
-    }
-
-}
-
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/TypeInfo.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/TypeInfo.java
deleted file mode 100644
index 4ea015a..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/compiler/TypeInfo.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.compiler;
-
-public class TypeInfo extends ComponentInfo {
-
-}
-
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/ContextImpl.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/ContextImpl.java
deleted file mode 100644
index 0702600..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/ContextImpl.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.runtime;
-
-import java.util.*;
-import java.io.*;
-import java.lang.reflect.*;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.DatatypeConverter;
-import javax.xml.namespace.QName;
-
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.impl.values.TypeStoreFactory;
-import org.apache.xmlbeans.impl.values.TypeStoreUser;
-
-import org.apache.xmlbeans.impl.jaxb.compiler.ElementInfo;
-import org.apache.xmlbeans.impl.jaxb.compiler.TypeInfo;
-
-import org.apache.xmlbeans.impl.jaxb.config.JaxbConfigDocument;
-import org.apache.xmlbeans.impl.jaxb.config.JaxbConfigDocument.JaxbConfig;
-import org.apache.xmlbeans.impl.jaxb.config.JaxbConfigDocument.JaxbConfig.GlobalElements;
-import org.apache.xmlbeans.impl.jaxb.config.JaxbConfigDocument.JaxbConfig.GlobalTypes;
-import org.apache.xmlbeans.impl.jaxb.config.GlobalElement;
-import org.apache.xmlbeans.impl.jaxb.config.GlobalType;
-
-public class ContextImpl extends JAXBContext implements TypeStoreFactory
-{
-    private SchemaTypeLoader _stl;
-    private Map _globalElements;
-
-    public javax.xml.bind.Unmarshaller createUnmarshaller() 
-    {
-        return new UnmarshallerImpl(_stl, this);
-    }
-    public javax.xml.bind.Marshaller createMarshaller() 
-    {
-        return new MarshallerImpl();
-    }
-    public javax.xml.bind.Validator createValidator() 
-    {
-        return new ValidatorImpl();
-    }
-
-    public TypeStoreUser createElementUser(SchemaType parentType, QName name, QName xsiType) 
-    {
-        if (parentType.isDocumentType())
-        {
-            ElementInfo ei = (ElementInfo)_globalElements.get(name);
-            if (ei == null) return null;
-            try {
-                Constructor ctr = ei.getJavaImplConstructor(parentType.getTypeSystem().getClassLoader());
-                return (TypeStoreUser)ctr.newInstance(null);
-            }
-            catch (Exception e)
-            {
-                return null;
-            }
-        }
-
-        return null;
-        
-    }
-
-    public TypeStoreUser createAttributeUser(SchemaType parentType, QName name) 
-    {
-        return null;
-    }
-
-    ContextImpl(SchemaTypeLoader stl, Map globalElements)
-    {
-        _stl = stl;
-        _globalElements = globalElements;
-    }
-
-    public static JAXBContext createContext(String contextPath, ClassLoader classLoader)
-        throws JAXBException
-    {
-        DatatypeConverter.setDatatypeConverter(
-            DatatypeConverterImpl.instance);
-
-
-        String[] pkgs = contextPath.split(":");
-
-        SchemaTypeLoader[] stls = new SchemaTypeLoader[pkgs.length + 1];
-        stls[0] = XmlBeans.getBuiltinTypeSystem();
-
-        Map globalElements = new HashMap();
-
-        for (int i = 0 ; i < pkgs.length ; i++)
-        {
-            try {
-                String props = pkgs[i].replace('.', '/') + "/jaxb.properties";
-                Properties p = new Properties();
-
-                p.load(classLoader.getResourceAsStream(props));
-                String indexClassName = p.getProperty("org.apache.xmlbeans.impl.jaxb.TypeSystemHolder");
-
-                if (indexClassName == null)
-                    throw new JAXBException("This package was not created with this Jaxb impl.");
-
-                Field f = Class.forName(indexClassName, false, classLoader).getField("typeSystem");
-                SchemaTypeSystem sts = (SchemaTypeSystem)f.get(null);
-                stls[i + 1] = sts;
-
-                // Now load the Jaxb Config info
-                loadJaxbConfig(classLoader, sts, globalElements);
-            }
-            catch (IOException e)
-            {
-                throw new JAXBException("", e);
-            }
-            catch (ClassNotFoundException e)
-            {
-                throw new JAXBException("This package was not created with this jaxb impl.",  e);
-            }
-            catch (NoSuchFieldException e)
-            {
-                throw new JAXBException("This package was not created with this jaxb impl.",  e);
-            }
-            catch (IllegalAccessException e)
-            {
-                throw new JAXBException("This package was not created with this jaxb impl.",  e);
-            }
-            catch (XmlException e)
-            {
-                throw new JAXBException("This package was not created with this jaxb impl.",  e);
-            }
-
-        }
-
-        return new ContextImpl(XmlBeans.typeLoaderUnion(stls), globalElements);
-
-    }
-
-    static void loadJaxbConfig(ClassLoader cl, SchemaTypeSystem sts, Map globalElements)
-        throws IOException, XmlException
-    {
-        String filename = sts.getName().replace('.', '/') + "/JaxbConfig.xml";
-        InputStream is = cl.getResourceAsStream(filename);
-
-        JaxbConfig config = JaxbConfigDocument.Factory.parse(is).getJaxbConfig();
-        GlobalElement[] elts = config.getGlobalElements().getGlobalElementArray();
-
-        for (int i = 0 ; i < elts.length ; i++)
-        {
-            ElementInfo ei = new ElementInfo();
-            ei.setFullJavaImplName(elts[i].getJavaImpl());
-            globalElements.put(elts[i].getQname(), ei);
-        }
-
-    }
-}
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/DatatypeConverterImpl.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/DatatypeConverterImpl.java
deleted file mode 100644
index 65443ee..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/DatatypeConverterImpl.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.runtime;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import javax.xml.bind.DatatypeConverterInterface;
-import javax.xml.bind.MarshalException;
-import javax.xml.bind.UnmarshalException;
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.namespace.QName;
-
-import org.apache.xmlbeans.GDate;
-import org.apache.xmlbeans.impl.util.Base64;
-import org.apache.xmlbeans.impl.util.HexBin;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.XmlDateTime;
-import org.apache.xmlbeans.XmlDate;
-import org.apache.xmlbeans.XmlTime;
-
-import org.apache.xmlbeans.impl.values.JavaGDateHolderEx;
-import org.apache.xmlbeans.impl.values.JavaBase64Holder;
-import org.apache.xmlbeans.impl.values.JavaHexBinaryHolder;
-import org.apache.xmlbeans.impl.values.JavaIntegerHolder;
-import org.apache.xmlbeans.impl.values.JavaDoubleHolder;
-import org.apache.xmlbeans.impl.values.JavaFloatHolder;
-import org.apache.xmlbeans.impl.values.JavaBooleanHolder;
-import org.apache.xmlbeans.impl.values.JavaQNameHolder;
-
-
-/* 
-   Implementation note:
-
-   The parse methods all return null when possible and throw NPE when the
-   return type is a scalar. I don't know why they do this, but that's what
-   the JAXB 1.0 RI does, so I'm copying. It seems these should have declared
-   exceptions, but they don't.
-   
-*/
-   
-
-public class DatatypeConverterImpl implements DatatypeConverterInterface
-{
-
-    private DatatypeConverterImpl() {}
-    public static DatatypeConverterImpl instance = new DatatypeConverterImpl();
-
-    public String printDecimal(java.math.BigDecimal value)
-    {
-        return value.toString();
-    }
-    public String printQName(QName value, NamespaceContext nsc)
-    {
-        if (nsc == null)
-            throw new IllegalArgumentException();
-
-        final String localpart = value.getLocalPart();
-        final String uri = value.getNamespaceURI();
-
-        final String prefix = nsc.getPrefix(uri);
-
-        if (prefix == null)
-            // throw new MarshalException("Namespace uri '" + uri + "' not bound in current context");
-            return null;
-
-        return prefix + ":" + localpart;
-
-    }
-    public String printFloat(float value)
-    {
-        return JavaFloatHolder.serialize(value);
-    }
-
-    public String printDouble(double value)
-    {
-        return JavaDoubleHolder.serialize(value);
-    }
-
-    public String printBoolean(boolean value)
-    {
-        return value ? "true" : "false";
-    }
-    public String printByte(byte value)
-    {
-        return Byte.toString(value);
-    }
-    public String printDateTime(java.util.Calendar value)
-    {
-        return new GDate(value).toString();
-
-    }
-    public String printBase64Binary(byte[] value)
-    {
-        return new String(Base64.encode(value));
-    }
-
-    public String printHexBinary(byte[] value)
-    {
-        return new String(HexBin.encode(value));
-    }
-
-    public String printUnsignedInt(long value)
-    {
-        return Long.toString(value);
-    }
-
-    public String printUnsignedShort(int value)
-    {
-        return Integer.toString(value);
-    }
-
-    public String printTime(java.util.Calendar value)
-    {
-        return new GDate(value).toString();
-    }
-
-    public String printDate(java.util.Calendar value)
-    {
-        return new GDate(value).toString();
-    }
-
-    public String printAnySimpleType(String value)
-    {
-        return value;
-    }
-
-    public String printString(String s)
-    {
-        return s;
-    }
-
-    public String printInteger(java.math.BigInteger s)
-    {
-        return s.toString();
-    }
-
-    public String printInt(int s)
-    {
-        return Integer.toString(s);
-    }
-
-    public String printLong(long s)
-    {
-        return Long.toString(s);
-    }
-
-    public String printShort(short s)
-    {
-        return Short.toString(s);
-    }
-
-    public String parseString(String value)
-    {
-        return value;
-    }
-
-    public java.util.Calendar parseDateTime(String s)
-    {
-        GDate date = JavaGDateHolderEx.lex(s, XmlDateTime.type, _evc);
-        return date.getCalendar();
-    }
-
-    public byte[] parseBase64Binary(String s)
-    {
-        return JavaBase64Holder.lex(s, _evc);
-    }
-
-    public byte[] parseHexBinary(String s)
-    {
-        return JavaHexBinaryHolder.lex(s, _evc);
-    }
-
-    public long parseUnsignedInt(String s)
-    {
-        try { return Long.parseLong(s); }
-        catch (Exception e) { throw new NullPointerException("invalid unsigned int " + s); }
-    }
-
-    public int parseUnsignedShort(String s)
-    {
-        try { return Integer.parseInt(s); }
-        catch (Exception e) { throw new NullPointerException("invalid unsigned short " + s); }
-    }
-
-    public java.util.Calendar parseTime(String s)
-    {
-        GDate date = JavaGDateHolderEx.lex(s, XmlTime.type, _evc);
-        return date.getCalendar();
-    }
-
-    public java.math.BigInteger parseInteger(String s)
-    {
-        return JavaIntegerHolder.lex(s, _evc);
-    }
-
-    public java.math.BigDecimal parseDecimal(String s)
-    {
-        try { return new BigDecimal(s); }
-        catch (Exception e) { return null; }
-    }
-
-    public int parseInt(String s)
-    {
-        try { return Integer.parseInt(s); }
-        catch (Exception e) { throw new NullPointerException("invalid int " + s); }
-    }
-
-    public long parseLong(String s)
-    {
-        try { return Long.parseLong(s); }
-        catch (Exception e) { throw new NullPointerException("invalid long " + s); }
-    }
-
-    public short parseShort(String s)
-    {
-        try { return Short.parseShort(s); }
-        catch (Exception e) { throw new NullPointerException("invalid short " + s); }
-    }
-
-    public float parseFloat(String s)
-    {
-        return JavaFloatHolder.validateLexical(s, _evc);
-    }
-
-    public double parseDouble(String s)
-    {
-        return JavaDoubleHolder.validateLexical(s, _evc);
-    }
-
-    public boolean parseBoolean(String s)
-    {
-        return JavaBooleanHolder.validateLexical(s, _evc);
-    }
-
-    public byte parseByte(String s)
-    {
-        try { return Byte.parseByte(s); }
-        catch(Exception e) { throw new NullPointerException("invalid byte " + s); }
-    }
-
-    public QName parseQName(String s, NamespaceContext c)
-    {
-        return JavaQNameHolder.validateLexical(s, _evc, 
-            new NamespaceContextWrapper(c));
-    }
-
-    public java.util.Calendar parseDate(String s)
-    {
-        return JavaGDateHolderEx.lex(s, XmlDate.type, _evc).getCalendar();
-    }
-
-    public String parseAnySimpleType(String s)
-    {
-        return s;
-    }
-
-
-    public static final ValidationContext _evc = new ExceptionValidationContext();
-    /**
-     * Use _evc when you want to throw an Exception when
-     * parsing a simple type.
-     */
-    private static final class ExceptionValidationContext implements ValidationContext
-    {
-        public void invalid(String message)
-        {
-            throw new NullPointerException( message );
-        }
-    }
-}
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/MarshallerImpl.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/MarshallerImpl.java
deleted file mode 100644
index 2f0d97c..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/MarshallerImpl.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.runtime;
-
-import java.util.Map;
-import java.util.HashMap;
-import java.io.OutputStream;
-import java.io.Writer;
-import java.io.IOException;
-
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.MarshalException;
-import javax.xml.bind.ValidationEventHandler;
-import javax.xml.bind.PropertyException;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.helpers.AbstractMarshallerImpl;
-import javax.xml.bind.helpers.DefaultValidationEventHandler;
-
-import javax.xml.transform.Result;
-import javax.xml.transform.dom.DOMResult;
-import javax.xml.transform.sax.SAXResult;
-import javax.xml.transform.stream.StreamResult;
-
-import org.w3c.dom.Node;
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.ext.LexicalHandler;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-
-public class MarshallerImpl implements Marshaller
-{
-    private ValidationEventHandler _handler = new DefaultValidationEventHandler();
-    private XmlOptions _options = new XmlOptions().setSaveOuter();
-
-
-    static Map JAXB_TO_XBEAN_PROPERTY_MAP;
-    static {
-        JAXB_TO_XBEAN_PROPERTY_MAP = new HashMap();
-        JAXB_TO_XBEAN_PROPERTY_MAP.put(JAXB_ENCODING, XmlOptions.CHARACTER_ENCODING);
-        JAXB_TO_XBEAN_PROPERTY_MAP.put(JAXB_FORMATTED_OUTPUT, XmlOptions.SAVE_PRETTY_PRINT);
-    }
-
-    static String getXbeanPropForJaxbProp(String jaxbName) {
-        return (String)JAXB_TO_XBEAN_PROPERTY_MAP.get(jaxbName);
-    }
-
-    public void setProperty(String prop, Object value)
-        throws PropertyException
-    {
-        String xbeanProp = getXbeanPropForJaxbProp(prop);
-        if (xbeanProp == null)
-            throw new PropertyException(prop + " is unsupported.");
-
-        _options.put(xbeanProp, value);
-
-    }
-    public Object getProperty(String prop)
-        throws PropertyException
-    {
-        String xbeanProp = getXbeanPropForJaxbProp(prop);
-        if (xbeanProp == null)
-            throw new PropertyException(prop + " is unsupported.");
-
-        return _options.get(xbeanProp);
-    }
-
-    public javax.xml.bind.ValidationEventHandler getEventHandler()
-    {
-        return _handler;
-    }
-
-    public void setEventHandler(ValidationEventHandler handler)
-    {
-        _handler = handler;
-    }
-
-    void marshal(Object obj, ContentHandler ch, LexicalHandler lh)
-        throws MarshalException, JAXBException
-    {
-        XmlObject xmlobj = getXmlObject(obj);
-
-        try {
-            xmlobj.save(ch,  lh, _options);
-        }
-        catch (SAXException e) {
-            throw new JAXBException(e);
-        }
-    }
-
-    public void marshal(Object obj, ContentHandler ch)
-        throws MarshalException, JAXBException
-    {
-        marshal(obj, ch, null);
-    }
-
-    public void marshal(Object obj, Node node)
-        throws MarshalException, JAXBException
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    public void marshal(Object obj, OutputStream out)
-        throws MarshalException, JAXBException
-    {
-        XmlObject xmlobj = getXmlObject(obj);
-
-        try {
-            xmlobj.save(out, _options);
-        }
-        catch (IOException e) {
-            throw new JAXBException(e);
-        }
-    }
-
-    public void marshal(Object obj,  Writer out)
-        throws MarshalException, JAXBException
-    {
-        XmlObject xmlobj = getXmlObject(obj);
-
-        try {
-            xmlobj.save(out,  _options);
-        }
-        catch (IOException e) {
-            throw new JAXBException(e);
-        }
-    }
-
-    public void marshal(Object obj, javax.xml.transform.Result result)
-        throws MarshalException, JAXBException
-    {
-        if (result instanceof SAXResult)
-        {
-            SAXResult saxresult = (SAXResult)result;
-            marshal(obj, saxresult.getHandler(), saxresult.getLexicalHandler());
-        }
-        else if (result instanceof DOMResult)
-        {
-            DOMResult domresult = (DOMResult)result;
-            marshal(obj, domresult.getNode());
-        }
-        else if (result instanceof StreamResult)
-        {
-            StreamResult sr = (StreamResult)result;
-            OutputStream os = sr.getOutputStream();
-            Writer w = sr.getWriter();
-
-            if (os != null)
-                marshal(obj, os);
-            else if (w != null)
-                marshal(obj, w);
-            else 
-                throw new MarshalException("invalid Result parameter");
-        }
-        else
-            throw new MarshalException("invalid Result parameter");
-    }
-
-    public org.w3c.dom.Node getNode(Object o)
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    static XmlObject getXmlObject(Object obj) throws MarshalException {
-        if (! ( obj instanceof XmlObject ) )
-            throw new MarshalException("Cannot marshal object. It was not created by this JAXB provider.");
-
-        return (XmlObject)obj;
-    }
-}
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/NamespaceContextWrapper.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/NamespaceContextWrapper.java
deleted file mode 100644
index e6aaf98..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/NamespaceContextWrapper.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.runtime;
-
-import org.apache.xmlbeans.impl.values.NamespaceManager;
-import javax.xml.namespace.NamespaceContext;
-
-public class NamespaceContextWrapper implements NamespaceManager
-{
-    private NamespaceContext _context;
-
-    public NamespaceContextWrapper(NamespaceContext context)
-    {
-        _context = context;
-    }
-
-    public String find_prefix_for_nsuri(String nsuri, String suggested_prefix)
-    {
-        return _context.getPrefix(nsuri);
-    }
-
-    public String getNamespaceForPrefix(String prefix)
-    {
-        return _context.getNamespaceURI(prefix);
-    }
-}
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/UnmarshallerImpl.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/UnmarshallerImpl.java
deleted file mode 100644
index 6cfc0a5..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/UnmarshallerImpl.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.runtime;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Writer;
-import java.io.Reader;
-import java.net.URL;
-
-import javax.xml.transform.Source;
-
-import javax.xml.bind.UnmarshallerHandler;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.PropertyException;
-import javax.xml.bind.ValidationEventHandler;
-import javax.xml.bind.ValidationException;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.UnmarshalException;
-import javax.xml.bind.helpers.DefaultValidationEventHandler;
-
-import org.w3c.dom.Node;
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.impl.values.TypeStoreFactory;
-
-public class UnmarshallerImpl implements Unmarshaller
-{
-    private final SchemaTypeLoader _stl;
-
-    boolean _validating = false;
-    ValidationEventHandler _handler = new DefaultValidationEventHandler();
-    private XmlOptions _options;
-
-    UnmarshallerImpl(SchemaTypeLoader stl, ContextImpl context)
-    {
-        assert stl != null;
-        _stl = stl;
-
-        _options = new XmlOptions();
-        _options.put(TypeStoreFactory.KEY,  context);
-    }
-
-    public void setValidating(boolean validating)
-    {
-        _validating = validating;
-    }
-
-    public boolean isValidating()
-    {
-        return _validating;
-    }
-
-    public void setEventHandler(ValidationEventHandler handler) 
-    {
-        _handler = handler;
-    }
-
-    public ValidationEventHandler getEventHandler() 
-    {
-        return _handler;
-    }
-
-    public void setProperty(String prop, Object value) throws PropertyException
-    {
-        throw new PropertyException(prop,  value);
-    }
-
-    public Object getProperty(String prop) throws PropertyException
-    {
-        throw new PropertyException(prop);
-    }
-
-    public Object unmarshal(File f)
-        throws JAXBException
-    {
-        XmlObject o;
-        try {
-            o = _stl.parse(f,  null,  _options);
-        }
-        catch (IOException e) {
-            throw new JAXBException(e);
-        }
-        catch (XmlException e) {
-            throw new JAXBException(e);
-        }
-
-        o = postProcess(o);
-        return o;
-    }
-
-    public Object unmarshal(URL url)
-        throws JAXBException
-    {
-        throw new UnsupportedOperationException("NYI");
-    }
-
-    public Object unmarshal(InputStream is)
-        throws JAXBException
-    {
-        XmlObject o;
-        try {
-            o = _stl.parse(is,  null,  _options);
-        }
-        catch (IOException e) {
-            throw new JAXBException(e);
-        }
-        catch (XmlException e) {
-            throw new JAXBException(e);
-        }
-
-        o = postProcess(o);
-        return o;
-    }
-
-    public Object unmarshal(Reader r)
-        throws JAXBException
-    {
-        XmlObject o;
-        try {
-            o = _stl.parse(r,  null,  _options);
-        }
-        catch (IOException e) {
-            throw new JAXBException(e);
-        }
-        catch (XmlException e) {
-            throw new JAXBException(e);
-        }
-
-        o = postProcess(o);
-        return o;
-    }
-
-    public Object unmarshal(InputSource s)
-        throws JAXBException
-    {
-        if (s.getByteStream() != null)
-            return unmarshal(s.getByteStream());
-        else if (s.getCharacterStream() != null)
-            return unmarshal(s.getCharacterStream());
-        else
-            throw new JAXBException("Invalid input source.");
-    }
-
-    public Object unmarshal(Node node)
-        throws JAXBException
-    {
-        XmlObject o;
-        try {
-            o = _stl.parse(node,  null,  _options);
-        }
-        catch (XmlException e) {
-            throw new JAXBException(e);
-        }
-
-        o = postProcess(o);
-        return o;
-
-    }
-
-    public Object unmarshal(Source source)
-        throws JAXBException
-    {
-        throw new UnsupportedOperationException("NYI");
-    }
-
-    XmlObject postProcess(XmlObject o) throws UnmarshalException
-    {
-        if (_validating)
-        {
-            try {
-                ValidatorImpl.validateImpl(o, _handler);
-            }
-            catch (ValidationException e) {
-                throw new UnmarshalException(e);
-            }
-
-        }
-
-        XmlCursor c = o.newCursor();
-        if (c.toFirstChild())
-            return c.getObject();
-        else
-            return null;
-    }
-
-    // similar to org.apache.xmlbeans.XmlSaxHandler
-    public UnmarshallerHandler getUnmarshallerHandler()
-    {
-        throw new UnsupportedOperationException("NYI");
-    }
-
-}
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/ValidationLocatorEventImpl.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/ValidationLocatorEventImpl.java
deleted file mode 100644
index 1be6a54..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/ValidationLocatorEventImpl.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.runtime;
-
-import javax.xml.bind.ValidationEventLocator;
-import java.net.URL;
-import java.net.MalformedURLException;
-
-import org.apache.xmlbeans.XmlError;
-import org.apache.xmlbeans.XmlObject;
-
-public class ValidationLocatorEventImpl implements ValidationEventLocator 
-{
-    int _lineNumber;
-    int _columnNumber;
-    int _offset;
-    URL _url;
-    XmlObject _object;
-
-    public static ValidationLocatorEventImpl create(XmlError error)
-    {
-        return new ValidationLocatorEventImpl(error.getLine(), error.getColumn(),
-            error.getOffset(), error.getObjectLocation(), error.getSourceName());
-    }
-
-    private ValidationLocatorEventImpl(int lineNumber, int columnNumber,
-        int offset, XmlObject object, String sourceName)
-    {
-        _lineNumber = lineNumber;
-        _columnNumber = columnNumber;
-        _offset = offset;
-        _object = object;
-
-        try { _url = new URL(sourceName); }
-        catch (MalformedURLException e) {}
-
-    }
-
-    public java.net.URL getURL()
-    {
-        return _url;
-    }
-    public int getOffset()
-    {
-        return _offset;
-    }
-    public int getLineNumber()
-    {
-        return _lineNumber;
-    }
-
-    public int getColumnNumber()
-    {
-        return _columnNumber;
-    }
-
-    public org.w3c.dom.Node getNode()
-    {
-        return null;
-    }
-    public java.lang.Object getObject()
-    {
-        return _object;
-    }
-
-}
diff --git a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/ValidatorImpl.java b/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/ValidatorImpl.java
deleted file mode 100644
index 0a99744..0000000
--- a/v1/src/jaxb/org/apache/xmlbeans/impl/jaxb/runtime/ValidatorImpl.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.jaxb.runtime;
-
-import java.util.List;
-import java.util.ArrayList;
-
-import javax.xml.bind.Validator;
-import javax.xml.bind.ValidationException;
-import javax.xml.bind.ValidationEvent;
-import javax.xml.bind.ValidationEventHandler;
-import javax.xml.bind.PropertyException;
-import javax.xml.bind.helpers.DefaultValidationEventHandler;
-import javax.xml.bind.helpers.ValidationEventImpl;
-
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlError;
-
-public class ValidatorImpl implements Validator 
-{
-    ValidationEventHandler _handler = new DefaultValidationEventHandler();
-
-    public void setEventHandler(ValidationEventHandler handler) 
-    {
-        _handler = handler;
-    }
-
-    public ValidationEventHandler getEventHandler() 
-    {
-        return _handler;
-    }
-
-    public Object getProperty(String property) throws PropertyException
-    {
-        throw new PropertyException(property);
-    }
-
-    public void setProperty(String property, Object value) throws PropertyException
-    {
-        throw new PropertyException(property,  value);
-    }
-
-    public boolean validate(Object o) throws ValidationException
-    {
-        if (o == null)
-            throw new IllegalArgumentException();
-
-        if (! ( o instanceof XmlObject))
-            throw new ValidationException("Cannot validate tree rooted at subrootObj.");
-
-        return validateImpl((XmlObject)o, _handler);
-    }
-
-    public boolean validateRoot(Object o) throws ValidationException
-    {
-        return validate(o);
-    }
-
-    static boolean validateImpl(XmlObject o, ValidationEventHandler handler)
-        throws ValidationException
-    {
-
-        assert o != null && handler != null;
-
-        final List l = new ArrayList();
-        final XmlOptions opts = new XmlOptions().setErrorListener(l);
-
-        final boolean valid = o.validate(opts);
-
-        // convert to ValidationEvent and dispatch
-        for (int i = 0 ; i < l.size() ; i++)
-        {
-            XmlError xe = (XmlError)l.get(i);
-
-            int severity = xe.getSeverity() == XmlError.SEVERITY_ERROR ? 
-                ValidationEvent.ERROR :
-                ValidationEvent.WARNING;
-
-            ValidationEvent ve = new ValidationEventImpl(severity, xe.getMessage(), 
-                ValidationLocatorEventImpl.create(xe));
-
-            try 
-            {
-                if (! handler.handleEvent(ve))
-                    throw new ValidationException(ve.getMessage());
-            }
-            catch (RuntimeException e)
-            {
-                throw new ValidationException(e);
-            }
-        }
-
-        return valid;
-    }
-
-}
diff --git a/v1/src/jaxb/schema/jaxbconfig.xsd b/v1/src/jaxb/schema/jaxbconfig.xsd
deleted file mode 100644
index cdad026..0000000
--- a/v1/src/jaxb/schema/jaxbconfig.xsd
+++ /dev/null
@@ -1,41 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:jc="http://www.bea.com/2003/08/jaxb/config"
-   targetNamespace="http://www.bea.com/2003/08/jaxb/config"
-   elementFormDefault="qualified">
-  
-  <xs:element name="jaxb-config">
-      <xs:complexType>
-          <xs:sequence>
-
-              <xs:element name="global-elements">
-                  <xs:complexType>
-                      <xs:sequence maxOccurs="unbounded">
-                          <xs:element name="global-element" type="jc:global-element"/>
-                      </xs:sequence>
-                  </xs:complexType>
-              </xs:element>
-
-              <xs:element name="global-types" >
-                  <xs:complexType>
-                      <xs:sequence maxOccurs="unbounded">
-                          <xs:element name="global-type" type="jc:global-type"/>
-                      </xs:sequence>
-                  </xs:complexType>
-              </xs:element>
-
-          </xs:sequence>
-      </xs:complexType>
-  </xs:element>
-
-  <xs:complexType name="global-element">
-      <xs:sequence>
-          <xs:element name="qname" type="xs:QName"/>
-          <xs:element name="java-impl" type="xs:token"/>
-      </xs:sequence>
-  </xs:complexType>
-
-  <xs:complexType name="global-type"/>
-
-</xs:schema>
-
diff --git a/v1/src/jaxb/schema/jaxbconfig.xsdconfig b/v1/src/jaxb/schema/jaxbconfig.xsdconfig
deleted file mode 100644
index 6ed0033..0000000
--- a/v1/src/jaxb/schema/jaxbconfig.xsdconfig
+++ /dev/null
@@ -1,5 +0,0 @@
-<xb:config xmlns:xb="http://www.bea.com/2002/09/xbean/config">
-  <xb:namespace uri="http://www.bea.com/2003/08/jaxb/config">
-    <xb:package>org.apache.xmlbeans.impl.jaxb.config</xb:package>
-  </xb:namespace>
-</xb:config>
diff --git a/v1/src/repackage/repackage/EditBuildScript.java b/v1/src/repackage/repackage/EditBuildScript.java
deleted file mode 100644
index dbeb597..0000000
--- a/v1/src/repackage/repackage/EditBuildScript.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package repackage;
-
-import java.io.*;
-
-public class EditBuildScript
-{
-    //
-    // usgae: edit buildfile token new-value
-    //
-
-    public static void main ( String[] args )
-        throws Exception
-    {
-        if (args.length != 3)
-            throw new IllegalArgumentException( "Wrong number of arguments" );
-
-        args[ 0 ] = args[ 0 ].replace( '/', File.separatorChar );
-
-        File buildFile = new File( args[ 0 ] );
-
-        StringBuffer sb = readFile( buildFile );
-
-        String tokenStr = "<property name=\"" + args[ 1 ] + "\" value=\"";
-                         
-        int i = sb.indexOf( tokenStr );
-
-        if (i < 0)
-            throw new IllegalArgumentException( "Can't find token: " + tokenStr );
-
-        int j = i + tokenStr.length();
-
-        while ( sb.charAt( j ) != '"' )
-            j++;
-
-        sb.replace( i + tokenStr.length(), j, args[ 2 ] );
-
-        writeFile( buildFile, sb );
-    }
-    
-    static StringBuffer readFile ( File f )
-        throws IOException
-    {
-        InputStream in = new FileInputStream( f );
-        Reader r = new InputStreamReader( in );
-        StringWriter w = new StringWriter();
-
-        copy( r, w );
-
-        w.close();
-        r.close();
-        in.close();
-
-        return w.getBuffer();
-    }
-    
-    static void writeFile ( File f, StringBuffer chars )
-        throws IOException
-    {
-        OutputStream out = new FileOutputStream( f );
-        Writer w = new OutputStreamWriter( out );
-        Reader r = new StringReader( chars.toString() );
-
-        copy( r, w );
-
-        r.close();
-        w.close();
-        out.close();
-    }
-    
-    static void copy ( Reader r, Writer w ) throws IOException
-    {
-        char[] buffer = new char [ 1024 * 16 ];
-
-        for ( ; ; )
-        {
-            int n = r.read( buffer, 0, buffer.length );
-
-            if (n < 0)
-                break;
-
-            w.write( buffer, 0, n );
-        }
-    }
-}
diff --git a/v1/src/repackage/repackage/Repackage.java b/v1/src/repackage/repackage/Repackage.java
deleted file mode 100644
index 9d0c93a..0000000
--- a/v1/src/repackage/repackage/Repackage.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package repackage;
-
-import java.io.*;
-import java.util.*;
-import java.util.regex.*;
-
-public class Repackage
-{
-    public static void main ( String[] args ) throws Exception
-    {
-        new Repackage().repackage( args );
-    }
-    
-    public void repackage ( String[] args ) throws Exception
-    {
-        if (args.length != 2 || !args[0].equals( "-repackage" ))
-            throw new RuntimeException( "Usage: repackage -repackage [spec]" );
-        
-        _repackager = new Repackager( args[ 1 ] );
-
-        _fromPackages = _repackager.getFromPackages();
-        _toPackages = _repackager.getToPackages();
-        
-        _packagePattern =
-            Pattern.compile( "^\\s*package\\s+((?:\\w|\\.)*)\\s*;", Pattern.MULTILINE );
-        
-        _moveAlongFiles = new ArrayList();
-        _movedDirs = new HashMap();
-        
-        File currentDir   = new File( "." );
-        File buildDir     = new File( currentDir, "build" );
-        File repackageDir = new File( buildDir, "repackage" );
-
-        System.out.println( "Deleting repackage dir ..." );
-        
-        recursiveDelete( repackageDir );
-
-        repackageDir.mkdirs();
-        
-        ArrayList files = new ArrayList();
-
-        fillFiles( files, currentDir );
-        
-        System.out.println( "Repackaging " + files.size() + " files ..." );
-
-        int prefixLength = currentDir.getCanonicalPath().length();
-
-        _sourceBase = currentDir;
-        _targetBase = repackageDir;
-
-        for ( int i = 0 ; i < files.size() ; i++ )
-        {
-            File from = (File) files.get( i );
-
-            String name = from.getCanonicalPath().substring( prefixLength + 1 );
-
-            repackageFile( name );
-        }
-        
-        finishMovingFiles();
-    }
-
-    public void repackageFile ( String name )
-        throws IOException
-    {
-        if (name.endsWith( ".java" ))
-            repackageJavaFile( name );
-        else if (name.endsWith( ".xsdconfig" ))
-            repackageNonJavaFile( name );
-        else if (name.startsWith( "bin" + File.separatorChar ))
-            repackageNonJavaFile( name );
-        else
-            moveAlongWithJavaFiles( name );
-    }
-
-    public void moveAlongWithJavaFiles( String name )
-    {
-        _moveAlongFiles.add(name);
-    }
-    
-    public void finishMovingFiles ( )
-        throws IOException
-    {
-        for ( Iterator i = _moveAlongFiles.iterator(); i.hasNext(); )
-        {
-            String name = (String) i.next();
-            String toName = name;
-            
-            String srcDir = Repackager.dirForPath( name );
-            String toDir = (String) _movedDirs.get( srcDir );
-            
-            if (toDir != null)
-                toName = new File( toDir, new File( name ).getName() ).toString(); 
-
-            if (name.endsWith( ".html" ))
-                repackageNonJavaFile( name, toName );
-            else
-                copyFile( new File( _sourceBase, name ), new File( _targetBase, toName ) );
-        }
-    }
-
-    public void repackageNonJavaFile ( String name )
-        throws IOException
-    {
-        StringBuffer sb = readFile( new File( _sourceBase, name ) );
-
-        _repackager.repackage( sb );
-        
-        writeFile( new File( _targetBase, name ), sb );
-    }
-    
-    public void repackageNonJavaFile ( String sourceName, String targetName )
-        throws IOException
-    {
-        StringBuffer sb = readFile( new File( _sourceBase, sourceName ) );
-
-        _repackager.repackage( sb );
-        
-        writeFile( new File( _targetBase, targetName ), sb );
-    }
-    
-    public void repackageJavaFile ( String name )
-        throws IOException
-    {
-        StringBuffer sb = readFile( new File( _sourceBase, name ) );
-
-        Matcher packageMatcher = _packagePattern.matcher( sb );
-
-        if (packageMatcher.find())
-        {
-            String pkg = packageMatcher.group( 1 );
-            int pkgStart = packageMatcher.start( 1 );
-            int pkgEnd = packageMatcher.end( 1 );
-            
-            if (packageMatcher.find())
-                throw new RuntimeException( "Two package specifications found: " + name );
-            
-            List filePath = Repackager.splitPath( name, File.separatorChar );
-            String srcDir = Repackager.dirForPath( name );
-            
-            // Sort the repackage spec so that longer from's are first to match
-            // longest package first
-
-            for ( ; ; )
-            {
-                boolean swapped = false;
-
-                for ( int i = 1 ; i < filePath.size() ; i++ )
-                {
-                    String spec1 = (String) filePath.get( i - 1 );
-                    String spec2 = (String) filePath.get( i );
-
-                    if (spec1.indexOf( ':' ) < spec2.indexOf( ':' ))
-                    {
-                        filePath.set( i - 1, spec2 );
-                        filePath.set( i, spec1 );
-
-                        swapped = true;
-                    }
-                }
-
-                if (!swapped)
-                    break;
-            }
-
-            List pkgPath = Repackager.splitPath( pkg, '.' );
-
-            int f = filePath.size() - 2;
-
-            for ( int i = pkgPath.size() - 1 ; i >= 0 ; i-- )
-            {
-                if (!pkgPath.get( i ).equals( filePath.get( f-- ) ))
-                    throw new RuntimeException( "Package spec differs from file path: " + name );
-            }
-
-            List changeTo = null;
-            List changeFrom = null;
-            
-            from:
-            for ( int i = 0 ; i < _fromPackages.size() ; i ++ )
-            {
-                List from = (List) _fromPackages.get( i );
-
-                if (from.size() <= pkgPath.size())
-                {
-                    for ( int j = 0 ; j < from.size() ; j++ )
-                        if (!from.get( j ).equals( pkgPath.get( j )))
-                            continue from;
-
-                    changeFrom = from;
-                    changeTo = (List) _toPackages.get( i );
-
-                    break;
-                }
-            }
-
-            if (changeTo != null)
-            {
-                String newPkg = "";
-                String newName = "";
-
-                for ( int i = 0 ; i < changeTo.size() ; i++ )
-                {
-                    if (i > 0)
-                    {
-                        newPkg += ".";
-                        newName += File.separatorChar;
-                    }
-                    
-                    newPkg += changeTo.get( i );
-                    newName += changeTo.get( i );
-                }
-                
-                for ( int i = filePath.size() - pkgPath.size() - 2 ; i >= 0 ; i-- )
-                    newName = (String) filePath.get( i ) + File.separatorChar + newName;
-
-                for ( int i = changeFrom.size() ; i < pkgPath.size() ; i++ )
-                {
-                    newName += File.separatorChar + (String) pkgPath.get( i );
-                    newPkg += '.' + (String) pkgPath.get( i );
-                }
-
-                newName += File.separatorChar + (String) filePath.get( filePath.size() - 1 );
-
-                sb.replace( pkgStart, pkgEnd, newPkg );
-
-                name = newName;
-                String newDir = Repackager.dirForPath( name );
-                
-                if (!srcDir.equals(newDir))
-                {
-                    _movedDirs.put(srcDir, newDir);
-                }
-            }
-        }
-
-        _repackager.repackage( sb );
-        
-        writeFile( new File( _targetBase, name ), sb );
-    }
-
-    void writeFile ( File f, StringBuffer chars )
-        throws IOException
-    {
-        f.getParentFile().mkdirs();
-        
-        OutputStream out = new FileOutputStream( f );
-        Writer w = new OutputStreamWriter( out );
-        Reader r = new StringReader( chars.toString() );
-
-        copy( r, w );
-
-        r.close();
-        w.close();
-        out.close();
-    }
-    
-    StringBuffer readFile ( File f )
-        throws IOException
-    {
-        InputStream in = new FileInputStream( f );
-        Reader r = new InputStreamReader( in );
-        StringWriter w = new StringWriter();
-
-        copy( r, w );
-
-        w.close();
-        r.close();
-        in.close();
-
-        return w.getBuffer();
-    }
-    
-    public void copyFile ( File from, File to ) throws IOException
-    {
-        to.getParentFile().mkdirs();
-        
-        FileInputStream in = new FileInputStream( from );
-        FileOutputStream out = new FileOutputStream( to );
-
-        copy( in, out );
-        
-        out.close();
-        in.close();
-    }
-    
-    public void copy ( InputStream in, OutputStream out ) throws IOException
-    {
-        byte[] buffer = new byte [ 1024 * 16 ];
-
-        for ( ; ; )
-        {
-            int n = in.read( buffer, 0, buffer.length );
-
-            if (n < 0)
-                break;
-
-            out.write( buffer, 0, n );
-        }
-    }
-    
-    public void copy ( Reader r, Writer w ) throws IOException
-    {
-        char[] buffer = new char [ 1024 * 16 ];
-
-        for ( ; ; )
-        {
-            int n = r.read( buffer, 0, buffer.length );
-
-            if (n < 0)
-                break;
-
-            w.write( buffer, 0, n );
-        }
-    }
-    
-    public void fillFiles ( ArrayList files, File file ) throws IOException
-    {
-        if (!file.isDirectory())
-        {
-            files.add( file );
-            return;
-        }
-
-        // Exclude the build directory
-
-        if (file.getName().equals( "build" ))
-            return;
-        
-        // Exclude CVS directories
-        if (file.getName().equals( "CVS" ))
-            return;
-
-        String[] entries = file.list();
-
-        for ( int i = 0 ; i < entries.length ; i++ )
-            fillFiles( files, new File( file, entries[ i ] ) );
-    }
-
-    public void recursiveDelete ( File file ) throws IOException
-    {
-        if (!file.exists())
-            return;
-
-        if (file.isDirectory())
-        {
-            String[] entries = file.list();
-
-            for ( int i = 0 ; i < entries.length ; i++ )
-                recursiveDelete( new File( file, entries[ i ] ) );
-        }
-
-        file.delete();
-    }
-
-    private File _sourceBase;
-    private File _targetBase;
-
-    private List _fromPackages;
-    private List _toPackages;
-    
-    private Pattern _packagePattern;
-
-    private Repackager _repackager;
-    
-    private Map _movedDirs;
-    private List _moveAlongFiles;
-}
diff --git a/v1/src/repackage/repackage/Repackager.java b/v1/src/repackage/repackage/Repackager.java
deleted file mode 100644
index 9667f86..0000000
--- a/v1/src/repackage/repackage/Repackager.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package repackage;
-
-import java.util.List;
-import java.util.ArrayList;
-import java.util.regex.Pattern;
-import java.util.regex.Matcher;
-import java.io.File;
-
-public class Repackager
-{
-    public Repackager ( String repackageSpecs )
-    {
-        _fromPackages = new ArrayList();
-        _toPackages = new ArrayList();
-        
-        List repackages = splitPath( repackageSpecs, ';' );
-
-        // Sort the repackage spec so that longer from's are first to match
-        // longest package first
-        
-        for ( ; ; )
-        {
-            boolean swapped = false;
-
-            for ( int i = 1 ; i < repackages.size() ; i++ )
-            {
-                String spec1 = (String) repackages.get( i - 1 );
-                String spec2 = (String) repackages.get( i );
-                
-                if (spec1.indexOf( ':' ) < spec2.indexOf( ':' ))
-                {
-                    repackages.set( i - 1, spec2 );
-                    repackages.set( i, spec1 );
-                    
-                    swapped = true;
-                }
-            }
-
-            if (!swapped)
-                break;
-        }
-
-        for ( int i = 0 ; i < repackages.size() ; i++ )
-        {
-            String spec = (String) repackages.get( i );
-            
-            int j = spec.indexOf( ':' );
-
-            if (j < 0 || spec.indexOf( ':', j + 1 ) >= 0)
-                throw new RuntimeException( "Illegal repackage specification: " + spec );
-
-            String from = spec.substring( 0, j );
-            String to = spec.substring( j + 1 );
-
-            _fromPackages.add( Repackager.splitPath( from, '.' ) );
-            _toPackages.add( Repackager.splitPath( to, '.' ) );
-        }
-
-        _fromMatchers = new Matcher [ _fromPackages.size() * 2 ];
-        _toPackageNames = new String [ _fromPackages.size() * 2 ];
-
-        addPatterns( '.', 0 );
-        addPatterns( '/', _fromPackages.size() );
-    }
-
-    void addPatterns ( char sep, int off )
-    {
-        for ( int i = 0 ; i < _fromPackages.size() ; i++ )
-        {
-            List from = (List) _fromPackages.get( i );
-            List to = (List) _toPackages.get( i );
-
-            String pattern = "";
-            
-            for ( int j = 0 ; j < from.size() ; j++ )
-            {
-                if (j > 0)
-                    pattern += "\\" + sep;
-
-                pattern += from.get( j );
-            }
-            
-            String toPackage = "";
-            
-            for ( int j = 0 ; j < to.size() ; j++ )
-            {
-                if (j > 0)
-                    toPackage += sep;
-
-                toPackage += to.get( j );
-            }
-
-            _fromMatchers[ off + i ] = Pattern.compile( pattern ).matcher( null );
-            _toPackageNames[ off + i ] = toPackage;
-        }
-    }
-
-    public void repackage ( StringBuffer sb )
-    {
-        for ( int i = 0 ; i < _fromMatchers.length ; i++ )
-        {
-            Matcher matcher = (Matcher) _fromMatchers[ i ];
-
-            matcher.reset( sb );
-
-            while ( matcher.find() )
-                sb.replace( matcher.start(), matcher.end(), _toPackageNames[ i ] );
-        }
-    }
-
-    public List getFromPackages ( )
-    {
-        return _fromPackages;
-    }
-
-    public List getToPackages ( )
-    {
-        return _toPackages;
-    }
-    
-    public static ArrayList splitPath ( String path, char separator )
-    {
-        ArrayList components = new ArrayList();
-        
-        for ( ; ; )
-        {
-            int i = path.indexOf( separator );
-
-            if (i < 0)
-                break;
-
-            components.add( path.substring( 0, i ) );
-            
-            path = path.substring( i + 1 );
-        }
-
-        if (path.length() > 0)
-            components.add( path );
-
-        return components;
-    }
-    
-    public static String dirForPath ( String path )
-    {
-        return new File(path).getParent();
-    }
-
-    private List _fromPackages;
-    private List _toPackages;
-    
-    private Matcher[] _fromMatchers;
-    private String[]  _toPackageNames;
-}
\ No newline at end of file
diff --git a/v1/src/toolschema/ltgfmt.xsd b/v1/src/toolschema/ltgfmt.xsd
deleted file mode 100644
index dc4efea..0000000
--- a/v1/src/toolschema/ltgfmt.xsd
+++ /dev/null
@@ -1,47 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:tns="http://www.bea.com/2003/05/xmlbean/ltgfmt"
-   targetNamespace="http://www.bea.com/2003/05/xmlbean/ltgfmt"
-   elementFormDefault="qualified">
-
-  <xs:element name="tests">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="test" type="tns:test-case" minOccurs="0" maxOccurs="unbounded"/> 
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:complexType name="test-case">
-    <xs:sequence>
-      <xs:element name="description" type="xs:string" minOccurs="0"/>
-      <xs:element name="files">
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element name="file" type="tns:file-desc" minOccurs="1" maxOccurs="4"/>
-          </xs:sequence>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="id" type="xs:ID"/>
-    <xs:attribute name="origin" type="xs:token"/>
-    <xs:attribute name="modified" type="xs:boolean"/>
-  </xs:complexType>
-  
-  <xs:complexType name="file-desc">
-    <xs:attribute name="tsDir" type="xs:token"/>
-    <xs:attribute name="folder" type="xs:token"/>
-    <xs:attribute name="fileName" type="xs:token"/>
-    <xs:attribute name="role">
-      <xs:simpleType>
-        <xs:restriction base="xs:token">
-          <xs:enumeration value="schema"/>
-          <xs:enumeration value="instance"/>
-          <xs:enumeration value="resource"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="validity" type="xs:boolean"/>
-  </xs:complexType>
-
-</xs:schema>
diff --git a/v1/src/toolschema/substwsdl.xsd b/v1/src/toolschema/substwsdl.xsd
deleted file mode 100644
index cbccf3c..0000000
--- a/v1/src/toolschema/substwsdl.xsd
+++ /dev/null
@@ -1,42 +0,0 @@
-<!--
-   This schema stands in for a schema for WSDL.
-
-   It has none of the real structure of a WSDL except "imports" and
-   the 2nd-level tag names.
-
-   When compiling schemas within .wsdl files, we use this schema to load
-   the WSDL files.  Of course, WSDL files are actually in the
-   http://schemas.xmlsoap.org/wsdl/ namespace, but we use the
-   LoadSubstituteNamespaces option in order to internally substitute
-   the namespace below.
--->
-
-
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:tns="http://www.apache.org/internal/xmlbeans/wsdlsubst"
-   targetNamespace="http://www.apache.org/internal/xmlbeans/wsdlsubst"
-   elementFormDefault="qualified">
-
-  <xs:element name="definitions">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element name="import" type="tns:TImport"/>
-        <xs:element name="types"/>               			
-        <xs:element name="message"/>
-        <xs:element name="binding"/>
-        <xs:element name="portType"/>
-        <xs:element name="service"/>
-        <xs:any namespace="##other"/>
-      </xs:choice>
-      <xs:anyAttribute/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:complexType name="TImport">
-    <xs:attribute name="namespace" type="xs:anyURI" use="required"/>
-    <xs:attribute name="location" type="xs:anyURI" use="required"/>
-    <xs:anyAttribute namespace="##other"/>		
-  </xs:complexType>
-
-</xs:schema>
diff --git a/v1/src/toolschema/xsdownload.xsd b/v1/src/toolschema/xsdownload.xsd
deleted file mode 100644
index f169d36..0000000
--- a/v1/src/toolschema/xsdownload.xsd
+++ /dev/null
@@ -1,26 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:i="http://www.bea.com/2003/01/xmlbean/xsdownload"
-   targetNamespace="http://www.bea.com/2003/01/xmlbean/xsdownload"
-   elementFormDefault="qualified">
-
-  <xs:element name="downloaded-schemas">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element name="entry" type="i:downloaded-schema-entry"/>
-      </xs:choice>
-    <xs:attribute name="defaultDirectory" type="xs:token"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:complexType name="downloaded-schema-entry">
-    <xs:sequence>
-      <xs:element name="filename" type="xs:token"/>
-      <xs:element name="sha1" type="xs:token"/>
-      <xs:element name="schemaLocation" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="namespace" type="xs:anyURI" minOccurs="0"/>
-    </xs:sequence>
-  </xs:complexType>
-
-</xs:schema>
-
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/BMPattern.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/BMPattern.java
deleted file mode 100644
index 827c55d..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/BMPattern.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.regex;
-
-import java.text.CharacterIterator;
-
-/**
- * Boyer-Moore searcher.
- */
-public class BMPattern {
-    char[] pattern;
-    int[] shiftTable;
-    boolean ignoreCase;
-
-    public BMPattern(String pat, boolean ignoreCase) {
-        this(pat, 256, ignoreCase);
-    }
-
-    public BMPattern(String pat, int tableSize, boolean ignoreCase) {
-        this.pattern = pat.toCharArray();
-        this.shiftTable = new int[tableSize];
-        this.ignoreCase = ignoreCase;
-
-        int length = pattern.length;
-        for (int i = 0;  i < this.shiftTable.length;  i ++)
-            this.shiftTable[i] = length;
-
-        for (int i = 0;  i < length;  i ++) {
-            char ch = this.pattern[i];
-            int diff = length-i-1;
-            int index = ch % this.shiftTable.length;
-            if (diff < this.shiftTable[index])
-                this.shiftTable[index] = diff;
-            if (this.ignoreCase) {
-                ch = Character.toUpperCase(ch);
-                index = ch % this.shiftTable.length;
-                if (diff < this.shiftTable[index])
-                    this.shiftTable[index] = diff;
-                ch = Character.toLowerCase(ch);
-                index = ch % this.shiftTable.length;
-                if (diff < this.shiftTable[index])
-                    this.shiftTable[index] = diff;
-            }
-        }
-    }
-
-    /**
-     *
-     * @return -1 if <var>iterator</var> does not contain this pattern.
-     */
-    public int matches(CharacterIterator iterator, int start, int limit) {
-        if (this.ignoreCase)  return this.matchesIgnoreCase(iterator, start, limit);
-        int plength = this.pattern.length;
-        if (plength == 0)  return start;
-        int index = start+plength;
-        while (index <= limit) {
-            int pindex = plength;
-            int nindex = index+1;
-            char ch;
-            do {
-                if ((ch = iterator.setIndex(--index)) != this.pattern[--pindex])
-                    break;
-                if (pindex == 0)
-                    return index;
-            } while (pindex > 0);
-            index += this.shiftTable[ch % this.shiftTable.length]+1;
-            if (index < nindex)  index = nindex;
-        }
-        return -1;
-    }
-
-    /**
-     *
-     * @return -1 if <var>str</var> does not contain this pattern.
-     */
-    public int matches(String str, int start, int limit) {
-        if (this.ignoreCase)  return this.matchesIgnoreCase(str, start, limit);
-        int plength = this.pattern.length;
-        if (plength == 0)  return start;
-        int index = start+plength;
-        while (index <= limit) {
-            //System.err.println("Starts at "+index);
-            int pindex = plength;
-            int nindex = index+1;
-            char ch;
-            do {
-                if ((ch = str.charAt(--index)) != this.pattern[--pindex])
-                    break;
-                if (pindex == 0)
-                    return index;
-            } while (pindex > 0);
-            index += this.shiftTable[ch % this.shiftTable.length]+1;
-            if (index < nindex)  index = nindex;
-        }
-        return -1;
-    }
-    /**
-     *
-     * @return -1 if <var>chars</char> does not contain this pattern.
-     */
-    public int matches(char[] chars, int start, int limit) {
-        if (this.ignoreCase)  return this.matchesIgnoreCase(chars, start, limit);
-        int plength = this.pattern.length;
-        if (plength == 0)  return start;
-        int index = start+plength;
-        while (index <= limit) {
-            //System.err.println("Starts at "+index);
-            int pindex = plength;
-            int nindex = index+1;
-            char ch;
-            do {
-                if ((ch = chars[--index]) != this.pattern[--pindex])
-                    break;
-                if (pindex == 0)
-                    return index;
-            } while (pindex > 0);
-            index += this.shiftTable[ch % this.shiftTable.length]+1;
-            if (index < nindex)  index = nindex;
-        }
-        return -1;
-    }
-
-    int matchesIgnoreCase(CharacterIterator iterator, int start, int limit) {
-        int plength = this.pattern.length;
-        if (plength == 0)  return start;
-        int index = start+plength;
-        while (index <= limit) {
-            int pindex = plength;
-            int nindex = index+1;
-            char ch;
-            do {
-                char ch1 = ch = iterator.setIndex(--index);
-                char ch2 = this.pattern[--pindex];
-                if (ch1 != ch2) {
-                    ch1 = Character.toUpperCase(ch1);
-                    ch2 = Character.toUpperCase(ch2);
-                    if (ch1 != ch2 && Character.toLowerCase(ch1) != Character.toLowerCase(ch2))
-                        break;
-                }
-                if (pindex == 0)
-                    return index;
-            } while (pindex > 0);
-            index += this.shiftTable[ch % this.shiftTable.length]+1;
-            if (index < nindex)  index = nindex;
-        }
-        return -1;
-    }
-    
-    int matchesIgnoreCase(String text, int start, int limit) {
-        int plength = this.pattern.length;
-        if (plength == 0)  return start;
-        int index = start+plength;
-        while (index <= limit) {
-            int pindex = plength;
-            int nindex = index+1;
-            char ch;
-            do {
-                char ch1 = ch = text.charAt(--index);
-                char ch2 = this.pattern[--pindex];
-                if (ch1 != ch2) {
-                    ch1 = Character.toUpperCase(ch1);
-                    ch2 = Character.toUpperCase(ch2);
-                    if (ch1 != ch2 && Character.toLowerCase(ch1) != Character.toLowerCase(ch2))
-                        break;
-                }
-                if (pindex == 0)
-                    return index;
-            } while (pindex > 0);
-            index += this.shiftTable[ch % this.shiftTable.length]+1;
-            if (index < nindex)  index = nindex;
-        }
-        return -1;
-    }
-    int matchesIgnoreCase(char[] chars, int start, int limit) {
-        int plength = this.pattern.length;
-        if (plength == 0)  return start;
-        int index = start+plength;
-        while (index <= limit) {
-            int pindex = plength;
-            int nindex = index+1;
-            char ch;
-            do {
-                char ch1 = ch = chars[--index];
-                char ch2 = this.pattern[--pindex];
-                if (ch1 != ch2) {
-                    ch1 = Character.toUpperCase(ch1);
-                    ch2 = Character.toUpperCase(ch2);
-                    if (ch1 != ch2 && Character.toLowerCase(ch1) != Character.toLowerCase(ch2))
-                        break;
-                }
-                if (pindex == 0)
-                    return index;
-            } while (pindex > 0);
-            index += this.shiftTable[ch % this.shiftTable.length]+1;
-            if (index < nindex)  index = nindex;
-        }
-        return -1;
-    }
-
-    /*
-    public static void main(String[] argv) {
-        try {
-            int[] shiftTable = new int[256];
-            initializeBoyerMoore(argv[0], shiftTable, true);
-            int o = -1;
-            CharacterIterator ite = new java.text.StringCharacterIterator(argv[1]);
-            long start = System.currentTimeMillis();
-            //for (int i = 0;  i < 10000;  i ++)
-                o = searchIgnoreCasesWithBoyerMoore(ite, 0, argv[0], shiftTable);
-            start = System.currentTimeMillis()-start;
-            System.out.println("Result: "+o+", Elapsed: "+start);
-        } catch (Exception ex) {
-            ex.printStackTrace();
-        }
-    }*/
-}
-
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/Match.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/Match.java
deleted file mode 100644
index 14cf7bb..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/Match.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.regex;
-
-import java.text.CharacterIterator;
-
-/**
- * 
- * An instance of this class has ranges captured in matching.
- *
- * @see RegularExpression#matches(char[], int, int, Match)
- * @see RegularExpression#matches(char[], Match)
- * @see RegularExpression#matches(java.text.CharacterIterator, Match)
- * @see RegularExpression#matches(java.lang.String, int, int, Match)
- * @see RegularExpression#matches(java.lang.String, Match)
- * @author TAMURA Kent &lt;kent@trl.ibm.co.jp&gt;
- */
-public class Match implements Cloneable {
-    int[] beginpos = null;
-    int[] endpos = null;
-    int nofgroups = 0;
-
-    CharacterIterator ciSource = null;
-    String strSource = null;
-    char[] charSource = null;
-
-    /**
-     * Creates an instance.
-     */
-    public Match() {
-    }
-
-    /**
-     *
-     */
-    public synchronized Object clone() {
-        Match ma = new Match();
-        if (this.nofgroups > 0) {
-            ma.setNumberOfGroups(this.nofgroups);
-            if (this.ciSource != null)  ma.setSource(this.ciSource);
-            if (this.strSource != null)  ma.setSource(this.strSource);
-            for (int i = 0;  i < this.nofgroups;  i ++) {
-                ma.setBeginning(i, this.getBeginning(i));
-                ma.setEnd(i, this.getEnd(i));
-            }
-        }
-        return ma;
-    }
-
-    /**
-     *
-     */
-    protected void setNumberOfGroups(int n) {
-        int oldn = this.nofgroups;
-        this.nofgroups = n;
-        if (oldn <= 0
-            || oldn < n || n*2 < oldn) {
-            this.beginpos = new int[n];
-            this.endpos = new int[n];
-        }
-        for (int i = 0;  i < n;  i ++) {
-            this.beginpos[i] = -1;
-            this.endpos[i] = -1;
-        }
-    }
-
-    /**
-     *
-     */
-    protected void setSource(CharacterIterator ci) {
-        this.ciSource = ci;
-        this.strSource = null;
-        this.charSource = null;
-    }
-    /**
-     *
-     */
-    protected void setSource(String str) {
-        this.ciSource = null;
-        this.strSource = str;
-        this.charSource = null;
-    }
-    /**
-     *
-     */
-    protected void setSource(char[] chars) {
-        this.ciSource = null;
-        this.strSource = null;
-        this.charSource = chars;
-    }
-
-    /**
-     *
-     */
-    protected void setBeginning(int index, int v) {
-        this.beginpos[index] = v;
-    }
-
-    /**
-     *
-     */
-    protected void setEnd(int index, int v) {
-        this.endpos[index] = v;
-    }
-
-    /**
-     * Return the number of regular expression groups.
-     * This method returns 1 when the regular expression has no capturing-parenthesis.
-     */
-    public int getNumberOfGroups() {
-        if (this.nofgroups <= 0)
-            throw new IllegalStateException("A result is not set.");
-        return this.nofgroups;
-    }
-
-    /**
-     * Return a start position in the target text matched to specified regular expression group.
-     *
-     * @param index Less than <code>getNumberOfGroups()</code>.
-     */
-    public int getBeginning(int index) {
-        if (this.beginpos == null)
-            throw new IllegalStateException("A result is not set.");
-        if (index < 0 || this.nofgroups <= index)
-            throw new IllegalArgumentException("The parameter must be less than "
-                                               +this.nofgroups+": "+index);
-        return this.beginpos[index];
-    }
-
-    /**
-     * Return an end position in the target text matched to specified regular expression group.
-     *
-     * @param index Less than <code>getNumberOfGroups()</code>.
-     */
-    public int getEnd(int index) {
-        if (this.endpos == null)
-            throw new IllegalStateException("A result is not set.");
-        if (index < 0 || this.nofgroups <= index)
-            throw new IllegalArgumentException("The parameter must be less than "
-                                               +this.nofgroups+": "+index);
-        return this.endpos[index];
-    }
-
-    /**
-     * Return an substring of the target text matched to specified regular expression group.
-     *
-     * @param index Less than <code>getNumberOfGroups()</code>.
-     */
-    public String getCapturedText(int index) {
-        if (this.beginpos == null)
-            throw new IllegalStateException("match() has never been called.");
-        if (index < 0 || this.nofgroups <= index)
-            throw new IllegalArgumentException("The parameter must be less than "
-                                               +this.nofgroups+": "+index);
-        String ret;
-        int begin = this.beginpos[index], end = this.endpos[index];
-        if (begin < 0 || end < 0)  return null;
-        if (this.ciSource != null) {
-            ret = REUtil.substring(this.ciSource, begin, end);
-        } else if (this.strSource != null) {
-            ret = this.strSource.substring(begin, end);
-        } else {
-            ret = new String(this.charSource, begin, end-begin);
-        }
-        return ret;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/Op.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/Op.java
deleted file mode 100644
index 2282032..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/Op.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.regex;
-
-import java.util.Vector;
-
-/**
- */
-class Op {
-    static final int DOT = 0;
-    static final int CHAR = 1;                  // Single character
-    static final int RANGE = 3;                 // [a-zA-Z]
-    static final int NRANGE = 4;                // [^a-zA-Z]
-    static final int ANCHOR = 5;                // ^ $ ...
-    static final int STRING = 6;                // literal String 
-    static final int CLOSURE = 7;               // X*
-    static final int NONGREEDYCLOSURE = 8;      // X*?
-    static final int QUESTION = 9;              // X?
-    static final int NONGREEDYQUESTION = 10;    // X??
-    static final int UNION = 11;                // X|Y
-    static final int CAPTURE = 15;              // ( and )
-    static final int BACKREFERENCE = 16;        // \1 \2 ...
-    static final int LOOKAHEAD = 20;            // (?=...)
-    static final int NEGATIVELOOKAHEAD = 21;    // (?!...)
-    static final int LOOKBEHIND = 22;           // (?<=...)
-    static final int NEGATIVELOOKBEHIND = 23;   // (?<!...)
-    static final int INDEPENDENT = 24;          // (?>...)
-    static final int MODIFIER = 25;             // (?ims-ims:...)
-    static final int CONDITION = 26;            // (?(..)yes|no)
-
-    static int nofinstances = 0;
-    static final boolean COUNT = false;
-
-    static Op createDot() {
-        if (Op.COUNT)  Op.nofinstances ++;
-        return new Op(Op.DOT);
-    }
-    static CharOp createChar(int data) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        return new CharOp(Op.CHAR, data);
-    }
-    static CharOp createAnchor(int data) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        return new CharOp(Op.ANCHOR, data);
-    }
-    static CharOp createCapture(int number, Op next) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        CharOp op = new CharOp(Op.CAPTURE, number);
-        op.next = next;
-        return op;
-    }
-    static UnionOp createUnion(int size) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        //System.err.println("Creates UnionOp");
-        return new UnionOp(Op.UNION, size);
-    }
-    static ChildOp createClosure(int id) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        return new ModifierOp(Op.CLOSURE, id, -1);
-    }
-    static ChildOp createNonGreedyClosure() {
-        if (Op.COUNT)  Op.nofinstances ++;
-        return new ChildOp(Op.NONGREEDYCLOSURE);
-    }
-    static ChildOp createQuestion(boolean nongreedy) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        return new ChildOp(nongreedy ? Op.NONGREEDYQUESTION : Op.QUESTION);
-    }
-    static RangeOp createRange(Token tok) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        return new RangeOp(Op.RANGE, tok);
-    }
-    static ChildOp createLook(int type, Op next, Op branch) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        ChildOp op = new ChildOp(type);
-        op.setChild(branch);
-        op.next = next;
-        return op;
-    }
-    static CharOp createBackReference(int refno) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        return new CharOp(Op.BACKREFERENCE, refno);
-    }
-    static StringOp createString(String literal) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        return new StringOp(Op.STRING, literal);
-    }
-    static ChildOp createIndependent(Op next, Op branch) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        ChildOp op = new ChildOp(Op.INDEPENDENT);
-        op.setChild(branch);
-        op.next = next;
-        return op;
-    }
-    static ModifierOp createModifier(Op next, Op branch, int add, int mask) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        ModifierOp op = new ModifierOp(Op.MODIFIER, add, mask);
-        op.setChild(branch);
-        op.next = next;
-        return op;
-    }
-    static ConditionOp createCondition(Op next, int ref, Op conditionflow, Op yesflow, Op noflow) {
-        if (Op.COUNT)  Op.nofinstances ++;
-        ConditionOp op = new ConditionOp(Op.CONDITION, ref, conditionflow, yesflow, noflow);
-        op.next = next;
-        return op;
-    }
-
-    int type;
-    Op next = null;
-
-    protected Op(int type) {
-        this.type = type;
-    }
-
-    int size() {                                // for UNION
-        return 0;
-    }
-    Op elementAt(int index) {                   // for UNIoN
-        throw new RuntimeException("Internal Error: type="+this.type);
-    }
-    Op getChild() {                             // for CLOSURE, QUESTION
-        throw new RuntimeException("Internal Error: type="+this.type);
-    }
-                                                // ModifierOp
-    int getData() {                             // CharOp  for CHAR, BACKREFERENCE, CAPTURE, ANCHOR, 
-        throw new RuntimeException("Internal Error: type="+this.type);
-    }
-    int getData2() {                            // ModifierOp
-        throw new RuntimeException("Internal Error: type="+this.type);
-    }
-    RangeToken getToken() {                     // RANGE, NRANGE
-        throw new RuntimeException("Internal Error: type="+this.type);
-    }
-    String getString() {                        // STRING
-        throw new RuntimeException("Internal Error: type="+this.type);
-    }
-
-    // ================================================================
-    static class CharOp extends Op {
-        int charData;
-        CharOp(int type, int data) {
-            super(type);
-            this.charData = data;
-        }
-        int getData() {
-            return this.charData;
-        }
-    }
-
-    // ================================================================
-    static class UnionOp extends Op {
-        Vector branches;
-        UnionOp(int type, int size) {
-            super(type);
-            this.branches = new Vector(size);
-        }
-        void addElement(Op op) {
-            this.branches.addElement(op);
-        }
-        int size() {
-            return this.branches.size();
-        }
-        Op elementAt(int index) {
-            return (Op)this.branches.elementAt(index);
-        }
-    }
-
-    // ================================================================
-    static class ChildOp extends Op {
-        Op child;
-        ChildOp(int type) {
-            super(type);
-        }
-        void setChild(Op child) {
-            this.child = child;
-        }
-        Op getChild() {
-            return this.child;
-        }
-    }
-    // ================================================================
-    static class ModifierOp extends ChildOp {
-        int v1;
-        int v2;
-        ModifierOp(int type, int v1, int v2) {
-            super(type);
-            this.v1 = v1;
-            this.v2 = v2;
-        }
-        int getData() {
-            return this.v1;
-        }
-        int getData2() {
-            return this.v2;
-        }
-    }
-    // ================================================================
-    static class RangeOp extends Op {
-        Token tok;
-        RangeOp(int type, Token tok) {
-            super(type);
-            this.tok = tok;
-        }
-        RangeToken getToken() {
-            return (RangeToken)this.tok;
-        }
-    }
-    // ================================================================
-    static class StringOp extends Op {
-        String string;
-        StringOp(int type, String literal) {
-            super(type);
-            this.string = literal;
-        }
-        String getString() {
-            return this.string;
-        }
-    }
-    // ================================================================
-    static class ConditionOp extends Op {
-        int refNumber;
-        Op condition;
-        Op yes;
-        Op no;
-        ConditionOp(int type, int refno, Op conditionflow, Op yesflow, Op noflow) {
-            super(type);
-            this.refNumber = refno;
-            this.condition = conditionflow;
-            this.yes = yesflow;
-            this.no = noflow;
-        }
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/ParseException.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/ParseException.java
deleted file mode 100644
index 6141ab3..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/ParseException.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.regex;
-
-/**
- *
- * @author TAMURA Kent &lt;kent@trl.ibm.co.jp&gt;
- */
-public class ParseException extends RuntimeException {
-    int location;
-
-    /*
-    public ParseException(String mes) {
-        this(mes, -1);
-    }
-    */
-    /**
-     *
-     */
-    public ParseException(String mes, int location) {
-        super(mes);
-        this.location = location;
-    }
-
-    /**
-     *
-     * @return -1 if location information is not available.
-     */
-    public int getLocation() {
-        return this.location;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/ParserForXMLSchema.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/ParserForXMLSchema.java
deleted file mode 100644
index 42e9b65..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/ParserForXMLSchema.java
+++ /dev/null
@@ -1,503 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.regex;
-
-import java.util.Hashtable;
-import java.util.Locale;
-
-/**
- * A regular expression parser for the XML Shema.
- *
- * @author TAMURA Kent &lt;kent@trl.ibm.co.jp&gt;
- */
-class ParserForXMLSchema extends RegexParser {
-
-    public ParserForXMLSchema() {
-        //this.setLocale(Locale.getDefault());
-    }
-    public ParserForXMLSchema(Locale locale) {
-        //this.setLocale(locale);
-    }
-
-    Token processCaret() throws ParseException {
-        this.next();
-        return Token.createChar('^');
-    }
-    Token processDollar() throws ParseException {
-        this.next();
-        return Token.createChar('$');
-     }
-    Token processLookahead() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processNegativelookahead() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processLookbehind() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processNegativelookbehind() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processBacksolidus_A() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processBacksolidus_Z() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processBacksolidus_z() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processBacksolidus_b() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processBacksolidus_B() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processBacksolidus_lt() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processBacksolidus_gt() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processStar(Token tok) throws ParseException {
-        this.next();
-        return Token.createClosure(tok);
-    }
-    Token processPlus(Token tok) throws ParseException {
-        // X+ -> XX*
-        this.next();
-        return Token.createConcat(tok, Token.createClosure(tok));
-    }
-    Token processQuestion(Token tok) throws ParseException {
-        // X? -> X|
-        this.next();
-        Token par = Token.createUnion();
-        par.addChild(tok);
-        par.addChild(Token.createEmpty());
-        return par;
-    }
-    boolean checkQuestion(int off) {
-        return false;
-    }
-    Token processParen() throws ParseException {
-        this.next();
-        Token tok = Token.createParen(this.parseRegex(), 0);
-        if (this.read() != super.T_RPAREN)  throw ex("parser.factor.1", this.offset-1);
-        this.next();                            // Skips ')'
-        return tok;
-    }
-    Token processParen2() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processCondition() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processModifiers() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processIndependent() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processBacksolidus_c() throws ParseException {
-        this.next();
-        return this.getTokenForShorthand('c');
-    }
-    Token processBacksolidus_C() throws ParseException {
-        this.next();
-        return this.getTokenForShorthand('C');
-    }
-    Token processBacksolidus_i() throws ParseException {
-        this.next();
-        return this.getTokenForShorthand('i');
-    }
-    Token processBacksolidus_I() throws ParseException {
-        this.next();
-        return this.getTokenForShorthand('I');
-    }
-    Token processBacksolidus_g() throws ParseException {
-        throw this.ex("parser.process.1", this.offset-2);
-    }
-    Token processBacksolidus_X() throws ParseException {
-        throw ex("parser.process.1", this.offset-2);
-    }
-    Token processBackreference() throws ParseException {
-        throw ex("parser.process.1", this.offset-4);
-    }
-
-    int processCIinCharacterClass(RangeToken tok, int c) {
-        tok.mergeRanges(this.getTokenForShorthand(c));
-        return -1;
-    }
-
-
-    /**
-     * Parses a character-class-expression, not a character-class-escape.
-     *
-     * c-c-expression   ::= '[' c-group ']'
-     * c-group          ::= positive-c-group | negative-c-group | c-c-subtraction
-     * positive-c-group ::= (c-range | c-c-escape)+
-     * negative-c-group ::= '^' positive-c-group
-     * c-c-subtraction  ::= (positive-c-group | negative-c-group) subtraction
-     * subtraction      ::= '-' c-c-expression
-     * c-range          ::= single-range | from-to-range
-     * single-range     ::= multi-c-escape | category-c-escape | block-c-escape | <any XML char>
-     * cc-normal-c      ::= <any character except [, ], \>
-     * from-to-range    ::= cc-normal-c '-' cc-normal-c
-     *
-     * @param useNrage Ignored.
-     * @return This returns no NrageToken.
-     */
-    protected RangeToken parseCharacterClass(boolean useNrange) throws ParseException {
-        this.setContext(S_INBRACKETS);
-        this.next();                            // '['
-        boolean nrange = false;
-        RangeToken base = null;
-        RangeToken tok;
-        if (this.read() == T_CHAR && this.chardata == '^') {
-            nrange = true;
-            this.next();                        // '^'
-            base = Token.createRange();
-            base.addRange(0, Token.UTF16_MAX);
-            tok = Token.createRange();
-        } else {
-            tok = Token.createRange();
-        }
-        int type;
-        boolean firstloop = true;
-        while ((type = this.read()) != T_EOF) { // Don't use 'cotinue' for this loop.
-            // single-range | from-to-range | subtraction
-            if (type == T_CHAR && this.chardata == ']' && !firstloop) {
-                if (nrange) {
-                    base.subtractRanges(tok);
-                    tok = base;
-                }
-                break;
-            }
-            int c = this.chardata;
-            boolean end = false;
-            if (type == T_BACKSOLIDUS) {
-                switch (c) {
-                  case 'd':  case 'D':
-                  case 'w':  case 'W':
-                  case 's':  case 'S':
-                    tok.mergeRanges(this.getTokenForShorthand(c));
-                    end = true;
-                    break;
-
-                  case 'i':  case 'I':
-                  case 'c':  case 'C':
-                    c = this.processCIinCharacterClass(tok, c);
-                    if (c < 0)  end = true;
-                    break;
-                    
-                  case 'p':
-                  case 'P':
-                    int pstart = this.offset;
-                    RangeToken tok2 = this.processBacksolidus_pP(c);
-                    if (tok2 == null)  throw this.ex("parser.atom.5", pstart);
-                    tok.mergeRanges(tok2);
-                    end = true;
-                    break;
-
-                  default:
-                    c = this.decodeEscaped();
-                } // \ + c
-            } // backsolidus
-            else if (type == T_XMLSCHEMA_CC_SUBTRACTION && !firstloop) {
-                                                // Subraction
-                if (nrange) {
-                    base.subtractRanges(tok);
-                    tok = base;
-                }
-                RangeToken range2 = this.parseCharacterClass(false);
-                tok.subtractRanges(range2);
-                if (this.read() != T_CHAR || this.chardata != ']')
-                    throw this.ex("parser.cc.5", this.offset);
-                break;                          // Exit this loop
-            }
-            this.next();
-            if (!end) {                         // if not shorthands...
-                if (type == T_CHAR) {
-                    if (c == '[')  throw this.ex("parser.cc.6", this.offset-2);
-                    if (c == ']')  throw this.ex("parser.cc.7", this.offset-2);
-                }
-                if (this.read() != T_CHAR || this.chardata != '-') { // Here is no '-'.
-                    tok.addRange(c, c);
-                } else {                        // Found '-'
-                                                // Is this '-' is a from-to token??
-                    this.next(); // Skips '-'
-                    if ((type = this.read()) == T_EOF)  throw this.ex("parser.cc.2", this.offset);
-                                                // c '-' ']' -> '-' is a single-range.
-                    if (type == T_CHAR && this.chardata == ']') {
-                        tok.addRange(c, c);
-                        tok.addRange('-', '-');
-                    }
-                                                // c '-' '-[' -> '-' is a single-range.
-                    else if (type == T_XMLSCHEMA_CC_SUBTRACTION) {
-                        tok.addRange(c, c);
-                        tok.addRange('-', '-');
-                    } else {
-                        int rangeend = this.chardata;
-                        if (type == T_CHAR) {
-                            if (rangeend == '[')  throw this.ex("parser.cc.6", this.offset-1);
-                            if (rangeend == ']')  throw this.ex("parser.cc.7", this.offset-1);
-                        }
-                        if (type == T_BACKSOLIDUS)
-                            rangeend = this.decodeEscaped();
-                        this.next();
-                        tok.addRange(c, rangeend);
-                    }
-                }
-            }
-            firstloop = false;
-        }
-        if (this.read() == T_EOF)
-            throw this.ex("parser.cc.2", this.offset);
-        tok.sortRanges();
-        tok.compactRanges();
-        //tok.dumpRanges();
-        this.setContext(S_NORMAL);
-        this.next();                    // Skips ']'
-
-        return tok;
-    }
-
-    protected RangeToken parseSetOperations() throws ParseException {
-        throw this.ex("parser.process.1", this.offset);
-    }
- 
-    Token getTokenForShorthand(int ch) {
-        switch (ch) {
-          case 'd':
-            return ParserForXMLSchema.getRange("xml:isDigit", true);
-          case 'D':
-            return ParserForXMLSchema.getRange("xml:isDigit", false);
-          case 'w':
-            return ParserForXMLSchema.getRange("xml:isWord", true);
-          case 'W':
-            return ParserForXMLSchema.getRange("xml:isWord", false);
-          case 's':
-            return ParserForXMLSchema.getRange("xml:isSpace", true);
-          case 'S':
-            return ParserForXMLSchema.getRange("xml:isSpace", false);
-          case 'c':
-            return ParserForXMLSchema.getRange("xml:isNameChar", true);
-          case 'C':
-            return ParserForXMLSchema.getRange("xml:isNameChar", false);
-          case 'i':
-            return ParserForXMLSchema.getRange("xml:isInitialNameChar", true);
-          case 'I':
-            return ParserForXMLSchema.getRange("xml:isInitialNameChar", false);
-          default:
-            throw new RuntimeException("Internal Error: shorthands: \\u"+Integer.toString(ch, 16));
-        }
-    }
-    int decodeEscaped() throws ParseException {
-        if (this.read() != T_BACKSOLIDUS)  throw ex("parser.next.1", this.offset-1);
-        int c = this.chardata;
-        switch (c) {
-          case 'n':  c = '\n';  break; // LINE FEED U+000A
-          case 'r':  c = '\r';  break; // CRRIAGE RETURN U+000D
-          case 't':  c = '\t';  break; // HORIZONTAL TABULATION U+0009
-
-          case 'e':
-          case 'f':
-          case 'x':
-          case 'u':
-          case 'v':
-            throw ex("parser.process.1", this.offset-2);
-          case 'A':
-          case 'Z':
-          case 'z':
-            throw ex("parser.descape.5", this.offset-2);
-          default:
-        }
-        return c;
-    }
-
-    static private Hashtable ranges = null;
-    static private Hashtable ranges2 = null;
-    static synchronized protected RangeToken getRange(String name, boolean positive) {
-        if (ranges == null) {
-            ranges = new Hashtable();
-            ranges2 = new Hashtable();
-
-            Token tok = Token.createRange();
-            setupRange(tok, SPACES);
-            ranges.put("xml:isSpace", tok);
-            ranges2.put("xml:isSpace", Token.complementRanges(tok));
-
-            tok = Token.createRange();
-            setupRange(tok, DIGITS);
-            ranges.put("xml:isDigit", tok);
-            ranges2.put("xml:isDigit", Token.complementRanges(tok));
-
-            tok = Token.createRange();
-            setupRange(tok, DIGITS);
-            ranges.put("xml:isDigit", tok);
-            ranges2.put("xml:isDigit", Token.complementRanges(tok));
-
-            tok = Token.createRange();
-            setupRange(tok, LETTERS);
-            tok.mergeRanges((Token)ranges.get("xml:isDigit"));
-            ranges.put("xml:isWord", tok);
-            ranges2.put("xml:isWord", Token.complementRanges(tok));
-
-            tok = Token.createRange();
-            setupRange(tok, NAMECHARS);
-            ranges.put("xml:isNameChar", tok);
-            ranges2.put("xml:isNameChar", Token.complementRanges(tok));
-
-            tok = Token.createRange();
-            setupRange(tok, LETTERS);
-            tok.addRange('_', '_');
-            tok.addRange(':', ':');
-            ranges.put("xml:isInitialNameChar", tok);
-            ranges2.put("xml:isInitialNameChar", Token.complementRanges(tok));
-        }
-        RangeToken tok = positive ? (RangeToken)ranges.get(name)
-            : (RangeToken)ranges2.get(name);
-        return tok;
-    }
-
-    static void setupRange(Token range, String src) {
-        int len = src.length();
-        for (int i = 0;  i < len;  i += 2)
-            range.addRange(src.charAt(i), src.charAt(i+1));
-    }
-
-    private static final String SPACES = "\t\n\r\r  ";
-    private static final String NAMECHARS =
-        "\u002d\u002e\u0030\u003a\u0041\u005a\u005f\u005f\u0061\u007a\u00b7\u00b7\u00c0\u00d6"
-        +"\u00d8\u00f6\u00f8\u0131\u0134\u013e\u0141\u0148\u014a\u017e\u0180\u01c3\u01cd\u01f0"
-        +"\u01f4\u01f5\u01fa\u0217\u0250\u02a8\u02bb\u02c1\u02d0\u02d1\u0300\u0345\u0360\u0361"
-        +"\u0386\u038a\u038c\u038c\u038e\u03a1\u03a3\u03ce\u03d0\u03d6\u03da\u03da\u03dc\u03dc"
-        +"\u03de\u03de\u03e0\u03e0\u03e2\u03f3\u0401\u040c\u040e\u044f\u0451\u045c\u045e\u0481"
-        +"\u0483\u0486\u0490\u04c4\u04c7\u04c8\u04cb\u04cc\u04d0\u04eb\u04ee\u04f5\u04f8\u04f9"
-        +"\u0531\u0556\u0559\u0559\u0561\u0586\u0591\u05a1\u05a3\u05b9\u05bb\u05bd\u05bf\u05bf"
-        +"\u05c1\u05c2\u05c4\u05c4\u05d0\u05ea\u05f0\u05f2\u0621\u063a\u0640\u0652\u0660\u0669"
-        +"\u0670\u06b7\u06ba\u06be\u06c0\u06ce\u06d0\u06d3\u06d5\u06e8\u06ea\u06ed\u06f0\u06f9"
-        +"\u0901\u0903\u0905\u0939\u093c\u094d\u0951\u0954\u0958\u0963\u0966\u096f\u0981\u0983"
-        +"\u0985\u098c\u098f\u0990\u0993\u09a8\u09aa\u09b0\u09b2\u09b2\u09b6\u09b9\u09bc\u09bc"
-        +"\u09be\u09c4\u09c7\u09c8\u09cb\u09cd\u09d7\u09d7\u09dc\u09dd\u09df\u09e3\u09e6\u09f1"
-        +"\u0a02\u0a02\u0a05\u0a0a\u0a0f\u0a10\u0a13\u0a28\u0a2a\u0a30\u0a32\u0a33\u0a35\u0a36"
-        +"\u0a38\u0a39\u0a3c\u0a3c\u0a3e\u0a42\u0a47\u0a48\u0a4b\u0a4d\u0a59\u0a5c\u0a5e\u0a5e"
-        +"\u0a66\u0a74\u0a81\u0a83\u0a85\u0a8b\u0a8d\u0a8d\u0a8f\u0a91\u0a93\u0aa8\u0aaa\u0ab0"
-        +"\u0ab2\u0ab3\u0ab5\u0ab9\u0abc\u0ac5\u0ac7\u0ac9\u0acb\u0acd\u0ae0\u0ae0\u0ae6\u0aef"
-        +"\u0b01\u0b03\u0b05\u0b0c\u0b0f\u0b10\u0b13\u0b28\u0b2a\u0b30\u0b32\u0b33\u0b36\u0b39"
-        +"\u0b3c\u0b43\u0b47\u0b48\u0b4b\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f\u0b61\u0b66\u0b6f"
-        +"\u0b82\u0b83\u0b85\u0b8a\u0b8e\u0b90\u0b92\u0b95\u0b99\u0b9a\u0b9c\u0b9c\u0b9e\u0b9f"
-        +"\u0ba3\u0ba4\u0ba8\u0baa\u0bae\u0bb5\u0bb7\u0bb9\u0bbe\u0bc2\u0bc6\u0bc8\u0bca\u0bcd"
-        +"\u0bd7\u0bd7\u0be7\u0bef\u0c01\u0c03\u0c05\u0c0c\u0c0e\u0c10\u0c12\u0c28\u0c2a\u0c33"
-        +"\u0c35\u0c39\u0c3e\u0c44\u0c46\u0c48\u0c4a\u0c4d\u0c55\u0c56\u0c60\u0c61\u0c66\u0c6f"
-        +"\u0c82\u0c83\u0c85\u0c8c\u0c8e\u0c90\u0c92\u0ca8\u0caa\u0cb3\u0cb5\u0cb9\u0cbe\u0cc4"
-        +"\u0cc6\u0cc8\u0cca\u0ccd\u0cd5\u0cd6\u0cde\u0cde\u0ce0\u0ce1\u0ce6\u0cef\u0d02\u0d03"
-        +"\u0d05\u0d0c\u0d0e\u0d10\u0d12\u0d28\u0d2a\u0d39\u0d3e\u0d43\u0d46\u0d48\u0d4a\u0d4d"
-        +"\u0d57\u0d57\u0d60\u0d61\u0d66\u0d6f\u0e01\u0e2e\u0e30\u0e3a\u0e40\u0e4e\u0e50\u0e59"
-        +"\u0e81\u0e82\u0e84\u0e84\u0e87\u0e88\u0e8a\u0e8a\u0e8d\u0e8d\u0e94\u0e97\u0e99\u0e9f"
-        +"\u0ea1\u0ea3\u0ea5\u0ea5\u0ea7\u0ea7\u0eaa\u0eab\u0ead\u0eae\u0eb0\u0eb9\u0ebb\u0ebd"
-        +"\u0ec0\u0ec4\u0ec6\u0ec6\u0ec8\u0ecd\u0ed0\u0ed9\u0f18\u0f19\u0f20\u0f29\u0f35\u0f35"
-        +"\u0f37\u0f37\u0f39\u0f39\u0f3e\u0f47\u0f49\u0f69\u0f71\u0f84\u0f86\u0f8b\u0f90\u0f95"
-        +"\u0f97\u0f97\u0f99\u0fad\u0fb1\u0fb7\u0fb9\u0fb9\u10a0\u10c5\u10d0\u10f6\u1100\u1100"
-        +"\u1102\u1103\u1105\u1107\u1109\u1109\u110b\u110c\u110e\u1112\u113c\u113c\u113e\u113e"
-        +"\u1140\u1140\u114c\u114c\u114e\u114e\u1150\u1150\u1154\u1155\u1159\u1159\u115f\u1161"
-        +"\u1163\u1163\u1165\u1165\u1167\u1167\u1169\u1169\u116d\u116e\u1172\u1173\u1175\u1175"
-        +"\u119e\u119e\u11a8\u11a8\u11ab\u11ab\u11ae\u11af\u11b7\u11b8\u11ba\u11ba\u11bc\u11c2"
-        +"\u11eb\u11eb\u11f0\u11f0\u11f9\u11f9\u1e00\u1e9b\u1ea0\u1ef9\u1f00\u1f15\u1f18\u1f1d"
-        +"\u1f20\u1f45\u1f48\u1f4d\u1f50\u1f57\u1f59\u1f59\u1f5b\u1f5b\u1f5d\u1f5d\u1f5f\u1f7d"
-        +"\u1f80\u1fb4\u1fb6\u1fbc\u1fbe\u1fbe\u1fc2\u1fc4\u1fc6\u1fcc\u1fd0\u1fd3\u1fd6\u1fdb"
-        +"\u1fe0\u1fec\u1ff2\u1ff4\u1ff6\u1ffc\u20d0\u20dc\u20e1\u20e1\u2126\u2126\u212a\u212b"
-        +"\u212e\u212e\u2180\u2182\u3005\u3005\u3007\u3007\u3021\u302f\u3031\u3035\u3041\u3094"
-        +"\u3099\u309a\u309d\u309e\u30a1\u30fa\u30fc\u30fe\u3105\u312c\u4e00\u9fa5\uac00\ud7a3"
-        +"";
-    private static final String LETTERS =
-        "\u0041\u005a\u0061\u007a\u00c0\u00d6\u00d8\u00f6\u00f8\u0131\u0134\u013e\u0141\u0148"
-        +"\u014a\u017e\u0180\u01c3\u01cd\u01f0\u01f4\u01f5\u01fa\u0217\u0250\u02a8\u02bb\u02c1"
-        +"\u0386\u0386\u0388\u038a\u038c\u038c\u038e\u03a1\u03a3\u03ce\u03d0\u03d6\u03da\u03da"
-        +"\u03dc\u03dc\u03de\u03de\u03e0\u03e0\u03e2\u03f3\u0401\u040c\u040e\u044f\u0451\u045c"
-        +"\u045e\u0481\u0490\u04c4\u04c7\u04c8\u04cb\u04cc\u04d0\u04eb\u04ee\u04f5\u04f8\u04f9"
-        +"\u0531\u0556\u0559\u0559\u0561\u0586\u05d0\u05ea\u05f0\u05f2\u0621\u063a\u0641\u064a"
-        +"\u0671\u06b7\u06ba\u06be\u06c0\u06ce\u06d0\u06d3\u06d5\u06d5\u06e5\u06e6\u0905\u0939"
-        +"\u093d\u093d\u0958\u0961\u0985\u098c\u098f\u0990\u0993\u09a8\u09aa\u09b0\u09b2\u09b2"
-        +"\u09b6\u09b9\u09dc\u09dd\u09df\u09e1\u09f0\u09f1\u0a05\u0a0a\u0a0f\u0a10\u0a13\u0a28"
-        +"\u0a2a\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59\u0a5c\u0a5e\u0a5e\u0a72\u0a74"
-        +"\u0a85\u0a8b\u0a8d\u0a8d\u0a8f\u0a91\u0a93\u0aa8\u0aaa\u0ab0\u0ab2\u0ab3\u0ab5\u0ab9"
-        +"\u0abd\u0abd\u0ae0\u0ae0\u0b05\u0b0c\u0b0f\u0b10\u0b13\u0b28\u0b2a\u0b30\u0b32\u0b33"
-        +"\u0b36\u0b39\u0b3d\u0b3d\u0b5c\u0b5d\u0b5f\u0b61\u0b85\u0b8a\u0b8e\u0b90\u0b92\u0b95"
-        +"\u0b99\u0b9a\u0b9c\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8\u0baa\u0bae\u0bb5\u0bb7\u0bb9"
-        +"\u0c05\u0c0c\u0c0e\u0c10\u0c12\u0c28\u0c2a\u0c33\u0c35\u0c39\u0c60\u0c61\u0c85\u0c8c"
-        +"\u0c8e\u0c90\u0c92\u0ca8\u0caa\u0cb3\u0cb5\u0cb9\u0cde\u0cde\u0ce0\u0ce1\u0d05\u0d0c"
-        +"\u0d0e\u0d10\u0d12\u0d28\u0d2a\u0d39\u0d60\u0d61\u0e01\u0e2e\u0e30\u0e30\u0e32\u0e33"
-        +"\u0e40\u0e45\u0e81\u0e82\u0e84\u0e84\u0e87\u0e88\u0e8a\u0e8a\u0e8d\u0e8d\u0e94\u0e97"
-        +"\u0e99\u0e9f\u0ea1\u0ea3\u0ea5\u0ea5\u0ea7\u0ea7\u0eaa\u0eab\u0ead\u0eae\u0eb0\u0eb0"
-        +"\u0eb2\u0eb3\u0ebd\u0ebd\u0ec0\u0ec4\u0f40\u0f47\u0f49\u0f69\u10a0\u10c5\u10d0\u10f6"
-        +"\u1100\u1100\u1102\u1103\u1105\u1107\u1109\u1109\u110b\u110c\u110e\u1112\u113c\u113c"
-        +"\u113e\u113e\u1140\u1140\u114c\u114c\u114e\u114e\u1150\u1150\u1154\u1155\u1159\u1159"
-        +"\u115f\u1161\u1163\u1163\u1165\u1165\u1167\u1167\u1169\u1169\u116d\u116e\u1172\u1173"
-        +"\u1175\u1175\u119e\u119e\u11a8\u11a8\u11ab\u11ab\u11ae\u11af\u11b7\u11b8\u11ba\u11ba"
-        +"\u11bc\u11c2\u11eb\u11eb\u11f0\u11f0\u11f9\u11f9\u1e00\u1e9b\u1ea0\u1ef9\u1f00\u1f15"
-        +"\u1f18\u1f1d\u1f20\u1f45\u1f48\u1f4d\u1f50\u1f57\u1f59\u1f59\u1f5b\u1f5b\u1f5d\u1f5d"
-        +"\u1f5f\u1f7d\u1f80\u1fb4\u1fb6\u1fbc\u1fbe\u1fbe\u1fc2\u1fc4\u1fc6\u1fcc\u1fd0\u1fd3"
-        +"\u1fd6\u1fdb\u1fe0\u1fec\u1ff2\u1ff4\u1ff6\u1ffc\u2126\u2126\u212a\u212b\u212e\u212e"
-        +"\u2180\u2182\u3007\u3007\u3021\u3029\u3041\u3094\u30a1\u30fa\u3105\u312c\u4e00\u9fa5"
-        +"\uac00\ud7a3";
-    private static final String DIGITS =
-        "\u0030\u0039\u0660\u0669\u06F0\u06F9\u0966\u096F\u09E6\u09EF\u0A66\u0A6F\u0AE6\u0AEF"
-        +"\u0B66\u0B6F\u0BE7\u0BEF\u0C66\u0C6F\u0CE6\u0CEF\u0D66\u0D6F\u0E50\u0E59\u0ED0\u0ED9"
-        +"\u0F20\u0F29";
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/README.txt b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/README.txt
deleted file mode 100644
index 6cf1167..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/README.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-This is an isolated directory that was taken from the
-Apache Xerces-J 2.0 project.
-
-It contains the following modifications:
-
-(1) a change in namespace.
-(2) the addition of a SchemaRegularExpression class for fast
-    detection of NCNAME, etc.
-
-No xbean code outside this directory or other directories with
-similar README notices was taken from Apache.
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/REUtil.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/REUtil.java
deleted file mode 100644
index 8bc7168..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/REUtil.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.regex;
-
-import java.text.CharacterIterator;
-
-public final class REUtil {
-    private REUtil() {
-    }
-
-    static final int composeFromSurrogates(int high, int low) {
-        return 0x10000 + ((high-0xd800)<<10) + low-0xdc00;
-    }
-
-    static final boolean isLowSurrogate(int ch) {
-        return (ch & 0xfc00) == 0xdc00;
-    }
-
-    static final boolean isHighSurrogate(int ch) {
-        return (ch & 0xfc00) == 0xd800;
-    }
-
-    static final String decomposeToSurrogates(int ch) {
-        char[] chs = new char[2];
-        ch -= 0x10000;
-        chs[0] = (char)((ch>>10)+0xd800);
-        chs[1] = (char)((ch&0x3ff)+0xdc00);
-        return new String(chs);
-    }
-
-    static final String substring(CharacterIterator iterator, int begin, int end) {
-        char[] src = new char[end-begin];
-        for (int i = 0;  i < src.length;  i ++)
-            src[i] = iterator.setIndex(i+begin);
-        return new String(src);
-    }
-
-    // ================================================================
-
-    static final int getOptionValue(int ch) {
-        int ret = 0;
-        switch (ch) {
-          case 'i':
-            ret = RegularExpression.IGNORE_CASE;
-            break;
-          case 'm':
-            ret = RegularExpression.MULTIPLE_LINES;
-            break;
-          case 's':
-            ret = RegularExpression.SINGLE_LINE;
-            break;
-          case 'x':
-            ret = RegularExpression.EXTENDED_COMMENT;
-            break;
-          case 'u':
-            ret = RegularExpression.USE_UNICODE_CATEGORY;
-            break;
-          case 'w':
-            ret = RegularExpression.UNICODE_WORD_BOUNDARY;
-            break;
-          case 'F':
-            ret = RegularExpression.PROHIBIT_FIXED_STRING_OPTIMIZATION;
-            break;
-          case 'H':
-            ret = RegularExpression.PROHIBIT_HEAD_CHARACTER_OPTIMIZATION;
-            break;
-          case 'X':
-            ret = RegularExpression.XMLSCHEMA_MODE;
-            break;
-          case ',':
-            ret = RegularExpression.SPECIAL_COMMA;
-            break;
-          default:
-        }
-        return ret;
-    }
-
-    static final int parseOptions(String opts) throws ParseException {
-        if (opts == null)  return 0;
-        int options = 0;
-        for (int i = 0;  i < opts.length();  i ++) {
-            int v = getOptionValue(opts.charAt(i));
-            if (v == 0)
-                throw new ParseException("Unknown Option: "+opts.substring(i), -1);
-            options |= v;
-        }
-        return options;
-    }
-
-    static final String createOptionString(int options) {
-        StringBuffer sb = new StringBuffer(9);
-        if ((options & RegularExpression.PROHIBIT_FIXED_STRING_OPTIMIZATION) != 0)
-            sb.append((char)'F');
-        if ((options & RegularExpression.PROHIBIT_HEAD_CHARACTER_OPTIMIZATION) != 0)
-            sb.append((char)'H');
-        if ((options & RegularExpression.XMLSCHEMA_MODE) != 0)
-            sb.append((char)'X');
-        if ((options & RegularExpression.IGNORE_CASE) != 0)
-            sb.append((char)'i');
-        if ((options & RegularExpression.MULTIPLE_LINES) != 0)
-            sb.append((char)'m');
-        if ((options & RegularExpression.SINGLE_LINE) != 0)
-            sb.append((char)'s');
-        if ((options & RegularExpression.USE_UNICODE_CATEGORY) != 0)
-            sb.append((char)'u');
-        if ((options & RegularExpression.UNICODE_WORD_BOUNDARY) != 0)
-            sb.append((char)'w');
-        if ((options & RegularExpression.EXTENDED_COMMENT) != 0)
-            sb.append((char)'x');
-        if ((options & RegularExpression.SPECIAL_COMMA) != 0)
-            sb.append((char)',');
-        return sb.toString().intern();
-    }
-
-    // ================================================================
-
-    static String stripExtendedComment(String regex) {
-        int len = regex.length();
-        StringBuffer buffer = new StringBuffer(len);
-        int offset = 0;
-        while (offset < len) {
-            int ch = regex.charAt(offset++);
-                                                // Skips a white space.
-            if (ch == '\t' || ch == '\n' || ch == '\f' || ch == '\r' || ch == ' ')
-                continue;
-
-            if (ch == '#') {                    // Skips chracters between '#' and a line end.
-                while (offset < len) {
-                    ch = regex.charAt(offset++);
-                    if (ch == '\r' || ch == '\n')
-                        break;
-                }
-                continue;
-            }
-
-            int next;                           // Strips an escaped white space.
-            if (ch == '\\' && offset < len) {
-                if ((next = regex.charAt(offset)) == '#'
-                    || next == '\t' || next == '\n' || next == '\f'
-                    || next == '\r' || next == ' ') {
-                    buffer.append((char)next);
-                    offset ++;
-                } else {                        // Other escaped character.
-                    buffer.append((char)'\\');
-                    buffer.append((char)next);
-                    offset ++;
-                }
-            } else                              // As is.
-                buffer.append((char)ch);
-        }
-        return buffer.toString();
-    }
-
-    // ================================================================
-
-    /**
-     * Sample entry.
-     * <div>Usage: <KBD>org.apache.xerces.utils.regex.REUtil &lt;regex&gt; &lt;string&gt;</KBD></div>
-     */
-    public static void main(String[] argv) {
-        String pattern = null;
-        try {
-            String options = "";
-            String target = null;
-            if( argv.length == 0 ) {
-                System.out.println( "Error:Usage: java REUtil -i|-m|-s|-u|-w|-X regularExpression String" );
-                System.exit( 0 );
-            }
-            for (int i = 0;  i < argv.length;  i ++) {
-                if (argv[i].length() == 0 || argv[i].charAt(0) != '-') {
-                    if (pattern == null)
-                        pattern = argv[i];
-                    else if (target == null)
-                        target = argv[i];
-                    else
-                        System.err.println("Unnecessary: "+argv[i]);
-                } else if (argv[i].equals("-i")) {
-                    options += "i";
-                } else if (argv[i].equals("-m")) {
-                    options += "m";
-                } else if (argv[i].equals("-s")) {
-                    options += "s";
-                } else if (argv[i].equals("-u")) {
-                    options += "u";
-                } else if (argv[i].equals("-w")) {
-                    options += "w";
-                } else if (argv[i].equals("-X")) {
-                    options += "X";
-                } else {
-                    System.err.println("Unknown option: "+argv[i]);
-                }
-            }
-            RegularExpression reg = new RegularExpression(pattern, options);
-            System.out.println("RegularExpression: "+reg);
-            Match match = new Match();
-            reg.matches(target, match);
-            for (int i = 0;  i < match.getNumberOfGroups();  i ++) {
-                if (i == 0 )  System.out.print("Matched range for the whole pattern: ");
-                else System.out.print("["+i+"]: ");
-                if (match.getBeginning(i) < 0)
-                    System.out.println("-1");
-                else {
-                    System.out.print(match.getBeginning(i)+", "+match.getEnd(i)+", ");
-                    System.out.println("\""+match.getCapturedText(i)+"\"");
-                }
-            }
-        } catch (ParseException pe) {
-            if (pattern == null) {
-                pe.printStackTrace();
-            } else {
-                System.err.println("org.apache.xerces.utils.regex.ParseException: "+pe.getMessage());
-                String indent = "        ";
-                System.err.println(indent+pattern);
-                int loc = pe.getLocation();
-                if (loc >= 0) {
-                    System.err.print(indent);
-                    for (int i = 0;  i < loc;  i ++)  System.err.print("-");
-                    System.err.println("^");
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    static final int CACHESIZE = 20;
-    static final RegularExpression[] regexCache = new RegularExpression[CACHESIZE];
-    /**
-     * Creates a RegularExpression instance.
-     * This method caches created instances.
-     *
-     * @seeq RegularExpression#RegularExpression(java.lang.String, java.lang.String)
-     */
-    public static RegularExpression createRegex(String pattern, String options)
-        throws ParseException {
-        RegularExpression re = null;
-        int intOptions = REUtil.parseOptions(options);
-        synchronized (REUtil.regexCache) {
-            int i;
-            for (i = 0;  i < REUtil.CACHESIZE;  i ++) {
-                RegularExpression cached = REUtil.regexCache[i];
-                if (cached == null) {
-                    i = -1;
-                    break;
-                }
-                if (cached.equals(pattern, intOptions)) {
-                    re = cached;
-                    break;
-                }
-            }
-            if (re != null) {
-                if (i != 0) {
-                    System.arraycopy(REUtil.regexCache, 0, REUtil.regexCache, 1, i);
-                    REUtil.regexCache[0] = re;
-                }
-            } else {
-                re = new RegularExpression(pattern, options);
-                System.arraycopy(REUtil.regexCache, 0, REUtil.regexCache, 1, REUtil.CACHESIZE-1);
-                REUtil.regexCache[0] = re;
-            }
-        }
-        return re;
-    }
-
-    /**
-     *
-     * @see RegularExpression#matches(java.lang.String)
-     */
-    public static boolean matches(String regex, String target) throws ParseException {
-        return REUtil.createRegex(regex, null).matches(target);
-    }
-
-    /**
-     *
-     * @see RegularExpression#matches(java.lang.String)
-     */
-    public static boolean matches(String regex, String options, String target) throws ParseException {
-        return REUtil.createRegex(regex, options).matches(target);
-    }
-
-    // ================================================================
-
-    /**
-     *
-     */
-    public static String quoteMeta(String literal) {
-        int len = literal.length();
-        StringBuffer buffer = null;
-        for (int i = 0;  i < len;  i ++) {
-            int ch = literal.charAt(i);
-            if (".*+?{[()|\\^$".indexOf(ch) >= 0) {
-                if (buffer == null) {
-                    buffer = new StringBuffer(i+(len-i)*2);
-                    if (i > 0)  buffer.append(literal.substring(0, i));
-                }
-                buffer.append((char)'\\');
-                buffer.append((char)ch);
-            } else if (buffer != null)
-                buffer.append((char)ch);
-        }
-        return buffer != null ? buffer.toString() : literal;
-    }
-
-    // ================================================================
-
-    static void dumpString(String v) {
-        for (int i = 0;  i < v.length();  i ++) {
-            System.out.print(Integer.toHexString(v.charAt(i)));
-            System.out.print(" ");
-        }
-        System.out.println();
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/RangeToken.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/RangeToken.java
deleted file mode 100644
index cd2bbaa..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/RangeToken.java
+++ /dev/null
@@ -1,648 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.regex;
-
-/**
- * This class represents a character class such as [a-z] or a period.
- */
-final class RangeToken extends Token implements java.io.Serializable {
-
-    int[] ranges;
-    boolean sorted;
-    boolean compacted;
-    RangeToken icaseCache = null;
-    int[] map = null;
-    int nonMapIndex;
-
-    RangeToken(int type) {
-        super(type);
-        this.setSorted(false);
-    }
-
-                                                // for RANGE or NRANGE
-    protected void addRange(int start, int end) {
-        this.icaseCache = null;
-        //System.err.println("Token#addRange(): "+start+" "+end);
-        int r1, r2;
-        if (start <= end) {
-            r1 = start;
-            r2 = end;
-        } else {
-            r1 = end;
-            r2 = start;
-        }
-
-        int pos = 0;
-        if (this.ranges == null) {
-            this.ranges = new int[2];
-            this.ranges[0] = r1;
-            this.ranges[1] = r2;
-            this.setSorted(true);
-        } else {
-            pos = this.ranges.length;
-            if (this.ranges[pos-1]+1 == r1) {
-                this.ranges[pos-1] = r2;
-                return;
-            }
-            int[] temp = new int[pos+2];
-            System.arraycopy(this.ranges, 0, temp, 0, pos);
-            this.ranges = temp;
-            if (this.ranges[pos-1] >= r1)
-                this.setSorted(false);
-            this.ranges[pos++] = r1;
-            this.ranges[pos] = r2;
-            if (!this.sorted)
-                this.sortRanges();
-        }
-    }
-
-    private final boolean isSorted() {
-        return this.sorted;
-    }
-    private final void setSorted(boolean sort) {
-        this.sorted = sort;
-        if (!sort)  this.compacted = false;
-    }
-    private final boolean isCompacted() {
-        return this.compacted;
-    }
-    private final void setCompacted() {
-        this.compacted = true;
-    }
-
-    protected void sortRanges() {
-        if (this.isSorted())
-            return;
-        if (this.ranges == null)
-            return;
-        //System.err.println("Do sorting: "+this.ranges.length);
-
-                                                // Bubble sort
-                                                // Why? -- In many cases,
-                                                //         this.ranges has few elements.
-        for (int i = this.ranges.length-4;  i >= 0;  i -= 2) {
-            for (int j = 0;  j <= i;  j += 2) {
-                if (this.ranges[j] > this.ranges[j+2]
-                    || this.ranges[j] == this.ranges[j+2] && this.ranges[j+1] > this.ranges[j+3]) {
-                    int tmp;
-                    tmp = this.ranges[j+2];
-                    this.ranges[j+2] = this.ranges[j];
-                    this.ranges[j] = tmp;
-                    tmp = this.ranges[j+3];
-                    this.ranges[j+3] = this.ranges[j+1];
-                    this.ranges[j+1] = tmp;
-                }
-            }
-        }
-        this.setSorted(true);
-    }
-
-    /**
-     * this.ranges is sorted.
-     */
-    protected void compactRanges() {
-        boolean DEBUG = false;
-        if (this.ranges == null || this.ranges.length <= 2)
-            return;
-        if (this.isCompacted())
-            return;
-        int base = 0;                           // Index of writing point
-        int target = 0;                         // Index of processing point
-
-        while (target < this.ranges.length) {
-            if (base != target) {
-                this.ranges[base] = this.ranges[target++];
-                this.ranges[base+1] = this.ranges[target++];
-            } else
-                target += 2;
-            int baseend = this.ranges[base+1];
-            while (target < this.ranges.length) {
-                if (baseend+1 < this.ranges[target])
-                    break;
-                if (baseend+1 == this.ranges[target]) {
-                    if (DEBUG)
-                        System.err.println("Token#compactRanges(): Compaction: ["+this.ranges[base]
-                                           +", "+this.ranges[base+1]
-                                           +"], ["+this.ranges[target]
-                                           +", "+this.ranges[target+1]
-                                           +"] -> ["+this.ranges[base]
-                                           +", "+this.ranges[target+1]
-                                           +"]");
-                    this.ranges[base+1] = this.ranges[target+1];
-                    baseend = this.ranges[base+1];
-                    target += 2;
-                } else if (baseend >= this.ranges[target+1]) {
-                    if (DEBUG)
-                        System.err.println("Token#compactRanges(): Compaction: ["+this.ranges[base]
-                                           +", "+this.ranges[base+1]
-                                           +"], ["+this.ranges[target]
-                                           +", "+this.ranges[target+1]
-                                           +"] -> ["+this.ranges[base]
-                                           +", "+this.ranges[base+1]
-                                           +"]");
-                    target += 2;
-                } else if (baseend < this.ranges[target+1]) {
-                    if (DEBUG)
-                        System.err.println("Token#compactRanges(): Compaction: ["+this.ranges[base]
-                                           +", "+this.ranges[base+1]
-                                           +"], ["+this.ranges[target]
-                                           +", "+this.ranges[target+1]
-                                           +"] -> ["+this.ranges[base]
-                                           +", "+this.ranges[target+1]
-                                           +"]");
-                    this.ranges[base+1] = this.ranges[target+1];
-                    baseend = this.ranges[base+1];
-                    target += 2;
-                } else {
-                    throw new RuntimeException("Token#compactRanges(): Internel Error: ["
-                                               +this.ranges[base]
-                                               +","+this.ranges[base+1]
-                                               +"] ["+this.ranges[target]
-                                               +","+this.ranges[target+1]+"]");
-                }
-            } // while
-            base += 2;
-        }
-
-        if (base != this.ranges.length) {
-            int[] result = new int[base];
-            System.arraycopy(this.ranges, 0, result, 0, base);
-            this.ranges = result;
-        }
-        this.setCompacted();
-    }
-
-    protected void mergeRanges(Token token) {
-        RangeToken tok = (RangeToken)token;
-        this.sortRanges();
-        tok.sortRanges();
-        if (tok.ranges == null)
-            return;
-        this.icaseCache = null;
-        this.setSorted(true);
-        if (this.ranges == null) {
-            this.ranges = new int[tok.ranges.length];
-            System.arraycopy(tok.ranges, 0, this.ranges, 0, tok.ranges.length);
-            return;
-        }
-        int[] result = new int[this.ranges.length+tok.ranges.length];
-        for (int i = 0, j = 0, k = 0;  i < this.ranges.length || j < tok.ranges.length;) {
-            if (i >= this.ranges.length) {
-                result[k++] = tok.ranges[j++];
-                result[k++] = tok.ranges[j++];
-            } else if (j >= tok.ranges.length) {
-                result[k++] = this.ranges[i++];
-                result[k++] = this.ranges[i++];
-            } else if (tok.ranges[j] < this.ranges[i]
-                       || tok.ranges[j] == this.ranges[i] && tok.ranges[j+1] < this.ranges[i+1]) {
-                result[k++] = tok.ranges[j++];
-                result[k++] = tok.ranges[j++];
-            } else {
-                result[k++] = this.ranges[i++];
-                result[k++] = this.ranges[i++];
-            }
-        }
-        this.ranges = result;
-    }
-
-    protected void subtractRanges(Token token) {
-        if (token.type == NRANGE) {
-            this.intersectRanges(token);
-            return;
-        }
-        RangeToken tok = (RangeToken)token;
-        if (tok.ranges == null || this.ranges == null)
-            return;
-        this.icaseCache = null;
-        this.sortRanges();
-        this.compactRanges();
-        tok.sortRanges();
-        tok.compactRanges();
-
-        //System.err.println("Token#substractRanges(): Entry: "+this.ranges.length+", "+tok.ranges.length);
-
-        int[] result = new int[this.ranges.length+tok.ranges.length];
-        int wp = 0, src = 0, sub = 0;
-        while (src < this.ranges.length && sub < tok.ranges.length) {
-            int srcbegin = this.ranges[src];
-            int srcend = this.ranges[src+1];
-            int subbegin = tok.ranges[sub];
-            int subend = tok.ranges[sub+1];
-            if (srcend < subbegin) {            // Not overlapped
-                                                // src: o-----o
-                                                // sub:         o-----o
-                                                // res: o-----o
-                                                // Reuse sub
-                result[wp++] = this.ranges[src++];
-                result[wp++] = this.ranges[src++];
-            } else if (srcend >= subbegin
-                       && srcbegin <= subend) { // Overlapped
-                                                // src:    o--------o
-                                                // sub:  o----o
-                                                // sub:      o----o
-                                                // sub:          o----o
-                                                // sub:  o------------o
-                if (subbegin <= srcbegin && srcend <= subend) {
-                                                // src:    o--------o
-                                                // sub:  o------------o
-                                                // res: empty
-                                                // Reuse sub
-                    src += 2;
-                } else if (subbegin <= srcbegin) {
-                                                // src:    o--------o
-                                                // sub:  o----o
-                                                // res:       o-----o
-                                                // Reuse src(=res)
-                    this.ranges[src] = subend+1;
-                    sub += 2;
-                } else if (srcend <= subend) {
-                                                // src:    o--------o
-                                                // sub:          o----o
-                                                // res:    o-----o
-                                                // Reuse sub
-                    result[wp++] = srcbegin;
-                    result[wp++] = subbegin-1;
-                    src += 2;
-                } else {
-                                                // src:    o--------o
-                                                // sub:      o----o
-                                                // res:    o-o    o-o
-                                                // Reuse src(=right res)
-                    result[wp++] = srcbegin;
-                    result[wp++] = subbegin-1;
-                    this.ranges[src] = subend+1;
-                    sub += 2;
-                }
-            } else if (subend < srcbegin) {
-                                                // Not overlapped
-                                                // src:          o-----o
-                                                // sub: o----o
-                sub += 2;
-            } else {
-                throw new RuntimeException("Token#subtractRanges(): Internal Error: ["+this.ranges[src]
-                                           +","+this.ranges[src+1]
-                                           +"] - ["+tok.ranges[sub]
-                                           +","+tok.ranges[sub+1]
-                                           +"]");
-            }
-        }
-        while (src < this.ranges.length) {
-            result[wp++] = this.ranges[src++];
-            result[wp++] = this.ranges[src++];
-        }
-        this.ranges = new int[wp];
-        System.arraycopy(result, 0, this.ranges, 0, wp);
-                                                // this.ranges is sorted and compacted.
-    }
-
-    /**
-     * @param tok Ignore whether it is NRANGE or not.
-     */
-    protected void intersectRanges(Token token) {
-        RangeToken tok = (RangeToken)token;
-        if (tok.ranges == null || this.ranges == null)
-            return;
-        this.icaseCache = null;
-        this.sortRanges();
-        this.compactRanges();
-        tok.sortRanges();
-        tok.compactRanges();
-
-        int[] result = new int[this.ranges.length+tok.ranges.length];
-        int wp = 0, src1 = 0, src2 = 0;
-        while (src1 < this.ranges.length && src2 < tok.ranges.length) {
-            int src1begin = this.ranges[src1];
-            int src1end = this.ranges[src1+1];
-            int src2begin = tok.ranges[src2];
-            int src2end = tok.ranges[src2+1];
-            if (src1end < src2begin) {          // Not overlapped
-                                                // src1: o-----o
-                                                // src2:         o-----o
-                                                // res:  empty
-                                                // Reuse src2
-                src1 += 2;
-            } else if (src1end >= src2begin
-                       && src1begin <= src2end) { // Overlapped
-                                                // src1:    o--------o
-                                                // src2:  o----o
-                                                // src2:      o----o
-                                                // src2:          o----o
-                                                // src2:  o------------o
-                if (src2begin <= src2begin && src1end <= src2end) {
-                                                // src1:    o--------o
-                                                // src2:  o------------o
-                                                // res:     o--------o
-                                                // Reuse src2
-                    result[wp++] = src1begin;
-                    result[wp++] = src1end;
-                    src1 += 2;
-                } else if (src2begin <= src1begin) {
-                                                // src1:    o--------o
-                                                // src2:  o----o
-                                                // res:     o--o
-                                                // Reuse the rest of src1
-                    result[wp++] = src1begin;
-                    result[wp++] = src2end;
-                    this.ranges[src1] = src2end+1;
-                    src2 += 2;
-                } else if (src1end <= src2end) {
-                                                // src1:    o--------o
-                                                // src2:          o----o
-                                                // res:           o--o
-                                                // Reuse src2
-                    result[wp++] = src2begin;
-                    result[wp++] = src1end;
-                    src1 += 2;
-                } else {
-                                                // src1:    o--------o
-                                                // src2:      o----o
-                                                // res:       o----o
-                                                // Reuse the rest of src1
-                    result[wp++] = src2begin;
-                    result[wp++] = src2end;
-                    this.ranges[src1] = src2end+1;
-                }
-            } else if (src2end < src1begin) {
-                                                // Not overlapped
-                                                // src1:          o-----o
-                                                // src2: o----o
-                src2 += 2;
-            } else {
-                throw new RuntimeException("Token#intersectRanges(): Internal Error: ["
-                                           +this.ranges[src1]
-                                           +","+this.ranges[src1+1]
-                                           +"] & ["+tok.ranges[src2]
-                                           +","+tok.ranges[src2+1]
-                                           +"]");
-            }
-        }
-        while (src1 < this.ranges.length) {
-            result[wp++] = this.ranges[src1++];
-            result[wp++] = this.ranges[src1++];
-        }
-        this.ranges = new int[wp];
-        System.arraycopy(result, 0, this.ranges, 0, wp);
-                                                // this.ranges is sorted and compacted.
-    }
-
-    /**
-     * for RANGE: Creates complement.
-     * for NRANGE: Creates the same meaning RANGE.
-     */
-    static Token complementRanges(Token token) {
-        if (token.type != RANGE && token.type != NRANGE)
-            throw new IllegalArgumentException("Token#complementRanges(): must be RANGE: "+token.type);
-        RangeToken tok = (RangeToken)token;
-        tok.sortRanges();
-        tok.compactRanges();
-        int len = tok.ranges.length+2;
-        if (tok.ranges[0] == 0)
-            len -= 2;
-        int last = tok.ranges[tok.ranges.length-1];
-        if (last == UTF16_MAX)
-            len -= 2;
-        RangeToken ret = Token.createRange();
-        ret.ranges = new int[len];
-        int wp = 0;
-        if (tok.ranges[0] > 0) {
-            ret.ranges[wp++] = 0;
-            ret.ranges[wp++] = tok.ranges[0]-1;
-        }
-        for (int i = 1;  i < tok.ranges.length-2;  i += 2) {
-            ret.ranges[wp++] = tok.ranges[i]+1;
-            ret.ranges[wp++] = tok.ranges[i+1]-1;
-        }
-        if (last != UTF16_MAX) {
-            ret.ranges[wp++] = last+1;
-            ret.ranges[wp] = UTF16_MAX;
-        }
-        ret.setCompacted();
-        return ret;
-    }
-
-    synchronized RangeToken getCaseInsensitiveToken() {
-        if (this.icaseCache != null)
-            return this.icaseCache;
-            
-        RangeToken uppers = this.type == Token.RANGE ? Token.createRange() : Token.createNRange();
-        for (int i = 0;  i < this.ranges.length;  i += 2) {
-            for (int ch = this.ranges[i];  ch <= this.ranges[i+1];  ch ++) {
-                if (ch > 0xffff)
-                    uppers.addRange(ch, ch);
-                else {
-                    char uch = Character.toUpperCase((char)ch);
-                    uppers.addRange(uch, uch);
-                }
-            }
-        }
-        RangeToken lowers = this.type == Token.RANGE ? Token.createRange() : Token.createNRange();
-        for (int i = 0;  i < uppers.ranges.length;  i += 2) {
-            for (int ch = uppers.ranges[i];  ch <= uppers.ranges[i+1];  ch ++) {
-                if (ch > 0xffff)
-                    lowers.addRange(ch, ch);
-                else {
-                    char uch = Character.toUpperCase((char)ch);
-                    lowers.addRange(uch, uch);
-                }
-            }
-        }
-        lowers.mergeRanges(uppers);
-        lowers.mergeRanges(this);
-        lowers.compactRanges();
-
-        this.icaseCache = lowers;
-        return lowers;
-    }
-
-    void dumpRanges() {
-        System.err.print("RANGE: ");
-        if (this.ranges == null)
-            System.err.println(" NULL");
-        for (int i = 0;  i < this.ranges.length;  i += 2) {
-            System.err.print("["+this.ranges[i]+","+this.ranges[i+1]+"] ");
-        }
-        System.err.println("");
-    }
-
-    boolean match(int ch) {
-        if (this.map == null)  this.createMap();
-        boolean ret;
-        if (this.type == RANGE) {
-            if (ch < MAPSIZE)
-                return (this.map[ch/32] & (1<<(ch&0x1f))) != 0;
-            ret = false;
-            for (int i = this.nonMapIndex;  i < this.ranges.length;  i += 2) {
-                if (this.ranges[i] <= ch && ch <= this.ranges[i+1])
-                    return true;
-            }
-        } else {
-            if (ch < MAPSIZE)
-                return (this.map[ch/32] & (1<<(ch&0x1f))) == 0;
-            ret = true;
-            for (int i = this.nonMapIndex;  i < this.ranges.length;  i += 2) {
-                if (this.ranges[i] <= ch && ch <= this.ranges[i+1])
-                    return false;
-            }
-        }
-        return ret;
-    }
-
-    private static final int MAPSIZE = 256;
-    private void createMap() {
-        int asize = MAPSIZE/32;                 // 32 is the number of bits in `int'.
-        this.map = new int[asize];
-        this.nonMapIndex = this.ranges.length;
-        for (int i = 0;  i < asize;  i ++)  this.map[i] = 0;
-        for (int i = 0;  i < this.ranges.length;  i += 2) {
-            int s = this.ranges[i];
-            int e = this.ranges[i+1];
-            if (s < MAPSIZE) {
-                for (int j = s;  j <= e && j < MAPSIZE;  j ++)
-                    this.map[j/32] |= 1<<(j&0x1f); // s&0x1f : 0-31
-            } else {
-                this.nonMapIndex = i;
-                break;
-            }
-            if (e >= MAPSIZE) {
-                this.nonMapIndex = i;
-                break;
-            }
-        }
-        //for (int i = 0;  i < asize;  i ++)  System.err.println("Map: "+Integer.toString(this.map[i], 16));
-    }
-
-    public String toString(int options) {
-        String ret;
-        if (this.type == RANGE) {
-            if (this == Token.token_dot)
-                ret = ".";
-            else if (this == Token.token_0to9)
-                ret = "\\d";
-            else if (this == Token.token_wordchars)
-                ret = "\\w";
-            else if (this == Token.token_spaces)
-                ret = "\\s";
-            else {
-                StringBuffer sb = new StringBuffer();
-                sb.append("[");
-                for (int i = 0;  i < this.ranges.length;  i += 2) {
-                    if ((options & RegularExpression.SPECIAL_COMMA) != 0 && i > 0)  sb.append(",");
-                    if (this.ranges[i] == this.ranges[i+1]) {
-                        sb.append(escapeCharInCharClass(this.ranges[i]));
-                    } else {
-                        sb.append(escapeCharInCharClass(this.ranges[i]));
-                        sb.append((char)'-');
-                        sb.append(escapeCharInCharClass(this.ranges[i+1]));
-                    }
-                }
-                sb.append("]");
-                ret = sb.toString();
-            }
-        } else {
-            if (this == Token.token_not_0to9)
-                ret = "\\D";
-            else if (this == Token.token_not_wordchars)
-                ret = "\\W";
-            else if (this == Token.token_not_spaces)
-                ret = "\\S";
-            else {
-                StringBuffer sb = new StringBuffer();
-                sb.append("[^");
-                for (int i = 0;  i < this.ranges.length;  i += 2) {
-                    if ((options & RegularExpression.SPECIAL_COMMA) != 0 && i > 0)  sb.append(",");
-                    if (this.ranges[i] == this.ranges[i+1]) {
-                        sb.append(escapeCharInCharClass(this.ranges[i]));
-                    } else {
-                        sb.append(escapeCharInCharClass(this.ranges[i]));
-                        sb.append('-');
-                        sb.append(escapeCharInCharClass(this.ranges[i+1]));
-                    }
-                }
-                sb.append("]");
-                ret = sb.toString();
-            }
-        }
-        return ret;
-    }
-
-    private static String escapeCharInCharClass(int ch) {
-        String ret;
-        switch (ch) {
-          case '[':  case ']':  case '-':  case '^':
-          case ',':  case '\\':
-            ret = "\\"+(char)ch;
-            break;
-          case '\f':  ret = "\\f";  break;
-          case '\n':  ret = "\\n";  break;
-          case '\r':  ret = "\\r";  break;
-          case '\t':  ret = "\\t";  break;
-          case 0x1b:  ret = "\\e";  break;
-          //case 0x0b:  ret = "\\v";  break;
-          default:
-            if (ch < 0x20) {
-                String pre = "0"+Integer.toHexString(ch);
-                ret = "\\x"+pre.substring(pre.length()-2, pre.length());
-            } else if (ch >= 0x10000) {
-                String pre = "0"+Integer.toHexString(ch);
-                ret = "\\v"+pre.substring(pre.length()-6, pre.length());
-            } else
-                ret = ""+(char)ch;
-        }
-        return ret;
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/RegexParser.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/RegexParser.java
deleted file mode 100644
index 8b09d95..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/RegexParser.java
+++ /dev/null
@@ -1,1133 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.regex;
-
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.Vector;
-
-/**
- * A Regular Expression Parser.
- */
-class RegexParser {
-    static final int T_CHAR = 0;
-    static final int T_EOF = 1;
-    static final int T_OR = 2;                  // '|'
-    static final int T_STAR = 3;                // '*'
-    static final int T_PLUS = 4;                // '+'
-    static final int T_QUESTION = 5;            // '?'
-    static final int T_LPAREN = 6;              // '('
-    static final int T_RPAREN = 7;              // ')'
-    static final int T_DOT = 8;                 // '.'
-    static final int T_LBRACKET = 9;            // '['
-    static final int T_BACKSOLIDUS = 10;        // '\'
-    static final int T_CARET = 11;              // '^'
-    static final int T_DOLLAR = 12;             // '$'
-    static final int T_LPAREN2 = 13;            // '(?:'
-    static final int T_LOOKAHEAD = 14;          // '(?='
-    static final int T_NEGATIVELOOKAHEAD = 15;  // '(?!'
-    static final int T_LOOKBEHIND = 16;         // '(?<='
-    static final int T_NEGATIVELOOKBEHIND = 17; // '(?<!'
-    static final int T_INDEPENDENT = 18;        // '(?>'
-    static final int T_SET_OPERATIONS = 19;     // '(?['
-    static final int T_POSIX_CHARCLASS_START = 20; // '[:' in a character class
-    static final int T_COMMENT = 21;            // '(?#'
-    static final int T_MODIFIERS = 22;          // '(?' [\-,a-z,A-Z]
-    static final int T_CONDITION = 23;          // '(?('
-    static final int T_XMLSCHEMA_CC_SUBTRACTION = 24; // '-[' in a character class
-
-    static class ReferencePosition {
-        int refNumber;
-        int position;
-        ReferencePosition(int n, int pos) {
-            this.refNumber = n;
-            this.position = pos;
-        }
-    }
-
-    int offset;
-    String regex;
-    int regexlen;
-    int options;
-    ResourceBundle resources;
-    int chardata;
-    int nexttoken;
-    static protected final int S_NORMAL = 0;
-    static protected final int S_INBRACKETS = 1;
-    static protected final int S_INXBRACKETS = 2;
-    int context = S_NORMAL;
-    int parennumber = 1;
-    boolean hasBackReferences;
-    Vector references = null;
-
-    public RegexParser() {
-        this.setLocale(Locale.getDefault());
-    }
-    public RegexParser(Locale locale) {
-        this.setLocale(locale);
-    }
-
-    public void setLocale(Locale locale) {
-        try {
-            this.resources = ResourceBundle.getBundle("org.apache.xmlbeans.impl.regex.message", locale);
-        } catch (MissingResourceException mre) {
-            throw new RuntimeException("Installation Problem???  Couldn't load messages: "
-                                       +mre.getMessage());
-        }
-    }
-
-    final ParseException ex(String key, int loc) {
-        return new ParseException(this.resources.getString(key), loc);
-    }
-
-    private final boolean isSet(int flag) {
-        return (this.options & flag) == flag;
-    }
-
-    synchronized Token parse(String regex, int options) throws ParseException {
-        this.options = options;
-        this.offset = 0;
-        this.setContext(S_NORMAL);
-        this.parennumber = 1;
-        this.hasBackReferences = false;
-        this.regex = regex;
-        if (this.isSet(RegularExpression.EXTENDED_COMMENT))
-            this.regex = REUtil.stripExtendedComment(this.regex);
-        this.regexlen = this.regex.length();
-
-
-        this.next();
-        Token ret = this.parseRegex();
-        if (this.offset != this.regexlen)
-            throw ex("parser.parse.1", this.offset);
-        if (this.references != null) {
-            for (int i = 0;  i < this.references.size();  i ++) {
-                ReferencePosition position = (ReferencePosition)this.references.elementAt(i);
-                if (this.parennumber <= position.refNumber)
-                    throw ex("parser.parse.2", position.position);
-            }
-            this.references.removeAllElements();
-        }
-        return ret;
-    }
-
-    /*
-    public RegularExpression createRegex(String regex, int options) throws ParseException {
-        Token tok = this.parse(regex, options);
-        return new RegularExpression(regex, tok, this.parennumber, this.hasBackReferences, options);
-    }
-    */
-
-    protected final void setContext(int con) {
-        this.context = con;
-    }
-
-    final int read() {
-        return this.nexttoken;
-    }
-
-    final void next() {
-        if (this.offset >= this.regexlen) {
-            this.chardata = -1;
-            this.nexttoken = T_EOF;
-            return;
-        }
-
-        int ret;
-        int ch = this.regex.charAt(this.offset++);
-        this.chardata = ch;
-
-        if (this.context == S_INBRACKETS) {
-            // In a character class, this.chardata has one character, that is to say,
-            // a pair of surrogates is composed and stored to this.chardata.
-            switch (ch) {
-              case '\\':
-                ret = T_BACKSOLIDUS;
-                if (this.offset >= this.regexlen)
-                    throw ex("parser.next.1", this.offset-1);
-                this.chardata = this.regex.charAt(this.offset++);
-                break;
-
-              case '-':
-                if (this.isSet(RegularExpression.XMLSCHEMA_MODE)
-                    && this.offset < this.regexlen && this.regex.charAt(this.offset) == '[') {
-                    this.offset++;
-                    ret = T_XMLSCHEMA_CC_SUBTRACTION;
-                } else
-                    ret = T_CHAR;
-                break;
-
-              case '[':
-                if (!this.isSet(RegularExpression.XMLSCHEMA_MODE)
-                    && this.offset < this.regexlen && this.regex.charAt(this.offset) == ':') {
-                    this.offset++;
-                    ret = T_POSIX_CHARCLASS_START;
-                    break;
-                } // Through down
-              default:
-                if (REUtil.isHighSurrogate(ch) && this.offset < this.regexlen) {
-                    int low = this.regex.charAt(this.offset);
-                    if (REUtil.isLowSurrogate(low)) {
-                        this.chardata = REUtil.composeFromSurrogates(ch, low);
-                        this.offset ++;
-                    }
-                }
-                ret = T_CHAR;
-            }
-            this.nexttoken = ret;
-            return;
-        }
-
-        switch (ch) {
-          case '|': ret = T_OR;             break;
-          case '*': ret = T_STAR;           break;
-          case '+': ret = T_PLUS;           break;
-          case '?': ret = T_QUESTION;       break;
-          case ')': ret = T_RPAREN;         break;
-          case '.': ret = T_DOT;            break;
-          case '[': ret = T_LBRACKET;       break;
-          case '^': ret = T_CARET;          break;
-          case '$': ret = T_DOLLAR;         break;
-          case '(':
-            ret = T_LPAREN;
-            if (this.offset >= this.regexlen)
-                break;
-            if (this.regex.charAt(this.offset) != '?')
-                break;
-            if (++this.offset >= this.regexlen)
-                throw ex("parser.next.2", this.offset-1);
-            ch = this.regex.charAt(this.offset++);
-            switch (ch) {
-              case ':':  ret = T_LPAREN2;            break;
-              case '=':  ret = T_LOOKAHEAD;          break;
-              case '!':  ret = T_NEGATIVELOOKAHEAD;  break;
-              case '[':  ret = T_SET_OPERATIONS;     break;
-              case '>':  ret = T_INDEPENDENT;        break;
-              case '<':
-                if (this.offset >= this.regexlen)
-                    throw ex("parser.next.2", this.offset-3);
-                ch = this.regex.charAt(this.offset++);
-                if (ch == '=') {
-                    ret = T_LOOKBEHIND;
-                } else if (ch == '!') {
-                    ret = T_NEGATIVELOOKBEHIND;
-                } else
-                    throw ex("parser.next.3", this.offset-3);
-                break;
-              case '#':
-                while (this.offset < this.regexlen) {
-                    ch = this.regex.charAt(this.offset++);
-                    if (ch == ')')  break;
-                }
-                if (ch != ')')
-                    throw ex("parser.next.4", this.offset-1);
-                ret = T_COMMENT;
-                break;
-              default:
-                if (ch == '-' || 'a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z') {// Options
-                    this.offset --;
-                    ret = T_MODIFIERS;
-                    break;
-                } else if (ch == '(') {         // conditional
-                    ret = T_CONDITION;          // this.offsets points the next of '('.
-                    break;
-                }
-                throw ex("parser.next.2", this.offset-2);
-            }
-            break;
-            
-          case '\\':
-            ret = T_BACKSOLIDUS;
-            if (this.offset >= this.regexlen)
-                throw ex("parser.next.1", this.offset-1);
-            this.chardata = this.regex.charAt(this.offset++);
-            break;
-
-          default:
-            ret = T_CHAR;
-        }
-        this.nexttoken = ret;
-    }
-
-    /**
-     * regex ::= term (`|` term)*
-     * term ::= factor+
-     * factor ::= ('^' | '$' | '\A' | '\Z' | '\z' | '\b' | '\B' | '\<' | '\>'
-     *            | atom (('*' | '+' | '?' | minmax ) '?'? )?)
-     *            | '(?=' regex ')'  | '(?!' regex ')'  | '(?&lt;=' regex ')'  | '(?&lt;!' regex ')'
-     * atom ::= char | '.' | range | '(' regex ')' | '(?:' regex ')' | '\' [0-9]
-     *          | '\w' | '\W' | '\d' | '\D' | '\s' | '\S' | category-block 
-     */
-    Token parseRegex() throws ParseException {
-        Token tok = this.parseTerm();
-        Token parent = null;
-        while (this.read() == T_OR) {
-            this.next();                    // '|'
-            if (parent == null) {
-                parent = Token.createUnion();
-                parent.addChild(tok);
-                tok = parent;
-            }
-            tok.addChild(this.parseTerm());
-        }
-        return tok;
-    }
-
-    /**
-     * term ::= factor+
-     */
-    Token parseTerm() throws ParseException {
-        int ch = this.read();
-        if (ch == T_OR || ch == T_RPAREN || ch == T_EOF) {
-            return Token.createEmpty();
-        } else {
-            Token tok = this.parseFactor();
-            Token concat = null;
-            while ((ch = this.read()) != T_OR && ch != T_RPAREN && ch != T_EOF) {
-                if (concat == null) {
-                    concat = Token.createConcat();
-                    concat.addChild(tok);
-                    tok = concat;
-                }
-                concat.addChild(this.parseFactor());
-                //tok = Token.createConcat(tok, this.parseFactor());
-            }
-            return tok;
-        }
-    }
-
-    // ----------------------------------------------------------------
-
-    Token processCaret() throws ParseException {
-        this.next();
-        return Token.token_linebeginning;
-    }
-    Token processDollar() throws ParseException {
-        this.next();
-        return Token.token_lineend;
-    }
-    Token processLookahead() throws ParseException {
-        this.next();
-        Token tok = Token.createLook(Token.LOOKAHEAD, this.parseRegex());
-        if (this.read() != T_RPAREN)  throw ex("parser.factor.1", this.offset-1);
-        this.next();                            // ')'
-        return tok;
-    }
-    Token processNegativelookahead() throws ParseException {
-        this.next();
-        Token tok = Token.createLook(Token.NEGATIVELOOKAHEAD, this.parseRegex());
-        if (this.read() != T_RPAREN)  throw ex("parser.factor.1", this.offset-1);
-        this.next();                            // ')'
-        return tok;
-    }
-    Token processLookbehind() throws ParseException {
-        this.next();
-        Token tok = Token.createLook(Token.LOOKBEHIND, this.parseRegex());
-        if (this.read() != T_RPAREN)  throw ex("parser.factor.1", this.offset-1);
-        this.next();                            // ')'
-        return tok;
-    }
-    Token processNegativelookbehind() throws ParseException {
-        this.next();
-        Token tok = Token.createLook(Token.NEGATIVELOOKBEHIND, this.parseRegex());
-        if (this.read() != T_RPAREN)  throw ex("parser.factor.1", this.offset-1);
-        this.next();                    // ')'
-        return tok;
-    }
-    Token processBacksolidus_A() throws ParseException {
-        this.next();
-        return Token.token_stringbeginning;
-    }
-    Token processBacksolidus_Z() throws ParseException {
-        this.next();
-        return Token.token_stringend2;
-    }
-    Token processBacksolidus_z() throws ParseException {
-        this.next();
-        return Token.token_stringend;
-    }
-    Token processBacksolidus_b() throws ParseException {
-        this.next();
-        return Token.token_wordedge;
-    }
-    Token processBacksolidus_B() throws ParseException {
-        this.next();
-        return Token.token_not_wordedge;
-    }
-    Token processBacksolidus_lt() throws ParseException {
-        this.next();
-        return Token.token_wordbeginning;
-    }
-    Token processBacksolidus_gt() throws ParseException {
-        this.next();
-        return Token.token_wordend;
-    }
-    Token processStar(Token tok) throws ParseException {
-        this.next();
-        if (this.read() == T_QUESTION) {
-            this.next();
-            return Token.createNGClosure(tok);
-        } else
-            return Token.createClosure(tok);
-    }
-    Token processPlus(Token tok) throws ParseException {
-        // X+ -> XX*
-        this.next();
-        if (this.read() == T_QUESTION) {
-            this.next();
-            return Token.createConcat(tok, Token.createNGClosure(tok));
-        } else
-            return Token.createConcat(tok, Token.createClosure(tok));
-    }
-    Token processQuestion(Token tok) throws ParseException {
-        // X? -> X|
-        this.next();
-        Token par = Token.createUnion();
-        if (this.read() == T_QUESTION) {
-            this.next();
-            par.addChild(Token.createEmpty());
-            par.addChild(tok);
-        } else {
-            par.addChild(tok);
-            par.addChild(Token.createEmpty());
-        }
-        return par;
-    }
-    boolean checkQuestion(int off) {
-        return off < this.regexlen && this.regex.charAt(off) == '?';
-    }
-    Token processParen() throws ParseException {
-        this.next();
-        int p = this.parennumber++;
-        Token tok = Token.createParen(this.parseRegex(), p);
-        if (this.read() != T_RPAREN)  throw ex("parser.factor.1", this.offset-1);
-        this.next();                            // Skips ')'
-        return tok;
-    }
-    Token processParen2() throws ParseException {
-        this.next();
-        Token tok = Token.createParen(this.parseRegex(), 0);
-        if (this.read() != T_RPAREN)  throw ex("parser.factor.1", this.offset-1);
-        this.next();                            // Skips ')'
-        return tok;
-    }
-    Token processCondition() throws ParseException {
-                                                // this.offset points the next of '('
-        if (this.offset+1 >= this.regexlen)  throw ex("parser.factor.4", this.offset);
-                                                // Parses a condition.
-        int refno = -1;
-        Token condition = null;
-        int ch = this.regex.charAt(this.offset);
-        if ('1' <= ch && ch <= '9') {
-            refno = ch-'0';
-            this.hasBackReferences = true;
-            if (this.references == null)  this.references = new Vector();
-            this.references.addElement(new ReferencePosition(refno, this.offset));
-            this.offset ++;
-            if (this.regex.charAt(this.offset) != ')')  throw ex("parser.factor.1", this.offset);
-            this.offset ++;
-        } else {
-            if (ch == '?')  this.offset --; // Points '('.
-            this.next();
-            condition = this.parseFactor();
-            switch (condition.type) {
-              case Token.LOOKAHEAD:
-              case Token.NEGATIVELOOKAHEAD:
-              case Token.LOOKBEHIND:
-              case Token.NEGATIVELOOKBEHIND:
-                break;
-              case Token.ANCHOR:
-                if (this.read() != T_RPAREN)  throw ex("parser.factor.1", this.offset-1);
-                break;
-              default:
-                throw ex("parser.factor.5", this.offset);
-            }
-        }
-                                                // Parses yes/no-patterns.
-        this.next();
-        Token yesPattern = this.parseRegex();
-        Token noPattern = null;
-        if (yesPattern.type == Token.UNION) {
-            if (yesPattern.size() != 2)  throw ex("parser.factor.6", this.offset);
-            noPattern = yesPattern.getChild(1);
-            yesPattern = yesPattern.getChild(0);
-        }
-        if (this.read() != T_RPAREN)  throw ex("parser.factor.1", this.offset-1);
-        this.next();
-        return Token.createCondition(refno, condition, yesPattern, noPattern);
-    }
-    Token processModifiers() throws ParseException {
-                                                // this.offset points the next of '?'.
-                                                // modifiers ::= [imsw]* ('-' [imsw]*)? ':'
-        int add = 0, mask = 0, ch = -1;
-        while (this.offset < this.regexlen) {
-            ch = this.regex.charAt(this.offset);
-            int v = REUtil.getOptionValue(ch);
-            if (v == 0)  break;                 // '-' or ':'?
-            add |= v;
-            this.offset ++;
-        }
-        if (this.offset >= this.regexlen)  throw ex("parser.factor.2", this.offset-1);
-        if (ch == '-') {
-            this.offset ++;
-            while (this.offset < this.regexlen) {
-                ch = this.regex.charAt(this.offset);
-                int v = REUtil.getOptionValue(ch);
-                if (v == 0)  break;             // ':'?
-                mask |= v;
-                this.offset ++;
-            }
-            if (this.offset >= this.regexlen)  throw ex("parser.factor.2", this.offset-1);
-        }
-        Token tok;
-        if (ch == ':') {
-            this.offset ++;
-            this.next();
-            tok = Token.createModifierGroup(this.parseRegex(), add, mask);
-            if (this.read() != T_RPAREN)  throw ex("parser.factor.1", this.offset-1);
-            this.next();
-        } else if (ch == ')') {                 // such as (?-i)
-            this.offset ++;
-            this.next();
-            tok = Token.createModifierGroup(this.parseRegex(), add, mask);
-        } else
-            throw ex("parser.factor.3", this.offset);
-
-        return tok;
-    }
-    Token processIndependent() throws ParseException {
-        this.next();
-        Token tok = Token.createLook(Token.INDEPENDENT, this.parseRegex());
-        if (this.read() != T_RPAREN)  throw ex("parser.factor.1", this.offset-1);
-        this.next();                            // Skips ')'
-        return tok;
-    }
-    Token processBacksolidus_c() throws ParseException {
-        int ch2;                                // Must be in 0x0040-0x005f
-        if (this.offset >= this.regexlen
-            || ((ch2 = this.regex.charAt(this.offset++)) & 0xffe0) != 0x0040)
-            throw ex("parser.atom.1", this.offset-1);
-        this.next();
-        return Token.createChar(ch2-0x40);
-    }
-    Token processBacksolidus_C() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processBacksolidus_i() throws ParseException {
-        Token tok = Token.createChar('i');
-        this.next();
-        return tok;
-    }
-    Token processBacksolidus_I() throws ParseException {
-        throw ex("parser.process.1", this.offset);
-    }
-    Token processBacksolidus_g() throws ParseException {
-        this.next();
-        return Token.getGraphemePattern();
-    }
-    Token processBacksolidus_X() throws ParseException {
-        this.next();
-        return Token.getCombiningCharacterSequence();
-    }
-    Token processBackreference() throws ParseException {
-        int refnum = this.chardata-'0';
-        Token tok = Token.createBackReference(refnum);
-        this.hasBackReferences = true;
-        if (this.references == null)  this.references = new Vector();
-        this.references.addElement(new ReferencePosition(refnum, this.offset-2));
-        this.next();
-        return tok;
-    }
-
-    // ----------------------------------------------------------------
-
-    /**
-     * factor ::= ('^' | '$' | '\A' | '\Z' | '\z' | '\b' | '\B' | '\<' | '\>'
-     *            | atom (('*' | '+' | '?' | minmax ) '?'? )?)
-     *            | '(?=' regex ')'  | '(?!' regex ')'  | '(?&lt;=' regex ')'  | '(?&lt;!' regex ')'
-     *            | '(?#' [^)]* ')'
-     * minmax ::= '{' min (',' max?)? '}'
-     * min ::= [0-9]+
-     * max ::= [0-9]+
-     */
-    Token parseFactor() throws ParseException {        
-        int ch = this.read();
-        Token tok;
-        switch (ch) {
-          case T_CARET:         return this.processCaret();
-          case T_DOLLAR:        return this.processDollar();
-          case T_LOOKAHEAD:     return this.processLookahead();
-          case T_NEGATIVELOOKAHEAD: return this.processNegativelookahead();
-          case T_LOOKBEHIND:    return this.processLookbehind();
-          case T_NEGATIVELOOKBEHIND: return this.processNegativelookbehind();
-
-          case T_COMMENT:
-            this.next();
-            return Token.createEmpty();
-
-          case T_BACKSOLIDUS:
-            switch (this.chardata) {
-              case 'A': return this.processBacksolidus_A();
-              case 'Z': return this.processBacksolidus_Z();
-              case 'z': return this.processBacksolidus_z();
-              case 'b': return this.processBacksolidus_b();
-              case 'B': return this.processBacksolidus_B();
-              case '<': return this.processBacksolidus_lt();
-              case '>': return this.processBacksolidus_gt();
-            }
-                                                // through down
-        }
-        tok = this.parseAtom();
-        ch = this.read();
-        switch (ch) {
-          case T_STAR:  return this.processStar(tok);
-          case T_PLUS:  return this.processPlus(tok);
-          case T_QUESTION: return this.processQuestion(tok);
-          case T_CHAR:
-            if (this.chardata == '{') {
-                                                // this.offset -> next of '{'
-                int off = this.offset;
-                int min = 0, max = -1;
-                if (off >= this.regexlen)  break;
-                ch = this.regex.charAt(off++);
-                if (ch != ',' && (ch < '0' || ch > '9'))  break;
-                if (ch != ',') {                // 0-9
-                    min = ch-'0';
-                    while (off < this.regexlen
-                           && (ch = this.regex.charAt(off++)) >= '0' && ch <= '9') {
-                        min = min*10 +ch-'0';
-                        ch = -1;
-                    }
-                    if (ch < 0)  break;
-                }
-                //if (off >= this.regexlen)  break;
-                max = min;
-                if (ch == ',') {
-                    if (off >= this.regexlen
-                        || ((ch = this.regex.charAt(off++)) < '0' || ch > '9')
-                        && ch != '}')
-                        break;
-                    if (ch == '}') {
-                        max = -1;           // {min,}
-                    } else {
-                        max = ch-'0';       // {min,max}
-                        while (off < this.regexlen
-                               && (ch = this.regex.charAt(off++)) >= '0'
-                               && ch <= '9') {
-                            max = max*10 +ch-'0';
-                            ch = -1;
-                        }
-                        if (ch < 0)  break;
-                        //if (min > max)
-                        //    throw new ParseException("parseFactor(): min > max: "+min+", "+max);
-                    }
-                }
-                if (ch != '}')  break;
-                                                // off -> next of '}'
-                if (this.checkQuestion(off)) {
-                    tok = Token.createNGClosure(tok);
-                    this.offset = off+1;
-                } else {
-                    tok = Token.createClosure(tok);
-                    this.offset = off;
-                }
-                tok.setMin(min);
-                tok.setMax(max);
-                //System.err.println("CLOSURE: "+min+", "+max);
-                this.next();
-            }
-        }
-        return tok;
-    }
-
-    /**
-     * atom ::= char | '.' | char-class | '(' regex ')' | '(?:' regex ')' | '\' [0-9]
-     *          | '\w' | '\W' | '\d' | '\D' | '\s' | '\S' | category-block
-     *          | '(?>' regex ')'
-     * char ::= '\\' | '\' [efnrt] | bmp-code | character-1
-     */
-    Token parseAtom() throws ParseException {
-        int ch = this.read();
-        Token tok = null;
-        switch (ch) {
-          case T_LPAREN:        return this.processParen();
-          case T_LPAREN2:       return this.processParen2(); // '(?:'
-          case T_CONDITION:     return this.processCondition(); // '(?('
-          case T_MODIFIERS:     return this.processModifiers(); // (?modifiers ... )
-          case T_INDEPENDENT:   return this.processIndependent();
-          case T_DOT:
-            this.next();                    // Skips '.'
-            tok = Token.token_dot;
-            break;
-
-            /**
-             * char-class ::= '[' ( '^'? range ','?)+ ']'
-             * range ::= '\d' | '\w' | '\s' | category-block | range-char
-             *           | range-char '-' range-char
-             * range-char ::= '\[' | '\]' | '\\' | '\' [,-efnrtv] | bmp-code | character-2
-             * bmp-char ::= '\' 'u' [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]
-             */
-          case T_LBRACKET:      return this.parseCharacterClass(true);
-          case T_SET_OPERATIONS: return this.parseSetOperations();
-
-          case T_BACKSOLIDUS:
-            switch (this.chardata) {
-              case 'd':  case 'D':
-              case 'w':  case 'W':
-              case 's':  case 'S':
-                tok = this.getTokenForShorthand(this.chardata);
-                this.next();
-                return tok;
-
-              case 'e':  case 'f':  case 'n':  case 'r':
-              case 't':  case 'u':  case 'v':  case 'x':
-                {
-                    int ch2 = this.decodeEscaped();
-                    if (ch2 < 0x10000) {
-                        tok = Token.createChar(ch2);
-                    } else {
-                        tok = Token.createString(REUtil.decomposeToSurrogates(ch2));
-                    }
-                }
-                break;
-
-              case 'c': return this.processBacksolidus_c();
-              case 'C': return this.processBacksolidus_C();
-              case 'i': return this.processBacksolidus_i();
-              case 'I': return this.processBacksolidus_I();
-              case 'g': return this.processBacksolidus_g();
-              case 'X': return this.processBacksolidus_X();
-              case '1':  case '2':  case '3':  case '4':
-              case '5':  case '6':  case '7':  case '8':  case '9':
-                return this.processBackreference();
-
-              case 'P':
-              case 'p':
-                int pstart = this.offset;
-                tok = processBacksolidus_pP(this.chardata);
-                if (tok == null)  throw this.ex("parser.atom.5", pstart);
-                break;
-
-              default:
-                tok = Token.createChar(this.chardata);
-            }
-            this.next();
-            break;
-
-          case T_CHAR:
-            tok = Token.createChar(this.chardata);
-            int high = this.chardata;
-            this.next();
-            if (REUtil.isHighSurrogate(high)
-                && this.read() == T_CHAR && REUtil.isLowSurrogate(this.chardata)) {
-                char[] sur = new char[2];
-                sur[0] = (char)high;
-                sur[1] = (char)this.chardata;
-                tok = Token.createParen(Token.createString(new String(sur)), 0);
-                this.next();
-            }
-            break;
-
-          default:
-            throw this.ex("parser.atom.4", this.offset-1);
-        }
-        return tok;
-    }
-
-    protected RangeToken processBacksolidus_pP(int c) throws ParseException {
-        boolean positive = c == 'p';
-        this.next();
-        if (this.read() != T_CHAR)  throw this.ex("parser.atom.2", this.offset-1);
-        RangeToken tok;
-        switch (this.chardata) {
-          case 'L':                             // Letter
-            tok = Token.getRange("L", positive);  break;
-          case 'M':                             // Mark
-            tok = Token.getRange("M", positive);  break;
-          case 'N':                             // Number
-            tok = Token.getRange("N", positive);  break;
-          case 'Z':                             // Separator
-            tok = Token.getRange("Z", positive);  break;
-          case 'C':                             // Other
-            tok = Token.getRange("C", positive);  break;
-          case 'P':                             // Punctuation
-            tok = Token.getRange("P", positive);  break;
-          case 'S':                             // Symbol
-            tok = Token.getRange("S", positive);  break;
-          case '{':
-            // this.offset points the next of '{'.
-            //pstart = this.offset;
-            int namestart = this.offset;
-            int nameend = this.regex.indexOf('}', namestart);
-            if (nameend < 0)  throw this.ex("parser.atom.3", this.offset);
-            String pname = this.regex.substring(namestart, nameend);
-            this.offset = nameend+1;
-            tok = Token.getRange(pname, positive,
-                                 this.isSet(RegularExpression.XMLSCHEMA_MODE));
-            /*
-              if (this.isSet(RegularExpression.IGNORE_CASE))
-              tok = RangeToken.createCaseInsensitiveToken(tok);
-            */
-            break;
-
-          default:
-            throw this.ex("parser.atom.2", this.offset-1);
-        }
-        return tok;
-    }
-
-    int processCIinCharacterClass(RangeToken tok, int c) {
-        return this.decodeEscaped();
-    }
-
-    /**
-     * char-class ::= '[' ( '^'? range ','?)+ ']'
-     * range ::= '\d' | '\w' | '\s' | category-block | range-char
-     *           | range-char '-' range-char
-     * range-char ::= '\[' | '\]' | '\\' | '\' [,-efnrtv] | bmp-code | character-2
-     * bmp-code ::= '\' 'u' [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]
-     */
-    protected RangeToken parseCharacterClass(boolean useNrange) throws ParseException {
-        this.setContext(S_INBRACKETS);
-        this.next();                            // '['
-        boolean nrange = false;
-        RangeToken base = null;
-        RangeToken tok;
-        if (this.read() == T_CHAR && this.chardata == '^') {
-            nrange = true;
-            this.next();                        // '^'
-            if (useNrange) {
-                tok = Token.createNRange();
-            } else {
-                base = Token.createRange();
-                base.addRange(0, Token.UTF16_MAX);
-                tok = Token.createRange();
-            }
-        } else {
-            tok = Token.createRange();
-        }
-        int type;
-        boolean firstloop = true;
-        while ((type = this.read()) != T_EOF) {
-            if (type == T_CHAR && this.chardata == ']' && !firstloop)
-                break;
-            firstloop = false;
-            int c = this.chardata;
-            boolean end = false;
-            if (type == T_BACKSOLIDUS) {
-                switch (c) {
-                  case 'd':  case 'D':
-                  case 'w':  case 'W':
-                  case 's':  case 'S':
-                    tok.mergeRanges(this.getTokenForShorthand(c));
-                    end = true;
-                    break;
-
-                  case 'i':  case 'I':
-                  case 'c':  case 'C':
-                    c = this.processCIinCharacterClass(tok, c);
-                    if (c < 0)  end = true;
-                    break;
-                    
-                  case 'p':
-                  case 'P':
-                    int pstart = this.offset;
-                    RangeToken tok2 = this.processBacksolidus_pP(c);
-                    if (tok2 == null)  throw this.ex("parser.atom.5", pstart);
-                    tok.mergeRanges(tok2);
-                    end = true;
-                    break;
-
-                  default:
-                    c = this.decodeEscaped();
-                } // \ + c
-            } // backsolidus
-                                                // POSIX Character class such as [:alnum:]
-            else if (type == T_POSIX_CHARCLASS_START) {
-                int nameend = this.regex.indexOf(':', this.offset);
-                if (nameend < 0) throw this.ex("parser.cc.1", this.offset);
-                boolean positive = true;
-                if (this.regex.charAt(this.offset) == '^') {
-                    this.offset ++;
-                    positive = false;
-                }
-                String name = this.regex.substring(this.offset, nameend);
-                RangeToken range = Token.getRange(name, positive,
-                                                  this.isSet(RegularExpression.XMLSCHEMA_MODE));
-                if (range == null)  throw this.ex("parser.cc.3", this.offset);
-                tok.mergeRanges(range);
-                end = true;
-                if (nameend+1 >= this.regexlen || this.regex.charAt(nameend+1) != ']')
-                    throw this.ex("parser.cc.1", nameend);
-                this.offset = nameend+2;
-            }
-            this.next();
-            if (!end) {                         // if not shorthands...
-                if (this.read() != T_CHAR || this.chardata != '-') { // Here is no '-'.
-                    tok.addRange(c, c);
-                } else {
-                    this.next(); // Skips '-'
-                    if ((type = this.read()) == T_EOF)  throw this.ex("parser.cc.2", this.offset);
-                    if (type == T_CHAR && this.chardata == ']') {
-                        tok.addRange(c, c);
-                        tok.addRange('-', '-');
-                    } else {
-                        int rangeend = this.chardata;
-                        if (type == T_BACKSOLIDUS)
-                            rangeend = this.decodeEscaped();
-                        this.next();
-                        tok.addRange(c, rangeend);
-                    }
-                }
-            }
-            if (this.isSet(RegularExpression.SPECIAL_COMMA)
-                && this.read() == T_CHAR && this.chardata == ',')
-                this.next();
-        }
-        if (this.read() == T_EOF)
-            throw this.ex("parser.cc.2", this.offset);
-        if (!useNrange && nrange) {
-            base.subtractRanges(tok);
-            tok = base;
-        }
-        tok.sortRanges();
-        tok.compactRanges();
-        //tok.dumpRanges();
-        /*
-        if (this.isSet(RegularExpression.IGNORE_CASE))
-            tok = RangeToken.createCaseInsensitiveToken(tok);
-        */
-        this.setContext(S_NORMAL);
-        this.next();                    // Skips ']'
-
-        return tok;
-    }
-
-    /**
-     * '(?[' ... ']' (('-' | '+' | '&') '[' ... ']')? ')'
-     */
-    protected RangeToken parseSetOperations() throws ParseException {
-        RangeToken tok = this.parseCharacterClass(false);
-        int type;
-        while ((type = this.read()) != T_RPAREN) {
-            int ch = this.chardata;
-            if (type == T_CHAR && (ch == '-' || ch == '&')
-                || type == T_PLUS) {
-                this.next();
-                if (this.read() != T_LBRACKET) throw ex("parser.ope.1", this.offset-1);
-                RangeToken t2 = this.parseCharacterClass(false);
-                if (type == T_PLUS)
-                    tok.mergeRanges(t2);
-                else if (ch == '-')
-                    tok.subtractRanges(t2);
-                else if (ch == '&')
-                    tok.intersectRanges(t2);
-                else
-                    throw new RuntimeException("ASSERT");
-            } else {
-                throw ex("parser.ope.2", this.offset-1);
-            }
-        }
-        this.next();
-        return tok;
-    }
-
-    Token getTokenForShorthand(int ch) {
-        Token tok;
-        switch (ch) {
-          case 'd':
-            tok = this.isSet(RegularExpression.USE_UNICODE_CATEGORY)
-                ? Token.getRange("Nd", true) : Token.token_0to9;
-            break;
-          case 'D':
-            tok = this.isSet(RegularExpression.USE_UNICODE_CATEGORY)
-                ? Token.getRange("Nd", false) : Token.token_not_0to9;
-            break;
-          case 'w':
-            tok = this.isSet(RegularExpression.USE_UNICODE_CATEGORY)
-                ? Token.getRange("IsWord", true) : Token.token_wordchars;
-            break;
-          case 'W':
-            tok = this.isSet(RegularExpression.USE_UNICODE_CATEGORY)
-                ? Token.getRange("IsWord", false) : Token.token_not_wordchars;
-            break;
-          case 's':
-            tok = this.isSet(RegularExpression.USE_UNICODE_CATEGORY)
-                ? Token.getRange("IsSpace", true) : Token.token_spaces;
-            break;
-          case 'S':
-            tok = this.isSet(RegularExpression.USE_UNICODE_CATEGORY)
-                ? Token.getRange("IsSpace", false) : Token.token_not_spaces;
-            break;
-
-          default:
-            throw new RuntimeException("Internal Error: shorthands: \\u"+Integer.toString(ch, 16));
-        }
-        return tok;
-    }
-
-    /**
-     */
-    int decodeEscaped() throws ParseException {
-        if (this.read() != T_BACKSOLIDUS)  throw ex("parser.next.1", this.offset-1);
-        int c = this.chardata;
-        switch (c) {
-          case 'e':  c = 0x1b;  break; // ESCAPE U+001B
-          case 'f':  c = '\f';  break; // FORM FEED U+000C
-          case 'n':  c = '\n';  break; // LINE FEED U+000A
-          case 'r':  c = '\r';  break; // CRRIAGE RETURN U+000D
-          case 't':  c = '\t';  break; // HORIZONTAL TABULATION U+0009
-          //case 'v':  c = 0x0b;  break; // VERTICAL TABULATION U+000B
-          case 'x':
-            this.next();
-            if (this.read() != T_CHAR)  throw ex("parser.descape.1", this.offset-1);
-            if (this.chardata == '{') {
-                int v1 = 0;
-                int uv = 0;
-                do {
-                    this.next();
-                    if (this.read() != T_CHAR)  throw ex("parser.descape.1", this.offset-1);
-                    if ((v1 = hexChar(this.chardata)) < 0)
-                        break;
-                    if (uv > uv*16) throw ex("parser.descape.2", this.offset-1);
-                    uv = uv*16+v1;
-                } while (true);
-                if (this.chardata != '}')  throw ex("parser.descape.3", this.offset-1);
-                if (uv > Token.UTF16_MAX)  throw ex("parser.descape.4", this.offset-1);
-                c = uv;
-            } else {
-                int v1 = 0;
-                if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                    throw ex("parser.descape.1", this.offset-1);
-                int uv = v1;
-                this.next();
-                if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                    throw ex("parser.descape.1", this.offset-1);
-                uv = uv*16+v1;
-                c = uv;
-            }
-            break;
-
-          case 'u':
-            int v1 = 0;
-            this.next();
-            if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                throw ex("parser.descape.1", this.offset-1);
-            int uv = v1;
-            this.next();
-            if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                throw ex("parser.descape.1", this.offset-1);
-            uv = uv*16+v1;
-            this.next();
-            if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                throw ex("parser.descape.1", this.offset-1);
-            uv = uv*16+v1;
-            this.next();
-            if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                throw ex("parser.descape.1", this.offset-1);
-            uv = uv*16+v1;
-            c = uv;
-            break;
-
-          case 'v':
-            this.next();
-            if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                throw ex("parser.descape.1", this.offset-1);
-            uv = v1;
-            this.next();
-            if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                throw ex("parser.descape.1", this.offset-1);
-            uv = uv*16+v1;
-            this.next();
-            if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                throw ex("parser.descape.1", this.offset-1);
-            uv = uv*16+v1;
-            this.next();
-            if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                throw ex("parser.descape.1", this.offset-1);
-            uv = uv*16+v1;
-            this.next();
-            if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                throw ex("parser.descape.1", this.offset-1);
-            uv = uv*16+v1;
-            this.next();
-            if (this.read() != T_CHAR || (v1 = hexChar(this.chardata)) < 0)
-                throw ex("parser.descape.1", this.offset-1);
-            uv = uv*16+v1;
-            if (uv > Token.UTF16_MAX)  throw ex("parser.descappe.4", this.offset-1);
-            c = uv;
-            break;
-          case 'A':
-          case 'Z':
-          case 'z':
-            throw ex("parser.descape.5", this.offset-2);
-          default:
-        }
-        return c;
-    }
-
-    static private final int hexChar(int ch) {
-        if (ch < '0')  return -1;
-        if (ch > 'f')  return -1;
-        if (ch <= '9')  return ch-'0';
-        if (ch < 'A')  return -1;
-        if (ch <= 'F')  return ch-'A'+10;
-        if (ch < 'a')  return -1;
-        return ch-'a'+10;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/RegularExpression.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/RegularExpression.java
deleted file mode 100644
index 864382d..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/RegularExpression.java
+++ /dev/null
@@ -1,3188 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.regex;
-
-import java.text.CharacterIterator;
-
-/**
- * A regular expression matching engine using Non-deterministic Finite Automaton (NFA).
- * This engine does not conform to the POSIX regular expression.
- *
- * <hr width="50%">
- * <h3>How to use</h3>
- *
- * <dl>
- *   <dt>A. Standard way
- *   <dd>
- * <pre>
- * RegularExpression re = new RegularExpression(<var>regex</var>);
- * if (re.matches(text)) { ... }
- * </pre>
- *
- *   <dt>B. Capturing groups
- *   <dd>
- * <pre>
- * RegularExpression re = new RegularExpression(<var>regex</var>);
- * Match match = new Match();
- * if (re.matches(text, match)) {
- *     ... // You can refer captured texts with methods of the <code>Match</code> class.
- * }
- * </pre>
- *
- * </dl>
- *
- * <h4>Case-insensitive matching</h4>
- * <pre>
- * RegularExpression re = new RegularExpression(<var>regex</var>, "i");
- * if (re.matches(text) >= 0) { ...}
- * </pre>
- *
- * <h4>Options</h4>
- * <p>You can specify options to <a href="#RegularExpression(java.lang.String, java.lang.String)"><code>RegularExpression(</code><var>regex</var><code>, </code><var>options</var><code>)</code></a>
- *    or <a href="#setPattern(java.lang.String, java.lang.String)"><code>setPattern(</code><var>regex</var><code>, </code><var>options</var><code>)</code></a>.
- *    This <var>options</var> parameter consists of the following characters.
- * </p>
- * <dl>
- *   <dt><a name="I_OPTION"><code>"i"</code></a>
- *   <dd>This option indicates case-insensitive matching.
- *   <dt><a name="M_OPTION"><code>"m"</code></a>
- *   <dd class="REGEX"><kbd>^</kbd> and <kbd>$</kbd> consider the EOL characters within the text.
- *   <dt><a name="S_OPTION"><code>"s"</code></a>
- *   <dd class="REGEX"><kbd>.</kbd> matches any one character.
- *   <dt><a name="U_OPTION"><code>"u"</code></a>
- *   <dd class="REGEX">Redefines <Kbd>\d \D \w \W \s \S \b \B \&lt; \></kbd> as becoming to Unicode.
- *   <dt><a name="W_OPTION"><code>"w"</code></a>
- *   <dd class="REGEX">By this option, <kbd>\b \B \&lt; \></kbd> are processed with the method of
- *      'Unicode Regular Expression Guidelines' Revision 4.
- *      When "w" and "u" are specified at the same time,
- *      <kbd>\b \B \&lt; \></kbd> are processed for the "w" option.
- *   <dt><a name="COMMA_OPTION"><code>","</code></a>
- *   <dd>The parser treats a comma in a character class as a range separator.
- *      <kbd class="REGEX">[a,b]</kbd> matches <kbd>a</kbd> or <kbd>,</kbd> or <kbd>b</kbd> without this option.
- *      <kbd class="REGEX">[a,b]</kbd> matches <kbd>a</kbd> or <kbd>b</kbd> with this option.
- *
- *   <dt><a name="X_OPTION"><code>"X"</code></a>
- *   <dd class="REGEX">
- *       By this option, the engine confoms to <a href="http://www.w3.org/TR/2000/WD-xmlschema-2-20000407/#regexs">XML Schema: Regular Expression</a>.
- *       The <code>match()</code> method does not do subsring matching
- *       but entire string matching.
- *
- * </dl>
- * 
- * <hr width="50%">
- * <h3>Syntax</h3>
- * <table border="1" bgcolor="#ddeeff">
- *   <tr>
- *    <td>
- *     <h4>Differences from the Perl 5 regular expression</h4>
- *     <ul>
- *      <li>There is 6-digit hexadecimal character representation  (<kbd>\u005cv</kbd><var>HHHHHH</var>.)
- *      <li>Supports subtraction, union, and intersection operations for character classes.
- *      <li>Not supported: <kbd>\</kbd><var>ooo</var> (Octal character representations),
- *          <Kbd>\G</kbd>, <kbd>\C</kbd>, <kbd>\l</kbd><var>c</var>,
- *          <kbd>\u005c u</kbd><var>c</var>, <kbd>\L</kbd>, <kbd>\U</kbd>,
- *          <kbd>\E</kbd>, <kbd>\Q</kbd>, <kbd>\N{</kbd><var>name</var><kbd>}</kbd>,
- *          <Kbd>(?{<kbd><var>code</var><kbd>})</kbd>, <Kbd>(??{<kbd><var>code</var><kbd>})</kbd>
- *     </ul>
- *    </td>
- *   </tr>
- * </table>
- *
- * <P>Meta characters are `<KBD>. * + ? { [ ( ) | \ ^ $</KBD>'.</P>
- * <ul>
- *   <li>Character
- *     <dl>
- *       <dt class="REGEX"><kbd>.</kbd> (A period)
- *       <dd>Matches any one character except the following characters.
- *       <dd>LINE FEED (U+000A), CARRIAGE RETURN (U+000D),
- *           PARAGRAPH SEPARATOR (U+2029), LINE SEPARATOR (U+2028)
- *       <dd>This expression matches one code point in Unicode. It can match a pair of surrogates.
- *       <dd>When <a href="#S_OPTION">the "s" option</a> is specified,
- *           it matches any character including the above four characters.
- *
- *       <dt class="REGEX"><Kbd>\e \f \n \r \t</kbd>
- *       <dd>Matches ESCAPE (U+001B), FORM FEED (U+000C), LINE FEED (U+000A),
- *           CARRIAGE RETURN (U+000D), HORIZONTAL TABULATION (U+0009)
- *
- *       <dt class="REGEX"><kbd>\c</kbd><var>C</var>
- *       <dd>Matches a control character.
- *           The <var>C</var> must be one of '<kbd>@</kbd>', '<kbd>A</kbd>'-'<kbd>Z</kbd>',
- *           '<kbd>[</kbd>', '<kbd>\u005c</kbd>', '<kbd>]</kbd>', '<kbd>^</kbd>', '<kbd>_</kbd>'.
- *           It matches a control character of which the character code is less than
- *           the character code of the <var>C</var> by 0x0040.
- *       <dd class="REGEX">For example, a <kbd>\cJ</kbd> matches a LINE FEED (U+000A),
- *           and a <kbd>\c[</kbd> matches an ESCAPE (U+001B).
- *
- *       <dt class="REGEX">a non-meta character
- *       <dd>Matches the character.
- *
- *       <dt class="REGEX"><KBD>\</KBD> + a meta character
- *       <dd>Matches the meta character.
- *
- *       <dt class="REGEX"><kbd>\u005cx</kbd><var>HH</var> <kbd>\u005cx{</kbd><var>HHHH</var><kbd>}</kbd>
- *       <dd>Matches a character of which code point is <var>HH</var> (Hexadecimal) in Unicode.
- *           You can write just 2 digits for <kbd>\u005cx</kbd><var>HH</var>, and
- *           variable length digits for <kbd>\u005cx{</kbd><var>HHHH</var><kbd>}</kbd>.
- *
- *       <!--
- *       <dt class="REGEX"><kbd>\u005c u</kbd><var>HHHH</var>
- *       <dd>Matches a character of which code point is <var>HHHH</var> (Hexadecimal) in Unicode.
- *       -->
- *
- *       <dt class="REGEX"><kbd>\u005cv</kbd><var>HHHHHH</var>
- *       <dd>Matches a character of which code point is <var>HHHHHH</var> (Hexadecimal) in Unicode.
- *
- *       <dt class="REGEX"><kbd>\g</kbd>
- *       <dd>Matches a grapheme.
- *       <dd class="REGEX">It is equivalent to <kbd>(?[\p{ASSIGNED}]-[\p{M}\p{C}])?(?:\p{M}|[\x{094D}\x{09CD}\x{0A4D}\x{0ACD}\x{0B3D}\x{0BCD}\x{0C4D}\x{0CCD}\x{0D4D}\x{0E3A}\x{0F84}]\p{L}|[\x{1160}-\x{11A7}]|[\x{11A8}-\x{11FF}]|[\x{FF9E}\x{FF9F}])*</kbd>
- *
- *       <dt class="REGEX"><kbd>\X</kbd>
- *       <dd class="REGEX">Matches a combining character sequence.
- *       It is equivalent to <kbd>(?:\PM\pM*)</kbd>
- *     </dl>
- *   </li>
- *
- *   <li>Character class
- *     <dl>
-+ *       <dt class="REGEX"><kbd>[</kbd><var>R<sub>1</sub></var><var>R<sub>2</sub></var><var>...</var><var>R<sub>n</sub></var><kbd>]</kbd> (without <a href="#COMMA_OPTION">"," option</a>)
-+ *       <dt class="REGEX"><kbd>[</kbd><var>R<sub>1</sub></var><kbd>,</kbd><var>R<sub>2</sub></var><kbd>,</kbd><var>...</var><kbd>,</kbd><var>R<sub>n</sub></var><kbd>]</kbd> (with <a href="#COMMA_OPTION">"," option</a>)
- *       <dd>Positive character class.  It matches a character in ranges.
- *       <dd><var>R<sub>n</sub></var>:
- *       <ul>
- *         <li class="REGEX">A character (including <Kbd>\e \f \n \r \t</kbd> <kbd>\u005cx</kbd><var>HH</var> <kbd>\u005cx{</kbd><var>HHHH</var><kbd>}</kbd> <!--kbd>\u005c u</kbd><var>HHHH</var--> <kbd>\u005cv</kbd><var>HHHHHH</var>)
- *             <p>This range matches the character.
- *         <li class="REGEX"><var>C<sub>1</sub></var><kbd>-</kbd><var>C<sub>2</sub></var>
- *             <p>This range matches a character which has a code point that is >= <var>C<sub>1</sub></var>'s code point and &lt;= <var>C<sub>2</sub></var>'s code point.
-+ *         <li class="REGEX">A POSIX character class: <Kbd>[:alpha:] [:alnum:] [:ascii:] [:cntrl:] [:digit:] [:graph:] [:lower:] [:print:] [:punct:] [:space:] [:upper:] [:xdigit:]</kbd>,
-+ *             and negative POSIX character classes in Perl like <kbd>[:^alpha:]</kbd>
- *             <p>...
- *         <li class="REGEX"><kbd>\d \D \s \S \w \W \p{</kbd><var>name</var><kbd>} \P{</kbd><var>name</var><kbd>}</kbd>
- *             <p>These expressions specifies the same ranges as the following expressions.
- *       </ul>
- *       <p class="REGEX">Enumerated ranges are merged (union operation).
- *          <kbd>[a-ec-z]</kbd> is equivalent to <kbd>[a-z]</kbd>
- *
- *       <dt class="REGEX"><kbd>[^</kbd><var>R<sub>1</sub></var><var>R<sub>2</sub></var><var>...</var><var>R<sub>n</sub></var><kbd>]</kbd> (without a <a href="#COMMA_OPTION">"," option</a>)
- *       <dt class="REGEX"><kbd>[^</kbd><var>R<sub>1</sub></var><kbd>,</kbd><var>R<sub>2</sub></var><kbd>,</kbd><var>...</var><kbd>,</kbd><var>R<sub>n</sub></var><kbd>]</kbd> (with a <a href="#COMMA_OPTION">"," option</a>)
- *       <dd>Negative character class.  It matches a character not in ranges.
- *
- *       <dt class="REGEX"><kbd>(?[</kbd><var>ranges</var><kbd>]</kbd><var>op</var><kbd>[</kbd><var>ranges</var><kbd>]</kbd><var>op</var><kbd>[</kbd><var>ranges</var><kbd>]</kbd> ... <Kbd>)</kbd>
- *       (<var>op</var> is <kbd>-</kbd> or <kbd>+</kbd> or <kbd>&</kbd>.)
- *       <dd>Subtraction or union or intersection for character classes.
- *       <dd class="REGEX">For exmaple, <kbd>(?[A-Z]-[CF])</kbd> is equivalent to <kbd>[A-BD-EG-Z]</kbd>, and <kbd>(?[0x00-0x7f]-[K]&[\p{Lu}])</kbd> is equivalent to <kbd>[A-JL-Z]</kbd>.
- *       <dd>The result of this operations is a <u>positive character class</u>
- *           even if an expression includes any negative character classes.
- *           You have to take care on this in case-insensitive matching.
- *           For instance, <kbd>(?[^b])</kbd> is equivalent to <kbd>[\x00-ac-\x{10ffff}]</kbd>,
- *           which is equivalent to <kbd>[^b]</kbd> in case-sensitive matching.
- *           But, in case-insensitive matching, <kbd>(?[^b])</kbd> matches any character because
- *           it includes '<kbd>B</kbd>' and '<kbd>B</kbd>' matches '<kbd>b</kbd>'
- *           though <kbd>[^b]</kbd> is processed as <kbd>[^Bb]</kbd>.
- *
- *       <dt class="REGEX"><kbd>[</kbd><var>R<sub>1</sub>R<sub>2</sub>...</var><kbd>-[</kbd><var>R<sub>n</sub>R<sub>n+1</sub>...</var><kbd>]]</kbd> (with an <a href="#X_OPTION">"X" option</a>)</dt>
- *       <dd>Character class subtraction for the XML Schema.
- *           You can use this syntax when you specify an <a href="#X_OPTION">"X" option</a>.
- *           
- *       <dt class="REGEX"><kbd>\d</kbd>
- *       <dd class="REGEX">Equivalent to <kbd>[0-9]</kbd>.
- *       <dd>When <a href="#U_OPTION">a "u" option</a> is set, it is equivalent to
- *           <span class="REGEX"><kbd>\p{Nd}</kbd></span>.
- *
- *       <dt class="REGEX"><kbd>\D</kbd>
- *       <dd class="REGEX">Equivalent to <kbd>[^0-9]</kbd>
- *       <dd>When <a href="#U_OPTION">a "u" option</a> is set, it is equivalent to
- *           <span class="REGEX"><kbd>\P{Nd}</kbd></span>.
- *
- *       <dt class="REGEX"><kbd>\s</kbd>
- *       <dd class="REGEX">Equivalent to <kbd>[ \f\n\r\t]</kbd>
- *       <dd>When <a href="#U_OPTION">a "u" option</a> is set, it is equivalent to
- *           <span class="REGEX"><kbd>[ \f\n\r\t\p{Z}]</kbd></span>.
- *
- *       <dt class="REGEX"><kbd>\S</kbd>
- *       <dd class="REGEX">Equivalent to <kbd>[^ \f\n\r\t]</kbd>
- *       <dd>When <a href="#U_OPTION">a "u" option</a> is set, it is equivalent to
- *           <span class="REGEX"><kbd>[^ \f\n\r\t\p{Z}]</kbd></span>.
- *
- *       <dt class="REGEX"><kbd>\w</kbd>
- *       <dd class="REGEX">Equivalent to <kbd>[a-zA-Z0-9_]</kbd>
- *       <dd>When <a href="#U_OPTION">a "u" option</a> is set, it is equivalent to
- *           <span class="REGEX"><kbd>[\p{Lu}\p{Ll}\p{Lo}\p{Nd}_]</kbd></span>.
- *
- *       <dt class="REGEX"><kbd>\W</kbd>
- *       <dd class="REGEX">Equivalent to <kbd>[^a-zA-Z0-9_]</kbd>
- *       <dd>When <a href="#U_OPTION">a "u" option</a> is set, it is equivalent to
- *           <span class="REGEX"><kbd>[^\p{Lu}\p{Ll}\p{Lo}\p{Nd}_]</kbd></span>.
- *
- *       <dt class="REGEX"><kbd>\p{</kbd><var>name</var><kbd>}</kbd>
- *       <dd>Matches one character in the specified General Category (the second field in <a href="ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt"><kbd>UnicodeData.txt</kbd></a>) or the specified <a href="ftp://ftp.unicode.org/Public/UNIDATA/Blocks.txt">Block</a>.
- *       The following names are available:
- *       <dl>
- *         <dt>Unicode General Categories:
- *         <dd><kbd>
- *       L, M, N, Z, C, P, S, Lu, Ll, Lt, Lm, Lo, Mn, Me, Mc, Nd, Nl, No, Zs, Zl, Zp,
- *       Cc, Cf, Cn, Co, Cs, Pd, Ps, Pe, Pc, Po, Sm, Sc, Sk, So,
- *         </kbd>
- *         <dd>(Currently the Cn category includes U+10000-U+10FFFF characters)
- *         <dt>Unicode Blocks:
- *         <dd><kbd>
- *       Basic Latin, Latin-1 Supplement, Latin Extended-A, Latin Extended-B,
- *       IPA Extensions, Spacing Modifier Letters, Combining Diacritical Marks, Greek,
- *       Cyrillic, Armenian, Hebrew, Arabic, Devanagari, Bengali, Gurmukhi, Gujarati,
- *       Oriya, Tamil, Telugu, Kannada, Malayalam, Thai, Lao, Tibetan, Georgian,
- *       Hangul Jamo, Latin Extended Additional, Greek Extended, General Punctuation,
- *       Superscripts and Subscripts, Currency Symbols, Combining Marks for Symbols,
- *       Letterlike Symbols, Number Forms, Arrows, Mathematical Operators,
- *       Miscellaneous Technical, Control Pictures, Optical Character Recognition,
- *       Enclosed Alphanumerics, Box Drawing, Block Elements, Geometric Shapes,
- *       Miscellaneous Symbols, Dingbats, CJK Symbols and Punctuation, Hiragana,
- *       Katakana, Bopomofo, Hangul Compatibility Jamo, Kanbun,
- *       Enclosed CJK Letters and Months, CJK Compatibility, CJK Unified Ideographs,
- *       Hangul Syllables, High Surrogates, High Private Use Surrogates, Low Surrogates,
- *       Private Use, CJK Compatibility Ideographs, Alphabetic Presentation Forms,
- *       Arabic Presentation Forms-A, Combining Half Marks, CJK Compatibility Forms,
- *       Small Form Variants, Arabic Presentation Forms-B, Specials,
- *       Halfwidth and Fullwidth Forms
- *         </kbd>
- *         <dt>Others:
- *         <dd><kbd>ALL</kbd> (Equivalent to <kbd>[\u005cu0000-\u005cv10FFFF]</kbd>)
- *         <dd><kbd>ASSGINED</kbd> (<kbd>\p{ASSIGNED}</kbd> is equivalent to <kbd>\P{Cn}</kbd>)
- *         <dd><kbd>UNASSGINED</kbd>
- *             (<kbd>\p{UNASSIGNED}</kbd> is equivalent to <kbd>\p{Cn}</kbd>)
- *       </dl>
- *
- *       <dt class="REGEX"><kbd>\P{</kbd><var>name</var><kbd>}</kbd>
- *       <dd>Matches one character not in the specified General Category or the specified Block.
- *     </dl>
- *   </li>
- *
- *   <li>Selection and Quantifier
- *     <dl>
- *       <dt class="REGEX"><VAR>X</VAR><kbd>|</kbd><VAR>Y</VAR>
- *       <dd>...
- *
- *       <dt class="REGEX"><VAR>X</VAR><kbd>*</KBD>
- *       <dd>Matches 0 or more <var>X</var>.
- *
- *       <dt class="REGEX"><VAR>X</VAR><kbd>+</KBD>
- *       <dd>Matches 1 or more <var>X</var>.
- *
- *       <dt class="REGEX"><VAR>X</VAR><kbd>?</KBD>
- *       <dd>Matches 0 or 1 <var>X</var>.
- *
- *       <dt class="REGEX"><var>X</var><kbd>{</kbd><var>number</var><kbd>}</kbd>
- *       <dd>Matches <var>number</var> times.
- *
- *       <dt class="REGEX"><var>X</var><kbd>{</kbd><var>min</var><kbd>,}</kbd>
- *       <dd>...
- *
- *       <dt class="REGEX"><var>X</var><kbd>{</kbd><var>min</var><kbd>,</kbd><var>max</var><kbd>}</kbd>
- *       <dd>...
- *
- *       <dt class="REGEX"><VAR>X</VAR><kbd>*?</kbd>
- *       <dt class="REGEX"><VAR>X</VAR><kbd>+?</kbd>
- *       <dt class="REGEX"><VAR>X</VAR><kbd>??</kbd>
- *       <dt class="REGEX"><var>X</var><kbd>{</kbd><var>min</var><kbd>,}?</kbd>
- *       <dt class="REGEX"><var>X</var><kbd>{</kbd><var>min</var><kbd>,</kbd><var>max</var><kbd>}?</kbd>
- *       <dd>Non-greedy matching.
- *     </dl>
- *   </li>
- *
- *   <li>Grouping, Capturing, and Back-reference
- *     <dl>
- *       <dt class="REGEX"><KBD>(?:</kbd><VAR>X</VAR><kbd>)</KBD>
- *       <dd>Grouping. "<KBD>foo+</KBD>" matches "<KBD>foo</KBD>" or "<KBD>foooo</KBD>".
- *       If you want it matches "<KBD>foofoo</KBD>" or "<KBD>foofoofoo</KBD>",
- *       you have to write "<KBD>(?:foo)+</KBD>".
- *
- *       <dt class="REGEX"><KBD>(</kbd><VAR>X</VAR><kbd>)</KBD>
- *       <dd>Grouping with capturing.
- * It make a group and applications can know
- * where in target text a group matched with methods of a <code>Match</code> instance
- * after <code><a href="#matches(java.lang.String, org.apache.xerces.utils.regex.Match)">matches(String,Match)</a></code>.
- * The 0th group means whole of this regular expression.
- * The <VAR>N</VAR>th gorup is the inside of the <VAR>N</VAR>th left parenthesis.
- * 
- *   <p>For instance, a regular expression is
- *   "<FONT color=blue><KBD> *([^&lt;:]*) +&lt;([^&gt;]*)&gt; *</KBD></FONT>"
- *   and target text is
- *   "<FONT color=red><KBD>From: TAMURA Kent &lt;kent@trl.ibm.co.jp&gt;</KBD></FONT>":
- *   <ul>
- *     <li><code>Match.getCapturedText(0)</code>:
- *     "<FONT color=red><KBD> TAMURA Kent &lt;kent@trl.ibm.co.jp&gt;</KBD></FONT>"
- *     <li><code>Match.getCapturedText(1)</code>: "<FONT color=red><KBD>TAMURA Kent</KBD></FONT>"
- *     <li><code>Match.getCapturedText(2)</code>: "<FONT color=red><KBD>kent@trl.ibm.co.jp</KBD></FONT>"
- *   </ul>
- *
- *       <dt class="REGEX"><kbd>\1 \2 \3 \4 \5 \6 \7 \8 \9</kbd>
- *       <dd>
- *
- *       <dt class="REGEX"><kbd>(?></kbd><var>X</var><kbd>)</kbd>
- *       <dd>Independent expression group. ................
- *
- *       <dt class="REGEX"><kbd>(?</kbd><var>options</var><kbd>:</kbd><var>X</var><kbd>)</kbd>
- *       <dt class="REGEX"><kbd>(?</kbd><var>options</var><kbd>-</kbd><var>options2</var><kbd>:</kbd><var>X</var><kbd>)</kbd>
- *       <dd>............................
- *       <dd>The <var>options</var> or the <var>options2</var> consists of 'i' 'm' 's' 'w'.
- *           Note that it can not contain 'u'.
- *
- *       <dt class="REGEX"><kbd>(?</kbd><var>options</var><kbd>)</kbd>
- *       <dt class="REGEX"><kbd>(?</kbd><var>options</var><kbd>-</kbd><var>options2</var><kbd>)</kbd>
- *       <dd>......
- *       <dd>These expressions must be at the beginning of a group.
- *     </dl>
- *   </li>
- *
- *   <li>Anchor
- *     <dl>
- *       <dt class="REGEX"><kbd>\A</kbd>
- *       <dd>Matches the beginnig of the text.
- *
- *       <dt class="REGEX"><kbd>\Z</kbd>
- *       <dd>Matches the end of the text, or before an EOL character at the end of the text,
- *           or CARRIAGE RETURN + LINE FEED at the end of the text.
- *
- *       <dt class="REGEX"><kbd>\z</kbd>
- *       <dd>Matches the end of the text.
- *
- *       <dt class="REGEX"><kbd>^</kbd>
- *       <dd>Matches the beginning of the text.  It is equivalent to <span class="REGEX"><Kbd>\A</kbd></span>.
- *       <dd>When <a href="#M_OPTION">a "m" option</a> is set,
- *           it matches the beginning of the text, or after one of EOL characters (
- *           LINE FEED (U+000A), CARRIAGE RETURN (U+000D), LINE SEPARATOR (U+2028),
- *           PARAGRAPH SEPARATOR (U+2029).)
- *
- *       <dt class="REGEX"><kbd>$</kbd>
- *       <dd>Matches the end of the text, or before an EOL character at the end of the text,
- *           or CARRIAGE RETURN + LINE FEED at the end of the text.
- *       <dd>When <a href="#M_OPTION">a "m" option</a> is set,
- *           it matches the end of the text, or before an EOL character.
- *
- *       <dt class="REGEX"><kbd>\b</kbd>
- *       <dd>Matches word boundary.
- *           (See <a href="#W_OPTION">a "w" option</a>)
- *
- *       <dt class="REGEX"><kbd>\B</kbd>
- *       <dd>Matches non word boundary.
- *           (See <a href="#W_OPTION">a "w" option</a>)
- *
- *       <dt class="REGEX"><kbd>\&lt;</kbd>
- *       <dd>Matches the beginning of a word.
- *           (See <a href="#W_OPTION">a "w" option</a>)
- *
- *       <dt class="REGEX"><kbd>\&gt;</kbd>
- *       <dd>Matches the end of a word.
- *           (See <a href="#W_OPTION">a "w" option</a>)
- *     </dl>
- *   </li>
- *   <li>Lookahead and lookbehind
- *     <dl>
- *       <dt class="REGEX"><kbd>(?=</kbd><var>X</var><kbd>)</kbd>
- *       <dd>Lookahead.
- *
- *       <dt class="REGEX"><kbd>(?!</kbd><var>X</var><kbd>)</kbd>
- *       <dd>Negative lookahead.
- *
- *       <dt class="REGEX"><kbd>(?&lt;=</kbd><var>X</var><kbd>)</kbd>
- *       <dd>Lookbehind.
- *       <dd>(Note for text capturing......)
- *
- *       <dt class="REGEX"><kbd>(?&lt;!</kbd><var>X</var><kbd>)</kbd>
- *       <dd>Negative lookbehind.
- *     </dl>
- *   </li>
- *
- *   <li>Misc.
- *     <dl>
- *       <dt class="REGEX"><kbd>(?(</Kbd><var>condition</var><Kbd>)</kbd><var>yes-pattern</var><kbd>|</kbd><var>no-pattern</var><kbd>)</kbd>,
- *       <dt class="REGEX"><kbd>(?(</kbd><var>condition</var><kbd>)</kbd><var>yes-pattern</var><kbd>)</kbd>
- *       <dd>......
- *       <dt class="REGEX"><kbd>(?#</kbd><var>comment</var><kbd>)</kbd>
- *       <dd>Comment.  A comment string consists of characters except '<kbd>)</kbd>'.
- *           You can not write comments in character classes and before quantifiers.
- *     </dl>
- *   </li>
- * </ul>
- *
- *
- * <hr width="50%">
- * <h3>BNF for the regular expression</h3>
- * <pre>
- * regex ::= ('(?' options ')')? term ('|' term)*
- * term ::= factor+
- * factor ::= anchors | atom (('*' | '+' | '?' | minmax ) '?'? )?
- *            | '(?#' [^)]* ')'
- * minmax ::= '{' ([0-9]+ | [0-9]+ ',' | ',' [0-9]+ | [0-9]+ ',' [0-9]+) '}'
- * atom ::= char | '.' | char-class | '(' regex ')' | '(?:' regex ')' | '\' [0-9]
- *          | '\w' | '\W' | '\d' | '\D' | '\s' | '\S' | category-block | '\X'
- *          | '(?>' regex ')' | '(?' options ':' regex ')'
- *          | '(?' ('(' [0-9] ')' | '(' anchors ')' | looks) term ('|' term)? ')'
- * options ::= [imsw]* ('-' [imsw]+)?
- * anchors ::= '^' | '$' | '\A' | '\Z' | '\z' | '\b' | '\B' | '\&lt;' | '\>'
- * looks ::= '(?=' regex ')'  | '(?!' regex ')'
- *           | '(?&lt;=' regex ')' | '(?&lt;!' regex ')'
- * char ::= '\\' | '\' [efnrtv] | '\c' [@-_] | code-point | character-1
- * category-block ::= '\' [pP] category-symbol-1
- *                    | ('\p{' | '\P{') (category-symbol | block-name
- *                                       | other-properties) '}'
- * category-symbol-1 ::= 'L' | 'M' | 'N' | 'Z' | 'C' | 'P' | 'S'
- * category-symbol ::= category-symbol-1 | 'Lu' | 'Ll' | 'Lt' | 'Lm' | Lo'
- *                     | 'Mn' | 'Me' | 'Mc' | 'Nd' | 'Nl' | 'No'
- *                     | 'Zs' | 'Zl' | 'Zp' | 'Cc' | 'Cf' | 'Cn' | 'Co' | 'Cs'
- *                     | 'Pd' | 'Ps' | 'Pe' | 'Pc' | 'Po'
- *                     | 'Sm' | 'Sc' | 'Sk' | 'So'
- * block-name ::= (See above)
- * other-properties ::= 'ALL' | 'ASSIGNED' | 'UNASSIGNED'
- * character-1 ::= (any character except meta-characters)
- *
- * char-class ::= '[' ranges ']'
- *                | '(?[' ranges ']' ([-+&] '[' ranges ']')? ')'
- * ranges ::= '^'? (range <a href="#COMMA_OPTION">','?</a>)+
- * range ::= '\d' | '\w' | '\s' | '\D' | '\W' | '\S' | category-block
- *           | range-char | range-char '-' range-char
- * range-char ::= '\[' | '\]' | '\\' | '\' [,-efnrtv] | code-point | character-2
- * code-point ::= '\x' hex-char hex-char
- *                | '\x{' hex-char+ '}'
- * <!--               | '\u005c u' hex-char hex-char hex-char hex-char
- * -->               | '\v' hex-char hex-char hex-char hex-char hex-char hex-char
- * hex-char ::= [0-9a-fA-F]
- * character-2 ::= (any character except \[]-,)
- * </pre>
- *
- * <hr width="50%">
- * <h3>TODO</h3>
- * <ul>
- *   <li><a href="http://www.unicode.org/unicode/reports/tr18/">Unicode Regular Expression Guidelines</a>
- *     <ul>
- *       <li>2.4 Canonical Equivalents
- *       <li>Level 3
- *     </ul>
- *   <li>Parsing performance
- * </ul>
- *
- * <hr width="50%">
- *
- * @author TAMURA Kent &lt;kent@trl.ibm.co.jp&gt;
- * @version $Id: RegularExpression.java,v 1.3 2003/09/24 23:31:06 ericvas Exp $
- */
-public class RegularExpression implements java.io.Serializable {
-    static final boolean DEBUG = false;
-
-    /**
-     * Compiles a token tree into an operation flow.
-     */
-    private synchronized void compile(Token tok) {
-        if (this.operations != null)
-            return;
-        this.numberOfClosures = 0;
-        this.operations = this.compile(tok, null, false);
-    }
-
-    /**
-     * Converts a token to an operation.
-     */
-    private Op compile(Token tok, Op next, boolean reverse) {
-        Op ret;
-        switch (tok.type) {
-        case Token.DOT:
-            ret = Op.createDot();
-            ret.next = next;
-            break;
-
-        case Token.CHAR:
-            ret = Op.createChar(tok.getChar());
-            ret.next = next;
-            break;
-
-        case Token.ANCHOR:
-            ret = Op.createAnchor(tok.getChar());
-            ret.next = next;
-            break;
-
-        case Token.RANGE:
-        case Token.NRANGE:
-            ret = Op.createRange(tok);
-            ret.next = next;
-            break;
-
-        case Token.CONCAT:
-            ret = next;
-            if (!reverse) {
-                for (int i = tok.size()-1;  i >= 0;  i --) {
-                    ret = compile(tok.getChild(i), ret, false);
-                }
-            } else {
-                for (int i = 0;  i < tok.size();  i ++) {
-                    ret = compile(tok.getChild(i), ret, true);
-                }
-            }
-            break;
-
-        case Token.UNION:
-            Op.UnionOp uni = Op.createUnion(tok.size());
-            for (int i = 0;  i < tok.size();  i ++) {
-                uni.addElement(compile(tok.getChild(i), next, reverse));
-            }
-            ret = uni;                          // ret.next is null.
-            break;
-
-        case Token.CLOSURE:
-        case Token.NONGREEDYCLOSURE:
-            Token child = tok.getChild(0);
-            int min = tok.getMin();
-            int max = tok.getMax();
-            if (min >= 0 && min == max) { // {n}
-                ret = next;
-                for (int i = 0; i < min;  i ++) {
-                    ret = compile(child, ret, reverse);
-                }
-                break;
-            }
-            if (min > 0 && max > 0)
-                max -= min;
-            if (max > 0) {
-                // X{2,6} -> XX(X(X(XX?)?)?)?
-                ret = next;
-                for (int i = 0;  i < max;  i ++) {
-                    Op.ChildOp q = Op.createQuestion(tok.type == Token.NONGREEDYCLOSURE);
-                    q.next = next;
-                    q.setChild(compile(child, ret, reverse));
-                    ret = q;
-                }
-            } else {
-                Op.ChildOp op;
-                if (tok.type == Token.NONGREEDYCLOSURE) {
-                    op = Op.createNonGreedyClosure();
-                } else {                        // Token.CLOSURE
-                    if (child.getMinLength() == 0)
-                        op = Op.createClosure(this.numberOfClosures++);
-                    else
-                        op = Op.createClosure(-1);
-                }
-                op.next = next;
-                op.setChild(compile(child, op, reverse));
-                ret = op;
-            }
-            if (min > 0) {
-                for (int i = 0;  i < min;  i ++) {
-                    ret = compile(child, ret, reverse);
-                }
-            }
-            break;
-
-        case Token.EMPTY:
-            ret = next;
-            break;
-
-        case Token.STRING:
-            ret = Op.createString(tok.getString());
-            ret.next = next;
-            break;
-
-        case Token.BACKREFERENCE:
-            ret = Op.createBackReference(tok.getReferenceNumber());
-            ret.next = next;
-            break;
-
-        case Token.PAREN:
-            if (tok.getParenNumber() == 0) {
-                ret = compile(tok.getChild(0), next, reverse);
-            } else if (reverse) {
-                next = Op.createCapture(tok.getParenNumber(), next);
-                next = compile(tok.getChild(0), next, reverse);
-                ret = Op.createCapture(-tok.getParenNumber(), next);
-            } else {
-                next = Op.createCapture(-tok.getParenNumber(), next);
-                next = compile(tok.getChild(0), next, reverse);
-                ret = Op.createCapture(tok.getParenNumber(), next);
-            }
-            break;
-
-        case Token.LOOKAHEAD:
-            ret = Op.createLook(Op.LOOKAHEAD, next, compile(tok.getChild(0), null, false));
-            break;
-        case Token.NEGATIVELOOKAHEAD:
-            ret = Op.createLook(Op.NEGATIVELOOKAHEAD, next, compile(tok.getChild(0), null, false));
-            break;
-        case Token.LOOKBEHIND:
-            ret = Op.createLook(Op.LOOKBEHIND, next, compile(tok.getChild(0), null, true));
-            break;
-        case Token.NEGATIVELOOKBEHIND:
-            ret = Op.createLook(Op.NEGATIVELOOKBEHIND, next, compile(tok.getChild(0), null, true));
-            break;
-
-        case Token.INDEPENDENT:
-            ret = Op.createIndependent(next, compile(tok.getChild(0), null, reverse));
-            break;
-
-        case Token.MODIFIERGROUP:
-            ret = Op.createModifier(next, compile(tok.getChild(0), null, reverse),
-                                    ((Token.ModifierToken)tok).getOptions(),
-                                    ((Token.ModifierToken)tok).getOptionsMask());
-            break;
-
-        case Token.CONDITION:
-            Token.ConditionToken ctok = (Token.ConditionToken)tok;
-            int ref = ctok.refNumber;
-            Op condition = ctok.condition == null ? null : compile(ctok.condition, null, reverse);
-            Op yes = compile(ctok.yes, next, reverse);
-            Op no = ctok.no == null ? null : compile(ctok.no, next, reverse);
-            ret = Op.createCondition(next, ref, condition, yes, no);
-            break;
-
-        default:
-            throw new RuntimeException("Unknown token type: "+tok.type);
-        } // switch (tok.type)
-        return ret;
-    }
-
-
-//Public
-
-    /**
-     * Checks whether the <var>target</var> text <strong>contains</strong> this pattern or not.
-     *
-     * @return true if the target is matched to this regular expression.
-     */
-    public boolean matches(char[]  target) {
-        return this.matches(target, 0,  target .length , (Match)null);
-    }
-
-    /**
-     * Checks whether the <var>target</var> text <strong>contains</strong> this pattern
-     * in specified range or not.
-     *
-     * @param start Start offset of the range.
-     * @param end  End offset +1 of the range.
-     * @return true if the target is matched to this regular expression.
-     */
-    public boolean matches(char[]  target, int start, int end) {
-        return this.matches(target, start, end, (Match)null);
-    }
-
-    /**
-     * Checks whether the <var>target</var> text <strong>contains</strong> this pattern or not.
-     *
-     * @param match A Match instance for storing matching result.
-     * @return Offset of the start position in <VAR>target</VAR>; or -1 if not match.
-     */
-    public boolean matches(char[]  target, Match match) {
-        return this.matches(target, 0,  target .length , match);
-    }
-
-
-    /**
-     * Checks whether the <var>target</var> text <strong>contains</strong> this pattern
-     * in specified range or not.
-     *
-     * @param start Start offset of the range.
-     * @param end  End offset +1 of the range.
-     * @param match A Match instance for storing matching result.
-     * @return Offset of the start position in <VAR>target</VAR>; or -1 if not match.
-     */
-    public boolean matches(char[]  target, int start, int end, Match match) {
-
-        synchronized (this) {
-            if (this.operations == null)
-                this.prepare();
-            if (this.context == null)
-                this.context = new Context();
-        }
-        Context con = null;
-        synchronized (this.context) {
-            con = this.context.inuse ? new Context() : this.context;
-            con.reset(target, start, end, this.numberOfClosures);
-        }
-        if (match != null) {
-            match.setNumberOfGroups(this.nofparen);
-            match.setSource(target);
-        } else if (this.hasBackReferences) {
-            match = new Match();
-            match.setNumberOfGroups(this.nofparen);
-            // Need not to call setSource() because
-            // a caller can not access this match instance.
-        }
-        con.match = match;
-
-        if (this.isSet(this.options, XMLSCHEMA_MODE)) {
-            int matchEnd = this. matchCharArray (con, this.operations, con.start, 1, this.options);
-            //System.err.println("DEBUG: matchEnd="+matchEnd);
-            if (matchEnd == con.limit) {
-                if (con.match != null) {
-                    con.match.setBeginning(0, con.start);
-                    con.match.setEnd(0, matchEnd);
-                }
-                con.inuse = false;
-                return true;
-            }
-            return false;
-        }
-
-        /*
-         * The pattern has only fixed string.
-         * The engine uses Boyer-Moore.
-         */
-        if (this.fixedStringOnly) {
-            //System.err.println("DEBUG: fixed-only: "+this.fixedString);
-            int o = this.fixedStringTable.matches(target, con.start, con.limit);
-            if (o >= 0) {
-                if (con.match != null) {
-                    con.match.setBeginning(0, o);
-                    con.match.setEnd(0, o+this.fixedString.length());
-                }
-                con.inuse = false;
-                return true;
-            }
-            con.inuse = false;
-            return false;
-        }
-
-        /*
-         * The pattern contains a fixed string.
-         * The engine checks with Boyer-Moore whether the text contains the fixed string or not.
-         * If not, it return with false.
-         */
-        if (this.fixedString != null) {
-            int o = this.fixedStringTable.matches(target, con.start, con.limit);
-            if (o < 0) {
-                //System.err.println("Non-match in fixed-string search.");
-                con.inuse = false;
-                return false;
-            }
-        }
-
-        int limit = con.limit-this.minlength;
-        int matchStart;
-        int matchEnd = -1;
-
-        /*
-         * Checks whether the expression starts with ".*".
-         */
-        if (this.operations != null
-            && this.operations.type == Op.CLOSURE && this.operations.getChild().type == Op.DOT) {
-            if (isSet(this.options, SINGLE_LINE)) {
-                matchStart = con.start;
-                matchEnd = this. matchCharArray (con, this.operations, con.start, 1, this.options);
-            } else {
-                boolean previousIsEOL = true;
-                for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                    int ch =  target [  matchStart ] ;
-                    if (isEOLChar(ch)) {
-                        previousIsEOL = true;
-                    } else {
-                        if (previousIsEOL) {
-                            if (0 <= (matchEnd = this. matchCharArray (con, this.operations,
-                                                                       matchStart, 1, this.options)))
-                                break;
-                        }
-                        previousIsEOL = false;
-                    }
-                }
-            }
-        }
-
-        /*
-         * Optimization against the first character.
-         */
-        else if (this.firstChar != null) {
-            //System.err.println("DEBUG: with firstchar-matching: "+this.firstChar);
-            RangeToken range = this.firstChar;
-            if (this.isSet(this.options, IGNORE_CASE)) {
-                range = this.firstChar.getCaseInsensitiveToken();
-                for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                    int ch =  target [  matchStart ] ;
-                    if (REUtil.isHighSurrogate(ch) && matchStart+1 < con.limit) {
-                        ch = REUtil.composeFromSurrogates(ch,  target [  matchStart+1 ] );
-                        if (!range.match(ch))  continue;
-                    } else {
-                        if (!range.match(ch)) {
-                            char ch1 = Character.toUpperCase((char)ch);
-                            if (!range.match(ch1))
-                                if (!range.match(Character.toLowerCase(ch1)))
-                                    continue;
-                        }
-                    }
-                    if (0 <= (matchEnd = this. matchCharArray (con, this.operations,
-                                                               matchStart, 1, this.options)))
-                        break;
-                }
-            } else {
-                for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                    int ch =  target [  matchStart ] ;
-                    if (REUtil.isHighSurrogate(ch) && matchStart+1 < con.limit)
-                        ch = REUtil.composeFromSurrogates(ch,  target [  matchStart+1 ] );
-                    if (!range.match(ch))  continue;
-                    if (0 <= (matchEnd = this. matchCharArray (con, this.operations,
-                                                               matchStart, 1, this.options)))
-                        break;
-                }
-            }
-        }
-
-        /*
-         * Straightforward matching.
-         */
-        else {
-            for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                if (0 <= (matchEnd = this. matchCharArray (con, this.operations, matchStart, 1, this.options)))
-                    break;
-            }
-        }
-
-        if (matchEnd >= 0) {
-            if (con.match != null) {
-                con.match.setBeginning(0, matchStart);
-                con.match.setEnd(0, matchEnd);
-            }
-            con.inuse = false;
-            return true;
-        } else {
-            con.inuse = false;
-            return false;
-        }
-    }
-
-/**
- * @return -1 when not match; offset of the end of matched string when match.
- */
-    private int matchCharArray (Context con, Op op, int offset, int dx, int opts) {
-
-        char[] target = con.charTarget;
-
-
-        while (true) {
-            if (op == null)
-                return isSet(opts, XMLSCHEMA_MODE) && offset != con.limit ? -1 : offset;
-            if (offset > con.limit || offset < con.start)
-                return -1;
-            switch (op.type) {
-            case Op.CHAR:
-                if (isSet(opts, IGNORE_CASE)) {
-                    int ch = op.getData();
-                    if (dx > 0) {
-                        if (offset >= con.limit || !matchIgnoreCase(ch,  target [  offset ] ))
-                            return -1;
-                        offset ++;
-                    } else {
-                        int o1 = offset-1;
-                        if (o1 >= con.limit || o1 < 0 || !matchIgnoreCase(ch,  target [  o1 ] ))
-                            return -1;
-                        offset = o1;
-                    }
-                } else {
-                    int ch = op.getData();
-                    if (dx > 0) {
-                        if (offset >= con.limit || ch !=  target [  offset ] )
-                            return -1;
-                        offset ++;
-                    } else {
-                        int o1 = offset-1;
-                        if (o1 >= con.limit || o1 < 0 || ch !=  target [  o1 ] )
-                            return -1;
-                        offset = o1;
-                    }
-                }
-                op = op.next;
-                break;
-
-            case Op.DOT:
-                if (dx > 0) {
-                    if (offset >= con.limit)
-                        return -1;
-                    int ch =  target [  offset ] ;
-                    if (isSet(opts, SINGLE_LINE)) {
-                        if (REUtil.isHighSurrogate(ch) && offset+1 < con.limit)
-                            offset ++;
-                    } else {
-                        if (REUtil.isHighSurrogate(ch) && offset+1 < con.limit)
-                            ch = REUtil.composeFromSurrogates(ch,  target [  ++offset ] );
-                        if (isEOLChar(ch))
-                            return -1;
-                    }
-                    offset ++;
-                } else {
-                    int o1 = offset-1;
-                    if (o1 >= con.limit || o1 < 0)
-                        return -1;
-                    int ch =  target [  o1 ] ;
-                    if (isSet(opts, SINGLE_LINE)) {
-                        if (REUtil.isLowSurrogate(ch) && o1-1 >= 0)
-                            o1 --;
-                    } else {
-                        if (REUtil.isLowSurrogate(ch) && o1-1 >= 0)
-                            ch = REUtil.composeFromSurrogates( target [  --o1 ] , ch);
-                        if (!isEOLChar(ch))
-                            return -1;
-                    }
-                    offset = o1;
-                }
-                op = op.next;
-                break;
-
-            case Op.RANGE:
-            case Op.NRANGE:
-                if (dx > 0) {
-                    if (offset >= con.limit)
-                        return -1;
-                    int ch =  target [  offset ] ;
-                    if (REUtil.isHighSurrogate(ch) && offset+1 < con.limit)
-                        ch = REUtil.composeFromSurrogates(ch,  target [  ++offset ] );
-                    RangeToken tok = op.getToken();
-                    if (isSet(opts, IGNORE_CASE)) {
-                        tok = tok.getCaseInsensitiveToken();
-                        if (!tok.match(ch)) {
-                            if (ch >= 0x10000)  return -1;
-                            char uch;
-                            if (!tok.match(uch = Character.toUpperCase((char)ch))
-                                && !tok.match(Character.toLowerCase(uch)))
-                                return -1;
-                        }
-                    } else {
-                        if (!tok.match(ch))  return -1;
-                    }
-                    offset ++;
-                } else {
-                    int o1 = offset-1;
-                    if (o1 >= con.limit || o1 < 0)
-                        return -1;
-                    int ch =  target [  o1 ] ;
-                    if (REUtil.isLowSurrogate(ch) && o1-1 >= 0)
-                        ch = REUtil.composeFromSurrogates( target [  --o1 ] , ch);
-                    RangeToken tok = op.getToken();
-                    if (isSet(opts, IGNORE_CASE)) {
-                        tok = tok.getCaseInsensitiveToken();
-                        if (!tok.match(ch)) {
-                            if (ch >= 0x10000)  return -1;
-                            char uch;
-                            if (!tok.match(uch = Character.toUpperCase((char)ch))
-                                && !tok.match(Character.toLowerCase(uch)))
-                                return -1;
-                        }
-                    } else {
-                        if (!tok.match(ch))  return -1;
-                    }
-                    offset = o1;
-                }
-                op = op.next;
-                break;
-
-            case Op.ANCHOR:
-                boolean go = false;
-                switch (op.getData()) {
-                case '^':
-                    if (isSet(opts, MULTIPLE_LINES)) {
-                        if (!(offset == con.start
-                              || offset > con.start && isEOLChar( target [  offset-1 ] )))
-                            return -1;
-                    } else {
-                        if (offset != con.start)
-                            return -1;
-                    }
-                    break;
-
-                case '@':                         // Internal use only.
-                    // The @ always matches line beginnings.
-                    if (!(offset == con.start
-                          || offset > con.start && isEOLChar( target [  offset-1 ] )))
-                        return -1;
-                    break;
-
-                case '$':
-                    if (isSet(opts, MULTIPLE_LINES)) {
-                        if (!(offset == con.limit
-                              || offset < con.limit && isEOLChar( target [  offset ] )))
-                            return -1;
-                    } else {
-                        if (!(offset == con.limit
-                              || offset+1 == con.limit && isEOLChar( target [  offset ] )
-                              || offset+2 == con.limit &&  target [  offset ]  == CARRIAGE_RETURN
-                              &&  target [  offset+1 ]  == LINE_FEED))
-                            return -1;
-                    }
-                    break;
-
-                case 'A':
-                    if (offset != con.start)  return -1;
-                    break;
-
-                case 'Z':
-                    if (!(offset == con.limit
-                          || offset+1 == con.limit && isEOLChar( target [  offset ] )
-                          || offset+2 == con.limit &&  target [  offset ]  == CARRIAGE_RETURN
-                          &&  target [  offset+1 ]  == LINE_FEED))
-                        return -1;
-                    break;
-
-                case 'z':
-                    if (offset != con.limit)  return -1;
-                    break;
-
-                case 'b':
-                    if (con.length == 0)  return -1;
-                    {
-                        int after = getWordType(target, con.start, con.limit, offset, opts);
-                        if (after == WT_IGNORE)  return -1;
-                        int before = getPreviousWordType(target, con.start, con.limit, offset, opts);
-                        if (after == before)  return -1;
-                    }
-                    break;
-
-                case 'B':
-                    if (con.length == 0)
-                        go = true;
-                    else {
-                        int after = getWordType(target, con.start, con.limit, offset, opts);
-                        go = after == WT_IGNORE
-                             || after == getPreviousWordType(target, con.start, con.limit, offset, opts);
-                    }
-                    if (!go)  return -1;
-                    break;
-
-                case '<':
-                    if (con.length == 0 || offset == con.limit)  return -1;
-                    if (getWordType(target, con.start, con.limit, offset, opts) != WT_LETTER
-                        || getPreviousWordType(target, con.start, con.limit, offset, opts) != WT_OTHER)
-                        return -1;
-                    break;
-
-                case '>':
-                    if (con.length == 0 || offset == con.start)  return -1;
-                    if (getWordType(target, con.start, con.limit, offset, opts) != WT_OTHER
-                        || getPreviousWordType(target, con.start, con.limit, offset, opts) != WT_LETTER)
-                        return -1;
-                    break;
-                } // switch anchor type
-                op = op.next;
-                break;
-
-            case Op.BACKREFERENCE:
-                {
-                    int refno = op.getData();
-                    if (refno <= 0 || refno >= this.nofparen)
-                        throw new RuntimeException("Internal Error: Reference number must be more than zero: "+refno);
-                    if (con.match.getBeginning(refno) < 0
-                        || con.match.getEnd(refno) < 0)
-                        return -1;                // ********
-                    int o2 = con.match.getBeginning(refno);
-                    int literallen = con.match.getEnd(refno)-o2;
-                    if (!isSet(opts, IGNORE_CASE)) {
-                        if (dx > 0) {
-                            if (!regionMatches(target, offset, con.limit, o2, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatches(target, offset-literallen, con.limit, o2, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    } else {
-                        if (dx > 0) {
-                            if (!regionMatchesIgnoreCase(target, offset, con.limit, o2, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatchesIgnoreCase(target, offset-literallen, con.limit,
-                                                         o2, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    }
-                }
-                op = op.next;
-                break;
-            case Op.STRING:
-                {
-                    String literal = op.getString();
-                    int literallen = literal.length();
-                    if (!isSet(opts, IGNORE_CASE)) {
-                        if (dx > 0) {
-                            if (!regionMatches(target, offset, con.limit, literal, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatches(target, offset-literallen, con.limit, literal, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    } else {
-                        if (dx > 0) {
-                            if (!regionMatchesIgnoreCase(target, offset, con.limit, literal, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatchesIgnoreCase(target, offset-literallen, con.limit,
-                                                         literal, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    }
-                }
-                op = op.next;
-                break;
-
-            case Op.CLOSURE:
-                {
-                    /*
-                     * Saves current position to avoid
-                     * zero-width repeats.
-                     */
-                    int id = op.getData();
-                    if (id >= 0) {
-                        int previousOffset = con.offsets[id];
-                        if (previousOffset < 0 || previousOffset != offset) {
-                            con.offsets[id] = offset;
-                        } else {
-                            con.offsets[id] = -1;
-                            op = op.next;
-                            break;
-                        }
-                    }
-
-                    int ret = this. matchCharArray (con, op.getChild(), offset, dx, opts);
-                    if (id >= 0)  con.offsets[id] = -1;
-                    if (ret >= 0)  return ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.QUESTION:
-                {
-                    int ret = this. matchCharArray (con, op.getChild(), offset, dx, opts);
-                    if (ret >= 0)  return ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.NONGREEDYCLOSURE:
-            case Op.NONGREEDYQUESTION:
-                {
-                    int ret = this. matchCharArray (con, op.next, offset, dx, opts);
-                    if (ret >= 0)  return ret;
-                    op = op.getChild();
-                }
-                break;
-
-            case Op.UNION:
-                for (int i = 0;  i < op.size();  i ++) {
-                    int ret = this. matchCharArray (con, op.elementAt(i), offset, dx, opts);
-                    if (DEBUG) {
-                        System.err.println("UNION: "+i+", ret="+ret);
-                    }
-                    if (ret >= 0)  return ret;
-                }
-                return -1;
-
-            case Op.CAPTURE:
-                int refno = op.getData();
-                if (con.match != null && refno > 0) {
-                    int save = con.match.getBeginning(refno);
-                    con.match.setBeginning(refno, offset);
-                    int ret = this. matchCharArray (con, op.next, offset, dx, opts);
-                    if (ret < 0)  con.match.setBeginning(refno, save);
-                    return ret;
-                } else if (con.match != null && refno < 0) {
-                    int index = -refno;
-                    int save = con.match.getEnd(index);
-                    con.match.setEnd(index, offset);
-                    int ret = this. matchCharArray (con, op.next, offset, dx, opts);
-                    if (ret < 0)  con.match.setEnd(index, save);
-                    return ret;
-                }
-                op = op.next;
-                break;
-
-            case Op.LOOKAHEAD:
-                if (0 > this. matchCharArray (con, op.getChild(), offset, 1, opts))  return -1;
-                op = op.next;
-                break;
-            case Op.NEGATIVELOOKAHEAD:
-                if (0 <= this. matchCharArray (con, op.getChild(), offset, 1, opts))  return -1;
-                op = op.next;
-                break;
-            case Op.LOOKBEHIND:
-                if (0 > this. matchCharArray (con, op.getChild(), offset, -1, opts))  return -1;
-                op = op.next;
-                break;
-            case Op.NEGATIVELOOKBEHIND:
-                if (0 <= this. matchCharArray (con, op.getChild(), offset, -1, opts))  return -1;
-                op = op.next;
-                break;
-
-            case Op.INDEPENDENT:
-                {
-                    int ret = this. matchCharArray (con, op.getChild(), offset, dx, opts);
-                    if (ret < 0)  return ret;
-                    offset = ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.MODIFIER:
-                {
-                    int localopts = opts;
-                    localopts |= op.getData();
-                    localopts &= ~op.getData2();
-                    //System.err.println("MODIFIER: "+Integer.toString(opts, 16)+" -> "+Integer.toString(localopts, 16));
-                    int ret = this. matchCharArray (con, op.getChild(), offset, dx, localopts);
-                    if (ret < 0)  return ret;
-                    offset = ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.CONDITION:
-                {
-                    Op.ConditionOp cop = (Op.ConditionOp)op;
-                    boolean matchp = false;
-                    if (cop.refNumber > 0) {
-                        if (cop.refNumber >= this.nofparen)
-                            throw new RuntimeException("Internal Error: Reference number must be more than zero: "+cop.refNumber);
-                        matchp = con.match.getBeginning(cop.refNumber) >= 0
-                                 && con.match.getEnd(cop.refNumber) >= 0;
-                    } else {
-                        matchp = 0 <= this. matchCharArray (con, cop.condition, offset, dx, opts);
-                    }
-
-                    if (matchp) {
-                        op = cop.yes;
-                    } else if (cop.no != null) {
-                        op = cop.no;
-                    } else {
-                        op = cop.next;
-                    }
-                }
-                break;
-
-            default:
-                throw new RuntimeException("Unknown operation type: "+op.type);
-            } // switch (op.type)
-        } // while
-    }
-
-    private static final int getPreviousWordType(char[]  target, int begin, int end,
-                                                 int offset, int opts) {
-        int ret = getWordType(target, begin, end, --offset, opts);
-        while (ret == WT_IGNORE)
-            ret = getWordType(target, begin, end, --offset, opts);
-        return ret;
-    }
-
-    private static final int getWordType(char[]  target, int begin, int end,
-                                         int offset, int opts) {
-        if (offset < begin || offset >= end)  return WT_OTHER;
-        return getWordType0( target [  offset ] , opts);
-    }
-
-
-
-    private static final boolean regionMatches(char[]  target, int offset, int limit,
-                                               String part, int partlen) {
-        if (offset < 0)  return false;
-        if (limit-offset < partlen)
-            return false;
-        int i = 0;
-        while (partlen-- > 0) {
-            if ( target [  offset++ ]  != part.charAt(i++))
-                return false;
-        }
-        return true;
-    }
-
-    private static final boolean regionMatches(char[]  target, int offset, int limit,
-                                               int offset2, int partlen) {
-        if (offset < 0)  return false;
-        if (limit-offset < partlen)
-            return false;
-        int i = offset2;
-        while (partlen-- > 0) {
-            if ( target [  offset++ ]  !=  target [  i++ ] )
-                return false;
-        }
-        return true;
-    }
-
-/**
- * @see java.lang.String#regionMatches
- */
-    private static final boolean regionMatchesIgnoreCase(char[]  target, int offset, int limit,
-                                                         String part, int partlen) {
-        if (offset < 0)  return false;
-        if (limit-offset < partlen)
-            return false;
-        int i = 0;
-        while (partlen-- > 0) {
-            char ch1 =  target [  offset++ ] ;
-            char ch2 = part.charAt(i++);
-            if (ch1 == ch2)
-                continue;
-            char uch1 = Character.toUpperCase(ch1);
-            char uch2 = Character.toUpperCase(ch2);
-            if (uch1 == uch2)
-                continue;
-            if (Character.toLowerCase(uch1) != Character.toLowerCase(uch2))
-                return false;
-        }
-        return true;
-    }
-
-    private static final boolean regionMatchesIgnoreCase(char[]  target, int offset, int limit,
-                                                         int offset2, int partlen) {
-        if (offset < 0)  return false;
-        if (limit-offset < partlen)
-            return false;
-        int i = offset2;
-        while (partlen-- > 0) {
-            char ch1 =  target [  offset++ ] ;
-            char ch2 =  target [  i++ ] ;
-            if (ch1 == ch2)
-                continue;
-            char uch1 = Character.toUpperCase(ch1);
-            char uch2 = Character.toUpperCase(ch2);
-            if (uch1 == uch2)
-                continue;
-            if (Character.toLowerCase(uch1) != Character.toLowerCase(uch2))
-                return false;
-        }
-        return true;
-    }
-
-
-
-
-    /**
-     * Checks whether the <var>target</var> text <strong>contains</strong> this pattern or not.
-     *
-     * @return true if the target is matched to this regular expression.
-     */
-    public boolean matches(String  target) {
-        return this.matches(target, 0,  target .length() , (Match)null);
-    }
-
-    /**
-     * Checks whether the <var>target</var> text <strong>contains</strong> this pattern
-     * in specified range or not.
-     *
-     * @param start Start offset of the range.
-     * @param end  End offset +1 of the range.
-     * @return true if the target is matched to this regular expression.
-     */
-    public boolean matches(String  target, int start, int end) {
-        return this.matches(target, start, end, (Match)null);
-    }
-
-    /**
-     * Checks whether the <var>target</var> text <strong>contains</strong> this pattern or not.
-     *
-     * @param match A Match instance for storing matching result.
-     * @return Offset of the start position in <VAR>target</VAR>; or -1 if not match.
-     */
-    public boolean matches(String  target, Match match) {
-        return this.matches(target, 0,  target .length() , match);
-    }
-
-    /**
-     * Checks whether the <var>target</var> text <strong>contains</strong> this pattern
-     * in specified range or not.
-     *
-     * @param start Start offset of the range.
-     * @param end  End offset +1 of the range.
-     * @param match A Match instance for storing matching result.
-     * @return Offset of the start position in <VAR>target</VAR>; or -1 if not match.
-     */
-    public boolean matches(String  target, int start, int end, Match match) {
-
-        synchronized (this) {
-            if (this.operations == null)
-                this.prepare();
-            if (this.context == null)
-                this.context = new Context();
-        }
-        Context con = null;
-        synchronized (this.context) {
-            con = this.context.inuse ? new Context() : this.context;
-            con.reset(target, start, end, this.numberOfClosures);
-        }
-        if (match != null) {
-            match.setNumberOfGroups(this.nofparen);
-            match.setSource(target);
-        } else if (this.hasBackReferences) {
-            match = new Match();
-            match.setNumberOfGroups(this.nofparen);
-            // Need not to call setSource() because
-            // a caller can not access this match instance.
-        }
-        con.match = match;
-
-        if (this.isSet(this.options, XMLSCHEMA_MODE)) {
-            if (DEBUG) {
-                System.err.println("target string="+target);
-            }
-            int matchEnd = this. matchString (con, this.operations, con.start, 1, this.options);
-            if (DEBUG) {
-                System.err.println("matchEnd="+matchEnd);
-                System.err.println("con.limit="+con.limit);
-            }
-            if (matchEnd == con.limit) {
-                if (con.match != null) {
-                    con.match.setBeginning(0, con.start);
-                    con.match.setEnd(0, matchEnd);
-                }
-                con.inuse = false;
-                return true;
-            }
-            return false;
-        }
-
-        /*
-         * The pattern has only fixed string.
-         * The engine uses Boyer-Moore.
-         */
-        if (this.fixedStringOnly) {
-            //System.err.println("DEBUG: fixed-only: "+this.fixedString);
-            int o = this.fixedStringTable.matches(target, con.start, con.limit);
-            if (o >= 0) {
-                if (con.match != null) {
-                    con.match.setBeginning(0, o);
-                    con.match.setEnd(0, o+this.fixedString.length());
-                }
-                con.inuse = false;
-                return true;
-            }
-            con.inuse = false;
-            return false;
-        }
-
-        /*
-         * The pattern contains a fixed string.
-         * The engine checks with Boyer-Moore whether the text contains the fixed string or not.
-         * If not, it return with false.
-         */
-        if (this.fixedString != null) {
-            int o = this.fixedStringTable.matches(target, con.start, con.limit);
-            if (o < 0) {
-                //System.err.println("Non-match in fixed-string search.");
-                con.inuse = false;
-                return false;
-            }
-        }
-
-        int limit = con.limit-this.minlength;
-        int matchStart;
-        int matchEnd = -1;
-
-        /*
-         * Checks whether the expression starts with ".*".
-         */
-        if (this.operations != null
-            && this.operations.type == Op.CLOSURE && this.operations.getChild().type == Op.DOT) {
-            if (isSet(this.options, SINGLE_LINE)) {
-                matchStart = con.start;
-                matchEnd = this. matchString (con, this.operations, con.start, 1, this.options);
-            } else {
-                boolean previousIsEOL = true;
-                for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                    int ch =  target .charAt(  matchStart ) ;
-                    if (isEOLChar(ch)) {
-                        previousIsEOL = true;
-                    } else {
-                        if (previousIsEOL) {
-                            if (0 <= (matchEnd = this. matchString (con, this.operations,
-                                                                    matchStart, 1, this.options)))
-                                break;
-                        }
-                        previousIsEOL = false;
-                    }
-                }
-            }
-        }
-
-        /*
-         * Optimization against the first character.
-         */
-        else if (this.firstChar != null) {
-            //System.err.println("DEBUG: with firstchar-matching: "+this.firstChar);
-            RangeToken range = this.firstChar;
-            if (this.isSet(this.options, IGNORE_CASE)) {
-                range = this.firstChar.getCaseInsensitiveToken();
-                for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                    int ch =  target .charAt(  matchStart ) ;
-                    if (REUtil.isHighSurrogate(ch) && matchStart+1 < con.limit) {
-                        ch = REUtil.composeFromSurrogates(ch,  target .charAt(  matchStart+1 ) );
-                        if (!range.match(ch))  continue;
-                    } else {
-                        if (!range.match(ch)) {
-                            char ch1 = Character.toUpperCase((char)ch);
-                            if (!range.match(ch1))
-                                if (!range.match(Character.toLowerCase(ch1)))
-                                    continue;
-                        }
-                    }
-                    if (0 <= (matchEnd = this. matchString (con, this.operations,
-                                                            matchStart, 1, this.options)))
-                        break;
-                }
-            } else {
-                for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                    int ch =  target .charAt(  matchStart ) ;
-                    if (REUtil.isHighSurrogate(ch) && matchStart+1 < con.limit)
-                        ch = REUtil.composeFromSurrogates(ch,  target .charAt(  matchStart+1 ) );
-                    if (!range.match(ch))  continue;
-                    if (0 <= (matchEnd = this. matchString (con, this.operations,
-                                                            matchStart, 1, this.options)))
-                        break;
-                }
-            }
-        }
-
-        /*
-         * Straightforward matching.
-         */
-        else {
-            for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                if (0 <= (matchEnd = this. matchString (con, this.operations, matchStart, 1, this.options)))
-                    break;
-            }
-        }
-
-        if (matchEnd >= 0) {
-            if (con.match != null) {
-                con.match.setBeginning(0, matchStart);
-                con.match.setEnd(0, matchEnd);
-            }
-            con.inuse = false;
-            return true;
-        } else {
-            con.inuse = false;
-            return false;
-        }
-    }
-
-    /**
-     * @return -1 when not match; offset of the end of matched string when match.
-     */
-    private int matchString (Context con, Op op, int offset, int dx, int opts) {
-
-
-
-
-        String target = con.strTarget;
-
-
-
-
-        while (true) {
-            if (op == null)
-                return isSet(opts, XMLSCHEMA_MODE) && offset != con.limit ? -1 : offset;
-            if (offset > con.limit || offset < con.start)
-                return -1;
-            switch (op.type) {
-            case Op.CHAR:
-                if (isSet(opts, IGNORE_CASE)) {
-                    int ch = op.getData();
-                    if (dx > 0) {
-                        if (offset >= con.limit || !matchIgnoreCase(ch,  target .charAt(  offset ) ))
-                            return -1;
-                        offset ++;
-                    } else {
-                        int o1 = offset-1;
-                        if (o1 >= con.limit || o1 < 0 || !matchIgnoreCase(ch,  target .charAt(  o1 ) ))
-                            return -1;
-                        offset = o1;
-                    }
-                } else {
-                    int ch = op.getData();
-                    if (dx > 0) {
-                        if (offset >= con.limit || ch !=  target .charAt(  offset ) )
-                            return -1;
-                        offset ++;
-                    } else {
-                        int o1 = offset-1;
-                        if (o1 >= con.limit || o1 < 0 || ch !=  target .charAt(  o1 ) )
-                            return -1;
-                        offset = o1;
-                    }
-                }
-                op = op.next;
-                break;
-
-            case Op.DOT:
-                if (dx > 0) {
-                    if (offset >= con.limit)
-                        return -1;
-                    int ch =  target .charAt(  offset ) ;
-                    if (isSet(opts, SINGLE_LINE)) {
-                        if (REUtil.isHighSurrogate(ch) && offset+1 < con.limit)
-                            offset ++;
-                    } else {
-                        if (REUtil.isHighSurrogate(ch) && offset+1 < con.limit)
-                            ch = REUtil.composeFromSurrogates(ch,  target .charAt(  ++offset ) );
-                        if (isEOLChar(ch))
-                            return -1;
-                    }
-                    offset ++;
-                } else {
-                    int o1 = offset-1;
-                    if (o1 >= con.limit || o1 < 0)
-                        return -1;
-                    int ch =  target .charAt(  o1 ) ;
-                    if (isSet(opts, SINGLE_LINE)) {
-                        if (REUtil.isLowSurrogate(ch) && o1-1 >= 0)
-                            o1 --;
-                    } else {
-                        if (REUtil.isLowSurrogate(ch) && o1-1 >= 0)
-                            ch = REUtil.composeFromSurrogates( target .charAt(  --o1 ) , ch);
-                        if (!isEOLChar(ch))
-                            return -1;
-                    }
-                    offset = o1;
-                }
-                op = op.next;
-                break;
-
-            case Op.RANGE:
-            case Op.NRANGE:
-                if (dx > 0) {
-                    if (offset >= con.limit)
-                        return -1;
-                    int ch =  target .charAt(  offset ) ;
-                    if (REUtil.isHighSurrogate(ch) && offset+1 < con.limit)
-                        ch = REUtil.composeFromSurrogates(ch,  target .charAt(  ++offset ) );
-                    RangeToken tok = op.getToken();
-                    if (isSet(opts, IGNORE_CASE)) {
-                        tok = tok.getCaseInsensitiveToken();
-                        if (!tok.match(ch)) {
-                            if (ch >= 0x10000)  return -1;
-                            char uch;
-                            if (!tok.match(uch = Character.toUpperCase((char)ch))
-                                && !tok.match(Character.toLowerCase(uch)))
-                                return -1;
-                        }
-                    } else {
-                        if (!tok.match(ch))  return -1;
-                    }
-                    offset ++;
-                } else {
-                    int o1 = offset-1;
-                    if (o1 >= con.limit || o1 < 0)
-                        return -1;
-                    int ch =  target .charAt(  o1 ) ;
-                    if (REUtil.isLowSurrogate(ch) && o1-1 >= 0)
-                        ch = REUtil.composeFromSurrogates( target .charAt(  --o1 ) , ch);
-                    RangeToken tok = op.getToken();
-                    if (isSet(opts, IGNORE_CASE)) {
-                        tok = tok.getCaseInsensitiveToken();
-                        if (!tok.match(ch)) {
-                            if (ch >= 0x10000)  return -1;
-                            char uch;
-                            if (!tok.match(uch = Character.toUpperCase((char)ch))
-                                && !tok.match(Character.toLowerCase(uch)))
-                                return -1;
-                        }
-                    } else {
-                        if (!tok.match(ch))  return -1;
-                    }
-                    offset = o1;
-                }
-                op = op.next;
-                break;
-
-            case Op.ANCHOR:
-                boolean go = false;
-                switch (op.getData()) {
-                case '^':
-                    if (isSet(opts, MULTIPLE_LINES)) {
-                        if (!(offset == con.start
-                              || offset > con.start && isEOLChar( target .charAt(  offset-1 ) )))
-                            return -1;
-                    } else {
-                        if (offset != con.start)
-                            return -1;
-                    }
-                    break;
-
-                case '@':                         // Internal use only.
-                    // The @ always matches line beginnings.
-                    if (!(offset == con.start
-                          || offset > con.start && isEOLChar( target .charAt(  offset-1 ) )))
-                        return -1;
-                    break;
-
-                case '$':
-                    if (isSet(opts, MULTIPLE_LINES)) {
-                        if (!(offset == con.limit
-                              || offset < con.limit && isEOLChar( target .charAt(  offset ) )))
-                            return -1;
-                    } else {
-                        if (!(offset == con.limit
-                              || offset+1 == con.limit && isEOLChar( target .charAt(  offset ) )
-                              || offset+2 == con.limit &&  target .charAt(  offset )  == CARRIAGE_RETURN
-                              &&  target .charAt(  offset+1 )  == LINE_FEED))
-                            return -1;
-                    }
-                    break;
-
-                case 'A':
-                    if (offset != con.start)  return -1;
-                    break;
-
-                case 'Z':
-                    if (!(offset == con.limit
-                          || offset+1 == con.limit && isEOLChar( target .charAt(  offset ) )
-                          || offset+2 == con.limit &&  target .charAt(  offset )  == CARRIAGE_RETURN
-                          &&  target .charAt(  offset+1 )  == LINE_FEED))
-                        return -1;
-                    break;
-
-                case 'z':
-                    if (offset != con.limit)  return -1;
-                    break;
-
-                case 'b':
-                    if (con.length == 0)  return -1;
-                    {
-                        int after = getWordType(target, con.start, con.limit, offset, opts);
-                        if (after == WT_IGNORE)  return -1;
-                        int before = getPreviousWordType(target, con.start, con.limit, offset, opts);
-                        if (after == before)  return -1;
-                    }
-                    break;
-
-                case 'B':
-                    if (con.length == 0)
-                        go = true;
-                    else {
-                        int after = getWordType(target, con.start, con.limit, offset, opts);
-                        go = after == WT_IGNORE
-                             || after == getPreviousWordType(target, con.start, con.limit, offset, opts);
-                    }
-                    if (!go)  return -1;
-                    break;
-
-                case '<':
-                    if (con.length == 0 || offset == con.limit)  return -1;
-                    if (getWordType(target, con.start, con.limit, offset, opts) != WT_LETTER
-                        || getPreviousWordType(target, con.start, con.limit, offset, opts) != WT_OTHER)
-                        return -1;
-                    break;
-
-                case '>':
-                    if (con.length == 0 || offset == con.start)  return -1;
-                    if (getWordType(target, con.start, con.limit, offset, opts) != WT_OTHER
-                        || getPreviousWordType(target, con.start, con.limit, offset, opts) != WT_LETTER)
-                        return -1;
-                    break;
-                } // switch anchor type
-                op = op.next;
-                break;
-
-            case Op.BACKREFERENCE:
-                {
-                    int refno = op.getData();
-                    if (refno <= 0 || refno >= this.nofparen)
-                        throw new RuntimeException("Internal Error: Reference number must be more than zero: "+refno);
-                    if (con.match.getBeginning(refno) < 0
-                        || con.match.getEnd(refno) < 0)
-                        return -1;                // ********
-                    int o2 = con.match.getBeginning(refno);
-                    int literallen = con.match.getEnd(refno)-o2;
-                    if (!isSet(opts, IGNORE_CASE)) {
-                        if (dx > 0) {
-                            if (!regionMatches(target, offset, con.limit, o2, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatches(target, offset-literallen, con.limit, o2, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    } else {
-                        if (dx > 0) {
-                            if (!regionMatchesIgnoreCase(target, offset, con.limit, o2, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatchesIgnoreCase(target, offset-literallen, con.limit,
-                                                         o2, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    }
-                }
-                op = op.next;
-                break;
-            case Op.STRING:
-                {
-                    String literal = op.getString();
-                    int literallen = literal.length();
-                    if (!isSet(opts, IGNORE_CASE)) {
-                        if (dx > 0) {
-                            if (!regionMatches(target, offset, con.limit, literal, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatches(target, offset-literallen, con.limit, literal, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    } else {
-                        if (dx > 0) {
-                            if (!regionMatchesIgnoreCase(target, offset, con.limit, literal, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatchesIgnoreCase(target, offset-literallen, con.limit,
-                                                         literal, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    }
-                }
-                op = op.next;
-                break;
-
-            case Op.CLOSURE:
-                {
-                    /*
-                     * Saves current position to avoid
-                     * zero-width repeats.
-                     */
-                    int id = op.getData();
-                    if (id >= 0) {
-                        int previousOffset = con.offsets[id];
-                        if (previousOffset < 0 || previousOffset != offset) {
-                            con.offsets[id] = offset;
-                        } else {
-                            con.offsets[id] = -1;
-                            op = op.next;
-                            break;
-                        }
-                    }
-                    int ret = this. matchString (con, op.getChild(), offset, dx, opts);
-                    if (id >= 0)  con.offsets[id] = -1;
-                    if (ret >= 0)  return ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.QUESTION:
-                {
-                    int ret = this. matchString (con, op.getChild(), offset, dx, opts);
-                    if (ret >= 0)  return ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.NONGREEDYCLOSURE:
-            case Op.NONGREEDYQUESTION:
-                {
-                    int ret = this. matchString (con, op.next, offset, dx, opts);
-                    if (ret >= 0)  return ret;
-                    op = op.getChild();
-                }
-                break;
-
-            case Op.UNION:
-                for (int i = 0;  i < op.size();  i ++) {
-                    int ret = this. matchString (con, op.elementAt(i), offset, dx, opts);
-                    if (DEBUG) {
-                        System.err.println("UNION: "+i+", ret="+ret);
-                    }
-                    if (ret >= 0)  return ret;
-                }
-                return -1;
-
-            case Op.CAPTURE:
-                int refno = op.getData();
-                if (con.match != null && refno > 0) {
-                    int save = con.match.getBeginning(refno);
-                    con.match.setBeginning(refno, offset);
-                    int ret = this. matchString (con, op.next, offset, dx, opts);
-                    if (ret < 0)  con.match.setBeginning(refno, save);
-                    return ret;
-                } else if (con.match != null && refno < 0) {
-                    int index = -refno;
-                    int save = con.match.getEnd(index);
-                    con.match.setEnd(index, offset);
-                    int ret = this. matchString (con, op.next, offset, dx, opts);
-                    if (ret < 0)  con.match.setEnd(index, save);
-                    return ret;
-                }
-                op = op.next;
-                break;
-
-            case Op.LOOKAHEAD:
-                if (0 > this. matchString (con, op.getChild(), offset, 1, opts))  return -1;
-                op = op.next;
-                break;
-            case Op.NEGATIVELOOKAHEAD:
-                if (0 <= this. matchString (con, op.getChild(), offset, 1, opts))  return -1;
-                op = op.next;
-                break;
-            case Op.LOOKBEHIND:
-                if (0 > this. matchString (con, op.getChild(), offset, -1, opts))  return -1;
-                op = op.next;
-                break;
-            case Op.NEGATIVELOOKBEHIND:
-                if (0 <= this. matchString (con, op.getChild(), offset, -1, opts))  return -1;
-                op = op.next;
-                break;
-
-            case Op.INDEPENDENT:
-                {
-                    int ret = this. matchString (con, op.getChild(), offset, dx, opts);
-                    if (ret < 0)  return ret;
-                    offset = ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.MODIFIER:
-                {
-                    int localopts = opts;
-                    localopts |= op.getData();
-                    localopts &= ~op.getData2();
-                    //System.err.println("MODIFIER: "+Integer.toString(opts, 16)+" -> "+Integer.toString(localopts, 16));
-                    int ret = this. matchString (con, op.getChild(), offset, dx, localopts);
-                    if (ret < 0)  return ret;
-                    offset = ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.CONDITION:
-                {
-                    Op.ConditionOp cop = (Op.ConditionOp)op;
-                    boolean matchp = false;
-                    if (cop.refNumber > 0) {
-                        if (cop.refNumber >= this.nofparen)
-                            throw new RuntimeException("Internal Error: Reference number must be more than zero: "+cop.refNumber);
-                        matchp = con.match.getBeginning(cop.refNumber) >= 0
-                                 && con.match.getEnd(cop.refNumber) >= 0;
-                    } else {
-                        matchp = 0 <= this. matchString (con, cop.condition, offset, dx, opts);
-                    }
-
-                    if (matchp) {
-                        op = cop.yes;
-                    } else if (cop.no != null) {
-                        op = cop.no;
-                    } else {
-                        op = cop.next;
-                    }
-                }
-                break;
-
-            default:
-                throw new RuntimeException("Unknown operation type: "+op.type);
-            } // switch (op.type)
-        } // while
-    }
-
-    private static final int getPreviousWordType(String  target, int begin, int end,
-                                                 int offset, int opts) {
-        int ret = getWordType(target, begin, end, --offset, opts);
-        while (ret == WT_IGNORE)
-            ret = getWordType(target, begin, end, --offset, opts);
-        return ret;
-    }
-
-    private static final int getWordType(String  target, int begin, int end,
-                                         int offset, int opts) {
-        if (offset < begin || offset >= end)  return WT_OTHER;
-        return getWordType0( target .charAt(  offset ) , opts);
-    }
-
-
-    private static final boolean regionMatches(String text, int offset, int limit,
-                                               String part, int partlen) {
-        if (limit-offset < partlen)  return false;
-        return text.regionMatches(offset, part, 0, partlen);
-    }
-
-    private static final boolean regionMatches(String text, int offset, int limit,
-                                               int offset2, int partlen) {
-        if (limit-offset < partlen)  return false;
-        return text.regionMatches(offset, text, offset2, partlen);
-    }
-
-    private static final boolean regionMatchesIgnoreCase(String text, int offset, int limit,
-                                                         String part, int partlen) {
-        return text.regionMatches(true, offset, part, 0, partlen);
-    }
-
-    private static final boolean regionMatchesIgnoreCase(String text, int offset, int limit,
-                                                         int offset2, int partlen) {
-        if (limit-offset < partlen)  return false;
-        return text.regionMatches(true, offset, text, offset2, partlen);
-    }
-
-
-
-
-
-
-
-    /**
-     * Checks whether the <var>target</var> text <strong>contains</strong> this pattern or not.
-     *
-     * @return true if the target is matched to this regular expression.
-     */
-    public boolean matches(CharacterIterator target) {
-        return this.matches(target, (Match)null);
-    }
-
-
-    /**
-     * Checks whether the <var>target</var> text <strong>contains</strong> this pattern or not.
-     *
-     * @param match A Match instance for storing matching result.
-     * @return Offset of the start position in <VAR>target</VAR>; or -1 if not match.
-     */
-    public boolean matches(CharacterIterator  target, Match match) {
-        int start = target.getBeginIndex();
-        int end = target.getEndIndex();
-
-
-
-        synchronized (this) {
-            if (this.operations == null)
-                this.prepare();
-            if (this.context == null)
-                this.context = new Context();
-        }
-        Context con = null;
-        synchronized (this.context) {
-            con = this.context.inuse ? new Context() : this.context;
-            con.reset(target, start, end, this.numberOfClosures);
-        }
-        if (match != null) {
-            match.setNumberOfGroups(this.nofparen);
-            match.setSource(target);
-        } else if (this.hasBackReferences) {
-            match = new Match();
-            match.setNumberOfGroups(this.nofparen);
-            // Need not to call setSource() because
-            // a caller can not access this match instance.
-        }
-        con.match = match;
-
-        if (this.isSet(this.options, XMLSCHEMA_MODE)) {
-            int matchEnd = this. matchCharacterIterator (con, this.operations, con.start, 1, this.options);
-            //System.err.println("DEBUG: matchEnd="+matchEnd);
-            if (matchEnd == con.limit) {
-                if (con.match != null) {
-                    con.match.setBeginning(0, con.start);
-                    con.match.setEnd(0, matchEnd);
-                }
-                con.inuse = false;
-                return true;
-            }
-            return false;
-        }
-
-        /*
-         * The pattern has only fixed string.
-         * The engine uses Boyer-Moore.
-         */
-        if (this.fixedStringOnly) {
-            //System.err.println("DEBUG: fixed-only: "+this.fixedString);
-            int o = this.fixedStringTable.matches(target, con.start, con.limit);
-            if (o >= 0) {
-                if (con.match != null) {
-                    con.match.setBeginning(0, o);
-                    con.match.setEnd(0, o+this.fixedString.length());
-                }
-                con.inuse = false;
-                return true;
-            }
-            con.inuse = false;
-            return false;
-        }
-
-        /*
-         * The pattern contains a fixed string.
-         * The engine checks with Boyer-Moore whether the text contains the fixed string or not.
-         * If not, it return with false.
-         */
-        if (this.fixedString != null) {
-            int o = this.fixedStringTable.matches(target, con.start, con.limit);
-            if (o < 0) {
-                //System.err.println("Non-match in fixed-string search.");
-                con.inuse = false;
-                return false;
-            }
-        }
-
-        int limit = con.limit-this.minlength;
-        int matchStart;
-        int matchEnd = -1;
-
-        /*
-         * Checks whether the expression starts with ".*".
-         */
-        if (this.operations != null
-            && this.operations.type == Op.CLOSURE && this.operations.getChild().type == Op.DOT) {
-            if (isSet(this.options, SINGLE_LINE)) {
-                matchStart = con.start;
-                matchEnd = this. matchCharacterIterator (con, this.operations, con.start, 1, this.options);
-            } else {
-                boolean previousIsEOL = true;
-                for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                    int ch =  target .setIndex(  matchStart ) ;
-                    if (isEOLChar(ch)) {
-                        previousIsEOL = true;
-                    } else {
-                        if (previousIsEOL) {
-                            if (0 <= (matchEnd = this. matchCharacterIterator (con, this.operations,
-                                                                               matchStart, 1, this.options)))
-                                break;
-                        }
-                        previousIsEOL = false;
-                    }
-                }
-            }
-        }
-
-        /*
-         * Optimization against the first character.
-         */
-        else if (this.firstChar != null) {
-            //System.err.println("DEBUG: with firstchar-matching: "+this.firstChar);
-            RangeToken range = this.firstChar;
-            if (this.isSet(this.options, IGNORE_CASE)) {
-                range = this.firstChar.getCaseInsensitiveToken();
-                for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                    int ch =  target .setIndex(  matchStart ) ;
-                    if (REUtil.isHighSurrogate(ch) && matchStart+1 < con.limit) {
-                        ch = REUtil.composeFromSurrogates(ch,  target .setIndex(  matchStart+1 ) );
-                        if (!range.match(ch))  continue;
-                    } else {
-                        if (!range.match(ch)) {
-                            char ch1 = Character.toUpperCase((char)ch);
-                            if (!range.match(ch1))
-                                if (!range.match(Character.toLowerCase(ch1)))
-                                    continue;
-                        }
-                    }
-                    if (0 <= (matchEnd = this. matchCharacterIterator (con, this.operations,
-                                                                       matchStart, 1, this.options)))
-                        break;
-                }
-            } else {
-                for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                    int ch =  target .setIndex(  matchStart ) ;
-                    if (REUtil.isHighSurrogate(ch) && matchStart+1 < con.limit)
-                        ch = REUtil.composeFromSurrogates(ch,  target .setIndex(  matchStart+1 ) );
-                    if (!range.match(ch))  continue;
-                    if (0 <= (matchEnd = this. matchCharacterIterator (con, this.operations,
-                                                                       matchStart, 1, this.options)))
-                        break;
-                }
-            }
-        }
-
-        /*
-         * Straightforward matching.
-         */
-        else {
-            for (matchStart = con.start;  matchStart <= limit;  matchStart ++) {
-                if (0 <= (matchEnd = this. matchCharacterIterator (con, this.operations, matchStart, 1, this.options)))
-                    break;
-            }
-        }
-
-        if (matchEnd >= 0) {
-            if (con.match != null) {
-                con.match.setBeginning(0, matchStart);
-                con.match.setEnd(0, matchEnd);
-            }
-            con.inuse = false;
-            return true;
-        } else {
-            con.inuse = false;
-            return false;
-        }
-    }
-
-    /**
-     * @return -1 when not match; offset of the end of matched string when match.
-     */
-    private int matchCharacterIterator (Context con, Op op, int offset, int dx, int opts) {
-
-
-        CharacterIterator target = con.ciTarget;
-
-
-
-
-
-
-        while (true) {
-            if (op == null)
-                return isSet(opts, XMLSCHEMA_MODE) && offset != con.limit ? -1 : offset;
-            if (offset > con.limit || offset < con.start)
-                return -1;
-            switch (op.type) {
-            case Op.CHAR:
-                if (isSet(opts, IGNORE_CASE)) {
-                    int ch = op.getData();
-                    if (dx > 0) {
-                        if (offset >= con.limit || !matchIgnoreCase(ch,  target .setIndex(  offset ) ))
-                            return -1;
-                        offset ++;
-                    } else {
-                        int o1 = offset-1;
-                        if (o1 >= con.limit || o1 < 0 || !matchIgnoreCase(ch,  target .setIndex(  o1 ) ))
-                            return -1;
-                        offset = o1;
-                    }
-                } else {
-                    int ch = op.getData();
-                    if (dx > 0) {
-                        if (offset >= con.limit || ch !=  target .setIndex(  offset ) )
-                            return -1;
-                        offset ++;
-                    } else {
-                        int o1 = offset-1;
-                        if (o1 >= con.limit || o1 < 0 || ch !=  target .setIndex(  o1 ) )
-                            return -1;
-                        offset = o1;
-                    }
-                }
-                op = op.next;
-                break;
-
-            case Op.DOT:
-                if (dx > 0) {
-                    if (offset >= con.limit)
-                        return -1;
-                    int ch =  target .setIndex(  offset ) ;
-                    if (isSet(opts, SINGLE_LINE)) {
-                        if (REUtil.isHighSurrogate(ch) && offset+1 < con.limit)
-                            offset ++;
-                    } else {
-                        if (REUtil.isHighSurrogate(ch) && offset+1 < con.limit)
-                            ch = REUtil.composeFromSurrogates(ch,  target .setIndex(  ++offset ) );
-                        if (isEOLChar(ch))
-                            return -1;
-                    }
-                    offset ++;
-                } else {
-                    int o1 = offset-1;
-                    if (o1 >= con.limit || o1 < 0)
-                        return -1;
-                    int ch =  target .setIndex(  o1 ) ;
-                    if (isSet(opts, SINGLE_LINE)) {
-                        if (REUtil.isLowSurrogate(ch) && o1-1 >= 0)
-                            o1 --;
-                    } else {
-                        if (REUtil.isLowSurrogate(ch) && o1-1 >= 0)
-                            ch = REUtil.composeFromSurrogates( target .setIndex(  --o1 ) , ch);
-                        if (!isEOLChar(ch))
-                            return -1;
-                    }
-                    offset = o1;
-                }
-                op = op.next;
-                break;
-
-            case Op.RANGE:
-            case Op.NRANGE:
-                if (dx > 0) {
-                    if (offset >= con.limit)
-                        return -1;
-                    int ch =  target .setIndex(  offset ) ;
-                    if (REUtil.isHighSurrogate(ch) && offset+1 < con.limit)
-                        ch = REUtil.composeFromSurrogates(ch,  target .setIndex(  ++offset ) );
-                    RangeToken tok = op.getToken();
-                    if (isSet(opts, IGNORE_CASE)) {
-                        tok = tok.getCaseInsensitiveToken();
-                        if (!tok.match(ch)) {
-                            if (ch >= 0x10000)  return -1;
-                            char uch;
-                            if (!tok.match(uch = Character.toUpperCase((char)ch))
-                                && !tok.match(Character.toLowerCase(uch)))
-                                return -1;
-                        }
-                    } else {
-                        if (!tok.match(ch))  return -1;
-                    }
-                    offset ++;
-                } else {
-                    int o1 = offset-1;
-                    if (o1 >= con.limit || o1 < 0)
-                        return -1;
-                    int ch =  target .setIndex(  o1 ) ;
-                    if (REUtil.isLowSurrogate(ch) && o1-1 >= 0)
-                        ch = REUtil.composeFromSurrogates( target .setIndex(  --o1 ) , ch);
-                    RangeToken tok = op.getToken();
-                    if (isSet(opts, IGNORE_CASE)) {
-                        tok = tok.getCaseInsensitiveToken();
-                        if (!tok.match(ch)) {
-                            if (ch >= 0x10000)  return -1;
-                            char uch;
-                            if (!tok.match(uch = Character.toUpperCase((char)ch))
-                                && !tok.match(Character.toLowerCase(uch)))
-                                return -1;
-                        }
-                    } else {
-                        if (!tok.match(ch))  return -1;
-                    }
-                    offset = o1;
-                }
-                op = op.next;
-                break;
-
-            case Op.ANCHOR:
-                boolean go = false;
-                switch (op.getData()) {
-                case '^':
-                    if (isSet(opts, MULTIPLE_LINES)) {
-                        if (!(offset == con.start
-                              || offset > con.start && isEOLChar( target .setIndex(  offset-1 ) )))
-                            return -1;
-                    } else {
-                        if (offset != con.start)
-                            return -1;
-                    }
-                    break;
-
-                case '@':                         // Internal use only.
-                    // The @ always matches line beginnings.
-                    if (!(offset == con.start
-                          || offset > con.start && isEOLChar( target .setIndex(  offset-1 ) )))
-                        return -1;
-                    break;
-
-                case '$':
-                    if (isSet(opts, MULTIPLE_LINES)) {
-                        if (!(offset == con.limit
-                              || offset < con.limit && isEOLChar( target .setIndex(  offset ) )))
-                            return -1;
-                    } else {
-                        if (!(offset == con.limit
-                              || offset+1 == con.limit && isEOLChar( target .setIndex(  offset ) )
-                              || offset+2 == con.limit &&  target .setIndex(  offset )  == CARRIAGE_RETURN
-                              &&  target .setIndex(  offset+1 )  == LINE_FEED))
-                            return -1;
-                    }
-                    break;
-
-                case 'A':
-                    if (offset != con.start)  return -1;
-                    break;
-
-                case 'Z':
-                    if (!(offset == con.limit
-                          || offset+1 == con.limit && isEOLChar( target .setIndex(  offset ) )
-                          || offset+2 == con.limit &&  target .setIndex(  offset )  == CARRIAGE_RETURN
-                          &&  target .setIndex(  offset+1 )  == LINE_FEED))
-                        return -1;
-                    break;
-
-                case 'z':
-                    if (offset != con.limit)  return -1;
-                    break;
-
-                case 'b':
-                    if (con.length == 0)  return -1;
-                    {
-                        int after = getWordType(target, con.start, con.limit, offset, opts);
-                        if (after == WT_IGNORE)  return -1;
-                        int before = getPreviousWordType(target, con.start, con.limit, offset, opts);
-                        if (after == before)  return -1;
-                    }
-                    break;
-
-                case 'B':
-                    if (con.length == 0)
-                        go = true;
-                    else {
-                        int after = getWordType(target, con.start, con.limit, offset, opts);
-                        go = after == WT_IGNORE
-                             || after == getPreviousWordType(target, con.start, con.limit, offset, opts);
-                    }
-                    if (!go)  return -1;
-                    break;
-
-                case '<':
-                    if (con.length == 0 || offset == con.limit)  return -1;
-                    if (getWordType(target, con.start, con.limit, offset, opts) != WT_LETTER
-                        || getPreviousWordType(target, con.start, con.limit, offset, opts) != WT_OTHER)
-                        return -1;
-                    break;
-
-                case '>':
-                    if (con.length == 0 || offset == con.start)  return -1;
-                    if (getWordType(target, con.start, con.limit, offset, opts) != WT_OTHER
-                        || getPreviousWordType(target, con.start, con.limit, offset, opts) != WT_LETTER)
-                        return -1;
-                    break;
-                } // switch anchor type
-                op = op.next;
-                break;
-
-            case Op.BACKREFERENCE:
-                {
-                    int refno = op.getData();
-                    if (refno <= 0 || refno >= this.nofparen)
-                        throw new RuntimeException("Internal Error: Reference number must be more than zero: "+refno);
-                    if (con.match.getBeginning(refno) < 0
-                        || con.match.getEnd(refno) < 0)
-                        return -1;                // ********
-                    int o2 = con.match.getBeginning(refno);
-                    int literallen = con.match.getEnd(refno)-o2;
-                    if (!isSet(opts, IGNORE_CASE)) {
-                        if (dx > 0) {
-                            if (!regionMatches(target, offset, con.limit, o2, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatches(target, offset-literallen, con.limit, o2, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    } else {
-                        if (dx > 0) {
-                            if (!regionMatchesIgnoreCase(target, offset, con.limit, o2, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatchesIgnoreCase(target, offset-literallen, con.limit,
-                                                         o2, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    }
-                }
-                op = op.next;
-                break;
-            case Op.STRING:
-                {
-                    String literal = op.getString();
-                    int literallen = literal.length();
-                    if (!isSet(opts, IGNORE_CASE)) {
-                        if (dx > 0) {
-                            if (!regionMatches(target, offset, con.limit, literal, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatches(target, offset-literallen, con.limit, literal, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    } else {
-                        if (dx > 0) {
-                            if (!regionMatchesIgnoreCase(target, offset, con.limit, literal, literallen))
-                                return -1;
-                            offset += literallen;
-                        } else {
-                            if (!regionMatchesIgnoreCase(target, offset-literallen, con.limit,
-                                                         literal, literallen))
-                                return -1;
-                            offset -= literallen;
-                        }
-                    }
-                }
-                op = op.next;
-                break;
-
-            case Op.CLOSURE:
-                {
-                    /*
-                     * Saves current position to avoid
-                     * zero-width repeats.
-                     */
-                    int id = op.getData();
-                    if (id >= 0) {
-                        int previousOffset = con.offsets[id];
-                        if (previousOffset < 0 || previousOffset != offset) {
-                            con.offsets[id] = offset;
-                        } else {
-                            con.offsets[id] = -1;
-                            op = op.next;
-                            break;
-                        }
-                    }
-                    
-                    int ret = this. matchCharacterIterator (con, op.getChild(), offset, dx, opts);
-                    if (id >= 0)  con.offsets[id] = -1;
-                    if (ret >= 0)  return ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.QUESTION:
-                {
-                    int ret = this. matchCharacterIterator (con, op.getChild(), offset, dx, opts);
-                    if (ret >= 0)  return ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.NONGREEDYCLOSURE:
-            case Op.NONGREEDYQUESTION:
-                {
-                    int ret = this. matchCharacterIterator (con, op.next, offset, dx, opts);
-                    if (ret >= 0)  return ret;
-                    op = op.getChild();
-                }
-                break;
-
-            case Op.UNION:
-                for (int i = 0;  i < op.size();  i ++) {
-                    int ret = this. matchCharacterIterator (con, op.elementAt(i), offset, dx, opts);
-                    if (DEBUG) {
-                        System.err.println("UNION: "+i+", ret="+ret);
-                    }
-                    if (ret >= 0)  return ret;
-                }
-                return -1;
-
-            case Op.CAPTURE:
-                int refno = op.getData();
-                if (con.match != null && refno > 0) {
-                    int save = con.match.getBeginning(refno);
-                    con.match.setBeginning(refno, offset);
-                    int ret = this. matchCharacterIterator (con, op.next, offset, dx, opts);
-                    if (ret < 0)  con.match.setBeginning(refno, save);
-                    return ret;
-                } else if (con.match != null && refno < 0) {
-                    int index = -refno;
-                    int save = con.match.getEnd(index);
-                    con.match.setEnd(index, offset);
-                    int ret = this. matchCharacterIterator (con, op.next, offset, dx, opts);
-                    if (ret < 0)  con.match.setEnd(index, save);
-                    return ret;
-                }
-                op = op.next;
-                break;
-
-            case Op.LOOKAHEAD:
-                if (0 > this. matchCharacterIterator (con, op.getChild(), offset, 1, opts))  return -1;
-                op = op.next;
-                break;
-            case Op.NEGATIVELOOKAHEAD:
-                if (0 <= this. matchCharacterIterator (con, op.getChild(), offset, 1, opts))  return -1;
-                op = op.next;
-                break;
-            case Op.LOOKBEHIND:
-                if (0 > this. matchCharacterIterator (con, op.getChild(), offset, -1, opts))  return -1;
-                op = op.next;
-                break;
-            case Op.NEGATIVELOOKBEHIND:
-                if (0 <= this. matchCharacterIterator (con, op.getChild(), offset, -1, opts))  return -1;
-                op = op.next;
-                break;
-
-            case Op.INDEPENDENT:
-                {
-                    int ret = this. matchCharacterIterator (con, op.getChild(), offset, dx, opts);
-                    if (ret < 0)  return ret;
-                    offset = ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.MODIFIER:
-                {
-                    int localopts = opts;
-                    localopts |= op.getData();
-                    localopts &= ~op.getData2();
-                    //System.err.println("MODIFIER: "+Integer.toString(opts, 16)+" -> "+Integer.toString(localopts, 16));
-                    int ret = this. matchCharacterIterator (con, op.getChild(), offset, dx, localopts);
-                    if (ret < 0)  return ret;
-                    offset = ret;
-                    op = op.next;
-                }
-                break;
-
-            case Op.CONDITION:
-                {
-                    Op.ConditionOp cop = (Op.ConditionOp)op;
-                    boolean matchp = false;
-                    if (cop.refNumber > 0) {
-                        if (cop.refNumber >= this.nofparen)
-                            throw new RuntimeException("Internal Error: Reference number must be more than zero: "+cop.refNumber);
-                        matchp = con.match.getBeginning(cop.refNumber) >= 0
-                                 && con.match.getEnd(cop.refNumber) >= 0;
-                    } else {
-                        matchp = 0 <= this. matchCharacterIterator (con, cop.condition, offset, dx, opts);
-                    }
-
-                    if (matchp) {
-                        op = cop.yes;
-                    } else if (cop.no != null) {
-                        op = cop.no;
-                    } else {
-                        op = cop.next;
-                    }
-                }
-                break;
-
-            default:
-                throw new RuntimeException("Unknown operation type: "+op.type);
-            } // switch (op.type)
-        } // while
-    }
-
-    private static final int getPreviousWordType(CharacterIterator  target, int begin, int end,
-                                                 int offset, int opts) {
-        int ret = getWordType(target, begin, end, --offset, opts);
-        while (ret == WT_IGNORE)
-            ret = getWordType(target, begin, end, --offset, opts);
-        return ret;
-    }
-
-    private static final int getWordType(CharacterIterator  target, int begin, int end,
-                                         int offset, int opts) {
-        if (offset < begin || offset >= end)  return WT_OTHER;
-        return getWordType0( target .setIndex(  offset ) , opts);
-    }
-
-
-
-    private static final boolean regionMatches(CharacterIterator  target, int offset, int limit,
-                                               String part, int partlen) {
-        if (offset < 0)  return false;
-        if (limit-offset < partlen)
-            return false;
-        int i = 0;
-        while (partlen-- > 0) {
-            if ( target .setIndex(  offset++ )  != part.charAt(i++))
-                return false;
-        }
-        return true;
-    }
-
-    private static final boolean regionMatches(CharacterIterator  target, int offset, int limit,
-                                               int offset2, int partlen) {
-        if (offset < 0)  return false;
-        if (limit-offset < partlen)
-            return false;
-        int i = offset2;
-        while (partlen-- > 0) {
-            if ( target .setIndex(  offset++ )  !=  target .setIndex(  i++ ) )
-                return false;
-        }
-        return true;
-    }
-
-    /**
-     * @see java.lang.String#regionMatches
-     */
-    private static final boolean regionMatchesIgnoreCase(CharacterIterator  target, int offset, int limit,
-                                                         String part, int partlen) {
-        if (offset < 0)  return false;
-        if (limit-offset < partlen)
-            return false;
-        int i = 0;
-        while (partlen-- > 0) {
-            char ch1 =  target .setIndex(  offset++ ) ;
-            char ch2 = part.charAt(i++);
-            if (ch1 == ch2)
-                continue;
-            char uch1 = Character.toUpperCase(ch1);
-            char uch2 = Character.toUpperCase(ch2);
-            if (uch1 == uch2)
-                continue;
-            if (Character.toLowerCase(uch1) != Character.toLowerCase(uch2))
-                return false;
-        }
-        return true;
-    }
-
-    private static final boolean regionMatchesIgnoreCase(CharacterIterator  target, int offset, int limit,
-                                                         int offset2, int partlen) {
-        if (offset < 0)  return false;
-        if (limit-offset < partlen)
-            return false;
-        int i = offset2;
-        while (partlen-- > 0) {
-            char ch1 =  target .setIndex(  offset++ ) ;
-            char ch2 =  target .setIndex(  i++ ) ;
-            if (ch1 == ch2)
-                continue;
-            char uch1 = Character.toUpperCase(ch1);
-            char uch2 = Character.toUpperCase(ch2);
-            if (uch1 == uch2)
-                continue;
-            if (Character.toLowerCase(uch1) != Character.toLowerCase(uch2))
-                return false;
-        }
-        return true;
-    }
-
-
-
-
-    // ================================================================
-
-    /**
-     * A regular expression.
-     * @serial
-     */
-    String regex;
-    /**
-     * @serial
-     */
-    int options;
-
-    /**
-     * The number of parenthesis in the regular expression.
-     * @serial
-     */
-    int nofparen;
-    /**
-     * Internal representation of the regular expression.
-     * @serial
-     */
-    Token tokentree;
-
-    boolean hasBackReferences = false;
-
-    transient int minlength;
-    transient Op operations = null;
-    transient int numberOfClosures;
-    transient Context context = null;
-    transient RangeToken firstChar = null;
-
-    transient String fixedString = null;
-    transient int fixedStringOptions;
-    transient BMPattern fixedStringTable = null;
-    transient boolean fixedStringOnly = false;
-
-
-    static final class Context {
-        CharacterIterator ciTarget;
-        String strTarget;
-        char[] charTarget;
-        int start;
-        int limit;
-        int length;
-        Match match;
-        boolean inuse = false;
-        int[] offsets;
-
-        Context() {
-        }
-
-        private void resetCommon(int nofclosures) {
-            this.length = this.limit-this.start;
-            this.inuse = true;
-            this.match = null;
-            if (this.offsets == null || this.offsets.length != nofclosures)
-                this.offsets = new int[nofclosures];
-            for (int i = 0;  i < nofclosures;  i ++)  this.offsets[i] = -1;
-        }
-        void reset(CharacterIterator target, int start, int limit, int nofclosures) {
-            this.ciTarget = target;
-            this.start = start;
-            this.limit = limit;
-            this.resetCommon(nofclosures);
-        }
-        void reset(String target, int start, int limit, int nofclosures) {
-            this.strTarget = target;
-            this.start = start;
-            this.limit = limit;
-            this.resetCommon(nofclosures);
-        }
-        void reset(char[] target, int start, int limit, int nofclosures) {
-            this.charTarget = target;
-            this.start = start;
-            this.limit = limit;
-            this.resetCommon(nofclosures);
-        }
-    }
-
-    /**
-     * Prepares for matching.  This method is called just before starting matching.
-     */
-    void prepare() {
-        if (Op.COUNT)  Op.nofinstances = 0;
-        this.compile(this.tokentree);
-        /*
-        if  (this.operations.type == Op.CLOSURE && this.operations.getChild().type == Op.DOT) { // .*
-            Op anchor = Op.createAnchor(isSet(this.options, SINGLE_LINE) ? 'A' : '@');
-            anchor.next = this.operations;
-            this.operations = anchor;
-        }
-        */
-        if (Op.COUNT)  System.err.println("DEBUG: The number of operations: "+Op.nofinstances);
-
-        this.minlength = this.tokentree.getMinLength();
-
-        this.firstChar = null;
-        if (!isSet(this.options, PROHIBIT_HEAD_CHARACTER_OPTIMIZATION)
-            && !isSet(this.options, XMLSCHEMA_MODE)) {
-            RangeToken firstChar = Token.createRange();
-            int fresult = this.tokentree.analyzeFirstCharacter(firstChar, this.options);
-            if (fresult == Token.FC_TERMINAL) {
-                firstChar.compactRanges();
-                this.firstChar = firstChar;
-                if (DEBUG)
-                    System.err.println("DEBUG: Use the first character optimization: "+firstChar);
-            }
-        }
-
-        if (this.operations != null
-            && (this.operations.type == Op.STRING || this.operations.type == Op.CHAR)
-            && this.operations.next == null) {
-            if (DEBUG)
-                System.err.print(" *** Only fixed string! *** ");
-            this.fixedStringOnly = true;
-            if (this.operations.type == Op.STRING)
-                this.fixedString = this.operations.getString();
-            else if (this.operations.getData() >= 0x10000) { // Op.CHAR
-                this.fixedString = REUtil.decomposeToSurrogates(this.operations.getData());
-            } else {
-                char[] ac = new char[1];
-                ac[0] = (char)this.operations.getData();
-                this.fixedString = new String(ac);
-            }
-            this.fixedStringOptions = this.options;
-            this.fixedStringTable = new BMPattern(this.fixedString, 256,
-                                                  isSet(this.fixedStringOptions, IGNORE_CASE));
-        } else if (!isSet(this.options, PROHIBIT_FIXED_STRING_OPTIMIZATION)
-                   && !isSet(this.options, XMLSCHEMA_MODE)) {
-            Token.FixedStringContainer container = new Token.FixedStringContainer();
-            this.tokentree.findFixedString(container, this.options);
-            this.fixedString = container.token == null ? null : container.token.getString();
-            this.fixedStringOptions = container.options;
-            if (this.fixedString != null && this.fixedString.length() < 2)
-                this.fixedString = null;
-            // This pattern has a fixed string of which length is more than one.
-            if (this.fixedString != null) {
-                this.fixedStringTable = new BMPattern(this.fixedString, 256,
-                                                      isSet(this.fixedStringOptions, IGNORE_CASE));
-                if (DEBUG) {
-                    System.err.println("DEBUG: The longest fixed string: "+this.fixedString.length()
-                                       +"/" //+this.fixedString
-                                       +"/"+REUtil.createOptionString(this.fixedStringOptions));
-                    System.err.print("String: ");
-                    REUtil.dumpString(this.fixedString);
-                }
-            }
-        }
-    }
-
-    /**
-     * An option.
-     * If you specify this option, <span class="REGEX"><kbd>(</kbd><var>X</var><kbd>)</kbd></span>
-     * captures matched text, and <span class="REGEX"><kbd>(:?</kbd><var>X</var><kbd>)</kbd></span>
-     * does not capture.
-     *
-     * @see #RegularExpression(java.lang.String,int)
-     * @see #setPattern(java.lang.String,int)
-    static final int MARK_PARENS = 1<<0;
-     */
-
-    /**
-     * "i"
-     */
-    static final int IGNORE_CASE = 1<<1;
-
-    /**
-     * "s"
-     */
-    static final int SINGLE_LINE = 1<<2;
-
-    /**
-     * "m"
-     */
-    static final int MULTIPLE_LINES = 1<<3;
-
-    /**
-     * "x"
-     */
-    static final int EXTENDED_COMMENT = 1<<4;
-
-    /**
-     * This option redefines <span class="REGEX"><kbd>\d \D \w \W \s \S</kbd></span>.
-     *
-     * @see #RegularExpression(java.lang.String,int)
-     * @see #setPattern(java.lang.String,int)
-     * @see #UNICODE_WORD_BOUNDARY
-     */
-    static final int USE_UNICODE_CATEGORY = 1<<5; // "u"
-
-    /**
-     * An option.
-     * This enables to process locale-independent word boundary for <span class="REGEX"><kbd>\b \B \&lt; \></kbd></span>.
-     * <p>By default, the engine considers a position between a word character
-     * (<span class="REGEX"><Kbd>\w</kbd></span>) and a non word character
-     * is a word boundary.
-     * <p>By this option, the engine checks word boundaries with the method of
-     * 'Unicode Regular Expression Guidelines' Revision 4.
-     *
-     * @see #RegularExpression(java.lang.String,int)
-     * @see #setPattern(java.lang.String,int)
-     */
-    static final int UNICODE_WORD_BOUNDARY = 1<<6; // "w"
-
-    /**
-     * "H"
-     */
-    static final int PROHIBIT_HEAD_CHARACTER_OPTIMIZATION = 1<<7;
-    /**
-     * "F"
-     */
-    static final int PROHIBIT_FIXED_STRING_OPTIMIZATION = 1<<8;
-    /**
-     * "X". XML Schema mode.
-     */
-    static final int XMLSCHEMA_MODE = 1<<9;
-    /**
-     * ",".
-     */
-    static final int SPECIAL_COMMA = 1<<10;
-
-
-    private static final boolean isSet(int options, int flag) {
-        return (options & flag) == flag;
-    }
-
-    /**
-     * Creates a new RegularExpression instance.
-     *
-     * @param regex A regular expression
-     * @exception org.apache.xerces.utils.regex.ParseException <VAR>regex</VAR> is not conforming to the syntax.
-     */
-    public RegularExpression(String regex) throws ParseException {
-        this.setPattern(regex, null);
-    }
-
-    /**
-     * Creates a new RegularExpression instance with options.
-     *
-     * @param regex A regular expression
-     * @param options A String consisted of "i" "m" "s" "u" "w" "," "X"
-     * @exception org.apache.xerces.utils.regex.ParseException <VAR>regex</VAR> is not conforming to the syntax.
-     */
-    public RegularExpression(String regex, String options) throws ParseException {
-        this.setPattern(regex, options);
-    }
-
-    RegularExpression(String regex, Token tok, int parens, boolean hasBackReferences, int options) {
-        this.regex = regex;
-        this.tokentree = tok;
-        this.nofparen = parens;
-        this.options = options;
-        this.hasBackReferences = hasBackReferences;
-    }
-
-    /**
-     *
-     */
-    public void setPattern(String newPattern) throws ParseException {
-        this.setPattern(newPattern, this.options);
-    }
-
-    private void setPattern(String newPattern, int options) throws ParseException {
-        this.regex = newPattern;
-        this.options = options;
-        RegexParser rp = this.isSet(this.options, RegularExpression.XMLSCHEMA_MODE)
-                         ? new ParserForXMLSchema() : new RegexParser();
-        this.tokentree = rp.parse(this.regex, this.options);
-        this.nofparen = rp.parennumber;
-        this.hasBackReferences = rp.hasBackReferences;
-
-        this.operations = null;
-        this.context = null;
-    }
-    /**
-     *
-     */
-    public void setPattern(String newPattern, String options) throws ParseException {
-        this.setPattern(newPattern, REUtil.parseOptions(options));
-    }
-
-    /**
-     *
-     */
-    public String getPattern() {
-        return this.regex;
-    }
-
-    /**
-     * Represents this instence in String.
-     */
-    public String toString() {
-        return this.tokentree.toString(this.options);
-    }
-
-    /**
-     * Returns a option string.
-     * The order of letters in it may be different from a string specified
-     * in a constructor or <code>setPattern()</code>.
-     *
-     * @see #RegularExpression(java.lang.String,java.lang.String)
-     * @see #setPattern(java.lang.String,java.lang.String)
-     */
-    public String getOptions() {
-        return REUtil.createOptionString(this.options);
-    }
-
-    /**
-     *  Return true if patterns are the same and the options are equivalent.
-     */
-    public boolean equals(Object obj) {
-        if (obj == null)  return false;
-        if (!(obj instanceof RegularExpression))
-            return false;
-        RegularExpression r = (RegularExpression)obj;
-        return this.regex.equals(r.regex) && this.options == r.options;
-    }
-
-    boolean equals(String pattern, int options) {
-        return this.regex.equals(pattern) && this.options == options;
-    }
-
-    /**
-     *
-     */
-    public int hashCode() {
-        return (this.regex+"/"+this.getOptions()).hashCode();
-    }
-
-    /**
-     * Return the number of regular expression groups.
-     * This method returns 1 when the regular expression has no capturing-parenthesis.
-     *
-     */
-    public int getNumberOfGroups() {
-        return this.nofparen;
-    }
-
-    // ================================================================
-
-    private static final int WT_IGNORE = 0;
-    private static final int WT_LETTER = 1;
-    private static final int WT_OTHER = 2;
-    private static final int getWordType0(char ch, int opts) {
-        if (!isSet(opts, UNICODE_WORD_BOUNDARY)) {
-            if (isSet(opts, USE_UNICODE_CATEGORY)) {
-                return (Token.getRange("IsWord", true).match(ch)) ? WT_LETTER : WT_OTHER;
-            }
-            return isWordChar(ch) ? WT_LETTER : WT_OTHER;
-        }
-
-        switch (Character.getType(ch)) {
-        case Character.UPPERCASE_LETTER:      // L
-        case Character.LOWERCASE_LETTER:      // L
-        case Character.TITLECASE_LETTER:      // L
-        case Character.MODIFIER_LETTER:       // L
-        case Character.OTHER_LETTER:          // L
-        case Character.LETTER_NUMBER:         // N
-        case Character.DECIMAL_DIGIT_NUMBER:  // N
-        case Character.OTHER_NUMBER:          // N
-        case Character.COMBINING_SPACING_MARK: // Mc
-            return WT_LETTER;
-
-        case Character.FORMAT:                // Cf
-        case Character.NON_SPACING_MARK:      // Mn
-        case Character.ENCLOSING_MARK:        // Mc
-            return WT_IGNORE;
-
-        case Character.CONTROL:               // Cc
-            switch (ch) {
-            case '\t':
-            case '\n':
-            case '\u000B':
-            case '\f':
-            case '\r':
-                return WT_OTHER;
-            default:
-                return WT_IGNORE;
-            }
-
-        default:
-            return WT_OTHER;
-        }
-    }
-
-    // ================================================================
-
-    static final int LINE_FEED = 0x000A;
-    static final int CARRIAGE_RETURN = 0x000D;
-    static final int LINE_SEPARATOR = 0x2028;
-    static final int PARAGRAPH_SEPARATOR = 0x2029;
-
-    private static final boolean isEOLChar(int ch) {
-        return ch == LINE_FEED || ch == CARRIAGE_RETURN || ch == LINE_SEPARATOR
-        || ch == PARAGRAPH_SEPARATOR;
-    }
-
-    private static final boolean isWordChar(int ch) { // Legacy word characters
-        if (ch == '_')  return true;
-        if (ch < '0')  return false;
-        if (ch > 'z')  return false;
-        if (ch <= '9')  return true;
-        if (ch < 'A')  return false;
-        if (ch <= 'Z')  return true;
-        if (ch < 'a')  return false;
-        return true;
-    }
-
-    private static final boolean matchIgnoreCase(int chardata, int ch) {
-        if (chardata == ch)  return true;
-        if (chardata > 0xffff || ch > 0xffff)  return false;
-        char uch1 = Character.toUpperCase((char)chardata);
-        char uch2 = Character.toUpperCase((char)ch);
-        if (uch1 == uch2)  return true;
-        return Character.toLowerCase(uch1) == Character.toLowerCase(uch2);
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/SchemaRegularExpression.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/SchemaRegularExpression.java
deleted file mode 100644
index 8e2ade8..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/SchemaRegularExpression.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.regex;
-
-import org.apache.xmlbeans.impl.common.XMLChar;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class SchemaRegularExpression extends RegularExpression
-{
-    private SchemaRegularExpression(String pattern)
-    {
-        super(pattern, "X");
-    }
-
-    public static RegularExpression forPattern(String s)
-    {
-        SchemaRegularExpression tre = (SchemaRegularExpression)knownPatterns.get(s);
-        if (tre != null)
-            return tre;
-        return new RegularExpression(s, "X");
-    }
-
-    static final Map knownPatterns = buildKnownPatternMap();
-
-    private static Map buildKnownPatternMap()
-    {
-        Map result = new HashMap();
-        result.put("\\c+", new SchemaRegularExpression("\\c+")
-            { public boolean matches(String s) { return XMLChar.isValidNmtoken(s); } } );
-        result.put("\\i\\c*", new SchemaRegularExpression("\\i\\c*")
-            { public boolean matches(String s) { return XMLChar.isValidName(s); } } );
-        result.put("[\\i-[:]][\\c-[:]]*", new SchemaRegularExpression("[\\i-[:]][\\c-[:]]*")
-            { public boolean matches(String s) { return XMLChar.isValidNCName(s); } } );
-        return result;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/Token.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/Token.java
deleted file mode 100644
index 89312ee..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/Token.java
+++ /dev/null
@@ -1,1562 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.regex;
-
-import java.util.Vector;
-import java.util.Hashtable;
-
-/**
- * This class represents a node in parse tree.
- */
-class Token implements java.io.Serializable {
-    static final boolean COUNTTOKENS = true;
-    static int tokens = 0;
-
-    static final int CHAR = 0;                  // Literal char
-    static final int DOT = 11;                  // .
-    static final int CONCAT = 1;                // XY
-    static final int UNION = 2;                 // X|Y|Z
-    static final int CLOSURE = 3;               // X*
-    static final int RANGE = 4;                 // [a-zA-Z] etc.
-    static final int NRANGE = 5;                // [^a-zA-Z] etc.
-    static final int PAREN = 6;                 // (X) or (?:X)
-    static final int EMPTY = 7;                 //
-    static final int ANCHOR = 8;                // ^ $ \b \B \< \> \A \Z \z
-    static final int NONGREEDYCLOSURE = 9;      // *? +?
-    static final int STRING = 10;               // strings
-    static final int BACKREFERENCE = 12;        // back references
-    static final int LOOKAHEAD = 20;            // (?=...)
-    static final int NEGATIVELOOKAHEAD = 21;    // (?!...)
-    static final int LOOKBEHIND = 22;           // (?<=...)
-    static final int NEGATIVELOOKBEHIND = 23;   // (?<!...)
-    static final int INDEPENDENT = 24;          // (?>...)
-    static final int MODIFIERGROUP = 25;        // (?ims-ims:...)
-    static final int CONDITION = 26;            // (?(...)yes|no)
-
-    static final int UTF16_MAX = 0x10ffff;
-
-    int type;
-
-    static Token token_dot;
-    static Token token_0to9;
-    static Token token_wordchars;
-    static Token token_not_0to9;
-    static Token token_not_wordchars;
-    static Token token_spaces;
-    static Token token_not_spaces;
-    static Token token_empty;
-    static Token token_linebeginning;
-    static Token token_linebeginning2;
-    static Token token_lineend;
-    static Token token_stringbeginning;
-    static Token token_stringend;
-    static Token token_stringend2;
-    static Token token_wordedge;
-    static Token token_not_wordedge;
-    static Token token_wordbeginning;
-    static Token token_wordend;
-    static {
-        Token.token_empty = new Token(Token.EMPTY);
-
-        Token.token_linebeginning = Token.createAnchor('^');
-        Token.token_linebeginning2 = Token.createAnchor('@');
-        Token.token_lineend = Token.createAnchor('$');
-        Token.token_stringbeginning = Token.createAnchor('A');
-        Token.token_stringend = Token.createAnchor('z');
-        Token.token_stringend2 = Token.createAnchor('Z');
-        Token.token_wordedge = Token.createAnchor('b');
-        Token.token_not_wordedge = Token.createAnchor('B');
-        Token.token_wordbeginning = Token.createAnchor('<');
-        Token.token_wordend = Token.createAnchor('>');
-
-        Token.token_dot = new Token(Token.DOT);
-
-        Token.token_0to9 = Token.createRange();
-        Token.token_0to9.addRange('0', '9');
-        Token.token_wordchars = Token.createRange();
-        Token.token_wordchars.addRange('0', '9');
-        Token.token_wordchars.addRange('A', 'Z');
-        Token.token_wordchars.addRange('_', '_');
-        Token.token_wordchars.addRange('a', 'z');
-        Token.token_spaces = Token.createRange();
-        Token.token_spaces.addRange('\t', '\t');
-        Token.token_spaces.addRange('\n', '\n');
-        Token.token_spaces.addRange('\f', '\f');
-        Token.token_spaces.addRange('\r', '\r');
-        Token.token_spaces.addRange(' ', ' ');
-
-        Token.token_not_0to9 = Token.complementRanges(Token.token_0to9);
-        Token.token_not_wordchars = Token.complementRanges(Token.token_wordchars);
-        Token.token_not_spaces = Token.complementRanges(Token.token_spaces);
-    }
-
-    static Token.ParenToken createLook(int type, Token child) {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.ParenToken(type, child, 0);
-    }
-    static Token.ParenToken createParen(Token child, int pnumber) {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.ParenToken(Token.PAREN, child, pnumber);
-    }
-    static Token.ClosureToken createClosure(Token tok) {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.ClosureToken(Token.CLOSURE, tok);
-    }
-    static Token.ClosureToken createNGClosure(Token tok) {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.ClosureToken(Token.NONGREEDYCLOSURE, tok);
-    }
-    static Token.ConcatToken createConcat(Token tok1, Token tok2) {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.ConcatToken(tok1, tok2);
-    }
-    static Token.UnionToken createConcat() {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.UnionToken(Token.CONCAT); // *** It is not a bug.
-    }
-    static Token.UnionToken createUnion() {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.UnionToken(Token.UNION);
-    }
-    static Token createEmpty() {
-        return Token.token_empty;
-    }
-    static RangeToken createRange() {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new RangeToken(Token.RANGE);
-    }
-    static RangeToken createNRange() {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new RangeToken(Token.NRANGE);
-    }
-    static Token.CharToken createChar(int ch) {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.CharToken(Token.CHAR, ch);
-    }
-    static private Token.CharToken createAnchor(int ch) {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.CharToken(Token.ANCHOR, ch);
-    }
-    static Token.StringToken createBackReference(int refno) {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.StringToken(Token.BACKREFERENCE, null, refno);
-    }
-    static Token.StringToken createString(String str) {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.StringToken(Token.STRING, str, 0);
-    }
-    static Token.ModifierToken createModifierGroup(Token child, int add, int mask) {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.ModifierToken(child, add, mask);
-    }
-    static Token.ConditionToken createCondition(int refno, Token condition,
-                                                Token yespat, Token nopat) {
-        if (COUNTTOKENS)  Token.tokens ++;
-        return new Token.ConditionToken(refno, condition, yespat, nopat);
-    }
-
-    protected Token(int type) {
-        this.type = type;
-    }
-
-    /**
-     * A number of children.
-     */
-    int size() {
-        return 0;
-    }
-    Token getChild(int index) {
-        return null;
-    }
-    void addChild(Token tok) {
-        throw new RuntimeException("Not supported.");
-    }
-
-                                                // for RANGE or NRANGE
-    protected void addRange(int start, int end) {
-        throw new RuntimeException("Not supported.");
-    }
-    protected void sortRanges() {
-        throw new RuntimeException("Not supported.");
-    }
-    protected void compactRanges() {
-        throw new RuntimeException("Not supported.");
-    }
-    protected void mergeRanges(Token tok) {
-        throw new RuntimeException("Not supported.");
-    }
-    protected void subtractRanges(Token tok) {
-        throw new RuntimeException("Not supported.");
-    }
-    protected void intersectRanges(Token tok) {
-        throw new RuntimeException("Not supported.");
-    }
-    static Token complementRanges(Token tok) {
-        return RangeToken.complementRanges(tok);
-    }
-
-
-    void setMin(int min) {                      // for CLOSURE
-    }
-    void setMax(int max) {                      // for CLOSURE
-    }
-    int getMin() {                              // for CLOSURE
-        return -1;
-    }
-    int getMax() {                              // for CLOSURE
-        return -1;
-    }
-    int getReferenceNumber() {                  // for STRING
-        return 0;
-    }
-    String getString() {                        // for STRING
-        return null;
-    }
-
-    int getParenNumber() {
-        return 0;
-    }
-    int getChar() {
-        return -1;
-    }
-
-    public String toString() {
-        return this.toString(0);
-    }
-    public String toString(int options) {
-        return this.type == Token.DOT ? "." : "";
-    }
-
-    /**
-     * How many characters are needed?
-     */
-    final int getMinLength() {
-        switch (this.type) {
-          case CONCAT:
-            int sum = 0;
-            for (int i = 0;  i < this.size();  i ++)
-                sum += this.getChild(i).getMinLength();
-            return sum;
-
-          case CONDITION:
-          case UNION:
-            if (this.size() == 0)
-                return 0;
-            int ret = this.getChild(0).getMinLength();
-            for (int i = 1;  i < this.size();  i ++) {
-                int min = this.getChild(i).getMinLength();
-                if (min < ret)  ret = min;
-            }
-            return ret;
-
-          case CLOSURE:
-          case NONGREEDYCLOSURE:
-            if (this.getMin() >= 0)
-                return this.getMin() * this.getChild(0).getMinLength();
-            return 0;
-
-          case EMPTY:
-          case ANCHOR:
-            return 0;
-
-          case DOT:
-          case CHAR:
-          case RANGE:
-          case NRANGE:
-            return 1;
-
-          case INDEPENDENT:
-          case PAREN:
-          case MODIFIERGROUP:
-            return this.getChild(0).getMinLength();
-
-          case BACKREFERENCE:
-            return 0;                           // *******
-
-          case STRING:
-            return this.getString().length();
-
-          case LOOKAHEAD:
-          case NEGATIVELOOKAHEAD:
-          case LOOKBEHIND:
-          case NEGATIVELOOKBEHIND:
-            return 0;                           // ***** Really?
-
-          default:
-            throw new RuntimeException("Token#getMinLength(): Invalid Type: "+this.type);
-        }
-    }
-
-    final int getMaxLength() {
-        switch (this.type) {
-          case CONCAT:
-            int sum = 0;
-            for (int i = 0;  i < this.size();  i ++) {
-                int d = this.getChild(i).getMaxLength();
-                if (d < 0)  return -1;
-                sum += d;
-            }
-            return sum;
-
-          case CONDITION:
-          case UNION:
-            if (this.size() == 0)
-                return 0;
-            int ret = this.getChild(0).getMaxLength();
-            for (int i = 1;  ret >= 0 && i < this.size();  i ++) {
-                int max = this.getChild(i).getMaxLength();
-                if (max < 0) {                  // infinity
-                    ret = -1;
-                    break;
-                }
-                if (max > ret)  ret = max;
-            }
-            return ret;
-
-          case CLOSURE:
-          case NONGREEDYCLOSURE:
-            if (this.getMax() >= 0)
-                                                // When this.child.getMaxLength() < 0,
-                                                // this returns minus value
-                return this.getMax() * this.getChild(0).getMaxLength();
-            return -1;
-
-          case EMPTY:
-          case ANCHOR:
-            return 0;
-
-          case CHAR:
-            return 1;
-          case DOT:
-          case RANGE:
-          case NRANGE:
-            return 2;
-
-          case INDEPENDENT:
-          case PAREN:
-          case MODIFIERGROUP:
-            return this.getChild(0).getMaxLength();
-
-          case BACKREFERENCE:
-            return -1;                          // ******
-
-          case STRING:
-            return this.getString().length();
-
-          case LOOKAHEAD:
-          case NEGATIVELOOKAHEAD:
-          case LOOKBEHIND:
-          case NEGATIVELOOKBEHIND:
-            return 0;                           // ***** Really?
-
-          default:
-            throw new RuntimeException("Token#getMaxLength(): Invalid Type: "+this.type);
-        }
-    }
-
-    static final int FC_CONTINUE = 0;
-    static final int FC_TERMINAL = 1;
-    static final int FC_ANY = 2;
-    private static final boolean isSet(int options, int flag) {
-        return (options & flag) == flag;
-    }
-    final int analyzeFirstCharacter(RangeToken result, int options) {
-        switch (this.type) {
-          case CONCAT:
-            int ret = FC_CONTINUE;
-            for (int i = 0;  i < this.size();  i ++)
-                if ((ret = this.getChild(i).analyzeFirstCharacter(result, options)) != FC_CONTINUE)
-                    break;
-            return ret;
-
-          case UNION:
-            if (this.size() == 0)
-                return FC_CONTINUE;
-            /*
-             *  a|b|c -> FC_TERMINAL
-             *  a|.|c -> FC_ANY
-             *  a|b|  -> FC_CONTINUE
-             */
-            int ret2 = FC_CONTINUE;
-            boolean hasEmpty = false;
-            for (int i = 0;  i < this.size();  i ++) {
-                ret2 = this.getChild(i).analyzeFirstCharacter(result, options);
-                if (ret2 == FC_ANY)
-                    break;
-                else if (ret2 == FC_CONTINUE)
-                    hasEmpty = true;
-            }
-            return hasEmpty ? FC_CONTINUE : ret2;
-
-          case CONDITION:
-            int ret3 = this.getChild(0).analyzeFirstCharacter(result, options);
-            if (this.size() == 1)  return FC_CONTINUE;
-            if (ret3 == FC_ANY)  return ret3;
-            int ret4 = this.getChild(1).analyzeFirstCharacter(result, options);
-            if (ret4 == FC_ANY)  return ret4;
-            return ret3 == FC_CONTINUE || ret4 == FC_CONTINUE ? FC_CONTINUE : FC_TERMINAL;
-
-          case CLOSURE:
-          case NONGREEDYCLOSURE:
-            this.getChild(0).analyzeFirstCharacter(result, options);
-            return FC_CONTINUE;
-
-          case EMPTY:
-          case ANCHOR:
-            return FC_CONTINUE;
-
-          case CHAR:
-            int ch = this.getChar();
-            result.addRange(ch, ch);
-            if (ch < 0x10000 && isSet(options, RegularExpression.IGNORE_CASE)) {
-                ch = Character.toUpperCase((char)ch);
-                result.addRange(ch, ch);
-                ch = Character.toLowerCase((char)ch);
-                result.addRange(ch, ch);
-            }
-            return FC_TERMINAL;
-
-          case DOT:                             // ****
-            if (isSet(options, RegularExpression.SINGLE_LINE)) {
-                return FC_CONTINUE;             // **** We can not optimize.
-            } else {
-                return FC_CONTINUE;
-                /*
-                result.addRange(0, RegularExpression.LINE_FEED-1);
-                result.addRange(RegularExpression.LINE_FEED+1, RegularExpression.CARRIAGE_RETURN-1);
-                result.addRange(RegularExpression.CARRIAGE_RETURN+1,
-                                RegularExpression.LINE_SEPARATOR-1);
-                result.addRange(RegularExpression.PARAGRAPH_SEPARATOR+1, UTF16_MAX);
-                return 1;
-                */
-            }
-
-          case RANGE:
-            if (isSet(options, RegularExpression.IGNORE_CASE)) {
-                result.mergeRanges(((RangeToken)this).getCaseInsensitiveToken());
-            } else {
-                result.mergeRanges(this);
-            }
-            return FC_TERMINAL;
-
-          case NRANGE:                          // ****
-            if (isSet(options, RegularExpression.IGNORE_CASE)) {
-                result.mergeRanges(Token.complementRanges(((RangeToken)this).getCaseInsensitiveToken()));
-            } else {
-                result.mergeRanges(Token.complementRanges(this));
-            }
-            return FC_TERMINAL;
-
-          case INDEPENDENT:
-          case PAREN:
-            return this.getChild(0).analyzeFirstCharacter(result, options);
-
-          case MODIFIERGROUP:
-            options |= ((ModifierToken)this).getOptions();
-            options &= ~((ModifierToken)this).getOptionsMask();
-            return this.getChild(0).analyzeFirstCharacter(result, options);
-
-          case BACKREFERENCE:
-            result.addRange(0, UTF16_MAX);  // **** We can not optimize.
-            return FC_ANY;
-
-          case STRING:
-            int cha = this.getString().charAt(0);
-            int ch2;
-            if (REUtil.isHighSurrogate(cha)
-                && this.getString().length() >= 2
-                && REUtil.isLowSurrogate((ch2 = this.getString().charAt(1))))
-                cha = REUtil.composeFromSurrogates(cha, ch2);
-            result.addRange(cha, cha);
-            if (cha < 0x10000 && isSet(options, RegularExpression.IGNORE_CASE)) {
-                cha = Character.toUpperCase((char)cha);
-                result.addRange(cha, cha);
-                cha = Character.toLowerCase((char)cha);
-                result.addRange(cha, cha);
-            }
-            return FC_TERMINAL;
-
-          case LOOKAHEAD:
-          case NEGATIVELOOKAHEAD:
-          case LOOKBEHIND:
-          case NEGATIVELOOKBEHIND:
-            return FC_CONTINUE;
-
-          default:
-            throw new RuntimeException("Token#analyzeHeadCharacter(): Invalid Type: "+this.type);
-        }
-    }
-
-    private final boolean isShorterThan(Token tok) {
-        if (tok == null)  return false;
-        /*
-        int mylength;
-        if (this.type == STRING)  mylength = this.getString().length();
-        else if (this.type == CHAR)  mylength = this.getChar() >= 0x10000 ? 2 : 1;
-        else throw new RuntimeException("Internal Error: Illegal type: "+this.type);
-        int otherlength;
-        if (tok.type == STRING)  otherlength = tok.getString().length();
-        else if (tok.type == CHAR)  otherlength = tok.getChar() >= 0x10000 ? 2 : 1;
-        else throw new RuntimeException("Internal Error: Illegal type: "+tok.type);
-        */
-        int mylength;
-        if (this.type == STRING)  mylength = this.getString().length();
-        else throw new RuntimeException("Internal Error: Illegal type: "+this.type);
-        int otherlength;
-        if (tok.type == STRING)  otherlength = tok.getString().length();
-        else throw new RuntimeException("Internal Error: Illegal type: "+tok.type);
-        return mylength < otherlength;
-    }
-
-    static class FixedStringContainer {
-        Token token = null;
-        int options = 0;
-        FixedStringContainer() {
-        }
-    }
-
-    final void findFixedString(FixedStringContainer container, int options) {
-        switch (this.type) {
-          case CONCAT:
-            Token prevToken = null;
-            int prevOptions = 0;
-            for (int i = 0;  i < this.size();  i ++) {
-                this.getChild(i).findFixedString(container, options);
-                if (prevToken == null || prevToken.isShorterThan(container.token)) {
-                    prevToken = container.token;
-                    prevOptions = container.options;
-                }
-            }
-            container.token = prevToken;
-            container.options = prevOptions;
-            return;
-
-          case UNION:
-          case CLOSURE:
-          case NONGREEDYCLOSURE:
-          case EMPTY:
-          case ANCHOR:
-          case RANGE:
-          case DOT:
-          case NRANGE:
-          case BACKREFERENCE:
-          case LOOKAHEAD:
-          case NEGATIVELOOKAHEAD:
-          case LOOKBEHIND:
-          case NEGATIVELOOKBEHIND:
-          case CONDITION:
-            container.token = null;
-            return;
-
-          case CHAR:                            // Ignore CHAR tokens.
-            container.token = null;             // **
-            return;                             // **
-
-          case STRING:
-            container.token = this;
-            container.options = options;
-            return;
-
-          case INDEPENDENT:
-          case PAREN:
-            this.getChild(0).findFixedString(container, options);
-            return;
-
-          case MODIFIERGROUP:
-            options |= ((ModifierToken)this).getOptions();
-            options &= ~((ModifierToken)this).getOptionsMask();
-            this.getChild(0).findFixedString(container, options);
-            return;
-
-          default:
-            throw new RuntimeException("Token#findFixedString(): Invalid Type: "+this.type);
-        }
-    }
-
-    boolean match(int ch) {
-        throw new RuntimeException("NFAArrow#match(): Internal error: "+this.type);
-    }
-
-    // ------------------------------------------------------
-    private final static Hashtable categories = new Hashtable();
-    private final static Hashtable categories2 = new Hashtable();
-    private static final String[] categoryNames = {
-        "Cn", "Lu", "Ll", "Lt", "Lm", "Lo", "Mn", "Me", "Mc", "Nd",
-        "Nl", "No", "Zs", "Zl", "Zp", "Cc", "Cf", null, "Co", "Cs",
-        "Pd", "Ps", "Pe", "Pc", "Po", "Sm", "Sc", "Sk", "So", // 28
-        "Pi", "Pf",  // 29, 30
-        "L", "M", "N", "Z", "C", "P", "S",      // 31-37
-    };
-
-    // Schema Rec. {Datatypes} - Punctuation 
-    static final int CHAR_INIT_QUOTE  = 29;     // Pi - initial quote
-    static final int CHAR_FINAL_QUOTE = 30;     // Pf - final quote
-    static final int CHAR_LETTER = 31;
-    static final int CHAR_MARK = 32;
-    static final int CHAR_NUMBER = 33;
-    static final int CHAR_SEPARATOR = 34;
-    static final int CHAR_OTHER = 35;
-    static final int CHAR_PUNCTUATION = 36;
-    static final int CHAR_SYMBOL = 37;
-    
-    //blockNames in UNICODE 3.1 that supported by XML Schema REC             
-    private static final String[] blockNames = {
-        /*0000..007F;*/ "Basic Latin",
-        /*0080..00FF;*/ "Latin-1 Supplement",
-        /*0100..017F;*/ "Latin Extended-A",
-        /*0180..024F;*/ "Latin Extended-B",
-        /*0250..02AF;*/ "IPA Extensions",
-        /*02B0..02FF;*/ "Spacing Modifier Letters",
-        /*0300..036F;*/ "Combining Diacritical Marks",
-        /*0370..03FF;*/ "Greek",
-        /*0400..04FF;*/ "Cyrillic",
-        /*0530..058F;*/ "Armenian",
-        /*0590..05FF;*/ "Hebrew",
-        /*0600..06FF;*/ "Arabic",
-        /*0700..074F;*/ "Syriac",  
-        /*0780..07BF;*/ "Thaana",
-        /*0900..097F;*/ "Devanagari",
-        /*0980..09FF;*/ "Bengali",
-        /*0A00..0A7F;*/ "Gurmukhi",
-        /*0A80..0AFF;*/ "Gujarati",
-        /*0B00..0B7F;*/ "Oriya",
-        /*0B80..0BFF;*/ "Tamil",
-        /*0C00..0C7F;*/ "Telugu",
-        /*0C80..0CFF;*/ "Kannada",
-        /*0D00..0D7F;*/ "Malayalam",
-        /*0D80..0DFF;*/ "Sinhala",
-        /*0E00..0E7F;*/ "Thai",
-        /*0E80..0EFF;*/ "Lao",
-        /*0F00..0FFF;*/ "Tibetan",
-        /*1000..109F;*/ "Myanmar", 
-        /*10A0..10FF;*/ "Georgian",
-        /*1100..11FF;*/ "Hangul Jamo",
-        /*1200..137F;*/ "Ethiopic",
-        /*13A0..13FF;*/ "Cherokee",
-        /*1400..167F;*/ "Unified Canadian Aboriginal Syllabics",
-        /*1680..169F;*/ "Ogham",
-        /*16A0..16FF;*/ "Runic",
-        /*1780..17FF;*/ "Khmer",
-        /*1800..18AF;*/ "Mongolian",
-        /*1E00..1EFF;*/ "Latin Extended Additional",
-        /*1F00..1FFF;*/ "Greek Extended",
-        /*2000..206F;*/ "General Punctuation",
-        /*2070..209F;*/ "Superscripts and Subscripts",
-        /*20A0..20CF;*/ "Currency Symbols",
-        /*20D0..20FF;*/ "Combining Marks for Symbols",
-        /*2100..214F;*/ "Letterlike Symbols",
-        /*2150..218F;*/ "Number Forms",
-        /*2190..21FF;*/ "Arrows",
-        /*2200..22FF;*/ "Mathematical Operators",
-        /*2300..23FF;*/ "Miscellaneous Technical",
-        /*2400..243F;*/ "Control Pictures",
-        /*2440..245F;*/ "Optical Character Recognition",
-        /*2460..24FF;*/ "Enclosed Alphanumerics",
-        /*2500..257F;*/ "Box Drawing",
-        /*2580..259F;*/ "Block Elements",
-        /*25A0..25FF;*/ "Geometric Shapes",
-        /*2600..26FF;*/ "Miscellaneous Symbols",
-        /*2700..27BF;*/ "Dingbats",
-        /*2800..28FF;*/ "Braille Patterns",
-        /*2E80..2EFF;*/ "CJK Radicals Supplement",
-        /*2F00..2FDF;*/ "Kangxi Radicals",
-        /*2FF0..2FFF;*/ "Ideographic Description Characters",
-        /*3000..303F;*/ "CJK Symbols and Punctuation",
-        /*3040..309F;*/ "Hiragana",
-        /*30A0..30FF;*/ "Katakana",
-        /*3100..312F;*/ "Bopomofo",
-        /*3130..318F;*/ "Hangul Compatibility Jamo",
-        /*3190..319F;*/ "Kanbun",
-        /*31A0..31BF;*/ "Bopomofo Extended",
-        /*3200..32FF;*/ "Enclosed CJK Letters and Months",
-        /*3300..33FF;*/ "CJK Compatibility",
-        /*3400..4DB5;*/ "CJK Unified Ideographs Extension A",
-        /*4E00..9FFF;*/ "CJK Unified Ideographs",
-        /*A000..A48F;*/ "Yi Syllables",
-        /*A490..A4CF;*/ "Yi Radicals",
-        /*AC00..D7A3;*/ "Hangul Syllables",
-        /*D800..DB7F;*/ "High Surrogates",
-        /*DB80..DBFF;*/ "High Private Use Surrogates",
-        /*DC00..DFFF;*/ "Low Surrogates",
-        /*E000..F8FF;*/ "Private Use",
-        /*F900..FAFF;*/ "CJK Compatibility Ideographs",
-        /*FB00..FB4F;*/ "Alphabetic Presentation Forms",
-        /*FB50..FDFF;*/ "Arabic Presentation Forms-A",
-        /*FE20..FE2F;*/ "Combining Half Marks",
-        /*FE30..FE4F;*/ "CJK Compatibility Forms",
-        /*FE50..FE6F;*/ "Small Form Variants",
-        /*FE70..FEFE;*/ "Arabic Presentation Forms-B",
-        /*FEFF..FEFF;*/ "Specials",
-        /*FF00..FFEF;*/ "Halfwidth and Fullwidth Forms",
-         //missing Specials add manually
-        /*10300..1032F;*/ "Old Italic",		// 87
-        /*10330..1034F;*/ "Gothic",
-        /*10400..1044F;*/ "Deseret",
-        /*1D000..1D0FF;*/ "Byzantine Musical Symbols",
-        /*1D100..1D1FF;*/ "Musical Symbols",
-        /*1D400..1D7FF;*/ "Mathematical Alphanumeric Symbols",
-        /*20000..2A6D6;*/ "CJK Unified Ideographs Extension B",
-        /*2F800..2FA1F;*/ "CJK Compatibility Ideographs Supplement",
-        /*E0000..E007F;*/ "Tags",
-        //missing 2 private use add manually
-
-    };
-    //ADD THOSE MANUALLY
-    //F0000..FFFFD; "Private Use",
-    //100000..10FFFD; "Private Use"
-    //FFF0..FFFD; "Specials", 
-    static final String blockRanges = 
-       "\u0000\u007F\u0080\u00FF\u0100\u017F\u0180\u024F\u0250\u02AF\u02B0\u02FF\u0300\u036F"
-        +"\u0370\u03FF\u0400\u04FF\u0530\u058F\u0590\u05FF\u0600\u06FF\u0700\u074F\u0780\u07BF"
-        +"\u0900\u097F\u0980\u09FF\u0A00\u0A7F\u0A80\u0AFF\u0B00\u0B7F\u0B80\u0BFF\u0C00\u0C7F\u0C80\u0CFF"
-        +"\u0D00\u0D7F\u0D80\u0DFF\u0E00\u0E7F\u0E80\u0EFF\u0F00\u0FFF\u1000\u109F\u10A0\u10FF\u1100\u11FF"
-        +"\u1200\u137F\u13A0\u13FF\u1400\u167F\u1680\u169F\u16A0\u16FF\u1780\u17FF\u1800\u18AF\u1E00\u1EFF"
-        +"\u1F00\u1FFF\u2000\u206F\u2070\u209F\u20A0\u20CF\u20D0\u20FF\u2100\u214F\u2150\u218F\u2190\u21FF\u2200\u22FF"
-        +"\u2300\u23FF\u2400\u243F\u2440\u245F\u2460\u24FF\u2500\u257F\u2580\u259F\u25A0\u25FF\u2600\u26FF\u2700\u27BF"
-        +"\u2800\u28FF\u2E80\u2EFF\u2F00\u2FDF\u2FF0\u2FFF\u3000\u303F\u3040\u309F\u30A0\u30FF\u3100\u312F\u3130\u318F"
-        +"\u3190\u319F\u31A0\u31BF\u3200\u32FF\u3300\u33FF\u3400\u4DB5\u4E00\u9FFF\uA000\uA48F\uA490\uA4CF"
-        +"\uAC00\uD7A3\uD800\uDB7F\uDB80\uDBFF\uDC00\uDFFF\uE000\uF8FF\uF900\uFAFF\uFB00\uFB4F\uFB50\uFDFF"
-        +"\uFE20\uFE2F\uFE30\uFE4F\uFE50\uFE6F\uFE70\uFEFE\uFEFF\uFEFF\uFF00\uFFEF";
-    static final int[] nonBMPBlockRanges = {
-        0x10300, 0x1032F,       // 87
-        0x10330, 0x1034F,
-        0x10400, 0x1044F,
-        0x1D000, 0x1D0FF,
-        0x1D100, 0x1D1FF,
-        0x1D400, 0x1D7FF,
-        0x20000, 0x2A6D6,
-        0x2F800, 0x2FA1F,
-        0xE0000, 0xE007F
-    };
-    private static final int NONBMP_BLOCK_START = 87;
-
-    static protected RangeToken getRange(String name, boolean positive) {
-        if (Token.categories.size() == 0) {
-            synchronized (Token.categories) {
-                Token[] ranges = new Token[Token.categoryNames.length];
-                for (int i = 0;  i < ranges.length;  i ++) {
-                    ranges[i] = Token.createRange();
-                }
-                int type;
-                for (int i = 0;  i < 0x10000;  i ++) {
-                    type = Character.getType((char)i);
-                    if (type == Character.START_PUNCTUATION || 
-                        type == Character.END_PUNCTUATION) {
-                        //build table of Pi values
-                        if (i == 0x00AB || i == 0x2018 || i == 0x201B || i == 0x201C ||
-                            i == 0x201F || i == 0x2039) {
-                            type = CHAR_INIT_QUOTE;
-                        }
-                        //build table of Pf values
-                        if (i == 0x00BB || i == 0x2019 || i == 0x201D || i == 0x203A ) {
-                            type = CHAR_FINAL_QUOTE;
-                        }
-                    }
-                    ranges[type].addRange(i, i);
-                    switch (type) {
-                      case Character.UPPERCASE_LETTER:
-                      case Character.LOWERCASE_LETTER:
-                      case Character.TITLECASE_LETTER:
-                      case Character.MODIFIER_LETTER:
-                      case Character.OTHER_LETTER:
-                        type = CHAR_LETTER;
-                        break;
-                      case Character.NON_SPACING_MARK:
-                      case Character.COMBINING_SPACING_MARK:
-                      case Character.ENCLOSING_MARK:
-                        type = CHAR_MARK;
-                        break;
-                      case Character.DECIMAL_DIGIT_NUMBER:
-                      case Character.LETTER_NUMBER:
-                      case Character.OTHER_NUMBER:
-                        type = CHAR_NUMBER;
-                        break;
-                      case Character.SPACE_SEPARATOR:
-                      case Character.LINE_SEPARATOR:
-                      case Character.PARAGRAPH_SEPARATOR:
-                        type = CHAR_SEPARATOR;
-                        break;
-                      case Character.CONTROL:
-                      case Character.FORMAT:
-                      case Character.SURROGATE:
-                      case Character.PRIVATE_USE:
-                      case Character.UNASSIGNED:
-                        type = CHAR_OTHER;
-                        break;
-                      case Character.CONNECTOR_PUNCTUATION:
-                      case Character.DASH_PUNCTUATION:
-                      case Character.START_PUNCTUATION:
-                      case Character.END_PUNCTUATION:
-                      case CHAR_INIT_QUOTE:
-                      case CHAR_FINAL_QUOTE:
-                      case Character.OTHER_PUNCTUATION:
-                        type = CHAR_PUNCTUATION;
-                        break;
-                      case Character.MATH_SYMBOL:
-                      case Character.CURRENCY_SYMBOL:
-                      case Character.MODIFIER_SYMBOL:
-                      case Character.OTHER_SYMBOL:
-                        type = CHAR_SYMBOL;
-                        break;
-                      default:
-                        throw new RuntimeException("org.apache.xerces.utils.regex.Token#getRange(): Unknown Unicode category: "+type);
-                    }
-                    ranges[type].addRange(i, i);
-                } // for all characters
-                ranges[Character.UNASSIGNED].addRange(0x10000, Token.UTF16_MAX);
-
-                for (int i = 0;  i < ranges.length;  i ++) {
-                    if (Token.categoryNames[i] != null) {
-                        if (i == Character.UNASSIGNED) { // Unassigned
-                            ranges[i].addRange(0x10000, Token.UTF16_MAX);
-                        }
-                        Token.categories.put(Token.categoryNames[i], ranges[i]);
-                        Token.categories2.put(Token.categoryNames[i],
-                                              Token.complementRanges(ranges[i]));
-                    }
-                }
-                //REVISIT: do we really need to support block names as in Unicode 3.1
-                //         or we can just create all the names in IsBLOCKNAME format (XML Schema REC)?
-                //
-                StringBuffer buffer = new StringBuffer(50);
-                for (int i = 0;  i < Token.blockNames.length;  i ++) {
-                    Token r1 = Token.createRange();
-                    int location;
-                    if (i < NONBMP_BLOCK_START) {
-                        location = i*2;
-                        int rstart = Token.blockRanges.charAt(location);
-                        int rend = Token.blockRanges.charAt(location+1);
-                        //DEBUGING
-                        //System.out.println(n+" " +Integer.toHexString(rstart)
-                        //                     +"-"+ Integer.toHexString(rend));
-                        r1.addRange(rstart, rend);
-                    } else {
-                        location = (i - NONBMP_BLOCK_START) * 2;
-                        r1.addRange(Token.nonBMPBlockRanges[location],
-                                    Token.nonBMPBlockRanges[location + 1]);
-                    }
-                    String n = Token.blockNames[i];
-                    if (n.equals("Specials"))
-                        r1.addRange(0xfff0, 0xfffd);
-                    if (n.equals("Private Use")) {
-                        r1.addRange(0xF0000,0xFFFFD);
-                        r1.addRange(0x100000,0x10FFFD);
-                    }
-                    Token.categories.put(n, r1);
-                    Token.categories2.put(n, Token.complementRanges(r1));
-                    buffer.setLength(0);
-                    buffer.append("Is");
-                    if (n.indexOf(' ') >= 0) {
-                        for (int ci = 0;  ci < n.length();  ci ++)
-                            if (n.charAt(ci) != ' ')  buffer.append((char)n.charAt(ci));
-                    }
-                    else {
-                        buffer.append(n);
-                    }
-                    Token.setAlias(buffer.toString(), n, true);
-                }
-
-                // TR#18 1.2
-                Token.setAlias("ASSIGNED", "Cn", false);
-                Token.setAlias("UNASSIGNED", "Cn", true);
-                Token all = Token.createRange();
-                all.addRange(0, Token.UTF16_MAX);
-                Token.categories.put("ALL", all);
-                Token.categories2.put("ALL", Token.complementRanges(all));
-                Token.registerNonXS("ASSIGNED");
-                Token.registerNonXS("UNASSIGNED");
-                Token.registerNonXS("ALL");
-
-                Token isalpha = Token.createRange();
-                isalpha.mergeRanges(ranges[Character.UPPERCASE_LETTER]); // Lu
-                isalpha.mergeRanges(ranges[Character.LOWERCASE_LETTER]); // Ll
-                isalpha.mergeRanges(ranges[Character.OTHER_LETTER]); // Lo
-                Token.categories.put("IsAlpha", isalpha);
-                Token.categories2.put("IsAlpha", Token.complementRanges(isalpha));
-                Token.registerNonXS("IsAlpha");
-
-                Token isalnum = Token.createRange();
-                isalnum.mergeRanges(isalpha);   // Lu Ll Lo
-                isalnum.mergeRanges(ranges[Character.DECIMAL_DIGIT_NUMBER]); // Nd
-                Token.categories.put("IsAlnum", isalnum);
-                Token.categories2.put("IsAlnum", Token.complementRanges(isalnum));
-                Token.registerNonXS("IsAlnum");
-
-                Token isspace = Token.createRange();
-                isspace.mergeRanges(Token.token_spaces);
-                isspace.mergeRanges(ranges[CHAR_SEPARATOR]); // Z
-                Token.categories.put("IsSpace", isspace);
-                Token.categories2.put("IsSpace", Token.complementRanges(isspace));
-                Token.registerNonXS("IsSpace");
-
-                Token isword = Token.createRange();
-                isword.mergeRanges(isalnum);     // Lu Ll Lo Nd
-                isword.addRange('_', '_');
-                Token.categories.put("IsWord", isword);
-                Token.categories2.put("IsWord", Token.complementRanges(isword));
-                Token.registerNonXS("IsWord");
-
-                Token isascii = Token.createRange();
-                isascii.addRange(0, 127);
-                Token.categories.put("IsASCII", isascii);
-                Token.categories2.put("IsASCII", Token.complementRanges(isascii));
-                Token.registerNonXS("IsASCII");
-
-                Token isnotgraph = Token.createRange();
-                isnotgraph.mergeRanges(ranges[CHAR_OTHER]);
-                isnotgraph.addRange(' ', ' ');
-                Token.categories.put("IsGraph", Token.complementRanges(isnotgraph));
-                Token.categories2.put("IsGraph", isnotgraph);
-                Token.registerNonXS("IsGraph");
-
-                Token isxdigit = Token.createRange();
-                isxdigit.addRange('0', '9');
-                isxdigit.addRange('A', 'F');
-                isxdigit.addRange('a', 'f');
-                Token.categories.put("IsXDigit", Token.complementRanges(isxdigit));
-                Token.categories2.put("IsXDigit", isxdigit);
-                Token.registerNonXS("IsXDigit");
-
-                Token.setAlias("IsDigit", "Nd", true);
-                Token.setAlias("IsUpper", "Lu", true);
-                Token.setAlias("IsLower", "Ll", true);
-                Token.setAlias("IsCntrl", "C", true);
-                Token.setAlias("IsPrint", "C", false);
-                Token.setAlias("IsPunct", "P", true);
-                Token.registerNonXS("IsDigit");
-                Token.registerNonXS("IsUpper");
-                Token.registerNonXS("IsLower");
-                Token.registerNonXS("IsCntrl");
-                Token.registerNonXS("IsPrint");
-                Token.registerNonXS("IsPunct");
-
-                Token.setAlias("alpha", "IsAlpha", true);
-                Token.setAlias("alnum", "IsAlnum", true);
-                Token.setAlias("ascii", "IsASCII", true);
-                Token.setAlias("cntrl", "IsCntrl", true);
-                Token.setAlias("digit", "IsDigit", true);
-                Token.setAlias("graph", "IsGraph", true);
-                Token.setAlias("lower", "IsLower", true);
-                Token.setAlias("print", "IsPrint", true);
-                Token.setAlias("punct", "IsPunct", true);
-                Token.setAlias("space", "IsSpace", true);
-                Token.setAlias("upper", "IsUpper", true);
-                Token.setAlias("word", "IsWord", true); // Perl extension
-                Token.setAlias("xdigit", "IsXDigit", true);
-                Token.registerNonXS("alpha");
-                Token.registerNonXS("alnum");
-                Token.registerNonXS("ascii");
-                Token.registerNonXS("cntrl");
-                Token.registerNonXS("digit");
-                Token.registerNonXS("graph");
-                Token.registerNonXS("lower");
-                Token.registerNonXS("print");
-                Token.registerNonXS("punct");
-                Token.registerNonXS("space");
-                Token.registerNonXS("upper");
-                Token.registerNonXS("word");
-                Token.registerNonXS("xdigit");
-            } // synchronized
-        } // if null
-        RangeToken tok = positive ? (RangeToken)Token.categories.get(name)
-            : (RangeToken)Token.categories2.get(name);
-        //if (tok == null) System.out.println(name);
-        return tok;
-    }
-    static protected RangeToken getRange(String name, boolean positive, boolean xs) {
-        RangeToken range = Token.getRange(name, positive);
-        if (xs && range != null && Token.isRegisterNonXS(name))
-            range = null;
-        return range;
-    }
-
-    static Hashtable nonxs = null;
-    /**
-     * This method is called by only getRange().
-     * So this method need not MT-safe.
-     */
-    static protected void registerNonXS(String name) {
-        if (Token.nonxs == null)
-            Token.nonxs = new Hashtable();
-        Token.nonxs.put(name, name);
-    }
-    static protected boolean isRegisterNonXS(String name) {
-        if (Token.nonxs == null)
-            return false;
-        //DEBUG
-        //System.err.println("isRegisterNonXS: "+name);
-        return Token.nonxs.containsKey(name);
-    }
-
-    private static void setAlias(String newName, String name, boolean positive) {
-        Token t1 = (Token)Token.categories.get(name);
-        Token t2 = (Token)Token.categories2.get(name);
-        if (positive) {
-            Token.categories.put(newName, t1);
-            Token.categories2.put(newName, t2);
-        } else {
-            Token.categories2.put(newName, t1);
-            Token.categories.put(newName, t2);
-        }
-    }
-
-    // ------------------------------------------------------
-
-    static final String viramaString =
-    "\u094D"// ;DEVANAGARI SIGN VIRAMA;Mn;9;ON;;;;;N;;;;;
-    +"\u09CD"//;BENGALI SIGN VIRAMA;Mn;9;ON;;;;;N;;;;;
-    +"\u0A4D"//;GURMUKHI SIGN VIRAMA;Mn;9;ON;;;;;N;;;;;
-    +"\u0ACD"//;GUJARATI SIGN VIRAMA;Mn;9;ON;;;;;N;;;;;
-    +"\u0B4D"//;ORIYA SIGN VIRAMA;Mn;9;ON;;;;;N;;;;;
-    +"\u0BCD"//;TAMIL SIGN VIRAMA;Mn;9;ON;;;;;N;;;;;
-    +"\u0C4D"//;TELUGU SIGN VIRAMA;Mn;9;ON;;;;;N;;;;;
-    +"\u0CCD"//;KANNADA SIGN VIRAMA;Mn;9;ON;;;;;N;;;;;
-    +"\u0D4D"//;MALAYALAM SIGN VIRAMA;Mn;9;ON;;;;;N;;;;;
-    +"\u0E3A"//;THAI CHARACTER PHINTHU;Mn;9;ON;;;;;N;THAI VOWEL SIGN PHINTHU;;;;
-    +"\u0F84";//;TIBETAN MARK HALANTA;Mn;9;ON;;;;;N;TIBETAN VIRAMA;;;;
-
-    static private Token token_grapheme = null;
-    static synchronized Token getGraphemePattern() {
-        if (Token.token_grapheme != null)
-            return Token.token_grapheme;
-
-        Token base_char = Token.createRange();  // [{ASSIGNED}]-[{M},{C}]
-        base_char.mergeRanges(Token.getRange("ASSIGNED", true));
-        base_char.subtractRanges(Token.getRange("M", true));
-        base_char.subtractRanges(Token.getRange("C", true));
-
-        Token virama = Token.createRange();
-        for (int i = 0;  i < Token.viramaString.length();  i ++) {
-            int ch = viramaString.charAt(i);
-            virama.addRange(i, i);
-        }
-
-        Token combiner_wo_virama = Token.createRange();
-        combiner_wo_virama.mergeRanges(Token.getRange("M", true));
-        combiner_wo_virama.addRange(0x1160, 0x11ff); // hangul_medial and hangul_final
-        combiner_wo_virama.addRange(0xff9e, 0xff9f); // extras
-
-        Token left = Token.createUnion();       // base_char?
-        left.addChild(base_char);
-        left.addChild(Token.token_empty);
-
-        Token foo = Token.createUnion();
-        foo.addChild(Token.createConcat(virama, Token.getRange("L", true)));
-        foo.addChild(combiner_wo_virama);
-
-        foo = Token.createClosure(foo);
-
-        foo = Token.createConcat(left, foo);
-
-        Token.token_grapheme = foo;
-        return Token.token_grapheme;
-    }
-
-    /**
-     * Combing Character Sequence in Perl 5.6.
-     */
-    static private Token token_ccs = null;
-    static synchronized Token getCombiningCharacterSequence() {
-        if (Token.token_ccs != null)
-            return Token.token_ccs;
-
-        Token foo = Token.createClosure(Token.getRange("M", true)); // \pM*
-        foo = Token.createConcat(Token.getRange("M", false), foo); // \PM + \pM*
-        Token.token_ccs = foo;
-        return Token.token_ccs;
-    }
-
-    // ------------------------------------------------------
-
-    // ------------------------------------------------------
-    /**
-     * This class represents a node in parse tree.
-     */
-    static class StringToken extends Token implements java.io.Serializable {
-        String string;
-        int refNumber;
-
-        StringToken(int type, String str, int n) {
-            super(type);
-            this.string = str;
-            this.refNumber = n;
-        }
-
-        int getReferenceNumber() {              // for STRING
-            return this.refNumber;
-        }
-        String getString() {                    // for STRING
-            return this.string;
-        }
-        
-        public String toString(int options) {
-            if (this.type == BACKREFERENCE)
-                return "\\"+this.refNumber;
-            else
-                return REUtil.quoteMeta(this.string);
-        }
-    }
-
-    /**
-     * This class represents a node in parse tree.
-     */
-    static class ConcatToken extends Token implements java.io.Serializable {
-        Token child;
-        Token child2;
-        
-        ConcatToken(Token t1, Token t2) {
-            super(Token.CONCAT);
-            this.child = t1;
-            this.child2 = t2;
-        }
-
-        int size() {
-            return 2;
-        }
-        Token getChild(int index) {
-            return index == 0 ? this.child : this.child2;
-        }
-
-        public String toString(int options) {
-            String ret;
-            if (this.child2.type == CLOSURE && this.child2.getChild(0) == this.child) {
-                ret = this.child.toString(options)+"+";
-            } else if (this.child2.type == NONGREEDYCLOSURE && this.child2.getChild(0) == this.child) {
-                ret = this.child.toString(options)+"+?";
-            } else
-                ret = this.child.toString(options)+this.child2.toString(options);
-            return ret;
-        }
-    }
-
-    /**
-     * This class represents a node in parse tree.
-     */
-    static class CharToken extends Token implements java.io.Serializable {
-        int chardata;
-
-        CharToken(int type, int ch) {
-            super(type);
-            this.chardata = ch;
-        }
-
-        int getChar() {
-            return this.chardata;
-        }
-
-        public String toString(int options) {
-            String ret;
-            switch (this.type) {
-              case CHAR:
-                switch (this.chardata) {
-                  case '|':  case '*':  case '+':  case '?':
-                  case '(':  case ')':  case '.':  case '[':
-                  case '{':  case '\\':
-                    ret = "\\"+(char)this.chardata;
-                    break;
-                  case '\f':  ret = "\\f";  break;
-                  case '\n':  ret = "\\n";  break;
-                  case '\r':  ret = "\\r";  break;
-                  case '\t':  ret = "\\t";  break;
-                  case 0x1b:  ret = "\\e";  break;
-                    //case 0x0b:  ret = "\\v";  break;
-                  default:
-                    if (this.chardata >= 0x10000) {
-                        String pre = "0"+Integer.toHexString(this.chardata);
-                        ret = "\\v"+pre.substring(pre.length()-6, pre.length());
-                    } else
-                        ret = ""+(char)this.chardata;
-                }
-                break;
-
-              case ANCHOR:
-                if (this == Token.token_linebeginning || this == Token.token_lineend)
-                    ret = ""+(char)this.chardata;
-                else 
-                    ret = "\\"+(char)this.chardata;
-                break;
-
-              default:
-                ret = null;
-            }
-            return ret;
-        }
-
-        boolean match(int ch) {
-            if (this.type == CHAR) {
-                return ch == this.chardata;
-            } else
-                throw new RuntimeException("NFAArrow#match(): Internal error: "+this.type);
-        }
-    }
-
-    /**
-     * This class represents a node in parse tree.
-     */
-    static class ClosureToken extends Token implements java.io.Serializable {
-        int min;
-        int max;
-        Token child;
-
-        ClosureToken(int type, Token tok) {
-            super(type);
-            this.child = tok;
-            this.setMin(-1);
-            this.setMax(-1);
-        }
-
-        int size() {
-            return 1;
-        }
-        Token getChild(int index) {
-            return this.child;
-        }
-
-        final void setMin(int min) {
-            this.min = min;
-        }
-        final void setMax(int max) {
-            this.max = max;
-        }
-        final int getMin() {
-            return this.min;
-        }
-        final int getMax() {
-            return this.max;
-        }
-
-        public String toString(int options) {
-            String ret;
-            if (this.type == CLOSURE) {
-                if (this.getMin() < 0 && this.getMax() < 0) {
-                    ret = this.child.toString(options)+"*";
-                } else if (this.getMin() == this.getMax()) {
-                    ret = this.child.toString(options)+"{"+this.getMin()+"}";
-                } else if (this.getMin() >= 0 && this.getMax() >= 0) {
-                    ret = this.child.toString(options)+"{"+this.getMin()+","+this.getMax()+"}";
-                } else if (this.getMin() >= 0 && this.getMax() < 0) {
-                    ret = this.child.toString(options)+"{"+this.getMin()+",}";
-                } else
-                    throw new RuntimeException("Token#toString(): CLOSURE "
-                                               +this.getMin()+", "+this.getMax());
-            } else {
-                if (this.getMin() < 0 && this.getMax() < 0) {
-                    ret = this.child.toString(options)+"*?";
-                } else if (this.getMin() == this.getMax()) {
-                    ret = this.child.toString(options)+"{"+this.getMin()+"}?";
-                } else if (this.getMin() >= 0 && this.getMax() >= 0) {
-                    ret = this.child.toString(options)+"{"+this.getMin()+","+this.getMax()+"}?";
-                } else if (this.getMin() >= 0 && this.getMax() < 0) {
-                    ret = this.child.toString(options)+"{"+this.getMin()+",}?";
-                } else
-                    throw new RuntimeException("Token#toString(): NONGREEDYCLOSURE "
-                                               +this.getMin()+", "+this.getMax());
-            }
-            return ret;
-        }
-    }
-
-    /**
-     * This class represents a node in parse tree.
-     */
-    static class ParenToken extends Token implements java.io.Serializable {
-        Token child;
-        int parennumber;
-
-        ParenToken(int type, Token tok, int paren) {
-            super(type);
-            this.child = tok;
-            this.parennumber = paren;
-        }
-
-        int size() {
-            return 1;
-        }
-        Token getChild(int index) {
-            return this.child;
-        }
-
-        int getParenNumber() {
-            return this.parennumber;
-        }
-
-        public String toString(int options) {
-            String ret = null;
-            switch (this.type) {
-              case PAREN:
-                if (this.parennumber == 0) {
-                    ret = "(?:"+this.child.toString(options)+")";
-                } else {
-                    ret = "("+this.child.toString(options)+")";
-                }
-                break;
-
-              case LOOKAHEAD:
-                ret = "(?="+this.child.toString(options)+")";
-                break;
-              case NEGATIVELOOKAHEAD:
-                ret = "(?!"+this.child.toString(options)+")";
-                break;
-              case LOOKBEHIND:
-                ret = "(?<="+this.child.toString(options)+")";
-                break;
-              case NEGATIVELOOKBEHIND:
-                ret = "(?<!"+this.child.toString(options)+")";
-                break;
-              case INDEPENDENT:
-                ret = "(?>"+this.child.toString(options)+")";
-                break;
-            }
-            return ret;
-        }
-    }
-
-    /**
-     * (?(condition)yes-pattern|no-pattern)
-     */
-    static class ConditionToken extends Token implements java.io.Serializable {
-        int refNumber;
-        Token condition;
-        Token yes;
-        Token no;
-        ConditionToken(int refno, Token cond, Token yespat, Token nopat) {
-            super(Token.CONDITION);
-            this.refNumber = refno;
-            this.condition = cond;
-            this.yes = yespat;
-            this.no = nopat;
-        }
-        int size() {
-            return this.no == null ? 1 : 2;
-        }
-        Token getChild(int index) {
-            if (index == 0)  return this.yes;
-            if (index == 1)  return this.no;
-            throw new RuntimeException("Internal Error: "+index);
-        }
-
-        public String toString(int options) {
-            String ret;
-            if (refNumber > 0) {
-                ret = "(?("+refNumber+")";
-            } else if (this.condition.type == Token.ANCHOR) {
-                ret = "(?("+this.condition+")";
-            } else {
-                ret = "(?"+this.condition;
-            }
-
-            if (this.no == null) {
-                ret += this.yes+")";
-            } else {
-                ret += this.yes+"|"+this.no+")";
-            }
-            return ret;
-        }
-    }
-
-    /**
-     * (ims-ims: .... )
-     */
-    static class ModifierToken extends Token implements java.io.Serializable {
-        Token child;
-        int add;
-        int mask;
-
-        ModifierToken(Token tok, int add, int mask) {
-            super(Token.MODIFIERGROUP);
-            this.child = tok;
-            this.add = add;
-            this.mask = mask;
-        }
-
-        int size() {
-            return 1;
-        }
-        Token getChild(int index) {
-            return this.child;
-        }
-
-        int getOptions() {
-            return this.add;
-        }
-        int getOptionsMask() {
-            return this.mask;
-        }
-
-        public String toString(int options) {
-            return "(?"
-                +(this.add == 0 ? "" : REUtil.createOptionString(this.add))
-                +(this.mask == 0 ? "" : REUtil.createOptionString(this.mask))
-                +":"
-                +this.child.toString(options)
-                +")";
-        }
-    }
-
-    /**
-     * This class represents a node in parse tree.
-     * for UNION or CONCAT.
-     */
-    static class UnionToken extends Token implements java.io.Serializable {
-        Vector children;
-
-        UnionToken(int type) {
-            super(type);
-        }
-
-        void addChild(Token tok) {
-            if (tok == null)  return;
-            if (this.children == null)  this.children = new Vector();
-            if (this.type == UNION) {
-                this.children.addElement(tok);
-                return;
-            }
-                                                // This is CONCAT, and new child is CONCAT.
-            if (tok.type == CONCAT) {
-                for (int i = 0;  i < tok.size();  i ++)
-                    this.addChild(tok.getChild(i)); // Recursion
-                return;
-            }
-            int size = this.children.size();
-            if (size == 0) {
-                this.children.addElement(tok);
-                return;
-            }
-            Token previous = (Token)this.children.elementAt(size-1);
-            if (!((previous.type == CHAR || previous.type == STRING)
-                  && (tok.type == CHAR || tok.type == STRING))) {
-                this.children.addElement(tok);
-                return;
-            }
-            
-            //System.err.println("Merge '"+previous+"' and '"+tok+"'.");
-
-            StringBuffer buffer;
-            int nextMaxLength = (tok.type == CHAR ? 2 : tok.getString().length());
-            if (previous.type == CHAR) {        // Replace previous token by STRING
-                buffer = new StringBuffer(2 + nextMaxLength);
-                int ch = previous.getChar();
-                if (ch >= 0x10000)
-                    buffer.append(REUtil.decomposeToSurrogates(ch));
-                else
-                    buffer.append((char)ch);
-                previous = Token.createString(null);
-                this.children.setElementAt(previous, size-1);
-            } else {                            // STRING
-                buffer = new StringBuffer(previous.getString().length() + nextMaxLength);
-                buffer.append(previous.getString());
-            }
-
-            if (tok.type == CHAR) {
-                int ch = tok.getChar();
-                if (ch >= 0x10000)
-                    buffer.append(REUtil.decomposeToSurrogates(ch));
-                else
-                    buffer.append((char)ch);
-            } else {
-                buffer.append(tok.getString());
-            }
-
-            ((StringToken)previous).string = new String(buffer);
-        }
-
-        int size() {
-            return this.children == null ? 0 : this.children.size();
-        }
-        Token getChild(int index) {
-            return (Token)this.children.elementAt(index);
-        }
-
-        public String toString(int options) {
-            String ret;
-            if (this.type == CONCAT) {
-                if (this.children.size() == 2) {
-                    Token ch = this.getChild(0);
-                    Token ch2 = this.getChild(1);
-                    if (ch2.type == CLOSURE && ch2.getChild(0) == ch) {
-                        ret = ch.toString(options)+"+";
-                    } else if (ch2.type == NONGREEDYCLOSURE && ch2.getChild(0) == ch) {
-                        ret = ch.toString(options)+"+?";
-                    } else
-                        ret = ch.toString(options)+ch2.toString(options);
-                } else {
-                    StringBuffer sb = new StringBuffer();
-                    for (int i = 0;  i < this.children.size();  i ++) {
-                        sb.append(((Token)this.children.elementAt(i)).toString(options));
-                    }
-                    ret = new String(sb);
-                }
-                return ret;
-            }
-            if (this.children.size() == 2 && this.getChild(1).type == EMPTY) {
-                ret = this.getChild(0).toString(options)+"?";
-            } else if (this.children.size() == 2
-                       && this.getChild(0).type == EMPTY) {
-                ret = this.getChild(1).toString(options)+"??";
-            } else {
-                StringBuffer sb = new StringBuffer();
-                sb.append(((Token)this.children.elementAt(0)).toString(options));
-                for (int i = 1;  i < this.children.size();  i ++) {
-                    sb.append((char)'|');
-                    sb.append(((Token)this.children.elementAt(i)).toString(options));
-                }
-                ret = new String(sb);
-            }
-            return ret;
-        }
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/message.properties b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/message.properties
deleted file mode 100644
index abe4880..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/message.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-parser.parse.1=Wrong character.
-parser.parse.2=Invalid reference number.
-parser.next.1=A character is required after \\.
-parser.next.2='?' is not expected.  '(?:' or '(?=' or '(?!' or '(?<' or '(?#' or '(?>'?
-parser.next.3='(?<=' or '(?<!' is expected.
-parser.next.4=A comment is not terminated.
-parser.factor.1=')' is expected.
-parser.factor.2=Unexpected end of the pattern in a modifier group.
-parser.factor.3=':' is expected.
-parser.factor.4=Unexpected end of the pattern in a conditional group.
-parser.factor.5=A back reference or an anchor or a lookahead or a lookbehind is expected in a conditional pattern.
-parser.factor.6=There are more than three choises in a conditional group.
-parser.atom.1=A character in U+0040-U+005f must follow \\c.
-parser.atom.2=A Category character or '{' is required.
-parser.atom.3=A property name is not closed by '}'.
-parser.atom.4=Unexpected meta character.
-parser.atom.5=Unknown property.
-parser.cc.1=A POSIX character class must be closed by ':]'.
-parser.cc.2=Unexpected end of the pattern in a character class.
-parser.cc.3=Unknown name for a POSIX character class.
-parser.cc.4='-' is invalid here.
-parser.cc.5=']' is expected.
-parser.cc.6='[' is invalid in a characer class.  Write '\\['.
-parser.cc.7=']' is invalid in a characer class.  Write '\\]'.
-parser.ope.1='[' is expected.
-parser.ope.2=')' or '-[' or '+[' or '&[' is expected.
-parser.descape.1=Invalid Unicode hex notation.
-parser.descape.2=Overflow in a hex notation.
-parser.descape.3='\\x{' must be closed by '}'.
-parser.descape.4=Invalid Unicode code point.
-parser.descape.5=An anchor must not be here.
-parser.process.1=This expression is not supported in the current option setting.
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/message_fr.properties b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/message_fr.properties
deleted file mode 100644
index fd3e981..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/message_fr.properties
+++ /dev/null
@@ -1,32 +0,0 @@
- parser.parse.1=Caract\u00e8re invalide.
-parser.parse.2=Num\u00e9ro de r\u00e9f\u00e9rence invalide.
-parser.next.1=Un \\ doit \u00eatre suivi d'un caract\u00e8re.
-parser.next.2='?' n'est pas possible ici.  '(?:' ou '(?=' ou '(?!' ou '(?<' ou '(?#' ou '(?>'?
-parser.next.3='(?<=' ou '(?<!' sont attendus.
-parser.next.4=Un commentaire n'est pas ferm\u00e9.
-parser.factor.1=')' manquant.
-parser.factor.2=Fin pr\u00e9matur\u00e9e de motif dans un groupe modifiant.
-parser.factor.3=':' manquant.
-parser.factor.4=Fin pr\u00e9matur\u00e9e de motif dans un groupe conditionel.
-parser.factor.5=Une r\u00e9f\u00e9rence arri\u00e8re ou une ancre ou un lookahead ou un lookbehind est attendu dans un groupe conditionel.
-parser.factor.6=Il y a plus de trois choix dans un groupe conditionel.
-parser.atom.1=\\c doit \u00eatre suivi d'un caract\u00e8re dans l'intervalle U+0040-U+005f .
-parser.atom.2=Un caract\u00e8re de cat\u00e9gorie ou '{' est requis.
-parser.atom.3=Un nom de propri\u00e9t\u00e9 ne se termine pas par '}'.
-parser.atom.4=M\u00e9tacaract\u00e8re interdit.
-parser.atom.5=Propri\u00e9t\u00e9 inconnue.
-parser.cc.1=Une classe de caract\u00e8re POSIX doit \u00eatre termin\u00e9e par ':]'.
-parser.cc.2=Fin pr\u00e9matur\u00e9e de motif dans une classe de caract\u00e8re.
-parser.cc.3=Nom inconnu pour une classe de caract\u00e8re POSIX.
-parser.cc.4='-' est invalide, dans ce cas.
-parser.cc.5=']' manquant.
-parser.cc.6='[' est invalide dans une classe de caract\u00e8re. Ecrivez '\\['.
-parser.cc.7=']' est invalide dans une classe de caract\u00e8re. Ecrivez '\\]'.
-parser.ope.1='[' est attendu.
-parser.ope.2=')' ou '-[' ou '+[' ou '&[' sont attendus.
-parser.descape.1=Notation hexad\u00e9cimale Unicode invalide.
-parser.descape.2=D\u00e9passement de capacit\u00e9 dans une expression hexad\u00e9cimale.
-parser.descape.3='\\x{' doit se terminer par un '}'.
-parser.descape.4=Point de code Unicode invalide.
-parser.descape.5=Ancre interdite ici.
-parser.process.1=Cette expression n'est pas autoris\u00e9e compte tenu des options en cours.
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/message_ja.properties b/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/message_ja.properties
deleted file mode 100644
index 9be8394..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/regex/message_ja.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-parser.parse.1=\u3078\u3093\u306a\u6587\u5b57.
-parser.parse.2=\u5b58\u5728\u3057\u306a\u3044\u30b0\u30eb\u30fc\u30d7\u756a\u53f7\u3067\u3059.
-parser.next.1=\\ \u306e\u5f8c\u306b1\u6587\u5b57\u5fc5\u8981\u3067\u3059.
-parser.next.2='?' \u3092\u3053\u3053\u306b\u66f8\u304f\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093. \u3082\u3057\u304b\u3057\u3066 '(?:' \u304b '(?=' \u304b '(?!' \u304b '(?<' \u304b '(?#' \u304b '(?>' \u3067\u3059\u304b?
-parser.next.3='(?<=' \u304b '(?<!' \u304c\u5fc5\u8981\u3067\u3059.
-parser.next.4=\u8a3b\u91c8\u304c\u9589\u3058\u3066\u3044\u307e\u305b\u3093.
-parser.factor.1=')' \u304c\u5fc5\u8981\u3067\u3059.
-parser.factor.2=\u30aa\u30d7\u30b7\u30e7\u30f3\u4ed8\u304d\u30b0\u30eb\u30fc\u30d7\u306e\u4e2d\u3067\u30d1\u30bf\u30fc\u30f3\u304c\u7d42\u4e86\u3057\u3066\u3044\u307e\u3059.
-parser.factor.3=':' \u304c\u5fc5\u8981\u3067\u3059.
-parser.factor.4=\u6761\u4ef6\u4ed8\u304d\u30b0\u30eb\u30fc\u30d7\u306e\u4e2d\u3067\u30d1\u30bf\u30fc\u30f3\u304c\u7d42\u4e86\u3057\u3066\u3044\u307e\u3059.
-parser.factor.5=\u6761\u4ef6\u30d1\u30bf\u30fc\u30f3\u306b\u306f\u3001\u5f8c\u65b9\u53c2\u7167\u30fb\u30a2\u30f3\u30ab\u30fc\u30fb\u5148\u8aad\u307f\u30fb\u5f8c\u8aad\u307f\u306e\u307f\u4f7f\u7528\u3067\u304d\u307e\u3059.
-parser.factor.6=\u6761\u4ef6\u4ed8\u304d\u30b0\u30eb\u30fc\u30d7\u306e\u4e2d\u306b3\u500b\u4ee5\u4e0a\u306e\u9078\u629e\u3092\u66f8\u304f\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093.
-parser.atom.1=\\c \u306e\u5f8c\u306b\u306f\u30b3\u30fc\u30c9\u30dd\u30a4\u30f3\u30c8\u304c U+0040\uff5eU+005f \u306e\u7bc4\u56f2\u306e\u6587\u5b57\u304c\u5fc5\u8981\u3067\u3059.
-parser.atom.2=1\u6587\u5b57\u306e\u30ab\u30c6\u30b4\u30ea\u6587\u5b57\u304b '{' \u304c\u5fc5\u8981\u3067\u3059.
-parser.atom.3=\u30d7\u30ed\u30d1\u30c6\u30a3\u540d\u304c '}' \u3067\u9589\u3058\u3066\u3044\u307e\u305b\u3093.
-parser.atom.4=\u30e1\u30bf\u6587\u5b57\u304c\u5909\u306a\u3068\u3053\u308d\u306b\u3042\u308a\u307e\u3059.
-parser.atom.5=\u672a\u77e5\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u540d\u3067\u3059.
-parser.cc.1=POSIX \u6587\u5b57\u30af\u30e9\u30b9\u306f ':]' \u3067\u9589\u3058\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059.
-parser.cc.2=\u6587\u5b57\u30af\u30e9\u30b9\u5185\u3067\u30d1\u30bf\u30fc\u30f3\u304c\u7d42\u4e86\u3057\u3066\u3044\u307e\u3059.
-parser.cc.3=\u672a\u77e5\u306e POSIX \u6587\u5b57\u30af\u30e9\u30b9\u540d\u3067\u3059.
-parser.cc.4=\u3053\u3053\u306b '-' \u3092\u66f8\u304f\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093.
-parser.cc.5=']' \u304c\u5fc5\u8981\u3067\u3059.
-parser.cc.6=\u6587\u5b57\u30af\u30e9\u30b9\u5185\u3067\u306f '[' \u3092\u76f4\u63a5\u66f8\u304f\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093. '\\[' \u3068\u66f8\u3044\u3066\u304f\u3060\u3055\u3044.
-parser.cc.7=\u6587\u5b57\u30af\u30e9\u30b9\u5185\u3067\u306f ']' \u3092\u76f4\u63a5\u66f8\u304f\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093. '\\]' \u3068\u66f8\u3044\u3066\u304f\u3060\u3055\u3044.
-parser.ope.1='[' \u304c\u5fc5\u8981\u3067\u3059.
-parser.ope.2=')' \u304b '-[' \u304b '+[' \u304b '&[' \u304c\u5fc5\u8981\u3067\u3059.
-parser.descape.1=\u30b3\u30fc\u30c9\u30dd\u30a4\u30f3\u30c8\u306e16\u9032\u6570\u8868\u8a18\u4e2d\u306b\u9593\u9055\u3063\u305f\u6587\u5b57\u304c\u3042\u308a\u307e\u3059.
-parser.descape.2=\u30b3\u30fc\u30c9\u30dd\u30a4\u30f3\u30c8\u306e\u6570\u5024\u304c\u5927\u304d\u3059\u304e\u307e\u3059.
-parser.descape.3='\\x{' \u306f '}' \u3067\u9589\u3058\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093.
-parser.descape.4=Unicode \u306e\u30b3\u30fc\u30c9\u30dd\u30a4\u30f3\u30c8\u3068\u3057\u3066\u4e0d\u6b63\u3067\u3059.
-parser.descape.5=\u30a2\u30f3\u30ab\u30fc\u3092\u3053\u3053\u306b\u66f8\u304f\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093.
-parser.process.1=\u3053\u306e\u8868\u73fe\u306f\u73fe\u5728\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u8a2d\u5b9a\u3067\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093.
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/BuiltinSchemaTypeSystem.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/BuiltinSchemaTypeSystem.java
deleted file mode 100644
index 7ef12e1..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/BuiltinSchemaTypeSystem.java
+++ /dev/null
@@ -1,1092 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.SchemaModelGroup;
-import org.apache.xmlbeans.SchemaAttributeGroup;
-import org.apache.xmlbeans.SchemaIdentityConstraint;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.SchemaAttributeModel;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.values.XmlIntegerImpl;
-import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException;
-import org.apache.xmlbeans.impl.values.XmlStringImpl;
-import org.apache.xmlbeans.impl.regex.RegularExpression;
-import org.apache.xmlbeans.impl.regex.SchemaRegularExpression;
-
-import javax.xml.namespace.QName;
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Collections;
-import java.math.BigInteger;
-
-public class BuiltinSchemaTypeSystem extends SchemaTypeLoaderBase implements SchemaTypeSystem
-{
-    // The global builtin type system
-    public static SchemaTypeSystem get()
-        { return _global; }
-
-    // some constants that need to be initialized early
-    private static final SchemaType[] EMPTY_SCHEMATYPE_ARRAY = new SchemaType[0];
-    private static final SchemaType.Ref[] EMPTY_SCHEMATYPEREF_ARRAY = new SchemaType.Ref[0];
-    private static final SchemaGlobalElement[] EMPTY_SCHEMAELEMENT_ARRAY = new SchemaGlobalElement[0];
-    private static final SchemaGlobalAttribute[] EMPTY_SCHEMAATTRIBUTE_ARRAY = new SchemaGlobalAttribute[0];
-    private static final SchemaModelGroup[] EMPTY_SCHEMAMODELGROUP_ARRAY = new SchemaModelGroup[0];
-    private static final SchemaAttributeGroup[] EMPTY_SCHEMAATTRIBUTEGROUP_ARRAY = new SchemaAttributeGroup[0];
-
-    private static BuiltinSchemaTypeSystem _global = new BuiltinSchemaTypeSystem();
-
-    // UR types
-    public static final SchemaTypeImpl ST_ANY_TYPE = _global.getBuiltinType(SchemaType.BTC_ANY_TYPE);
-    public static final SchemaTypeImpl ST_ANY_SIMPLE = _global.getBuiltinType(SchemaType.BTC_ANY_SIMPLE);
-
-    // primitives
-    public static final SchemaTypeImpl ST_BOOLEAN = _global.getBuiltinType(SchemaType.BTC_BOOLEAN);
-    public static final SchemaTypeImpl ST_BASE_64_BINARY = _global.getBuiltinType(SchemaType.BTC_BASE_64_BINARY);
-    public static final SchemaTypeImpl ST_HEX_BINARY = _global.getBuiltinType(SchemaType.BTC_HEX_BINARY);
-    public static final SchemaTypeImpl ST_ANY_URI = _global.getBuiltinType(SchemaType.BTC_ANY_URI);
-    public static final SchemaTypeImpl ST_QNAME = _global.getBuiltinType(SchemaType.BTC_QNAME);
-    public static final SchemaTypeImpl ST_NOTATION = _global.getBuiltinType(SchemaType.BTC_NOTATION);
-    public static final SchemaTypeImpl ST_FLOAT = _global.getBuiltinType(SchemaType.BTC_FLOAT);
-    public static final SchemaTypeImpl ST_DOUBLE = _global.getBuiltinType(SchemaType.BTC_DOUBLE);
-    public static final SchemaTypeImpl ST_DECIMAL = _global.getBuiltinType(SchemaType.BTC_DECIMAL);
-    public static final SchemaTypeImpl ST_STRING = _global.getBuiltinType(SchemaType.BTC_STRING);
-
-    public static final SchemaTypeImpl ST_DURATION = _global.getBuiltinType(SchemaType.BTC_DURATION);
-    public static final SchemaTypeImpl ST_DATE_TIME = _global.getBuiltinType(SchemaType.BTC_DATE_TIME);
-    public static final SchemaTypeImpl ST_TIME = _global.getBuiltinType(SchemaType.BTC_TIME);
-    public static final SchemaTypeImpl ST_DATE = _global.getBuiltinType(SchemaType.BTC_DATE);
-    public static final SchemaTypeImpl ST_G_YEAR_MONTH = _global.getBuiltinType(SchemaType.BTC_G_YEAR_MONTH);
-    public static final SchemaTypeImpl ST_G_YEAR = _global.getBuiltinType(SchemaType.BTC_G_YEAR);
-    public static final SchemaTypeImpl ST_G_MONTH_DAY = _global.getBuiltinType(SchemaType.BTC_G_MONTH_DAY);
-    public static final SchemaTypeImpl ST_G_DAY = _global.getBuiltinType(SchemaType.BTC_G_DAY);
-    public static final SchemaTypeImpl ST_G_MONTH = _global.getBuiltinType(SchemaType.BTC_G_MONTH);
-
-    // derived numerics
-    public static final SchemaTypeImpl ST_INTEGER = _global.getBuiltinType(SchemaType.BTC_INTEGER);
-    public static final SchemaTypeImpl ST_LONG = _global.getBuiltinType(SchemaType.BTC_LONG);
-    public static final SchemaTypeImpl ST_INT = _global.getBuiltinType(SchemaType.BTC_INT);
-    public static final SchemaTypeImpl ST_SHORT = _global.getBuiltinType(SchemaType.BTC_SHORT);
-    public static final SchemaTypeImpl ST_BYTE = _global.getBuiltinType(SchemaType.BTC_BYTE);
-    public static final SchemaTypeImpl ST_NON_POSITIVE_INTEGER = _global.getBuiltinType(SchemaType.BTC_NON_POSITIVE_INTEGER);
-    public static final SchemaTypeImpl ST_NEGATIVE_INTEGER = _global.getBuiltinType(SchemaType.BTC_NEGATIVE_INTEGER);
-    public static final SchemaTypeImpl ST_NON_NEGATIVE_INTEGER = _global.getBuiltinType(SchemaType.BTC_NON_NEGATIVE_INTEGER);
-    public static final SchemaTypeImpl ST_POSITIVE_INTEGER = _global.getBuiltinType(SchemaType.BTC_POSITIVE_INTEGER);
-    public static final SchemaTypeImpl ST_UNSIGNED_LONG = _global.getBuiltinType(SchemaType.BTC_UNSIGNED_LONG);
-    public static final SchemaTypeImpl ST_UNSIGNED_INT = _global.getBuiltinType(SchemaType.BTC_UNSIGNED_INT);
-    public static final SchemaTypeImpl ST_UNSIGNED_SHORT = _global.getBuiltinType(SchemaType.BTC_UNSIGNED_SHORT);
-    public static final SchemaTypeImpl ST_UNSIGNED_BYTE = _global.getBuiltinType(SchemaType.BTC_UNSIGNED_BYTE);
-
-    // derived strings
-    public static final SchemaTypeImpl ST_NORMALIZED_STRING = _global.getBuiltinType(SchemaType.BTC_NORMALIZED_STRING);
-    public static final SchemaTypeImpl ST_TOKEN = _global.getBuiltinType(SchemaType.BTC_TOKEN);
-    public static final SchemaTypeImpl ST_NAME = _global.getBuiltinType(SchemaType.BTC_NAME);
-    public static final SchemaTypeImpl ST_NCNAME = _global.getBuiltinType(SchemaType.BTC_NCNAME);
-    public static final SchemaTypeImpl ST_LANGUAGE = _global.getBuiltinType(SchemaType.BTC_LANGUAGE);
-    public static final SchemaTypeImpl ST_ID = _global.getBuiltinType(SchemaType.BTC_ID);
-    public static final SchemaTypeImpl ST_IDREF = _global.getBuiltinType(SchemaType.BTC_IDREF);
-    public static final SchemaTypeImpl ST_IDREFS = _global.getBuiltinType(SchemaType.BTC_IDREFS);
-    public static final SchemaTypeImpl ST_ENTITY = _global.getBuiltinType(SchemaType.BTC_ENTITY);
-    public static final SchemaTypeImpl ST_ENTITIES = _global.getBuiltinType(SchemaType.BTC_ENTITIES);
-    public static final SchemaTypeImpl ST_NMTOKEN = _global.getBuiltinType(SchemaType.BTC_NMTOKEN);
-    public static final SchemaTypeImpl ST_NMTOKENS = _global.getBuiltinType(SchemaType.BTC_NMTOKENS);
-
-    // the no-type
-    public static final SchemaTypeImpl ST_NO_TYPE = _global.getBuiltinType(SchemaType.BTC_NOT_BUILTIN);
-
-    private final static XmlValueRef XMLSTR_PRESERVE = buildString("preserve");
-    private final static XmlValueRef XMLSTR_REPLACE = buildString("preserve");
-    private final static XmlValueRef XMLSTR_COLLAPSE = buildString("preserve");
-
-    private final static XmlValueRef[] FACETS_NONE = new XmlValueRef[]
-        { null, null, null, null, null, null, null, null, null,
-          null, null, null };
-
-    private final static boolean[] FIXED_FACETS_NONE = new boolean[]
-        { false, false, false, false, false, false, false, false, false,
-          false, false, false };
-
-    private final static XmlValueRef[] FACETS_WS_COLLAPSE = new XmlValueRef[]
-        { null, null, null, null, null, null, null, null, null,
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_WS_REPLACE = new XmlValueRef[]
-        { null, null, null, null, null, null, null, null, null,
-          build_wsstring(SchemaType.WS_REPLACE), null, null };
-
-    private final static XmlValueRef[] FACETS_WS_PRESERVE = new XmlValueRef[]
-        { null, null, null, null, null, null, null, null, null,
-          build_wsstring(SchemaType.WS_PRESERVE), null, null };
-
-    private final static XmlValueRef[] FACETS_INTEGER = new XmlValueRef[]
-        { null, null, null, null, null, null, null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_LONG = new XmlValueRef[]
-        { null, null, null, null, buildInteger(BigInteger.valueOf(Long.MIN_VALUE)), buildInteger(BigInteger.valueOf(Long.MAX_VALUE)), null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_INT = new XmlValueRef[]
-        { null, null, null, null, buildInteger(BigInteger.valueOf(Integer.MIN_VALUE)), buildInteger(BigInteger.valueOf(Integer.MAX_VALUE)), null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_SHORT = new XmlValueRef[]
-        { null, null, null, null, buildInteger(BigInteger.valueOf(Short.MIN_VALUE)), buildInteger(BigInteger.valueOf(Short.MAX_VALUE)), null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_BYTE = new XmlValueRef[]
-        { null, null, null, null, buildInteger(BigInteger.valueOf(Byte.MIN_VALUE)), buildInteger(BigInteger.valueOf(Byte.MAX_VALUE)), null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_NONNEGATIVE = new XmlValueRef[]
-        { null, null, null, null, buildInteger(BigInteger.ZERO), null, null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_POSITIVE = new XmlValueRef[]
-        { null, null, null, null, buildInteger(BigInteger.ONE), null, null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_NONPOSITIVE = new XmlValueRef[]
-        { null, null, null, null, null, buildInteger(BigInteger.ZERO), null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_NEGATIVE = new XmlValueRef[]
-        { null, null, null, null, null, buildInteger(BigInteger.ONE.negate()), null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_UNSIGNED_LONG = new XmlValueRef[]
-        { null, null, null, null, buildInteger(BigInteger.ZERO), buildInteger(new BigInteger("18446744073709551615")), null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_UNSIGNED_INT = new XmlValueRef[]
-        { null, null, null, null, buildInteger(BigInteger.ZERO), buildInteger(BigInteger.valueOf(4294967295L)), null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_UNSIGNED_SHORT = new XmlValueRef[]
-        { null, null, null, null, buildInteger(BigInteger.ZERO), buildInteger(BigInteger.valueOf(65535)), null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_UNSIGNED_BYTE = new XmlValueRef[]
-        { null, null, null, null, buildInteger(BigInteger.ZERO), buildInteger(BigInteger.valueOf(255)), null, null, buildNnInteger(BigInteger.ZERO),
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static XmlValueRef[] FACETS_BUILTIN_LIST = new XmlValueRef[]
-        { null, buildNnInteger(BigInteger.ONE), null, null, null, null, null, null, null,
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static boolean[] FIXED_FACETS_WS = new boolean[]
-        { false, false, false, false, false, false, false, false, false,
-          true, false, false };
-
-    private final static boolean[] FIXED_FACETS_INTEGER = new boolean[]
-        { false, false, false, false, false, false, false, false, true,
-          true, false, false };
-
-    final static XmlValueRef[] FACETS_UNION = FACETS_NONE;
-    final static boolean[] FIXED_FACETS_UNION = FIXED_FACETS_NONE;
-
-    final static XmlValueRef[] FACETS_LIST = FACETS_WS_COLLAPSE;
-    final static boolean[] FIXED_FACETS_LIST = FIXED_FACETS_WS;
-
-
-    /*
-     * LAST Static initializer
-     */
-    static {
-        for (int i = SchemaType.BTC_NOT_BUILTIN; i <= SchemaType.BTC_LAST_BUILTIN; i++)
-        {
-            _global.fillInType(i);
-        }
-    }
-
-    private Map _typeMap = new HashMap();
-    private SchemaTypeImpl[] _typeArray = new SchemaTypeImpl[SchemaType.BTC_LAST_BUILTIN + 1];
-    private Map _handlesToObjects = new HashMap();
-    private Map _objectsToHandles = new HashMap();
-    private Map _typesByClassname = new HashMap();
-
-    private SchemaTypeImpl getBuiltinType(int btc)
-    {
-        return _typeArray[btc];
-    }
-
-    private BuiltinSchemaTypeSystem()
-    {
-        // UR types
-        setupBuiltin(SchemaType.BTC_ANY_TYPE, "anyType", "org.apache.xmlbeans.XmlObject");
-        setupBuiltin(SchemaType.BTC_ANY_SIMPLE, "anySimpleType", "org.apache.xmlbeans.XmlAnySimpleType");
-
-        // primitives
-        setupBuiltin(SchemaType.BTC_BOOLEAN, "boolean", "org.apache.xmlbeans.XmlBoolean");
-        setupBuiltin(SchemaType.BTC_BASE_64_BINARY, "base64Binary", "org.apache.xmlbeans.XmlBase64Binary");
-        setupBuiltin(SchemaType.BTC_HEX_BINARY, "hexBinary", "org.apache.xmlbeans.XmlHexBinary");
-        setupBuiltin(SchemaType.BTC_ANY_URI, "anyURI", "org.apache.xmlbeans.XmlAnyURI");
-        setupBuiltin(SchemaType.BTC_QNAME, "QName", "org.apache.xmlbeans.XmlQName");
-        setupBuiltin(SchemaType.BTC_NOTATION, "NOTATION", "org.apache.xmlbeans.XmlNOTATION");
-        setupBuiltin(SchemaType.BTC_FLOAT, "float", "org.apache.xmlbeans.XmlFloat");
-        setupBuiltin(SchemaType.BTC_DOUBLE, "double", "org.apache.xmlbeans.XmlDouble");
-        setupBuiltin(SchemaType.BTC_DECIMAL, "decimal", "org.apache.xmlbeans.XmlDecimal");
-        setupBuiltin(SchemaType.BTC_STRING, "string", "org.apache.xmlbeans.XmlString");
-
-        setupBuiltin(SchemaType.BTC_DURATION, "duration", "org.apache.xmlbeans.XmlDuration");
-        setupBuiltin(SchemaType.BTC_DATE_TIME, "dateTime", "org.apache.xmlbeans.XmlDateTime");
-        setupBuiltin(SchemaType.BTC_TIME, "time", "org.apache.xmlbeans.XmlTime");
-        setupBuiltin(SchemaType.BTC_DATE, "date", "org.apache.xmlbeans.XmlDate");
-        setupBuiltin(SchemaType.BTC_G_YEAR_MONTH, "gYearMonth", "org.apache.xmlbeans.XmlGYearMonth");
-        setupBuiltin(SchemaType.BTC_G_YEAR, "gYear", "org.apache.xmlbeans.XmlGYear");
-        setupBuiltin(SchemaType.BTC_G_MONTH_DAY, "gMonthDay", "org.apache.xmlbeans.XmlGMonthDay");
-        setupBuiltin(SchemaType.BTC_G_DAY, "gDay", "org.apache.xmlbeans.XmlGDay");
-        setupBuiltin(SchemaType.BTC_G_MONTH, "gMonth", "org.apache.xmlbeans.XmlGMonth");
-
-        // derived numerics
-        setupBuiltin(SchemaType.BTC_INTEGER, "integer", "org.apache.xmlbeans.XmlInteger");
-        setupBuiltin(SchemaType.BTC_LONG, "long", "org.apache.xmlbeans.XmlLong");
-        setupBuiltin(SchemaType.BTC_INT, "int", "org.apache.xmlbeans.XmlInt");
-        setupBuiltin(SchemaType.BTC_SHORT, "short", "org.apache.xmlbeans.XmlShort");
-        setupBuiltin(SchemaType.BTC_BYTE, "byte", "org.apache.xmlbeans.XmlByte");
-        setupBuiltin(SchemaType.BTC_NON_POSITIVE_INTEGER, "nonPositiveInteger", "org.apache.xmlbeans.XmlNonPositiveInteger");
-        setupBuiltin(SchemaType.BTC_NEGATIVE_INTEGER, "negativeInteger", "org.apache.xmlbeans.XmlNegativeInteger");
-        setupBuiltin(SchemaType.BTC_NON_NEGATIVE_INTEGER, "nonNegativeInteger", "org.apache.xmlbeans.XmlNonNegativeInteger");
-        setupBuiltin(SchemaType.BTC_POSITIVE_INTEGER, "positiveInteger", "org.apache.xmlbeans.XmlPositiveInteger");
-        setupBuiltin(SchemaType.BTC_UNSIGNED_LONG, "unsignedLong", "org.apache.xmlbeans.XmlUnsignedLong");
-        setupBuiltin(SchemaType.BTC_UNSIGNED_INT, "unsignedInt", "org.apache.xmlbeans.XmlUnsignedInt");
-        setupBuiltin(SchemaType.BTC_UNSIGNED_SHORT, "unsignedShort", "org.apache.xmlbeans.XmlUnsignedShort");
-        setupBuiltin(SchemaType.BTC_UNSIGNED_BYTE, "unsignedByte", "org.apache.xmlbeans.XmlUnsignedByte");
-
-        // derived strings
-        setupBuiltin(SchemaType.BTC_NORMALIZED_STRING, "normalizedString", "org.apache.xmlbeans.XmlNormalizedString");
-        setupBuiltin(SchemaType.BTC_TOKEN, "token", "org.apache.xmlbeans.XmlToken");
-        setupBuiltin(SchemaType.BTC_NAME, "Name", "org.apache.xmlbeans.XmlName");
-        setupBuiltin(SchemaType.BTC_NCNAME, "NCName", "org.apache.xmlbeans.XmlNCName");
-        setupBuiltin(SchemaType.BTC_LANGUAGE, "language", "org.apache.xmlbeans.XmlLanguage");
-        setupBuiltin(SchemaType.BTC_ID, "ID", "org.apache.xmlbeans.XmlID");
-        setupBuiltin(SchemaType.BTC_IDREF, "IDREF", "org.apache.xmlbeans.XmlIDREF");
-        setupBuiltin(SchemaType.BTC_IDREFS, "IDREFS", "org.apache.xmlbeans.XmlIDREFS");
-        setupBuiltin(SchemaType.BTC_ENTITY, "ENTITY", "org.apache.xmlbeans.XmlENTITY");
-        setupBuiltin(SchemaType.BTC_ENTITIES, "ENTITIES", "org.apache.xmlbeans.XmlENTITIES");
-        setupBuiltin(SchemaType.BTC_NMTOKEN, "NMTOKEN", "org.apache.xmlbeans.XmlNMTOKEN");
-        setupBuiltin(SchemaType.BTC_NMTOKENS, "NMTOKENS", "org.apache.xmlbeans.XmlNMTOKENS");
-
-        // the no-type
-        setupBuiltin(SchemaType.BTC_NOT_BUILTIN, null, null);
-    }
-
-
-    /**
-     * Returns the name of this loader.
-     */
-    public String getName()
-    {
-        return "schema.typesystem.builtin";
-    }
-
-    public boolean isNamespaceDefined(String namespace)
-    {
-        return namespace.equals("http://www.w3.org/2001/XMLSchema");
-    }
-
-    public SchemaType findType(QName name)
-    {
-        return (SchemaType)_typeMap.get(name);
-    }
-
-
-    public SchemaType findDocumentType(QName name)
-    {
-        return null;
-    }
-
-    public SchemaType findAttributeType(QName name)
-    {
-        return null;
-    }
-
-    public SchemaGlobalElement findElement(QName name)
-    {
-        return null;
-    }
-
-    public SchemaGlobalAttribute findAttribute(QName name)
-    {
-        return null;
-    }
-
-    public SchemaType.Ref findTypeRef(QName name)
-    {
-        SchemaType type = findType(name);
-        return (type == null ? null : type.getRef());
-    }
-
-    public SchemaType.Ref findDocumentTypeRef(QName name)
-    {
-        return null;
-    }
-
-    public SchemaType.Ref findAttributeTypeRef(QName name)
-    {
-        return null;
-    }
-
-    public SchemaGlobalElement.Ref findElementRef(QName name)
-    {
-        return null;
-    }
-
-    public SchemaGlobalAttribute.Ref findAttributeRef(QName name)
-    {
-        return null;
-    }
-
-    public SchemaModelGroup.Ref findModelGroupRef(QName name)
-    {
-        return null;
-    }
-
-    public SchemaAttributeGroup.Ref findAttributeGroupRef(QName name)
-    {
-        return null;
-    }
-
-    public SchemaIdentityConstraint.Ref findIdentityConstraintRef(QName name) 
-    {
-        return null;
-    }
-
-    public SchemaType typeForClassname(String classname)
-    {
-        return (SchemaType)_typesByClassname.get(classname);
-    }
-
-    public InputStream getSourceAsStream(String sourceName)
-    {
-        return null; // builtin schema type system has no source.
-    }
-
-    /**
-     * Returns the global types defined in this loader.
-     */
-    public SchemaType[] globalTypes()
-    {
-        SchemaType[] result = new SchemaType[_typeArray.length - 1];
-        System.arraycopy(_typeArray, 1, result, 0, result.length);
-        return result;
-    }
-
-    /**
-     * Returns the document types defined in this loader.
-     */
-    public SchemaType[] documentTypes()
-    {
-        return EMPTY_SCHEMATYPE_ARRAY;
-    }
-
-    /**
-     * Returns the attribute types defined in this loader.
-     */
-    public SchemaType[] attributeTypes()
-    {
-        return EMPTY_SCHEMATYPE_ARRAY;
-    }
-
-    /**
-     * Returns the global elements defined in this loader.
-     */
-    public SchemaGlobalElement[] globalElements()
-    {
-        return EMPTY_SCHEMAELEMENT_ARRAY;
-    }
-
-    /**
-     * Returns the global attributes defined in this loader.
-     */
-    public SchemaGlobalAttribute[] globalAttributes()
-    {
-        return EMPTY_SCHEMAATTRIBUTE_ARRAY;
-    }
-
-    /**
-     * Returns the model groups defined in this loader.
-     */
-    public SchemaModelGroup[] modelGroups()
-    {
-        return EMPTY_SCHEMAMODELGROUP_ARRAY;
-    }
-
-    /**
-     * Returns the attribute groups defined in this loader.
-     */
-    public SchemaAttributeGroup[] attributeGroups()
-    {
-        return EMPTY_SCHEMAATTRIBUTEGROUP_ARRAY;
-    }
-
-    /**
-     * Returns the handle for the given type within this loader.
-     */
-    public String handleForType(SchemaType type)
-    {
-        return (String)_objectsToHandles.get(type);
-    }
-
-    /**
-     * Returns the classloader used by this loader for resolving types.
-     */
-    public ClassLoader getClassLoader()
-    {
-        return BuiltinSchemaTypeSystem.class.getClassLoader();
-    }
-
-    /**
-     * Saves this type to a directory.
-     */
-    public void saveToDirectory(File classDir)
-    {
-        throw new UnsupportedOperationException("The builtin schema type system cannot be saved.");
-    }
-
-    private static XmlValueRef build_wsstring(int wsr)
-    {
-        switch (wsr)
-        {
-            case SchemaType.WS_PRESERVE:
-                return XMLSTR_PRESERVE;
-            case SchemaType.WS_REPLACE:
-                return XMLSTR_REPLACE;
-            case SchemaType.WS_COLLAPSE:
-                return XMLSTR_COLLAPSE;
-        }
-        return null;
-    }
-
-    private static XmlValueRef buildNnInteger(BigInteger bigInt)
-    {
-        if (bigInt == null)
-            return null;
-        if (bigInt.signum() < 0)
-            return null;
-        try
-        {
-            XmlIntegerImpl i = new XmlIntegerImpl();
-            i.set(bigInt);
-            i.setImmutable();
-            return new XmlValueRef(i);
-        }
-        catch (XmlValueOutOfRangeException e)
-        {
-            return null;
-        }
-    }
-
-    private static XmlValueRef buildInteger(BigInteger bigInt)
-    {
-        if (bigInt == null)
-            return null;
-        try
-        {
-            XmlIntegerImpl i = new XmlIntegerImpl();
-            i.set(bigInt);
-            i.setImmutable();
-            return new XmlValueRef(i);
-        }
-        catch (XmlValueOutOfRangeException e)
-        {
-            return null;
-        }
-    }
-
-    private static XmlValueRef buildString(String str)
-    {
-        if (str == null)
-            return null;
-
-        try
-        {
-            XmlStringImpl i = new XmlStringImpl();
-            i.set(str);
-            i.setImmutable();
-            return new XmlValueRef(i);
-        }
-        catch (XmlValueOutOfRangeException e)
-        {
-            return null;
-        }
-    }
-
-    private void setupBuiltin(int btc, String localname, String classname)
-    {
-        SchemaTypeImpl result = new SchemaTypeImpl(this, true);
-        QName name = localname == null ? null : QNameHelper.forLNS(localname, "http://www.w3.org/2001/XMLSchema");
-        String handle = "_BI_" + (localname == null ? "NO_TYPE" : localname);
-        result.setName(name);
-        result.setBuiltinTypeCode(btc);
-        if (classname != null)
-            result.setFullJavaName(classname);
-
-        _typeArray[btc] = result;
-        _typeMap.put(name, result);
-        _handlesToObjects.put(handle, result);
-        _objectsToHandles.put(result, handle);
-        if (classname != null)
-            _typesByClassname.put(classname, result);
-    }
-
-    public void resolve()
-    {
-        // we're born resolved and don't need to do anything.
-    }
-
-    public SchemaType typeForHandle(String handle)
-    {
-        return (SchemaType)_handlesToObjects.get(handle);
-    }
-
-    public SchemaComponent resolveHandle(String handle)
-    {
-        return (SchemaComponent)_handlesToObjects.get(handle);
-    }
-
-    /**
-     * Links a type.
-     */
-    public void fillInType(int btc)
-    {
-        SchemaTypeImpl result = getBuiltinType(btc);
-        SchemaType base;
-        SchemaType item = null;
-        int variety = SchemaType.ATOMIC;
-        int derivationType = SchemaType.DT_RESTRICTION;
-
-        switch (btc)
-        {
-            case SchemaType.BTC_NOT_BUILTIN:
-                variety = SchemaType.NOT_SIMPLE;
-                base = ST_ANY_TYPE;
-                break;
-
-            case SchemaType.BTC_ANY_TYPE:
-                variety = SchemaType.NOT_SIMPLE;
-                base = null;
-                derivationType = SchemaType.DT_RESTRICTION;
-                break;
-
-            default:
-                assert(false);
-
-            case SchemaType.BTC_ANY_SIMPLE:
-                base = ST_ANY_TYPE; break;
-
-            case SchemaType.BTC_BOOLEAN:
-            case SchemaType.BTC_BASE_64_BINARY:
-            case SchemaType.BTC_HEX_BINARY:
-            case SchemaType.BTC_ANY_URI:
-            case SchemaType.BTC_QNAME:
-            case SchemaType.BTC_NOTATION:
-            case SchemaType.BTC_FLOAT:
-            case SchemaType.BTC_DOUBLE:
-            case SchemaType.BTC_DECIMAL:
-            case SchemaType.BTC_STRING:
-            case SchemaType.BTC_DURATION:
-            case SchemaType.BTC_DATE_TIME:
-            case SchemaType.BTC_TIME:
-            case SchemaType.BTC_DATE:
-            case SchemaType.BTC_G_YEAR_MONTH:
-            case SchemaType.BTC_G_YEAR:
-            case SchemaType.BTC_G_MONTH_DAY:
-            case SchemaType.BTC_G_DAY:
-            case SchemaType.BTC_G_MONTH:
-                base = ST_ANY_SIMPLE; break;
-
-            // derived numerics
-            case SchemaType.BTC_INTEGER:
-                base = ST_DECIMAL; break;
-
-            case SchemaType.BTC_LONG:
-                base = ST_INTEGER; break;
-
-            case SchemaType.BTC_INT:
-                base = ST_LONG; break;
-
-            case SchemaType.BTC_SHORT:
-                base = ST_INT; break;
-
-            case SchemaType.BTC_BYTE:
-                base = ST_SHORT; break;
-
-            case SchemaType.BTC_NON_POSITIVE_INTEGER:
-                base = ST_INTEGER; break;
-
-            case SchemaType.BTC_NEGATIVE_INTEGER:
-                base = ST_NON_POSITIVE_INTEGER; break;
-
-            case SchemaType.BTC_NON_NEGATIVE_INTEGER:
-                base = ST_INTEGER; break;
-
-            case SchemaType.BTC_POSITIVE_INTEGER:
-                base = ST_NON_NEGATIVE_INTEGER; break;
-
-            case SchemaType.BTC_UNSIGNED_LONG:
-                base = ST_NON_NEGATIVE_INTEGER; break;
-
-            case SchemaType.BTC_UNSIGNED_INT:
-                base = ST_UNSIGNED_LONG; break;
-
-            case SchemaType.BTC_UNSIGNED_SHORT:
-                base = ST_UNSIGNED_INT; break;
-
-            case SchemaType.BTC_UNSIGNED_BYTE:
-                base = ST_UNSIGNED_SHORT; break;
-
-            // derived strings
-            case SchemaType.BTC_NORMALIZED_STRING:
-                base = ST_STRING; break;
-
-            case SchemaType.BTC_TOKEN:
-                base = ST_NORMALIZED_STRING; break;
-
-            case SchemaType.BTC_NAME:
-                base = ST_TOKEN; break;
-
-            case SchemaType.BTC_NCNAME:
-                base = ST_NAME; break;
-
-            case SchemaType.BTC_ID:
-            case SchemaType.BTC_IDREF:
-            case SchemaType.BTC_ENTITY:
-                base = ST_NCNAME; break;
-
-            case SchemaType.BTC_LANGUAGE:
-            case SchemaType.BTC_NMTOKEN:
-                base = ST_TOKEN; break;
-
-            case SchemaType.BTC_IDREFS:
-            case SchemaType.BTC_ENTITIES:
-            case SchemaType.BTC_NMTOKENS:
-                variety = SchemaType.LIST;
-                base = ST_ANY_SIMPLE;
-                if (btc == SchemaType.BTC_IDREFS)
-                    item = ST_IDREF;
-                else if (btc == SchemaType.BTC_ENTITIES)
-                    item = ST_ENTITY;
-                else
-                    item = ST_NMTOKEN;
-                break;
-        }
-
-        result.setDerivationType(derivationType);
-        result.setSimpleTypeVariety(variety);
-        if (variety != SchemaType.NOT_SIMPLE)
-        {
-            result.setSimpleType(true);
-        }
-        else
-        {
-            assert (btc == SchemaType.BTC_ANY_TYPE || btc == SchemaType.BTC_NOT_BUILTIN);
-        }
-        result.setBaseTypeRef(base == null ? null : base.getRef());
-        result.setBaseDepth(base == null ? 0 : ((SchemaTypeImpl)base).getBaseDepth() + 1);
-        result.setListItemTypeRef(item == null ? null : item.getRef());
-        if (btc >= SchemaType.BTC_FIRST_PRIMITIVE && btc <= SchemaType.BTC_LAST_PRIMITIVE)
-            result.setPrimitiveTypeRef(result.getRef());
-        else if (variety == SchemaType.ATOMIC)
-        {
-            if (base == null)
-                throw new IllegalStateException("Base was null for " + btc);
-            if (base.getPrimitiveType() == null)
-                throw new IllegalStateException("Base.gpt was null for " + btc);
-            result.setPrimitiveTypeRef(base.getPrimitiveType().getRef());
-        }
-
-        XmlValueRef[] facets;
-        boolean[] fixedf;
-        int wsr = SchemaType.WS_COLLAPSE;
-        int decimalSize = SchemaType.NOT_DECIMAL;
-
-        // now set up facets
-        switch (btc)
-        {
-            default:
-                assert(false);
-
-            case SchemaType.BTC_ANY_TYPE:
-            case SchemaType.BTC_ANY_SIMPLE:
-            case SchemaType.BTC_NOT_BUILTIN:
-                facets = FACETS_NONE;
-                fixedf = FIXED_FACETS_NONE;
-                wsr = SchemaType.WS_UNSPECIFIED;
-                break;
-
-            case SchemaType.BTC_STRING:
-                facets = FACETS_WS_PRESERVE;
-                fixedf = FIXED_FACETS_NONE;
-                wsr = SchemaType.WS_PRESERVE;
-                break;
-
-            case SchemaType.BTC_BOOLEAN:
-            case SchemaType.BTC_BASE_64_BINARY:
-            case SchemaType.BTC_HEX_BINARY:
-            case SchemaType.BTC_ANY_URI:
-            case SchemaType.BTC_QNAME:
-            case SchemaType.BTC_FLOAT:
-            case SchemaType.BTC_DOUBLE:
-            case SchemaType.BTC_NOTATION:
-            case SchemaType.BTC_DURATION:
-            case SchemaType.BTC_DATE_TIME:
-            case SchemaType.BTC_TIME:
-            case SchemaType.BTC_DATE:
-            case SchemaType.BTC_G_YEAR_MONTH:
-            case SchemaType.BTC_G_YEAR:
-            case SchemaType.BTC_G_MONTH_DAY:
-            case SchemaType.BTC_G_DAY:
-            case SchemaType.BTC_G_MONTH:
-                facets = FACETS_WS_COLLAPSE;
-                fixedf = FIXED_FACETS_WS;
-                break;
-
-            case SchemaType.BTC_DECIMAL:
-                facets = FACETS_WS_COLLAPSE;
-                fixedf = FIXED_FACETS_WS;
-                decimalSize = SchemaType.SIZE_BIG_DECIMAL;
-                break;
-
-            // derived numerics
-            case SchemaType.BTC_INTEGER:
-                facets = FACETS_INTEGER;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_BIG_INTEGER;
-                break;
-
-            case SchemaType.BTC_LONG:
-                facets = FACETS_LONG;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_LONG;
-                break;
-
-            case SchemaType.BTC_INT:
-                facets = FACETS_INT;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_INT;
-                break;
-
-            case SchemaType.BTC_SHORT:
-                facets = FACETS_SHORT;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_SHORT;
-                break;
-
-            case SchemaType.BTC_BYTE:
-                facets = FACETS_BYTE;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_BYTE;
-                break;
-
-            case SchemaType.BTC_NON_POSITIVE_INTEGER:
-                facets = FACETS_NONPOSITIVE;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_BIG_INTEGER;
-                break;
-
-            case SchemaType.BTC_NEGATIVE_INTEGER:
-                facets = FACETS_NEGATIVE;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_BIG_INTEGER;
-                break;
-
-            case SchemaType.BTC_NON_NEGATIVE_INTEGER:
-                facets = FACETS_NONNEGATIVE;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_BIG_INTEGER;
-                break;
-
-            case SchemaType.BTC_POSITIVE_INTEGER:
-                facets = FACETS_POSITIVE;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_BIG_INTEGER;
-                break;
-
-            case SchemaType.BTC_UNSIGNED_LONG:
-                facets = FACETS_UNSIGNED_LONG;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_BIG_INTEGER;
-                break;
-
-            case SchemaType.BTC_UNSIGNED_INT:
-                facets = FACETS_UNSIGNED_INT;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_LONG;
-                break;
-
-            case SchemaType.BTC_UNSIGNED_SHORT:
-                facets = FACETS_UNSIGNED_SHORT;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_INT;
-                break;
-
-            case SchemaType.BTC_UNSIGNED_BYTE:
-                facets = FACETS_UNSIGNED_BYTE;
-                fixedf = FIXED_FACETS_INTEGER;
-                decimalSize = SchemaType.SIZE_SHORT;
-                break;
-
-
-            // derived strings
-            case SchemaType.BTC_NORMALIZED_STRING:
-                facets = FACETS_WS_REPLACE;
-                fixedf = FIXED_FACETS_NONE;
-                wsr = SchemaType.WS_REPLACE;
-                break;
-
-            case SchemaType.BTC_TOKEN:
-            case SchemaType.BTC_NAME:
-            case SchemaType.BTC_NCNAME:
-            case SchemaType.BTC_LANGUAGE:
-            case SchemaType.BTC_ID:
-            case SchemaType.BTC_IDREF:
-            case SchemaType.BTC_IDREFS:
-            case SchemaType.BTC_ENTITY:
-            case SchemaType.BTC_NMTOKEN:
-                facets = FACETS_WS_COLLAPSE;
-                fixedf = FIXED_FACETS_NONE;
-                wsr = SchemaType.WS_COLLAPSE;
-                break;
-
-            case SchemaType.BTC_ENTITIES:
-            case SchemaType.BTC_NMTOKENS:
-                facets = FACETS_BUILTIN_LIST;
-                fixedf = FIXED_FACETS_NONE;
-                wsr = SchemaType.WS_UNSPECIFIED;
-                break;
-        }
-
-        // fundamental facets
-        int ordered = SchemaType.UNORDERED;
-        boolean isNumeric = false;
-        boolean isFinite = false;
-        boolean isBounded = false;
-
-        switch (btc)
-        {
-            default:
-                assert(false);
-
-            case SchemaType.BTC_ANY_TYPE:
-            case SchemaType.BTC_NOT_BUILTIN:
-            case SchemaType.BTC_ANY_SIMPLE:
-            case SchemaType.BTC_STRING:
-            case SchemaType.BTC_BASE_64_BINARY:
-            case SchemaType.BTC_HEX_BINARY:
-            case SchemaType.BTC_ANY_URI:
-            case SchemaType.BTC_QNAME:
-            case SchemaType.BTC_NOTATION:
-            case SchemaType.BTC_NORMALIZED_STRING:
-            case SchemaType.BTC_TOKEN:
-            case SchemaType.BTC_NAME:
-            case SchemaType.BTC_NCNAME:
-            case SchemaType.BTC_LANGUAGE:
-            case SchemaType.BTC_ID:
-            case SchemaType.BTC_IDREF:
-            case SchemaType.BTC_IDREFS:
-            case SchemaType.BTC_ENTITY:
-            case SchemaType.BTC_NMTOKEN:
-            case SchemaType.BTC_ENTITIES:
-            case SchemaType.BTC_NMTOKENS:
-                break;
-
-            case SchemaType.BTC_BOOLEAN:
-                isFinite = true;
-                break;
-
-
-            case SchemaType.BTC_FLOAT:
-            case SchemaType.BTC_DOUBLE:
-            case SchemaType.BTC_DECIMAL:
-            case SchemaType.BTC_INTEGER:
-                isNumeric = true;
-                ordered = SchemaType.TOTAL_ORDER;
-                break;
-
-            case SchemaType.BTC_DURATION:
-            case SchemaType.BTC_DATE_TIME:
-            case SchemaType.BTC_TIME:
-            case SchemaType.BTC_DATE:
-            case SchemaType.BTC_G_YEAR_MONTH:
-            case SchemaType.BTC_G_YEAR:
-            case SchemaType.BTC_G_MONTH_DAY:
-            case SchemaType.BTC_G_DAY:
-            case SchemaType.BTC_G_MONTH:
-                ordered = SchemaType.PARTIAL_ORDER;
-                break;
-
-            case SchemaType.BTC_LONG:
-            case SchemaType.BTC_INT:
-            case SchemaType.BTC_SHORT:
-            case SchemaType.BTC_BYTE:
-            case SchemaType.BTC_NON_POSITIVE_INTEGER:
-            case SchemaType.BTC_NEGATIVE_INTEGER:
-            case SchemaType.BTC_NON_NEGATIVE_INTEGER:
-            case SchemaType.BTC_POSITIVE_INTEGER:
-            case SchemaType.BTC_UNSIGNED_LONG:
-            case SchemaType.BTC_UNSIGNED_INT:
-            case SchemaType.BTC_UNSIGNED_SHORT:
-            case SchemaType.BTC_UNSIGNED_BYTE:
-                isNumeric = true;
-                ordered = SchemaType.TOTAL_ORDER;
-                isFinite = true;
-                isBounded = true;
-                break;
-        }
-
-        result.setBasicFacets(facets, fixedf);
-        result.setWhiteSpaceRule(wsr);
-        result.setOrdered(ordered);
-        result.setBounded(isBounded);
-        result.setNumeric(isNumeric);
-        result.setFinite(isFinite);
-        result.setDecimalSize(decimalSize);
-        result.setAnonymousTypeRefs(EMPTY_SCHEMATYPEREF_ARRAY);
-
-        // TODO: set up patterns for NCNAME, language, etc.
-
-        String pattern = null;
-        boolean hasPattern = false;
-
-        switch (btc)
-        {
-            case SchemaType.BTC_LANGUAGE:
-                pattern = "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"; // we used to have ([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*", but s4s uses the more lenient pattern to the left. 
-                hasPattern = true;
-                break;
-            case SchemaType.BTC_NMTOKEN:
-                pattern = "\\c+"; 
-                hasPattern = true;
-                break;
-            case SchemaType.BTC_NAME:
-                pattern = "\\i\\c*";
-                hasPattern = true;
-                break;
-            case SchemaType.BTC_NCNAME:
-                pattern = "[\\i-[:]][\\c-[:]]*";
-                hasPattern = true;
-                break;
-
-            // These types inherit their patterns
-            case SchemaType.BTC_ID:
-            case SchemaType.BTC_IDREF:
-            case SchemaType.BTC_ENTITY:
-                hasPattern = true;
-                break;
-        }
-
-        if (pattern != null)
-        {
-            org.apache.xmlbeans.impl.regex.RegularExpression p = null;
-            try { p = org.apache.xmlbeans.impl.regex.SchemaRegularExpression.forPattern(pattern); }
-            catch (org.apache.xmlbeans.impl.regex.ParseException e) { assert false; }
-            result.setPatterns(new org.apache.xmlbeans.impl.regex.RegularExpression[] {p});
-        }
-        result.setPatternFacet(hasPattern);
-
-
-
-        // ANY_TYPE has to be able to act like a complex type
-        if (btc == SchemaType.BTC_ANY_TYPE)
-        {
-            SchemaParticleImpl contentModel = new SchemaParticleImpl();
-            contentModel.setParticleType(SchemaParticle.WILDCARD);
-            contentModel.setWildcardSet(QNameSet.ALL);
-            contentModel.setWildcardProcess(SchemaParticle.LAX);
-            contentModel.setMinOccurs(BigInteger.ZERO);
-            contentModel.setMaxOccurs(null);
-            contentModel.setTransitionRules(QNameSet.ALL, true);
-            contentModel.setTransitionNotes(QNameSet.ALL, true);
-
-            SchemaAttributeModelImpl attrModel = new SchemaAttributeModelImpl();
-            attrModel.setWildcardProcess(SchemaAttributeModel.LAX);
-            attrModel.setWildcardSet(QNameSet.ALL);
-
-            result.setComplexTypeVariety(SchemaType.MIXED_CONTENT);
-            result.setContentModel(contentModel, attrModel, Collections.EMPTY_MAP, Collections.EMPTY_MAP, false);
-            result.setAnonymousTypeRefs(EMPTY_SCHEMATYPEREF_ARRAY);
-            result.setWildcardSummary(QNameSet.ALL, true, QNameSet.ALL, true);
-        }
-        else if (btc == SchemaType.BTC_NOT_BUILTIN)
-        {
-            // so does the no_type : it permits no contents (and even empty contents is invalid, but that's special-cased)
-            SchemaParticleImpl contentModel = null; // empty
-            SchemaAttributeModelImpl attrModel = new SchemaAttributeModelImpl(); // empty
-            result.setComplexTypeVariety(SchemaType.EMPTY_CONTENT);
-            result.setContentModel(contentModel, attrModel, Collections.EMPTY_MAP, Collections.EMPTY_MAP, false);
-            result.setAnonymousTypeRefs(EMPTY_SCHEMATYPEREF_ARRAY);
-            result.setWildcardSummary(QNameSet.EMPTY, false, QNameSet.EMPTY, false);
-        }
-
-        result.setOrderSensitive(false);
-    }
-
-    public static SchemaType getNoType()
-    {
-        return ST_NO_TYPE;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/ClassLoaderResourceLoader.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/ClassLoaderResourceLoader.java
deleted file mode 100644
index c61532d..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/ClassLoaderResourceLoader.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import java.io.InputStream;
-
-public class ClassLoaderResourceLoader implements ResourceLoader
-{
-    ClassLoader _classLoader;
-
-    ClassLoaderResourceLoader(ClassLoader classLoader)
-    {
-        _classLoader = classLoader;
-    }
-
-    public InputStream getResourceAsStream(String resourceName)
-    {
-        return _classLoader.getResourceAsStream(resourceName);
-    }
-
-    public void close() {}
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/FileResourceLoader.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/FileResourceLoader.java
deleted file mode 100644
index e93cf55..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/FileResourceLoader.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import java.io.InputStream;
-import java.io.FileInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipEntry;
-
-public class FileResourceLoader implements ResourceLoader
-{
-    private File _directory;
-    private ZipFile _zipfile;
-
-    public FileResourceLoader(File file) throws IOException
-    {
-        if (file.isDirectory())
-            _directory = file;
-        else
-        {
-            _zipfile = new ZipFile(file);
-        }
-    }
-
-    public InputStream getResourceAsStream(String resourceName)
-    {
-        try
-        {
-            if (_zipfile != null)
-            {
-                ZipEntry entry = _zipfile.getEntry(resourceName);
-                if (entry == null)
-                    return null;
-                return _zipfile.getInputStream(entry);
-            }
-            else
-            {
-                return new FileInputStream(new File(_directory, resourceName));
-            }
-        }
-        catch (IOException e)
-        {
-            return null;
-        }
-    }
-
-    public void close()
-    {
-        if (_zipfile != null)
-        {
-            try
-            {
-                _zipfile.close();
-            }
-            catch (IOException e)
-            {
-                // oh well.
-            }
-            _zipfile = null;
-        }
-    }
-}
-
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/PathResourceLoader.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/PathResourceLoader.java
deleted file mode 100644
index 88567e8..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/PathResourceLoader.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import java.io.InputStream;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-public class PathResourceLoader implements ResourceLoader
-{
-    private ResourceLoader[] _path;
-
-    public PathResourceLoader(ResourceLoader[] loaderpath) throws IOException
-    {
-        _path = new ResourceLoader[loaderpath.length];
-        System.arraycopy(loaderpath, 0, _path, 0, _path.length);
-    }
-
-    public PathResourceLoader(File[] filepath)
-    {
-        List pathlist = new ArrayList();
-        for (int i = 0; i < filepath.length; i++)
-        {
-            try
-            {
-                ResourceLoader path = new FileResourceLoader(filepath[i]);
-                pathlist.add(path);
-            }
-            catch (IOException e)
-            {
-                continue; // can't read a file on classpath? skip it.
-            }
-        }
-        _path = (ResourceLoader[])pathlist.toArray(new ResourceLoader[pathlist.size()]);
-    }
-
-    public InputStream getResourceAsStream(String resourceName)
-    {
-        for (int i = 0; i < _path.length; i++)
-        {
-            InputStream result = _path[i].getResourceAsStream(resourceName);
-            if (result != null)
-                return result;
-        }
-        return null;
-    }
-
-    public void close()
-    {
-        for (int i = 0; i < _path.length; i++)
-        {
-            try
-            {
-                _path[i].close();
-            }
-            catch (Exception e)
-            {
-                // oh well.
-            }
-        }
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/ResourceLoader.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/ResourceLoader.java
deleted file mode 100644
index c0835e6..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/ResourceLoader.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import java.io.InputStream;
-
-public interface ResourceLoader
-{
-    InputStream getResourceAsStream(String resourceName);
-    void close();
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaAttributeGroupImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaAttributeGroupImpl.java
deleted file mode 100644
index 769fa37..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaAttributeGroupImpl.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.SchemaAttributeGroup;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaTypeSystem;
-
-public class SchemaAttributeGroupImpl implements SchemaAttributeGroup
-{
-    private SchemaTypeSystem _typeSystem;
-    private QName _name;
-    private XmlObject _parseObject;
-    private String _parseTNS;
-    private boolean _chameleon;
-    private boolean _redefinition;
-
-    public SchemaAttributeGroupImpl(SchemaTypeSystem typeSystem)
-    {
-        _typeSystem = typeSystem;
-    }
-
-    public SchemaAttributeGroupImpl(SchemaTypeSystem typeSystem, QName name)
-    {
-        this(typeSystem);
-        _name = name;
-    }
-
-    public void init(QName name, String targetNamespace, boolean chameleon, boolean redefinition, XmlObject x)
-    {
-        assert _name == null || name.equals( _name );
-
-        _name = name;
-        _parseTNS = targetNamespace;
-        _chameleon = chameleon;
-        _redefinition = redefinition;
-        _parseObject = x;
-    }
-
-    public SchemaTypeSystem getTypeSystem()
-    {
-        return _typeSystem;
-    }
-
-    public int getComponentType()
-        { return SchemaComponent.ATTRIBUTE_GROUP; }
-
-    public QName getName()
-        { return _name; }
-
-    public XmlObject getParseObject()
-        { return _parseObject; }
-
-    public String getTargetNamespace()
-        { return _parseTNS; }
-
-    public String getChameleonNamespace()
-        { return _chameleon ? _parseTNS : null; }
-
-    private SchemaAttributeGroup.Ref _selfref = new SchemaAttributeGroup.Ref(this);
-    
-    public SchemaAttributeGroup.Ref getRef()
-        { return _selfref; }
-
-    public SchemaComponent.Ref getComponentRef()
-        { return getRef(); }
-
-    public boolean isRedefinition()
-        { return _redefinition; }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaAttributeModelImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaAttributeModelImpl.java
deleted file mode 100644
index 22d992a..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaAttributeModelImpl.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaAttributeModel;
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.QNameSetBuilder;
-import org.apache.xmlbeans.SchemaLocalAttribute;
-import javax.xml.namespace.QName;
-
-import java.util.Map;
-import java.util.LinkedHashMap;
-
-public class SchemaAttributeModelImpl implements SchemaAttributeModel
-{
-    private Map attrMap;
-    private QNameSet wcSet;
-    private int wcProcess;
-
-    public SchemaAttributeModelImpl()
-    {
-        attrMap = new LinkedHashMap();
-        wcSet = null;
-        wcProcess = NONE;
-    }
-
-    public SchemaAttributeModelImpl(SchemaAttributeModel sam)
-    {
-        attrMap = new LinkedHashMap();
-        if (sam == null)
-        {
-            wcSet = null;
-            wcProcess = NONE;
-        }
-        else
-        {
-            SchemaLocalAttribute[] attrs = sam.getAttributes();
-            for (int i = 0; i < attrs.length; i++)
-            {
-                attrMap.put(attrs[i].getName(), attrs[i]);
-            }
-
-            if (sam.getWildcardProcess() != SchemaAttributeModel.NONE)
-            {
-                wcSet = sam.getWildcardSet();
-                wcProcess = sam.getWildcardProcess();
-            }
-        }
-    }
-    
-    private static final SchemaLocalAttribute[] EMPTY_SLA_ARRAY = new SchemaLocalAttribute[0];
-
-    public SchemaLocalAttribute[] getAttributes()
-    {
-        return (SchemaLocalAttribute[])attrMap.values().toArray(EMPTY_SLA_ARRAY);
-    }
-
-    public SchemaLocalAttribute getAttribute(QName name)
-    {
-        return (SchemaLocalAttribute)attrMap.get(name);
-    }
-
-    public void addAttribute(SchemaLocalAttribute attruse)
-    {
-        attrMap.put(attruse.getName(), attruse);
-    }
-    
-    public void removeProhibitedAttribute(QName name)
-    {
-        attrMap.remove(name);
-    }
-
-    public QNameSet getWildcardSet()
-    {
-        return wcSet == null ? QNameSet.EMPTY : wcSet;
-    }
-
-    public void setWildcardSet(QNameSet set)
-    {
-        wcSet = set;
-    }
-
-    public int getWildcardProcess()
-    {
-        return wcProcess;
-    }
-
-    public void setWildcardProcess(int proc)
-    {
-        wcProcess = proc;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaGlobalAttributeImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaGlobalAttributeImpl.java
deleted file mode 100644
index d48bc23..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaGlobalAttributeImpl.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.XmlObject;
-
-public class SchemaGlobalAttributeImpl extends SchemaLocalAttributeImpl
-        implements SchemaGlobalAttribute
-{
-    SchemaTypeSystem _typeSystem;
-    String _filename;
-    private String _parseTNS;
-    private boolean _chameleon;
-
-    public SchemaGlobalAttributeImpl(SchemaTypeSystem typeSystem)
-    {
-        _typeSystem = typeSystem;
-    }
-
-    public SchemaTypeSystem getTypeSystem()
-    {
-        return _typeSystem;
-    }
-
-
-    public int getComponentType()
-    {
-        return SchemaComponent.ATTRIBUTE;
-    }
-
-    public String getSourceName()
-    {
-        return _filename;
-    }
-
-    public void setFilename(String filename)
-    {
-        _filename = filename;
-    }
-
-    public void setParseContext(XmlObject parseObject, String targetNamespace, boolean chameleon)
-    {
-        _parseObject = parseObject;
-        _parseTNS = targetNamespace;
-        _chameleon = chameleon;
-    }
-
-    public XmlObject getParseObject()
-        { return _parseObject; }
-
-    public String getTargetNamespace()
-        { return _parseTNS; }
-
-    public String getChameleonNamespace()
-        { return _chameleon ? _parseTNS : null; }
-
-    private SchemaGlobalAttribute.Ref _selfref = new SchemaGlobalAttribute.Ref(this);
-
-    public SchemaGlobalAttribute.Ref getRef()
-        { return _selfref; }
-
-    public SchemaComponent.Ref getComponentRef()
-        { return getRef(); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaGlobalElementImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaGlobalElementImpl.java
deleted file mode 100644
index bbb26f3..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaGlobalElementImpl.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.XmlObject;
-import javax.xml.namespace.QName;
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-public class SchemaGlobalElementImpl extends SchemaLocalElementImpl
-        implements SchemaGlobalElement
-{
-    private Set _sgMembers = new LinkedHashSet();
-    private static final QName[] _namearray = new QName[0];
-    private boolean _finalExt;
-    private boolean _finalRest;
-    private SchemaTypeSystem _typeSystem;
-    private String _filename;
-    // private XmlObject _parseObject; now inherited from base
-    private String _parseTNS;
-    private boolean _chameleon;
-    private SchemaGlobalElement.Ref _sg;
-
-    public SchemaGlobalElementImpl(SchemaTypeSystem typeSystem)
-    {
-        _typeSystem = typeSystem;
-    }
-
-    public SchemaTypeSystem getTypeSystem()
-    {
-        return _typeSystem;
-    }
-
-    public String getSourceName()
-    {
-        return _filename;
-    }
-
-    public void setFilename(String filename)
-    {
-        _filename = filename;
-    }
-
-    void setFinal(boolean finalExt, boolean finalRest)
-    {
-        mutate(); _finalExt = finalExt; _finalRest = finalRest;
-    }
-
-    public int getComponentType()
-    {
-        return SchemaComponent.ELEMENT;
-    }
-
-    public SchemaGlobalElement substitutionGroup()
-    {
-        return _sg == null ? null : _sg.get();
-    }
-
-    public void setSubstitutionGroup(SchemaGlobalElement.Ref sg) 
-    {
-        _sg = sg;
-    }
-
-    public QName[] substitutionGroupMembers()
-    {
-        return (QName[])_sgMembers.toArray(_namearray);
-    }
-
-    public void addSubstitutionGroupMember(QName name)
-    {
-        mutate(); _sgMembers.add(name);
-    }
-
-
-    public boolean finalExtension()
-    {
-        return _finalExt;
-    }
-
-    public boolean finalRestriction()
-    {
-        return _finalRest;
-    }
-
-    public void setParseContext(XmlObject parseObject, String targetNamespace, boolean chameleon)
-    {
-        _parseObject = parseObject;
-        _parseTNS = targetNamespace;
-        _chameleon = chameleon;
-    }
-
-    public XmlObject getParseObject()
-        { return _parseObject; }
-
-    public String getTargetNamespace()
-        { return _parseTNS; }
-
-    public String getChameleonNamespace()
-        { return _chameleon ? _parseTNS : null; }
-
-    private SchemaGlobalElement.Ref _selfref = new SchemaGlobalElement.Ref(this);
-
-    public SchemaGlobalElement.Ref getRef()
-        { return _selfref; }
-
-    public SchemaComponent.Ref getComponentRef()
-        { return getRef(); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaIdentityConstraintImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaIdentityConstraintImpl.java
deleted file mode 100644
index 46b6b83..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaIdentityConstraintImpl.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaIdentityConstraint;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.impl.common.XPath;
-import javax.xml.namespace.QName;
-import java.util.Map;
-import java.util.Collections;
-
-public class SchemaIdentityConstraintImpl implements SchemaIdentityConstraint
-{
-    private SchemaTypeSystem _typeSystem;
-    private String _selector;
-    private String[] _fields;
-    private SchemaIdentityConstraint.Ref _key;
-    private QName _name;
-    private int _type;
-    private XmlObject _parse;
-    private Map _nsMap = Collections.EMPTY_MAP;
-    private String _parseTNS;
-    private boolean _chameleon;
-
-    // Lazily computed paths
-    private volatile XPath _selectorPath;
-    private volatile XPath[] _fieldPaths;
-
-    public SchemaIdentityConstraintImpl(SchemaTypeSystem sys) {
-        _typeSystem = sys;
-    }
-
-    public String getSelector() {
-        return _selector;
-    }
-
-    public Object getSelectorPath() {
-        XPath p = _selectorPath;
-        if (p == null) {
-            try {
-                buildPaths();
-                p = _selectorPath;
-            }
-            catch (XPath.XPathCompileException e) {
-                assert false: "Failed to compile xpath. Should be caught by compiler " + e;
-                return null;
-            }
-        }
-        return p;
-    }
-
-    public void setNSMap(Map nsMap) {
-        _nsMap = nsMap;
-    }
-
-    public Map getNSMap() {
-        return Collections.unmodifiableMap(_nsMap);
-    }
-
-    public void setSelector(String selector) {
-        assert selector != null;
-        _selector = selector;
-    }
-
-    public void setFields(String[] fields) {
-        assert fields != null && fields.length > 0;
-        _fields = fields;
-    }
-
-    public String[] getFields() {
-        String[] fields = new String[_fields.length];
-        System.arraycopy(_fields, 0, fields, 0, fields.length);
-        return fields;
-    }
-
-    public Object getFieldPath(int index) {
-        XPath[] p = _fieldPaths;
-        if (p == null) {
-            try {
-                buildPaths();
-                p = _fieldPaths;
-            }
-            catch (XPath.XPathCompileException e) {
-                assert false: "Failed to compile xpath. Should be caught by compiler " + e;
-                return null;
-            }
-        }
-        return p[index];
-    }
-
-    public void buildPaths() throws XPath.XPathCompileException {
-        // TODO: Need the namespace map - requires store support
-        _selectorPath = XPath.compileXPath(_selector, _nsMap);
-
-        _fieldPaths = new XPath[_fields.length];
-        for (int i = 0 ; i < _fieldPaths.length ; i++)
-            _fieldPaths[i] = XPath.compileXPath(_fields[i], _nsMap);
-    }
-
-    public void setReferencedKey(SchemaIdentityConstraint.Ref key) {
-        _key = key;
-    }
-
-    public SchemaIdentityConstraint getReferencedKey() {
-        return _key.get();
-    }
-
-    public void setConstraintCategory(int type) {
-        assert type >= CC_KEY && type <= CC_UNIQUE;
-        _type = type;
-    }
-
-    public int getConstraintCategory() {
-        return _type;
-    }
-
-    public void setName(QName name) {
-        assert name != null;
-        _name = name;
-    }
-
-    public QName getName() {
-        return _name;
-    }
-
-    public int getComponentType() {
-        return IDENTITY_CONSTRAINT;
-    }
-
-    public SchemaTypeSystem getTypeSystem() {
-        return _typeSystem;
-    }
-
-    public void setParseContext(XmlObject o, String targetNamespace, boolean chameleon) {
-        _parse = o;
-        _parseTNS = targetNamespace;
-        _chameleon = chameleon;
-    }
-
-    public XmlObject getParseObject() {
-        return _parse;
-    }
-
-    public String getTargetNamespace() {
-        return _parseTNS;
-    }
-
-    public String getChameleonNamespace() {
-        return _chameleon ? _parseTNS : null;
-    }
-
-
-    /**
-     * Only applicable to keyrefs. Other types are implicitly resolved.
-     */
-    public boolean isResolved() {
-        return getConstraintCategory() != CC_KEYREF || _key != null;
-    }
-
-    private SchemaIdentityConstraint.Ref _selfref = new SchemaIdentityConstraint.Ref(this);
-
-    public SchemaIdentityConstraint.Ref getRef()
-        { return _selfref; }
-
-    public SchemaComponent.Ref getComponentRef()
-        { return getRef(); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaLocalAttributeImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaLocalAttributeImpl.java
deleted file mode 100644
index 2591e55..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaLocalAttributeImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaLocalAttribute;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.XmlQName;
-import org.apache.xmlbeans.soap.SOAPArrayType;
-import org.apache.xmlbeans.soap.SchemaWSDLArrayType;
-import org.apache.xmlbeans.impl.values.NamespaceContext;
-
-import java.math.BigInteger;
-
-public class SchemaLocalAttributeImpl implements SchemaLocalAttribute, SchemaWSDLArrayType
-{
-    public SchemaLocalAttributeImpl()
-    {
-    }
-
-    public void init(QName name, SchemaType.Ref typeref, int use, String deftext, XmlObject parseObject, XmlValueRef defvalue, boolean isFixed, SOAPArrayType wsdlArray)
-    {
-        if (_xmlName != null || _typeref != null)
-            throw new IllegalStateException("Already initialized");
-        _use = use;
-        _typeref = typeref;
-        _defaultText = deftext;
-        _parseObject = parseObject;
-        _defaultValue = defvalue;
-        _isDefault = (deftext != null);
-        _isFixed = isFixed;
-        _xmlName = name;
-        _wsdlArrayType = wsdlArray;
-    }
-
-    private String _defaultText;
-    /* package */ XmlValueRef _defaultValue;
-    private boolean _isFixed;
-    private boolean _isDefault;
-    private QName _xmlName;
-    private SchemaType.Ref _typeref;
-    private SOAPArrayType _wsdlArrayType;
-    private int _use;
-    protected XmlObject _parseObject; // for QName resolution
-
-    public boolean isTypeResolved()
-    {
-        return (_typeref != null);
-    }
-
-    public void resolveTypeRef(SchemaType.Ref typeref)
-    {
-        if (_typeref != null)
-            throw new IllegalStateException();
-        _typeref = typeref;
-    }
-
-    public int getUse()
-        { return _use; }
-
-    public QName getName()
-        { return _xmlName; }
-
-    public String getDefaultText()
-        { return _defaultText; }
-
-    public boolean isDefault()
-        { return _isDefault; }
-
-    public boolean isFixed()
-        { return _isFixed; }
-
-    public boolean isAttribute()
-        { return true; }
-
-    public SchemaType getType()
-        { return _typeref.get(); }
-
-    public SchemaType.Ref getTypeRef()
-        { return _typeref; }
-
-    public BigInteger getMinOccurs()
-        { return _use == REQUIRED ? BigInteger.ONE : BigInteger.ZERO; }
-
-    public BigInteger getMaxOccurs()
-        { return _use == PROHIBITED ? BigInteger.ZERO : BigInteger.ONE; }
-
-    public boolean isNillable()
-        { return false; }
-
-    public SOAPArrayType getWSDLArrayType()
-        { return _wsdlArrayType; }
-    
-    public XmlAnySimpleType getDefaultValue()
-    {
-        if (_defaultValue != null)
-            return _defaultValue.get();
-        if (_defaultText != null && XmlAnySimpleType.type.isAssignableFrom(getType()))
-        {
-            if (_parseObject != null)
-            {
-                try
-                {
-                    NamespaceContext.push(new NamespaceContext(_parseObject));
-                    return getType().newValue(_defaultText);
-                }
-                finally
-                {
-                    NamespaceContext.pop();
-                }
-            }
-            return getType().newValue(_defaultText);
-        }
-        return null;
-    }
-
-    public void setDefaultValue(XmlValueRef defaultRef)
-        { _defaultValue = defaultRef; }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaLocalElementImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaLocalElementImpl.java
deleted file mode 100644
index 4b223ad..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaLocalElementImpl.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaLocalElement;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.SchemaIdentityConstraint;
-import org.apache.xmlbeans.soap.SOAPArrayType;
-import org.apache.xmlbeans.soap.SchemaWSDLArrayType;
-
-public class SchemaLocalElementImpl extends SchemaParticleImpl
-        implements SchemaLocalElement, SchemaWSDLArrayType
-{
-    private boolean _blockExt;
-    private boolean _blockRest;
-    private boolean _blockSubst;
-    protected boolean _abs;
-    private SOAPArrayType _wsdlArrayType;
-    private SchemaIdentityConstraint.Ref[] _constraints = new SchemaIdentityConstraint.Ref[0];
-
-
-    public SchemaLocalElementImpl()
-    {
-        setParticleType(SchemaParticle.ELEMENT);
-    }
-
-    public boolean blockExtension()
-    {
-        return _blockExt;
-    }
-
-    public boolean blockRestriction()
-    {
-        return _blockRest;
-    }
-
-    public boolean blockSubstitution()
-    {
-        return _blockSubst;
-    }
-
-    public boolean isAbstract()
-    {
-        return _abs;
-    }
-
-    public void setAbstract(boolean abs)
-    {
-        _abs = abs;
-    }
-
-    public void setBlock(boolean extension, boolean restriction, boolean substitution)
-    {
-        mutate();
-        _blockExt = extension;
-        _blockRest = restriction;
-        _blockSubst = substitution;
-    }
-
-    public void setWsdlArrayType(SOAPArrayType arrayType)
-    {
-        _wsdlArrayType = arrayType;
-    }
-
-    public SOAPArrayType getWSDLArrayType()
-    {
-        return _wsdlArrayType;
-    }
-
-    public void setIdentityConstraints(SchemaIdentityConstraint.Ref[] constraints) {
-        mutate();
-        _constraints = constraints;
-    }
-
-    public SchemaIdentityConstraint[] getIdentityConstraints() {
-        SchemaIdentityConstraint[] result = new SchemaIdentityConstraint[_constraints.length];
-        for (int i = 0 ; i < result.length ; i++)
-            result[i] = _constraints[i].get();
-        return result;
-    }
-
-    public SchemaIdentityConstraint.Ref[] getIdentityConstraintRefs() {
-        SchemaIdentityConstraint.Ref[] result = new SchemaIdentityConstraint.Ref[_constraints.length];
-        System.arraycopy(_constraints, 0, result, 0, result.length);
-        return result;
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaModelGroupImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaModelGroupImpl.java
deleted file mode 100644
index 4ba5521..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaModelGroupImpl.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaModelGroup;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import javax.xml.namespace.QName;
-
-public class SchemaModelGroupImpl implements SchemaModelGroup
-{
-    private SchemaTypeSystem _typeSystem;
-    private QName _name;
-    private XmlObject _parseObject;
-    private String _parseTNS;
-    private boolean _chameleon;
-    private boolean _redefinition;
-
-    public SchemaModelGroupImpl(SchemaTypeSystem typeSystem)
-    {
-        _typeSystem = typeSystem;
-    }
-
-    public SchemaModelGroupImpl(SchemaTypeSystem typeSystem, QName name)
-    {
-        this(typeSystem);
-        _name = name;
-    }
-
-    public void init(QName name, String targetNamespace, boolean chameleon, boolean redefinition, XmlObject x)
-    {
-        assert _name == null || name.equals( _name );
-        
-        _name = name;
-        _parseTNS = targetNamespace;
-        _chameleon = chameleon;
-        _redefinition = redefinition;
-        _parseObject = x;
-    }
-
-    public SchemaTypeSystem getTypeSystem()
-    {
-        return _typeSystem;
-    }
-
-    public int getComponentType()
-        { return SchemaComponent.MODEL_GROUP; }
-
-    public QName getName()
-        { return _name; }
-
-    public XmlObject getParseObject()
-        { return _parseObject; }
-
-    public String getTargetNamespace()
-        { return _parseTNS; }
-
-    public String getChameleonNamespace()
-        { return _chameleon ? _parseTNS : null; }
-    
-    public boolean isRedefinition()
-        { return _redefinition; }
-
-    private SchemaModelGroup.Ref _selfref = new SchemaModelGroup.Ref(this);
-    
-    public SchemaModelGroup.Ref getRef()
-        { return _selfref; }
-
-    public SchemaComponent.Ref getComponentRef()
-        { return getRef(); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaParticleImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaParticleImpl.java
deleted file mode 100644
index 16ea2d3..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaParticleImpl.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.XmlQName;
-import org.apache.xmlbeans.impl.values.NamespaceContext;
-
-import java.math.BigInteger;
-
-import javax.xml.namespace.QName;
-
-public class SchemaParticleImpl implements SchemaParticle
-{
-    private int _particleType;
-    private BigInteger _minOccurs;
-    private BigInteger _maxOccurs;
-    private SchemaParticle[] _particleChildren;
-    private boolean _isImmutable;
-    private QNameSet _startSet;
-    private QNameSet _excludeNextSet;
-    private boolean _isSkippable;
-    private boolean _isDeterministic;
-    private int _intMinOccurs;
-    private int _intMaxOccurs;
-    private QNameSet _wildcardSet;
-    private int _wildcardProcess;
-    private String _defaultText;
-    private boolean _isDefault;
-    private boolean _isFixed;
-    private QName _qName;
-    private boolean _isNillable;
-    private SchemaType.Ref _typeref;
-    protected XmlObject _parseObject;
-    private XmlValueRef _defaultValue;
-
-    protected void mutate()
-        { if (_isImmutable) throw new IllegalStateException(); }
-
-    public void setImmutable()
-        { mutate(); _isImmutable = true; }
-
-    public boolean hasTransitionRules()
-        { return (_startSet != null); }
-
-    public boolean hasTransitionNotes()
-        { return (_excludeNextSet != null); }
-
-    public void setTransitionRules(QNameSet start,
-                                   boolean isSkippable)
-    {
-        _startSet = start;
-        _isSkippable = isSkippable;
-    }
-
-    public void setTransitionNotes(QNameSet excludeNext, boolean isDeterministic)
-    {
-        _excludeNextSet = excludeNext;
-        _isDeterministic = isDeterministic;
-    }
-
-    public boolean canStartWithElement(QName name)
-        { return name != null && _startSet.contains(name); }
-
-    public QNameSet acceptedStartNames()
-        { return _startSet; }
-
-    public QNameSet getExcludeNextSet()
-        { return _excludeNextSet; }
-
-    public boolean isSkippable()
-        { return _isSkippable; }
-
-    public boolean isDeterministic()
-        { return _isDeterministic; }
-
-    public int getParticleType()
-        { return _particleType; }
-
-    public void setParticleType(int pType)
-        { mutate(); _particleType = pType; }
-
-    public boolean isSingleton()
-        { return _maxOccurs != null &&
-                 _maxOccurs.compareTo(BigInteger.ONE) == 0 &&
-                 _minOccurs.compareTo(BigInteger.ONE) == 0; }
-
-    public BigInteger getMinOccurs()
-        { return _minOccurs; }
-
-    public void setMinOccurs(BigInteger min)
-        { mutate(); _minOccurs = min; _intMinOccurs = pegBigInteger(min); }
-
-    public int getIntMinOccurs()
-        { return _intMinOccurs; }
-
-    public BigInteger getMaxOccurs()
-        { return _maxOccurs; }
-
-    public int getIntMaxOccurs()
-        { return _intMaxOccurs; }
-
-    public void setMaxOccurs(BigInteger max)
-        { mutate(); _maxOccurs = max; _intMaxOccurs = pegBigInteger(max); }
-
-    public SchemaParticle[] getParticleChildren()
-    {
-        SchemaParticle[] result = new SchemaParticle[_particleChildren.length];
-        System.arraycopy(_particleChildren, 0, result, 0, _particleChildren.length);
-        return result;
-    }
-
-    public void setParticleChildren(SchemaParticle[] children)
-        { mutate(); _particleChildren = children; }
-
-    public SchemaParticle getParticleChild(int i)
-        { return _particleChildren[i]; }
-
-    public int countOfParticleChild()
-        { return _particleChildren == null ? 0 : _particleChildren.length; }
-
-    public void setWildcardSet(QNameSet set)
-        { mutate(); _wildcardSet = set; }
-
-    public QNameSet getWildcardSet()
-        { return _wildcardSet; }
-
-    public void setWildcardProcess(int process)
-        { mutate(); _wildcardProcess = process; }
-
-    public int getWildcardProcess()
-        { return _wildcardProcess; }
-
-    private static final BigInteger _maxint = BigInteger.valueOf(Integer.MAX_VALUE);
-
-    private static final int pegBigInteger(BigInteger bi)
-    {
-        if (bi == null)
-            return Integer.MAX_VALUE;
-        if (bi.signum() <= 0)
-            return 0;
-        if (bi.compareTo(_maxint) >= 0)
-            return Integer.MAX_VALUE;
-        return bi.intValue();
-    }
-
-    public QName getName()
-        { return _qName; }
-
-    public void setNameAndTypeRef(QName formname, SchemaType.Ref typeref)
-        { mutate(); _qName = formname; _typeref = typeref; }
-
-    public boolean isTypeResolved()
-    {
-        return (_typeref != null);
-    }
-
-    public void resolveTypeRef(SchemaType.Ref typeref)
-    {
-        if (_typeref != null)
-            throw new IllegalStateException();
-        _typeref = typeref;
-    }
-
-    public boolean isAttribute()
-        { return false; }
-
-    public SchemaType getType()
-        { if (_typeref == null) return null; return _typeref.get(); }
-
-    public String getDefaultText()
-        { return _defaultText; }
-
-    public boolean isDefault()
-        { return _isDefault; }
-
-    public boolean isFixed()
-        { return _isFixed; }
-
-    public void setDefault(String deftext, boolean isFixed, XmlObject parseObject)
-    {
-        mutate();
-        _defaultText = deftext;
-        _isDefault = (deftext != null);
-        _isFixed = isFixed;
-        _parseObject = parseObject;
-    }
-
-    public boolean isNillable()
-        { return _isNillable; }
-
-    public void setNillable(boolean nillable)
-        { mutate(); _isNillable = nillable; }
-
-    public XmlAnySimpleType getDefaultValue()
-    {
-        if (_defaultValue != null)
-            return _defaultValue.get();
-        if (_defaultText != null && XmlAnySimpleType.type.isAssignableFrom(getType()))
-        {
-            if (_parseObject != null && XmlQName.type.isAssignableFrom(getType()))
-            {
-                try
-                {
-                    NamespaceContext.push(new NamespaceContext(_parseObject));
-                    return getType().newValue(_defaultText);
-                }
-                finally
-                {
-                    NamespaceContext.pop();
-                }
-            }
-            return getType().newValue(_defaultText);
-        }
-        return null;
-    }
-    
-    public void setDefaultValue(XmlValueRef defaultRef)
-    {
-        mutate();
-        _defaultValue = defaultRef;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaPropertyImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaPropertyImpl.java
deleted file mode 100644
index 37814c6..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaPropertyImpl.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.SchemaProperty;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaField;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.XmlQName;
-import org.apache.xmlbeans.impl.values.NamespaceContext;
-
-import java.math.BigInteger;
-import java.util.Set;
-
-import javax.xml.namespace.QName;
-
-public class SchemaPropertyImpl implements SchemaProperty
-{
-    private QName _name;
-    private SchemaType.Ref _typeref;
-    private boolean _isAttribute;
-    private SchemaType.Ref _containerTypeRef;
-    private String _javaPropertyName;
-    private BigInteger _minOccurs;
-    private BigInteger _maxOccurs;
-    private int _hasNillable;
-    private int _hasDefault;
-    private int _hasFixed;
-    private String _defaultText;
-    private boolean _isImmutable;
-    private SchemaType.Ref _javaBasedOnTypeRef;
-    private boolean _extendsSingleton;
-    private boolean _extendsArray;
-    private boolean _extendsOption;
-    private int _javaTypeCode;
-    private QNameSet _javaSetterDelimiter;
-    private XmlValueRef _defaultValue;
-    private Set _acceptedNames;
-
-    private void mutate()
-        { if (_isImmutable) throw new IllegalStateException(); }
-
-    public void setImmutable()
-        { mutate(); _isImmutable = true; }
-
-    public SchemaType getContainerType()
-        { return _containerTypeRef.get(); }
-
-    public void setContainerTypeRef(SchemaType.Ref typeref)
-        { mutate(); _containerTypeRef = typeref; }
-
-    public QName getName()
-        { return _name; }
-
-    public void setName(QName name)
-        { mutate(); _name = name; }
-
-    public String getJavaPropertyName()
-        { return _javaPropertyName; }
-
-    public void setJavaPropertyName(String name)
-        { mutate(); _javaPropertyName = name; }
-
-    public boolean isAttribute()
-        { return _isAttribute; }
-
-    public void setAttribute(boolean isAttribute)
-        { mutate(); _isAttribute = isAttribute; }
-
-    public boolean isReadOnly()
-        { return false; }
-
-    public SchemaType getType()
-        { return _typeref.get(); }
-
-    public void setTypeRef(SchemaType.Ref typeref)
-        { mutate(); _typeref = typeref; }
-
-    public SchemaType javaBasedOnType()
-        { return _javaBasedOnTypeRef.get(); }
-
-    public boolean extendsJavaSingleton()
-        { return _extendsSingleton; }
-
-    public boolean extendsJavaArray()
-        { return _extendsArray; }
-
-    public boolean extendsJavaOption()
-        { return _extendsOption; }
-
-    public void setExtendsJava(SchemaType.Ref javaBasedOnTypeRef, boolean singleton, boolean option, boolean array)
-    {
-        mutate();
-        _javaBasedOnTypeRef = javaBasedOnTypeRef;
-        _extendsSingleton = singleton;
-        _extendsOption = option;
-        _extendsArray = array;
-    }
-
-    public QNameSet getJavaSetterDelimiter()
-        { return _javaSetterDelimiter == null ? QNameSet.EMPTY : _javaSetterDelimiter; }
-
-    public void setJavaSetterDelimiter(QNameSet set)
-        { mutate(); _javaSetterDelimiter = set; }
-
-    public QName[] acceptedNames()
-    { 
-        if (_acceptedNames == null)
-            return new QName[] { _name };
-
-        return (QName[])_acceptedNames.toArray(new QName[_acceptedNames.size()]); 
-    }
-
-    public void setAcceptedNames(Set set)
-    {
-        mutate(); 
-        _acceptedNames = set;
-    }
-    public void setAcceptedNames(QNameSet set)
-    { 
-        mutate(); 
-        _acceptedNames = set.includedQNamesInExcludedURIs();
-    }
-
-    public BigInteger getMinOccurs()
-        { return _minOccurs; }
-
-    public void setMinOccurs(BigInteger min)
-        { mutate(); _minOccurs = min; }
-
-    public BigInteger getMaxOccurs()
-        { return _maxOccurs; }
-
-    public void setMaxOccurs(BigInteger max)
-        { mutate(); _maxOccurs = max; }
-
-    public int hasNillable()
-        { return _hasNillable; }
-
-    public void setNillable(int when)
-        { mutate(); _hasNillable = when; }
-
-    public int hasDefault()
-        { return _hasDefault; }
-
-    public void setDefault(int when)
-        { mutate(); _hasDefault = when; }
-
-    public int hasFixed()
-        { return _hasFixed; }
-
-    public void setFixed(int when)
-        { mutate(); _hasFixed = when; }
-
-    public String getDefaultText()
-        { return _defaultText; }
-
-    public void setDefaultText(String val)
-        { mutate(); _defaultText = val; }
-
-    public XmlAnySimpleType getDefaultValue()
-    {
-        if (_defaultValue != null)
-            return _defaultValue.get();
-        return null;
-    }
-    
-    public void setDefaultValue(XmlValueRef defaultRef)
-    {
-        mutate();
-        _defaultValue = defaultRef;
-    }
-
-    public int getJavaTypeCode()
-        { return _javaTypeCode; }
-
-    public void setJavaTypeCode(int code)
-        { mutate(); _javaTypeCode = code; }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaStringEnumEntryImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaStringEnumEntryImpl.java
deleted file mode 100644
index 956b886..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaStringEnumEntryImpl.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaStringEnumEntry;
-
-public class SchemaStringEnumEntryImpl implements SchemaStringEnumEntry
-{
-    private String _string;
-    private int _int;
-    private String _enumName;
-
-    public SchemaStringEnumEntryImpl(String str, int i, String enumName)
-    {
-        _string = str;
-        _int = i;
-        _enumName = enumName;
-    }
-
-    public String getString()
-    {
-        return _string;
-    }
-
-    public int getIntValue()
-    {
-        return _int;
-    }
-
-    public String getEnumName()
-    {
-        return _enumName;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java
deleted file mode 100644
index 575af47..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java
+++ /dev/null
@@ -1,2134 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import java.io.Writer;
-import java.io.IOException;
-import java.util.Map;
-import java.util.HashMap;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.impl.common.NameUtil;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaProperty;
-import org.apache.xmlbeans.SchemaStringEnumEntry;
-import org.apache.xmlbeans.XmlObject;
-
-/**
- * Prints the java code for a single schema type
- */
-public final class SchemaTypeCodePrinter
-{
-    Writer _writer;
-    int    _indent;
-
-    static final String LINE_SEPARATOR =
-        System.getProperty("line.separator") == null
-            ? "\n"
-            : System.getProperty("line.separator");
-
-    static final String MAX_SPACES = "                                        ";
-    static final int INDENT_INCREMENT = 4;
-
-    public static final String INDEX_CLASSNAME = "TypeSystemHolder";
-
-    public SchemaTypeCodePrinter ( Writer writer )
-    {
-        _writer = writer;
-        _indent = 0;
-    }
-
-    void indent()
-    {
-        _indent += INDENT_INCREMENT;
-    }
-
-    void outdent()
-    {
-        _indent -= INDENT_INCREMENT;
-    }
-
-    String encodeString ( String s )
-    {
-        StringBuffer sb = new StringBuffer();
-
-        sb.append( '"' );
-
-        for ( int i = 0 ; i < s.length() ; i++ )
-        {
-            char ch = s.charAt( i );
-
-            if (ch == '"')
-            {
-                sb.append( '\\' );
-                sb.append( '\"' );
-            }
-            else if (ch == '\\')
-            {
-                sb.append( '\\' );
-                sb.append( '\\' );
-            }
-            else if (ch == '\r')
-            {
-                sb.append( '\\' );
-                sb.append( 'r' );
-            }
-            else if (ch == '\n')
-            {
-                sb.append( '\\' );
-                sb.append( 'n' );
-            }
-            else if (ch == '\t')
-            {
-                sb.append( '\\' );
-                sb.append( 't' );
-            }
-            else
-                sb.append( ch );
-        }
-
-        sb.append( '"' );
-
-        return sb.toString();
-    }
-
-    void emit(String s) throws IOException
-    {
-        int indent = _indent;
-        
-        if (indent > MAX_SPACES.length() / 2)
-            indent = MAX_SPACES.length() / 4 + indent / 2;
-        
-        if (indent > MAX_SPACES.length())
-            indent = MAX_SPACES.length();
-        
-        _writer.write(MAX_SPACES.substring(0, indent));
-        _writer.write(s);
-        _writer.write(LINE_SEPARATOR);
-        
-        // System.out.print(MAX_SPACES.substring(0, indent));
-        // System.out.println(s);
-    }
-
-    public static void printTypeImpl ( Writer writer, SchemaType sType )
-        throws IOException
-    {
-        new SchemaTypeCodePrinter( writer ).printTypeImpl( sType, sType.getTypeSystem() );
-    }
-
-    public static void printType ( Writer writer, SchemaType sType )
-        throws IOException
-    {
-        new SchemaTypeCodePrinter( writer ). printType( sType, sType.getTypeSystem() );
-    }
-
-    public static void printLoader ( Writer writer, SchemaTypeSystem system )
-        throws IOException
-    {
-        new SchemaTypeCodePrinter( writer ).printIndexType( system );
-    }
-
-    void printType(SchemaType sType, SchemaTypeSystem system) throws IOException
-    {
-        printTopComment(sType);
-        printPackage(sType, true);
-        emit("");
-        printInnerType(sType, system);
-        _writer.flush();
-    }
-
-    void printTypeImpl(SchemaType sType, SchemaTypeSystem system) throws IOException
-    {
-        printTopComment(sType);
-        printPackage(sType, false);
-        printInnerTypeImpl(sType, system, false);
-    }
-
-    /**
-     * Since not all schema types have java types, this skips
-     * over any that don't and gives you the nearest java base type.
-     */
-    String findJavaType ( SchemaType sType )
-    {
-        while ( sType.getFullJavaName() == null )
-            sType = sType.getBaseType();
-        
-        return sType.getFullJavaName();
-    }
-
-    static String prettyQName(QName qname)
-    {
-        String result = qname.getLocalPart();
-        if (qname.getNamespaceURI() != null)
-            result += "(@" + qname.getNamespaceURI() + ")";
-        return result;
-    }
-
-    void printInnerTypeJavaDoc(SchemaType sType) throws IOException
-    {
-        QName name = sType.getName();
-        if (name == null)
-        {
-            if (sType.isDocumentType())
-                name = sType.getDocumentElementName();
-            else if (sType.isAttributeType())
-                name = sType.getAttributeTypeAttributeName();
-            else if (sType.getContainerField() != null)
-                name = sType.getContainerField().getName();
-        }
-
-        emit("/**");
-        if (sType.isDocumentType())
-            emit(" * A document containing one " + prettyQName(name) + " element.");
-        else if (sType.isAttributeType())
-            emit(" * A document containing one " + prettyQName(name) + " attribute.");
-        else if (name != null)
-            emit(" * An XML " + prettyQName(name) + ".");
-        else
-            emit(" * An anonymous inner XML type.");
-        emit(" *");
-        switch (sType.getSimpleVariety())
-        {
-            case SchemaType.NOT_SIMPLE:
-                emit(" * This is a complex type.");
-                break;
-            case SchemaType.ATOMIC:
-                emit(" * This is an atomic type that is a restriction of " + sType.getBaseType().getFullJavaName() + ".");
-                break;
-            case SchemaType.LIST:
-                emit(" * This is a list type whose items are " + sType.getListItemType().getFullJavaName() + ".");
-                break;
-            case SchemaType.UNION:
-                emit(" * This is a union type. Instances are of one of the following types:");
-                SchemaType[] members = sType.getUnionConstituentTypes();
-                for (int i = 0; i < members.length; i++)
-                    emit(" *     " + members[i].getFullJavaName());
-                break;
-        }
-        emit(" */");
-    }
-
-    public static String indexClassForSystem(SchemaTypeSystem system)
-    {
-        String name = system.getName();
-        return name + "." + INDEX_CLASSNAME;
-    }
-
-    static String shortIndexClassForSystem(SchemaTypeSystem system)
-    {
-        return INDEX_CLASSNAME;
-    }
-
-    void printStaticTypeDeclaration(SchemaType sType, SchemaTypeSystem system) throws IOException
-    {
-        emit("public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)" +
-                indexClassForSystem(system) +
-                ".typeSystem.resolveHandle(\"" +
-                ((SchemaTypeSystemImpl)system).handleForType(sType) + "\");");
-    }
-
-    void printIndexType(SchemaTypeSystem system) throws IOException
-    {
-        String shortName = shortIndexClassForSystem(system);
-        emit("package " + system.getName() + ";");
-        emit("");
-        emit("public final class " + shortName);
-        emit("{");
-        indent();
-        emit("private " + shortName + "() { }");
-        emit("public static final org.apache.xmlbeans.SchemaTypeSystem typeSystem = loadTypeSystem();");
-        emit("static { typeSystem.resolve(); }");
-        emit("private static final org.apache.xmlbeans.SchemaTypeSystem loadTypeSystem()");
-        emit("{");
-        indent();
-        emit("try { return (org.apache.xmlbeans.SchemaTypeSystem)Class.forName(\"org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl\", true, " + shortName + ".class.getClassLoader()).getConstructor(new Class[] { Class.class }).newInstance(new Object[] { " + shortName + ".class }); }");
-        emit("catch (ClassNotFoundException e) { throw new RuntimeException(\"Cannot load org.apache.xmlbeans.impl.SchemaTypeSystemImpl: make sure xbean.jar is on the classpath.\", e); }");
-        emit("catch (Exception e) { throw new RuntimeException(\"Could not instantiate SchemaTypeSystemImpl (\" + e.toString() + \"): is the version of xbean.jar correct?\", e); }");
-        outdent();
-        emit("}");
-        outdent();
-        emit("}");
-    }
-
-    void printInnerType(SchemaType sType, SchemaTypeSystem system) throws IOException
-    {
-        emit("");
-
-        printInnerTypeJavaDoc(sType);
-
-        startInterface(sType);
-        
-        printStaticTypeDeclaration(sType, system);
-
-        if (sType.isSimpleType())
-        {
-            if (sType.hasStringEnumValues())
-                printStringEnumeration(sType);
-        }
-        else
-        {
-            SchemaProperty[] props = sType.getDerivedProperties();
-            for (int i = 0; i < props.length; i++)
-            {
-                SchemaProperty prop = props[i];
-
-                printPropertyGetters(
-                    prop.getName(),
-                    prop.isAttribute(),
-                    prop.getJavaPropertyName(),
-                    prop.getJavaTypeCode(),
-                    javaTypeForProperty(prop),
-                    xmlTypeForProperty(prop),
-                    prop.hasNillable() != SchemaProperty.NEVER,
-                    prop.extendsJavaOption(),
-                    prop.extendsJavaArray(),
-                    prop.extendsJavaSingleton()
-                );
-
-                if (!prop.isReadOnly())
-                {
-                    printPropertySetters(
-                        prop.getName(),
-                        prop.isAttribute(),
-                        prop.getJavaPropertyName(),
-                        prop.getJavaTypeCode(),
-                        javaTypeForProperty(prop),
-                        xmlTypeForProperty(prop),
-                        prop.hasNillable() != SchemaProperty.NEVER,
-                        prop.extendsJavaOption(),
-                        prop.extendsJavaArray(),
-                        prop.extendsJavaSingleton()
-                    );
-                }
-            }
-
-        }
-        
-        printNestedInnerTypes(sType, system);
-
-        printFactory(sType);
-
-        endBlock();
-    }
-
-    void printFactory(SchemaType sType) throws IOException
-    {
-        // Only need full factories for top-level types
-        boolean fullFactory = true;
-        if (sType.isAnonymousType() && ! sType.isDocumentType() && !sType.isAttributeType())
-            fullFactory = false;
-
-        String fullName = sType.getFullJavaName().replace('$', '.');
-
-        emit("");
-        emit("/**");
-        emit(" * A factory class with static methods for creating instances");
-        emit(" * of this type.");
-        emit(" */");
-        emit("");
-        // BUGBUG - Can I use the name loader here?  could it be a
-        // nested type name?  It is lower case!
-        emit("public static final class Factory");
-        emit("{");
-        indent();
-
-        if (sType.isSimpleType())
-        {
-            emit("public static " + fullName + " newValue(java.lang.Object obj) {");
-            emit("  return (" + fullName + ") type.newValue( obj ); }");
-            emit("");
-        }
-
-        emit("public static " + fullName + " newInstance() {");
-        emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }");
-        emit("");
-
-        emit("public static " + fullName + " newInstance(org.apache.xmlbeans.XmlOptions options) {");
-        emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }");
-        emit("");
-
-        if (fullFactory)
-        {
-            emit("public static " + fullName + " parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( s, type, null ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( s, type, options ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( f, type, null ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( f, type, options ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }");
-            emit("");
-
-            emit("public static " + fullName + " parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {");
-            emit("  return (" + fullName + ") org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }");
-            emit("");
-
-            emit("public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {");
-            emit("  return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }");
-            emit("");
-
-            emit("public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {");
-            emit("  return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }");
-            emit("");
-        }
-
-        emit("private Factory() { } // No instance of this class allowed");
-        outdent();
-        emit("}");
-    }
-
-    void printNestedInnerTypes(SchemaType sType, SchemaTypeSystem system) throws IOException
-    {
-        SchemaType[] anonTypes = sType.getAnonymousTypes();
-        for (int i = 0; i < anonTypes.length; i++)
-        {
-            if (anonTypes[i].isSkippedAnonymousType())
-                printNestedInnerTypes(anonTypes[i], system);
-            else
-                printInnerType(anonTypes[i], system);
-        }
-    }
-
-    void printTopComment(SchemaType sType) throws IOException
-    {
-        emit("/*");
-        if (sType.getName() != null)
-        {
-            emit(" * XML Type:  " + sType.getName().getLocalPart());
-            emit(" * Namespace: " + sType.getName().getNamespaceURI());
-        }
-        else
-        {
-            QName thename = null;
-
-            if (sType.isDocumentType())
-            {
-                thename = sType.getDocumentElementName();
-                emit(" * An XML document type.");
-            }
-            else if (sType.isAttributeType())
-            {
-                thename = sType.getAttributeTypeAttributeName();
-                emit(" * An XML attribute type.");
-            }
-            else
-                assert false;
-
-            assert( thename != null );
-            
-            emit(" * Localname: " + thename.getLocalPart());
-            emit(" * Namespace: " + thename.getNamespaceURI());
-        }
-        emit(" * Java type: " + sType.getFullJavaName());
-        emit(" *");
-        emit(" * Automatically generated - do not modify.");
-        emit(" */");
-    }
-
-    void printPackage(SchemaType sType, boolean intf) throws IOException
-    {
-        String fqjn;
-        if (intf)
-            fqjn = sType.getFullJavaName();
-        else
-            fqjn = sType.getFullJavaImplName();
-
-        int lastdot = fqjn.lastIndexOf('.');
-        if (lastdot < 0)
-            return;
-        String pkg = fqjn.substring(0, lastdot);
-        emit("package " + pkg + ";");
-    }
-
-    void startInterface(SchemaType sType) throws IOException
-    {
-        String shortName = sType.getShortJavaName();
-        
-        String baseInterface = findJavaType(sType.getBaseType());
-
-        /*
-        StringBuffer specializedInterfaces = new StringBuffer();
-
-        if (sType.getSimpleVariety() == SchemaType.ATOMIC &&
-            sType.getPrimitiveType().getBuiltinTypeCode() == SchemaType.BTC_DECIMAL)
-        {
-            int bits = sType.getDecimalSize();
-            if (bits == SchemaType.SIZE_BIG_INTEGER)
-                specializedInterfaces.append(", org.apache.xmlbeans.BigIntegerValue");
-            if (bits == SchemaType.SIZE_LONG)
-                specializedInterfaces.append(", org.apache.xmlbeans.LongValue");
-            if (bits <= SchemaType.SIZE_INT)
-                specializedInterfaces.append(", org.apache.xmlbeans.IntValue");
-        }
-        if (sType.getSimpleVariety() == SchemaType.LIST)
-            specializedInterfaces.append(", org.apache.xmlbeans.ListValue");
-
-        if (sType.getSimpleVariety() == SchemaType.UNION)
-        {
-            SchemaType ctype = sType.getUnionCommonBaseType();
-            String javaTypeHolder = javaTypeHolderForType(ctype);
-            if (javaTypeHolder != null)
-                specializedInterfaces.append(", " + javaTypeHolder);
-        }
-        */
-
-        emit("public interface " + shortName + " extends " + baseInterface);
-        emit("{");
-        indent();
-        emitSpecializedAccessors(sType);
-    }
-
-    private void emitSpecializedAccessors(SchemaType sType) throws IOException
-    {
-        if (sType.getSimpleVariety() == SchemaType.ATOMIC &&
-            sType.getPrimitiveType().getBuiltinTypeCode() == SchemaType.BTC_DECIMAL)
-        {
-            int bits = sType.getDecimalSize();
-            int parentBits = sType.getBaseType().getDecimalSize();
-            if (bits != parentBits || sType.getBaseType().getFullJavaName() == null)
-            {
-                if (bits == SchemaType.SIZE_BIG_INTEGER)
-                {
-                    emit("java.math.BigInteger getBigIntegerValue();");
-                    emit("setBigIntegerValue(java.math.BigInteger bi);");
-                    emit("/** @deprecated */");
-                    emit("java.math.BigInteger bigIntegerValue();");
-                    emit("/** @deprecated */");
-                    emit("void set(java.math.BigInteger bi);");
-                }
-                else if (bits == SchemaType.SIZE_LONG)
-                {
-                    emit("long getLongValue();");
-                    emit("void setLongValue(long l);");
-                    emit("/** @deprecated */");
-                    emit("long longValue();");
-                    emit("/** @deprecated */");
-                    emit("void set(long l);");
-                }
-                else if (bits == SchemaType.SIZE_INT)
-                {
-                    emit("int getIntValue();");
-                    emit("void setIntValue(int i);");
-                    emit("/** @deprecated */");
-                    emit("int intValue();");
-                    emit("/** @deprecated */");
-                    emit("void set(int i);");
-                }
-                else if (bits == SchemaType.SIZE_SHORT)
-                {
-                    emit("short getShortValue();");
-                    emit("void setShortValue(short s);");
-                    emit("/** @deprecated */");
-                    emit("short shortValue();");
-                    emit("/** @deprecated */");
-                    emit("void set(short s);");
-                }
-                else if (bits == SchemaType.SIZE_BYTE)
-                {
-                    emit("byte getByteValue();");
-                    emit("void setByteValue(byte b);");
-                    emit("/** @deprecated */");
-                    emit("byte byteValue();");
-                    emit("/** @deprecated */");
-                    emit("void set(byte b);");
-                }
-            }
-        }
-
-        if (sType.getSimpleVariety() == SchemaType.UNION)
-        {
-            emit("java.lang.Object getObjectValue();");
-            emit("void setObjectValue(java.lang.Object val);");
-            emit("/** @deprecated */");
-            emit("java.lang.Object objectValue();");
-            emit("/** @deprecated */");
-            emit("void objectSet(java.lang.Object val);");
-            emit("org.apache.xmlbeans.SchemaType instanceType();");
-            SchemaType ctype = sType.getUnionCommonBaseType();
-            if (ctype != null && ctype.getSimpleVariety() != SchemaType.UNION);
-                emitSpecializedAccessors(ctype);
-        }
-
-        if (sType.getSimpleVariety() == SchemaType.LIST)
-        {
-            emit("java.util.List getListValue();");
-            emit("java.util.List xgetListValue();");
-            emit("void setListValue(java.util.List list);");
-            emit("/** @deprecated */");
-            emit("java.util.List listValue();");
-            emit("/** @deprecated */");
-            emit("java.util.List xlistValue();");
-            emit("/** @deprecated */");
-            emit("void set(java.util.List list);");
-        }
-    }
-
-    void startBlock() throws IOException
-    {
-        emit("{");
-        indent();
-    }
-    void endBlock() throws IOException
-    {
-        outdent();
-        emit("}");
-    }
-
-    void printJavaDoc(String sentence) throws IOException
-    {
-        emit("");
-        emit("/**");
-        emit(" * " + sentence);
-        emit(" */");
-    }
-
-    void printShortJavaDoc(String sentence) throws IOException
-    {
-        emit("/** " + sentence + " */");
-    }
-
-    static SchemaType findBaseEnumType(SchemaType sType)
-    {
-        while (sType.getBaseType().hasStringEnumValues())
-            sType = sType.getBaseType();
-        return sType;
-    }
-
-    public static String javaStringEscape(String str)
-    {
-        // forbidden: \n, \r, \", \\.
-        test: {
-            for (int i = 0; i < str.length(); i++)
-            {
-                switch (str.charAt(i))
-                {
-                    case '\n':
-                    case '\r':
-                    case '\"':
-                    case '\\':
-                        break test;
-                }
-            }
-            return str;
-        }
-        StringBuffer sb = new StringBuffer();
-        for (int i = 0; i < str.length(); i++)
-        {
-            char ch = str.charAt(i);
-            switch (ch)
-            {
-                default:
-                    sb.append(ch);
-                    break;
-                case '\n':
-                    sb.append("\\n");
-                    break;
-                case '\r':
-                    sb.append("\\r");
-                    break;
-                case '\"':
-                    sb.append("\\\"");
-                    break;
-                case '\\':
-                    sb.append("\\\\");
-                    break;
-            }
-        }
-        return sb.toString();
-    }
-
-    void printStringEnumeration(SchemaType sType) throws IOException
-    {
-        SchemaType baseEnumType = findBaseEnumType(sType);
-        String baseEnumClass = baseEnumType.getFullJavaName();
-
-        if (baseEnumType == sType)
-        {
-            emit("");
-            emit("org.apache.xmlbeans.StringEnumAbstractBase enumValue();");
-            emit("void set(org.apache.xmlbeans.StringEnumAbstractBase e);");
-        }
-
-        emit("");
-        SchemaStringEnumEntry[] entries = sType.getStringEnumEntries();
-        for (int i = 0; i < entries.length; i++)
-        {
-            String enumValue = entries[i].getString();
-            String constName = entries[i].getEnumName();
-            if (baseEnumType != sType)
-                emit("static final " + baseEnumClass + ".Enum " + constName + " = " + baseEnumClass + "." + constName + ";");
-            else
-                emit("static final Enum " + constName + " = Enum.forString(\"" + javaStringEscape(enumValue) + "\");");
-        }
-        emit("");
-        for (int i = 0; i < entries.length; i++)
-        {
-            String constName = "INT_" + entries[i].getEnumName();
-            if (baseEnumType != sType)
-                emit("static final int " + constName + " = " + baseEnumClass + "." + constName + ";");
-            else
-                emit("static final int " + constName + " = Enum." + constName + ";");
-        }
-        if (baseEnumType == sType)
-        {
-            emit("");
-            emit("/**");
-            emit(" * Enumeration value class for " + baseEnumClass + ".");
-            emit(" * These enum values can be used as follows:");
-            emit(" * <pre>");
-            emit(" * enum.toString(); // returns the string value of the enum");
-            emit(" * enum.intValue(); // returns an int value, useful for switches");
-            if (entries.length > 0)
-            emit(" * // e.g., case Enum.INT_" + entries[0].getEnumName());
-            emit(" * Enum.forString(s); // returns the enum value for a string");
-            emit(" * Enum.forInt(i); // returns the enum value for an int");
-            emit(" * </pre>");
-            emit(" * Enumeration objects are immutable singleton objects that");
-            emit(" * can be compared using == object equality. They have no");
-            emit(" * public constructor. See the constants defined within this");
-            emit(" * class for all the valid values.");
-            emit(" */");
-            emit("static final class Enum extends org.apache.xmlbeans.StringEnumAbstractBase");
-            emit("{");
-            indent();
-            emit("/**");
-            emit(" * Returns the enum value for a string, or null if none.");
-            emit(" */");
-            emit("public static Enum forString(java.lang.String s)");
-            emit("    { return (Enum)table.forString(s); }");
-            emit("/**");
-            emit(" * Returns the enum value corresponding to an int, or null if none.");
-            emit(" */");
-            emit("public static Enum forInt(int i)");
-            emit("    { return (Enum)table.forInt(i); }");
-            emit("");
-            emit("private Enum(java.lang.String s, int i)");
-            emit("    { super(s, i); }");
-            emit("");
-            for (int i = 0; i < entries.length; i++)
-            {
-                String constName = "INT_" + entries[i].getEnumName();
-                int intValue = entries[i].getIntValue();
-                emit("static final int " + constName + " = " + intValue + ";");
-            }
-            emit("");
-            emit("public static final org.apache.xmlbeans.StringEnumAbstractBase.Table table =");
-            emit("    new org.apache.xmlbeans.StringEnumAbstractBase.Table");
-            emit("(");
-            indent();
-            emit("new Enum[]");
-            emit("{");
-            indent();
-            for (int i = 0; i < entries.length; i++)
-            {
-                String enumValue = entries[i].getString();
-                String constName = "INT_" + entries[i].getEnumName();
-                emit("new Enum(\"" + javaStringEscape(enumValue) + "\", " + constName + "),");
-            }
-            outdent();
-            emit("}");
-            outdent();
-            emit(");");
-            emit("private static final long serialVersionUID = 1L;");
-            emit("private Object readResolve() { return forInt(intValue()); } ");
-            outdent();
-            emit("}");
-        }
-    }
-
-    String xmlTypeForProperty(SchemaProperty sProp)
-    {
-        SchemaType sType = sProp.javaBasedOnType();
-        return findJavaType(sType).replace('$', '.');
-    }
-
-    static boolean xmlTypeForPropertyIsUnion(SchemaProperty sProp)
-    {
-        SchemaType sType = sProp.javaBasedOnType();
-        return (sType.isSimpleType() && sType.getSimpleVariety() == SchemaType.UNION);
-    }
-
-    String javaTypeForProperty(SchemaProperty sProp)
-    {
-        // The type to use is the XML object....
-        if (sProp.getJavaTypeCode() == SchemaProperty.XML_OBJECT)
-        {
-            SchemaType sType = sProp.javaBasedOnType();
-            return findJavaType(sType).replace('$', '.');
-        }
-
-        switch (sProp.getJavaTypeCode())
-        {
-            case SchemaProperty.JAVA_BOOLEAN:
-                return "boolean";
-            case SchemaProperty.JAVA_FLOAT:
-                return "float";
-            case SchemaProperty.JAVA_DOUBLE:
-                return "double";
-            case SchemaProperty.JAVA_BYTE:
-                return "byte";
-            case SchemaProperty.JAVA_SHORT:
-                return "short";
-            case SchemaProperty.JAVA_INT:
-                return "int";
-            case SchemaProperty.JAVA_LONG:
-                return "long";
-
-            case SchemaProperty.JAVA_BIG_DECIMAL:
-                return "java.math.BigDecimal";
-            case SchemaProperty.JAVA_BIG_INTEGER:
-                return "java.math.BigInteger";
-            case SchemaProperty.JAVA_STRING:
-                return "java.lang.String";
-            case SchemaProperty.JAVA_BYTE_ARRAY:
-                return "byte[]";
-            case SchemaProperty.JAVA_GDATE:
-                return "org.apache.xmlbeans.GDate";
-            case SchemaProperty.JAVA_GDURATION:
-                return "org.apache.xmlbeans.GDuration";
-            case SchemaProperty.JAVA_DATE:
-                return "java.util.Date";
-            case SchemaProperty.JAVA_QNAME:
-                return "javax.xml.namespace.QName";
-            case SchemaProperty.JAVA_LIST:
-                return "java.util.List";
-            case SchemaProperty.JAVA_CALENDAR:
-                return "java.util.Calendar";
-
-            case SchemaProperty.JAVA_ENUM:
-                SchemaType sType = sProp.javaBasedOnType().getBaseEnumType();
-                return findJavaType(sType).replace('$', '.') + ".Enum";
-
-            case SchemaProperty.JAVA_OBJECT:
-                return "java.lang.Object";
-
-            default:
-                assert(false);
-                throw new IllegalStateException();
-        }
-    }
-
-    void printPropertyGetters(QName qName, boolean isAttr,
-                       String propertyName, int javaType,
-                       String type, String xtype,
-                       boolean nillable, boolean optional,
-                       boolean several, boolean singleton)
-       throws IOException
-    {
-        String propdesc = "\"" + qName.getLocalPart() + "\"" + (isAttr ? " attribute" : " element");
-        boolean xmltype = (javaType == SchemaProperty.XML_OBJECT);
-
-        if (singleton)
-        {
-            printJavaDoc((several ? "Gets first " : "Gets the ") + propdesc);
-            emit(type + " get" + propertyName + "();");
-
-            if (!xmltype)
-            {
-                printJavaDoc((several ? "Gets (as xml) first " : "Gets (as xml) the ") + propdesc);
-                emit(xtype + " xget" + propertyName + "();");
-            }
-
-            if (nillable)
-            {
-                printJavaDoc((several ? "Tests for nil first " : "Tests for nil ") + propdesc);
-                emit("boolean isNil" + propertyName + "();");
-            }
-        }
-
-        if (optional)
-        {
-            printJavaDoc((several ? "True if has at least one " : "True if has ") + propdesc);
-            emit("boolean isSet" + propertyName + "();");
-        }
-
-        if (several)
-        {
-            String arrayName = propertyName + "Array";
-
-            printJavaDoc("Gets array of all " + propdesc + "s");
-            emit(type + "[] get" + arrayName + "();");
-
-            printJavaDoc("Gets ith " + propdesc);
-            emit(type + " get" + arrayName + "(int i);");
-
-            if (!xmltype)
-            {
-                printJavaDoc("Gets (as xml) array of all " + propdesc + "s");
-                emit(xtype + "[] xget" + arrayName + "();");
-
-                printJavaDoc("Gets (as xml) ith " + propdesc);
-                emit(xtype + " xget" + arrayName + "(int i);");
-            }
-
-            if (nillable)
-            {
-                printJavaDoc("Tests for nil ith " + propdesc);
-                emit("boolean isNil" + arrayName + "(int i);");
-            }
-
-            printJavaDoc("Returns number of " + propdesc);
-            emit("int sizeOf" + arrayName + "();");
-        }
-    }
-
-    void printPropertySetters(QName qName, boolean isAttr,
-                       String propertyName, int javaType, String type, String xtype,
-                       boolean nillable, boolean optional,
-                       boolean several, boolean singleton)
-       throws IOException
-    {
-        String safeVarName = NameUtil.nonJavaKeyword(NameUtil.lowerCamelCase(propertyName));
-        if (safeVarName.equals("i"))
-            safeVarName = "iValue";
-        boolean xmltype = (javaType == SchemaProperty.XML_OBJECT);
-
-        String propdesc = "\"" + qName.getLocalPart() + "\"" + (isAttr ? " attribute" : " element");
-
-        if (singleton)
-        {
-            printJavaDoc((several ? "Sets first " : "Sets the ") + propdesc);
-            emit("void set" + propertyName + "(" + type + " " + safeVarName + ");");
-
-            if (!xmltype)
-            {
-                printJavaDoc((several ? "Sets (as xml) first " : "Sets (as xml) the ") + propdesc);
-                emit("void xset" + propertyName + "(" + xtype + " " + safeVarName + ");");
-            }
-            
-            if (xmltype && !several)
-            {
-                printJavaDoc("Appends and returns a new empty " + propdesc);
-                emit(xtype + " addNew" + propertyName + "();");
-            }
-
-            if (nillable)
-            {
-                printJavaDoc((several ? "Nils the first " : "Nils the ") + propdesc);
-                emit("void setNil" + propertyName + "();");
-            }
-        }
-
-        if (optional)
-        {
-            printJavaDoc((several ? "Removes first " : "Unsets the ") + propdesc);
-            emit("void unset" + propertyName + "();");
-        }
-
-        if (several)
-        {
-            String arrayName = propertyName + "Array";
-
-            printJavaDoc("Sets array of all " + propdesc);
-            emit("void set" + arrayName + "(" + type + "[] " + safeVarName + "Array);");
-
-            printJavaDoc("Sets ith " + propdesc);
-            emit("void set" + arrayName + "(int i, " + type + " " + safeVarName + ");");
-
-            if (!xmltype)
-            {
-                printJavaDoc("Sets (as xml) array of all " + propdesc);
-                emit("void xset" + arrayName + "(" + xtype + "[]" + safeVarName + "Array);");
-
-                printJavaDoc("Sets (as xml) ith " + propdesc);
-                emit("void xset" + arrayName + "(int i, " + xtype + " " + safeVarName + ");");
-            }
-
-            if (nillable)
-            {
-                printJavaDoc("Nils the ith " + propdesc);
-                emit("void setNil" + arrayName + "(int i);");
-            }
-
-            if (!xmltype)
-            {
-                printJavaDoc("Inserts the value as the ith " + propdesc);
-                emit("void insert" + propertyName + "(int i, " + type + " " + safeVarName + ");");
-
-                printJavaDoc("Appends the value as the last " + propdesc);
-                emit("void add" + propertyName + "(" + type + " " + safeVarName + ");");
-            }
-
-            if (xmltype)
-            {
-                printJavaDoc("Inserts and returns a new empty value (as xml) as the ith " + propdesc);
-                emit(xtype + " insertNew" + propertyName + "(int i);");
-    
-                printJavaDoc("Appends and returns a new empty value (as xml) as the last " + propdesc);
-                emit(xtype + " addNew" + propertyName + "();");
-            }
-
-            printJavaDoc("Removes the ith " + propdesc);
-            emit("void remove" + propertyName + "(int i);");
-        }
-    }
-
-    String getAtomicRestrictionType(SchemaType sType) {
-        SchemaType pType = sType.getPrimitiveType();
-        switch (pType.getBuiltinTypeCode())
-        {
-            case SchemaType.BTC_ANY_SIMPLE:
-                return "org.apache.xmlbeans.impl.values.XmlAnySimpleTypeImpl";
-            case SchemaType.BTC_BOOLEAN:
-                return "org.apache.xmlbeans.impl.values.JavaBooleanHolderEx";
-            case SchemaType.BTC_BASE_64_BINARY:
-                return "org.apache.xmlbeans.impl.values.JavaBase64HolderEx";
-            case SchemaType.BTC_HEX_BINARY:
-                return "org.apache.xmlbeans.impl.values.JavaHexBinaryHolderEx";
-            case SchemaType.BTC_ANY_URI:
-                return "org.apache.xmlbeans.impl.values.JavaUriHolderEx";
-            case SchemaType.BTC_QNAME:
-                return "org.apache.xmlbeans.impl.values.JavaQNameHolderEx";
-            case SchemaType.BTC_NOTATION:
-                return "org.apache.xmlbeans.impl.values.JavaNotationHolderEx";
-            case SchemaType.BTC_FLOAT:
-                return "org.apache.xmlbeans.impl.values.JavaFloatHolderEx";
-            case SchemaType.BTC_DOUBLE:
-                return "org.apache.xmlbeans.impl.values.JavaDoubleHolderEx";
-            case SchemaType.BTC_DECIMAL:
-                switch (sType.getDecimalSize())
-                {
-                    default:
-                        assert(false);
-                    case SchemaType.SIZE_BIG_DECIMAL:
-                        return "org.apache.xmlbeans.impl.values.JavaDecimalHolderEx";
-                    case SchemaType.SIZE_BIG_INTEGER:
-                        return "org.apache.xmlbeans.impl.values.JavaIntegerHolderEx";
-                    case SchemaType.SIZE_LONG:
-                        return "org.apache.xmlbeans.impl.values.JavaLongHolderEx";
-                    case SchemaType.SIZE_INT:
-                    case SchemaType.SIZE_SHORT:
-                    case SchemaType.SIZE_BYTE:
-                        return "org.apache.xmlbeans.impl.values.JavaIntHolderEx";
-                }
-            case SchemaType.BTC_STRING:
-                if (sType.hasStringEnumValues())
-                    return "org.apache.xmlbeans.impl.values.JavaStringEnumerationHolderEx";
-                else
-                    return "org.apache.xmlbeans.impl.values.JavaStringHolderEx";
-
-            case SchemaType.BTC_DATE_TIME:
-            case SchemaType.BTC_TIME:
-            case SchemaType.BTC_DATE:
-            case SchemaType.BTC_G_YEAR_MONTH:
-            case SchemaType.BTC_G_YEAR:
-            case SchemaType.BTC_G_MONTH_DAY:
-            case SchemaType.BTC_G_DAY:
-            case SchemaType.BTC_G_MONTH:
-                return "org.apache.xmlbeans.impl.values.JavaGDateHolderEx";
-
-            case SchemaType.BTC_DURATION:
-                return "org.apache.xmlbeans.impl.values.JavaGDurationHolderEx";
-            default:
-                assert(false) : "unrecognized primitive type";
-                return null;
-        }
-    }
-
-    static SchemaType findBaseType(SchemaType sType)
-    {
-        while (sType.getFullJavaName() == null)
-            sType = sType.getBaseType();
-        return sType;
-    }
-
-    String getBaseClass(SchemaType sType) {
-        SchemaType baseType = findBaseType(sType.getBaseType());
-
-        switch (sType.getSimpleVariety())
-        {
-            case SchemaType.NOT_SIMPLE:
-                // non-simple-content: inherit from base type impl
-                if (!XmlObject.type.equals(baseType))
-                    return baseType.getFullJavaImplName();
-                return "org.apache.xmlbeans.impl.values.XmlComplexContentImpl";
-
-            case SchemaType.ATOMIC:
-                // We should only get called for restrictions
-                assert(! sType.isBuiltinType());
-                return getAtomicRestrictionType(sType);
-
-            case SchemaType.LIST:
-                return "org.apache.xmlbeans.impl.values.XmlListImpl";
-
-            case SchemaType.UNION:
-                return "org.apache.xmlbeans.impl.values.XmlUnionImpl";
-
-            default:
-                throw new IllegalStateException();
-        }
-    }
-
-    void printConstructor(SchemaType sType, String shortName) throws IOException {
-        emit("");
-        emit("public " + shortName + "(org.apache.xmlbeans.SchemaType sType)");
-        startBlock();
-        emit("super(sType" + (sType.getSimpleVariety() == SchemaType.NOT_SIMPLE ?
-                             "":
-                             ", " + !sType.isSimpleType()) +
-             ");");
-        endBlock();
-
-        if (sType.getSimpleVariety() != SchemaType.NOT_SIMPLE)
-        {
-            emit("");
-            emit("protected " + shortName + "(org.apache.xmlbeans.SchemaType sType, boolean b)");
-            startBlock();
-            emit("super(sType, b);");
-            endBlock();
-        }
-    }
-
-    void startClass(SchemaType sType, boolean isInner) throws IOException
-    {
-        String shortName = sType.getShortJavaImplName();
-        String baseClass = getBaseClass(sType);
-        StringBuffer interfaces = new StringBuffer();
-        interfaces.append(sType.getFullJavaName().replace('$', '.'));
-
-        if (sType.getSimpleVariety() == SchemaType.UNION) {
-            SchemaType[] memberTypes = sType.getUnionMemberTypes();
-            for (int i = 0 ; i < memberTypes.length ; i++)
-                interfaces.append(", " + memberTypes[i].getFullJavaName().replace('$', '.'));
-        }
-
-        emit("public " + ( isInner ? "static ": "" ) + "class " + shortName +
-            " extends " + baseClass + " implements " + interfaces.toString());
-
-        startBlock();
-    }
-
-    void makeAttributeDefaultValue(String jtargetType, SchemaProperty prop, String identifier) throws IOException
-    {
-        String fullName = jtargetType;
-        if (fullName == null)
-            fullName = prop.javaBasedOnType().getFullJavaName().replace('$', '.');
-
-        emit("target = (" + fullName + ")get_default_attribute_value(" + identifier + ");");
-    }
-
-    void makeMissingValue(int javaType) throws IOException
-    {
-        switch (javaType)
-        {
-            case SchemaProperty.JAVA_BOOLEAN:
-                emit("return false;"); break;
-
-            case SchemaProperty.JAVA_FLOAT:
-                emit("return 0.0f;"); break;
-
-            case SchemaProperty.JAVA_DOUBLE:
-                emit("return 0.0;"); break;
-
-            case SchemaProperty.JAVA_BYTE:
-            case SchemaProperty.JAVA_SHORT:
-            case SchemaProperty.JAVA_INT:
-                emit("return 0;"); break;
-
-            case SchemaProperty.JAVA_LONG:
-                emit("return 0L;"); break;
-
-            default:
-            case SchemaProperty.XML_OBJECT:
-            case SchemaProperty.JAVA_BIG_DECIMAL:
-            case SchemaProperty.JAVA_BIG_INTEGER:
-            case SchemaProperty.JAVA_STRING:
-            case SchemaProperty.JAVA_BYTE_ARRAY:
-            case SchemaProperty.JAVA_GDATE:
-            case SchemaProperty.JAVA_GDURATION:
-            case SchemaProperty.JAVA_DATE:
-            case SchemaProperty.JAVA_QNAME:
-            case SchemaProperty.JAVA_LIST:
-            case SchemaProperty.JAVA_CALENDAR:
-            case SchemaProperty.JAVA_ENUM:
-            case SchemaProperty.JAVA_OBJECT:
-                emit("return null;"); break;
-        }
-    }
-
-    void printJGetArrayValue(int javaType, String type) throws IOException {
-        switch (javaType)
-        {
-            case SchemaProperty.XML_OBJECT:
-            case SchemaProperty.JAVA_ENUM:
-                emit(type + "[] result = new " + type + "[targetList.size()];");
-                emit("targetList.toArray(result);");
-                break;
-
-            case SchemaProperty.JAVA_BOOLEAN:
-                emit("boolean[] result = new boolean[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getBooleanValue();");
-                break;
-
-            case SchemaProperty.JAVA_FLOAT:
-                emit("float[] result = new float[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getFloatValue();");
-                break;
-
-            case SchemaProperty.JAVA_DOUBLE:
-                emit("double[] result = new double[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getDoubleValue();");
-                break;
-
-            case SchemaProperty.JAVA_BYTE:
-                emit("byte[] result = new byte[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getByteValue();");
-                break;
-
-            case SchemaProperty.JAVA_SHORT:
-                emit("short[] result = new short[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getShortValue();");
-                break;
-
-            case SchemaProperty.JAVA_INT:
-                emit("int[] result = new int[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getIntValue();");
-                break;
-
-            case SchemaProperty.JAVA_LONG:
-                emit("long[] result = new long[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getLongValue();");
-                break;
-
-            case SchemaProperty.JAVA_BIG_DECIMAL:
-                emit("java.math.BigDecimal[] result = new java.math.BigDecimal[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getBigDecimalValue();");
-                break;
-
-            case SchemaProperty.JAVA_BIG_INTEGER:
-                emit("java.math.BigInteger[] result = new java.math.BigInteger[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getBigIntegerValue();");
-                break;
-
-            case SchemaProperty.JAVA_STRING:
-                emit("java.lang.String[] result = new java.lang.String[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getStringValue();");
-                break;
-
-            case SchemaProperty.JAVA_BYTE_ARRAY:
-                emit("byte[][] result = new byte[targetList.size()][];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getByteArrayValue();");
-                break;
-
-            case SchemaProperty.JAVA_CALENDAR:
-                emit("java.util.Calendar[] result = new java.util.Calendar[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getCalendarValue();");
-                break;
-
-            case SchemaProperty.JAVA_DATE:
-                emit("java.util.Date[] result = new java.util.Date[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getDateValue();");
-                break;
-
-            case SchemaProperty.JAVA_GDATE:
-                emit("org.apache.xmlbeans.GDate[] result = new org.apache.xmlbeans.GDate[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getGDateValue();");
-                break;
-
-            case SchemaProperty.JAVA_GDURATION:
-                emit("org.apache.xmlbeans.GDuration[] result = new org.apache.xmlbeans.GDuration[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getGDurationValue();");
-                break;
-
-            case SchemaProperty.JAVA_QNAME:
-                emit("javax.xml.namespace.QName[] result = new javax.xml.namespace.QName[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getQNameValue();");
-                break;
-
-            case SchemaProperty.JAVA_LIST:
-                emit("java.util.List[] result = new java.util.List[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getListValue();");
-                break;
-
-            case SchemaProperty.JAVA_OBJECT:
-                emit("Object[] result = new Object[targetList.size()];");
-                emit("for (int i = 0, len = targetList.size() ; i < len ; i++)");
-                emit("    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getObjectValue();");
-                break;
-
-        }
-        emit("return result;");
-    }
-    void printJGetValue(int javaType, String type) throws IOException {
-        switch (javaType)
-        {
-        case SchemaProperty.XML_OBJECT:
-            emit("return target;"); break;
-
-        case SchemaProperty.JAVA_BOOLEAN:
-            emit("return target.getBooleanValue();"); break;
-
-        case SchemaProperty.JAVA_FLOAT:
-            emit("return target.getFloatValue();"); break;
-
-        case SchemaProperty.JAVA_DOUBLE:
-            emit("return target.getDoubleValue();"); break;
-
-        case SchemaProperty.JAVA_BYTE:
-            emit("return target.getByteValue();"); break;
-
-        case SchemaProperty.JAVA_SHORT:
-            emit("return target.getShortValue();"); break;
-
-        case SchemaProperty.JAVA_INT:
-            emit("return target.getIntValue();"); break;
-
-        case SchemaProperty.JAVA_LONG:
-            emit("return target.getLongValue();"); break;
-
-        case SchemaProperty.JAVA_BIG_DECIMAL:
-            emit("return target.getBigDecimalValue();"); break;
-
-        case SchemaProperty.JAVA_BIG_INTEGER:
-            emit("return target.getBigIntegerValue();"); break;
-
-        case SchemaProperty.JAVA_STRING:
-            emit("return target.getStringValue();"); break;
-
-        case SchemaProperty.JAVA_BYTE_ARRAY:
-            emit("return target.getByteArrayValue();"); break;
-
-        case SchemaProperty.JAVA_GDATE:
-            emit("return target.getGDateValue();"); break;
-
-        case SchemaProperty.JAVA_GDURATION:
-            emit("return target.getGDurationValue();"); break;
-
-        case SchemaProperty.JAVA_CALENDAR:
-            emit("return target.getCalendarValue();"); break;
-
-        case SchemaProperty.JAVA_DATE:
-            emit("return target.getDateValue();"); break;
-
-        case SchemaProperty.JAVA_QNAME:
-            emit("return target.getQNameValue();"); break;
-
-        case SchemaProperty.JAVA_LIST:
-            emit("return target.getListValue();"); break;
-
-        case SchemaProperty.JAVA_ENUM:
-            emit("return (" + type + ")target.getEnumValue();"); break;
-
-        case SchemaProperty.JAVA_OBJECT:
-            emit("return target.getObjectValue();"); break;
-        }
-    }
-
-    String jsetMethod(int javaType) throws IOException
-    {
-        switch (javaType)
-        {
-            case SchemaProperty.XML_OBJECT:
-                return "target.set";
-
-            case SchemaProperty.JAVA_BOOLEAN:
-                return "target.setBooleanValue";
-
-            case SchemaProperty.JAVA_FLOAT:
-                return "target.setFloatValue";
-
-            case SchemaProperty.JAVA_DOUBLE:
-                return "target.setDoubleValue";
-
-            case SchemaProperty.JAVA_BYTE:
-                return "target.setByteValue";
-
-            case SchemaProperty.JAVA_SHORT:
-                return "target.setShortValue";
-
-            case SchemaProperty.JAVA_INT:
-                return "target.setIntValue";
-
-            case SchemaProperty.JAVA_LONG:
-                return "target.setLongValue";
-
-            case SchemaProperty.JAVA_BIG_DECIMAL:
-                return "target.setBigDecimalValue";
-
-            case SchemaProperty.JAVA_BIG_INTEGER:
-                return "target.setBigIntegerValue";
-
-            case SchemaProperty.JAVA_STRING:
-                return "target.setStringValue";
-
-            case SchemaProperty.JAVA_BYTE_ARRAY:
-                return "target.setByteArrayValue";
-
-            case SchemaProperty.JAVA_GDATE:
-                return "target.setGDateValue";
-
-            case SchemaProperty.JAVA_GDURATION:
-                return "target.setGDurationValue";
-
-            case SchemaProperty.JAVA_CALENDAR:
-                return "target.setCalendarValue";
-
-            case SchemaProperty.JAVA_DATE:
-                return "target.setDateValue";
-
-            case SchemaProperty.JAVA_QNAME:
-                return "target.setQNameValue";
-
-            case SchemaProperty.JAVA_LIST:
-                return "target.setListValue";
-
-            case SchemaProperty.JAVA_ENUM:
-                return "target.setEnumValue";
-
-            case SchemaProperty.JAVA_OBJECT:
-                return "target.setObjectValue";
-
-            default:
-                throw new IllegalStateException();
-        }
-    }
-
-    String getIdentifier(Map qNameMap, QName qName) {
-        return ((String[])qNameMap.get(qName))[0];
-    }
-
-    String getSetIdentifier(Map qNameMap, QName qName) {
-        String[] identifiers = (String[])qNameMap.get(qName);
-        return identifiers[1] == null ? identifiers[0] : identifiers[1];
-    }
-
-    Map printStaticFields(SchemaProperty[] properties) throws IOException {
-        final Map results = new HashMap();
-
-        emit("");
-        for (int i = 0; i < properties.length; i++)
-        {
-            final String[] identifiers = new String[2];
-            final SchemaProperty prop = properties[i];
-            final QName name = prop.getName();
-            results.put(name, identifiers);
-            final String javaName = prop.getJavaPropertyName();
-            identifiers[0] = (javaName + "$" + (i * 2)).toUpperCase();
-            final String uriString =  "\"" + name.getNamespaceURI() + "\"";
-
-            emit("private static final javax.xml.namespace.QName " + identifiers[0] +
-                 " = " );
-            indent();
-            emit("new javax.xml.namespace.QName(" +
-                 uriString + ", \"" + name.getLocalPart() + "\");");
-            outdent();
-
-            if (properties[i].acceptedNames() != null)
-            {
-                final QName[] qnames = properties[i].acceptedNames();
-
-                if (qnames.length > 1)
-                {
-                    identifiers[1] = (javaName + "$" + (i*2+1)).toUpperCase();
-
-                    emit("private static final org.apache.xmlbeans.QNameSet " + identifiers[1] +
-                        " = org.apache.xmlbeans.QNameSet.forArray( new javax.xml.namespace.QName[] { " );
-                    indent();
-                    for (int j = 0 ; j < qnames.length ; j++)
-                    {
-                        emit("new javax.xml.namespace.QName(\"" + qnames[j].getNamespaceURI() +
-                            "\", \"" + qnames[j].getLocalPart() + "\"),");
-                    }
-
-                    outdent();
-
-                    emit("});");
-                }
-            }
-        }
-        emit("");
-        return results;
-    }
-
-    void emitImplementationPreamble() throws IOException
-    {
-        emit("synchronized (monitor())");
-        emit("{");
-        indent();
-        emit("check_orphaned();");
-    }
-    
-    void emitImplementationPostamble() throws IOException
-    {
-        outdent();
-        emit("}");
-    }
-    
-    void emitAddTarget(String identifier, boolean isAttr, boolean declareTarget, String xtype)
-        throws IOException
-    {
-        if (declareTarget)
-            emit(xtype + " target;");
-        if (isAttr)
-            emit("target = (" + xtype + ")get_store().add_attribute_user(" + identifier + ");");
-        else
-            emit("target = (" + xtype + ")get_store().add_element_user(" + identifier + ");");
-    }
-
-    private static final int NOTHING = 1;
-    private static final int ADD_NEW_VALUE = 3;
-    private static final int THROW_EXCEPTION = 4;
-
-    void emitGetTarget(String setIdentifier, 
-                       String identifier,
-                       boolean isAttr, 
-                       String index, 
-                       int nullBehaviour,
-                       String xtype)
-        throws IOException
-    {
-        assert setIdentifier != null && identifier != null;
-
-        emit(xtype + " target = null;");
-
-        if (isAttr)
-            emit("target = (" + xtype + ")get_store().find_attribute_user(" + identifier + ");");
-        else
-            emit("target = (" + xtype + ")get_store().find_element_user(" + setIdentifier + ", " + index + ");");
-
-        if (nullBehaviour == NOTHING)
-            return;
-
-        emit("if (target == null)");
-
-        startBlock();
-
-        switch (nullBehaviour)
-        {
-            case ADD_NEW_VALUE:
-                emitAddTarget(identifier, isAttr, false, xtype);
-                break;
-
-            case THROW_EXCEPTION:
-                emit("throw new IndexOutOfBoundsException();");
-                break;
-
-            case NOTHING:
-                break;
-
-            default:
-                assert false : "Bad behaviour type: " + nullBehaviour;
-        }
-
-        endBlock();
-    }
-
-    void printGetterImpls(
-        SchemaProperty prop, QName qName, boolean isAttr, String propertyName,
-        int javaType, String type, String xtype, boolean nillable,
-        boolean optional, boolean several, boolean singleton,
-        boolean isunion,
-        String identifier, String setIdentifier )
-            throws IOException
-    {
-        String propdesc = "\"" + qName.getLocalPart() + "\"" + (isAttr ? " attribute" : " element");
-        boolean xmltype = (javaType == SchemaProperty.XML_OBJECT);
-        String jtargetType = (isunion || !xmltype) ? "org.apache.xmlbeans.SimpleValue" : xtype;
-
-        if (singleton)
-        {
-            // Value getProp()
-            printJavaDoc((several ? "Gets first " : "Gets the ") + propdesc);
-            emit("public " + type + " get" + propertyName + "()");
-            startBlock();
-            emitImplementationPreamble();
-
-            emitGetTarget(setIdentifier, identifier, isAttr, "0", NOTHING, jtargetType);
-
-            if (isAttr && (prop.hasDefault() == SchemaProperty.CONSISTENTLY ||
-                    prop.hasFixed() == SchemaProperty.CONSISTENTLY))
-            {
-                emit("if (target == null)");
-                startBlock();
-                makeAttributeDefaultValue(jtargetType, prop, identifier);
-                endBlock();
-            }
-            emit("if (target == null)");
-            startBlock();
-            makeMissingValue(javaType);
-            endBlock();
-
-
-            printJGetValue(javaType, type);
-            
-            emitImplementationPostamble();
-
-            endBlock();
-
-            if (!xmltype)
-            {
-                // Value xgetProp()
-                printJavaDoc((several ? "Gets (as xml) first " : "Gets (as xml) the ") + propdesc);
-                emit("public " + xtype + " xget" + propertyName + "()");
-                startBlock();
-                emitImplementationPreamble();
-                emitGetTarget(setIdentifier, identifier, isAttr, "0", NOTHING, xtype);
-
-                if (isAttr && (prop.hasDefault() == SchemaProperty.CONSISTENTLY ||
-                        prop.hasFixed() == SchemaProperty.CONSISTENTLY))
-                {
-                    emit("if (target == null)");
-                    startBlock();
-                    makeAttributeDefaultValue(xtype, prop, identifier);
-                    endBlock();
-                }
-
-                emit("return target;");
-                emitImplementationPostamble();
-                endBlock();
-            }
-
-            if (nillable)
-            {
-                // boolean isNilProp()
-                printJavaDoc((several ? "Tests for nil first " : "Tests for nil ") + propdesc);
-                emit("public boolean isNil" + propertyName + "()");
-                startBlock();
-                emitImplementationPreamble();
-                emitGetTarget(setIdentifier, identifier, isAttr, "0", NOTHING, xtype);
-
-                emit("if (target == null) return false;");
-                emit("return target.isNil();");
-                emitImplementationPostamble();
-                endBlock();
-            }
-        }
-
-        if (optional)
-        {
-            // boolean isSetProp()
-            printJavaDoc((several ? "True if has at least one " : "True if has ") + propdesc);
-            emit("public boolean isSet" + propertyName + "()");
-
-            startBlock();
-            emitImplementationPreamble();
-
-            if (isAttr)
-                emit("return get_store().find_attribute_user(" + identifier +") != null;");
-            else
-                emit("return get_store().count_elements(" + setIdentifier + ") != 0;");
-
-            emitImplementationPostamble();
-            endBlock();
-        }
-
-        if (several)
-        {
-            String arrayName = propertyName + "Array";
-
-            // Value[] getProp()
-            printJavaDoc("Gets array of all " + propdesc + "s");
-            emit("public " + type + "[] get" + arrayName + "()");
-            startBlock();
-            emitImplementationPreamble();
-
-            emit("java.util.List targetList = new java.util.ArrayList();");
-            emit("get_store().find_all_element_users(" + setIdentifier + ", targetList);");
-
-            printJGetArrayValue(javaType, type);
-
-            emitImplementationPostamble();
-            endBlock();
-
-            // Value getProp(int i)
-            printJavaDoc("Gets ith " + propdesc);
-            emit("public " + type + " get" + arrayName + "(int i)");
-            startBlock();
-            emitImplementationPreamble();
-
-            emitGetTarget(setIdentifier, identifier, isAttr, "i", THROW_EXCEPTION, jtargetType);
-            printJGetValue(javaType, type);
-
-            emitImplementationPostamble();
-            endBlock();
-
-            if (!xmltype)
-            {
-                // Value[] xgetProp()
-                printJavaDoc("Gets (as xml) array of all " + propdesc + "s");
-                emit("public " + xtype + "[] xget" + arrayName + "()");
-                startBlock();
-                emitImplementationPreamble();
-                emit("java.util.List targetList = new java.util.ArrayList();");
-                emit("get_store().find_all_element_users(" + setIdentifier + ", targetList);");
-                emit(xtype + "[] result = new " + xtype + "[targetList.size()];");
-                emit("targetList.toArray(result);");
-                emit("return result;");
-                emitImplementationPostamble();
-                endBlock();
-
-                // Value xgetProp(int i)
-                printJavaDoc("Gets (as xml) ith " + propdesc);
-                emit("public " + xtype + " xget" + arrayName + "(int i)");
-                startBlock();
-                emitImplementationPreamble();
-                emitGetTarget(setIdentifier, identifier, isAttr, "i", THROW_EXCEPTION, xtype);
-                emit("return (" + xtype + ")target;");
-                emitImplementationPostamble();
-                endBlock();
-
-            }
-
-            if (nillable)
-            {
-                // boolean isNil(int i);
-                printJavaDoc("Tests for nil ith " + propdesc);
-                emit("public boolean isNil" + arrayName + "(int i)");
-                startBlock();
-                emitImplementationPreamble();
-                emitGetTarget(setIdentifier, identifier, isAttr, "i", THROW_EXCEPTION, xtype);
-                emit("return target.isNil();");
-                emitImplementationPostamble();
-                endBlock();
-            }
-
-            // int countProp();
-            printJavaDoc("Returns number of " + propdesc);
-            emit("public int sizeOf" + arrayName + "()");
-            startBlock();
-            emitImplementationPreamble();
-            emit("return get_store().count_elements(" + setIdentifier +");");
-            emitImplementationPostamble();
-            endBlock();
-        }
-    }
-
-    void printSetterImpls(QName qName, boolean isAttr,
-                       String propertyName, int javaType, String type, String xtype,
-                       boolean nillable, boolean optional,
-                       boolean several, boolean singleton,
-                       boolean isunion,
-                       String identifier, String setIdentifier) throws IOException
-    {
-        String safeVarName = NameUtil.nonJavaKeyword(NameUtil.lowerCamelCase(propertyName));
-        if (safeVarName.equals("i"))
-            safeVarName = "iValue";
-        else if (safeVarName.equals("target"))
-            safeVarName = "targetValue";
-
-        boolean xmltype = (javaType == SchemaProperty.XML_OBJECT);
-        boolean isobj = (javaType == SchemaProperty.JAVA_OBJECT);
-        boolean isSubstGroup = identifier != setIdentifier;
-        String jSet = jsetMethod(javaType);
-        String jtargetType = (isunion || !xmltype) ? "org.apache.xmlbeans.SimpleValue" : xtype;
-
-        String propdesc = "\"" + qName.getLocalPart() + "\"" + (isAttr ? " attribute" : " element");
-
-        if (singleton)
-        {
-            // void setProp(Value v);
-            printJavaDoc((several ? "Sets first " : "Sets the ") + propdesc);
-            emit("public void set" + propertyName + "(" + type + " " + safeVarName + ")");
-            startBlock();
-            emitImplementationPreamble();
-            emitGetTarget(setIdentifier, identifier, isAttr, "0", ADD_NEW_VALUE, jtargetType);
-            emit(jSet + "(" + safeVarName + ");");
-            emitImplementationPostamble();
-            endBlock();
-
-            if (!xmltype)
-            {
-                // void xsetProp(Value v)
-                printJavaDoc((several ? "Sets (as xml) first " : "Sets (as xml) the ") + propdesc);
-                emit("public void xset" + propertyName + "(" + xtype + " " + safeVarName + ")");
-                startBlock();
-                emitImplementationPreamble();
-                emitGetTarget(setIdentifier, identifier, isAttr, "0", ADD_NEW_VALUE, xtype);
-                emit("target.set(" + safeVarName + ");");
-                emitImplementationPostamble();
-                endBlock();
-
-            }
-            
-            if (xmltype && !several)
-            {
-                // Value addNewProp()
-                printJavaDoc("Appends and returns a new empty " + propdesc);
-                emit("public " + xtype + " addNew" + propertyName + "()");
-                startBlock();
-                emitImplementationPreamble();
-                emitAddTarget(identifier, isAttr, true, xtype);
-                emit("return target;");
-                emitImplementationPostamble();
-                endBlock();
-            }
-
-            if (nillable)
-            {
-                printJavaDoc((several ? "Nils the first " : "Nils the ") + propdesc);
-                emit("public void setNil" + propertyName + "()");
-                startBlock();
-                emitImplementationPreamble();
-                emitGetTarget(setIdentifier, identifier, isAttr, "0", ADD_NEW_VALUE, xtype);
-                emit("target.setNil();");
-                emitImplementationPostamble();
-                endBlock();
-            }
-        }
-
-        if (optional)
-        {
-            printJavaDoc((several ? "Removes first " : "Unsets the ") + propdesc);
-            emit("public void unset" + propertyName + "()");
-            startBlock();
-            emitImplementationPreamble();
-            if (isAttr)
-                emit("get_store().remove_attribute(" + identifier + ");");
-            else
-                emit("get_store().remove_element(" + setIdentifier + ", 0);");
-            emitImplementationPostamble();
-            endBlock();
-        }
-
-        if (several)
-        {
-            String arrayName = propertyName + "Array";
-
-            // JSET_INDEX
-            printJavaDoc("Sets array of all " + propdesc);
-            emit("public void set" + arrayName + "(" + type + "[] " + safeVarName + "Array)");
-            startBlock();
-            emitImplementationPreamble();
-
-            if (isobj)
-            {
-                if (!isSubstGroup)
-                    emit("unionArraySetterHelper(" + safeVarName + "Array" + ", " + identifier + ");" );
-                else
-                    emit("unionArraySetterHelper(" + safeVarName + "Array" + ", " + identifier + ", " + setIdentifier + ");" );
-            }
-            else
-            {
-                if (!isSubstGroup)
-                    emit("arraySetterHelper(" + safeVarName + "Array" + ", " + identifier + ");" );
-                else
-                    emit("arraySetterHelper(" + safeVarName + "Array" + ", " + identifier + ", " + setIdentifier + ");" );
-            }
-            emitImplementationPostamble();
-            endBlock();
-
-            printJavaDoc("Sets ith " + propdesc);
-            emit("public void set" + arrayName + "(int i, " + type + " " + safeVarName + ")");
-            startBlock();
-            emitImplementationPreamble();
-            emitGetTarget(setIdentifier, identifier, isAttr, "i", THROW_EXCEPTION, jtargetType);
-            emit(jSet + "(" + safeVarName + ");");
-            emitImplementationPostamble();
-            endBlock();
-
-            if (!xmltype)
-            {
-                printJavaDoc("Sets (as xml) array of all " + propdesc);
-                emit("public void xset" + arrayName + "(" + xtype + "[]" + safeVarName + "Array)");
-                startBlock();
-                emitImplementationPreamble();
-                emit("arraySetterHelper(" + safeVarName + "Array" + ", " + identifier + ");" );
-
-                emitImplementationPostamble();
-                endBlock();
-
-                printJavaDoc("Sets (as xml) ith " + propdesc);
-                emit("public void xset" + arrayName + "(int i, " + xtype + " " + safeVarName + ")");
-                startBlock();
-                emitImplementationPreamble();
-                emitGetTarget(setIdentifier, identifier, isAttr, "i", THROW_EXCEPTION, xtype);
-                emit("target.set(" + safeVarName + ");");
-                emitImplementationPostamble();
-                endBlock();
-            }
-
-            if (nillable)
-            {
-                printJavaDoc("Nils the ith " + propdesc);
-                emit("public void setNil" + arrayName + "(int i)");
-                startBlock();
-                emitImplementationPreamble();
-                emitGetTarget(setIdentifier, identifier, isAttr, "i", THROW_EXCEPTION, xtype);
-                emit("target.setNil();");
-                emitImplementationPostamble();
-                endBlock();
-            }
-
-            if (!xmltype)
-            {
-                printJavaDoc("Inserts the value as the ith " + propdesc);
-                emit("public void insert" + propertyName + "(int i, " + type + " " + safeVarName + ")");
-                startBlock();
-                emitImplementationPreamble();
-                emit(jtargetType + " target = ");
-                indent();
-                if (!isSubstGroup)
-                    emit("(" + jtargetType + ")get_store().insert_element_user(" + identifier + ", i);");
-                else // This is a subst group case
-                    emit ("(" + jtargetType +")get_store().insert_element_user(" + setIdentifier + ", " +
-                            identifier + ", i);");
-                outdent();
-                emit(jSet + "(" + safeVarName + ");");
-                emitImplementationPostamble();
-                endBlock();
-
-                printJavaDoc("Appends the value as the last " + propdesc);
-                emit("public void add" + propertyName + "(" + type + " " + safeVarName + ")");
-                startBlock();
-                emitImplementationPreamble();
-                emitAddTarget(identifier, isAttr, true, jtargetType);
-                emit(jSet + "(" + safeVarName + ");");
-                emitImplementationPostamble();
-                endBlock();
-            }
-
-            if (xmltype)
-            {
-                printJavaDoc("Inserts and returns a new empty value (as xml) as the ith " + propdesc);
-                emit("public " + xtype + " insertNew" + propertyName + "(int i)");
-                startBlock();
-                emitImplementationPreamble();
-                emit(xtype + " target;");
-                emit("target = (" + xtype + ")get_store().insert_element_user(" + identifier + ", i);");
-                emit("return target;");
-                emitImplementationPostamble();
-                endBlock();
-    
-                printJavaDoc("Appends and returns a new empty value (as xml) as the last " + propdesc);
-                emit("public " + xtype + " addNew" + propertyName + "()");
-                startBlock();
-                emitImplementationPreamble();
-                emitAddTarget(identifier, isAttr, true, xtype);
-                emit("return target;");
-                emitImplementationPostamble();
-                endBlock();
-            }
-
-            printJavaDoc("Removes the ith " + propdesc);
-            emit("public void remove" + propertyName + "(int i)");
-            startBlock();
-            emitImplementationPreamble();
-            emit("get_store().remove_element(" + setIdentifier + ", i);");
-            emitImplementationPostamble();
-            endBlock();
-        }
-    }
-
-    static void getTypeName(Class c, StringBuffer sb) {
-        int arrayCount = 0;
-        while (c.isArray()) {
-            c = c.getComponentType();
-            arrayCount++;
-        }
-
-        sb.append(c.getName());
-
-        for (int i = 0 ; i < arrayCount; i++)
-            sb.append("[]");
-
-    }
-
-    void printInnerTypeImpl(
-        SchemaType sType, SchemaTypeSystem system, boolean isInner ) throws IOException
-    {
-        String shortName = sType.getShortJavaImplName();
-
-        printInnerTypeJavaDoc(sType);
-
-        startClass(sType, isInner);
-
-        printConstructor(sType, shortName);
-
-        if (!sType.isSimpleType())
-        {
-            SchemaProperty[] properties;
-            
-            if (sType.getContentType() == SchemaType.SIMPLE_CONTENT)
-            {
-                // simple content types impls derive directly from "holder" impls
-                // in order to handle the case (for ints or string enums e.g.) where
-                // there is a simple type restriction.  So property getters need to
-                // be implemented "from scratch" for each derived complex type
-                
-                properties = sType.getProperties();
-            }
-            else
-            {
-                // complex content type implementations derive from base type impls
-                // so derived property impls can be reused
-                
-                properties = sType.getDerivedProperties();
-            }
-            
-            Map qNameMap = printStaticFields(properties);
-
-            for (int i = 0; i < properties.length; i++)
-            {
-                SchemaProperty prop = properties[i];
-
-                QName name = prop.getName();
-                String xmlType = xmlTypeForProperty( prop );
-                
-                printGetterImpls(
-                    prop,
-                    name,
-                    prop.isAttribute(),
-                    prop.getJavaPropertyName(),
-                    prop.getJavaTypeCode(),
-                    javaTypeForProperty(prop),
-                    xmlType,
-                    prop.hasNillable() != SchemaProperty.NEVER,
-                    prop.extendsJavaOption(),
-                    prop.extendsJavaArray(),
-                    prop.extendsJavaSingleton(),
-                    xmlTypeForPropertyIsUnion(prop),
-                    getIdentifier(qNameMap, name),
-                    getSetIdentifier(qNameMap, name)
-                );
-
-                if (!prop.isReadOnly())
-                {
-                    printSetterImpls(
-                        name,
-                        prop.isAttribute(),
-                        prop.getJavaPropertyName(),
-                        prop.getJavaTypeCode(),
-                        javaTypeForProperty(prop),
-                        xmlType,
-                        prop.hasNillable() != SchemaProperty.NEVER,
-                        prop.extendsJavaOption(),
-                        prop.extendsJavaArray(),
-                        prop.extendsJavaSingleton(),
-                        xmlTypeForPropertyIsUnion(prop),
-                        getIdentifier(qNameMap, name),
-                        getSetIdentifier(qNameMap, name)
-                    );
-                }
-            }
-        }
-
-        printNestedTypeImpls(sType, system);
-
-        endBlock();
-    }
-    void printNestedTypeImpls(SchemaType sType, SchemaTypeSystem system) throws IOException
-    {
-        SchemaType[] anonTypes = sType.getAnonymousTypes();
-        for (int i = 0; i < anonTypes.length; i++)
-        {
-            if (anonTypes[i].isSkippedAnonymousType())
-                printNestedTypeImpls(anonTypes[i], system);
-            else
-                printInnerTypeImpl(anonTypes[i], system, true);
-        }
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java
deleted file mode 100644
index 11eb0c2..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java
+++ /dev/null
@@ -1,2000 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer.
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache
-*    XMLBeans", nor may "Apache" appear in their name, without prior
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.impl.values.*;
-import org.apache.xmlbeans.impl.regex.RegularExpression;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.SchemaField;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.SchemaAttributeModel;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaProperty;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.SchemaLocalAttribute;
-import org.apache.xmlbeans.SchemaLocalElement;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.StringEnumAbstractBase;
-import org.apache.xmlbeans.SchemaStringEnumEntry;
-import org.apache.xmlbeans.SchemaTypeLoader;
-
-import java.lang.reflect.Constructor;
-import java.util.*;
-import java.math.BigInteger;
-
-import javax.xml.namespace.QName;
-
-public final class SchemaTypeImpl implements SchemaType, TypeStoreUserFactory
-{
-    // global types have names
-    private QName _name;
-
-    // compilation support
-    private int _resolvePhase;
-    private static final int UNRESOLVED = 0;
-    private static final int RESOLVING_SGS = 1; // For document types only
-    private static final int RESOLVED_SGS = 2;  // For document types only
-    private static final int RESOLVING = 3;
-    private static final int RESOLVED = 4;
-    private static final int JAVAIZING = 5;
-    private static final int JAVAIZED = 6;
-
-    // anonymous type support
-    private SchemaType.Ref _outerSchemaTypeRef;
-    private volatile SchemaComponent.Ref _containerFieldRef;
-    private volatile SchemaField _containerField;
-    private volatile int _containerFieldCode;
-    private volatile int _containerFieldIndex;
-    private SchemaType.Ref[] _anonymousTyperefs;
-    private boolean _isDocumentType;
-    private boolean _isAttributeType;
-    // private boolean _skippedAnonymousType;
-
-    // compiletime java type support
-    private boolean _isCompiled;
-    private String _shortJavaName;
-    private String _fullJavaName;
-    private String _shortJavaImplName;
-    private String _fullJavaImplName;
-
-    // runtime java type support: volatile because they're cached
-    private volatile Class _javaClass;
-    private volatile Class _javaEnumClass;
-    private volatile Class _javaImplClass;
-    private volatile Constructor _javaImplConstructor;
-    private volatile Constructor _javaImplConstructor2;
-    private volatile boolean _implNotAvailable;
-
-    private final Object[] _ctrArgs = new Object[] { this };
-
-    // reflective support
-    private SchemaTypeSystem _typeSystem;
-    private String _filename;
-
-    // complex content support
-    private SchemaParticle _contentModel;
-    private volatile SchemaLocalElement[] _localElts; // lazily computed
-    private volatile Map _eltToIndexMap; // lazily computed
-    private volatile Map _attrToIndexMap; // lazily computed
-    private Map _propertyModelByElementName;
-    private Map _propertyModelByAttributeName;
-    private boolean _hasAllContent;
-    private boolean _orderSensitive;
-    private QNameSet _typedWildcardElements;
-    private QNameSet _typedWildcardAttributes;
-    private boolean _hasWildcardElements;
-    private boolean _hasWildcardAttributes;
-    // set of valid QNames that can be substituted for a property
-    private Set _validSubstitutions = Collections.EMPTY_SET;
-
-    // simple content support
-    private int _complexTypeVariety;
-    private SchemaAttributeModel _attributeModel;
-
-    // simple type support
-    private int _builtinTypeCode;
-
-    private int _simpleTypeVariety;
-    private boolean _isSimpleType;
-
-    private SchemaType.Ref _baseTyperef; // via restriction or extension
-    private int _baseDepth; // how many inheritance steps to AnyType
-    private int _derivationType;
-
-    // facets
-    private XmlValueRef[] _facetArray;
-    private boolean[] _fixedFacetArray;
-
-    // fundamental facets
-    private int _ordered;
-    private boolean _isFinite;
-    private boolean _isBounded;
-    private boolean _isNumeric;
-
-    private boolean _abs;
-    private boolean _finalExt;
-    private boolean _finalRest;
-    private boolean _finalList;
-    private boolean _finalUnion;
-    private boolean _blockExt;
-    private boolean _blockRest;
-
-    // whitespace facet
-    private int _whiteSpaceRule;
-
-    // regex patterns
-    private boolean _hasPatterns; // also takes into account base classes
-    private org.apache.xmlbeans.impl.regex.RegularExpression[] _patterns;
-
-    // enumerated values
-    private XmlValueRef[] _enumerationValues;
-    private SchemaType.Ref _baseEnumTyperef;
-    private boolean _stringEnumEnsured;
-    private volatile Map _lookupStringEnum;
-    private volatile List _listOfStringEnum;
-    private volatile Map _lookupStringEnumEntry;
-    private SchemaStringEnumEntry[] _stringEnumEntries;
-
-    // for lists only
-    private SchemaType.Ref _listItemTyperef;
-
-    // for unions only
-    private boolean _isUnionOfLists;
-    private SchemaType.Ref[] _unionMemberTyperefs;
-    private int _anonymousUnionMemberOrdinal;
-    private volatile SchemaType[] _unionConstituentTypes;
-    private volatile SchemaType[] _unionSubTypes;
-    private volatile SchemaType _unionCommonBaseType;
-
-    // for atomic types only
-    private SchemaType.Ref _primitiveTypeRef;
-
-    // for decimal restrictions only
-    private int _decimalSize;
-
-    // lazy loading support
-    private volatile boolean _unloaded;
-
-    // for document types only - only valid during compilation
-    private QName _sg;
-    private List _sgMembers = new ArrayList();
-
-    public boolean isUnloaded()
-    {
-        return _unloaded;
-    }
-
-    public void finishLoading()
-    {
-        _unloaded = false;
-    }
-
-
-
-    SchemaTypeImpl(SchemaTypeSystem typeSystem)
-    {
-        _typeSystem = typeSystem;
-    }
-
-    SchemaTypeImpl(SchemaTypeSystem typeSystem, boolean unloaded)
-    {
-        _typeSystem = typeSystem;
-        _unloaded = unloaded;
-        if (unloaded)
-            finishQuick();
-    }
-
-    public boolean isSGResolved()
-        { return _resolvePhase >= RESOLVED_SGS; }
-
-    public boolean isSGResolving()
-        { return _resolvePhase >= RESOLVING_SGS; }
-
-    public boolean isResolved()
-        { return _resolvePhase >= RESOLVED; }
-
-    public boolean isResolving()
-        { return _resolvePhase == RESOLVING; }
-
-    public boolean isUnjavaized()
-        { return _resolvePhase < JAVAIZED; }
-
-    public boolean isJavaized()
-        { return _resolvePhase == JAVAIZED; }
-
-    public void startResolvingSGs()
-    {
-        if (_resolvePhase != UNRESOLVED)
-            throw new IllegalStateException();
-        _resolvePhase = RESOLVING_SGS;
-    }
-
-    public void finishResolvingSGs()
-    {
-        if (_resolvePhase != RESOLVING_SGS)
-            throw new IllegalStateException();
-        _resolvePhase = RESOLVED_SGS;
-    }
-
-    public void startResolving()
-    {
-        if ( (_isDocumentType && _resolvePhase != RESOLVED_SGS) ||
-             (!_isDocumentType && _resolvePhase != UNRESOLVED))
-            throw new IllegalStateException();
-        _resolvePhase = RESOLVING;
-    }
-
-    public void finishResolving()
-    {
-        if (_resolvePhase != RESOLVING)
-            throw new IllegalStateException();
-        _resolvePhase = RESOLVED;
-    }
-
-    public void startJavaizing()
-    {
-        if (_resolvePhase != RESOLVED)
-            throw new IllegalStateException();
-        _resolvePhase = JAVAIZING;
-    }
-
-    public void finishJavaizing()
-    {
-        if (_resolvePhase != JAVAIZING)
-            throw new IllegalStateException();
-        _resolvePhase = JAVAIZED;
-    }
-
-    private void finishQuick()
-    {
-        _resolvePhase = JAVAIZED;
-    }
-
-    private void assertUnresolved()
-    {
-        if (_resolvePhase != UNRESOLVED && !_unloaded)
-            throw new IllegalStateException();
-    }
-
-    private void assertSGResolving()
-    {
-        if (_resolvePhase != RESOLVING_SGS && !_unloaded)
-            throw new IllegalStateException();
-    }
-
-    private void assertSGResolved()
-    {
-        if (_resolvePhase != RESOLVED_SGS && !_unloaded)
-            throw new IllegalStateException();
-    }
-
-    private void assertResolving()
-    {
-        if (_resolvePhase != RESOLVING && !_unloaded)
-            throw new IllegalStateException();
-    }
-
-    private void assertResolved()
-    {
-        if (_resolvePhase != RESOLVED && !_unloaded)
-            throw new IllegalStateException();
-    }
-
-    private void assertJavaizing()
-    {
-        if (_resolvePhase != JAVAIZING && !_unloaded)
-            throw new IllegalStateException();
-    }
-
-    public QName getName()
-        { return _name; }
-
-    public void setName(QName name)
-        { assertUnresolved(); _name = name; }
-
-    public String getSourceName()
-    {
-        if (_filename != null)
-            return _filename;
-        if (getOuterType() != null)
-            return getOuterType().getSourceName();
-
-        SchemaField field = getContainerField();
-        if (field != null)
-        {
-            if (field instanceof SchemaGlobalElement)
-                return ((SchemaGlobalElement)field).getSourceName();
-            if (field instanceof SchemaGlobalAttribute)
-                return ((SchemaGlobalAttribute)field).getSourceName();
-        }
-        return null;
-    }
-
-    public void setFilename(String filename)
-        { assertUnresolved(); _filename = filename; }
-
-    public int getComponentType()
-        { return SchemaComponent.TYPE; }
-
-    public boolean isAnonymousType()
-        { return _name == null; }
-
-    public boolean isDocumentType()
-        { return _isDocumentType; }
-
-    public boolean isAttributeType()
-        { return _isAttributeType; }
-
-    public QName getDocumentElementName()
-    {
-        if (_isDocumentType)
-        {
-            SchemaParticle sp = getContentModel();
-            if (sp != null)
-                return sp.getName();
-        }
-
-        return null;
-    }
-
-    public QName getAttributeTypeAttributeName()
-    {
-        if (_isAttributeType)
-        {
-            SchemaAttributeModel sam = getAttributeModel();
-            if (sam != null)
-            {
-                SchemaLocalAttribute[] slaArray = sam.getAttributes();
-                if (slaArray != null && slaArray.length > 0)
-                {
-                    SchemaLocalAttribute sla = slaArray[0];
-                    return sla.getName();
-                }
-            }
-        }
-
-        return null;
-    }
-
-    public void setDocumentType(boolean isDocument)
-        { assertUnresolved(); _isDocumentType = isDocument; }
-
-    public void setAttributeType(boolean isAttribute)
-        { assertUnresolved(); _isAttributeType = isAttribute; }
-
-    public int getContentType()
-        { return _complexTypeVariety; }
-
-    public void setComplexTypeVariety(int complexTypeVariety)
-        { assertResolving(); _complexTypeVariety = complexTypeVariety; }
-
-    /** Set the abstract and final flags for a complex type */
-    void setAbstractFinal(
-        boolean abs, boolean finalExt, boolean finalRest, boolean finalList, boolean finalUnion)
-    {
-        assertResolving();
-        _abs = abs;
-        _finalExt = finalExt; _finalRest = finalRest;
-        _finalList = finalList; _finalUnion = finalUnion;
-    }
-
-    /** Set the final flags for a simple type */
-    void setSimpleFinal(boolean finalRest, boolean finalList, boolean finalUnion)
-    {
-        assertResolving(); _finalRest = finalRest; _finalList = finalList ; _finalUnion = finalUnion;
-    }
-
-    void setBlock(boolean blockExt, boolean blockRest)
-    {
-        assertResolving(); _blockExt = blockExt ; _blockRest = blockRest;
-    }
-
-    public boolean blockRestriction()
-    { return _blockRest; }
-
-    public boolean blockExtension()
-    { return _blockExt; }
-
-    public boolean isAbstract()
-    { return _abs; }
-
-    public boolean finalExtension()
-    { return _finalExt; }
-
-    public boolean finalRestriction()
-    { return _finalRest; }
-
-    public boolean finalList()
-    { return _finalList; }
-
-    public boolean finalUnion()
-    { return _finalUnion; }
-
-    public synchronized SchemaField getContainerField()
-    {
-        if (_containerFieldCode != -1)
-        {
-            SchemaType outer = getOuterType();
-            if (_containerFieldCode == 0)
-                _containerField = _containerFieldRef == null ? null : (SchemaField)_containerFieldRef.getComponent();
-            else if (_containerFieldCode == 1)
-                _containerField = outer.getAttributeModel().getAttributes()[_containerFieldIndex];
-            else
-                _containerField = ((SchemaTypeImpl)outer).getLocalElementByIndex(_containerFieldIndex);
-            _containerFieldCode = -1;
-        }
-        return _containerField;
-    }
-
-    public void setContainerField(SchemaField field)
-    {
-        assertUnresolved();
-        _containerField = field;
-        _containerFieldCode = -1;
-    }
-
-    public void setContainerFieldRef(SchemaComponent.Ref ref)
-    {
-        assertUnresolved();
-        _containerFieldRef = ref;
-        _containerFieldCode = 0;
-    }
-
-    public void setContainerFieldIndex(short code, int index)
-    {
-        assertUnresolved();
-        _containerFieldCode = code;
-        _containerFieldIndex = index;
-    }
-
-    public SchemaType getOuterType()
-        { return _outerSchemaTypeRef == null ? null : _outerSchemaTypeRef.get(); }
-
-    public void setOuterSchemaTypeRef(SchemaType.Ref typeref)
-        { assertUnresolved(); _outerSchemaTypeRef = typeref; }
-
-    public boolean isCompiled()
-        { return _isCompiled; }
-
-    public void setCompiled(boolean f)
-        { assertJavaizing(); _isCompiled = f; }
-
-    public boolean isSkippedAnonymousType()
-        { return _outerSchemaTypeRef.get().getBaseType() == this; }
-
-    public String getShortJavaName()
-        { return _shortJavaName; }
-
-    public void setShortJavaName(String name)
-    {
-        assertResolved();
-        _shortJavaName = name;
-        SchemaType outer = _outerSchemaTypeRef.get();
-        while (outer.getFullJavaName() == null)
-            outer = outer.getOuterType();
-
-        _fullJavaName = outer.getFullJavaName() + "$" + _shortJavaName;
-    }
-
-    public String getFullJavaName()
-        { return _fullJavaName; }
-
-    public void setFullJavaName(String name)
-    {
-        assertResolved();
-        _fullJavaName = name;
-        int index = Math.max(_fullJavaName.lastIndexOf('$'),
-                             _fullJavaName.lastIndexOf('.')) + 1;
-        _shortJavaName = _fullJavaName.substring(index);
-    }
-
-    public void setShortJavaImplName(String name)
-    {
-        assertResolved();
-        _shortJavaImplName = name;
-        SchemaType outer = _outerSchemaTypeRef.get();
-        while (outer.getFullJavaImplName() == null)
-            outer = outer.getOuterType();
-
-        _fullJavaImplName = outer.getFullJavaImplName() + "$" + _shortJavaImplName;
-    }
-
-    public void setFullJavaImplName(String name)
-    {
-        assertResolved();
-        _fullJavaImplName = name;
-        int index = Math.max(_fullJavaImplName.lastIndexOf('$'),
-                             _fullJavaImplName.lastIndexOf('.')) + 1;
-        _shortJavaImplName = _fullJavaImplName.substring(index);
-    }
-
-    public String getFullJavaImplName() { return _fullJavaImplName;}
-    public String getShortJavaImplName() { return _shortJavaImplName;}
-
-    public SchemaTypeSystem getTypeSystem()
-        { return _typeSystem; }
-
-    public SchemaParticle getContentModel()
-        { return _contentModel; }
-
-    private static void buildEltList(List eltList, SchemaParticle contentModel)
-    {
-        if (contentModel == null)
-            return;
-
-        switch (contentModel.getParticleType())
-        {
-            case SchemaParticle.ELEMENT:
-                eltList.add(contentModel);
-                return;
-            case SchemaParticle.ALL:
-            case SchemaParticle.CHOICE:
-            case SchemaParticle.SEQUENCE:
-                for (int i = 0; i < contentModel.countOfParticleChild(); i++)
-                    buildEltList(eltList, contentModel.getParticleChild(i));
-                return;
-            default:
-                return;
-        }
-    }
-
-    private void buildLocalElts()
-    {
-        List eltList = new ArrayList();
-        buildEltList(eltList, _contentModel);
-        _localElts = (SchemaLocalElement[])eltList.toArray(new SchemaLocalElement[eltList.size()]);
-    }
-
-    public SchemaLocalElement getLocalElementByIndex(int i)
-    {
-        SchemaLocalElement[] elts = _localElts;
-        if (elts == null)
-        {
-            buildLocalElts();
-            elts = _localElts;
-        }
-        return elts[i];
-    }
-
-    public int getIndexForLocalElement(SchemaLocalElement elt)
-    {
-        Map localEltMap = _eltToIndexMap;
-        if (localEltMap == null)
-        {
-            if (_localElts == null)
-                buildLocalElts();
-            localEltMap = new HashMap();
-            for (int i = 0; i < _localElts.length; i++)
-            {
-                localEltMap.put(_localElts[i], new Integer(i));
-            }
-            _eltToIndexMap = localEltMap;
-        }
-        return ((Integer)localEltMap.get(elt)).intValue();
-    }
-
-    public int getIndexForLocalAttribute(SchemaLocalAttribute attr)
-    {
-        Map localAttrMap = _attrToIndexMap;
-        if (localAttrMap == null)
-        {
-            localAttrMap = new HashMap();
-            SchemaLocalAttribute[] attrs = this._attributeModel.getAttributes();
-            for (int i = 0; i < attrs.length; i++)
-            {
-                localAttrMap.put(attrs[i], new Integer(i));
-            }
-            _attrToIndexMap = localAttrMap;
-        }
-        return ((Integer)localAttrMap.get(attr)).intValue();
-    }
-
-    public SchemaAttributeModel getAttributeModel()
-        { return _attributeModel; }
-
-    public SchemaProperty[] getProperties()
-    {
-        if (_propertyModelByElementName == null)
-            return getAttributeProperties();
-
-        if (_propertyModelByAttributeName == null)
-            return getElementProperties();
-
-        List list = new ArrayList();
-        list.addAll(_propertyModelByElementName.values());
-        list.addAll(_propertyModelByAttributeName.values());
-        return (SchemaProperty[])list.toArray(new SchemaProperty[list.size()]);
-    }
-
-    private static final SchemaProperty[] NO_PROPERTIES = new SchemaProperty[0];
-
-    public SchemaProperty[] getDerivedProperties()
-    {
-        SchemaType baseType = getBaseType();
-        if (baseType == null)
-            return getProperties();
-
-        List results = new ArrayList();
-
-        if (_propertyModelByElementName != null)
-            results.addAll(_propertyModelByElementName.values());
-
-        if (_propertyModelByAttributeName != null)
-            results.addAll(_propertyModelByAttributeName.values());
-
-        for (Iterator it = results.iterator() ; it.hasNext() ; )
-        {
-            SchemaProperty prop = (SchemaProperty)it.next();
-            SchemaProperty baseProp = prop.isAttribute() ?
-                baseType.getAttributeProperty(prop.getName()) :
-                baseType.getElementProperty(prop.getName());
-
-
-            // Remove the derived property from the results if it is
-            // A) present in the base type and
-            // B) all the details are the same (cardinality, nillability)
-
-            if (baseProp != null)
-            {
-                if ( eq(prop.getMinOccurs(), baseProp.getMinOccurs()) &&
-                     eq(prop.getMaxOccurs(), baseProp.getMaxOccurs()) &&
-                     prop.hasNillable() == baseProp.hasNillable())
-                {
-                    it.remove();
-                }
-
-            }
-
-        }
-
-        return (SchemaProperty[])results.toArray(new SchemaProperty[results.size()]);
-    }
-
-    private static boolean eq(BigInteger a, BigInteger b)
-    {
-        if (a == null && b == null)
-            return true;
-        if (a== null || b == null)
-            return false;
-        return a.equals(b);
-    }
-
-    public SchemaProperty[] getElementProperties()
-    {
-        if (_propertyModelByElementName == null)
-            return NO_PROPERTIES;
-
-        return (SchemaProperty[])
-                _propertyModelByElementName.values().toArray(new SchemaProperty[_propertyModelByElementName.size()]);
-    }
-
-    public SchemaProperty[] getAttributeProperties()
-    {
-        if (_propertyModelByAttributeName == null)
-            return NO_PROPERTIES;
-
-        return (SchemaProperty[])
-                _propertyModelByAttributeName.values().toArray(new SchemaProperty[_propertyModelByAttributeName.size()]);
-    }
-
-    public SchemaProperty getElementProperty(QName eltName)
-        { return _propertyModelByElementName == null ? null : (SchemaProperty)_propertyModelByElementName.get(eltName); }
-
-    public SchemaProperty getAttributeProperty(QName attrName)
-        { return _propertyModelByAttributeName == null ? null : (SchemaProperty)_propertyModelByAttributeName.get(attrName); }
-
-    public boolean hasAllContent()
-        { return _hasAllContent; }
-
-    public boolean isOrderSensitive()
-        { return _orderSensitive; }
-
-    public void setOrderSensitive(boolean sensitive)
-        { assertJavaizing(); _orderSensitive = sensitive; }
-
-    public void setContentModel(
-            SchemaParticle contentModel,
-            SchemaAttributeModel attrModel,
-            Map propertyModelByElementName,
-            Map propertyModelByAttributeName,
-            boolean isAll)
-    {
-        assertResolving();
-        _contentModel = contentModel;
-        _attributeModel = attrModel;
-        _propertyModelByElementName = propertyModelByElementName;
-        _propertyModelByAttributeName = propertyModelByAttributeName;
-        _hasAllContent = isAll;
-
-
-        // Add entries for each element property for substitution group members
-        if (_propertyModelByElementName != null)
-        {
-            _validSubstitutions = new LinkedHashSet();
-            Collection eltProps = _propertyModelByElementName.values();
-            for (Iterator it = eltProps.iterator() ; it.hasNext() ; )
-            {
-                SchemaProperty prop = (SchemaProperty)it.next();
-                QName[] names = prop.acceptedNames();
-                for (int i = 0 ; i < names.length ; i++)
-                {
-                    if (! _propertyModelByElementName.containsKey(names[i]))
-                        _validSubstitutions.add(names[i]);
-                }
-            }
-        }
-    }
-
-    private boolean containsElements()
-    {
-        return getContentType() == ELEMENT_CONTENT ||
-               getContentType() == MIXED_CONTENT;
-    }
-
-    public boolean hasAttributeWildcards()
-    {
-        return _hasWildcardAttributes;
-    }
-
-    public boolean hasElementWildcards()
-    {
-        return _hasWildcardElements;
-    }
-
-    public boolean isValidSubstitution(QName name)
-    {
-        return _validSubstitutions.contains(name);
-    }
-
-    public SchemaType getElementType(QName eltName, QName xsiType, SchemaTypeLoader wildcardTypeLoader)
-    {
-        if (isSimpleType() || !containsElements() || isNoType())
-            return BuiltinSchemaTypeSystem.ST_NO_TYPE;
-
-        SchemaType type;
-        SchemaProperty prop = (SchemaProperty)_propertyModelByElementName.get(eltName);
-        if (prop != null)
-        {
-            type = prop.getType();
-        }
-        else
-        {
-            if (!_typedWildcardElements.contains(eltName))
-                return BuiltinSchemaTypeSystem.ST_NO_TYPE;
-
-            SchemaGlobalElement elt = wildcardTypeLoader.findElement(eltName);
-            if (elt == null)
-                return BuiltinSchemaTypeSystem.ST_NO_TYPE;
-            type = elt.getType();
-        }
-
-        if (xsiType != null)
-        {
-            SchemaType itype = wildcardTypeLoader.findType(xsiType);
-            if (itype == null)
-                return BuiltinSchemaTypeSystem.ST_NO_TYPE;
-            if (type.isAssignableFrom(itype))
-                return itype;
-            else
-                return BuiltinSchemaTypeSystem.ST_NO_TYPE;
-        }
-
-        return type;
-    }
-
-    public SchemaType getAttributeType(QName attrName, SchemaTypeLoader wildcardTypeLoader)
-    {
-        if (isSimpleType() || isNoType())
-            return BuiltinSchemaTypeSystem.ST_NO_TYPE;
-
-        if (isURType())
-            return BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-
-        SchemaProperty prop = (SchemaProperty)_propertyModelByAttributeName.get(attrName);
-        if (prop != null)
-            return prop.getType();
-
-        if (!_typedWildcardAttributes.contains(attrName))
-            return BuiltinSchemaTypeSystem.ST_NO_TYPE;
-
-        SchemaGlobalAttribute attr = wildcardTypeLoader.findAttribute(attrName);
-        if (attr == null)
-            return BuiltinSchemaTypeSystem.ST_NO_TYPE;
-        return attr.getType();
-    }
-
-    public XmlObject createElementType(QName eltName, QName xsiType, SchemaTypeLoader wildcardTypeLoader)
-    {
-        SchemaType type = null;
-        SchemaProperty prop = null;
-        if (isSimpleType() || !containsElements() || isNoType())
-        {
-            type = BuiltinSchemaTypeSystem.ST_NO_TYPE;
-        }
-        else
-        {
-            prop = (SchemaProperty)_propertyModelByElementName.get(eltName);
-            if (prop != null)
-            {
-                type = prop.getType();
-            }
-            else if (!_typedWildcardElements.contains(eltName) &&
-                     !_validSubstitutions.contains(eltName))
-            {
-                type = BuiltinSchemaTypeSystem.ST_NO_TYPE;
-            }
-            else
-            {
-                SchemaGlobalElement elt = wildcardTypeLoader.findElement(eltName);
-                if (elt != null)
-                    type = elt.getType();
-                else
-                    type = BuiltinSchemaTypeSystem.ST_NO_TYPE;
-            }
-
-            if (xsiType != null)
-            {
-                SchemaType itype = wildcardTypeLoader.findType(xsiType);
-                if (itype == null || !type.isAssignableFrom(itype))
-                    type = BuiltinSchemaTypeSystem.ST_NO_TYPE;
-                else
-                    type = itype;
-            }
-        }
-
-        if (type != null)
-            return ((SchemaTypeImpl)type).createUnattachedNode(prop);
-        return null;
-    }
-
-    public XmlObject createAttributeType(QName attrName, SchemaTypeLoader wildcardTypeLoader)
-    {
-        SchemaTypeImpl type = null;
-        SchemaProperty prop = null;
-        if (isSimpleType() || isNoType())
-        {
-            type = BuiltinSchemaTypeSystem.ST_NO_TYPE;
-        }
-        else if (isURType())
-        {
-            type = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-        }
-        else
-        {
-            prop = (SchemaProperty)_propertyModelByAttributeName.get(attrName);
-            if (prop != null)
-            {
-                type = (SchemaTypeImpl)prop.getType();
-            }
-            else if (!_typedWildcardAttributes.contains(attrName))
-            {
-                type = BuiltinSchemaTypeSystem.ST_NO_TYPE;
-            }
-            else
-            {
-                SchemaGlobalAttribute attr = wildcardTypeLoader.findAttribute(attrName);
-                if (attr != null)
-                    type = (SchemaTypeImpl)attr.getType();
-                else
-                    type = BuiltinSchemaTypeSystem.ST_NO_TYPE;
-            }
-        }
-
-        if (type != null)
-            return type.createUnattachedNode(prop);
-
-        return null;
-    }
-
-    public void setWildcardSummary(QNameSet elementSet, boolean haswcElt, QNameSet attributeSet, boolean haswcAtt)
-    {
-        assertResolving(); _typedWildcardElements = elementSet; _hasWildcardElements = haswcElt; _typedWildcardAttributes = attributeSet; _hasWildcardAttributes = haswcAtt;
-    }
-
-    public SchemaType[] getAnonymousTypes()
-    {
-        SchemaType[] result = new SchemaType[_anonymousTyperefs.length];
-        for (int i = 0; i < result.length; i++)
-            result[i] = _anonymousTyperefs[i].get();
-        return result;
-    }
-
-    public void setAnonymousTypeRefs(SchemaType.Ref[] anonymousTyperefs)
-    {
-        _anonymousTyperefs = anonymousTyperefs;
-    }
-
-
-    private static SchemaType[] staCopy(SchemaType[] a)
-    {
-        if (a == null)
-            return null;
-
-        SchemaType[] result = new SchemaType[a.length];
-        System.arraycopy(a, 0, result, 0, a.length);
-        return result;
-    }
-
-    private static boolean[] boaCopy(boolean[] a)
-    {
-        if (a == null)
-            return null;
-
-        boolean[] result = new boolean[a.length];
-        System.arraycopy(a, 0, result, 0, a.length);
-        return result;
-    }
-
-
-
-    public void setSimpleTypeVariety(int variety)
-        { assertResolving(); _simpleTypeVariety = variety; }
-
-    public int getSimpleVariety()
-        { return _simpleTypeVariety; }
-
-    public boolean isURType()
-        { return _builtinTypeCode == BTC_ANY_TYPE || _builtinTypeCode == BTC_ANY_SIMPLE; }
-
-    public boolean isNoType()
-        { return this == BuiltinSchemaTypeSystem.ST_NO_TYPE; }
-
-    public boolean isSimpleType()
-        { return _isSimpleType; }
-
-    public void setSimpleType(boolean f)
-        { assertUnresolved(); _isSimpleType = f; }
-
-    public boolean isUnionOfLists()
-        { return _isUnionOfLists; }
-
-    public void setUnionOfLists(boolean f)
-        { assertResolving(); _isUnionOfLists = f; }
-
-    public SchemaType getPrimitiveType()
-        { return _primitiveTypeRef == null ? null : _primitiveTypeRef.get(); }
-
-    public void setPrimitiveTypeRef(SchemaType.Ref typeref)
-        { assertResolving(); _primitiveTypeRef = typeref; }
-
-    public int getDecimalSize()
-        { return _decimalSize; }
-
-    public void setDecimalSize(int bits)
-        { assertResolving(); _decimalSize = bits; }
-
-    public SchemaType getBaseType()
-        { return _baseTyperef == null ? null : _baseTyperef.get(); }
-
-    public void setBaseTypeRef(SchemaType.Ref typeref)
-        { assertResolving(); _baseTyperef = typeref; }
-
-    public int getBaseDepth()
-        { return _baseDepth; }
-
-    public void setBaseDepth(int depth)
-        { assertResolving(); _baseDepth = depth; }
-
-    public int getDerivationType()
-        { return _derivationType; }
-
-    public void setDerivationType(int type)
-        { assertResolving(); _derivationType = type; }
-
-    public SchemaType getListItemType()
-        { return _listItemTyperef == null ? null : _listItemTyperef.get(); }
-
-    public void setListItemTypeRef(SchemaType.Ref typeref)
-        { assertResolving(); _listItemTyperef = typeref; }
-
-    public SchemaType[] getUnionMemberTypes()
-    {
-        SchemaType[] result = new SchemaType[_unionMemberTyperefs.length];
-        for (int i = 0; i < result.length; i++)
-            result[i] = _unionMemberTyperefs[i].get();
-        return result;
-    }
-
-    public void setUnionMemberTypeRefs(SchemaType.Ref[] typerefs)
-        { assertResolving(); _unionMemberTyperefs = typerefs; }
-
-    public int getAnonymousUnionMemberOrdinal()
-        { return _anonymousUnionMemberOrdinal; }
-
-    public void setAnonymousUnionMemberOrdinal(int i)
-        { assertUnresolved(); _anonymousUnionMemberOrdinal = i; }
-
-    public synchronized SchemaType[] getUnionConstituentTypes()
-    {
-        if (_unionCommonBaseType == null)
-            computeFlatUnionModel();
-        return staCopy(_unionConstituentTypes);
-    }
-
-    private void setUnionConstituentTypes(SchemaType[] types)
-        { _unionConstituentTypes = types; }
-
-    public synchronized SchemaType[] getUnionSubTypes()
-    {
-        if (_unionCommonBaseType == null)
-            computeFlatUnionModel();
-        return staCopy(_unionSubTypes);
-    }
-
-    private void setUnionSubTypes(SchemaType[] types)
-        { _unionSubTypes = types; }
-
-    public synchronized SchemaType getUnionCommonBaseType()
-    {
-        if (_unionCommonBaseType == null)
-            computeFlatUnionModel();
-        return _unionCommonBaseType;
-    }
-
-    private void setUnionCommonBaseType(SchemaType type)
-        { _unionCommonBaseType = type; }
-
-    private void computeFlatUnionModel()
-    {
-        Set constituentMemberTypes = new LinkedHashSet();
-        Set allSubTypes = new LinkedHashSet();
-        SchemaType commonBaseType = null;
-
-        allSubTypes.add(this);
-
-        for (int i = 0; i < _unionMemberTyperefs.length; i++)
-        {
-            SchemaTypeImpl mImpl = (SchemaTypeImpl)_unionMemberTyperefs[i].get();
-
-            switch (mImpl.getSimpleVariety())
-            {
-                case SchemaType.LIST:
-                    constituentMemberTypes.add(mImpl);
-                    allSubTypes.add(mImpl);
-                    commonBaseType = mImpl.getCommonBaseType(commonBaseType);
-                    break;
-                case SchemaType.UNION:
-                    constituentMemberTypes.addAll(Arrays.asList(mImpl.getUnionConstituentTypes()));
-                    allSubTypes.addAll(Arrays.asList(mImpl.getUnionSubTypes()));
-                    SchemaType otherCommonBaseType = mImpl.getUnionCommonBaseType();
-                    if (otherCommonBaseType != null)
-                        commonBaseType = otherCommonBaseType.getCommonBaseType(commonBaseType);
-                    break;
-                case SchemaType.ATOMIC:
-                    constituentMemberTypes.add(mImpl);
-                    allSubTypes.add(mImpl);
-                    commonBaseType = mImpl.getCommonBaseType(commonBaseType);
-                    break;
-                default:
-                    assert(false);
-            }
-        }
-
-        setUnionConstituentTypes((SchemaType[])
-                constituentMemberTypes.toArray(StscState.EMPTY_ST_ARRAY));
-        setUnionSubTypes((SchemaType[])
-                allSubTypes.toArray(StscState.EMPTY_ST_ARRAY));
-        setUnionCommonBaseType(commonBaseType);
-    }
-
-    public QName getSubstitutionGroup()
-        { return _sg; }
-
-    public void setSubstitutionGroup(QName sg)
-        { assertSGResolving(); _sg = sg; }
-
-    public void addSubstitutionGroupMember(QName member)
-        { assertSGResolved(); _sgMembers.add(member); }
-
-    public QName[] getSubstitutionGroupMembers()
-    {
-        QName[] result = new QName[_sgMembers.size()];
-        return (QName[])_sgMembers.toArray(result);
-    }
-
-    public int getWhiteSpaceRule()
-        { return _whiteSpaceRule; }
-
-    public void setWhiteSpaceRule(int ws)
-        { assertResolving(); _whiteSpaceRule = ws; }
-
-    public XmlAnySimpleType getFacet(int facetCode)
-    {
-        if (_facetArray == null)
-            return null;
-        XmlValueRef ref = _facetArray[facetCode];
-        if (ref == null)
-            return null;
-        return ref.get();
-    }
-
-    public boolean isFacetFixed(int facetCode)
-    {
-        return _fixedFacetArray[facetCode];
-    }
-
-    public XmlAnySimpleType[] getBasicFacets()
-    {
-        XmlAnySimpleType[] result = new XmlAnySimpleType[SchemaType.LAST_FACET + 1];
-        for (int i = 0; i <= SchemaType.LAST_FACET; i++)
-        {
-            result[i] = getFacet(i);
-        }
-        return result;
-    }
-
-    public boolean[] getFixedFacets()
-    {
-        return boaCopy(_fixedFacetArray);
-    }
-
-    public void setBasicFacets(XmlValueRef[] values, boolean[] fixed)
-    {
-        assertResolving();
-        _facetArray = values;
-        _fixedFacetArray = fixed;
-    }
-
-    public int ordered()
-        { return _ordered; }
-
-    public void setOrdered(int ordering)
-        { assertResolving(); _ordered = ordering; }
-
-    public boolean isBounded()
-        { return _isBounded; }
-
-    public void setBounded(boolean f)
-        { assertResolving(); _isBounded = f; }
-
-    public boolean isFinite()
-        { return _isFinite; }
-
-    public void setFinite(boolean f)
-        { assertResolving(); _isFinite = f; }
-
-    public boolean isNumeric()
-        { return _isNumeric; }
-
-    public void setNumeric(boolean f)
-        { assertResolving(); _isNumeric = f; }
-
-
-    public boolean hasPatternFacet()
-        { return _hasPatterns; }
-
-    public void setPatternFacet(boolean hasPatterns)
-        { assertResolving(); _hasPatterns = hasPatterns; }
-
-    public synchronized boolean matchPatternFacet(String s)
-    {
-        if (!_hasPatterns)
-            return true;
-
-        if (_patterns != null && _patterns.length > 0)
-        {
-            int i;
-            for (i = 0; i < _patterns.length; i++)
-            {
-                if (_patterns[i].matches(s))
-                    break;
-            }
-            if (i >= _patterns.length)
-                return false;
-        }
-
-        return getBaseType().matchPatternFacet(s);
-    }
-
-    public String[] getPatterns()
-    {
-        if (_patterns == null)
-            return new String[0];
-        String[] patterns = new String[_patterns.length];
-        for (int i=0; i< _patterns.length; i++)
-            patterns[i] = _patterns[i].getPattern();
-        return patterns;
-    }
-
-    public org.apache.xmlbeans.impl.regex.RegularExpression[] getPatternExpressions()
-    {
-        if (_patterns == null)
-            return new org.apache.xmlbeans.impl.regex.RegularExpression[0];
-        org.apache.xmlbeans.impl.regex.RegularExpression[] result = new org.apache.xmlbeans.impl.regex.RegularExpression[_patterns.length];
-        System.arraycopy(_patterns, 0, result, 0, _patterns.length);
-        return result;
-    }
-
-    public void setPatterns(org.apache.xmlbeans.impl.regex.RegularExpression[] list)
-        { assertResolving(); _patterns = list; }
-
-    public XmlAnySimpleType[] getEnumerationValues()
-    {
-        if (_enumerationValues == null)
-            return null;
-        XmlAnySimpleType[] result = new XmlAnySimpleType[_enumerationValues.length];
-        for (int i = 0; i < result.length; i++)
-        {
-            XmlValueRef ref = _enumerationValues[i];
-            result[i] = (ref == null ? null : ref.get());
-
-        }
-        return result;
-    }
-
-    public void setEnumerationValues(XmlValueRef[] a)
-        { assertResolving(); _enumerationValues = a; }
-
-    public StringEnumAbstractBase enumForString(String s)
-    {
-        ensureStringEnumInfo();
-        if (_lookupStringEnum == null)
-            return null;
-        return (StringEnumAbstractBase)_lookupStringEnum.get(s);
-    }
-
-    public StringEnumAbstractBase enumForInt(int i)
-    {
-        ensureStringEnumInfo();
-        if (_listOfStringEnum == null || i < 0 || i >= _listOfStringEnum.size())
-            return null;
-        return (StringEnumAbstractBase)_listOfStringEnum.get(i);
-    }
-
-    public SchemaStringEnumEntry enumEntryForString(String s)
-    {
-        ensureStringEnumInfo();
-        if (_lookupStringEnumEntry == null)
-            return null;
-        return (SchemaStringEnumEntry)_lookupStringEnumEntry.get(s);
-    }
-
-    public SchemaType getBaseEnumType()
-    {
-        return _baseEnumTyperef == null ? null : _baseEnumTyperef.get();
-    }
-
-    public void setBaseEnumTypeRef(SchemaType.Ref baseEnumTyperef)
-    {
-        _baseEnumTyperef = baseEnumTyperef;
-    }
-
-    public SchemaStringEnumEntry[] getStringEnumEntries()
-    {
-        if (_stringEnumEntries == null)
-            return null;
-        SchemaStringEnumEntry[] result = new SchemaStringEnumEntry[_stringEnumEntries.length];
-        System.arraycopy(_stringEnumEntries, 0, result, 0, result.length);
-        return result;
-    }
-
-    public void setStringEnumEntries(SchemaStringEnumEntry sEnums[])
-    {
-        assertJavaizing();
-        _stringEnumEntries = sEnums;
-    }
-
-    private void ensureStringEnumInfo()
-    {
-        if (_stringEnumEnsured)
-            return;
-
-        SchemaStringEnumEntry[] sEnums = _stringEnumEntries;
-        if (sEnums == null)
-        {
-            _stringEnumEnsured = true;
-            return;
-        }
-
-        Map lookupStringEnum = new HashMap(sEnums.length);
-        List listOfStringEnum = new ArrayList(sEnums.length + 1);
-        Map lookupStringEnumEntry = new HashMap(sEnums.length);
-
-        for (int i = 0; i < sEnums.length; i++)
-        {
-            lookupStringEnumEntry.put(sEnums[i].getString(), sEnums[i]);
-        }
-
-        Class jc = _baseEnumTyperef.get().getEnumJavaClass();
-        if (jc != null)
-        {
-            try
-            {
-                StringEnumAbstractBase.Table table = (StringEnumAbstractBase.Table)jc.getField("table").get(null);
-                for (int i = 0; i < sEnums.length; i++)
-                {
-                    int j = sEnums[i].getIntValue();
-                    StringEnumAbstractBase enumVal = table.forInt(j);
-                    lookupStringEnum.put(sEnums[i].getString(), enumVal);
-                    while (listOfStringEnum.size() <= j)
-                        listOfStringEnum.add(null);
-                    listOfStringEnum.set(j, enumVal);
-                }
-            }
-            catch (Exception e)
-            {
-                System.err.println("Something wrong: could not locate enum table for " + jc);
-                jc = null;
-                lookupStringEnum.clear();
-                listOfStringEnum.clear();
-            }
-        }
-
-        if (jc == null)
-        {
-            for (int i = 0; i < sEnums.length; i++)
-            {
-                int j = sEnums[i].getIntValue();
-                String s = sEnums[i].getString();
-                StringEnumAbstractBase enumVal = new StringEnumValue(s, j);
-                lookupStringEnum.put(s, enumVal);
-                while (listOfStringEnum.size() <= j)
-                    listOfStringEnum.add(null);
-                listOfStringEnum.set(j, enumVal);
-            }
-        }
-
-        synchronized (this)
-        {
-            if (!_stringEnumEnsured)
-            {
-                _lookupStringEnum = lookupStringEnum;
-                _listOfStringEnum = listOfStringEnum;
-                _lookupStringEnumEntry = lookupStringEnumEntry;
-            }
-        }
-        // HACKHACK: two syncrhonized blocks force a memory barrier:
-        // BUGBUG: this behavior is likely to change in future VMs
-        synchronized (this)
-        {
-            _stringEnumEnsured = true;
-        }
-    }
-
-    public boolean hasStringEnumValues()
-    {
-        return _stringEnumEntries != null;
-    }
-
-    public void copyEnumerationValues(SchemaTypeImpl baseImpl)
-    {
-        assertResolving();
-        _enumerationValues = baseImpl._enumerationValues;
-        _baseEnumTyperef = baseImpl._baseEnumTyperef;
-    }
-
-    public int getBuiltinTypeCode()
-        { return _builtinTypeCode; } // special: set up pre-init
-
-    public void setBuiltinTypeCode(int builtinTypeCode)
-        { assertResolving(); _builtinTypeCode = builtinTypeCode; }
-
-    public Class getJavaClass()
-    {
-        // This field is declared volatile and Class is immutable so this is allowed.
-        if (_javaClass == null && getFullJavaName() != null)
-        {
-            try
-                { _javaClass = Class.forName(getFullJavaName(), false, _typeSystem.getClassLoader()); }
-            catch (ClassNotFoundException e)
-            {
-                System.err.println("Could not find class name " + getFullJavaName());
-                System.err.println("Searched in classloader " + _typeSystem.getClassLoader());
-                e.printStackTrace(System.err);
-                _javaClass = null;
-            }
-        }
-
-        return _javaClass;
-    }
-
-    public Class getJavaImplClass() {
-        if (_implNotAvailable)
-            return null;
-
-        if (_javaImplClass == null)
-        {
-            try {
-                if (getFullJavaImplName() != null)
-                    _javaImplClass = Class.forName(getFullJavaImplName(), false, _typeSystem.getClassLoader());
-                else
-                    _implNotAvailable = true;
-            }
-            catch (ClassNotFoundException e) {
-                _implNotAvailable = true;
-            }
-        }
-
-        return _javaImplClass;
-    }
-
-    public Constructor getJavaImplConstructor()
-    {
-        if (_javaImplConstructor == null && !_implNotAvailable)
-        {
-            final Class impl = getJavaImplClass();
-            if (impl == null) return null;
-            try
-            {
-                _javaImplConstructor = impl.getConstructor(new Class[] { SchemaType.class });
-            }
-            catch (NoSuchMethodException e)
-            {
-                e.printStackTrace();
-            }
-        }
-
-        return _javaImplConstructor;
-
-    }
-
-    public Constructor getJavaImplConstructor2()
-    {
-        if (_javaImplConstructor2 == null && !_implNotAvailable)
-        {
-            final Class impl = getJavaImplClass();
-            if (impl == null) return null;
-            try
-            {
-                _javaImplConstructor2 = impl.getConstructor(new Class[] { SchemaType.class, boolean.class });
-            }
-            catch (NoSuchMethodException e)
-            {
-                e.printStackTrace();
-            }
-        }
-
-        return _javaImplConstructor2;
-
-    }
-
-    public Class getEnumJavaClass()
-    {
-        // This field is declared volatile and Class is immutable so this is allowed.
-        if (_javaEnumClass == null)
-        {
-            try
-                { _javaEnumClass = Class.forName(getBaseEnumType().getFullJavaName() + "$Enum", false, _typeSystem.getClassLoader()); }
-            catch (ClassNotFoundException e)
-                { _javaEnumClass = null; }
-        }
-
-        return _javaEnumClass;
-    }
-
-    public void setJavaClass(Class javaClass)
-    {
-        assertResolved();
-        _javaClass = javaClass;
-        setFullJavaName(javaClass.getName());
-    }
-
-    public boolean isPrimitiveType()
-    {
-        return (getBuiltinTypeCode() >= BTC_FIRST_PRIMITIVE &&
-                getBuiltinTypeCode() <= BTC_LAST_PRIMITIVE);
-    }
-
-    public boolean isBuiltinType()
-    {
-        return getBuiltinTypeCode() != 0;
-    }
-
-    public XmlObject createUnwrappedNode()
-    {
-        // Todo: attach a new xml store!
-        XmlObject result = createUnattachedNode(null);
-        return result;
-    }
-
-    /**
-     * TypeStoreUserFactory implementation
-     */
-    public TypeStoreUser createTypeStoreUser()
-    {
-        return (TypeStoreUser)createUnattachedNode(null);
-    }
-
-
-    public XmlAnySimpleType newValidatingValue(Object obj)
-    {
-        return newValue(obj, true);
-    }
-    /**
-     * Creates an immutable simple value.
-     */
-    public XmlAnySimpleType newValue(Object obj)
-    {
-        return newValue(obj, false);
-    }
-
-    public XmlAnySimpleType newValue(Object obj, boolean validateOnSet)
-    {
-        if (!isSimpleType() && getContentType() != SchemaType.SIMPLE_CONTENT)
-            throw new XmlValueOutOfRangeException(); // values must be simple
-
-        XmlObjectBase result = (XmlObjectBase)createUnattachedNode(null);
-        if (validateOnSet)
-            result.setValidateOnSet();
-
-        // In the case of tree copy, need to call a specla setter to avoid
-        // set(XmlObject)
-        if (obj instanceof XmlObject)
-            result.set_newValue((XmlObject)obj);
-        else
-            result.objectSet(obj);
-
-        result.check_dated();
-        result.setImmutable();
-
-        return (XmlAnySimpleType) result;
-    }
-
-    /**
-     * Creates an instance of this type.
-     */
-    private XmlObject createUnattachedNode(SchemaProperty prop)
-    {
-        XmlObject result = null;
-
-        if (!isBuiltinType() && !isNoType())
-        {
-            // System.out.println("Attempting to load impl class: " + getFullJavaImplName());
-            Constructor ctr = getJavaImplConstructor();
-            if (ctr != null)
-            {
-                try
-                {
-                    // System.out.println("Succeeded!");
-                    return (XmlObject)ctr.newInstance(_ctrArgs);
-                }
-                catch (Exception e)
-                {
-                    System.out.println("Exception trying to instantiate impl class.");
-                    e.printStackTrace();
-                }
-            }
-        }
-        else
-        {
-            result = createBuiltinInstance();
-        }
-
-        // if no result, we must be a restriction of some compiled type
-        for (SchemaType sType = this; result == null; sType = sType.getBaseType())
-            result = ((SchemaTypeImpl)sType).createUnattachedSubclass(this);
-
-        ((XmlObjectBase)result).init_flags(prop);
-        return result;
-    }
-
-    private XmlObject createUnattachedSubclass(SchemaType sType)
-    {
-        if (!isBuiltinType() && !isNoType())
-        {
-            // System.out.println("Attempting to load impl class: " + getFullJavaImplName());
-            Constructor ctr = getJavaImplConstructor2();
-            if (ctr != null)
-            {
-                try
-                {
-                    // System.out.println("Succeeded!");
-                    return (XmlObject)ctr.newInstance(new Object[] { sType, sType.isSimpleType() ? Boolean.FALSE : Boolean.TRUE });
-                }
-                catch (Exception e)
-                {
-                    System.out.println("Exception trying to instantiate impl class.");
-                    e.printStackTrace();
-                }
-            }
-            return null;
-        }
-        else
-        {
-            return createBuiltinSubclass(sType);
-        }
-    }
-
-    private XmlObject createBuiltinInstance()
-    {
-        switch (getBuiltinTypeCode())
-        {
-            case BTC_NOT_BUILTIN:
-                return new XmlAnyTypeImpl(BuiltinSchemaTypeSystem.ST_NO_TYPE);
-            case BTC_ANY_TYPE:
-                return new XmlAnyTypeImpl();
-            case BTC_ANY_SIMPLE:
-                return new XmlAnySimpleTypeImpl();
-            case BTC_BOOLEAN:
-                return new XmlBooleanImpl();
-            case BTC_BASE_64_BINARY:
-                return new XmlBase64BinaryImpl();
-            case BTC_HEX_BINARY:
-                return new XmlHexBinaryImpl();
-            case BTC_ANY_URI:
-                return new XmlAnyUriImpl();
-            case BTC_QNAME:
-                return new XmlQNameImpl();
-            case BTC_NOTATION:
-                return new XmlNotationImpl();
-            case BTC_FLOAT:
-                return new XmlFloatImpl();
-            case BTC_DOUBLE:
-                return new XmlDoubleImpl();
-            case BTC_DECIMAL:
-                return new XmlDecimalImpl();
-            case BTC_STRING:
-                return new XmlStringImpl();
-            case BTC_DURATION:
-                return new XmlDurationImpl();
-            case BTC_DATE_TIME:
-                return new XmlDateTimeImpl();
-            case BTC_TIME:
-                return new XmlTimeImpl();
-            case BTC_DATE:
-                return new XmlDateImpl();
-            case BTC_G_YEAR_MONTH:
-                return new XmlGYearMonthImpl();
-            case BTC_G_YEAR:
-                return new XmlGYearImpl();
-            case BTC_G_MONTH_DAY:
-                return new XmlGMonthDayImpl();
-            case BTC_G_DAY:
-                return new XmlGDayImpl();
-            case BTC_G_MONTH:
-                return new XmlGMonthImpl();
-            case BTC_INTEGER:
-                return new XmlIntegerImpl();
-            case BTC_LONG:
-                return new XmlLongImpl();
-            case BTC_INT:
-                return new XmlIntImpl();
-            case BTC_SHORT:
-                return new XmlShortImpl();
-            case BTC_BYTE:
-                return new XmlByteImpl();
-            case BTC_NON_POSITIVE_INTEGER:
-                return new XmlNonPositiveIntegerImpl();
-            case BTC_NEGATIVE_INTEGER:
-                return new XmlNegativeIntegerImpl();
-            case BTC_NON_NEGATIVE_INTEGER:
-                return new XmlNonNegativeIntegerImpl();
-            case BTC_POSITIVE_INTEGER:
-                return new XmlPositiveIntegerImpl();
-            case BTC_UNSIGNED_LONG:
-                return new XmlUnsignedLongImpl();
-            case BTC_UNSIGNED_INT:
-                return new XmlUnsignedIntImpl();
-            case BTC_UNSIGNED_SHORT:
-                return new XmlUnsignedShortImpl();
-            case BTC_UNSIGNED_BYTE:
-                return new XmlUnsignedByteImpl();
-            case BTC_NORMALIZED_STRING:
-                return new XmlNormalizedStringImpl();
-            case BTC_TOKEN:
-                return new XmlTokenImpl();
-            case BTC_NAME:
-                return new XmlNameImpl();
-            case BTC_NCNAME:
-                return new XmlNCNameImpl();
-            case BTC_LANGUAGE:
-                return new XmlLanguageImpl();
-            case BTC_ID:
-                return new XmlIdImpl();
-            case BTC_IDREF:
-                return new XmlIdRefImpl();
-            case BTC_IDREFS:
-                return new XmlIdRefsImpl();
-            case BTC_ENTITY:
-                return new XmlEntityImpl();
-            case BTC_ENTITIES:
-                return new XmlEntitiesImpl();
-            case BTC_NMTOKEN:
-                return new XmlNmTokenImpl();
-            case BTC_NMTOKENS:
-                return new XmlNmTokensImpl();
-            default:
-                throw new IllegalStateException("Unrecognized builtin type: " + getBuiltinTypeCode());
-        }
-    }
-
-    private XmlObject createBuiltinSubclass(SchemaType sType)
-    {
-        boolean complex = !sType.isSimpleType();
-        switch (getBuiltinTypeCode())
-        {
-            case BTC_NOT_BUILTIN:
-                return new XmlAnyTypeImpl(BuiltinSchemaTypeSystem.ST_NO_TYPE);
-            case BTC_ANY_TYPE:
-            case BTC_ANY_SIMPLE:
-                switch (sType.getSimpleVariety())
-                {
-                    case NOT_SIMPLE:
-                        return new XmlComplexContentImpl(sType);
-                    case ATOMIC:
-                        return new XmlAnySimpleTypeRestriction(sType, complex);
-                    case LIST:
-                        return new XmlListImpl(sType, complex);
-                    case UNION:
-                        return new XmlUnionImpl(sType, complex);
-                    default:
-                        throw new IllegalStateException();
-                }
-            case BTC_BOOLEAN:
-                return new XmlBooleanRestriction(sType, complex);
-            case BTC_BASE_64_BINARY:
-                return new XmlBase64BinaryRestriction(sType, complex);
-            case BTC_HEX_BINARY:
-                return new XmlHexBinaryRestriction(sType, complex);
-            case BTC_ANY_URI:
-                return new XmlAnyUriRestriction(sType, complex);
-            case BTC_QNAME:
-                return new XmlQNameRestriction(sType, complex);
-            case BTC_NOTATION:
-                return new XmlNotationRestriction(sType, complex);
-            case BTC_FLOAT:
-                return new XmlFloatRestriction(sType, complex);
-            case BTC_DOUBLE:
-                return new XmlDoubleRestriction(sType, complex);
-            case BTC_DECIMAL:
-                return new XmlDecimalRestriction(sType, complex);
-            case BTC_STRING:
-                if (sType.hasStringEnumValues())
-                    return new XmlStringEnumeration(sType, complex);
-                else
-                    return new XmlStringRestriction(sType, complex);
-            case BTC_DURATION:
-                return new XmlDurationImpl(sType, complex);
-            case BTC_DATE_TIME:
-                return new XmlDateTimeImpl(sType, complex);
-            case BTC_TIME:
-                return new XmlTimeImpl(sType, complex);
-            case BTC_DATE:
-                return new XmlDateImpl(sType, complex);
-            case BTC_G_YEAR_MONTH:
-                return new XmlGYearMonthImpl(sType, complex);
-            case BTC_G_YEAR:
-                return new XmlGYearImpl(sType, complex);
-            case BTC_G_MONTH_DAY:
-                return new XmlGMonthDayImpl(sType, complex);
-            case BTC_G_DAY:
-                return new XmlGDayImpl(sType, complex);
-            case BTC_G_MONTH:
-                return new XmlGMonthImpl(sType, complex);
-            case BTC_INTEGER:
-                return new XmlIntegerRestriction(sType, complex);
-            case BTC_LONG:
-                return new XmlLongRestriction(sType, complex);
-            case BTC_INT:
-                return new XmlIntRestriction(sType, complex);
-            case BTC_SHORT:
-                return new XmlShortImpl(sType, complex);
-            case BTC_BYTE:
-                return new XmlByteImpl(sType, complex);
-            case BTC_NON_POSITIVE_INTEGER:
-                return new XmlNonPositiveIntegerImpl(sType, complex);
-            case BTC_NEGATIVE_INTEGER:
-                return new XmlNegativeIntegerImpl(sType, complex);
-            case BTC_NON_NEGATIVE_INTEGER:
-                return new XmlNonNegativeIntegerImpl(sType, complex);
-            case BTC_POSITIVE_INTEGER:
-                return new XmlPositiveIntegerImpl(sType, complex);
-            case BTC_UNSIGNED_LONG:
-                return new XmlUnsignedLongImpl(sType, complex);
-            case BTC_UNSIGNED_INT:
-                return new XmlUnsignedIntImpl(sType, complex);
-            case BTC_UNSIGNED_SHORT:
-                return new XmlUnsignedShortImpl(sType, complex);
-            case BTC_UNSIGNED_BYTE:
-                return new XmlUnsignedByteImpl(sType, complex);
-            case BTC_NORMALIZED_STRING:
-                return new XmlNormalizedStringImpl(sType, complex);
-            case BTC_TOKEN:
-                return new XmlTokenImpl(sType, complex);
-            case BTC_NAME:
-                return new XmlNameImpl(sType, complex);
-            case BTC_NCNAME:
-                return new XmlNCNameImpl(sType, complex);
-            case BTC_LANGUAGE:
-                return new XmlLanguageImpl(sType, complex);
-            case BTC_ID:
-                return new XmlIdImpl(sType, complex);
-            case BTC_IDREF:
-                return new XmlIdRefImpl(sType, complex);
-            case BTC_IDREFS:
-                return new XmlIdRefsImpl(sType, complex);
-            case BTC_ENTITY:
-                return new XmlEntityImpl(sType, complex);
-            case BTC_ENTITIES:
-                return new XmlEntitiesImpl(sType, complex);
-            case BTC_NMTOKEN:
-                return new XmlNmTokenImpl(sType, complex);
-            case BTC_NMTOKENS:
-                return new XmlNmTokensImpl(sType, complex);
-            default:
-                throw new IllegalStateException("Unrecognized builtin type: " + getBuiltinTypeCode());
-        }
-    }
-
-    public SchemaType getCommonBaseType(SchemaType type)
-    {
-        // null type is treated as the no-type
-        if (this == BuiltinSchemaTypeSystem.ST_ANY_TYPE || type == null || type.isNoType())
-            return this;
-
-        // any type is the universal base type; noType is the universal derived type
-        if (type == BuiltinSchemaTypeSystem.ST_ANY_TYPE || isNoType())
-            return type;
-
-        // the regular case:
-        SchemaTypeImpl sImpl1 = (SchemaTypeImpl)type;
-        while (sImpl1.getBaseDepth() > getBaseDepth())
-            sImpl1 = (SchemaTypeImpl)sImpl1.getBaseType();
-        SchemaTypeImpl sImpl2 = this;
-        while (sImpl2.getBaseDepth() > sImpl1.getBaseDepth())
-            sImpl2 = (SchemaTypeImpl)sImpl2.getBaseType();
-        for (;;)
-        {
-            if (sImpl1.equals(sImpl2))
-                break;
-            sImpl1 = (SchemaTypeImpl)sImpl1.getBaseType();
-            sImpl2 = (SchemaTypeImpl)sImpl2.getBaseType();
-            assert(sImpl1 != null && sImpl2 != null); // must meet at anyType
-        }
-        return sImpl1;
-    }
-
-    public boolean isAssignableFrom(SchemaType type)
-    {
-        if (type == null || type.isNoType())
-            return true;
-
-        if (isNoType())
-            return false;
-
-        int depth = ((SchemaTypeImpl)type).getBaseDepth() - getBaseDepth();
-        if (depth < 0)
-            return false;
-        while (depth > 0)
-        {
-            type = type.getBaseType();
-            depth -= 1;
-        }
-        return (type.equals(this));
-    }
-
-
-    public String toString()
-    {
-        if (getName() != null)
-            return "T=" + QNameHelper.pretty(getName());
-
-        if (isDocumentType())
-            return "D=" + QNameHelper.pretty(getDocumentElementName());
-
-        if (isAttributeType())
-            return "R=" + QNameHelper.pretty(getAttributeTypeAttributeName());
-
-        String prefix;
-
-        if (getContainerField() != null)
-        {
-            prefix = (getContainerField().getName().getNamespaceURI().length() > 0 ?
-                            (getContainerField().isAttribute() ? "Q=" : "E=") :
-                            (getContainerField().isAttribute() ? "A=" : "U="))
-                    + getContainerField().getName().getLocalPart();
-            if (getOuterType() == null)
-                return prefix + "@" + getContainerField().getName().getNamespaceURI();
-        }
-        else if (isNoType())
-            return "N=";
-        else if (getOuterType() == null)
-            return "noouter";
-        else if (getOuterType().getBaseType() == this)
-            prefix = "B=";
-        else if (getOuterType().getSimpleVariety() == SchemaType.LIST)
-            prefix = "I=";
-        else if (getOuterType().getSimpleVariety() == SchemaType.UNION)
-            prefix = "M=" + getAnonymousUnionMemberOrdinal();
-        else
-            prefix = "strange=";
-
-        return prefix + "|" + getOuterType().toString();
-    }
-
-    private XmlObject _parseObject;
-    private String _parseTNS;
-    private boolean _chameleon;
-    private boolean _redefinition;
-
-    public void setParseContext(XmlObject parseObject, String targetNamespace, boolean chameleon, boolean redefinition)
-    {
-        _parseObject = parseObject;
-        _parseTNS = targetNamespace;
-        _chameleon = chameleon;
-        _redefinition = redefinition;
-    }
-
-    public XmlObject getParseObject()
-        { return _parseObject; }
-
-    public String getTargetNamespace()
-        { return _parseTNS; }
-
-    public boolean isChameleon ( )
-        { return _chameleon; }
-
-    public String getChameleonNamespace()
-        { return _chameleon ? _parseTNS : null; }
-
-    public boolean isRedefinition()
-        { return _redefinition; }
-
-    private SchemaType.Ref _selfref = new SchemaType.Ref(this);
-
-    public SchemaType.Ref getRef()
-        { return _selfref; }
-
-    public SchemaComponent.Ref getComponentRef()
-        { return getRef(); }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeLoaderBase.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeLoaderBase.java
deleted file mode 100644
index 1472922..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeLoaderBase.java
+++ /dev/null
@@ -1,613 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.values.XmlStore;
-import org.apache.xmlbeans.impl.validator.ValidatingXMLInputStream;
-
-import org.apache.xmlbeans.SchemaAttributeGroup;
-import org.apache.xmlbeans.SchemaField;
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaModelGroup;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlSaxHandler;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlFactoryHook;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.File;
-import java.io.IOException;
-import java.io.FileInputStream;
-import java.util.List;
-import java.util.ArrayList;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.HttpURLConnection;
-import java.security.DigestInputStream;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-import javax.xml.namespace.QName;
-
-import org.w3c.dom.Node;
-
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLStreamException;
-
-public abstract class SchemaTypeLoaderBase implements SchemaTypeLoader
-{
-    private static final Method _rootBuilder = getMethod( "org.apache.xmlbeans.impl.store.Root", "newStore", new Class[] { SchemaTypeLoader.class, SchemaType.class, XmlOptions.class } );
-    private static final Method _pathCompiler = getMethod( "org.apache.xmlbeans.impl.store.Path", "getCompiledPath", new Class[] { String.class, XmlOptions.class } );
-    private static final Method _queryCompiler = getMethod( "org.apache.xmlbeans.impl.store.Path", "getCompiledQuery", new Class[] { String.class, XmlOptions.class } );
-
-    private static Method getMethod ( String className, String methodName, Class[] args )
-    {
-        try
-        {
-            return
-                Class.forName( className ).
-                    getDeclaredMethod( methodName, args );
-        }
-        catch (Exception e)
-        {
-            throw new IllegalStateException(
-                "Cannot find " + className + "." + methodName +
-                    ".  verify that xmlstore " +
-                        "(from xbean.jar) is on classpath" );
-        }
-    }
-
-    private static Object invokeMethod ( Method method, Object[] args )
-    {
-        try
-        {
-            return method.invoke( method, args );
-        }
-        catch ( InvocationTargetException e )
-        {
-            IllegalStateException ise = new IllegalStateException( e.getCause().getMessage() );
-            ise.initCause( e );
-            throw ise;
-        }
-        catch ( Exception e )
-        {
-            IllegalStateException ise = new IllegalStateException( e.getMessage() );
-            ise.initCause( e );
-            throw ise;
-        }
-    }
-
-    private XmlStore createNewStore ( SchemaType type, XmlOptions options )
-    {
-        return
-            (XmlStore)
-                invokeMethod( _rootBuilder, new Object[] { this, type, options } );
-    }
-
-    private static String doCompilePath ( String pathExpr, XmlOptions options ) { return (String) invokeMethod( _pathCompiler, new Object[] { pathExpr, options } ); }
-    private static String doCompileQuery ( String queryExpr, XmlOptions options ) { return (String) invokeMethod( _queryCompiler, new Object[] { queryExpr, options } ); }
-
-    public SchemaType findType(QName name)
-    {
-        SchemaType.Ref ref = findTypeRef(name);
-        if (ref == null)
-            return null;
-        SchemaType result = ref.get();
-        assert(result != null);
-        return result;
-    }
-
-    public SchemaType findDocumentType(QName name)
-    {
-        SchemaType.Ref ref = findDocumentTypeRef(name);
-        if (ref == null)
-            return null;
-        SchemaType result = ref.get();
-        assert(result != null);
-        return result;
-    }
-
-    public SchemaType findAttributeType(QName name)
-    {
-        SchemaType.Ref ref = findAttributeTypeRef(name);
-        if (ref == null)
-            return null;
-        SchemaType result = ref.get();
-        assert(result != null);
-        return result;
-    }
-
-    public SchemaModelGroup findModelGroup(QName name)
-    {
-        SchemaModelGroup.Ref ref = findModelGroupRef(name);
-        if (ref == null)
-            return null;
-        SchemaModelGroup result = ref.get();
-        assert(result != null);
-        return result;
-    }
-
-    public SchemaAttributeGroup findAttributeGroup(QName name)
-    {
-        SchemaAttributeGroup.Ref ref = findAttributeGroupRef(name);
-        if (ref == null)
-            return null;
-        SchemaAttributeGroup result = ref.get();
-        assert(result != null);
-        return result;
-    }
-
-    public SchemaGlobalElement findElement(QName name)
-    {
-        SchemaGlobalElement.Ref ref = findElementRef(name);
-        if (ref == null)
-            return null;
-        SchemaGlobalElement result = ref.get();
-        assert(result != null);
-        return result;
-    }
-
-    public SchemaGlobalAttribute findAttribute(QName name)
-    {
-        SchemaGlobalAttribute.Ref ref = findAttributeRef(name);
-        if (ref == null)
-            return null;
-        SchemaGlobalAttribute result = ref.get();
-        assert(result != null);
-        return result;
-    }
-
-    //
-    //
-    //
-
-    public XmlObject newInstance ( SchemaType type, XmlOptions options )
-    {
-        XmlFactoryHook hook = XmlFactoryHook.ThreadContext.getHook();
-        if (hook != null)
-            return hook.newInstance( this, type, options );
-
-        return createNewStore( type, options ).getObject();
-    }
-
-    public XmlObject parse ( String xmlText, SchemaType type, XmlOptions options ) throws XmlException
-    {
-        XmlFactoryHook hook = XmlFactoryHook.ThreadContext.getHook();
-        if (hook != null)
-            return hook.parse( this, xmlText, type, options );
-
-        return createNewStore( null, options ).loadXml( xmlText, type, options );
-    }
-
-    public XmlObject parse ( XMLInputStream xis, SchemaType type, XmlOptions options ) throws XmlException, XMLStreamException
-    {
-        XmlFactoryHook hook = XmlFactoryHook.ThreadContext.getHook();
-        if (hook != null)
-            return hook.parse( this, xis, type, options );
-
-        return createNewStore( null, options ).loadXml( xis, type, options );
-    }
-
-    public XmlObject parse ( File file, SchemaType type, XmlOptions options ) throws XmlException, IOException
-    {
-        if (options == null)
-        {
-            options = new XmlOptions();
-            options.put( XmlOptions.DOCUMENT_SOURCE_NAME, file.toURI().normalize().toString() );
-        }
-
-        else if (! options.hasOption(XmlOptions.DOCUMENT_SOURCE_NAME))
-        {
-            options = new XmlOptions( options );
-            options.put( XmlOptions.DOCUMENT_SOURCE_NAME, file.toURI().normalize().toString() );
-        }
-
-        InputStream fis = new FileInputStream( file );
-
-        try
-        {
-            return parse( fis, type, options );
-        }
-        finally
-        {
-            fis.close();
-        }
-    }
-
-    public XmlObject parse ( URL url, SchemaType type, XmlOptions options ) throws XmlException, IOException
-    {
-        if (options == null)
-        {
-            options = new XmlOptions();
-            options.put( XmlOptions.DOCUMENT_SOURCE_NAME, url.toString() );
-        }
-
-        else if (! options.hasOption(XmlOptions.DOCUMENT_SOURCE_NAME))
-        {
-            options = new XmlOptions( options );
-            options.put( XmlOptions.DOCUMENT_SOURCE_NAME, url.toString() );
-        }
-
-        URLConnection conn = null;
-        InputStream stream = null;
-        download: try
-        {
-
-            boolean redirected = false;
-            int count = 0;
-
-            do {
-                conn = url.openConnection();
-                conn.addRequestProperty("User-Agent", "BEA XML Beans/1.0");
-                conn.addRequestProperty("Accept", "application/xml, text/xml, */*");
-                if (conn instanceof HttpURLConnection)
-                {
-                    HttpURLConnection httpcon = (HttpURLConnection)conn;
-                    int code = httpcon.getResponseCode();
-                    redirected = (code == HttpURLConnection.HTTP_MOVED_PERM || code == HttpURLConnection.HTTP_MOVED_TEMP);
-                    if (redirected && count > 5)
-                        redirected = false;
-
-                    if (redirected)
-                    {
-                        String newLocation = httpcon.getHeaderField("Location");
-                        if (newLocation == null)
-                            redirected = false;
-                        else
-                        {
-                            url = new URL(newLocation);
-                            count ++;
-                        }
-                    }
-                }
-            } while (redirected);
-
-            stream = conn.getInputStream();
-            return parse( stream, type, options );
-        }
-        finally
-        {
-            if (stream != null)
-                stream.close();
-        }
-    }
-
-    public XmlObject parse ( InputStream jiois, SchemaType type, XmlOptions options ) throws XmlException, IOException
-    {
-        XmlFactoryHook hook = XmlFactoryHook.ThreadContext.getHook();
-        DigestInputStream digestStream = null;
-        setupDigest: if (options != null && options.hasOption(XmlOptions.LOAD_MESSAGE_DIGEST))
-        {
-            MessageDigest sha;
-            try
-            {
-                sha = MessageDigest.getInstance("SHA");
-            }
-            catch (NoSuchAlgorithmException e)
-            {
-                break setupDigest;
-            }
-
-            digestStream = new DigestInputStream(jiois, sha);
-            jiois = digestStream;
-        }
-
-        if (hook != null)
-            return hook.parse( this, jiois, type, options );
-
-        XmlObject result = createNewStore( null, options ).loadXml( jiois, type, options );
-
-        if (digestStream != null)
-            result.documentProperties().setMessageDigest(digestStream.getMessageDigest().digest());
-
-        return result;
-    }
-
-    public XmlObject parse ( Reader jior, SchemaType type, XmlOptions options ) throws XmlException, IOException
-    {
-        XmlFactoryHook hook = XmlFactoryHook.ThreadContext.getHook();
-        if (hook != null)
-            return hook.parse( this, jior, type, options );
-
-        return createNewStore( null, options ).loadXml( jior, type, options );
-    }
-
-    public XmlObject parse ( Node node, SchemaType type, XmlOptions options ) throws XmlException
-    {
-        XmlFactoryHook hook = XmlFactoryHook.ThreadContext.getHook();
-        if (hook != null)
-            return hook.parse( this, node, type, options );
-
-        return createNewStore( null, options ).loadXml( node, type, options );
-    }
-
-    public XmlSaxHandler newXmlSaxHandler ( SchemaType type, XmlOptions options )
-    {
-        XmlFactoryHook hook = XmlFactoryHook.ThreadContext.getHook();
-        if (hook != null)
-            return hook.newXmlSaxHandler( this, type, options );
-
-        return createNewStore( null, options ).newSaxHandler( type, options );
-    }
-
-    public XMLInputStream newValidatingXMLInputStream ( XMLInputStream xis, SchemaType type, XmlOptions options ) throws XmlException, XMLStreamException
-    {
-        return new ValidatingXMLInputStream( xis, this, type, options );
-    }
-
-    //
-    //
-    //
-
-    public String compilePath ( String pathExpr )
-    {
-        return compilePath( pathExpr, null );
-    }
-
-    public String compilePath ( String pathExpr, XmlOptions options )
-    {
-        return doCompilePath( pathExpr, options );
-    }
-
-    public String compileQuery ( String queryExpr )
-    {
-        return compileQuery( queryExpr, null );
-    }
-
-    public String compileQuery ( String queryExpr, XmlOptions options )
-    {
-        return doCompileQuery( queryExpr, options );
-    }
-
-    /**
-     * Utility function to load a type from a signature.
-     *
-     * A signature is the string you get from type.toString().
-     */
-    public SchemaType typeForSignature(String signature)
-    {
-        int end = signature.indexOf('@');
-        String uri;
-
-        if (end < 0)
-        {
-            uri = "";
-            end = signature.length();
-        }
-        else
-        {
-            uri = signature.substring(end + 1);
-        }
-
-        List parts = new ArrayList();
-
-        for (int index = 0; index < end; )
-        {
-            int nextc = signature.indexOf(':', index);
-            int nextd = signature.indexOf('|', index);
-            int next = (nextc < 0 ? nextd : nextd < 0 ? nextc : nextc < nextd ? nextc : nextd);
-            if (next < 0 || next > end)
-                next = end;
-            String part = signature.substring(index, next);
-            parts.add(part);
-            index = next + 1;
-        }
-
-        SchemaType curType = null;
-
-        outer: for (int i = parts.size() - 1; i >= 0; i -= 1)
-        {
-            String part = (String)parts.get(i);
-            if (part.length() < 1)
-                throw new IllegalArgumentException();
-            int offset = (part.length() >= 2 && part.charAt(1) == '=') ? 2 : 1;
-            cases: switch (part.charAt(0))
-            {
-                case 'T':
-                    if (curType != null)
-                        throw new IllegalArgumentException();
-                    curType = findType(QNameHelper.forLNS(part.substring(offset), uri));
-                    if (curType == null)
-                        return null;
-                    break;
-
-                case 'D':
-                    if (curType != null)
-                        throw new IllegalArgumentException();
-                    curType = findDocumentType(QNameHelper.forLNS(part.substring(offset), uri));
-                    if (curType == null)
-                        return null;
-                    break;
-
-                case 'C': // deprecated
-                case 'R': // current
-                    if (curType != null)
-                        throw new IllegalArgumentException();
-                    curType = findAttributeType(QNameHelper.forLNS(part.substring(offset), uri));
-                    if (curType == null)
-                        return null;
-                    break;
-
-                case 'E':
-                case 'U': // distinguish qualified/unqualified TBD
-                    if (curType != null)
-                    {
-                        if (curType.getContentType() < SchemaType.ELEMENT_CONTENT)
-                            return null;
-                        SchemaType[] subTypes = curType.getAnonymousTypes();
-                        String localName = part.substring(offset);
-                        for (int j = 0; j < subTypes.length; j++)
-                        {
-                            SchemaField field = subTypes[j].getContainerField();
-                            if (field != null && !field.isAttribute() && field.getName().getLocalPart().equals(localName))
-                            {
-                                curType = subTypes[j];
-                                break cases;
-                            }
-                        }
-                        return null;
-                    }
-                    else
-                    {
-                        SchemaGlobalElement elt = findElement(QNameHelper.forLNS(part.substring(offset), uri));
-                        if (elt == null)
-                            return null;
-                        curType = elt.getType();
-                    }
-                    break;
-
-                case 'A':
-                case 'Q': // distinguish qualified/unqualified TBD
-                    if (curType != null)
-                    {
-                        if (curType.isSimpleType())
-                            return null;
-                        SchemaType[] subTypes = curType.getAnonymousTypes();
-                        String localName = part.substring(offset);
-                        for (int j = 0; j < subTypes.length; j++)
-                        {
-                            SchemaField field = subTypes[j].getContainerField();
-                            if (field != null && field.isAttribute() && field.getName().getLocalPart().equals(localName))
-                            {
-                                curType = subTypes[j];
-                                break cases;
-                            }
-                        }
-                        return null;
-                    }
-                    else
-                    {
-                        SchemaGlobalAttribute attr = findAttribute(QNameHelper.forLNS(part.substring(offset), uri));
-                        if (attr == null)
-                            return null;
-                        curType = attr.getType();
-                    }
-                    break;
-
-                case 'B':
-                    if (curType == null)
-                    {
-                        throw new IllegalArgumentException();
-                    }
-                    else
-                    {
-                        if (curType.getSimpleVariety() != SchemaType.ATOMIC)
-                            return null;
-                        SchemaType[] subTypes = curType.getAnonymousTypes();
-                        if (subTypes.length != 1)
-                            return null;
-                        curType = subTypes[0];
-                    }
-                    break;
-
-                case 'I':
-                    if (curType == null)
-                    {
-                        throw new IllegalArgumentException();
-                    }
-                    else
-                    {
-                        if (curType.getSimpleVariety() != SchemaType.LIST)
-                            return null;
-                        SchemaType[] subTypes = curType.getAnonymousTypes();
-                        if (subTypes.length != 1)
-                            return null;
-                        curType = subTypes[0];
-                    }
-                    break;
-
-                case 'M':
-                    if (curType == null)
-                    {
-                        throw new IllegalArgumentException();
-                    }
-                    else
-                    {
-                        int index;
-                        try
-                        {
-                            index = Integer.parseInt(part.substring(offset));
-                        }
-                        catch (Exception e)
-                        {
-                            throw new IllegalArgumentException();
-                        }
-
-                        if (curType.getSimpleVariety() != SchemaType.UNION)
-                            return null;
-                        SchemaType[] subTypes = curType.getAnonymousTypes();
-                        if (subTypes.length <= index)
-                            return null;
-                        curType = subTypes[index];
-                    }
-                    break;
-
-                default:
-                    throw new IllegalArgumentException();
-            }
-        }
-        return curType;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeLoaderImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeLoaderImpl.java
deleted file mode 100644
index f0665bb..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeLoaderImpl.java
+++ /dev/null
@@ -1,546 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.SchemaModelGroup;
-import org.apache.xmlbeans.SchemaAttributeGroup;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaIdentityConstraint;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.common.XBeanDebug;
-import javax.xml.namespace.QName;
-
-import java.io.InputStream;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Collections;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.IdentityHashMap;
-
-public class SchemaTypeLoaderImpl extends SchemaTypeLoaderBase
-{
-    private ResourceLoader _resourceLoader;
-    private ClassLoader _classLoader;
-    private SchemaTypeLoader[] _searchPath;
-
-    private Map _classpathTypeSystems;
-    private Map _classLoaderTypeSystems;
-    private Map _elementCache;
-    private Map _attributeCache;
-    private Map _modelGroupCache;
-    private Map _attributeGroupCache;
-    private Map _idConstraintCache;
-    private Map _typeCache;
-    private Map _documentCache;
-    private Map _classnameCache;
-
-    private static SchemaTypeLoaderImpl buildContextTypeLoader()
-    {
-        return new SchemaTypeLoaderImpl(new SchemaTypeLoader[] { BuiltinSchemaTypeSystem.get() } , null, Thread.currentThread().getContextClassLoader());
-    }
-
-    private static ThreadLocal _threadTypeSystem =
-        new ThreadLocal()
-        {
-            protected Object initialValue() { return buildContextTypeLoader(); }
-        };
-
-    public static SchemaTypeLoaderImpl getContextTypeLoader()
-    {
-        SchemaTypeLoaderImpl candidate = (SchemaTypeLoaderImpl)_threadTypeSystem.get();
-        if (candidate._classLoader != Thread.currentThread().getContextClassLoader())
-        {
-            candidate = buildContextTypeLoader();
-            _threadTypeSystem.set(candidate);
-        }
-        return candidate;
-    }
-
-    public static SchemaTypeLoader build(SchemaTypeLoader[] searchPath, ResourceLoader resourceLoader, ClassLoader classLoader)
-    {
-        if (searchPath == null)
-        {
-            searchPath = EMPTY_SCHEMATYPELOADER_ARRAY;
-        }
-        else
-        {
-            // assemble a flattened search path with no duplicates
-            SubLoaderList list = new SubLoaderList();
-            for (int i = 0; i < searchPath.length; i++)
-            {
-                if (searchPath[i] == null)
-                    throw new IllegalArgumentException("searchPath[" + i + "] is null");
-                if (!(searchPath[i] instanceof SchemaTypeLoaderImpl))
-                    list.add(searchPath[i]);
-                else
-                {
-                    SchemaTypeLoaderImpl sub = (SchemaTypeLoaderImpl)searchPath[i];
-                    if (sub._classLoader != null || sub._resourceLoader != null)
-                        list.add(sub);
-                    else for (int j = 0; j < sub._searchPath.length; j++)
-                        list.add(sub._searchPath[j]);
-                }
-            }
-            searchPath = list.toArray();
-        }
-
-        if (searchPath.length == 1 && resourceLoader == null && classLoader == null)
-            return searchPath[0];
-
-        return new SchemaTypeLoaderImpl(searchPath, resourceLoader, classLoader);
-    }
-
-    /**
-     * Just used to avoid duplicate path entries
-     */
-    private static class SubLoaderList
-    {
-        private List theList = new ArrayList();
-        private Map seen = new IdentityHashMap();
-
-        private boolean add(SchemaTypeLoader loader)
-        {
-            if (seen.containsKey(loader))
-                return false;
-            theList.add(loader);
-            seen.put(loader, null);
-            return true;
-        }
-
-        private SchemaTypeLoader[] toArray()
-        {
-            return (SchemaTypeLoader[])theList.toArray(EMPTY_SCHEMATYPELOADER_ARRAY);
-        }
-    }
-
-    /**
-     * Constructs a SchemaTypeLoaderImpl that searches for objects
-     * in the following order:
-     *
-     * (1) First on the searchPath of other SchemaTypeSystems supplied,
-     *     in order that they are listed.
-     * (2) Next on the classpath of .jar files or directories supplied,
-     *     in the order that they are listed. When types are returned in
-     *     this way, they are instantiated from a private typesystem.
-     *     In other words, if a type is loaded from another SchemaTypeLoaderImpl
-     *     that was initialized on the same file, the instance of the type will
-     *     be different.
-     * (3) Finally on the classloader supplied.
-     */
-    private SchemaTypeLoaderImpl(SchemaTypeLoader[] searchPath, ResourceLoader resourceLoader, ClassLoader classLoader)
-    {
-        if (searchPath == null)
-            _searchPath = EMPTY_SCHEMATYPELOADER_ARRAY;
-        else
-            _searchPath = searchPath;
-        _resourceLoader = resourceLoader;
-        _classLoader = classLoader;
-
-        initCaches();
-    }
-
-    /**
-     * Initializes the caches.
-     */
-    private final void initCaches()
-    {
-        _classpathTypeSystems = Collections.synchronizedMap(new HashMap());
-        _classLoaderTypeSystems = Collections.synchronizedMap(new HashMap());
-        _elementCache = Collections.synchronizedMap(new HashMap());
-        _attributeCache = Collections.synchronizedMap(new HashMap());
-        _modelGroupCache = Collections.synchronizedMap(new HashMap());
-        _attributeGroupCache = Collections.synchronizedMap(new HashMap());
-        _idConstraintCache = Collections.synchronizedMap(new HashMap());
-        _typeCache = Collections.synchronizedMap(new HashMap());
-        _documentCache = Collections.synchronizedMap(new HashMap());
-        _classnameCache = Collections.synchronizedMap(new HashMap());
-    }
-
-    SchemaTypeSystemImpl typeSystemForComponent(String searchdir, QName name)
-    {
-        String searchfor = searchdir + QNameHelper.hexsafedir(name) + ".xsb";
-        String tsname = null;
-
-        if (_resourceLoader != null)
-            tsname = crackEntry(_resourceLoader, searchfor);
-
-        if (_classLoader != null)
-            tsname = crackEntry(_classLoader, searchfor);
-
-        if (tsname != null)
-            return (SchemaTypeSystemImpl)typeSystemForName(tsname);
-
-        return null;
-    }
-
-    public SchemaTypeSystem typeSystemForName(String name)
-    {
-        if (_resourceLoader != null)
-        {
-            SchemaTypeSystem result = getTypeSystemOnClasspath(name);
-            if (result != null)
-                return result;
-        }
-
-        if (_classLoader != null)
-        {
-            SchemaTypeSystem result = getTypeSystemOnClassloader(name);
-            if (result != null)
-                return result;
-        }
-        return null;
-    }
-
-    SchemaTypeSystemImpl typeSystemForClassname(String searchdir, String name)
-    {
-        String searchfor = searchdir + name.replace('.', '/') + ".xsb";
-
-        if (_resourceLoader != null)
-        {
-            String tsname = crackEntry(_resourceLoader, searchfor);
-            if (tsname != null)
-                return getTypeSystemOnClasspath(tsname);
-        }
-
-        if (_classLoader != null)
-        {
-            String tsname = crackEntry(_classLoader, searchfor);
-            if (tsname != null)
-                return getTypeSystemOnClassloader(tsname);
-        }
-
-        return null;
-    }
-
-    SchemaTypeSystemImpl getTypeSystemOnClasspath(String name)
-    {
-        SchemaTypeSystemImpl result = (SchemaTypeSystemImpl)_classpathTypeSystems.get(name);
-        if (result == null)
-        {
-            result = new SchemaTypeSystemImpl(_resourceLoader, name, this);
-            _classpathTypeSystems.put(name, result);
-        }
-        return result;
-    }
-
-    SchemaTypeSystemImpl getTypeSystemOnClassloader(String name)
-    {
-        XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Finding type system " + name + " on classloader", 0);
-        SchemaTypeSystemImpl result = (SchemaTypeSystemImpl)_classLoaderTypeSystems.get(name);
-        if (result == null)
-        {
-            XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Type system " + name + " not cached - consulting field", 0);
-            result = SchemaTypeSystemImpl.forName(name, _classLoader);
-            _classLoaderTypeSystems.put(name, result);
-        }
-        return result;
-    }
-
-    static String crackEntry(ResourceLoader loader, String searchfor)
-    {
-        InputStream is = loader.getResourceAsStream(searchfor);
-        if (is == null)
-            return null;
-        return crackPointer(is);
-    }
-
-    static String crackEntry(ClassLoader loader, String searchfor)
-    {
-        InputStream stream = loader.getResourceAsStream(searchfor);
-        if (stream == null)
-            return null;
-        return crackPointer(stream);
-    }
-
-    static String crackPointer(InputStream stream)
-    {
-        return SchemaTypeSystemImpl.crackPointer(stream);
-    }
-
-    public boolean isNamespaceDefined(String namespace)
-    {
-        for (int i = 0; i < _searchPath.length; i++)
-            if (_searchPath[i].isNamespaceDefined(namespace))
-                return true;
-        
-        SchemaTypeSystem sts = typeSystemForComponent("schema/namespace/", new QName(namespace, "xmlns"));
-        return (sts != null);
-    }
-
-    public SchemaType.Ref findTypeRef(QName name)
-    {
-        SchemaType.Ref result = (SchemaType.Ref)_typeCache.get(name);
-        if (result == null && !_typeCache.containsKey(name))
-        {
-            for (int i = 0; i < _searchPath.length; i++)
-                if (null != (result = _searchPath[i].findTypeRef(name)))
-                    break;
-            if (result == null)
-            {
-                SchemaTypeSystem ts = typeSystemForComponent("schema/type/", name);
-                if (ts != null)
-                {
-                    result = ts.findTypeRef(name);
-                    assert(result != null) : "Type system registered type " + QNameHelper.pretty(name) + " but does not return it";
-                }
-            }
-            _typeCache.put(name, result);
-        }
-        return result;
-    }
-
-    public SchemaType typeForClassname(String classname)
-    {
-        classname = classname.replace('$', '.');
-
-        SchemaType result = (SchemaType)_classnameCache.get(classname);
-        if (result == null && !_classnameCache.containsKey(classname))
-        {
-            for (int i = 0; i < _searchPath.length; i++)
-                if (null != (result = _searchPath[i].typeForClassname(classname)))
-                    break;
-            if (result == null)
-            {
-                SchemaTypeSystem ts = typeSystemForClassname("schema/javaname/", classname);
-                if (ts != null)
-                {
-                    result = ts.typeForClassname(classname);
-                    assert(result != null) : "Type system registered type " + classname + " but does not return it";
-                }
-            }
-            _classnameCache.put(classname, result);
-        }
-        return result;
-    }
-
-    public SchemaType.Ref findDocumentTypeRef(QName name)
-    {
-        SchemaType.Ref result = (SchemaType.Ref)_documentCache.get(name);
-        if (result == null && !_documentCache.containsKey(name))
-        {
-            for (int i = 0; i < _searchPath.length; i++)
-                if (null != (result = _searchPath[i].findDocumentTypeRef(name)))
-                    break;
-            if (result == null)
-            {
-                SchemaTypeSystem ts = typeSystemForComponent("schema/element/", name);
-                if (ts != null)
-                {
-                    result = ts.findDocumentTypeRef(name);
-                    assert(result != null) : "Type system registered element " + QNameHelper.pretty(name) + " but does not contain document type";
-                }
-            }
-            _documentCache.put(name, result);
-        }
-        return result;
-    }
-
-    public SchemaType.Ref findAttributeTypeRef(QName name)
-    {
-        SchemaType.Ref result = (SchemaType.Ref)_attributeCache.get(name);
-        if (result == null && !_attributeCache.containsKey(name))
-        {
-            for (int i = 0; i < _searchPath.length; i++)
-                if (null != (result = _searchPath[i].findAttributeTypeRef(name)))
-                    break;
-            if (result == null)
-            {
-                SchemaTypeSystem ts = typeSystemForComponent("schema/attribute/", name);
-                if (ts != null)
-                {
-                    result = ts.findAttributeTypeRef(name);
-                    assert(result != null) : "Type system registered attribute " + QNameHelper.pretty(name) + " but does not contain attribute type";
-                }
-            }
-            _attributeCache.put(name, result);
-        }
-        return result;
-    }
-
-    public SchemaGlobalElement.Ref findElementRef(QName name)
-    {
-        SchemaGlobalElement.Ref result = (SchemaGlobalElement.Ref)_elementCache.get(name);
-        if (result == null && !_elementCache.containsKey(name))
-        {
-            for (int i = 0; i < _searchPath.length; i++)
-                if (null != (result = _searchPath[i].findElementRef(name)))
-                    break;
-            if (result == null)
-            {
-                SchemaTypeSystem ts = typeSystemForComponent("schema/element/", name);
-                if (ts != null)
-                {
-                    result = ts.findElementRef(name);
-                    assert(result != null) : "Type system registered element " + QNameHelper.pretty(name) + " but does not return it";
-                }
-            }
-            _elementCache.put(name, result);
-        }
-        return result;
-    }
-
-    public SchemaGlobalAttribute.Ref findAttributeRef(QName name)
-    {
-        SchemaGlobalAttribute.Ref result = (SchemaGlobalAttribute.Ref)_attributeCache.get(name);
-        if (result == null && !_attributeCache.containsKey(name))
-        {
-            for (int i = 0; i < _searchPath.length; i++)
-                if (null != (result = _searchPath[i].findAttributeRef(name)))
-                    break;
-            if (result == null)
-            {
-                SchemaTypeSystem ts = typeSystemForComponent("schema/attribute/", name);
-                if (ts != null)
-                {
-                    result = ts.findAttributeRef(name);
-                    assert(result != null) : "Type system registered attribute " + QNameHelper.pretty(name) + " but does not return it";
-                }
-            }
-            _attributeCache.put(name, result);
-        }
-        return result;
-    }
-
-    public SchemaModelGroup.Ref findModelGroupRef(QName name)
-    {
-        SchemaModelGroup.Ref result = (SchemaModelGroup.Ref)_modelGroupCache.get(name);
-        if (result == null && !_modelGroupCache.containsKey(name))
-        {
-            for (int i = 0; i < _searchPath.length; i++)
-                if (null != (result = _searchPath[i].findModelGroupRef(name)))
-                    break;
-            if (result == null)
-            {
-                SchemaTypeSystem ts = typeSystemForComponent("schema/modelgroup/", name);
-                if (ts != null)
-                {
-                    result = ts.findModelGroupRef(name);
-                    assert(result != null) : "Type system registered model group " + QNameHelper.pretty(name) + " but does not return it";
-                }
-            }
-            _modelGroupCache.put(name, result);
-        }
-        return result;
-    }
-
-    public SchemaAttributeGroup.Ref findAttributeGroupRef(QName name)
-    {
-        SchemaAttributeGroup.Ref result = (SchemaAttributeGroup.Ref)_attributeGroupCache.get(name);
-        if (result == null && !_attributeGroupCache.containsKey(name))
-        {
-            for (int i = 0; i < _searchPath.length; i++)
-                if (null != (result = _searchPath[i].findAttributeGroupRef(name)))
-                    break;
-            if (result == null)
-            {
-                SchemaTypeSystem ts = typeSystemForComponent("schema/attributegroup/", name);
-                if (ts != null)
-                {
-                    result = ts.findAttributeGroupRef(name);
-                    assert(result != null) : "Type system registered attribute group " + QNameHelper.pretty(name) + " but does not return it";
-                }
-            }
-            _attributeGroupCache.put(name, result);
-        }
-        return result;
-    }
-
-    public SchemaIdentityConstraint.Ref findIdentityConstraintRef(QName name)
-    {
-        SchemaIdentityConstraint.Ref result = (SchemaIdentityConstraint.Ref)_idConstraintCache.get(name);
-        if (result == null && !_idConstraintCache.containsKey(name))
-        {
-            for (int i = 0; i < _searchPath.length; i++)
-                if (null != (result = _searchPath[i].findIdentityConstraintRef(name)))
-                    break;
-            if (result == null)
-            {
-                SchemaTypeSystem ts = typeSystemForComponent("schema/identityconstraint/", name);
-                if (ts != null)
-                {
-                    result = ts.findIdentityConstraintRef(name);
-                    assert(result != null) : "Type system registered identity constraint " + QNameHelper.pretty(name) + " but does not return it";
-                }
-            }
-            _idConstraintCache.put(name, result);
-        }
-        return result;
-    }
-
-    public InputStream getSourceAsStream(String sourceName)
-    {
-        InputStream result = null;
-
-        if (!sourceName.startsWith("/"))
-            sourceName = "/" + sourceName;
-
-        if (_resourceLoader != null)
-            result = _resourceLoader.getResourceAsStream("schema/src" + sourceName);
-
-        if (result == null && _classLoader != null)
-            return _classLoader.getResourceAsStream("schema/src" + sourceName);
-
-        return result;
-    }
-
-    private static final SchemaTypeLoader[] EMPTY_SCHEMATYPELOADER_ARRAY = new SchemaTypeLoader[0];
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeSystemCompiler.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeSystemCompiler.java
deleted file mode 100644
index 9e0a843..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeSystemCompiler.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.SchemaTypeSystem;
-
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.List;
-import java.util.Arrays;
-import java.net.URI;
-
-import org.w3.x2001.xmlSchema.SchemaDocument.Schema;
-import org.w3.x2001.xmlSchema.SchemaDocument;
-import com.bea.x2002.x09.xbean.config.ConfigDocument.Config;
-import com.bea.x2002.x09.xbean.config.ConfigDocument;
-import org.apache.xmlbeans.impl.common.XmlErrorWatcher;
-import org.apache.xmlbeans.impl.config.SchemaConfig;
-
-import java.util.Collection;
-
-public class SchemaTypeSystemCompiler
-{
-    public static class Parameters
-    {
-        private String name;
-        private Schema[] schemas;
-        private Config[] configs;
-        private SchemaTypeLoader linkTo;
-        private XmlOptions options;
-        private Collection errorListener;
-        private boolean javaize;
-        private URI baseURI;
-        private Map sourcesToCopyMap;
-
-        public String getName()
-        {
-            return name;
-        }
-
-        public void setName(String name)
-        {
-            this.name = name;
-        }
-
-        public SchemaDocument.Schema[] getSchemas()
-        {
-            return schemas;
-        }
-
-        public void setSchemas(SchemaDocument.Schema[] schemas)
-        {
-            this.schemas = schemas;
-        }
-
-        public ConfigDocument.Config[] getConfigs()
-        {
-            return configs;
-        }
-
-        public void setConfigs(ConfigDocument.Config[] configs)
-        {
-            this.configs = configs;
-        }
-
-        public SchemaTypeLoader getLinkTo()
-        {
-            return linkTo;
-        }
-
-        public void setLinkTo(SchemaTypeLoader linkTo)
-        {
-            this.linkTo = linkTo;
-        }
-
-        public XmlOptions getOptions()
-        {
-            return options;
-        }
-
-        public void setOptions(XmlOptions options)
-        {
-            this.options = options;
-        }
-
-        public Collection getErrorListener()
-        {
-            return errorListener;
-        }
-
-        public void setErrorListener(Collection errorListener)
-        {
-            this.errorListener = errorListener;
-        }
-
-        public boolean isJavaize()
-        {
-            return javaize;
-        }
-
-        public void setJavaize(boolean javaize)
-        {
-            this.javaize = javaize;
-        }
-
-        public URI getBaseURI()
-        {
-            return baseURI;
-        }
-
-        public void setBaseURI(URI baseURI)
-        {
-            this.baseURI = baseURI;
-        }
-
-        public Map getSourcesToCopyMap()
-        {
-            return sourcesToCopyMap;
-        }
-
-        public void setSourcesToCopyMap(Map sourcesToCopyMap)
-        {
-            this.sourcesToCopyMap = sourcesToCopyMap;
-        }
-    }
-
-    public static SchemaTypeSystem compile(Parameters params)
-    {
-        return compileImpl(params.getName(), params.getSchemas(), params.getConfigs(), params.getLinkTo(), params.getOptions(), params.getErrorListener(), params.isJavaize(), params.getBaseURI(), params.getSourcesToCopyMap());
-    }
-    
-    /* package!!! */ static SchemaTypeSystemImpl compileImpl(
-        String name, Schema[] schemas, Config[] configs,
-        SchemaTypeLoader linkTo, XmlOptions options, Collection outsideErrors, boolean javaize, URI baseURI, Map sourcesToCopyMap)
-    {
-        if (linkTo == null)
-            throw new IllegalArgumentException("Must supply linkTo");
-
-        XmlErrorWatcher errorWatcher = new XmlErrorWatcher(outsideErrors);
-
-        // construct the state
-        StscState state = StscState.start();
-        boolean validate = (options == null || !options.hasOption(XmlOptions.COMPILE_NO_VALIDATION));
-        try
-        {
-            state.setErrorListener(errorWatcher);
-            state.setSchemaConfig(SchemaConfig.forConfigDocuments(configs));
-            state.setOptions(options);
-            state.setGivenTypeSystemName(name);
-            if (baseURI != null)
-                state.setBaseUri(baseURI);
-
-            // construct the classpath (you always get the builtin types)
-            linkTo = SchemaTypeLoaderImpl.build(new SchemaTypeLoader[] { BuiltinSchemaTypeSystem.get(), linkTo }, null, null);
-            state.setImportingTypeLoader(linkTo);
-
-            List validSchemas = new ArrayList(schemas.length);
-
-            // load all the xsd files into it
-            if (validate)
-            {
-                for (int i = 0; i < schemas.length; i++)
-                {
-                    if (schemas[i].validate(new XmlOptions().setErrorListener(errorWatcher)))
-                        validSchemas.add(schemas[i]);
-                }
-            }
-            else
-            {
-                validSchemas.addAll(Arrays.asList(schemas));
-            }
-
-            Schema[] startWith = (Schema[])validSchemas.toArray(new Schema[validSchemas.size()]);
-
-            // deal with imports and includes
-            StscImporter.SchemaToProcess[] schemasAndChameleons = StscImporter.resolveImportsAndIncludes(startWith);
-
-            // call the translator so that it may also perform magic
-            StscTranslator.addAllDefinitions(schemasAndChameleons);
-
-            // call the resolver to do its magic
-            StscResolver.resolveAll();
-            
-            // call the checker to check both restrictions and defaults
-            StscChecker.checkAll();
-
-            // call the javaizer to do its magic
-            StscJavaizer.javaizeAllTypes(javaize);
-
-            // construct the loader out of the state
-            state.get().sts().loadFromStscState(state);
-
-            // fill in the source-copy map
-            if (sourcesToCopyMap != null)
-                sourcesToCopyMap.putAll(state.sourceCopyMap());
-
-            // if any errors, return null
-            if (errorWatcher.hasError())
-                return null;
-
-            return state.get().sts();
-        }
-        finally
-        {
-            StscState.end();
-        }
-    }
-
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java
deleted file mode 100644
index ec45723..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java
+++ /dev/null
@@ -1,3160 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer.
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache
-*    XMLBeans", nor may "Apache" appear in their name, without prior
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.impl.common.NameUtil;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.common.XBeanDebug;
-import org.apache.xmlbeans.impl.common.XmlErrorWatcher;
-
-import java.io.InputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.*;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipEntry;
-import java.math.BigInteger;
-
-
-import org.apache.xmlbeans.impl.regex.RegularExpression;
-import org.apache.xmlbeans.impl.util.HexBin;
-import org.apache.xmlbeans.impl.values.XmlObjectBase;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.SchemaModelGroup;
-import org.apache.xmlbeans.SchemaAttributeGroup;
-import org.apache.xmlbeans.SchemaAttributeModel;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.SchemaProperty;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.SchemaLocalAttribute;
-import org.apache.xmlbeans.SchemaLocalElement;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.SchemaStringEnumEntry;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaIdentityConstraint;
-import org.apache.xmlbeans.SimpleValue;
-import org.apache.xmlbeans.SchemaTypeLoaderException;
-import org.apache.xmlbeans.SchemaField;
-import org.apache.xmlbeans.soap.SOAPArrayType;
-import org.apache.xmlbeans.soap.SchemaWSDLArrayType;
-import com.bea.x2002.x09.xbean.config.ConfigDocument.Config;
-import com.bea.x2002.x09.xbean.config.ConfigDocument;
-import org.w3.x2001.xmlSchema.SchemaDocument;
-import org.w3.x2001.xmlSchema.GroupDocument;
-import org.w3.x2001.xmlSchema.AttributeGroupDocument;
-import org.w3.x2001.xmlSchema.SchemaDocument.Schema;
-
-public class SchemaTypeSystemImpl extends SchemaTypeLoaderBase implements SchemaTypeSystem
-{
-    public static final int DATA_BABE = 0xDA7ABABE;
-    public static final int MAJOR_VERSION = 2;  // must match == to be compatible
-    public static final int MINOR_VERSION = 18; // must be <= to be compatible
-    public static final int RELEASE_NUMBER = 0; // should be compatible even if < or >
-
-    public static final int FILETYPE_SCHEMAINDEX = 1;
-    public static final int FILETYPE_SCHEMATYPE = 2;
-    public static final int FILETYPE_SCHEMAELEMENT = 3;
-    public static final int FILETYPE_SCHEMAATTRIBUTE = 4;
-    public static final int FILETYPE_SCHEMAPOINTER = 5;
-    public static final int FILETYPE_SCHEMAMODELGROUP = 6;
-    public static final int FILETYPE_SCHEMAATTRIBUTEGROUP = 7;
-    public static final int FILETYPE_SCHEMAIDENTITYCONSTRAINT = 8;
-
-    public static final int FLAG_PART_SKIPPABLE = 1;
-    public static final int FLAG_PART_FIXED = 4;
-    public static final int FLAG_PART_NILLABLE = 8;
-    public static final int FLAG_PART_BLOCKEXT = 16;
-    public static final int FLAG_PART_BLOCKREST = 32;
-    public static final int FLAG_PART_BLOCKSUBST = 64;
-    public static final int FLAG_PART_ABSTRACT = 128;
-    public static final int FLAG_PART_FINALEXT = 256;
-    public static final int FLAG_PART_FINALREST = 512;
-
-    public static final int FLAG_PROP_ISATTR = 1;
-    public static final int FLAG_PROP_JAVASINGLETON = 2;
-    public static final int FLAG_PROP_JAVAOPTIONAL = 4;
-    public static final int FLAG_PROP_JAVAARRAY = 8;
-
-    public static final int FIELD_NONE = 0;
-    public static final int FIELD_GLOBAL = 1;
-    public static final int FIELD_LOCALATTR = 2;
-    public static final int FIELD_LOCALELT = 3;
-
-    // type flags
-    static final int FLAG_SIMPLE_TYPE     = 0x1;
-    static final int FLAG_DOCUMENT_TYPE   = 0x2;
-    static final int FLAG_ORDERED         = 0x4;
-    static final int FLAG_BOUNDED         = 0x8;
-    static final int FLAG_FINITE          = 0x10;
-    static final int FLAG_NUMERIC         = 0x20;
-    static final int FLAG_STRINGENUM      = 0x40;
-    static final int FLAG_UNION_OF_LISTS  = 0x80;
-    static final int FLAG_HAS_PATTERN     = 0x100;
-    static final int FLAG_ORDER_SENSITIVE = 0x200;
-    static final int FLAG_TOTAL_ORDER     = 0x400;
-    static final int FLAG_COMPILED        = 0x800;
-    static final int FLAG_BLOCK_EXT       = 0x1000;
-    static final int FLAG_BLOCK_REST      = 0x2000;
-    static final int FLAG_FINAL_EXT       = 0x4000;
-    static final int FLAG_FINAL_REST      = 0x8000;
-    static final int FLAG_FINAL_UNION     = 0x10000;
-    static final int FLAG_FINAL_LIST      = 0x20000;
-    static final int FLAG_ABSTRACT        = 0x40000;
-    static final int FLAG_ATTRIBUTE_TYPE  = 0x80000;
-
-
-    private static String nameToPathString(String nameForSystem)
-    {
-        nameForSystem = nameForSystem.replace('.', '/');
-
-        if (!nameForSystem.endsWith("/") && nameForSystem.length() > 0)
-            nameForSystem = nameForSystem + "/";
-
-        return nameForSystem;
-    }
-
-    public SchemaTypeSystemImpl(Class indexclass)
-    {
-        String fullname = indexclass.getName();
-        _name = fullname.substring(0, fullname.lastIndexOf('.'));
-        XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Loading type system " + _name, 1);
-        _basePackage = nameToPathString(_name);
-        _classloader = indexclass.getClassLoader();
-        _linker = SchemaTypeLoaderImpl.build(null, null, _classloader);
-        _resourceLoader = new ClassLoaderResourceLoader(_classloader);
-        initFromHeader();
-        XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Finished loading type system " + _name, -1);
-    }
-
-    private static final Schema[] EMPTY_SCHEMA_ARRAY = new Schema[0];
-    private static final Config[] EMPTY_CONFIG_ARRAY = new Config[0];
-
-    public static SchemaTypeSystemImpl forSchemaXml(
-        XmlObject[] input, SchemaTypeLoader linkTo, XmlOptions options)
-            throws XmlException
-    {
-        options = XmlOptions.maskNull(options);
-        ArrayList schemas = new ArrayList();
-        ArrayList configs = new ArrayList();
-
-        for (int i = 0; i < input.length; i++)
-        {
-            if (input[i] instanceof Schema)
-                schemas.add(input[i]);
-            else if (input[i] instanceof SchemaDocument && ((SchemaDocument)input[i]).getSchema() != null)
-                schemas.add(((SchemaDocument)input[i]).getSchema());
-            else if (input[i] instanceof Config)
-                configs.add(input[i]);
-            else if (input[i] instanceof ConfigDocument && ((ConfigDocument)input[i]).getConfig() != null)
-                configs.add(((ConfigDocument)input[i]).getConfig());
-            else
-                throw new XmlException("Thread " + Thread.currentThread().getName() +  ": The " + i + "th supplied input is not a schema or a config document: its type is " + input[i].schemaType());
-        }
-
-
-
-        Collection userErrors = (Collection)options.get(XmlOptions.ERROR_LISTENER);
-        XmlErrorWatcher errorWatcher = new XmlErrorWatcher(userErrors);
-
-        SchemaTypeSystemImpl stsi =
-            SchemaTypeSystemCompiler.compileImpl(
-                null, (Schema[])schemas.toArray(EMPTY_SCHEMA_ARRAY),
-                (Config[])configs.toArray(EMPTY_CONFIG_ARRAY), linkTo, options, errorWatcher, false, null, null);
-
-        if (errorWatcher.hasError())
-        {
-            throw new XmlException(errorWatcher.firstError());
-        }
-
-        return stsi;
-    }
-
-    public static boolean fileContainsTypeSystem(File file, String name)
-    {
-        String indexname = nameToPathString(name) + "index.xsb";
-
-        if (file.isDirectory())
-        {
-            return (new File(file, indexname)).isFile();
-        }
-        else
-        {
-            ZipFile zipfile = null;
-            try
-            {
-                zipfile = new ZipFile(file);
-                ZipEntry entry = zipfile.getEntry(indexname);
-                return (entry != null && !entry.isDirectory());
-            }
-            catch (IOException e)
-            {
-                XBeanDebug.log("Problem loading SchemaTypeSystem, zipfilename " + file);
-                XBeanDebug.logException(e);
-                throw new SchemaTypeLoaderException(e.getMessage(), name, "index", SchemaTypeLoaderException.IO_EXCEPTION);
-            }
-            finally
-            {
-                if (zipfile != null)
-                    try { zipfile.close(); } catch (IOException e) {}
-            }
-        }
-    }
-
-    public static SchemaTypeSystemImpl forName(String name, ClassLoader loader)
-    {
-        try
-        {
-            Class c = Class.forName(name + "." + SchemaTypeCodePrinter.INDEX_CLASSNAME, true, loader);
-            return (SchemaTypeSystemImpl)c.getField("typeSystem").get(null);
-        }
-        catch (Exception e)
-        {
-            return null;
-        }
-    }
-
-    public SchemaTypeSystemImpl(ResourceLoader resourceLoader, String name, SchemaTypeLoader linker)
-    {
-        _name = name;
-        _basePackage = nameToPathString(_name);
-        _linker = linker;
-        _resourceLoader = resourceLoader;
-        try
-        {
-            initFromHeader();
-        }
-        catch (RuntimeException e)
-        {
-            XBeanDebug.logException(e);
-            throw e;
-        }
-        catch (Error e)
-        {
-            XBeanDebug.logException(e);
-            throw e;
-        }
-    }
-
-    private void initFromHeader()
-    {
-        XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Reading unresolved handles for type system " + _name, 0);
-        XsbReader reader = null;
-        try
-        {
-            // Read the index file, which starts with a header.
-            reader = new XsbReader("index", FILETYPE_SCHEMAINDEX);
-
-            // has a handle pool (count, handle/type, handle/type...)
-            _localHandles = new HandlePool();
-            reader.readHandlePool(_localHandles);
-
-            // then a qname map of global elements (count, qname/handle, qname/handle...)
-            _globalElements = reader.readQNameRefMap();
-
-            // qname map of global attributes
-            _globalAttributes = reader.readQNameRefMap();
-
-            // qname map of model groups
-            _modelGroups = reader.readQNameRefMap();
-
-            // qname map of attribute groups
-            _attributeGroups = reader.readQNameRefMap();
-
-            _identityConstraints = reader.readQNameRefMap();
-
-            // qname map of global types
-            _globalTypes = reader.readQNameRefMap();
-
-            // qname map of document types, by the qname of the contained element
-            _documentTypes = reader.readQNameRefMap();
-
-            // qname mape of attribute types, by the qname of the contained attribute
-            _attributeTypes = reader.readQNameRefMap();
-
-            // string map of all types, by fully qualified classname
-            _typeRefsByClassname = reader.readClassnameRefMap();
-
-            _namespaces = reader.readNamespaces();
-
-            // support for redefine, at the end of the file
-            if (reader.atLeast(2, 15, 0))
-            {
-                _redefinedGlobalTypes = reader.readQNameRefMap();
-                _redefinedModelGroups = reader.readQNameRefMap();
-                _redefinedAttributeGroups = reader.readQNameRefMap();
-            }
-        }
-        finally
-        {
-            if (reader != null)
-                reader.readEnd();
-        }
-    }
-
-    void saveIndex()
-    {
-        String handle = "index";
-        XsbReader saver = new XsbReader(handle);
-        saver.writeIndexData();
-        saver.writeRealHeader(handle, FILETYPE_SCHEMAINDEX);
-        saver.writeIndexData();
-        saver.writeEnd();
-    }
-
-    void savePointers()
-    {
-        savePointersForComponents(globalElements(), "schema/element/");
-        savePointersForComponents(globalAttributes(), "schema/attribute/");
-        savePointersForComponents(modelGroups(), "schema/modelgroup/");
-        savePointersForComponents(attributeGroups(), "schema/attributegroup/");
-        savePointersForComponents(globalTypes(), "schema/type/");
-        savePointersForComponents(identityConstraints(), "schema/identityconstraint/");
-        savePointersForNamespaces(_namespaces, "schema/namespace/");
-        savePointersForClassnames(_typeRefsByClassname.keySet(), "schema/javaname/");
-        savePointersForComponents(redefinedModelGroups(), "schema/redefinedmodelgroup/");
-        savePointersForComponents(redefinedAttributeGroups(), "schema/redefinedattributegroup/");
-        savePointersForComponents(redefinedGlobalTypes(), "schema/redefinedtype/");
-    }
-
-    void savePointersForComponents(SchemaComponent[] components, String dir)
-    {
-        for (int i = 0; i < components.length; i++)
-        {
-            savePointerFile(dir + QNameHelper.hexsafedir(components[i].getName()), _name);
-        }
-    }
-
-    void savePointersForClassnames(Set classnames, String dir)
-    {
-        for (Iterator i = classnames.iterator(); i.hasNext(); )
-        {
-            String classname = (String)i.next();
-            savePointerFile(dir + classname.replace('.', '/'), _name);
-        }
-    }
-
-    void savePointersForNamespaces(Set namespaces, String dir)
-    {
-        for (Iterator i = namespaces.iterator(); i.hasNext(); )
-        {
-            String ns = (String)i.next();
-            savePointerFile(dir + QNameHelper.hexsafedir(new QName(ns, "xmlns")), _name);
-        }
-    }
-
-    void savePointerFile(String filename, String name)
-    {
-        XsbReader saver = new XsbReader(filename);
-        saver.writeString(name);
-        saver.writeRealHeader(filename, FILETYPE_SCHEMAPOINTER);
-        saver.writeString(name);
-        saver.writeEnd();
-    }
-
-    /**
-     * Only used in the nonbootstrapped case.
-     */
-    private Map buildTypeRefsByClassname()
-    {
-        List allSeenTypes = new ArrayList();
-        Map result = new LinkedHashMap();
-        allSeenTypes.addAll(Arrays.asList(documentTypes()));
-        allSeenTypes.addAll(Arrays.asList(attributeTypes()));
-        allSeenTypes.addAll(Arrays.asList(globalTypes()));
-
-        // now fully javaize everything deeply.
-        for (int i = 0; i < allSeenTypes.size(); i++)
-        {
-            SchemaType gType = (SchemaType)allSeenTypes.get(i);
-            String className = gType.getFullJavaName();
-            if (className != null)
-            {
-                result.put(className.replace('$', '.'), gType.getRef());
-            }
-            allSeenTypes.addAll(Arrays.asList(gType.getAnonymousTypes()));
-        }
-        return result;
-    }
-
-    private Map buildTypeRefsByClassname(Map typesByClassname)
-    {
-        Map result = new LinkedHashMap();
-        for (Iterator i = typesByClassname.keySet().iterator(); i.hasNext(); )
-        {
-            String className = (String)i.next();
-            result.put(className, ((SchemaType)typesByClassname.get(className)).getRef());
-        }
-        return result;
-    }
-
-    private static Map buildComponentRefMap(SchemaComponent[] components)
-    {
-        Map result = new LinkedHashMap();
-        for (int i = 0; i < components.length; i++)
-            result.put(components[i].getName(), components[i].getComponentRef());
-        return result;
-    }
-
-    private static Map buildDocumentMap(SchemaType[] types)
-    {
-        Map result = new LinkedHashMap();
-        for (int i = 0; i < types.length; i++)
-            result.put(types[i].getDocumentElementName(), types[i].getRef());
-        return result;
-    }
-
-    private static Map buildAttributeTypeMap(SchemaType[] types)
-    {
-        Map result = new LinkedHashMap();
-        for (int i = 0; i < types.length; i++)
-            result.put(types[i].getAttributeTypeAttributeName(), types[i].getRef());
-        return result;
-    }
-
-    private static Random _random;
-    private static byte[] _mask = new byte[128 / 8];
-
-    /**
-     * Fun, fun.  Produce 128 bits of uniqueness randomly.
-     * We used to use SecureRandom, but now we don't because SecureRandom
-     * hits the filesystem and hangs us on a filesystem lock.  It also eats
-     * a thread and other expensive resources.. :-).
-     *
-     * We don't really care that non-secure Random() can only do 48 bits of
-     * randomness, since we're certainly not going to be called more than 2^48
-     * times within our process lifetime.
-     *
-     * Our real concern is that by seeding Random() with the current
-     * time, two users will end up with the same bits if they start a
-     * schema compilation within the same millisecond.  That makes the
-     * probability of collision in the real world slightly too high.
-     * We're going to have millions of users, remember?  With a million
-     * users, and one-compilation-per-day each, we'd see a collision every
-     * few months.
-     *
-     * So we'll just xor the results of random with our few extra
-     * bits of information computed below to help reduce the probability
-     * of collision by a few decimal places.  To collide, you will have had
-     * to have the same amount of free memory, the same user name, timezone,
-     * and country, the same current directory, the same java classpath,
-     * the same operating system and jvm version, and the same choices of
-     * identity hashcodes for a few objects. And be started within the same
-     * millisecond. Or you can collide if you have a cosmic 128-bit mathematical
-     * coincidence. No worries.
-     */
-    private static synchronized void nextBytes(byte[] result)
-    {
-        if (_random == null)
-        {
-            try
-            {
-                ByteArrayOutputStream baos = new ByteArrayOutputStream();
-                DataOutputStream daos = new DataOutputStream(baos);
-
-                // at least 10 bits of unqieueness, right?  Maybe even 50 or 60.
-                daos.writeInt(System.identityHashCode(SchemaTypeSystemImpl.class));
-                String[] props = new String[] { "user.name", "user.dir", "user.timezone", "user.country", "java.class.path", "java.home", "java.vendor", "java.version", "os.version" };
-                for (int i = 0; i < props.length; i++)
-                {
-                    String prop = System.getProperty(props[i]);
-                    if (prop != null)
-                    {
-                        daos.writeUTF(prop);
-                        daos.writeInt(System.identityHashCode(prop));
-                    }
-                }
-                daos.writeLong(Runtime.getRuntime().freeMemory());
-                daos.close();
-                byte[] bytes = baos.toByteArray();
-                for (int i = 0; i < bytes.length; i++)
-                {
-                    int j = i % _mask.length;
-                    _mask[j] *= 21;
-                    _mask[j] += i;
-                }
-            }
-            catch (IOException e)
-            {
-                XBeanDebug.logException(e);
-            }
-
-            _random = new Random(System.currentTimeMillis());
-        }
-        _random.nextBytes(result);
-        for (int i = 0; i < result.length; i++)
-        {
-            int j = i & _mask.length;
-            result[i] ^= _mask[j];
-        }
-    }
-
-    public SchemaTypeSystemImpl(String nameForSystem)
-    {
-        // if we have no name, select a random one
-        if (nameForSystem == null)
-        {
-            // get 128 random bits (that'll be 32 hex digits)
-            byte[] bytes = new byte[128/8];
-            nextBytes(bytes);
-            nameForSystem = "s" + new String(HexBin.encode(bytes));
-        }
-
-        _name = "schema.system." + nameForSystem;
-        _basePackage = nameToPathString(_name);
-        _classloader = null;
-
-    }
-
-    public void loadFromBuilder(SchemaGlobalElement[] globalElements,
-                                SchemaGlobalAttribute[] globalAttributes,
-                                SchemaType[] globalTypes,
-                                SchemaType[] documentTypes,
-                                SchemaType[] attributeTypes)
-    {
-        assert(_classloader == null);
-        _localHandles = new HandlePool();
-        _globalElements = buildComponentRefMap(globalElements);
-        _globalAttributes = buildComponentRefMap(globalAttributes);
-        _globalTypes = buildComponentRefMap(globalTypes);
-        _documentTypes = buildDocumentMap(documentTypes);
-        _attributeTypes = buildDocumentMap(attributeTypes);
-        _typeRefsByClassname = buildTypeRefsByClassname();
-        _namespaces = new HashSet();
-    }
-
-    public void loadFromStscState(StscState state)
-    {
-        assert(_classloader == null);
-        _localHandles = new HandlePool();
-        _globalElements = buildComponentRefMap(state.globalElements());
-        _globalAttributes = buildComponentRefMap(state.globalAttributes());
-        _modelGroups = buildComponentRefMap(state.modelGroups());
-        _redefinedModelGroups = buildComponentRefMap(state.redefinedModelGroups());
-        _attributeGroups = buildComponentRefMap(state.attributeGroups());
-        _redefinedAttributeGroups = buildComponentRefMap(state.redefinedAttributeGroups());
-        _globalTypes = buildComponentRefMap(state.globalTypes());
-        _redefinedGlobalTypes = buildComponentRefMap(state.redefinedGlobalTypes());
-        _documentTypes = buildDocumentMap(state.documentTypes());
-        _attributeTypes = buildAttributeTypeMap(state.attributeTypes());
-        _typeRefsByClassname = buildTypeRefsByClassname(state.typesByClassname());
-        _identityConstraints = buildComponentRefMap(state.idConstraints());
-        _namespaces = new HashSet(Arrays.asList(state.getNamespaces()));
-    }
-
-    final SchemaTypeSystemImpl getTypeSystem()
-    {
-        return this;
-    }
-
-    static class StringPool
-    {
-        private List intsToStrings = new ArrayList();
-        private Map stringsToInts = new HashMap();
-        private String _handle;
-        private String _name;
-
-        /**
-         * Constructs an empty StringPool to be filled with strings.
-         */
-        StringPool(String handle, String name)
-        {
-            _handle = handle;
-            _name = name;
-            intsToStrings.add(null);
-        }
-
-        int codeForString(String str)
-        {
-            if (str == null)
-                return 0;
-            Integer result = (Integer)stringsToInts.get(str);
-            if (result == null)
-            {
-                result = new Integer(intsToStrings.size());
-                intsToStrings.add(str);
-                stringsToInts.put(str, result);
-            }
-            return result.intValue();
-        }
-
-        String stringForCode(int code)
-        {
-            if (code == 0)
-                return null;
-            return (String)intsToStrings.get(code);
-        }
-
-        void writeTo(DataOutputStream output)
-        {
-            if (intsToStrings.size() > Short.MAX_VALUE)
-                throw new SchemaTypeLoaderException("Too many strings (" + intsToStrings.size() + ")", _name, _handle, SchemaTypeLoaderException.INT_TOO_LARGE);
-
-            try
-            {
-                output.writeShort(intsToStrings.size());
-                Iterator i = intsToStrings.iterator();
-                for (i.next(); i.hasNext(); )
-                {
-                    String str = (String)i.next();
-                    output.writeUTF(str);
-                }
-            }
-            catch (IOException e)
-            {
-                throw new SchemaTypeLoaderException(e.getMessage(), _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION);
-            }
-        }
-
-        void readFrom(DataInputStream input)
-        {
-            if (intsToStrings.size() != 1 || stringsToInts.size() != 0)
-                throw new IllegalStateException();
-
-            try
-            {
-                int size = input.readShort();
-                for (int i = 1; i < size; i++)
-                {
-                    String str = input.readUTF().intern();
-                    int code = codeForString(str);
-                    if (code != i)
-                        throw new IllegalStateException();
-                }
-            }
-            catch (IOException e)
-            {
-                throw new SchemaTypeLoaderException(e.getMessage() == null ? e.getMessage() : "IO Exception", _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION, e);
-            }
-        }
-    }
-
-    class HandlePool
-    {
-        private Map _handlesToRefs = new LinkedHashMap();
-        private Map _componentsToHandles = new LinkedHashMap(); // populated on write
-        private boolean _started;
-
-        /**
-         * Constructs an empty HandlePool to be populated.
-         */
-        HandlePool()
-        {
-        }
-
-        private String addUniqueHandle(SchemaComponent obj, String base)
-        {
-            base = base.toLowerCase();  // we lowercase handles because of case-insensitive Windows filenames!!!
-            String handle = base;
-            for (int index = 2; _handlesToRefs.containsKey(handle); index++)
-            {
-                handle = base + index;
-            }
-            _handlesToRefs.put(handle, obj.getComponentRef());
-            _componentsToHandles.put(obj, handle);
-            return handle;
-        }
-
-        String handleForComponent(SchemaComponent comp)
-        {
-            if (comp == null)
-                return null;
-            if (comp.getTypeSystem() != getTypeSystem())
-                throw new IllegalArgumentException("Cannot supply handles for types from another type system");
-            if (comp instanceof SchemaType)
-                return handleForType((SchemaType)comp);
-            if (comp instanceof SchemaGlobalElement)
-                return handleForElement((SchemaGlobalElement)comp);
-            if (comp instanceof SchemaGlobalAttribute)
-                return handleForAttribute((SchemaGlobalAttribute)comp);
-            if (comp instanceof SchemaModelGroup)
-                return handleForModelGroup((SchemaModelGroup)comp);
-            if (comp instanceof SchemaAttributeGroup)
-                return handleForAttributeGroup((SchemaAttributeGroup)comp);
-            if (comp instanceof SchemaIdentityConstraint)
-                return handleForIdentityConstraint((SchemaIdentityConstraint)comp);
-            throw new IllegalStateException("Component type cannot have a handle");
-        }
-
-        String handleForElement(SchemaGlobalElement element)
-        {
-            if (element == null)
-                return null;
-            if (element.getTypeSystem() != getTypeSystem())
-                throw new IllegalArgumentException("Cannot supply handles for types from another type system");
-            String handle = (String)_componentsToHandles.get(element);
-            if (handle == null)
-                handle = addUniqueHandle(element, NameUtil.upperCamelCase(element.getName().getLocalPart()) + "Element");
-            return handle;
-        }
-
-        String handleForAttribute(SchemaGlobalAttribute attribute)
-        {
-            if (attribute == null)
-                return null;
-            if (attribute.getTypeSystem() != getTypeSystem())
-                throw new IllegalArgumentException("Cannot supply handles for types from another type system");
-            String handle = (String)_componentsToHandles.get(attribute);
-            if (handle == null)
-                handle = addUniqueHandle(attribute, NameUtil.upperCamelCase(attribute.getName().getLocalPart()) + "Attribute");
-            return handle;
-        }
-
-        String handleForModelGroup(SchemaModelGroup group)
-        {
-            if (group == null)
-                return null;
-            if (group.getTypeSystem() != getTypeSystem())
-                throw new IllegalArgumentException("Cannot supply handles for types from another type system");
-            String handle = (String)_componentsToHandles.get(group);
-            if (handle == null)
-                handle = addUniqueHandle(group, NameUtil.upperCamelCase(group.getName().getLocalPart()) + "ModelGroup");
-            return handle;
-        }
-
-        String handleForAttributeGroup(SchemaAttributeGroup group)
-        {
-            if (group == null)
-                return null;
-            if (group.getTypeSystem() != getTypeSystem())
-                throw new IllegalArgumentException("Cannot supply handles for types from another type system");
-            String handle = (String)_componentsToHandles.get(group);
-            if (handle == null)
-                handle = addUniqueHandle(group, NameUtil.upperCamelCase(group.getName().getLocalPart()) + "AttributeGroup");
-            return handle;
-        }
-
-        String handleForIdentityConstraint(SchemaIdentityConstraint idc)
-        {
-            if (idc == null)
-                return null;
-            if (idc.getTypeSystem() != getTypeSystem())
-                throw new IllegalArgumentException("Cannot supply handles for types from another type system");
-            String handle = (String)_componentsToHandles.get(idc);
-            if (handle == null)
-                handle = addUniqueHandle(idc, NameUtil.upperCamelCase(idc.getName().getLocalPart()) + "IdentityConstraint");
-            return handle;
-        }
-
-        String handleForType(SchemaType type)
-        {
-            if (type == null)
-                return null;
-            if (type.getTypeSystem() != getTypeSystem())
-                throw new IllegalArgumentException("Cannot supply handles for types from another type system");
-            String handle = (String)_componentsToHandles.get(type);
-            if (handle == null)
-            {
-                QName name = type.getName();
-                String suffix = "";
-                if (name == null)
-                {
-                    if (type.isDocumentType())
-                    {
-                        name = type.getDocumentElementName();
-                        suffix = "Doc";
-                    }
-                    else if (type.isAttributeType())
-                    {
-                        name = type.getAttributeTypeAttributeName();
-                        suffix = "AttrType";
-                    }
-                    else if (type.getContainerField() != null)
-                    {
-                        name = type.getContainerField().getName();
-                        suffix = type.getContainerField().isAttribute() ? "Attr" : "Elem";
-                    }
-                }
-
-                String baseName;
-                String uniq = Integer.toHexString(type.toString().hashCode() | 0x80000000).substring(4).toUpperCase();
-                if (name == null)
-                    baseName = "Anon" + uniq + "Type";
-                else
-                    baseName = NameUtil.upperCamelCase(name.getLocalPart()) + uniq + suffix + "Type";
-
-                handle = addUniqueHandle(type, baseName);
-            }
-
-            return handle;
-        }
-
-        SchemaComponent.Ref refForHandle(String handle)
-        {
-            if (handle == null)
-                return null;
-
-            return (SchemaComponent.Ref)_handlesToRefs.get(handle);
-        }
-
-        Set getAllHandles()
-        {
-            return _handlesToRefs.keySet();
-        }
-
-        void startWriteMode()
-        {
-            _started = true;
-            _componentsToHandles = new LinkedHashMap();
-            for (Iterator i = _handlesToRefs.keySet().iterator(); i.hasNext(); )
-            {
-                String handle = (String)i.next();
-//                System.err.println("Writing preexisting handle " + handle);
-                SchemaComponent comp = ((SchemaComponent.Ref)_handlesToRefs.get(handle)).getComponent();
-                _componentsToHandles.put(comp, handle);
-            }
-        }
-
-    }
-
-    private String _name;
-    private String _basePackage;
-
-    // classloader is available for sts's that were compiled and loaded, not dynamic ones
-    private ClassLoader _classloader;
-
-    // the loader for loading .xsb resources
-    private ResourceLoader _resourceLoader;
-
-    // the following is used to link references during load
-    SchemaTypeLoader _linker;
-
-    private HandlePool _localHandles;
-    private File _baseSaveDir;
-
-    // actual type system data, map QNames -> SchemaComponent.Ref
-    private Map _redefinedModelGroups;
-    private Map _redefinedAttributeGroups;
-    private Map _redefinedGlobalTypes;
-
-    private Map _globalElements;
-    private Map _globalAttributes;
-    private Map _modelGroups;
-    private Map _attributeGroups;
-    private Map _globalTypes;
-    private Map _documentTypes;
-    private Map _attributeTypes;
-    private Map _identityConstraints = Collections.EMPTY_MAP;
-    private Map _typeRefsByClassname = new HashMap();
-    private Set _namespaces;
-
-    static private final SchemaType[] EMPTY_ST_ARRAY = new SchemaType[0];
-    static private final SchemaGlobalElement[] EMPTY_GE_ARRAY = new SchemaGlobalElement[0];
-    static private final SchemaGlobalAttribute[] EMPTY_GA_ARRAY = new SchemaGlobalAttribute[0];
-    static private final SchemaModelGroup[] EMPTY_MG_ARRAY = new SchemaModelGroup[0];
-    static private final SchemaAttributeGroup[] EMPTY_AG_ARRAY = new SchemaAttributeGroup[0];
-    static private final SchemaIdentityConstraint[] EMPTY_IC_ARRAY = new SchemaIdentityConstraint[0];
-
-    public void saveToDirectory(File classDir)
-    {
-        _baseSaveDir = classDir;
-
-        _localHandles.startWriteMode();
-        saveTypesRecursively(globalTypes());
-        saveTypesRecursively(documentTypes());
-        saveTypesRecursively(attributeTypes());
-        saveGlobalElements(globalElements());
-        saveGlobalAttributes(globalAttributes());
-        saveModelGroups(modelGroups());
-        saveAttributeGroups(attributeGroups());
-        saveIdentityConstraints(identityConstraints());
-
-        saveTypesRecursively(redefinedGlobalTypes());
-        saveModelGroups(redefinedModelGroups());
-        saveAttributeGroups(redefinedAttributeGroups());
-
-        saveIndex();
-        savePointers();
-    }
-
-    void saveTypesRecursively(SchemaType[] types)
-    {
-        for (int i = 0; i < types.length; i++)
-        {
-            if (types[i].getTypeSystem() != getTypeSystem())
-                continue;
-            saveType(types[i]);
-            saveTypesRecursively(types[i].getAnonymousTypes());
-        }
-    }
-
-    public void saveGlobalElements(SchemaGlobalElement[] elts)
-    {
-        for (int i = 0; i < elts.length; i++)
-        {
-            saveGlobalElement(elts[i]);
-        }
-    }
-
-    public void saveGlobalAttributes(SchemaGlobalAttribute[] attrs)
-    {
-        for (int i = 0; i < attrs.length; i++)
-        {
-            saveGlobalAttribute(attrs[i]);
-        }
-    }
-
-    public void saveModelGroups(SchemaModelGroup[] groups)
-    {
-        for (int i = 0; i < groups.length; i++)
-        {
-            saveModelGroup(groups[i]);
-        }
-    }
-
-    public void saveAttributeGroups(SchemaAttributeGroup[] groups)
-    {
-        for (int i = 0; i < groups.length; i++)
-        {
-            saveAttributeGroup(groups[i]);
-        }
-    }
-
-    public void saveIdentityConstraints(SchemaIdentityConstraint[] idcs)
-    {
-        for (int i = 0; i < idcs.length; i++)
-        {
-            saveIdentityConstraint(idcs[i]);
-        }
-    }
-
-    public void saveGlobalElement(SchemaGlobalElement elt)
-    {
-        String handle = _localHandles.handleForElement(elt);
-        XsbReader saver = new XsbReader(handle);
-        saver.writeParticleData((SchemaParticle)elt);
-        saver.writeString(elt.getSourceName());
-        saver.writeRealHeader(handle, FILETYPE_SCHEMAELEMENT);
-        saver.writeParticleData((SchemaParticle)elt);
-        saver.writeString(elt.getSourceName());
-        saver.writeEnd();
-    }
-
-    public void saveGlobalAttribute(SchemaGlobalAttribute attr)
-    {
-        String handle = _localHandles.handleForAttribute(attr);
-        XsbReader saver = new XsbReader(handle);
-        saver.writeAttributeData(attr);
-        saver.writeString(attr.getSourceName());
-        saver.writeRealHeader(handle, FILETYPE_SCHEMAATTRIBUTE);
-        saver.writeAttributeData(attr);
-        saver.writeString(attr.getSourceName());
-        saver.writeEnd();
-    }
-
-    public void saveModelGroup(SchemaModelGroup grp)
-    {
-        String handle = _localHandles.handleForModelGroup(grp);
-        XsbReader saver = new XsbReader(handle);
-        saver.writeModelGroupData(grp);
-        saver.writeRealHeader(handle, FILETYPE_SCHEMAMODELGROUP);
-        saver.writeModelGroupData(grp);
-        saver.writeEnd();
-    }
-
-    public void saveAttributeGroup(SchemaAttributeGroup grp)
-    {
-        String handle = _localHandles.handleForAttributeGroup(grp);
-        XsbReader saver = new XsbReader(handle);
-        saver.writeAttributeGroupData(grp);
-        saver.writeRealHeader(handle, FILETYPE_SCHEMAATTRIBUTEGROUP);
-        saver.writeAttributeGroupData(grp);
-        saver.writeEnd();
-    }
-
-    public void saveIdentityConstraint(SchemaIdentityConstraint idc)
-    {
-        String handle = _localHandles.handleForIdentityConstraint(idc);
-        XsbReader saver = new XsbReader(handle);
-        saver.writeIdConstraintData(idc);
-        saver.writeRealHeader(handle, FILETYPE_SCHEMAIDENTITYCONSTRAINT);
-        saver.writeIdConstraintData(idc);
-        saver.writeEnd();
-    }
-
-    void saveType(SchemaType type)
-    {
-        String handle = _localHandles.handleForType(type);
-        XsbReader saver = new XsbReader(handle);
-        saver.writeTypeData(type);
-        saver.writeRealHeader(handle, FILETYPE_SCHEMATYPE);
-        saver.writeTypeData(type);
-        saver.writeEnd();
-    }
-
-    public static String crackPointer(InputStream stream)
-    {
-        DataInputStream input = null;
-        try
-        {
-            input = new DataInputStream(stream);
-
-            int magic = input.readInt();
-            if (magic != DATA_BABE)
-                return null;
-
-            int majorver = input.readShort();
-            int minorver = input.readShort();
-
-            if (majorver != MAJOR_VERSION)
-                return null;
-
-            if (minorver > MINOR_VERSION)
-                return null;
-
-            if (majorver > 2 || majorver == 2 && minorver >= 18)
-                input.readShort(); // release number present in atLeast(2, 18, 0)
-
-            int actualfiletype = input.readShort();
-            if (actualfiletype != FILETYPE_SCHEMAPOINTER)
-                return null;
-
-            StringPool stringPool = new StringPool("pointer", "unk");
-            stringPool.readFrom(input);
-
-            return stringPool.stringForCode(input.readShort());
-        }
-        catch (IOException e)
-        {
-            return null;
-        }
-        finally
-        {
-            if (input != null)
-                try { input.close(); } catch (IOException e) {}
-        }
-    }
-
-    private class XsbReader
-    {
-        DataInputStream _input;
-        DataOutputStream _output;
-        StringPool _stringPool;
-        String _handle;
-        private int _majorver;
-        private int _minorver;
-        private int _releaseno;
-        int _actualfiletype;
-
-        public XsbReader(String handle, int filetype)
-        {
-            String resourcename = _basePackage + handle + ".xsb";
-            InputStream rawinput = getLoaderStream(resourcename);
-            if (rawinput == null)
-                throw new SchemaTypeLoaderException("XML-BEANS compiled schema: Could not locate compiled schema resource " + resourcename, _name, handle, SchemaTypeLoaderException.NO_RESOURCE);
-
-            _input = new DataInputStream(rawinput);
-            _handle = handle;
-
-            int magic = readInt();
-            if (magic != DATA_BABE)
-                throw new SchemaTypeLoaderException("XML-BEANS compiled schema: Wrong magic cookie", _name, handle, SchemaTypeLoaderException.WRONG_MAGIC_COOKIE);
-
-            _majorver = readShort();
-            _minorver = readShort();
-
-            if (_majorver != MAJOR_VERSION)
-                throw new SchemaTypeLoaderException("XML-BEANS compiled schema: Wrong major version - expecting " + MAJOR_VERSION + ", got " + _majorver, _name, handle, SchemaTypeLoaderException.WRONG_MAJOR_VERSION);
-
-            if (_minorver > MINOR_VERSION)
-                throw new SchemaTypeLoaderException("XML-BEANS compiled schema: Incompatible minor version - expecting up to " + MINOR_VERSION + ", got " + _minorver, _name, handle, SchemaTypeLoaderException.WRONG_MINOR_VERSION);
-
-            // Clip to 14 because we're not backward compatible with earlier
-            // minor versions.  Remove this when upgrading to a new major
-            // version
-
-            if (_minorver < 14)
-                throw new SchemaTypeLoaderException("XML-BEANS compiled schema: Incompatible minor version - expecting at least 14, got " + _minorver, _name, handle, SchemaTypeLoaderException.WRONG_MINOR_VERSION);
-
-            if (atLeast(2, 18, 0))
-                _releaseno = readShort();
-
-            int actualfiletype = readShort();
-            if (actualfiletype != filetype && filetype != -1)
-                throw new SchemaTypeLoaderException("XML-BEANS compiled schema: File has the wrong type - expecting type " + filetype + ", got type " + actualfiletype, _name, handle, SchemaTypeLoaderException.WRONG_FILE_TYPE);
-
-            _stringPool = new StringPool(_handle, _name);
-            _stringPool.readFrom(_input);
-
-            _actualfiletype = actualfiletype;
-        }
-
-        protected boolean atLeast(int majorver, int minorver, int releaseno)
-        {
-            if (_majorver > majorver)
-                return true;
-            if (_majorver < majorver)
-                return false;
-            if (_minorver > minorver)
-                return true;
-            if (_minorver < minorver)
-                return false;
-            return (_releaseno >= releaseno);
-        }
-
-        protected boolean atMost(int majorver, int minorver, int releaseno)
-        {
-            if (_majorver > majorver)
-                return false;
-            if (_majorver < majorver)
-                return true;
-            if (_minorver > minorver)
-                return false;
-            if (_minorver < minorver)
-                return true;
-            return (_releaseno <= releaseno);
-        }
-
-        int getActualFiletype()
-        {
-            return _actualfiletype;
-        }
-
-        XsbReader(String handle)
-        {
-            _handle = handle;
-            _stringPool = new StringPool(_handle, _name);
-        }
-
-        void writeRealHeader(String handle, int filetype)
-        {
-            // hackeroo: if handle contains a "/" it's not relative.
-            String resourcename;
-
-            if (handle.indexOf('/') >= 0)
-                resourcename = handle + ".xsb";
-            else
-                resourcename = _basePackage + handle + ".xsb";
-
-            OutputStream rawoutput = getSaverStream(resourcename);
-            if (rawoutput == null)
-                throw new SchemaTypeLoaderException("Could not write compiled schema resource " + resourcename, _name, handle, SchemaTypeLoaderException.NOT_WRITEABLE);
-
-            _output = new DataOutputStream(rawoutput);
-            _handle = handle;
-
-            writeInt(DATA_BABE);
-            writeShort(MAJOR_VERSION);
-            writeShort(MINOR_VERSION);
-            writeShort(RELEASE_NUMBER);
-            writeShort(filetype);
-
-            _stringPool.writeTo(_output);
-        }
-
-        void readEnd()
-        {
-            try
-            {
-                if (_input != null)
-                    _input.close();
-            }
-            catch (IOException e)
-            {
-                // oh, well.
-            }
-            _input = null;
-            _stringPool = null;
-            _handle = null;
-        }
-
-        void writeEnd()
-        {
-            try
-            {
-                if (_output != null)
-                {
-                    _output.flush();
-                    _output.close();
-                }
-            }
-            catch (IOException e)
-            {
-                throw new SchemaTypeLoaderException(e.getMessage(), _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION);
-            }
-            _output = null;
-            _stringPool = null;
-            _handle = null;
-        }
-
-        int fileTypeFromComponentType(int componentType)
-        {
-            switch (componentType)
-            {
-                case SchemaComponent.TYPE:
-                    return SchemaTypeSystemImpl.FILETYPE_SCHEMATYPE;
-                case SchemaComponent.ELEMENT:
-                    return SchemaTypeSystemImpl.FILETYPE_SCHEMAELEMENT;
-                case SchemaComponent.ATTRIBUTE:
-                    return SchemaTypeSystemImpl.FILETYPE_SCHEMAATTRIBUTE;
-                case SchemaComponent.MODEL_GROUP:
-                    return SchemaTypeSystemImpl.FILETYPE_SCHEMAMODELGROUP;
-                case SchemaComponent.ATTRIBUTE_GROUP:
-                    return SchemaTypeSystemImpl.FILETYPE_SCHEMAATTRIBUTEGROUP;
-                case SchemaComponent.IDENTITY_CONSTRAINT:
-                    return SchemaTypeSystemImpl.FILETYPE_SCHEMAIDENTITYCONSTRAINT;
-                default:
-                    throw new IllegalStateException("Unexpected component type");
-            }
-        }
-
-        void writeIndexData()
-        {
-            // has a handle pool (count, handle/type, handle/type...)
-            writeHandlePool(_localHandles);
-
-            // then a qname map of global elements (count, qname/handle, qname/handle...)
-            writeQNameMap(globalElements());
-
-            // qname map of global attributes
-            writeQNameMap(globalAttributes());
-
-            // qname map of model groups
-            writeQNameMap(modelGroups());
-
-            // qname map of attribute groups
-            writeQNameMap(attributeGroups());
-
-            // qname map of identity constraints
-            writeQNameMap(identityConstraints());
-
-            // qname map of global types
-            writeQNameMap(globalTypes());
-
-            // qname map of document types, by the qname of the contained element
-            writeDocumentTypeMap(documentTypes());
-
-            // qname map of attribute types, by the qname of the contained attribute
-            writeAttributeTypeMap(attributeTypes());
-
-            // all the types by classname
-            writeClassnameMap(_typeRefsByClassname);
-
-            // all the namespaces
-            writeNamespaces(_namespaces);
-
-            // VERSION 2.15 and newer below
-            writeQNameMap(redefinedGlobalTypes());
-            writeQNameMap(redefinedModelGroups());
-            writeQNameMap(redefinedAttributeGroups());
-        }
-
-        void writeHandlePool(HandlePool pool)
-        {
-            writeShort(pool._componentsToHandles.size());
-            for (Iterator i = pool._componentsToHandles.keySet().iterator(); i.hasNext(); )
-            {
-                SchemaComponent comp = (SchemaComponent)i.next();
-                String handle = (String)pool._componentsToHandles.get(comp);
-                int code = fileTypeFromComponentType(comp.getComponentType());
-                writeString(handle);
-                writeShort(code);
-            }
-        }
-
-        void readHandlePool(HandlePool pool)
-        {
-            if (pool._handlesToRefs.size() != 0 || pool._started)
-                throw new IllegalStateException("Nonempty handle set before read");
-
-            int size = readShort();
-            for (int i = 0; i < size; i++)
-            {
-                String handle = readString();
-                short code = readShort();
-                Object result;
-                switch (code)
-                {
-                    case FILETYPE_SCHEMATYPE:
-                        result = new SchemaType.Ref(getTypeSystem(), handle);
-                        break;
-                    case FILETYPE_SCHEMAELEMENT:
-                        result = new SchemaGlobalElement.Ref(getTypeSystem(), handle);
-                        break;
-                    case FILETYPE_SCHEMAATTRIBUTE:
-                        result = new SchemaGlobalAttribute.Ref(getTypeSystem(), handle);
-                        break;
-                    case FILETYPE_SCHEMAMODELGROUP:
-                        result = new SchemaModelGroup.Ref(getTypeSystem(), handle);
-                        break;
-                    case FILETYPE_SCHEMAATTRIBUTEGROUP:
-                        result = new SchemaAttributeGroup.Ref(getTypeSystem(), handle);
-                        break;
-                    case FILETYPE_SCHEMAIDENTITYCONSTRAINT:
-                        result = new SchemaIdentityConstraint.Ref(getTypeSystem(), handle);
-                        break;
-                    default:
-                        throw new SchemaTypeLoaderException("Schema index has an unrecognized entry of type " + code, _name, handle, SchemaTypeLoaderException.UNRECOGNIZED_INDEX_ENTRY);
-                }
-                pool._handlesToRefs.put(handle, result);
-            }
-        }
-
-        short readShort()
-        {
-            try
-            {
-                return _input.readShort();
-            }
-            catch (IOException e)
-            {
-                throw new SchemaTypeLoaderException(e.getMessage(), _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION);
-            }
-        }
-
-        void writeShort(int s)
-        {
-            if (s > Short.MAX_VALUE || s < Short.MIN_VALUE)
-                throw new SchemaTypeLoaderException("Value " + s + " out of range: must fit in a 16-bit short.", _name, _handle, SchemaTypeLoaderException.INT_TOO_LARGE);
-            if (_output != null)
-            {
-                try
-                {
-                    _output.writeShort(s);
-                }
-                catch (IOException e)
-                {
-                    throw new SchemaTypeLoaderException(e.getMessage(), _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION);
-                }
-            }
-        }
-
-        int readInt()
-        {
-            try
-            {
-                return _input.readInt();
-            }
-            catch (IOException e)
-            {
-                throw new SchemaTypeLoaderException(e.getMessage(), _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION);
-            }
-        }
-
-        void writeInt(int i)
-        {
-            if (_output != null)
-            {
-                try
-                {
-                    _output.writeInt(i);
-                }
-                catch (IOException e)
-                {
-                    throw new SchemaTypeLoaderException(e.getMessage(), _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION);
-                }
-            }
-        }
-
-        String readString()
-        {
-            return _stringPool.stringForCode(readShort());
-        }
-
-        void writeString(String str)
-        {
-            int code = _stringPool.codeForString(str);
-            writeShort(code);
-        }
-
-        QName readQName()
-        {
-            String namespace = readString();
-            String localname = readString();
-            if (localname == null)
-                return null;
-            return new QName(namespace, localname);
-        }
-
-        void writeQName(QName qname)
-        {
-            if (qname == null)
-            {
-                writeString(null);
-                writeString(null);
-                return;
-            }
-            writeString(qname.getNamespaceURI());
-            writeString(qname.getLocalPart());
-        }
-
-        SOAPArrayType readSOAPArrayType()
-        {
-            QName qName = readQName();
-            String dimensions = readString();
-            if (qName == null)
-                return null;
-            return new SOAPArrayType(qName, dimensions);
-        }
-
-        void writeSOAPArrayType(SOAPArrayType arrayType)
-        {
-            if (arrayType == null)
-            {
-                writeQName(null);
-                writeString(null);
-            }
-            else
-            {
-                writeQName(arrayType.getQName());
-                writeString(arrayType.soap11DimensionString());
-            }
-        }
-
-        SchemaComponent.Ref readHandle()
-        {
-            String handle = readString();
-            if (handle == null)
-                return null;
-
-            if (handle.charAt(0) != '_')
-                return _localHandles.refForHandle(handle);
-
-            switch (handle.charAt(2))
-            {
-                case 'I': // _BI_ - built-in schema type system
-                    return ((SchemaType)BuiltinSchemaTypeSystem.get().resolveHandle(handle)).getRef();
-                case 'T': // _XT_ - external type
-                    return _linker.findTypeRef(QNameHelper.forPretty(handle, 4));
-                case 'E': // _XE_ - external element
-                    return _linker.findElementRef(QNameHelper.forPretty(handle, 4));
-                case 'A': // _XA_ - external attribute
-                    return _linker.findAttributeRef(QNameHelper.forPretty(handle, 4));
-                case 'M': // _XM_ - external model group
-                    return _linker.findModelGroupRef(QNameHelper.forPretty(handle, 4));
-                case 'N': // _XN_ - external attribute group
-                    return _linker.findAttributeGroupRef(QNameHelper.forPretty(handle, 4));
-                case 'D': // _XD_ - external identity constraint
-                    return _linker.findIdentityConstraintRef(QNameHelper.forPretty(handle, 4));
-                case 'R': // _XR_ - external ref to attribute's type
-                    return _linker.findAttribute(QNameHelper.forPretty(handle, 4)).getType().getRef();
-                case 'S': // _XS_ - external ref to element's type
-                    return _linker.findElement(QNameHelper.forPretty(handle, 4)).getType().getRef();
-                default:
-                    throw new SchemaTypeLoaderException("Cannot resolve handle " + handle, _name, _handle, SchemaTypeLoaderException.BAD_HANDLE);
-            }
-        }
-
-        void writeHandle(SchemaComponent comp)
-        {
-            if (comp == null || comp.getTypeSystem() == getTypeSystem())
-            {
-                writeString(_localHandles.handleForComponent(comp));
-                return;
-            }
-
-            switch (comp.getComponentType())
-            {
-                case SchemaComponent.ATTRIBUTE:
-                    writeString("_XA_" + QNameHelper.pretty(comp.getName()));
-                    return;
-                case SchemaComponent.MODEL_GROUP:
-                    writeString("_XM_" + QNameHelper.pretty(comp.getName()));
-                    return;
-                case SchemaComponent.ATTRIBUTE_GROUP:
-                    writeString("_XN_" + QNameHelper.pretty(comp.getName()));
-                    return;
-                case SchemaComponent.ELEMENT:
-                    writeString("_XE_" + QNameHelper.pretty(comp.getName()));
-                    return;
-                case SchemaComponent.IDENTITY_CONSTRAINT:
-                    writeString("_XD_" + QNameHelper.pretty(comp.getName()));
-                    return;
-                case SchemaComponent.TYPE:
-                    SchemaType type = (SchemaType)comp;
-                    if (type.isBuiltinType())
-                    {
-                        writeString("_BI_" + type.getName().getLocalPart());
-                        return;
-                    }
-
-                    // fix for CR120759 - added output of types _XR_ & _XS_
-                    // when an attribute (_XR_) or element (_XS_) declaration
-                    // uses ref to refer to an attribute or element in another
-                    // schema and the type of that attribute or element
-                    // is an anonymous (local) type
-                    if (type.getName() != null)
-                    {
-                        writeString("_XT_" + QNameHelper.pretty(type.getName()));
-                    }
-                    else
-                    {
-                        SchemaField sf = type.getContainerField();
-                        assert (sf != null);
-                        if (sf.isAttribute())
-                        {
-                            writeString("_XR_" + QNameHelper.pretty(sf.getName()));
-                        }
-                        else
-                        {
-                            writeString("_XS_" + QNameHelper.pretty(sf.getName()));
-                        }
-                    }
-
-                    return;
-
-                default:
-                    assert(false);
-                    throw new SchemaTypeLoaderException("Cannot write handle for component " + comp, _name, _handle, SchemaTypeLoaderException.BAD_HANDLE);
-            }
-        }
-
-        SchemaType.Ref readTypeRef()
-        {
-            return (SchemaType.Ref)readHandle();
-        }
-
-        void writeType(SchemaType type)
-        {
-            writeHandle(type);
-        }
-
-        Map readQNameRefMap()
-        {
-            Map result = new HashMap();
-            int size = readShort();
-            for (int i = 0; i < size; i++)
-            {
-                QName name = readQName();
-                SchemaComponent.Ref obj = readHandle();
-                result.put(name, obj);
-            }
-            return result;
-        }
-
-        void writeQNameMap(SchemaComponent[] components)
-        {
-            writeShort(components.length);
-            for (int i = 0; i < components.length; i++)
-            {
-                writeQName(components[i].getName());
-                writeHandle(components[i]);
-            }
-        }
-
-        void writeDocumentTypeMap(SchemaType[] doctypes)
-        {
-            writeShort(doctypes.length);
-            for (int i = 0; i < doctypes.length; i++)
-            {
-                writeQName(doctypes[i].getDocumentElementName());
-                writeHandle(doctypes[i]);
-            }
-        }
-
-        void writeAttributeTypeMap(SchemaType[] attrtypes)
-        {
-            writeShort(attrtypes.length);
-            for (int i = 0; i < attrtypes.length; i++)
-            {
-                writeQName(attrtypes[i].getAttributeTypeAttributeName());
-                writeHandle(attrtypes[i]);
-            }
-        }
-
-        SchemaType.Ref[] readTypeRefArray()
-        {
-            int size = readShort();
-            SchemaType.Ref[] result = new SchemaType.Ref[size];
-            for (int i = 0; i < size; i++)
-            {
-                result[i] = readTypeRef();
-            }
-            return result;
-        }
-
-        void writeTypeArray(SchemaType[] array)
-        {
-            writeShort(array.length);
-            for (int i = 0; i < array.length; i++)
-            {
-                writeHandle(array[i]);
-            }
-        }
-
-        Map readClassnameRefMap()
-        {
-            Map result = new HashMap();
-            int size = readShort();
-            for (int i = 0; i < size; i++)
-            {
-                String name = readString();
-                SchemaComponent.Ref obj = readHandle();
-                result.put(name, obj);
-            }
-            return result;
-        }
-
-        void writeClassnameMap(Map typesByClass)
-        {
-            writeShort(typesByClass.size());
-            for (Iterator i = typesByClass.keySet().iterator(); i.hasNext(); )
-            {
-                String className = (String)i.next();
-                writeString(className);
-                writeHandle(((SchemaType.Ref)typesByClass.get(className)).get());
-            }
-        }
-
-        Set readNamespaces()
-        {
-            Set result = new HashSet();
-            int size = readShort();
-            for (int i = 0; i < size; i++)
-            {
-                String ns = readString();
-                result.add(ns);
-            }
-            return result;
-        }
-
-        void writeNamespaces(Set namespaces)
-        {
-            writeShort(namespaces.size());
-            for (Iterator i = namespaces.iterator(); i.hasNext(); )
-            {
-                String ns = (String)i.next();
-                writeString(ns);
-            }
-        }
-
-        OutputStream getSaverStream(String name)
-        {
-            File targetFile = new File(_baseSaveDir, name);
-            try
-            {
-                targetFile.getParentFile().mkdirs();
-                return new FileOutputStream(targetFile);
-            }
-            catch (IOException e)
-            {
-                throw new SchemaTypeLoaderException(e.getMessage(), _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION);
-            }
-        }
-
-        InputStream getLoaderStream(String resourcename)
-        {
-            return _resourceLoader.getResourceAsStream(resourcename);
-        }
-
-        /**
-         * Finishes loading an element after the header has already been loaded.
-         */
-        public SchemaGlobalElement finishLoadingElement()
-        {
-            String handle = null;
-            try
-            {
-                SchemaGlobalElementImpl impl = new SchemaGlobalElementImpl(getTypeSystem());
-                short particleType = readShort();
-                if (particleType != SchemaParticle.ELEMENT)
-                    throw new SchemaTypeLoaderException("Wrong particle type ", _name, _handle, SchemaTypeLoaderException.BAD_PARTICLE_TYPE);
-                loadParticle(impl, SchemaParticle.ELEMENT, true);
-                impl.setFilename(readString());
-                return impl;
-            }
-            catch (SchemaTypeLoaderException e)
-            {
-                throw e;
-            }
-            catch (Exception e)
-            {
-                throw new SchemaTypeLoaderException("Cannot load type from typesystem", _name, handle, SchemaTypeLoaderException.NESTED_EXCEPTION, e);
-            }
-            finally
-            {
-                readEnd();
-            }
-        }
-
-        public SchemaGlobalAttribute finishLoadingAttribute()
-        {
-            SchemaGlobalAttributeImpl impl = new SchemaGlobalAttributeImpl(getTypeSystem());
-            try
-            {
-                loadAttribute(impl);
-                impl.setFilename(readString());
-
-                return impl;
-            }
-            catch (SchemaTypeLoaderException e)
-            {
-                throw e;
-            }
-            catch (Exception e)
-            {
-                throw new SchemaTypeLoaderException("Cannot load type from typesystem", _name, _handle, SchemaTypeLoaderException.NESTED_EXCEPTION, e);
-            }
-            finally
-            {
-                readEnd();
-            }
-        }
-
-        SchemaModelGroup finishLoadingModelGroup()
-        {
-            SchemaModelGroupImpl impl = new SchemaModelGroupImpl(getTypeSystem());
-
-            try
-            {
-                loadModelGroup(impl);
-                return impl;
-            }
-            catch (SchemaTypeLoaderException e)
-            {
-                throw e;
-            }
-            catch (Exception e)
-            {
-                throw new SchemaTypeLoaderException("Cannot load type from typesystem", _name, _handle, SchemaTypeLoaderException.NESTED_EXCEPTION, e);
-            }
-            finally
-            {
-                readEnd();
-            }
-        }
-
-        SchemaIdentityConstraint finishLoadingIdentityConstraint()
-        {
-            try {
-                SchemaIdentityConstraintImpl impl = new SchemaIdentityConstraintImpl(getTypeSystem());
-                impl.setName(readQName());
-                impl.setConstraintCategory(readShort());
-                impl.setSelector(readString());
-
-                String[] fields = new String[readShort()];
-                for (int i = 0 ; i < fields.length ; i++)
-                    fields[i] = readString();
-                impl.setFields(fields);
-
-                if (impl.getConstraintCategory() == SchemaIdentityConstraint.CC_KEYREF)
-                    impl.setReferencedKey((SchemaIdentityConstraint.Ref)readHandle());
-
-                int mapCount = readShort();
-                Map nsMappings = new HashMap();
-                for (int i = 0 ; i < mapCount ; i++)
-                {
-                    String prefix = readString();
-                    String uri = readString();
-                    nsMappings.put(prefix, uri);
-                }
-                impl.setNSMap(nsMappings);
-
-                return impl;
-            }
-            catch (SchemaTypeLoaderException e)
-            {
-                throw e;
-            }
-            catch (Exception e)
-            {
-                throw new SchemaTypeLoaderException("Cannot load type from typesystem", _name, _handle, SchemaTypeLoaderException.NESTED_EXCEPTION, e);
-            }
-            finally
-            {
-                readEnd();
-            }
-        }
-
-        SchemaAttributeGroup finishLoadingAttributeGroup()
-        {
-            SchemaAttributeGroupImpl impl = new SchemaAttributeGroupImpl(getTypeSystem());
-
-            try
-            {
-                loadAttributeGroup(impl);
-                return impl;
-            }
-            catch (SchemaTypeLoaderException e)
-            {
-                throw e;
-            }
-            catch (Exception e)
-            {
-                throw new SchemaTypeLoaderException("Cannot load type from typesystem", _name, _handle, SchemaTypeLoaderException.NESTED_EXCEPTION, e);
-            }
-            finally
-            {
-                readEnd();
-            }
-        }
-
-        public SchemaType finishLoadingType()
-        {
-            try
-            {
-                SchemaTypeImpl impl = new SchemaTypeImpl(getTypeSystem(), true);
-                impl.setName(readQName());
-                impl.setOuterSchemaTypeRef(readTypeRef());
-                impl.setBaseDepth(readShort());
-                impl.setBaseTypeRef(readTypeRef());
-                impl.setDerivationType(readShort());
-
-                switch (readShort())
-                {
-                    case FIELD_GLOBAL:
-                        impl.setContainerFieldRef(readHandle());
-                        break;
-                    case FIELD_LOCALATTR:
-                        impl.setContainerFieldIndex((short)1, readShort());
-                        break;
-                    case FIELD_LOCALELT:
-                        impl.setContainerFieldIndex((short)2, readShort());
-                        break;
-                }
-                impl.setFullJavaName(readString());
-                impl.setFullJavaImplName(readString());
-
-                impl.setAnonymousTypeRefs(readTypeRefArray());
-
-                impl.setAnonymousUnionMemberOrdinal(readShort());
-
-                int flags;
-                flags = readInt();
-
-
-                boolean isComplexType = ((flags & FLAG_SIMPLE_TYPE) == 0);
-                impl.setCompiled((flags & FLAG_COMPILED) != 0);
-                impl.setDocumentType((flags & FLAG_DOCUMENT_TYPE) != 0);
-                impl.setAttributeType((flags & FLAG_ATTRIBUTE_TYPE) != 0);
-                impl.setSimpleType(!isComplexType);
-
-                short complexVariety = SchemaType.NOT_COMPLEX_TYPE;
-                if (isComplexType)
-                {
-                    impl.setAbstractFinal((flags & FLAG_ABSTRACT) != 0,
-                        (flags & FLAG_FINAL_EXT) != 0,
-                        (flags & FLAG_FINAL_REST) != 0,
-                        (flags & FLAG_FINAL_LIST) != 0,
-                        (flags & FLAG_FINAL_UNION) != 0);
-                    impl.setBlock((flags & FLAG_BLOCK_EXT) != 0,
-                        (flags & FLAG_BLOCK_REST) != 0);
-
-                    impl.setOrderSensitive((flags & FLAG_ORDER_SENSITIVE) != 0);
-                    complexVariety = readShort();
-                    impl.setComplexTypeVariety(complexVariety);
-
-                    // Attribute Model Table
-                    SchemaAttributeModelImpl attrModel = new SchemaAttributeModelImpl();
-
-                    short attrCount = readShort();
-                    for (int i = 0; i < attrCount; i++)
-                        attrModel.addAttribute(readAttributeData());
-
-                    attrModel.setWildcardSet(readQNameSet());
-                    attrModel.setWildcardProcess(readShort());
-
-                    // Attribute Property Table
-                    Map attrProperties = new LinkedHashMap();
-                    short attrPropCount = readShort();
-                    for (int i = 0; i < attrPropCount; i++)
-                    {
-                        SchemaProperty prop = readPropertyData();
-                        if (!prop.isAttribute())
-                            throw new SchemaTypeLoaderException("Attribute property " + i + " is not an attribute", _name, _handle, SchemaTypeLoaderException.WRONG_PROPERTY_TYPE);
-                        attrProperties.put(prop.getName(), prop);
-                    }
-
-                    SchemaParticle contentModel = null;
-                    Map elemProperties = null;
-                    short isAll = 0;
-
-                    if (complexVariety == SchemaType.ELEMENT_CONTENT || complexVariety == SchemaType.MIXED_CONTENT)
-                    {
-                        // Content Model Tree
-                        isAll = readShort();
-                        SchemaParticle[] parts = readParticleArray();
-                        if (parts.length == 1)
-                            contentModel = parts[0];
-                        else if (parts.length == 0)
-                            contentModel = null;
-                        else
-                            throw new SchemaTypeLoaderException("Content model not well-formed", _name, _handle, SchemaTypeLoaderException.MALFORMED_CONTENT_MODEL);
-
-                        // Element Property Table
-
-                        elemProperties = new LinkedHashMap();
-                        short elemPropCount = readShort();
-                        for (int i = 0; i < elemPropCount; i++)
-                        {
-                            SchemaProperty prop = readPropertyData();
-                            if (prop.isAttribute())
-                                throw new SchemaTypeLoaderException("Element property " + i + " is not an element", _name, _handle, SchemaTypeLoaderException.WRONG_PROPERTY_TYPE);
-                            elemProperties.put(prop.getName(), prop);
-                        }
-                    }
-
-                    impl.setContentModel(contentModel, attrModel, elemProperties, attrProperties, isAll == 1);
-                    StscComplexTypeResolver.WildcardResult wcElt = StscComplexTypeResolver.summarizeEltWildcards(contentModel);
-                    StscComplexTypeResolver.WildcardResult wcAttr = StscComplexTypeResolver.summarizeAttrWildcards(attrModel);
-                    impl.setWildcardSummary(wcElt.typedWildcards, wcElt.hasWildcards, wcAttr.typedWildcards, wcAttr.hasWildcards);
-                }
-
-                if (!isComplexType || complexVariety == SchemaType.SIMPLE_CONTENT)
-                {
-                    short simpleVariety = readShort();
-                    impl.setSimpleTypeVariety(simpleVariety);
-
-                    boolean isStringEnum = ((flags & FLAG_STRINGENUM) != 0);
-
-                    impl.setOrdered((flags & FLAG_ORDERED) != 0 ? SchemaType.UNORDERED : ((flags & FLAG_TOTAL_ORDER) != 0 ? SchemaType.TOTAL_ORDER : SchemaType.PARTIAL_ORDER));
-                    impl.setBounded((flags & FLAG_BOUNDED) != 0);
-                    impl.setFinite((flags & FLAG_FINITE) != 0);
-                    impl.setNumeric((flags & FLAG_NUMERIC) != 0);
-                    impl.setUnionOfLists((flags & FLAG_UNION_OF_LISTS) != 0);
-                    impl.setSimpleFinal((flags & FLAG_FINAL_REST) != 0,
-                        (flags & FLAG_FINAL_LIST) != 0,
-                        (flags & FLAG_FINAL_UNION) != 0);
-
-                    XmlValueRef[] facets = new XmlValueRef[SchemaType.LAST_FACET + 1];
-                    boolean[] fixedFacets = new boolean[SchemaType.LAST_FACET + 1];
-                    short facetCount = readShort();
-                    for (int i = 0; i < facetCount; i++)
-                    {
-                        short facetCode = readShort();
-                        facets[facetCode] = readXmlValueObject();
-                        fixedFacets[facetCode] = (readShort() == 1);
-                    }
-                    impl.setBasicFacets(facets, fixedFacets);
-
-                    impl.setWhiteSpaceRule(readShort());
-
-                    impl.setPatternFacet((flags & FLAG_HAS_PATTERN) != 0);
-
-                    short patternCount = readShort();
-                    org.apache.xmlbeans.impl.regex.RegularExpression[] patterns = new org.apache.xmlbeans.impl.regex.RegularExpression[patternCount];
-                    for (int i = 0; i < patternCount; i++)
-                    {
-                        patterns[i] = new org.apache.xmlbeans.impl.regex.RegularExpression(readString(), "X");
-                    }
-                    impl.setPatterns(patterns);
-
-                    short enumCount = readShort();
-                    XmlValueRef[] enumValues = new XmlValueRef[enumCount];
-                    for (int i = 0; i < enumCount; i++)
-                    {
-                        enumValues[i] = readXmlValueObject();
-                    }
-                    impl.setEnumerationValues(enumCount == 0 ? null : enumValues);
-
-                    impl.setBaseEnumTypeRef(readTypeRef());
-                    if (isStringEnum)
-                    {
-                        short seCount = readShort();
-                        SchemaStringEnumEntry[] entries = new SchemaStringEnumEntry[seCount];
-                        for (int i = 0; i < seCount; i++)
-                        {
-                            entries[i] = new SchemaStringEnumEntryImpl(readString(), readShort(), readString());
-                        }
-                        impl.setStringEnumEntries(entries);
-                    }
-
-                    switch (simpleVariety)
-                    {
-                        case SchemaType.ATOMIC:
-                            impl.setPrimitiveTypeRef(readTypeRef());
-                            impl.setDecimalSize(readInt());
-                            break;
-
-                        case SchemaType.LIST:
-                            impl.setPrimitiveTypeRef(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getRef());
-                            impl.setListItemTypeRef(readTypeRef());
-                            break;
-
-                        case SchemaType.UNION:
-                            impl.setPrimitiveTypeRef(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getRef());
-                            impl.setUnionMemberTypeRefs(readTypeRefArray());
-                            break;
-
-                        default:
-                            throw new SchemaTypeLoaderException("Simple type does not have a recognized variety", _name, _handle, SchemaTypeLoaderException.WRONG_SIMPLE_VARIETY);
-                    }
-                }
-
-                impl.setFilename(readString());
-
-                return impl;
-            }
-            catch (SchemaTypeLoaderException e)
-            {
-                throw e;
-            }
-            catch (Exception e)
-            {
-                throw new SchemaTypeLoaderException("Cannot load type from typesystem", _name, _handle, SchemaTypeLoaderException.NESTED_EXCEPTION, e);
-            }
-            finally
-            {
-                readEnd();
-            }
-        }
-
-        void writeTypeData(SchemaType type)
-        {
-            writeQName(type.getName());
-            writeType(type.getOuterType());
-            writeShort(((SchemaTypeImpl)type).getBaseDepth());
-            writeType(type.getBaseType());
-            writeShort(type.getDerivationType());
-            if (type.getContainerField() == null)
-            {
-                writeShort(FIELD_NONE);
-            }
-            else if (type.getOuterType().isAttributeType() || type.getOuterType().isDocumentType())
-            {
-                writeShort(FIELD_GLOBAL);
-                writeHandle((SchemaComponent)type.getContainerField());
-            }
-            else if (type.getContainerField().isAttribute())
-            {
-                writeShort(FIELD_LOCALATTR);
-                writeShort(((SchemaTypeImpl)type.getOuterType()).getIndexForLocalAttribute((SchemaLocalAttribute)type.getContainerField()));
-            }
-            else
-            {
-                writeShort(FIELD_LOCALELT);
-                writeShort(((SchemaTypeImpl)type.getOuterType()).getIndexForLocalElement((SchemaLocalElement)type.getContainerField()));
-            }
-            writeString(type.getFullJavaName());
-            writeString(type.getFullJavaImplName());
-            writeTypeArray(type.getAnonymousTypes());
-            writeShort(type.getAnonymousUnionMemberOrdinal());
-
-            int flags = 0;
-            if (type.isSimpleType())
-                flags |= FLAG_SIMPLE_TYPE;
-            if (type.isDocumentType())
-                flags |= FLAG_DOCUMENT_TYPE;
-            if (type.isAttributeType())
-                flags |= FLAG_ATTRIBUTE_TYPE;
-            if (type.ordered() != SchemaType.UNORDERED)
-                flags |= FLAG_ORDERED;
-            if (type.ordered() == SchemaType.TOTAL_ORDER)
-                flags |= FLAG_TOTAL_ORDER;
-            if (type.isBounded())
-                flags |= FLAG_BOUNDED;
-            if (type.isFinite())
-                flags |= FLAG_FINITE;
-            if (type.isNumeric())
-                flags |= FLAG_NUMERIC;
-            if (type.hasStringEnumValues())
-                flags |= FLAG_STRINGENUM;
-            if (((SchemaTypeImpl)type).isUnionOfLists())
-                flags |= FLAG_UNION_OF_LISTS;
-            if (type.hasPatternFacet())
-                flags |= FLAG_HAS_PATTERN;
-            if (type.isOrderSensitive())
-                flags |= FLAG_ORDER_SENSITIVE;
-
-            if (type.blockExtension())
-                flags |= FLAG_BLOCK_EXT;
-            if (type.blockRestriction())
-                flags |= FLAG_BLOCK_REST;
-            if (type.finalExtension())
-                flags |= FLAG_FINAL_EXT;
-            if (type.finalRestriction())
-                flags |= FLAG_FINAL_EXT;
-            if (type.finalList())
-                flags |= FLAG_FINAL_LIST;
-            if (type.finalUnion())
-                flags |= FLAG_FINAL_UNION;
-            if (type.isAbstract())
-                flags |= FLAG_ABSTRACT;
-
-            writeInt(flags);
-
-            if (!type.isSimpleType())
-            {
-                writeShort(type.getContentType());
-
-                // Attribute Model Table
-                SchemaAttributeModel attrModel = type.getAttributeModel();
-                SchemaLocalAttribute[] attrs = attrModel.getAttributes();
-
-                writeShort(attrs.length);
-                for (int i = 0; i < attrs.length; i++)
-                    writeAttributeData(attrs[i]);
-
-                writeQNameSet(attrModel.getWildcardSet());
-                writeShort(attrModel.getWildcardProcess());
-
-                // Attribute Property Table
-                SchemaProperty[] attrProperties = type.getAttributeProperties();
-                writeShort(attrProperties.length);
-                for (int i = 0; i < attrProperties.length; i++)
-                    writePropertyData(attrProperties[i]);
-
-                if (type.getContentType() == SchemaType.ELEMENT_CONTENT ||
-                    type.getContentType() == SchemaType.MIXED_CONTENT)
-                {
-                    // Content Model Tree
-                    writeShort(type.hasAllContent() ? 1 : 0);
-                    SchemaParticle[] parts;
-                    if (type.getContentModel() != null)
-                        parts = new SchemaParticle[] { type.getContentModel() };
-                    else
-                        parts = new SchemaParticle[0];
-
-                    writeParticleArray(parts);
-
-                    // Element Property Table
-                    SchemaProperty[] eltProperties = type.getElementProperties();
-                    writeShort(eltProperties.length);
-                    for (int i = 0; i < eltProperties.length; i++)
-                        writePropertyData(eltProperties[i]);
-                }
-            }
-
-            if (type.isSimpleType() || type.getContentType() == SchemaType.SIMPLE_CONTENT)
-            {
-                writeShort(type.getSimpleVariety());
-
-                int facetCount = 0;
-                for (int i = 0; i <= SchemaType.LAST_FACET; i++)
-                    if (type.getFacet(i) != null)
-                        facetCount++;
-                writeShort(facetCount);
-                for (int i = 0; i <= SchemaType.LAST_FACET; i++)
-                {
-                    XmlAnySimpleType facet = type.getFacet(i);
-                    if (facet != null)
-                    {
-                        writeShort(i);
-                        writeXmlValueObject(facet);
-                        writeShort(type.isFacetFixed(i) ? 1 : 0);
-                    }
-                }
-
-                writeShort(type.getWhiteSpaceRule());
-
-                org.apache.xmlbeans.impl.regex.RegularExpression[] patterns = ((SchemaTypeImpl)type).getPatternExpressions();
-                writeShort(patterns.length);
-                for (int i = 0; i < patterns.length; i++)
-                    writeString(patterns[i].getPattern());
-
-                XmlAnySimpleType[] enumValues = type.getEnumerationValues();
-                if (enumValues == null)
-                    writeShort(0);
-                else
-                {
-                    writeShort(enumValues.length);
-                    for (int i = 0; i < enumValues.length; i++)
-                        writeXmlValueObject(enumValues[i]);
-                }
-
-                // new for version 2.3
-                writeType(type.getBaseEnumType());
-                if (type.hasStringEnumValues())
-                {
-                    SchemaStringEnumEntry[] entries = type.getStringEnumEntries();
-                    writeShort(entries.length);
-                    for (int i = 0; i < entries.length; i++)
-                    {
-                        writeString(entries[i].getString());
-                        writeShort(entries[i].getIntValue());
-                        writeString(entries[i].getEnumName());
-                    }
-                }
-
-                switch (type.getSimpleVariety())
-                {
-                    case SchemaType.ATOMIC:
-                        writeType(type.getPrimitiveType());
-                        writeInt(type.getDecimalSize());
-                        break;
-
-                    case SchemaType.LIST:
-                        writeType(type.getListItemType());
-                        break;
-
-                    case SchemaType.UNION:
-                        writeTypeArray(type.getUnionMemberTypes());
-                        break;
-                }
-            }
-
-            writeString(type.getSourceName());
-        }
-
-        void readExtensionsList()
-        {
-            int count = readShort();
-            assert count == 0;
-
-            for (int i = 0; i < count; i++)
-            {
-                readString();
-                readString();
-                readString();
-            }
-        }
-
-        SchemaLocalAttribute readAttributeData()
-        {
-            SchemaLocalAttributeImpl result = new SchemaLocalAttributeImpl();
-            loadAttribute(result);
-            return result;
-        }
-
-        void loadModelGroup(SchemaModelGroupImpl result)
-        {
-            try
-            {
-                result.init(readQName(), readString(), readShort() == 1, atLeast(2, 15, 0) ? readShort() == 1 : false, GroupDocument.Factory.parse( readString() ).getGroup());
-            }
-            catch ( XmlException e )
-            {
-                throw new RuntimeException( e.getMessage(), e );
-            }
-        }
-
-        void loadAttributeGroup(SchemaAttributeGroupImpl result)
-        {
-            try
-            {
-                result.init( readQName(), readString(), readShort() == 1, atLeast(2, 15, 0) ? readShort() == 1 : false, AttributeGroupDocument.Factory.parse( readString() ).getAttributeGroup());
-            }
-            catch ( XmlException e )
-            {
-                throw new RuntimeException( e.getMessage(), e );
-            }
-        }
-
-        void loadAttribute(SchemaLocalAttributeImpl result)
-        {
-            // name, type, use, deftext, defval, fixed, soaparraytype
-            result.init(readQName(), readTypeRef(), readShort(), readString(), null, atLeast(2, 16, 0) ? readXmlValueObject() : null, readShort() == 1, readSOAPArrayType());
-        }
-
-        void writeAttributeData(SchemaLocalAttribute attr)
-        {
-            writeQName(attr.getName());
-            writeType(attr.getType());
-            writeShort(attr.getUse());
-            writeString(attr.getDefaultText());
-            writeXmlValueObject(attr.getDefaultValue());
-            writeShort(attr.isFixed() ? 1 : 0);
-            writeSOAPArrayType(((SchemaWSDLArrayType)attr).getWSDLArrayType());
-        }
-
-        void writeIdConstraintData(SchemaIdentityConstraint idc)
-        {
-            writeQName(idc.getName());
-            writeShort(idc.getConstraintCategory());
-            writeString(idc.getSelector());
-
-            String[] fields = idc.getFields();
-            writeShort(fields.length);
-            for (int i = 0 ; i < fields.length ; i++)
-                writeString(fields[i]);
-
-
-            if (idc.getConstraintCategory() == SchemaIdentityConstraint.CC_KEYREF)
-                writeHandle(idc.getReferencedKey());
-
-            Set mappings = idc.getNSMap().entrySet();
-            writeShort(mappings.size());
-            for (Iterator it = mappings.iterator() ; it.hasNext() ; ) {
-                Map.Entry e = (Map.Entry)it.next();
-                String prefix = (String)e.getKey();
-                String uri = (String)e.getValue();
-
-                writeString(prefix);
-                writeString(uri);
-            }
-
-        }
-
-        SchemaParticle[] readParticleArray()
-        {
-            SchemaParticle[] result = new SchemaParticle[readShort()];
-            for (int i = 0; i < result.length; i++)
-                result[i] = readParticleData();
-            return result;
-        }
-
-        void writeParticleArray(SchemaParticle[] spa)
-        {
-            writeShort(spa.length);
-            for (int i = 0; i < spa.length; i++)
-                writeParticleData(spa[i]);
-        }
-
-        SchemaParticle readParticleData()
-        {
-            short particleType = readShort();
-            SchemaParticleImpl result;
-            if (particleType != SchemaParticle.ELEMENT)
-                result = new SchemaParticleImpl();
-            else
-                result = new SchemaLocalElementImpl();
-            loadParticle(result, particleType, false);
-            return result;
-        }
-
-        void loadParticle(SchemaParticleImpl result, int particleType, boolean global)
-        {
-            short particleFlags = readShort();
-
-            result.setParticleType(particleType);
-            result.setMinOccurs(readBigInteger());
-            result.setMaxOccurs(readBigInteger());
-
-            result.setTransitionRules(readQNameSet(),
-                                      (particleFlags & FLAG_PART_SKIPPABLE) != 0);
-
-            switch (particleType)
-            {
-                case SchemaParticle.WILDCARD:
-                    result.setWildcardSet(readQNameSet());
-                    result.setWildcardProcess(readShort());
-                    break;
-
-                case SchemaParticle.ELEMENT:
-                    SchemaLocalElementImpl lresult = (SchemaLocalElementImpl)result;
-                    lresult.setNameAndTypeRef(readQName(), readTypeRef());
-                    lresult.setDefault(readString(), (particleFlags & FLAG_PART_FIXED) != 0, null);
-                    if (atLeast(2, 16, 0))
-                        lresult.setDefaultValue(readXmlValueObject());
-                    lresult.setNillable((particleFlags & FLAG_PART_NILLABLE) != 0);
-                    lresult.setBlock((particleFlags & FLAG_PART_BLOCKEXT) != 0,
-                                     (particleFlags & FLAG_PART_BLOCKREST) != 0,
-                                     (particleFlags & FLAG_PART_BLOCKSUBST) != 0);
-                    lresult.setWsdlArrayType(readSOAPArrayType());
-                    lresult.setAbstract((particleFlags & FLAG_PART_ABSTRACT) != 0);
-                    if (global)
-                    {
-                        SchemaGlobalElementImpl gresult = (SchemaGlobalElementImpl)lresult;
-                        gresult.setFinal(
-                                     (particleFlags & FLAG_PART_FINALEXT) != 0,
-                                     (particleFlags & FLAG_PART_FINALREST) != 0);
-
-                        if (atLeast(2, 17, 0))
-                            gresult.setSubstitutionGroup((SchemaGlobalElement.Ref)readHandle());
-
-                        short substGroupCount = readShort();
-                        for (int i = 0; i < substGroupCount; i++)
-                        {
-                            gresult.addSubstitutionGroupMember(readQName());
-                        }
-                    }
-
-                    SchemaIdentityConstraint.Ref[] idcs = new SchemaIdentityConstraint.Ref[readShort()];
-
-                    for (int i = 0 ; i < idcs.length ; i++)
-                        idcs[i] = (SchemaIdentityConstraint.Ref)readHandle();
-
-                    lresult.setIdentityConstraints(idcs);
-
-                    break;
-
-                case SchemaParticle.ALL:
-                case SchemaParticle.SEQUENCE:
-                case SchemaParticle.CHOICE:
-                    result.setParticleChildren(readParticleArray());
-                    break;
-
-                default:
-                    throw new SchemaTypeLoaderException("Unrecognized particle type ", _name, _handle, SchemaTypeLoaderException.BAD_PARTICLE_TYPE);
-            }
-        }
-
-        void writeParticleData(SchemaParticle part)
-        {
-            writeShort(part.getParticleType());
-            short flags = 0;
-            if (part.isSkippable())
-                flags |= FLAG_PART_SKIPPABLE;
-            if (part.getParticleType() == SchemaParticle.ELEMENT)
-            {
-                SchemaLocalElement lpart = (SchemaLocalElement)part;
-                if (lpart.isFixed())
-                    flags |= FLAG_PART_FIXED;
-                if (lpart.isNillable())
-                    flags |= FLAG_PART_NILLABLE;
-                if (lpart.blockExtension())
-                    flags |= FLAG_PART_BLOCKEXT;
-                if (lpart.blockRestriction())
-                    flags |= FLAG_PART_BLOCKREST;
-                if (lpart.blockSubstitution())
-                    flags |= FLAG_PART_BLOCKSUBST;
-                if (lpart.isAbstract())
-                    flags |= FLAG_PART_ABSTRACT;
-
-                if (lpart instanceof SchemaGlobalElement)
-                {
-                    SchemaGlobalElement gpart = (SchemaGlobalElement)lpart;
-                    if (gpart.finalExtension())
-                        flags |= FLAG_PART_FINALEXT;
-                    if (gpart.finalRestriction())
-                        flags |= FLAG_PART_FINALREST;
-                }
-            }
-            writeShort(flags);
-            writeBigInteger(part.getMinOccurs());
-            writeBigInteger(part.getMaxOccurs());
-            writeQNameSet(part.acceptedStartNames());
-
-            switch (part.getParticleType())
-            {
-                case SchemaParticle.WILDCARD:
-                    writeQNameSet(part.getWildcardSet());
-                    writeShort(part.getWildcardProcess());
-                    break;
-
-                case SchemaParticle.ELEMENT:
-                    SchemaLocalElement lpart = (SchemaLocalElement)part;
-                    writeQName(lpart.getName());
-                    writeType(lpart.getType());
-                    writeString(lpart.getDefaultText());
-                    writeXmlValueObject(lpart.getDefaultValue());
-                    writeSOAPArrayType(((SchemaWSDLArrayType)lpart).getWSDLArrayType());
-                    if (lpart instanceof SchemaGlobalElement)
-                    {
-                        SchemaGlobalElement gpart = (SchemaGlobalElement)lpart;
-
-                        writeHandle(gpart.substitutionGroup());
-
-                        QName[] substGroupMembers = gpart.substitutionGroupMembers();
-                        writeShort(substGroupMembers.length);
-                        for (int i = 0; i < substGroupMembers.length; i++)
-                            writeQName(substGroupMembers[i]);
-                    }
-
-                    SchemaIdentityConstraint[] idcs = lpart.getIdentityConstraints();
-
-                    writeShort(idcs.length);
-                    for (int i = 0 ; i < idcs.length ; i++)
-                        writeHandle(idcs[i]);
-
-                    break;
-
-                case SchemaParticle.ALL:
-                case SchemaParticle.SEQUENCE:
-                case SchemaParticle.CHOICE:
-                    writeParticleArray(part.getParticleChildren());
-                    break;
-
-                default:
-                    throw new SchemaTypeLoaderException("Unrecognized particle type ", _name, _handle, SchemaTypeLoaderException.BAD_PARTICLE_TYPE);
-            }
-        }
-
-        SchemaProperty readPropertyData()
-        {
-            SchemaPropertyImpl prop = new SchemaPropertyImpl();
-            prop.setName(readQName());
-            prop.setTypeRef(readTypeRef());
-            short propflags = readShort();
-            prop.setAttribute((propflags & FLAG_PROP_ISATTR) != 0);
-            prop.setContainerTypeRef(readTypeRef());
-            prop.setMinOccurs(readBigInteger());
-            prop.setMaxOccurs(readBigInteger());
-            prop.setNillable(readShort());
-            prop.setDefault(readShort());
-            prop.setFixed(readShort());
-            prop.setDefaultText(readString());
-
-            prop.setJavaPropertyName(readString());
-            prop.setJavaTypeCode(readShort());
-            prop.setExtendsJava(readTypeRef(),
-                    (propflags & FLAG_PROP_JAVASINGLETON) != 0,
-                    (propflags & FLAG_PROP_JAVAOPTIONAL) != 0,
-                    (propflags & FLAG_PROP_JAVAARRAY) != 0);
-            prop.setJavaSetterDelimiter(readQNameSet());
-            if (atLeast(2, 16, 0))
-                prop.setDefaultValue(readXmlValueObject());
-
-            if (!prop.isAttribute() && atLeast(2, 17, 0))
-            {
-                short size = readShort();
-                LinkedHashSet qnames = new LinkedHashSet(size);
-                for (int i = 0 ; i < size ; i++)
-                    qnames.add(readQName());
-                prop.setAcceptedNames(qnames);
-            }
-            prop.setImmutable();
-            return prop;
-        }
-
-        void writePropertyData(SchemaProperty prop)
-        {
-            writeQName(prop.getName());
-            writeType(prop.getType());
-            writeShort((prop.isAttribute() ? FLAG_PROP_ISATTR : 0) |
-                       (prop.extendsJavaSingleton() ? FLAG_PROP_JAVASINGLETON : 0) |
-                       (prop.extendsJavaOption() ? FLAG_PROP_JAVAOPTIONAL : 0) |
-                       (prop.extendsJavaArray() ? FLAG_PROP_JAVAARRAY : 0));
-            writeType(prop.getContainerType());
-            writeBigInteger(prop.getMinOccurs());
-            writeBigInteger(prop.getMaxOccurs());
-            writeShort(prop.hasNillable());
-            writeShort(prop.hasDefault());
-            writeShort(prop.hasFixed());
-            writeString(prop.getDefaultText());
-
-            writeString(prop.getJavaPropertyName());
-            writeShort(prop.getJavaTypeCode());
-            writeType(prop.javaBasedOnType());
-            writeQNameSet(prop.getJavaSetterDelimiter());
-            writeXmlValueObject(prop.getDefaultValue());
-
-            if (! prop.isAttribute())
-            {
-                QName[] names = prop.acceptedNames();
-                writeShort(names.length);
-                for (int i = 0 ; i < names.length ; i++)
-                    writeQName(names[i]);
-            }
-        }
-
-        void writeModelGroupData(SchemaModelGroup grp)
-        {
-            SchemaModelGroupImpl impl = (SchemaModelGroupImpl)grp;
-            writeQName(impl.getName());
-            writeString(impl.getTargetNamespace());
-            writeShort(impl.getChameleonNamespace() != null ? 1 : 0);
-            writeShort(impl.isRedefinition() ? 1 : 0); // new for version 2.15
-            writeString(impl.getParseObject().xmlText(new XmlOptions().setSaveOuter()));
-        }
-
-        void writeAttributeGroupData(SchemaAttributeGroup grp)
-        {
-            SchemaAttributeGroupImpl impl = (SchemaAttributeGroupImpl)grp;
-            writeQName(impl.getName());
-            writeString(impl.getTargetNamespace());
-            writeShort(impl.getChameleonNamespace() != null ? 1 : 0);
-            writeShort(impl.isRedefinition() ? 1 : 0); // new for version 2.15
-            writeString(impl.getParseObject().xmlText(new XmlOptions().setSaveOuter()));
-        }
-
-        XmlValueRef readXmlValueObject()
-        {
-            SchemaType.Ref typeref = readTypeRef();
-            if (typeref == null)
-                return null;
-            int btc = readShort();
-            switch (btc)
-            {
-                default:
-                    assert(false);
-                case 0:
-                    return new XmlValueRef(typeref, null);
-                case -1:
-                    {
-                        int size = readShort();
-                        List values = new ArrayList();
-                        writeShort(values.size());
-                        for (int i = 0; i < size; i++)
-                        {
-                            values.add(readXmlValueObject());
-                        }
-                        return new XmlValueRef(typeref, values);
-                    }
-
-
-                case SchemaType.BTC_ANY_SIMPLE:
-                case SchemaType.BTC_ANY_URI:
-                case SchemaType.BTC_STRING:
-                case SchemaType.BTC_DURATION:
-                case SchemaType.BTC_DATE_TIME:
-                case SchemaType.BTC_TIME:
-                case SchemaType.BTC_DATE:
-                case SchemaType.BTC_G_YEAR_MONTH:
-                case SchemaType.BTC_G_YEAR:
-                case SchemaType.BTC_G_MONTH_DAY:
-                case SchemaType.BTC_G_DAY:
-                case SchemaType.BTC_G_MONTH:
-                case SchemaType.BTC_DECIMAL:
-                case SchemaType.BTC_BOOLEAN:
-                    return new XmlValueRef(typeref, readString());
-
-                case SchemaType.BTC_BASE_64_BINARY:
-                case SchemaType.BTC_HEX_BINARY:
-                    return new XmlValueRef(typeref, readByteArray());
-
-                case SchemaType.BTC_QNAME:
-                case SchemaType.BTC_NOTATION:
-                    return new XmlValueRef(typeref, readQName());
-
-                case SchemaType.BTC_FLOAT:
-                case SchemaType.BTC_DOUBLE:
-                    return new XmlValueRef(typeref, new Double(readDouble()));
-            }
-        }
-
-        void writeXmlValueObject(XmlAnySimpleType value)
-        {
-            SchemaType type = value == null ? null : value.schemaType();
-            writeType(type);
-            if (type == null)
-                return;
-
-            SchemaType iType = ((SimpleValue)value).instanceType();
-            if (iType == null)
-            {
-                writeShort(0);
-            }
-            else if (iType.getSimpleVariety() == SchemaType.LIST)
-            {
-                writeShort(-1);
-                List values = ((XmlObjectBase)value).xgetListValue();
-                writeShort(values.size());
-                for (Iterator i = values.iterator(); i.hasNext(); )
-                {
-                    writeXmlValueObject((XmlAnySimpleType)i.next());
-                }
-            }
-            else
-            {
-                int btc = iType.getPrimitiveType().getBuiltinTypeCode();
-                writeShort(btc);
-                switch (btc)
-                {
-                    case SchemaType.BTC_ANY_SIMPLE:
-                    case SchemaType.BTC_ANY_URI:
-                    case SchemaType.BTC_STRING:
-                    case SchemaType.BTC_DURATION:
-                    case SchemaType.BTC_DATE_TIME:
-                    case SchemaType.BTC_TIME:
-                    case SchemaType.BTC_DATE:
-                    case SchemaType.BTC_G_YEAR_MONTH:
-                    case SchemaType.BTC_G_YEAR:
-                    case SchemaType.BTC_G_MONTH_DAY:
-                    case SchemaType.BTC_G_DAY:
-                    case SchemaType.BTC_G_MONTH:
-                    case SchemaType.BTC_DECIMAL:
-                    case SchemaType.BTC_BOOLEAN:
-                        writeString(value.getStringValue());
-                        break;
-
-                    case SchemaType.BTC_BASE_64_BINARY:
-                    case SchemaType.BTC_HEX_BINARY:
-                        writeByteArray(((SimpleValue)value).getByteArrayValue());
-                        break;
-
-                    case SchemaType.BTC_QNAME:
-                    case SchemaType.BTC_NOTATION:
-                        writeQName(((SimpleValue)value).getQNameValue());
-                        break;
-
-                    case SchemaType.BTC_FLOAT:
-                        writeDouble(((SimpleValue)value).getFloatValue());
-                        break;
-
-                    case SchemaType.BTC_DOUBLE:
-                        writeDouble(((SimpleValue)value).getDoubleValue());
-                        break;
-                }
-            }
-        }
-
-        double readDouble()
-        {
-            try
-            {
-                return _input.readDouble();
-            }
-            catch (IOException e)
-            {
-                throw new SchemaTypeLoaderException(e.getMessage(), _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION);
-            }
-        }
-
-        void writeDouble(double d)
-        {
-            if (_output != null)
-            {
-                try
-                {
-                    _output.writeDouble(d);
-                }
-                catch (IOException e)
-                {
-                    throw new SchemaTypeLoaderException(e.getMessage(), _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION);
-                }
-            }
-        }
-
-        QNameSet readQNameSet()
-        {
-            short flag = readShort();
-
-            Set uriSet = new HashSet();
-            short uriCount = readShort();
-            for (int i = 0; i < uriCount; i++)
-                uriSet.add(readString());
-
-            Set qnameSet1 = new HashSet();
-            short qncount1 = readShort();
-            for (int i = 0; i < qncount1; i++)
-                qnameSet1.add(readQName());
-
-            Set qnameSet2 = new HashSet();
-            short qncount2 = readShort();
-            for (int i = 0; i < qncount2; i++)
-                qnameSet2.add(readQName());
-
-            if (flag == 1)
-                return QNameSet.forSets(uriSet, null, qnameSet1, qnameSet2);
-            else
-                return QNameSet.forSets(null, uriSet, qnameSet2, qnameSet1);
-        }
-
-        void writeQNameSet(QNameSet set)
-        {
-            boolean invert = (set.excludedURIs() != null);
-            writeShort(invert ? 1 : 0);
-
-            Set uriSet = invert ? set.excludedURIs() : set.includedURIs();
-            writeShort(uriSet.size());
-            for (Iterator i = uriSet.iterator(); i.hasNext(); )
-                writeString((String)i.next());
-
-            Set qnameSet1 = invert ? set.excludedQNamesInIncludedURIs() : set.includedQNamesInExcludedURIs();
-            writeShort(qnameSet1.size());
-            for (Iterator i = qnameSet1.iterator(); i.hasNext(); )
-                writeQName((QName)i.next());
-
-            Set qnameSet2 = invert ? set.includedQNamesInExcludedURIs() : set.excludedQNamesInIncludedURIs();
-            writeShort(qnameSet2.size());
-            for (Iterator i = qnameSet2.iterator(); i.hasNext(); )
-                writeQName((QName)i.next());
-        }
-
-        byte[] readByteArray()
-        {
-            try
-            {
-                short len = _input.readShort();
-                byte[] result = new byte[len];
-                _input.readFully(result);
-                return result;
-            }
-            catch (IOException e)
-            {
-                throw new SchemaTypeLoaderException(e.getMessage(), _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION);
-            }
-        }
-
-        void writeByteArray(byte[] ba)
-        {
-            try
-            {
-                writeShort(ba.length);
-                if (_output != null)
-                    _output.write(ba);
-            }
-            catch (IOException e)
-            {
-                throw new SchemaTypeLoaderException(e.getMessage(), _name, _handle, SchemaTypeLoaderException.IO_EXCEPTION);
-            }
-        }
-
-        BigInteger readBigInteger()
-        {
-            byte[] result = readByteArray();
-            if (result.length == 0)
-                return null;
-            if (result.length == 1 && result[0] == 0)
-                return BigInteger.ZERO;
-            if (result.length == 1 && result[0] == 1)
-                return BigInteger.ONE;
-            return new BigInteger(result);
-        }
-
-        void writeBigInteger(BigInteger bi)
-        {
-            if (bi == null)
-            {
-                writeShort(0);
-            }
-            else if (bi.signum() == 0)
-            {
-                writeByteArray(SINGLE_ZERO_BYTE);
-            }
-            else
-            {
-                writeByteArray(bi.toByteArray());
-            }
-        }
-
-    }
-
-    static final byte[] SINGLE_ZERO_BYTE = new byte[] { (byte)0 };
-
-    public SchemaType typeForHandle(String handle)
-    {
-        synchronized (_resolvedHandles)
-        {
-            return (SchemaType)_resolvedHandles.get(handle);
-        }
-    }
-
-    public SchemaType typeForClassname(String classname)
-    {
-        SchemaType.Ref ref = (SchemaType.Ref)_typeRefsByClassname.get(classname);
-        return (ref != null) ? ref.get() : null;
-    }
-
-    public SchemaComponent resolveHandle(String handle)
-    {
-        SchemaComponent result;
-
-        synchronized (_resolvedHandles)
-        {
-            result = (SchemaComponent)_resolvedHandles.get(handle);
-        }
-        if (result == null)
-        {
-            XsbReader reader = new XsbReader(handle, -1);
-            int filetype = reader.getActualFiletype();
-            switch (filetype)
-            {
-                case FILETYPE_SCHEMATYPE:
-                    XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Resolving type for handle " + handle, 0);
-                    result = reader.finishLoadingType();
-                    break;
-                case FILETYPE_SCHEMAELEMENT:
-                    XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Resolving element for handle " + handle, 0);
-                    result = reader.finishLoadingElement();
-                    break;
-                case FILETYPE_SCHEMAATTRIBUTE:
-                    XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Resolving attribute for handle " + handle, 0);
-                    result = reader.finishLoadingAttribute();
-                    break;
-                case FILETYPE_SCHEMAMODELGROUP:
-                    XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Resolving model group for handle " + handle, 0);
-                    result = reader.finishLoadingModelGroup();
-                    break;
-                case FILETYPE_SCHEMAATTRIBUTEGROUP:
-                    XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Resolving attribute group for handle " + handle, 0);
-                    result = reader.finishLoadingAttributeGroup();
-                    break;
-                case FILETYPE_SCHEMAIDENTITYCONSTRAINT:
-                    XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Resolving id constraint for handle " + handle, 0);
-                    result = reader.finishLoadingIdentityConstraint();
-                    break;
-                default:
-                    throw new IllegalStateException("Illegal handle type");
-            }
-
-            synchronized (_resolvedHandles)
-            {
-                if (!_resolvedHandles.containsKey(handle))
-                    _resolvedHandles.put(handle, result);
-                else
-                    result = (SchemaComponent)_resolvedHandles.get(handle);
-            }
-        }
-        return result;
-    }
-
-    private final Map _resolvedHandles = new HashMap();
-    private boolean _allNonGroupHandlesResolved = false;
-
-    public void resolve()
-    {
-        XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Resolve called type system " + _name, 0);
-        if (_allNonGroupHandlesResolved)
-            return;
-
-        XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Resolving all handles for type system " + _name, 1);
-
-        List refs = new ArrayList();
-        refs.addAll(_globalElements.values());
-        refs.addAll(_globalAttributes.values());
-        refs.addAll(_globalTypes.values());
-        refs.addAll(_documentTypes.values());
-        refs.addAll(_attributeTypes.values());
-        refs.addAll(_identityConstraints.values());
-
-        for (Iterator i = refs.iterator(); i.hasNext(); )
-        {
-            SchemaComponent.Ref ref = (SchemaComponent.Ref)i.next();
-            ref.getComponent(); // Forces ref to be resolved
-        }
-
-        XBeanDebug.trace(XBeanDebug.TRACE_SCHEMA_LOADING, "Finished resolving type system " + _name, -1);
-        _allNonGroupHandlesResolved = true;
-    }
-
-
-    public boolean isNamespaceDefined(String namespace)
-    {
-        return _namespaces.contains(namespace);
-    }
-
-    public SchemaType.Ref findTypeRef(QName name)
-    {
-        return (SchemaType.Ref)_globalTypes.get(name);
-    }
-
-    public SchemaType.Ref findDocumentTypeRef(QName name)
-    {
-        return (SchemaType.Ref)_documentTypes.get(name);
-    }
-
-    public SchemaType.Ref findAttributeTypeRef(QName name)
-    {
-        return (SchemaType.Ref)_attributeTypes.get(name);
-    }
-
-    public SchemaGlobalElement.Ref findElementRef(QName name)
-    {
-        return (SchemaGlobalElement.Ref)_globalElements.get(name);
-    }
-
-    public SchemaGlobalAttribute.Ref findAttributeRef(QName name)
-    {
-        return (SchemaGlobalAttribute.Ref)_globalAttributes.get(name);
-    }
-
-    public SchemaModelGroup.Ref findModelGroupRef(QName name)
-    {
-        return (SchemaModelGroup.Ref)_modelGroups.get(name);
-    }
-
-    public SchemaAttributeGroup.Ref findAttributeGroupRef(QName name)
-    {
-        return (SchemaAttributeGroup.Ref)_attributeGroups.get(name);
-    }
-
-    public SchemaIdentityConstraint.Ref findIdentityConstraintRef(QName name)
-    {
-        return (SchemaIdentityConstraint.Ref)_identityConstraints.get(name);
-    }
-
-    public SchemaType[] globalTypes()
-    {
-        if (_globalTypes.isEmpty())
-            return EMPTY_ST_ARRAY;
-
-        SchemaType[] result = new SchemaType[_globalTypes.size()];
-        int j = 0;
-        for (Iterator i = _globalTypes.values().iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaType.Ref)i.next()).get();
-        return result;
-    }
-
-    public SchemaType[] redefinedGlobalTypes()
-    {
-        if (_redefinedGlobalTypes.isEmpty())
-            return EMPTY_ST_ARRAY;
-
-        SchemaType[] result = new SchemaType[_redefinedGlobalTypes.size()];
-        int j = 0;
-        for (Iterator i = _redefinedGlobalTypes.values().iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaType.Ref)i.next()).get();
-        return result;
-    }
-
-    public InputStream getSourceAsStream(String sourceName)
-    {
-        if (!sourceName.startsWith("/"))
-            sourceName = "/" + sourceName;
-
-        return _resourceLoader.getResourceAsStream("schema/src" + sourceName);
-    }
-
-    public SchemaType[] documentTypes()
-    {
-        if (_documentTypes.isEmpty())
-            return EMPTY_ST_ARRAY;
-
-        SchemaType[] result = new SchemaType[_documentTypes.size()];
-        int j = 0;
-        for (Iterator i = _documentTypes.values().iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaType.Ref)i.next()).get();
-        return result;
-    }
-
-    public SchemaType[] attributeTypes()
-    {
-        if (_attributeTypes.isEmpty())
-            return EMPTY_ST_ARRAY;
-
-        SchemaType[] result = new SchemaType[_attributeTypes.size()];
-        int j = 0;
-        for (Iterator i = _attributeTypes.values().iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaType.Ref)i.next()).get();
-        return result;
-    }
-
-    public SchemaGlobalElement[] globalElements()
-    {
-        if (_globalElements.isEmpty())
-            return EMPTY_GE_ARRAY;
-
-        SchemaGlobalElement[] result = new SchemaGlobalElement[_globalElements.size()];
-        int j = 0;
-        for (Iterator i = _globalElements.values().iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaGlobalElement.Ref)i.next()).get();
-        return result;
-    }
-
-    public SchemaGlobalAttribute[] globalAttributes()
-    {
-        if (_globalAttributes.isEmpty())
-            return EMPTY_GA_ARRAY;
-
-        SchemaGlobalAttribute[] result = new SchemaGlobalAttribute[_globalAttributes.size()];
-        int j = 0;
-        for (Iterator i = _globalAttributes.values().iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaGlobalAttribute.Ref)i.next()).get();
-        return result;
-    }
-
-    public SchemaModelGroup[] modelGroups()
-    {
-        if (_modelGroups.isEmpty())
-            return EMPTY_MG_ARRAY;
-
-        SchemaModelGroup[] result = new SchemaModelGroup[_modelGroups.size()];
-        int j = 0;
-        for (Iterator i = _modelGroups.values().iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaModelGroup.Ref)i.next()).get();
-        return result;
-    }
-
-    public SchemaModelGroup[] redefinedModelGroups()
-    {
-        if (_redefinedModelGroups.isEmpty())
-            return EMPTY_MG_ARRAY;
-
-        SchemaModelGroup[] result = new SchemaModelGroup[_redefinedModelGroups.size()];
-        int j = 0;
-        for (Iterator i = _redefinedModelGroups.values().iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaModelGroup.Ref)i.next()).get();
-        return result;
-    }
-
-    public SchemaAttributeGroup[] attributeGroups()
-    {
-        if (_attributeGroups.isEmpty())
-            return EMPTY_AG_ARRAY;
-
-        SchemaAttributeGroup[] result = new SchemaAttributeGroup[_attributeGroups.size()];
-        int j = 0;
-        for (Iterator i = _attributeGroups.values().iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaAttributeGroup.Ref)i.next()).get();
-        return result;
-    }
-
-    public SchemaAttributeGroup[] redefinedAttributeGroups()
-    {
-        if (_redefinedAttributeGroups.isEmpty())
-            return EMPTY_AG_ARRAY;
-
-        SchemaAttributeGroup[] result = new SchemaAttributeGroup[_redefinedAttributeGroups.size()];
-        int j = 0;
-        for (Iterator i = _redefinedAttributeGroups.values().iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaAttributeGroup.Ref)i.next()).get();
-        return result;
-    }
-
-    public SchemaIdentityConstraint[] identityConstraints()
-    {
-        if (_identityConstraints.isEmpty())
-            return EMPTY_IC_ARRAY;
-
-        SchemaIdentityConstraint[] result = new SchemaIdentityConstraint[_identityConstraints.size()];
-        int j = 0;
-        for (Iterator i = _identityConstraints.values().iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaIdentityConstraint.Ref)i.next()).get();
-        return result;
-    }
-
-    public ClassLoader getClassLoader()
-    {
-        return _classloader;
-    }
-
-    /**
-     * Used INTERNALLY ONLY by the code generator AFTER the type system has
-     * been saved and a handle has been established for each type.
-     */
-    public String handleForType(SchemaType type)
-    {
-        return _localHandles.handleForType(type);
-    }
-
-    public String getName()
-    {
-        return _name;
-    }
-
-    public SchemaTypeSystem typeSystemForName(String name)
-    {
-        if (_name != null && name.equals(_name))
-            return this;
-        return null;
-    }
-}
-
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeVisitorImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeVisitorImpl.java
deleted file mode 100644
index 1722815..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeVisitorImpl.java
+++ /dev/null
@@ -1,499 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.impl.values.TypeStoreVisitor;
-import org.apache.xmlbeans.impl.values.TypeStore;
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.SchemaLocalElement;
-import org.apache.xmlbeans.SchemaField;
-
-import java.util.Arrays;
-
-/**
- * This state machine validates element order based on a deterministic
- * content model.
- */
-public class SchemaTypeVisitorImpl implements TypeStoreVisitor
-{
-    /**
-     * Construct it by passing the root of the content model.
-     */
-    public SchemaTypeVisitorImpl(SchemaParticle part)
-    {
-        init(part);
-    }
-
-    public SchemaTypeVisitorImpl()
-    {
-
-    }
-
-    public void init(SchemaParticle part)
-    {
-        if (_stack == null)
-        {
-            _stack = expand(null);
-        }
-        if (_rollback == null)
-        {
-            _rollback = expand(null);
-        }
-
-        _stackSize = 0;
-        _rollbackSize = 0;
-
-        if (part != null)
-        {
-            push(part);
-            _rollbackIndex = 1;
-        }
-    }
-
-    public VisitorState[] expand(VisitorState[] orig)
-    {
-        int newsize = (orig == null ? 4 : orig.length * 2);
-        VisitorState[] result = new VisitorState[newsize];
-        if (orig != null)
-            System.arraycopy(orig, 0, result, 0, orig.length);
-        for (int i = (orig == null ? 0 : orig.length); i < newsize; i++)
-        {
-            result[i] = new VisitorState();
-        }
-        return result;
-    }
-
-
-
-    private VisitorState[] _stack;
-    private VisitorState[] _rollback;
-    int _stackSize;
-    int _rollbackSize;
-    private boolean _isValid;
-    private SchemaParticle _matchedParticle;
-    private VisitorState _top;
-    private int _rollbackIndex;
-
-    private static class VisitorState
-    {
-        public void copy(VisitorState orig)
-        {
-            _curPart = orig._curPart;
-            _curCount = orig._curCount;
-            _curMin = orig._curMin;
-            _curMax = orig._curMax;
-            _processedChildCount = orig._processedChildCount;
-            _childCount = orig._childCount;
-            _seen = orig._seen;
-        }
-
-        public void init(SchemaParticle part)
-        {
-            _curPart = part;
-            _curMin = part.getIntMinOccurs();
-            _curMax = part.getIntMaxOccurs();
-            _curCount = 0;
-            _processedChildCount = 0;
-            _childCount = part.countOfParticleChild();
-            _seen = part.getParticleType() == SchemaParticle.ALL ?
-                        new boolean[_childCount] : null;
-        }
-
-        SchemaParticle _curPart;
-        int _curCount;
-        int _curMax;
-        int _curMin;
-        int _processedChildCount;
-        int _childCount;
-        boolean[] _seen;
-    }
-
-    VisitorState topRef()
-    {
-        return _stack[_stackSize - 1];
-    }
-
-    void saveCopy(VisitorState ref)
-    {
-        if (_rollback.length == _rollbackSize)
-            _rollback = expand(_rollback);
-
-        _rollback[_rollbackSize].copy(ref);
-        _rollbackSize += 1;
-    }
-
-    void addParticle(SchemaParticle part)
-    {
-        if (_stack.length == _stackSize)
-            _stack = expand(_stack);
-        _stack[_stackSize].init(part);
-        _stackSize += 1;
-    }
-
-    /**
-     * Precondition:
-     * stack:    (R1 R2 R3 R4)
-     * top:      null or discardable due to pop in progress
-     * rollback: (R8 R7 R6 R5) (empty at the start of "visit")
-     *
-     * Postcondition:
-     * stack:    (R1 R2 R3)
-     * top:      D4 = mutable copy of R4
-     * rollback  (R8 R7 R6 R5 R4)
-     */
-    boolean prepare()
-    {
-        if (_rollbackIndex == 0)
-        {
-            _top = null;
-            return false;
-        }
-
-        _top = topRef();
-        saveCopy(_top);
-        _rollbackIndex = _stackSize - 1;
-        return true;
-    }
-
-    /**
-     * Precondition:
-     * stack:    (R1 R2 R3 R4 D5 D6)
-     * top:      D7
-     * rollback: (R8 R7 R6 R5)
-     *
-     * Postcondition:
-     * stack:    (R1 R2 R3 R4 D5 D6 D7)
-     * top:      D8 = new state based on part
-     * rollback  (R8 R7 R6 R5)
-     */
-    void push(SchemaParticle part)
-    {
-        addParticle(part);
-        _top = topRef();
-    }
-
-    /**
-     * Precondition:
-     * stack:    (R1 R2 R3 R4 D5 D6)
-     * top:      D7 is discardable
-     * rollback: (R8 R7 R6 R5)
-     *
-     * Postcondition:
-     * stack:    (R1 R2 R3 R4 D5)
-     * top:      D6 (see prepare in case it's an R state)
-     * rollback  (R8 R7 R6 R5)
-     */
-    boolean pop()
-    {
-        _stackSize -= 1;
-        if (_stackSize <= _rollbackIndex)
-            return prepare();
-        _top = topRef();
-        return true;
-    }
-
-    /**
-     * Precondition:
-     * stack:    (R1 R2 R3 R4 D5 D6)
-     * top:      D7
-     * rollback: (R8 R7 R6 R5)
-     *
-     * Postcondition:
-     * stack:    (R1 R2 R3 R4 D5 D6 D7) -> and rename to D's to R's
-     * top:      null
-     * rollback  ()
-     */
-    void commit()
-    {
-        _top = null;
-        _rollbackIndex = _stackSize;
-        _rollbackSize = 0;
-    }
-
-    /**
-     * Precondition:
-     * stack:    (R1 R2 R3 R4 D5 D6)
-     * top:      D7 is discardable
-     * rollback: (R8 R7 R6 R5)
-     *
-     * Postcondition:
-     * stack:    (R1 R2 R3 R4 R5 R6 R7 R8)
-     * top:      null
-     * rollback  ()
-     */
-    void rollback()
-    {
-        while (_rollbackSize > 0)
-        {
-            _rollbackSize -= 1;
-            VisitorState temp = _stack[_rollbackIndex];
-            _stack[_rollbackIndex] = _rollback[_rollbackSize];
-            _rollback[_rollbackSize] = temp;
-            _rollbackIndex += 1;
-        }
-        _stackSize = _rollbackIndex;
-        _top = null;
-    }
-
-    /**
-     * When no valid next state can be found, then "notValid"
-     * is returned. It rolls back any changes to the state
-     * machine stack, sets to false the valid bit, and clears
-     * the matched element state before returning false.
-     */
-    boolean notValid()
-    {
-        _isValid = false;
-        _matchedParticle = null;
-        rollback();
-        return false;
-    }
-
-    /**
-     * When a valid state transition has been done, then "ok"
-     * is returned. It commits the changed state machine state,
-     * stores the matched element state, and returns true.
-     */
-    boolean ok(SchemaParticle part)
-    {
-        _matchedParticle = part;
-        commit();
-        return true;
-    }
-
-    /*== VISITOR IMPLEMENTATION ==*/
-
-    /**
-     * Traverses a deterministic content model, checking for
-     * validity at any given point.
-     *
-     * Call visit(null) once at the end if you're checking for
-     * complete validity of the sequence of elements.
-     */
-    public boolean visit(QName eltName)
-    {
-        if (!prepare())
-            return notValid();
-
-        traversing: for (;;)
-        {
-            while (_top._curCount >= _top._curMax)
-            {
-                if (!pop())
-                    break traversing;
-            }
-
-            minmax: switch (_top._curPart.getParticleType())
-            {
-                default:
-                    assert(false);
-
-                case SchemaParticle.WILDCARD:
-                    if (!_top._curPart.canStartWithElement(eltName))
-                    {
-                        if (_top._curCount < _top._curMin)
-                            return notValid();
-                        break minmax;
-                    }
-                    _top._curCount++;
-                    return ok(_top._curPart);
-
-                case SchemaParticle.ELEMENT:
-                    if (!_top._curPart.canStartWithElement(eltName))
-                    {
-                        if (_top._curCount < _top._curMin)
-                            return notValid();
-                        break minmax;
-                    }
-                    _top._curCount++;
-                    return ok(_top._curPart);
-
-                case SchemaParticle.SEQUENCE:
-                    for (int i = _top._processedChildCount; i < _top._childCount; i++)
-                    {
-                        SchemaParticle candidate = _top._curPart.getParticleChild(i);
-                        if (candidate.canStartWithElement(eltName))
-                        {
-                            _top._processedChildCount = i + 1;
-                            push(candidate);
-                            continue traversing;
-                        }
-                        if (!candidate.isSkippable())
-                        {
-                            if (_top._processedChildCount != 0 || _top._curCount < _top._curMin)
-                                return notValid();
-                            break minmax;
-                        }
-                    }
-                    _top._curCount++;
-                    _top._processedChildCount = 0;
-                    continue traversing;
-
-                case SchemaParticle.CHOICE:
-                    for (int i = 0; i < _top._childCount; i++)
-                    {
-                        SchemaParticle candidate = _top._curPart.getParticleChild(i);
-                        if (candidate.canStartWithElement(eltName))
-                        {
-                            _top._curCount++;
-                            push(candidate);
-                            continue traversing;
-                        }
-                    }
-                    if (_top._curCount < _top._curMin && !_top._curPart.isSkippable())
-                        return notValid();
-                    break minmax;
-
-                case SchemaParticle.ALL:
-
-                    int skipped = _top._processedChildCount;
-                    allscan: for (int i = 0; i < _top._childCount; i++)
-                    {
-                        if (_top._seen[i])
-                            continue allscan;
-
-                        SchemaParticle candidate = _top._curPart.getParticleChild(i);
-                        if (candidate.canStartWithElement(eltName))
-                        {
-                            _top._processedChildCount++;
-                            _top._seen[i] = true;
-                            push(candidate);
-                            continue traversing;
-                        }
-                        else if (candidate.isSkippable())
-                        {
-                            skipped += 1;
-                        }
-                    }
-                    if (skipped < _top._childCount)
-                    {
-                        if (_top._curCount < _top._curMin)
-                            return notValid();
-                        break minmax;
-                    }
-                    _top._curCount++;
-                    _top._processedChildCount = 0;
-                    Arrays.fill(_top._seen, false);
-                    continue traversing;
-            }
-
-            // somebody called "break minmax", so pop out of loop
-            if (!pop())
-                break traversing;
-        }
-
-        // we've completed the outermost loop
-        if (eltName == null)
-            return ok(null);
-
-        // this means we have extra elements at the end
-        return notValid();
-    }
-
-    /**
-     * Constructs elementflags
-     */
-    public int get_elementflags()
-    {
-        if (currentParticle() == null || currentParticle().getParticleType() != SchemaParticle.ELEMENT)
-            return 0;
-
-        SchemaLocalElement elt = (SchemaLocalElement)currentParticle();
-
-        return (elt.isNillable() ? TypeStore.NILLABLE : 0) |
-               (elt.isDefault() ? TypeStore.HASDEFAULT : 0) |
-               (elt.isFixed() ? TypeStore.FIXED : 0);
-    }
-
-    /**
-     * Returns default text
-     */
-    public String get_default_text()
-    {
-        if (currentParticle() == null || currentParticle().getParticleType() != SchemaParticle.ELEMENT)
-            return null;
-
-        return ((SchemaLocalElement)currentParticle()).getDefaultText();
-    }
-
-    /**
-     * Returns the schema field for this field.
-     */
-    public SchemaField get_schema_field() {
-        if (currentParticle() instanceof SchemaField)
-            return (SchemaField)currentParticle();
-        
-        return null;
-    }
-
-    /**
-     * Returns the current schema element
-     */
-    public SchemaParticle currentParticle()
-    {
-        return _matchedParticle;
-    }
-
-    /**
-     * Returns true if the entire content up to now is valid.
-     */
-    public boolean isAllValid()
-    {
-        return _isValid;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java
deleted file mode 100644
index fc85da8..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java
+++ /dev/null
@@ -1,1614 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.XmlError;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaLocalElement;
-import org.apache.xmlbeans.SchemaIdentityConstraint;
-import org.apache.xmlbeans.SchemaAttributeModel;
-import org.apache.xmlbeans.SchemaLocalAttribute;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.XmlID;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.impl.common.XmlErrorContext;
-import org.apache.xmlbeans.impl.common.XBeanDebug;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-import javax.xml.namespace.QName;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Set;
-import java.math.BigInteger;
-
-public class StscChecker
-{
-    public static void checkAll()
-    {
-        // walk the tree of types
-        StscState state = StscState.get();
-
-        List allSeenTypes = new ArrayList();
-        allSeenTypes.addAll(Arrays.asList(state.documentTypes()));
-        allSeenTypes.addAll(Arrays.asList(state.attributeTypes()));
-        allSeenTypes.addAll(Arrays.asList(state.redefinedGlobalTypes()));
-        allSeenTypes.addAll(Arrays.asList(state.globalTypes()));
-
-        for (int i = 0; i < allSeenTypes.size(); i++)
-        {
-            SchemaType gType = (SchemaType)allSeenTypes.get(i);
-            if (!state.noPvr() &&  // option to turn off particle restriction checking
-                !gType.isDocumentType()) // Don't check doc types for restriction. 
-            {
-                checkRestriction((SchemaTypeImpl)gType);
-            }
-            checkFields((SchemaTypeImpl)gType);
-            allSeenTypes.addAll(Arrays.asList(gType.getAnonymousTypes()));
-        }
-
-        checkSubstitutionGroups(state.globalElements());
-    }
-    
-    /**
-     * The following code checks rule #5 of http://www.w3.org/TR/xmlschema-1/#coss-ct
-     * as well as attribute + element default/fixed validity.
-     */
-    public static void checkFields(SchemaTypeImpl sType)
-    {
-        if (sType.isSimpleType())
-            return;
-        
-        XmlObject location = sType.getParseObject();
-        
-        SchemaAttributeModel sAttrModel = sType.getAttributeModel();
-        if (sAttrModel != null)
-        {
-            SchemaLocalAttribute[] sAttrs  = sAttrModel.getAttributes();
-            QName idAttr = null;
-            for (int i = 0; i < sAttrs.length; i++)
-            {
-                if (XmlID.type.isAssignableFrom(sAttrs[i].getType()))
-                {
-                    if (idAttr == null)
-                        idAttr = sAttrs[i].getName();
-                    else
-                        StscState.get().error("Both " + QNameHelper.pretty(idAttr) + " and " + sAttrs[i].getName() + " are xs:ID attributes; only one ID attribute is allowed on a type.", XmlErrorContext.GENERIC_ERROR, location);
-                    if (sAttrs[i].getDefaultText() != null)
-                        StscState.get().error("An attribute of type xs:ID is not allowed to have a default or fixed constraint.", XmlErrorContext.GENERIC_ERROR, location);
-                }
-                else
-                {
-                    String valueConstraint = sAttrs[i].getDefaultText();
-                    if (valueConstraint != null)
-                    {
-                        try
-                        {
-                            XmlAnySimpleType val = sAttrs[i].getDefaultValue();
-                            if (!val.validate())
-                                throw new Exception();
-                            
-                            SchemaPropertyImpl sProp = (SchemaPropertyImpl)sType.getAttributeProperty(sAttrs[i].getName());
-                            if (sProp != null && sProp.getDefaultText() != null)
-                            {
-                                sProp.setDefaultValue(new XmlValueRef(val));
-                            }
-                        }
-                        catch (Exception e)
-                        {
-                            if (sAttrs[i].isFixed())
-                                StscState.get().error("The " + QNameHelper.pretty(sAttrs[i].getName()) + " element fixed value '" + valueConstraint + "' is not a valid value for " + QNameHelper.readable(sAttrs[i].getType()), XmlErrorContext.GENERIC_ERROR, location);
-                            else
-                                StscState.get().error("The " + QNameHelper.pretty(sAttrs[i].getName()) + " element default value '" + valueConstraint + "' is not a valid value for " + QNameHelper.readable(sAttrs[i].getType()), XmlErrorContext.GENERIC_ERROR, location);
-                        }
-                    }
-                }
-            }
-        }
-        
-        checkElementDefaults(sType.getContentModel(), location, sType);
-    }
-    
-    private static void checkElementDefaults(SchemaParticle model, XmlObject location, SchemaType parentType)
-    {
-        if (model == null)
-            return;
-        switch (model.getParticleType())
-        {
-            case SchemaParticle.SEQUENCE:
-            case SchemaParticle.CHOICE:
-            case SchemaParticle.ALL:
-                SchemaParticle[] children = model.getParticleChildren();
-                for (int i = 0; i < children.length; i++)
-                {
-                    checkElementDefaults(children[i], location, parentType);
-                }
-                break;
-           case SchemaParticle.ELEMENT:
-                String valueConstraint = model.getDefaultText();
-                if (valueConstraint != null)
-                {
-                    if (model.getType().isSimpleType() || model.getType().getContentType() == SchemaType.SIMPLE_CONTENT)
-                    {
-                        try
-                        {
-                            XmlAnySimpleType val = model.getDefaultValue();
-                            if (!val.validate())
-                                throw new Exception();
-                            
-                            SchemaPropertyImpl sProp = (SchemaPropertyImpl)parentType.getElementProperty(model.getName());
-                            if (sProp != null && sProp.getDefaultText() != null)
-                            {
-                                sProp.setDefaultValue(new XmlValueRef(val));
-                            }
-                        }
-                        catch (Exception e)
-                        {
-                            if (model.isFixed())
-                                StscState.get().error("The " + QNameHelper.pretty(model.getName()) + " element fixed value '" + valueConstraint + "' is not a valid value for " + QNameHelper.readable(model.getType()), XmlErrorContext.GENERIC_ERROR, location);
-                            else
-                                StscState.get().error("The " + QNameHelper.pretty(model.getName()) + " element default value '" + valueConstraint + "' is not a valid value for " + QNameHelper.readable(model.getType()), XmlErrorContext.GENERIC_ERROR, location);
-                        }
-                    }
-                    else if (model.getType().getContentType() == SchemaType.ELEMENT_CONTENT)
-                    {
-                        StscState.get().error("The " + QNameHelper.pretty(model.getName()) + " element cannot have a default value '" + valueConstraint + "' because its type has element content only.", XmlErrorContext.GENERIC_ERROR, location);
-                    }
-                    else if (model.getType().getContentType() == SchemaType.EMPTY_CONTENT)
-                    {
-                        StscState.get().error("The " + QNameHelper.pretty(model.getName()) + " element cannot have a default value '" + valueConstraint + "' because its type has empty content only.", XmlErrorContext.GENERIC_ERROR, location);
-                    }
-                }
-                break;
-                
-           default:
-                // nothing to do.
-                break;
-        }
-    }
-    
-    /**
-     * The following code only checks rule #5 of http://www.w3.org/TR/xmlschema-1/#derivation-ok-restriction
-     *  (Everything else can and should be done in StscResolver, because we can give more detailed line # info there
-     */
-    public static boolean checkRestriction(SchemaTypeImpl sType)
-    {
-        if (sType.getDerivationType() == SchemaType.DT_RESTRICTION && !sType.isSimpleType())
-        {
-            StscState state = StscState.get();
-            
-            // we don't remember very precise line number information, but it's better than nothin.
-            XmlObject location = sType.getParseObject();
-        
-            SchemaType baseType = sType.getBaseType();
-            if (baseType.isSimpleType())
-            {
-                state.error("The base type of a complex type restriction must be a complex type.", XmlErrorContext.ILLEGAL_RESTRICTION, location);
-                return false;
-            }
-            
-            // 5 The appropriate case among the following must be true:
-            switch (sType.getContentType())
-            {
-                case SchemaType.SIMPLE_CONTENT:
-                    // 5.1 If the {content type} of the complex type definition is a simple type definition, then one of the following must be true:
-                    switch (baseType.getContentType())
-                    {
-                        case SchemaType.SIMPLE_CONTENT:
-                            // 5.1.1 The {content type} of the {base type definition} must be a simple type definition of which the {content type} is a ·valid restriction· as defined in Derivation Valid (Restriction, Simple) (§3.14.6).
-                            // todo: we don't allow the content type to be an "on the side" simple type, so nothing fancy to check here
-                            break;
-                            
-                        case SchemaType.MIXED_CONTENT:
-                            // 5.1.2 The {base type definition} must be mixed and have a particle which is ·emptiable· as defined in Particle Emptiable (§3.9.6).
-                            if (baseType.getContentModel() != null && !baseType.getContentModel().isSkippable())
-                            {
-                                state.error("A type with a simple content model can only restrict a mixed content model that has skippable elements.", XmlErrorContext.ILLEGAL_RESTRICTION, location);
-                                return false;
-                            }
-                            break;
-                            
-                        default:
-                            state.error("A type with a simple content model can only restrict a simple or mixed content model.", XmlErrorContext.ILLEGAL_RESTRICTION, location);
-                            return false;
-                    }
-                    break;
-                    
-                case SchemaType.EMPTY_CONTENT:
-                    // 5.2 If the {content type} of the complex type itself is empty , then one of the following must be true:
-                    switch (baseType.getContentType())
-                    {
-                        case SchemaType.EMPTY_CONTENT:
-                            // 5.2.1 The {content type} of the {base type definition} must also be empty.
-                            break;
-                        case SchemaType.MIXED_CONTENT:
-                        case SchemaType.ELEMENT_CONTENT:
-                            // 5.2.2 The {content type} of the {base type definition} must be elementOnly or mixed and have a particle which is ·emptiable· as defined in Particle Emptiable (§3.9.6).
-                            if (baseType.getContentModel() != null && !baseType.getContentModel().isSkippable())
-                            {
-                                state.error("A type with an empty content model can only restrict a content model that has skippable elements.", XmlErrorContext.ILLEGAL_RESTRICTION, location);
-                                return false;
-                            }
-                            break;
-                        default:                            
-                            state.error("A type with an empty content model cannot restrict a type with a simple content model.", XmlErrorContext.ILLEGAL_RESTRICTION, location);
-                            return false;
-                    }
-                    break;
-                    
-                case SchemaType.MIXED_CONTENT:
-                    // 5.3 If the {content type} of the {base type definition} is mixed...
-                    if (baseType.getContentType() != SchemaType.MIXED_CONTENT)
-                    {
-                        state.error("A type with a mixed content model can only restrict another type with a mixed content model.", XmlErrorContext.ILLEGAL_RESTRICTION, location);
-                        return false;
-                    }
-                    
-                    // FALLTHROUGH
-                case SchemaType.ELEMENT_CONTENT:
-                    // 5.3 ... or the {content type} of the complex type definition itself is element-only,...
-                    if (baseType.getContentType() == SchemaType.EMPTY_CONTENT)
-                    {
-                        state.error("A type with element or mixed content cannot restrict an empty type.", XmlErrorContext.ILLEGAL_RESTRICTION, location);
-                        return false;
-                    }
-                    if (baseType.getContentType() == SchemaType.SIMPLE_CONTENT)
-                    {
-                        state.error("A type with element or mixed content cannot restrict a simple type.", XmlErrorContext.ILLEGAL_RESTRICTION, location);
-                        return false;
-                    }
-                    
-                    // 5.3 ... then the particle of the complex type definition itself must be a ·valid restriction· of the particle of the {content type} of the {base type definition}
-                    SchemaParticle baseModel = baseType.getContentModel();
-                    SchemaParticle derivedModel = sType.getContentModel();
-                    assert(baseModel != null && derivedModel != null);
-                    if (baseModel == null || derivedModel == null)
-                    {
-                        XBeanDebug.logStackTrace("Null models that weren't caught by EMPTY_CONTENT: " + baseType + " (" + baseModel + "), " + sType + " (" + derivedModel + ")");
-                        state.error("Illegal restriction.", XmlErrorContext.ILLEGAL_RESTRICTION, location);
-                        return false;
-                    }
-                    
-                    // 5.3 ...  as defined in Particle Valid (Restriction) (§3.9.6).
-                    List errors = new ArrayList();
-                    boolean isValid = isParticleValidRestriction(baseModel, derivedModel, errors, location);
-                    if (!isValid)
-                    {
-                        // we only add the last error, because isParticleValidRestriction may add errors
-                        // to the collection that it later changes its mind about, or it may (inadvertently)
-                        // forget to describe an error into the collection....
-                        if (errors.size() == 0)
-                            state.error("Invalid restriction.", XmlErrorContext.ILLEGAL_RESTRICTION, location);
-                        else
-                            state.getErrorListener().add(errors.get(errors.size() - 1));
-                    }
-            }
-        }
-        return true;
-    }
-    
-    /**
-     * This function takes in two schema particle types, a baseModel, and a derived model and returns true if the
-     * derivedModel can be egitimately be used for restriction.  Errors are put into the errors collections.
-     * @param baseModel - The base schema particle
-     * @param derivedModel - The derived (restricted) schema particle
-     * @param errors - Invalid restriction errors are put into this collection
-     * @param context
-     * @return boolean, true if valid restruction, false if invalid restriction
-     * @
-     */
-    public static boolean isParticleValidRestriction(SchemaParticle baseModel, SchemaParticle derivedModel, Collection errors, XmlObject context)  {
-        boolean restrictionValid = false;
-        // 1 They are the same particle.
-        if (baseModel.equals(derivedModel)) {
-            restrictionValid = true;
-        } else {
-            // Implement table defined in schema spec on restrictions at:
-            //   http://www.w3.org/TR/xmlschema-1/#cos-particle-restrict
-            switch (baseModel.getParticleType()) {
-                case SchemaParticle.ELEMENT:
-                    switch (derivedModel.getParticleType()) {
-                        case SchemaParticle.ELEMENT:
-                            restrictionValid = nameAndTypeOK((SchemaLocalElement) baseModel, (SchemaLocalElement) derivedModel, errors, context);
-                            break;
-                        case SchemaParticle.WILDCARD:
-                            errors.add(XmlError.forObject(formatInvalidCombinationError(baseModel, derivedModel), context));
-                            restrictionValid = false;
-                            break;
-                        case SchemaParticle.ALL:
-                            errors.add(XmlError.forObject(formatInvalidCombinationError(baseModel, derivedModel), context));
-                            restrictionValid = false;
-                            break;
-                        case SchemaParticle.CHOICE:
-                            errors.add(XmlError.forObject(formatInvalidCombinationError(baseModel, derivedModel), context));
-                            restrictionValid = false;
-                            break;
-                        case SchemaParticle.SEQUENCE:
-                            errors.add(XmlError.forObject(formatInvalidCombinationError(baseModel, derivedModel), context));
-                            restrictionValid = false;
-                            break;
-                        default:
-                            assert false : XBeanDebug.logStackTrace("Unknown schema type for Derived Type");
-                    }
-                    break;
-                case SchemaParticle.WILDCARD:
-                    switch (derivedModel.getParticleType()) {
-                        case SchemaParticle.ELEMENT:
-                            restrictionValid = nsCompat(baseModel, (SchemaLocalElement) derivedModel, errors, context);
-                            break;
-                        case SchemaParticle.WILDCARD:
-                            restrictionValid = nsSubset(baseModel, derivedModel, errors, context);
-                            break;
-                        case SchemaParticle.ALL:
-                            restrictionValid = nsRecurseCheckCardinality(baseModel, derivedModel, errors, context);
-                            break;
-                        case SchemaParticle.CHOICE:
-                            restrictionValid = nsRecurseCheckCardinality(baseModel, derivedModel, errors, context);
-                            break;
-                        case SchemaParticle.SEQUENCE:
-                            restrictionValid = nsRecurseCheckCardinality(baseModel, derivedModel, errors, context);
-                            break;
-                        default:
-                            assert false : XBeanDebug.logStackTrace("Unknown schema type for Derived Type");
-                    }
-                    break;
-                case SchemaParticle.ALL:
-                    switch (derivedModel.getParticleType()) {
-                        case SchemaParticle.ELEMENT:
-                            restrictionValid = recurseAsIfGroup(baseModel, derivedModel, errors, context);
-                            break;
-                        case SchemaParticle.WILDCARD:
-                            errors.add(XmlError.forObject(formatInvalidCombinationError(baseModel, derivedModel), context));
-                            restrictionValid = false;
-                            break;
-                        case SchemaParticle.ALL:
-                            restrictionValid = recurse(baseModel, derivedModel, errors, context);
-                            break;
-                        case SchemaParticle.CHOICE:
-                            errors.add(XmlError.forObject(formatInvalidCombinationError(baseModel, derivedModel), context));
-                            restrictionValid = false;
-                            break;
-                        case SchemaParticle.SEQUENCE:
-                            restrictionValid = recurseUnordered(baseModel, derivedModel, errors, context);
-                            break;
-                        default:
-                            assert false : XBeanDebug.logStackTrace("Unknown schema type for Derived Type");
-                    }
-                    break;
-                case SchemaParticle.CHOICE:
-                    switch (derivedModel.getParticleType()) {
-                        case SchemaParticle.ELEMENT:
-                            restrictionValid = recurseAsIfGroup(baseModel, derivedModel, errors, context);
-                            break;
-                        case SchemaParticle.WILDCARD:
-                            errors.add(XmlError.forObject(formatInvalidCombinationError(baseModel, derivedModel), context));
-                            restrictionValid = false;
-                            break;
-                        case SchemaParticle.ALL:
-                            errors.add(XmlError.forObject(formatInvalidCombinationError(baseModel, derivedModel), context));
-                            restrictionValid = false;
-                            break;
-                        case SchemaParticle.CHOICE:
-                            restrictionValid = recurseLax(baseModel, derivedModel, errors, context);
-                            break;
-                        case SchemaParticle.SEQUENCE:
-                            restrictionValid = mapAndSum(baseModel, derivedModel, errors, context);
-                            break;
-                        default:
-                            assert false : XBeanDebug.logStackTrace("Unknown schema type for Derived Type");
-                    }
-                    break;
-                case SchemaParticle.SEQUENCE:
-                    switch (derivedModel.getParticleType()) {
-                        case SchemaParticle.ELEMENT:
-                            restrictionValid = recurseAsIfGroup(baseModel, derivedModel, errors, context);
-                            break;
-                        case SchemaParticle.WILDCARD:
-                            errors.add(XmlError.forObject(formatInvalidCombinationError(baseModel, derivedModel), context));
-                            restrictionValid = false;
-                            break;
-                        case SchemaParticle.ALL:
-                            errors.add(XmlError.forObject(formatInvalidCombinationError(baseModel, derivedModel), context));
-                            restrictionValid = false;
-                            break;
-                        case SchemaParticle.CHOICE:
-                            errors.add(XmlError.forObject(formatInvalidCombinationError(baseModel, derivedModel), context));
-                            restrictionValid = false;
-                            break;
-                        case SchemaParticle.SEQUENCE:
-                            restrictionValid = recurse(baseModel, derivedModel, errors, context);
-                            break;
-                        default:
-                            assert false : XBeanDebug.logStackTrace("Unknown schema type for Derived Type");
-                    }
-                    break;
-                default:
-                    assert false : XBeanDebug.logStackTrace("Unknown schema type for Base Type");
-
-            }
-        }
-
-        return restrictionValid;
-    }
-
-    private static boolean mapAndSum(SchemaParticle baseModel, SchemaParticle derivedModel, Collection errors, XmlObject context)  {
-        // mapAndSum is call if base: CHOICE, derived: SEQUENCE
-        assert baseModel.getParticleType() == SchemaParticle.CHOICE;
-        assert derivedModel.getParticleType() == SchemaParticle.SEQUENCE;
-        boolean mapAndSumValid = true;
-        // Schema Component Constraint: Particle Derivation OK (Sequence:Choice -- MapAndSum)
-        // For a sequence group particle to be a ·valid restriction· of a choice group particle all of the following
-        // must be true:
-        // 1 There is a complete functional mapping from the particles in the {particles} of R to the particles in the
-        // {particles} of B such that each particle in the {particles} of R is a ·valid restriction· of the particle in
-        // the {particles} of B it maps to as defined by Particle Valid (Restriction) (§3.9.6).
-        // interpretation:  each particle child in derived should have a match in base.
-        // 2 The pair consisting of the product of the {min occurs} of R and the length of its {particles} and unbounded
-        // if {max occurs} is unbounded otherwise the product of the {max occurs} of R and the length of its {particles}
-        // is a valid restriction of B's occurrence range as defined by Occurrence Range OK (§3.9.6).
-        // NOTE: This clause is in principle more restrictive than absolutely necessary, but in practice will cover
-        // all the likely cases, and is much easier to specify than the fully general version.
-        // NOTE: This case allows the "unfolding" of iterated disjunctions into sequences. It may be particularly useful
-        // when the disjunction is an implicit one arising from the use of substitution groups.
-
-        // Map step - for each member of the derived model's particle children search base model's particle children
-        //  for match
-        SchemaParticle[] derivedParticleArray = derivedModel.getParticleChildren();
-        SchemaParticle[] baseParticleArray = baseModel.getParticleChildren();
-        for (int i = 0; i < derivedParticleArray.length; i++) {
-            SchemaParticle derivedParticle = derivedParticleArray[i];
-            boolean foundMatch = false;
-            for (int j = 0; j < baseParticleArray.length; j++) {
-                SchemaParticle baseParticle = baseParticleArray[j];
-                // recurse to check if there is a match
-                if (isParticleValidRestriction(baseParticle, derivedParticle, errors, context)) {
-                    // if there is a match then no need to check base particles anymore
-                    foundMatch = true;
-                    break;
-                }
-            }
-            if (!foundMatch) {
-                mapAndSumValid = false;
-                errors.add(XmlError.forObject(formatMappingError(), context));
-                break;
-            }
-        }
-
-        // Sum step
-        BigInteger derivedRangeMin = derivedModel.getMinOccurs().multiply(BigInteger.valueOf(derivedModel.getParticleChildren().length));
-        BigInteger derivedRangeMax = null;
-        BigInteger UNBOUNDED = null;
-        if (derivedModel.getMaxOccurs() == UNBOUNDED) {
-            derivedRangeMax = null;
-        } else {
-            derivedRangeMax = derivedModel.getMaxOccurs().multiply(BigInteger.valueOf(derivedModel.getParticleChildren().length));
-        }
-
-        // Now check derivedRange (derivedRangeMin and derivedRangeMax) against base model occurrence range
-        // Schema Component Constraint: Occurrence Range OK
-        // For a particle's occurrence range to be a valid restriction of another's occurrence range all of the following must be true:
-        // 1 Its {min occurs} is greater than or equal to the other's {min occurs}.
-        // 2 one of the following must be true:
-        //   2.1 The other's {max occurs} is unbounded.
-        //   2.2 Both {max occurs} are numbers, and the particle's is less than or equal to the other's.
-
-        if (derivedRangeMin.compareTo(baseModel.getMinOccurs()) < 0) {
-            mapAndSumValid = false;
-            errors.add(XmlError.forObject(formatOccurenceRangeMinErrorChoiceSequence(derivedRangeMin, baseModel), context));
-        } else if (baseModel.getMaxOccurs() == UNBOUNDED || derivedRangeMax != UNBOUNDED && derivedRangeMax.compareTo(baseModel.getMaxOccurs()) > 0) {
-            mapAndSumValid = false;
-            errors.add(XmlError.forObject(formatOccurenceRangeMaxErrorChoiceSequence(derivedRangeMax, baseModel), context));
-        }
-
-        return mapAndSumValid;
-    }
-
-    private static String formatOccurenceRangeMinErrorChoiceSequence(BigInteger derivedRangeMin, SchemaParticle baseModel) {
-        return "Invalid Restriction.  The total minOccurs for the derived <sequence>'s elements: "
-                + derivedRangeMin.toString()
-                + "must not be less than the base <choice>'s minOccurs ("
-                + baseModel.getMinOccurs().toString() + ")";
-    }
-
-    private static String formatOccurenceRangeMaxErrorChoiceSequence(BigInteger derivedRangeMax, SchemaParticle baseModel) {
-        return "Invalid Restriction.  The total maxOccurs for the derived <sequence>'s elements ("
-                + derivedRangeMax.toString()
-                + ") must not be greater than the base <choice>'s maxOccurs ("
-                + printMaxOccurs(baseModel.getMaxOccurs()) + ")";
-       
-    }
-
-    private static String formatMappingError() {
-        return "Invalid Restriction.  At least one restricted type does not match.";
-    }
-
-    private static boolean recurseAsIfGroup(SchemaParticle baseModel, SchemaParticle derivedModel, Collection errors, XmlObject context) {
-        // recurseAsIfGroup is called if:
-        // base: ALL, derived: ELEMENT
-        // base: CHOICE, derived: ELEMENT
-        // base: SEQUENCE, derived: ELEMENT
-        assert (baseModel.getParticleType() == SchemaParticle.ALL && derivedModel.getParticleType() == SchemaParticle.ELEMENT)
-                || (baseModel.getParticleType() == SchemaParticle.CHOICE && derivedModel.getParticleType() == SchemaParticle.ELEMENT)
-                || (baseModel.getParticleType() == SchemaParticle.SEQUENCE && derivedModel.getParticleType() == SchemaParticle.ELEMENT);
-        // Schema Component Constraint: Particle Derivation OK (Elt:All/Choice/Sequence -- RecurseAsIfGroup)
-
-        // For an element declaration particle to be a ·valid restriction· of a group particle
-        // (all, choice or sequence) a group particle of the variety corresponding to B's, with {min occurs} and
-        // {max occurs} of 1 and with {particles} consisting of a single particle the same as the element declaration
-        // must be a ·valid restriction· of the group as defined by Particle Derivation OK
-        // (All:All,Sequence:Sequence -- Recurse) (§3.9.6), Particle Derivation OK (Choice:Choice -- RecurseLax)
-        // (§3.9.6) or Particle Derivation OK (All:All,Sequence:Sequence -- Recurse) (§3.9.6), depending on whether
-        // the group is all, choice or sequence
-
-        // interpretation:  make a fake group of the right type, with min occurs and max occurs of 1
-        SchemaParticleImpl asIfPart = new SchemaParticleImpl();
-        asIfPart.setParticleType(baseModel.getParticleType());
-        asIfPart.setMinOccurs(BigInteger.ONE);
-        asIfPart.setMaxOccurs(BigInteger.ONE);
-        asIfPart.setParticleChildren(new SchemaParticle[] { derivedModel });
-        
-        // the recurse
-        return isParticleValidRestriction(baseModel, asIfPart, errors, context); 
-    }
-
-    private static boolean recurseLax(SchemaParticle baseModel, SchemaParticle derivedModel, Collection errors, XmlObject context)  {
-        // recurseLax is called if base: CHOICE, derived: CHOICE
-        assert baseModel.getParticleType() == SchemaParticle.CHOICE && derivedModel.getParticleType() == SchemaParticle.CHOICE;
-        boolean recurseLaxValid = true;
-        //Schema Component Constraint: Particle Derivation OK (Choice:Choice -- RecurseLax)
-        // For a choice group particle to be a ·valid restriction· of another choice group particle all of the
-        // following must be true:
-        // 1 R's occurrence range is a valid restriction of B's occurrence range as defined by Occurrence
-        // Range OK (§3.9.6);
-        // 2 There is a complete ·order-preserving· functional mapping from the particles in the {particles} of R
-        // to the particles in the {particles} of B such that each particle in the {particles} of R is a
-        // ·valid restriction· of the particle in the {particles} of B it maps to as defined by
-        // Particle Valid (Restriction) (§3.9.6).
-        // NOTE: Although the ·validation· semantics of a choice group does not depend on the order of its particles,
-        // derived choice groups are required to match the order of their base in order to simplify
-        // checking that the derivation is OK.
-        // interpretation:  check derived choices for match in order, must get an in order match on a base particle,
-        //                  don't need to check if base particles are skippable.  a lot like recurse
-
-        if (!occurrenceRangeOK(baseModel, derivedModel, errors, context)) {
-            return false;
-        }
-        // cycle thru both derived particle children and base particle children looking for matches
-        //  if the derived particle does not match the base particle then base particle can be skipped
-
-        SchemaParticle[] derivedParticleArray = derivedModel.getParticleChildren();
-        SchemaParticle[] baseParticleArray = baseModel.getParticleChildren();
-        int i = 0, j = 0;
-        for (; i < derivedParticleArray.length && j < baseParticleArray.length;) {
-            SchemaParticle derivedParticle = derivedParticleArray[i];
-            SchemaParticle baseParticle = baseParticleArray[j];
-            // try to match the two particles by recursing
-            if (isParticleValidRestriction(baseParticle, derivedParticle, errors, context)) {
-                // cool found a match, increment both indexes
-                i++;
-                j++;
-            } else {
-                // did not match, increment the base particle array index only
-                // Ok, let's skip this base particle, increment base particle array index only
-                j++;
-            }
-        }
-
-        // ok, got to the end of one of the arrays
-        // if at end of base particle array and not at the end of derived particle array then remaining derived
-        //  particles must not match
-        if (i < derivedParticleArray.length) {
-            recurseLaxValid = false;
-            String message = "Found derived particles that are not matched in the base content model.";
-            errors.add(XmlError.forObject(formatDerivedMappingError(message, baseModel, derivedModel), context));
-        }
-
-
-        return recurseLaxValid;
-    }
-
-    private static boolean recurseUnordered(SchemaParticle baseModel, SchemaParticle derivedModel, Collection errors, XmlObject context) {
-        // recurseUnorder is called when base: ALL and derived: SEQ
-        assert baseModel.getParticleType() == SchemaParticle.ALL && derivedModel.getParticleType() == SchemaParticle.SEQUENCE;
-        boolean recurseUnorderedValid = true;
-        // Schema Component Constraint: Particle Derivation OK (Sequence:All -- RecurseUnordered)
-        // For a sequence group particle to be a ·valid restriction· of an all group particle all of the
-        // following must be true:
-        // 1 R's occurrence range is a valid restriction of B's occurrence range as defined by
-        // Occurrence Range OK (§3.9.6).
-        // 2 There is a complete functional mapping from the particles in the {particles} of R to the particles
-        // in the {particles} of B such that all of the following must be true:
-        // 2.1 No particle in the {particles} of B is mapped to by more than one of the particles in
-        // the {particles} of R;
-        // 2.2 Each particle in the {particles} of R is a ·valid restriction· of the particle in the {particles} of B
-        // it maps to as defined by Particle Valid (Restriction) (§3.9.6);
-        // 2.3 All particles in the {particles} of B which are not mapped to by any particle in the {particles}
-        // of R are ·emptiable· as defined by Particle Emptiable (§3.9.6).
-        // NOTE: Although this clause allows reordering, because of the limits on the contents of all groups the
-        // checking process can still be deterministic.
-        // 1, 2.2, and 2.3 are the same as recurse, so do 2.1 and then call recurse
-
-        if (!occurrenceRangeOK(baseModel, derivedModel, errors, context)) {
-            return false;
-        }
-
-        // read baseParticle array QNames into hashmap
-        SchemaParticle[] baseParticles = baseModel.getParticleChildren();
-        HashMap baseParticleMap = new HashMap(10);
-        Object MAPPED = new Object();
-        // Initialize the hashmap
-        for (int i = 0; i < baseParticles.length; i++)
-            baseParticleMap.put(baseParticles[i].getName(), baseParticles[i]);
-        
-        // go thru the sequence (derived model's children) and check off from base particle map
-        SchemaParticle[] derivedParticles = derivedModel.getParticleChildren();
-        for (int i = 0; i < derivedParticles.length; i++) {
-            SchemaParticle matchedBaseParticle = (SchemaParticle) baseParticleMap.get(derivedParticles[i].getName());
-            if (matchedBaseParticle == null) {
-                recurseUnorderedValid = false;
-                errors.add(XmlError.forObject(formatInvalidAllSeqMappingError(), context));
-                break;
-            } else {
-                // got a match
-                if (matchedBaseParticle == MAPPED) {
-                    // whoa, this base particle has already been matched (see 2.1 above)
-                    recurseUnorderedValid = false;
-                    errors.add(XmlError.forObject(formatMappedMoreThanOnceError(baseModel, derivedModel), context));
-                    break;
-                } else {
-                    if (derivedParticles[i].getMaxOccurs() == null ||
-                            derivedParticles[i].getMaxOccurs().compareTo(BigInteger.ONE) > 0) {
-                        // no derived particles can have a max occurs greater than 1
-                        recurseUnorderedValid = false;
-                        errors.add(XmlError.forObject(formatAllSeqMaxOccursGreaterThan1Error(derivedParticles[i]), context));
-                        break;
-                    }
-                    if (!isParticleValidRestriction(matchedBaseParticle, derivedParticles[i], errors, context))
-                    {
-                        // already have an error
-                        recurseUnorderedValid = false;
-                        break;
-                    }
-                    // everything is cool, got a match, update to MAPPED
-                    baseParticleMap.put(derivedParticles[i].getName(), MAPPED);
-                }
-            }
-        }
-
-        // if everything is cool so far then check to see if any base particles are not matched
-        if (recurseUnorderedValid) {
-            // get all the hashmap keys and loop thru looking for NOT_MAPPED
-            Set baseParticleCollection = baseParticleMap.keySet();
-            for (Iterator iterator = baseParticleCollection.iterator(); iterator.hasNext();) {
-                QName baseParticleQName = (QName) iterator.next();
-                if (baseParticleMap.get(baseParticleQName) != MAPPED && !((SchemaParticle)baseParticleMap.get(baseParticleQName)).isSkippable()) {
-                    // this base particle was not mapped and is not "particle emptiable" (skippable)
-                    recurseUnorderedValid = false;
-                    errors.add(XmlError.forObject(formatGroupMappingError(baseModel, derivedModel), context));
-                }
-            }
-        }
-
-        return recurseUnorderedValid;
-    }
-
-    private static String formatAllSeqMaxOccursGreaterThan1Error(SchemaParticle derivedModel) {
-        return "Invalid Restriction.  The "
-                + printParticle(derivedModel)
-                + " has a maxOccurs great than 1 ("
-                + printMaxOccurs(derivedModel.getMaxOccurs())
-                + ").  When restricting an <all> with a <sequence>, no <element> can have a maxOccurs > 1";
-    }
-
-    private static String formatInvalidAllSeqMappingError() {
-        return "Invalid Restriction.  Each element in the derived content model must match an element in the base "
-                + "content model.";
-    }
-
-    private static String formatGroupMappingError(SchemaParticle baseModel, SchemaParticle derivedModel) {
-        return "Invalid Restriction.  The members of the derived content model must match the members of the base "
-                + " content model unless the member of the base content model is optional (particle emptiable).";
-    }
-
-    private static String formatMappedMoreThanOnceError(SchemaParticle baseModel, SchemaParticle derivedModel) {
-        return "Invalid Restriction.  When using a <sequence> to restrict an <all> the elements in the <all> can be mapped only once. "
-                + " Found element in the <sequence> that maps an element in the <all> more than once.";
-    }
-
-    private static boolean recurse(SchemaParticle baseModel, SchemaParticle derivedModel, Collection errors, XmlObject context) {
-        // recurse is called when base: ALL derived: ALL or base: SEQUENCE derived: SEQUENCE
-        boolean recurseValid = true;
-        // For an all or sequence group particle to be a ·valid restriction· of another group particle with the same
-        // {compositor} all of the following must be true:
-        // 1 R's occurrence range is a valid restriction of B's occurrence range as defined by
-        // Occurrence Range OK (§3.9.6).
-        // 2 There is a complete ·order-preserving· functional mapping from the particles in the {particles} of R to
-        // the particles in the {particles} of B such that all of the following must be true:
-        //   2.1 Each particle in the {particles} of R is a ·valid restriction· of the particle in the {particles}
-        //   of B it maps to as defined by Particle Valid (Restriction) (§3.9.6).
-        //   2.2 All particles in the {particles} of B which are not mapped to by any particle in the {particles}
-        //   of R are ·emptiable· as defined by Particle Emptiable (§3.9.6).
-        // NOTE: Although the ·validation· semantics of an all group does not depend on the order of its particles,
-        // derived all groups are required to match the order of their base in order to simplify checking that
-        // the derivation is OK.
-        // [Definition:]  A complete functional mapping is order-preserving if each particle r in the domain R maps
-        // to a particle b in the range B which follows (not necessarily immediately) the particle in the range B
-        // mapped to by the predecessor of r, if any, where "predecessor" and "follows" are defined with respect to
-        // the order of the lists which constitute R and B.
-
-        if (!occurrenceRangeOK(baseModel, derivedModel, errors, context)) {
-            // error message is formatted in occurrencRangeOK ...
-            return false;
-        }
-        // cycle thru both derived particle children and base particle children looking for matches
-        //  if the derived particle does not match the base particle then base particle can be skipped if it is
-        //  skippable (same as "particle emptiable") otherwise is an invalid restriction.
-        // after the derived particles have been cycled if there are any base particles left over then they
-        //  must be skippable or invalid restriction
-
-        SchemaParticle[] derivedParticleArray = derivedModel.getParticleChildren();
-        SchemaParticle[] baseParticleArray = baseModel.getParticleChildren();
-        int i = 0, j = 0;
-        for (; i < derivedParticleArray.length && j < baseParticleArray.length;) {
-            SchemaParticle derivedParticle = derivedParticleArray[i];
-            SchemaParticle baseParticle = baseParticleArray[j];
-            // try to match the two particles by recursing
-            if (isParticleValidRestriction(baseParticle, derivedParticle, errors, context)) {
-                // cool found a match, increment both indexes
-                i++;
-                j++;
-            } else {
-                // did not match, increment the base particle array index only
-                //  that's ok if the base particle is skippable
-                if (baseParticle.isSkippable()) {
-                    // Ok, let's skip this base particle, increment base particle array index only
-                    j++;
-                } else {
-                    // whoa, particles are not valid restrictions and base is not skippable - ERROR
-                    recurseValid = false;
-                    String message = "Found non-optional particle that is not mapped in base content model.";
-                    errors.add(XmlError.forObject(formatDerivedMappingError(message, baseModel, derivedModel), context));
-                    break;
-                }
-            }
-        }
-
-        // ok, got to the end of one of the arrays
-        // if at end of base particle array and not at the end of derived particle array then remaining derived
-        //  particles must not match
-        if (i < derivedParticleArray.length) {
-            recurseValid = false;
-            String message = "Found derived particles that are not matched in the base content model.";
-            errors.add(XmlError.forObject(formatDerivedMappingError(message, baseModel, derivedModel), context));
-        } else {
-            // if at end of derived particle array and not at end of base particle array then chck remaining
-            //  base particles to assure they are skippable
-            if (j < baseParticleArray.length) {
-                for (int k = j; k < baseParticleArray.length; k++) {
-                    if (!baseParticleArray[k].isSkippable()) {
-                        recurseValid = false;
-                        String message = "Found trailing base particles that are not optional and are not " +
-                                "represented in the derived content model.";
-                        errors.add(XmlError.forObject(formatDerivedMappingError(message, baseModel, derivedModel), context));
-                    }
-
-                }
-            }
-        }
-
-        return recurseValid;
-    }
-
-    private static String formatDerivedMappingError(String message, SchemaParticle baseModel, SchemaParticle derivedModel) {
-        return "Invalid Restriction.  The derived (restricted) content model must match the base content model unless "
-                + "the part of the base content model that does not match is optional.  A mismatch found between a base " +
-                printParticle(baseModel) + " and a derived " + printParticle(derivedModel) + ".  " + message;
-    }
-
-    private static boolean nsRecurseCheckCardinality(SchemaParticle baseModel, SchemaParticle derivedModel, Collection errors, XmlObject context) {
-        // nsRecurseCheckCardinality is called when:
-        // base: ANY, derived: ALL
-        // base: ANY, derived: CHOICE
-        // base: ANY, derived: SEQUENCE
-        assert baseModel.getParticleType() == SchemaParticle.WILDCARD;
-        assert (derivedModel.getParticleType() == SchemaParticle.ALL)
-                || (derivedModel.getParticleType() == SchemaParticle.CHOICE)
-                || (derivedModel.getParticleType() == SchemaParticle.SEQUENCE);
-        boolean nsRecurseCheckCardinality = true;
-        // For a group particle to be a ·valid restriction· of a wildcard particle all of the following must be true:
-        // 1 Every member of the {particles} of the group is a ·valid restriction· of the wildcard as defined by Particle Valid (Restriction) (§3.9.6).
-        //  Note:  not positive what this means.  Interpreting to mean that every particle of the group must adhere to wildcard derivation rules
-        //         in a recursive manner
-        //  Loop thru the children particles of the group and invoke the appropriate function to check for wildcard restriction validity
-        
-        // BAU - an errata should be submitted on this clause of the spec, because the
-        // spec makes no sense, as the xstc particlesR013.xsd test exemplifies.
-        // what we _should_ so is an "as if" on the wildcard, allowing it minOccurs="0" maxOccurs="unbounded"
-        // before recursing
-        SchemaParticleImpl asIfPart = new SchemaParticleImpl();
-        asIfPart.setParticleType(baseModel.getParticleType());
-        asIfPart.setWildcardProcess(baseModel.getWildcardProcess());
-        asIfPart.setWildcardSet(baseModel.getWildcardSet());
-        asIfPart.setMinOccurs(BigInteger.ZERO);
-        asIfPart.setMaxOccurs(null);
-        asIfPart.setTransitionRules(baseModel.getWildcardSet(), true);
-        asIfPart.setTransitionNotes(baseModel.getWildcardSet(), true);
-
-        SchemaParticle[] particleChildren = derivedModel.getParticleChildren();
-        for (int i = 0; i < particleChildren.length; i++) {
-            SchemaParticle particle = particleChildren[i];
-            switch (particle.getParticleType()) {
-                case SchemaParticle.ELEMENT:
-                    // Check for valid Wildcard/Element derivation
-                    nsRecurseCheckCardinality = nsCompat(asIfPart, (SchemaLocalElement) particle, errors, context);
-                    break;
-                case SchemaParticle.WILDCARD:
-                    // Check for valid Wildcard/Wildcard derivation
-                    nsRecurseCheckCardinality = nsSubset(asIfPart, particle, errors, context);
-                    break;
-                case SchemaParticle.ALL:
-                case SchemaParticle.CHOICE:
-                case SchemaParticle.SEQUENCE:
-                    // Check for valid Wildcard/Group derivation
-                    nsRecurseCheckCardinality = nsRecurseCheckCardinality(asIfPart, derivedModel, errors, context);
-                    break;
-            }
-            // If any particle is invalid then break the loop
-            if (!nsRecurseCheckCardinality) {
-                break;
-            }
-        }
-
-        // 2 The effective total range of the group, as defined by Effective Total Range (all and sequence) (§3.8.6)
-        // (if the group is all or sequence) or Effective Total Range (choice) (§3.8.6) (if it is choice) is a valid
-        // restriction of B's occurrence range as defined by Occurrence Range OK (§3.9.6).
-
-        if (nsRecurseCheckCardinality) {
-            nsRecurseCheckCardinality = checkGroupOccurrenceOK(baseModel, derivedModel, errors, context);
-        }
-
-        return nsRecurseCheckCardinality;
-    }
-
-    private static boolean checkGroupOccurrenceOK(SchemaParticle baseModel, SchemaParticle derivedModel, Collection errors, XmlObject context) {
-        boolean groupOccurrenceOK = true;
-        BigInteger minRange = BigInteger.ZERO;
-        BigInteger maxRange = BigInteger.ZERO;
-        switch (derivedModel.getParticleType()) {
-            case SchemaParticle.ALL:
-            case SchemaParticle.SEQUENCE:
-                minRange = getEffectiveMinRangeAllSeq(derivedModel);
-                maxRange = getEffectiveMaxRangeAllSeq(derivedModel);
-                break;
-            case SchemaParticle.CHOICE:
-                minRange = getEffectiveMinRangeChoice(derivedModel);
-                maxRange = getEffectiveMaxRangeChoice(derivedModel);
-                break;
-        }
-
-        // Check min occurs for validity
-        // derived min occurs is valid if its {min occurs} is greater than or equal to the other's {min occurs}.
-        if (minRange.compareTo(baseModel.getMinOccurs()) < 0) {
-            groupOccurrenceOK = false;
-            errors.add(XmlError.forObject(formatGroupMinOccursError(derivedModel, baseModel), context));
-        }
-        // Check max occurs for validity
-        // one of the following must be true:
-        // The base model's {max occurs} is unbounded.
-        // or both {max occurs} are numbers, and the particle's is less than or equal to the other's
-        BigInteger UNBOUNDED = null;
-        if (baseModel.getMaxOccurs() != UNBOUNDED) {
-            if (maxRange == UNBOUNDED) {
-                groupOccurrenceOK = false;
-                errors.add(XmlError.forObject(formatGroupMaxOccursError(derivedModel, baseModel), context));
-            } else {
-                if (maxRange.compareTo(baseModel.getMaxOccurs()) > 0) {
-                    groupOccurrenceOK = false;
-                    errors.add(XmlError.forObject(formatGroupMaxOccursError(derivedModel, baseModel), context));
-                }
-            }
-        }
-        return groupOccurrenceOK;
-    }
-
-    private static String formatGroupMaxOccursError(SchemaParticle derivedModel, SchemaParticle baseModel) {
-        return "Invalid Restriction.  The maxOccurs for the derived group "
-                + printParticle(derivedModel)
-                + " is great than the base maxOccurs of "
-                + printMaxOccurs(baseModel.getMaxOccurs());
-    }
-
-    private static String formatGroupMinOccursError(SchemaParticle derivedModel, SchemaParticle baseModel) {
-        return "Invalid Restriction.  The minOccurs for the derived group "
-                + printParticle(derivedModel)
-                + " is less than the base minOccurs of "
-                + baseModel.getMinOccurs();
-    }
-
-    private static BigInteger getEffectiveMaxRangeChoice(SchemaParticle derivedModel) {
-        BigInteger maxRange = BigInteger.ZERO;
-        BigInteger UNBOUNDED = null;
-        // Schema Component Constraint: Effective Total Range (choice)
-        // The effective total range of a particle whose {term} is a group whose {compositor} is choice
-        // is a pair of minimum and maximum, as follows:
-        // MAXIMUM
-        // 1) unbounded if the {max occurs} of any wildcard or element declaration particle in the group's {particles} or
-        // the maximum part of the effective total range of any of the group particles in the group's {particles} is
-        // unbounded (note: seems to be the same as Max Range All or Sequence),
-        // or 2) if any of those is non-zero and the {max occurs} of the particle itself is unbounded,
-        // otherwise 3) the product of the particle's {max occurs} and the maximum of the {max occurs} of every
-        // wildcard or element declaration particle in the group's {particles} and the *maximum* (note: this is the difference
-        // between MaxRange Choice ans MaxRange All or Sequence) part of the
-        // effective total range of each of the group particles in the group's {particles}
-        // (or 0 if there are no {particles}).
-
-        boolean nonZeroParticleChildFound = false;
-        BigInteger maxOccursInWildCardOrElement = BigInteger.ZERO;
-        BigInteger maxOccursInGroup = BigInteger.ZERO;
-        SchemaParticle[] particleChildren = derivedModel.getParticleChildren();
-        for (int i = 0; i < particleChildren.length; i++) {
-            SchemaParticle particle = particleChildren[i];
-            switch (particle.getParticleType()) {
-                case SchemaParticle.WILDCARD:
-                case SchemaParticle.ELEMENT:
-                    // if unbounded then maxoccurs will be null
-                    if (particle.getMaxOccurs() == UNBOUNDED) {
-                        maxRange = UNBOUNDED;
-                    } else {
-                        if (particle.getIntMaxOccurs() > 0) {
-                            // show tht at least one non-zero particle is found for later test
-                            nonZeroParticleChildFound = true;
-                            if (particle.getMaxOccurs().compareTo(maxOccursInWildCardOrElement) > 0) {
-                                maxOccursInWildCardOrElement = particle.getMaxOccurs();
-                            }
-                        }
-                    }
-                    break;
-                case SchemaParticle.ALL:
-                case SchemaParticle.SEQUENCE:
-                    maxRange = getEffectiveMaxRangeAllSeq(derivedModel);
-                    if (maxRange != UNBOUNDED) {
-                        // keep highest maxoccurs found
-                        if (maxRange.compareTo(maxOccursInGroup) > 0) {
-                            maxOccursInGroup = maxRange;
-                        }
-                    }
-                    break;
-                case SchemaParticle.CHOICE:
-                    maxRange = getEffectiveMaxRangeChoice(derivedModel);
-                    if (maxRange != UNBOUNDED) {
-                        // keep highest maxoccurs found
-                        if (maxRange.compareTo(maxOccursInGroup) > 0) {
-                            maxOccursInGroup = maxRange;
-                        }
-                    }
-                    break;
-            }
-            // if an unbounded has been found then we are done
-            if (maxRange == UNBOUNDED) {
-                break;
-            }
-        }
-
-        // 1) unbounded if the {max occurs} of any wildcard or element declaration particle in the group's {particles} or
-        // the maximum part of the effective total range of any of the group particles in the group's {particles} is
-        // unbounded
-        if (maxRange != UNBOUNDED) {
-            // 2) if any of those is non-zero and the {max occurs} of the particle itself is unbounded
-            if (nonZeroParticleChildFound && derivedModel.getMaxOccurs() == UNBOUNDED) {
-                maxRange = UNBOUNDED;
-            } else {
-                // 3) the product of the particle's {max occurs} and the maximum of the {max occurs} of every
-                // wildcard or element declaration particle in the group's {particles} and the *maximum*
-                // part of the effective total range of each of the group particles in the group's {particles}
-                maxRange = derivedModel.getMaxOccurs().multiply(maxOccursInWildCardOrElement.add(maxOccursInGroup));
-            }
-        }
-
-        return maxRange;
-    }
-
-    private static BigInteger getEffectiveMaxRangeAllSeq(SchemaParticle derivedModel) {
-        BigInteger maxRange = BigInteger.ZERO;
-        BigInteger UNBOUNDED = null;
-        // Schema Component Constraint: Effective Total Range (all and sequence)
-        // The effective total range of a particle whose {term} is a group whose {compositor} is all or sequence is a
-        // pair of minimum and maximum, as follows:
-        // MAXIMUM
-        // 1) unbounded if the {max occurs} of any wildcard or element declaration particle in the group's {particles} or
-        // the maximum part of the effective total range of any of the group particles in the group's {particles} is
-        // unbounded, or 2) if any of those is non-zero and the {max occurs} of the particle itself is unbounded, otherwise
-        // 3) the product of the particle's {max occurs} and the *sum* of the {max occurs} of every wildcard or element
-        // declaration particle in the group's {particles} and the maximum part of the effective total range of each of
-        // the group particles in the group's {particles} (or 0 if there are no {particles}).
-
-        boolean nonZeroParticleChildFound = false;
-        BigInteger maxOccursTotal = BigInteger.ZERO;
-        BigInteger maxOccursInGroup = BigInteger.ZERO;
-        SchemaParticle[] particleChildren = derivedModel.getParticleChildren();
-        for (int i = 0; i < particleChildren.length; i++) {
-            SchemaParticle particle = particleChildren[i];
-            switch (particle.getParticleType()) {
-                case SchemaParticle.WILDCARD:
-                case SchemaParticle.ELEMENT:
-                    // if unbounded then maxoccurs will be null
-                    if (particle.getMaxOccurs() == UNBOUNDED) {
-                        maxRange = UNBOUNDED;
-                    } else {
-                        if (particle.getIntMaxOccurs() > 0) {
-                            // show tht at least one non-zero particle is found for later test
-                            nonZeroParticleChildFound = true;
-                            maxOccursTotal = maxOccursTotal.add(particle.getMaxOccurs());
-                        }
-                    }
-                    break;
-                case SchemaParticle.ALL:
-                case SchemaParticle.SEQUENCE:
-                    maxRange = getEffectiveMaxRangeAllSeq(derivedModel);
-                    if (maxRange != UNBOUNDED) {
-                        // keep highest maxoccurs found
-                        if (maxRange.compareTo(maxOccursInGroup) > 0) {
-                            maxOccursInGroup = maxRange;
-                        }
-                    }
-                    break;
-                case SchemaParticle.CHOICE:
-                    maxRange = getEffectiveMaxRangeChoice(derivedModel);
-                    if (maxRange != UNBOUNDED) {
-                        // keep highest maxoccurs found
-                        if (maxRange.compareTo(maxOccursInGroup) > 0) {
-                            maxOccursInGroup = maxRange;
-                        }
-                    }
-                    break;
-            }
-            // if an unbounded has been found then we are done
-            if (maxRange == UNBOUNDED) {
-                break;
-            }
-        }
-
-        // 1) unbounded if the {max occurs} of any wildcard or element declaration particle in the group's {particles} or
-        // the maximum part of the effective total range of any of the group particles in the group's {particles} is
-        // unbounded
-        if (maxRange != UNBOUNDED) {
-            // 2) if any of those is non-zero and the {max occurs} of the particle itself is unbounded
-            if (nonZeroParticleChildFound && derivedModel.getMaxOccurs() == UNBOUNDED) {
-                maxRange = UNBOUNDED;
-            } else {
-                // 3) the product of the particle's {max occurs} and the sum of the {max occurs} of every wildcard or element
-                // declaration particle in the group's {particles} and the maximum part of the effective total range of each of
-                // the group particles in the group's {particles}
-                maxRange = derivedModel.getMaxOccurs().multiply(maxOccursTotal.add(maxOccursInGroup));
-            }
-        }
-
-        return maxRange;
-
-    }
-
-    private static BigInteger getEffectiveMinRangeChoice(SchemaParticle derivedModel) {
-        // Schema Component Constraint: Effective Total Range (choice)
-        // The effective total range of a particle whose {term} is a group whose {compositor} is choice is a pair of
-        // minimum and maximum, as follows:
-        // MINIMUM
-        // The product of the particle's {min occurs}
-        // and the *minimum* of the {min occurs} of every wildcard or element
-        // declaration particle in the group's {particles} and the minimum part of the effective total range of each of
-        // the group particles in the group's {particles} (or 0 if there are no {particles}).
-        SchemaParticle[] particleChildren = derivedModel.getParticleChildren();
-        if (particleChildren.length == 0)
-            return BigInteger.ZERO;
-        BigInteger minRange = null;
-        // get the minimum of every wildcard or element
-        // total up the effective total range for each group
-        for (int i = 0; i < particleChildren.length; i++) {
-            SchemaParticle particle = particleChildren[i];
-            switch (particle.getParticleType()) {
-                case SchemaParticle.WILDCARD:
-                case SchemaParticle.ELEMENT:
-                    if (minRange == null || minRange.compareTo(particle.getMinOccurs()) > 0) {
-                        minRange = particle.getMinOccurs();
-                    }
-                    break;
-                case SchemaParticle.ALL:
-                case SchemaParticle.SEQUENCE:
-                    BigInteger mrs = getEffectiveMinRangeAllSeq(derivedModel);
-                    if (minRange == null || minRange.compareTo(mrs) > 0) {
-                        minRange = mrs;
-                    }
-                    break;
-                case SchemaParticle.CHOICE:
-                    BigInteger mrc = getEffectiveMinRangeChoice(derivedModel);
-                    if (minRange == null || minRange.compareTo(mrc) > 0) {
-                        minRange = mrc;
-                    }
-                    break;
-            }
-        }
-        if (minRange == null)
-            minRange = BigInteger.ZERO;
-
-        // calculate the total
-        minRange = derivedModel.getMinOccurs().multiply(minRange);
-        return minRange;
-    }
-
-    private static BigInteger getEffectiveMinRangeAllSeq(SchemaParticle derivedModel) {
-        BigInteger minRange = BigInteger.ZERO;
-        // Schema Component Constraint: Effective Total Range (all and sequence)
-        // The effective total range of a particle whose {term} is a group whose {compositor} is all or sequence is a
-        // pair of minimum and maximum, as follows:
-        // MINIMUM
-        // The product of the particle's {min occurs}
-        // and the *sum* of the {min occurs} of every wildcard or element
-        // declaration particle in the group's {particles}
-        // and the minimum part of the effective total range of each
-        // of the group particles in the group's {particles} (or 0 if there are no {particles}).
-        SchemaParticle[] particleChildren = derivedModel.getParticleChildren();
-        BigInteger particleTotalMinOccurs = BigInteger.ZERO;
-        for (int i = 0; i < particleChildren.length; i++) {
-            SchemaParticle particle = particleChildren[i];
-            switch (particle.getParticleType()) {
-                case SchemaParticle.WILDCARD:
-                case SchemaParticle.ELEMENT:
-                    particleTotalMinOccurs = particleTotalMinOccurs.add(particle.getMinOccurs());
-                    break;
-                case SchemaParticle.ALL:
-                case SchemaParticle.SEQUENCE:
-                    particleTotalMinOccurs = particleTotalMinOccurs.add(getEffectiveMinRangeAllSeq(derivedModel));
-                    break;
-                case SchemaParticle.CHOICE:
-                    particleTotalMinOccurs = particleTotalMinOccurs.add(getEffectiveMinRangeChoice(derivedModel));
-                    break;
-            }
-        }
-
-        minRange = derivedModel.getMinOccurs().multiply(particleTotalMinOccurs);
-
-        return minRange;
-    }
-
-    private static boolean nsSubset(SchemaParticle baseModel, SchemaParticle derivedModel, Collection errors, XmlObject context) {
-        // nsSubset is called when base: ANY, derived: ANY
-        assert baseModel.getParticleType() == SchemaParticle.WILDCARD;
-        assert derivedModel.getParticleType() == SchemaParticle.WILDCARD;
-        boolean nsSubset = false;
-        // For a wildcard particle to be a ·valid restriction· of another wildcard particle all of the following must be true:
-        // 1 R's occurrence range must be a valid restriction of B's occurrence range as defined by Occurrence Range OK (§3.9.6).
-        if (occurrenceRangeOK(baseModel, derivedModel, errors, context)) {
-            // 2 R's {namespace constraint} must be an intensional subset of B's {namespace constraint} as defined
-            // by Wildcard Subset (§3.10.6).
-            if (baseModel.getWildcardSet().inverse().isDisjoint(derivedModel.getWildcardSet())) {
-                nsSubset = true;
-            } else {
-                nsSubset = false;
-                errors.add(XmlError.forObject(formatNSIsNotSubsetError(baseModel, derivedModel), context));
-            }
-        } else {
-            nsSubset = false;
-            errors.add(XmlError.forObject(formatNSIsNotSubsetError(baseModel, derivedModel), context));
-        }
-
-
-        return nsSubset;
-    }
-
-    private static boolean nsCompat(SchemaParticle baseModel, SchemaLocalElement derivedElement, Collection errors, XmlObject context) {
-        // nsCompat is called when base: ANY, derived: ELEMENT
-        assert baseModel.getParticleType() == SchemaParticle.WILDCARD;
-        boolean nsCompat = false;
-        // For an element declaration particle to be a ·valid restriction· of a wildcard particle all of the following must be true:
-        // 1 The element declaration's {target namespace} is ·valid· with respect to the wildcard's {namespace constraint}
-        // as defined by Wildcard allows Namespace Name (§3.10.4).
-        if (baseModel.getWildcardSet().contains(derivedElement.getName())) {
-            // 2 R's occurrence range is a valid restriction of B's occurrence range as defined by Occurrence Range OK (§3.9.6).
-            if (occurrenceRangeOK(baseModel, (SchemaParticle) derivedElement, errors, context)) {
-                nsCompat = true;
-            } else {
-                errors.add(XmlError.forObject(formatOccurenceRangeMinError(baseModel, (SchemaParticle) derivedElement), context));
-            }
-        } else {
-            nsCompat = false;
-            errors.add(XmlError.forObject(formatNSIsNotSubsetError(baseModel, (SchemaParticle) derivedElement), context));
-        }
-
-
-        return nsCompat;
-    }
-
-    private static String formatNSIsNotSubsetError(SchemaParticle baseParticle, SchemaParticle derivedParticle) {
-        return "Invalid Restriction. The namespace(s) of the derived field: " + printParticle(derivedParticle)
-                + " are not a subset of the namespace(s) of the base field: " + printParticle(baseParticle);
-    }
-
-    private static String formatInvalidCombinationError(SchemaParticle baseModel, SchemaParticle derivedModel) {
-        return "Invalid Restriction.  The derived content model "
-                + printParticle(derivedModel)
-                + " cannot restrict base content model "
-                + printParticle(baseModel);
-    }
-
-    private static boolean nameAndTypeOK(SchemaLocalElement baseElement, SchemaLocalElement derivedElement, Collection errors, XmlObject context) {
-        // nameAndTypeOK called when base: ELEMENT and derived: ELEMENT
-        boolean nameAndTypeOK = false;
-        // Schema Component Constraint: Particle Restriction OK (Elt:Elt -- NameAndTypeOK)
-        // 1 The declarations' {name}s and {target namespace}s are the same.
-        if (((SchemaParticle)baseElement).canStartWithElement(derivedElement.getName())) {
-            // 2 Either B's {nillable} is true or R's {nillable} is false.
-            if (baseElement.isNillable() || !derivedElement.isNillable()) {
-                // 3 R's occurrence range is a valid restriction of B's occurrence range as defined by Occurrence Range OK (§3.9.6).
-                if (occurrenceRangeOK((SchemaParticle) baseElement, (SchemaParticle) derivedElement, errors, context)) {
-                    // 4 either B's declaration's {value constraint} is absent, or is not fixed,
-                    // or R's declaration's {value constraint} is fixed with the same value.
-                    nameAndTypeOK = checkFixed(baseElement, derivedElement, errors, context);
-                    if (nameAndTypeOK) {
-                        // 5 R's declaration's {identity-constraint definitions} is a subset of B's declaration's {identity-constraint definitions}, if any.
-                        nameAndTypeOK = checkIdentityConstraints(baseElement, derivedElement, errors, context);
-                        if (nameAndTypeOK) {
-                            // 7 R's {type definition} is validly derived given {extension, list, union} from B's {type definition} as
-                            // defined by Type Derivation OK (Complex) (§3.4.6) or Type Derivation OK (Simple) (§3.14.6), as appropriate.
-                            nameAndTypeOK = typeDerivationOK(baseElement.getType(), derivedElement.getType(), errors, context);
-                            if (nameAndTypeOK) {
-                                // 6 R's declaration's {disallowed substitutions} is a superset of B's declaration's {disallowed substitutions}.
-                                nameAndTypeOK = blockSetOK(baseElement, derivedElement, errors, context);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        return nameAndTypeOK;
-    }
-    
-    private static boolean blockSetOK(SchemaLocalElement baseElement, SchemaLocalElement derivedElement, Collection errors, XmlObject context)
-    {
-        if (baseElement.blockRestriction() && !derivedElement.blockRestriction())
-        {
-            errors.add(XmlError.forObject("Restriction Invalid.  Derived " + printParticle((SchemaParticle)derivedElement) + " does not block restriction as does the base " + printParticle((SchemaParticle)baseElement), context));
-            return false;
-        }
-        if (baseElement.blockExtension() && !derivedElement.blockExtension())
-        {
-            errors.add(XmlError.forObject("Restriction Invalid.  Derived " + printParticle((SchemaParticle)derivedElement) + " does not block extension as does the base " + printParticle((SchemaParticle)baseElement), context));
-            return false;
-        }
-        if (baseElement.blockSubstitution() && !derivedElement.blockSubstitution())
-        {
-            errors.add(XmlError.forObject("Restriction Invalid.  Derived " + printParticle((SchemaParticle)derivedElement) + " does not block substitution as does the base " + printParticle((SchemaParticle)baseElement), context));
-            return false;
-        }
-        return true;    
-    }
-
-    private static boolean typeDerivationOK(SchemaType baseType, SchemaType derivedType, Collection errors, XmlObject context) {
-        boolean typeDerivationOK = false;
-        // 1 If B and D are not the same type definition, then the {derivation method} of D must not be in the subset.
-        // 2 One of the following must be true:
-        // 2.1 B and D must be the same type definition.
-        // 2.2 B must be D's {base type definition}.
-        // 2.3 All of the following must be true:
-        // 2.3.1 D's {base type definition} must not be the ·ur-type definition·.
-        // 2.3.2 The appropriate case among the following must be true:
-        // 2.3.2.1 If D's {base type definition} is complex, then it must be validly derived from B given the subset as defined by this constraint.
-        // 2.3.2.2 If D's {base type definition} is simple, then it must be validly derived from B given the subset as defined in Type Derivation OK (Simple) (§3.14.6).
-        //   This line will check if derivedType is a subType of baseType (should handle all of the 2.xx checks above)
-        if (baseType.isAssignableFrom(derivedType)) {
-            // Ok derived type is subtype but need to make sure that all of the derivations between the two types are by
-            // Restriction.
-            typeDerivationOK = checkAllDerivationsForRestriction(baseType, derivedType, errors, context);
-        } else {
-            // derived type is not a sub-type of base type
-            typeDerivationOK = false;
-            errors.add(XmlError.forObject(formatDerivedTypeNotSubTypeError(baseType, derivedType), context));
-        }
-
-        return typeDerivationOK;
-    }
-
-    private static String formatDerivedTypeNotSubTypeError(SchemaType baseType, SchemaType derivedType) {
-        return "Restriction Invalid.  Derived Type: " + printType(derivedType) + " is not a sub-type of Base Type: " + printType(baseType);
-    }
-
-    private static boolean checkAllDerivationsForRestriction(SchemaType baseType, SchemaType derivedType, Collection errors, XmlObject context) {
-
-        boolean allDerivationsAreRestrictions = true;
-        SchemaType currentType = derivedType;
-        // run up the types hierarchy from derived Type to base Type and make sure that all are derived by
-        //   restriction.  If any are not then this is not a valid restriction.
-        while (!baseType.equals(currentType)) {
-            if (currentType.getDerivationType() == SchemaType.DT_RESTRICTION) {
-                currentType = currentType.getBaseType();
-            } else {
-                allDerivationsAreRestrictions = false;
-                errors.add(XmlError.forObject(formatAllDerivationsAreNotRestrictionsError(baseType, derivedType, currentType), context));
-                break;
-            }
-        }
-        return allDerivationsAreRestrictions;
-    }
-
-    private static String formatAllDerivationsAreNotRestrictionsError(SchemaType baseType, SchemaType derivedType, SchemaType currentType) {
-        return "Invalid Restriction.  The type " + printType(derivedType) + " derived from base type "
-                + printType(baseType) + " has an intermediary type " + printType(currentType)
-                + "that is not derived by restriction.";
-    }
-
-    private static boolean checkIdentityConstraints(SchemaLocalElement baseElement, SchemaLocalElement derivedElement, Collection errors, XmlObject context) {
-        // 5 R's declaration's {identity-constraint definitions} is a subset of B's declaration's {identity-constraint definitions}, if any.
-        boolean identityConstraintsOK = true;
-
-        SchemaIdentityConstraint[] baseConstraints = baseElement.getIdentityConstraints();
-        SchemaIdentityConstraint[] derivedConstraints = derivedElement.getIdentityConstraints();
-        // cycle thru derived's identity constraints and check each to assure they in the array of base constraints
-        for (int i = 0; i < derivedConstraints.length; i++) {
-            SchemaIdentityConstraint derivedConstraint = derivedConstraints[i];
-            if (checkForIdentityConstraintExistence(baseConstraints, derivedConstraint)) {
-                identityConstraintsOK = false;
-                errors.add(XmlError.forObject(formatIdentityConstraintsNotSubsetError(baseElement, derivedElement), context));
-                break;
-            }
-        }
-        return identityConstraintsOK;
-    }
-
-    private static String formatIdentityConstraintsNotSubsetError(SchemaLocalElement baseElement, SchemaLocalElement derivedElement) {
-        return "Restriction Invalid.  The identity constraints for " + printParticle((SchemaParticle)derivedElement)
-                + " are not a subset of the identity constraints for " + printParticle((SchemaParticle)baseElement);
-    }
-
-    private static boolean checkForIdentityConstraintExistence(SchemaIdentityConstraint[] baseConstraints, SchemaIdentityConstraint derivedConstraint) {
-        // spin thru the base identity constraints check to see if derived constraint exists
-        boolean identityConstraintExists = false;
-        for (int i = 0; i < baseConstraints.length; i++) {
-            SchemaIdentityConstraint baseConstraint = baseConstraints[i];
-            if (baseConstraint.getName().equals(derivedConstraint.getName())) {
-                identityConstraintExists = true;
-                break;
-            }
-        }
-        return identityConstraintExists;
-    }
-
-
-    private static boolean checkFixed(SchemaLocalElement baseModel, SchemaLocalElement derivedModel, Collection errors, XmlObject context) {
-        // 4 either B's declaration's {value constraint} is absent, or is not fixed,
-        // or R's declaration's {value constraint} is fixed with the same value.
-        boolean checkFixed = false;
-        if (baseModel.isFixed()) {
-            if (baseModel.getDefaultText().equals(derivedModel.getDefaultText())) {
-                //  R's declaration's {value constraint} is fixed with the same value.
-                checkFixed = true;
-            } else {
-                // The derived element has a fixed value that is different than the base element
-                errors.add(XmlError.forObject(formatInvalidFixedError(baseModel, derivedModel), context));
-                checkFixed = false;
-            }
-        } else {
-            //  B's declaration's {value constraint} is absent, or is not fixed,
-            checkFixed = true;
-        }
-        return checkFixed;
-    }
-
-    private static String formatInvalidFixedError(SchemaLocalElement baseModel, SchemaLocalElement derivedModel) {
-        return "The Derived Content Model on Element: '"
-                + printParticle((SchemaParticle)derivedModel)
-                + "' has a fixed value of: '"
-                + derivedModel.getDefaultText()
-                + "' which does not match the Base Content Model: '"
-                + printParticle((SchemaParticle)baseModel)
-                + "' what has a fixed value of: '"
-                + baseModel.getDefaultText() + "'";
-    }
-
-    private static boolean occurrenceRangeOK(SchemaParticle baseParticle, SchemaParticle derivedParticle, Collection errors, XmlObject context) {
-        boolean occurrenceRangeOK = false;
-        // Note: in the following comments (from the schema spec) other is the baseModel
-        // 1 Its {min occurs} is greater than or equal to the other's {min occurs}.
-        if (derivedParticle.getMinOccurs().compareTo(baseParticle.getMinOccurs()) >= 0) {
-            // 2 one of the following must be true:
-            // 2.1 The other's {max occurs} is unbounded.
-            if (baseParticle.getMaxOccurs() == null) {
-                occurrenceRangeOK = true;
-            } else {
-                // 2.2 Both {max occurs} are numbers, and the particle's is less than or equal to the other's.
-                if (derivedParticle.getMaxOccurs() != null && baseParticle.getMaxOccurs() != null &&
-                        derivedParticle.getMaxOccurs().compareTo(baseParticle.getMaxOccurs()) <= 0) {
-                    occurrenceRangeOK = true;
-                } else {
-                    occurrenceRangeOK = false;
-                    if (baseParticle.getName() == null || derivedParticle.getName() == null) {
-                        errors.add(XmlError.forObject(formatOccurenceRangeMaxErrorGroup(baseParticle, derivedParticle), context));
-                    } else {
-                        errors.add(XmlError.forObject(formatOccurenceRangeMaxError(baseParticle, derivedParticle), context));
-                    }
-                }
-            }
-        } else {
-            occurrenceRangeOK = false;
-            if (baseParticle.getName() == null || derivedParticle.getName() == null) {
-                errors.add(XmlError.forObject(formatOccurenceRangeMinErrorGroup(baseParticle, derivedParticle), context));
-            } else {
-                errors.add(XmlError.forObject(formatOccurenceRangeMinError(baseParticle, derivedParticle), context));
-            }
-        }
-        return occurrenceRangeOK;
-    }
-
-    private static String formatOccurenceRangeMaxErrorGroup(SchemaParticle baseParticle, SchemaParticle derivedParticle) {
-        return "Invalid Restriction.  The maxOccurs for the "
-                + printParticle(derivedParticle)
-                + " (" + printMaxOccurs(derivedParticle.getMaxOccurs())
-                + ") is greater than than the maxOccurs for the base "
-                + printParticle(baseParticle)
-                + " (" + printMaxOccurs(baseParticle.getMaxOccurs()) + ")";
-    }
-
-    private static String formatOccurenceRangeMinErrorGroup(SchemaParticle baseParticle, SchemaParticle derivedParticle) {
-        return "Invalid Restriction.  The minOccurs for the "
-                + printParticle(derivedParticle)
-                + " (" + derivedParticle.getMinOccurs().toString()
-                + ") is less than than the minOccurs for the base "
-                + printParticle(baseParticle)
-                + " (" + baseParticle.getMinOccurs().toString() + ")";
-    }
-
-    private static String formatOccurenceRangeMinError(SchemaParticle baseField, SchemaParticle derivedField) {
-        return "Invalid Restriction.  The minOccurs for the element: '"
-                + printParticle(derivedField)
-                + "' (" + derivedField.getMinOccurs().toString()
-                + ") is less than than the minOccurs for the base element: '"
-                + printParticle(baseField)
-                + "' (" + baseField.getMinOccurs().toString() + ")";
-    }
-
-    private static String formatOccurenceRangeMaxError(SchemaParticle baseField, SchemaParticle derivedField) {
-        return "Invalid Restriction.  The maxOccurs for the element: '"
-                + printParticle(derivedField)
-                + "' (" + printMaxOccurs(derivedField.getMaxOccurs())
-                + ") is greater than than the maxOccurs for the base element: '"
-                + printParticle(baseField) + "' (" + printMaxOccurs(baseField.getMaxOccurs()) + ")";
-    }
-    
-    private static String printParticle(SchemaParticle part)
-    {
-        switch (part.getParticleType()) {
-            case SchemaParticle.ALL:
-                return "<all>";
-            case SchemaParticle.CHOICE:
-                return "<choice>";
-            case SchemaParticle.ELEMENT:
-                return "<element name=\"" + QNameHelper.pretty(part.getName()) + "\">";
-            case SchemaParticle.SEQUENCE:
-                return "<sequence>";
-            case SchemaParticle.WILDCARD:
-                return "<any>";
-            default :
-                return "??";
-        }
-    }
-    
-    private static String printMaxOccurs(BigInteger bi)
-    {
-        if (bi == null)
-            return "unbounded";
-        return bi.toString();
-    }
-    
-    private static String printType(SchemaType type)
-    {
-        if (type.getName() != null)
-            return QNameHelper.pretty(type.getName());
-        return type.toString();
-    }
-
-    private static void checkSubstitutionGroups(SchemaGlobalElement[] elts)
-    {
-        StscState state = StscState.get();
-
-        for (int i = 0 ; i < elts.length ; i++)
-        {
-            SchemaGlobalElement elt = elts[i];
-            SchemaGlobalElement head = elt.substitutionGroup();
-
-            if (head != null)
-            {
-                SchemaType headType = head.getType();
-                SchemaType tailType = elt.getType();
-                XmlObject parseTree = ((SchemaGlobalElementImpl)elt)._parseObject;
-
-                if (! headType.isAssignableFrom(tailType))
-                {
-                    state.error("Element " + QNameHelper.pretty(elt.getName()) +
-                        " must have a type that is derived from the type of its substitution group.",
-                        XmlErrorContext.INCONSISTENT_TYPE, parseTree);
-                    
-                }
-                else if (head.finalExtension() && head.finalRestriction())
-                {
-                    state.error("Element " + QNameHelper.pretty(elt.getName()) + 
-                        " cannot be substituted for element with final='#all'",
-                        XmlErrorContext.CANNOT_DERIVE_FINAL, parseTree);
-                }
-                else if (! headType.equals(tailType))
-                {
-                    if (head.finalExtension() && 
-                             tailType.getDerivationType() == SchemaType.DT_EXTENSION)
-                    {
-                        state.error("Element " + QNameHelper.pretty(elt.getName()) + 
-                            " cannot be substituted for element with final='extension'",
-                            XmlErrorContext.CANNOT_DERIVE_FINAL, parseTree);
-                    }
-                    else if (head.finalRestriction() &&
-                             tailType.getDerivationType() == SchemaType.DT_RESTRICTION)
-                    {
-                        state.error("Element " + QNameHelper.pretty(elt.getName()) + 
-                            " cannot be substituted for element with final='restriction'",
-                            XmlErrorContext.CANNOT_DERIVE_FINAL, parseTree);
-                    }
-                }
-            }
-
-        }
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java
deleted file mode 100644
index 2333939..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java
+++ /dev/null
@@ -1,2003 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import java.math.BigInteger;
-import java.util.*;
-import java.util.List;
-
-import org.w3.x2001.xmlSchema.*;
-import org.w3.x2001.xmlSchema.SchemaDocument.Schema;
-import org.w3.x2001.xmlSchema.AnyDocument.Any;
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.impl.common.XmlErrorContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.QNameSetBuilder;
-import org.apache.xmlbeans.XmlInteger;
-import org.apache.xmlbeans.SchemaField;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.SchemaAttributeModel;
-import org.apache.xmlbeans.SchemaProperty;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.XmlNonNegativeInteger;
-import org.apache.xmlbeans.SchemaLocalAttribute;
-import org.apache.xmlbeans.SchemaLocalElement;
-import org.apache.xmlbeans.QNameSetSpecification;
-
-public class StscComplexTypeResolver
-{
-    public static Group getContentModel(ComplexType parseCt)
-    {
-        if (parseCt.getAll() != null)
-            return parseCt.getAll();
-
-        if (parseCt.getSequence() != null)
-            return parseCt.getSequence();
-
-        if (parseCt.getChoice() != null)
-            return parseCt.getChoice();
-
-        if (parseCt.getGroup() != null)
-            return parseCt.getGroup();
-
-        return null;
-    }
-
-    public static Group getContentModel(ComplexRestrictionType parseRest)
-    {
-        if (parseRest.getAll() != null)
-            return parseRest.getAll();
-
-        if (parseRest.getSequence() != null)
-            return parseRest.getSequence();
-
-        if (parseRest.getChoice() != null)
-            return parseRest.getChoice();
-
-        if (parseRest.getGroup() != null)
-            return parseRest.getGroup();
-
-        return null;
-
-    }
-
-    public static Group getContentModel(ExtensionType parseExt)
-    {
-        if (parseExt.getAll() != null)
-            return parseExt.getAll();
-
-        if (parseExt.getSequence() != null)
-            return parseExt.getSequence();
-
-        if (parseExt.getChoice() != null)
-            return parseExt.getChoice();
-
-        if (parseExt.getGroup() != null)
-            return parseExt.getGroup();
-
-        return null;
-
-    }
-
-    private static Schema getSchema(XmlObject o)
-    {
-        XmlCursor c = o.newCursor();
-        
-        try
-        {
-            while ( c.toParent() )
-            {
-                o = c.getObject();
-                
-                if (o.schemaType().equals(Schema.type))
-                    return (Schema) o;
-            }
-        }
-        finally
-        {
-            c.dispose();
-        }
-        
-        return null;
-    }
-
-    public static void resolveComplexType(SchemaTypeImpl sImpl)
-    {
-        ComplexType parseCt = (ComplexType)sImpl.getParseObject();
-        StscState state = StscState.get();
-        Schema schema = getSchema(parseCt);
-
-        // Set abstract & final flags
-        boolean abs = parseCt.isSetAbstract() ? parseCt.getAbstract() : false;
-        boolean finalExt = false;
-        boolean finalRest = false;
-        boolean finalList = false;
-        boolean finalUnion = false;
-
-        Object ds = null;
-        if (parseCt.isSetFinal())
-        {
-            ds = parseCt.getFinal();
-        }
-        // Inspect the final default attribute on the schema
-        else if (schema != null && schema.isSetFinalDefault())
-        {
-            ds = schema.getFinalDefault();
-        }
-
-        if (ds != null)
-        {
-            if (ds instanceof String && ds.equals("#all"))
-            {
-                // #ALL value
-                finalExt = finalRest = finalList = finalUnion = true;
-            }
-            else if (ds instanceof List)
-            {
-                if (((List)ds).contains("extension"))
-                    finalExt = true;
-                
-                if (((List)ds).contains("restriction"))
-                    finalRest = true;
-
-// Since complex types don't participate in list and unions, these can remain
-// false.  Perhaps we should throw an error.
-
-//                if (((List)ds).contains("list"))
-//                    finalList = true;
-//                
-//                if (((List)ds).contains("union"))
-//                    finalUnion = true;
-            }
-        }
-
-        sImpl.setAbstractFinal(abs, finalExt, finalRest, finalList, finalUnion);
-
-        // Set block flags
-        boolean blockExt = false;
-        boolean blockRest = false;
-        Object block = null;
-
-        if (parseCt.isSetBlock())
-            block = parseCt.getBlock();
-        else if (schema != null && schema.isSetBlockDefault())
-            block = schema.getBlockDefault();
-
-        if (block != null)
-        {
-            if (block instanceof String && block.equals("#all"))
-            {
-                // #ALL value
-                blockExt = blockRest = true;
-            }
-            else if (block instanceof List)
-            {
-                if (((List)block).contains("extension"))
-                    blockExt = true;
-                if (((List)block).contains("restriction"))
-                    blockRest = true;
-            }
-        }
-
-        sImpl.setBlock(blockExt, blockRest);
-
-        // Verify: have simpleContent, complexContent, or direct stuff
-        ComplexContentDocument.ComplexContent parseCc = parseCt.getComplexContent();
-        SimpleContentDocument.SimpleContent parseSc = parseCt.getSimpleContent();
-        Group parseGroup = getContentModel(parseCt);
-        int count =
-                (parseCc != null ? 1 : 0) +
-                (parseSc != null ? 1 : 0) +
-                (parseGroup != null ? 1 : 0);
-        if (count > 1)
-        {
-            state.error("A complex type must define either a content model, " +
-                      "or a simpleContent or complexContent derivation: " +
-                      "more than one found.",
-                    XmlErrorContext.REDUNDANT_CONTENT_MODEL, parseCt);
-            // recovery: treat it as the first of complexContent, simpleContent, model
-            parseGroup = null;
-            if (parseCc != null && parseSc != null)
-                parseSc = null;
-        }
-        
-        if (parseCc != null)
-        {
-            if (parseCc.getExtension() != null && parseCc.getRestriction() != null)
-                state.error("Restriction conflicts with extension", XmlErrorContext.REDUNDANT_CONTENT_MODEL, parseCc.getRestriction());
-            
-            // Mixed can be specified in two places: the rules are that Cc wins over Ct if present
-            // http://www.w3.org/TR/xmlschema-1/#c-mve
-            boolean mixed = parseCc.isSetMixed() ? parseCc.getMixed() : parseCt.getMixed();
-            
-            if (parseCc.getExtension() != null)
-                resolveCcExtension(sImpl, parseCc.getExtension(), mixed);
-            else if (parseCc.getRestriction() != null)
-                resolveCcRestriction(sImpl, parseCc.getRestriction(), mixed);
-            else
-            {
-                state.error("Missing restriction or extension", XmlErrorContext.MISSING_RESTRICTION_OR_EXTENSION, parseCc);
-                resolveErrorType(sImpl);
-            }
-            return;
-        }
-        else if (parseSc != null)
-        {
-            if (parseSc.getExtension() != null && parseSc.getRestriction() != null)
-                state.error("Restriction conflicts with extension", XmlErrorContext.REDUNDANT_CONTENT_MODEL, parseSc.getRestriction());
-
-            if (parseSc.getExtension() != null)
-                resolveScExtension(sImpl, parseSc.getExtension());
-            else if (parseSc.getRestriction() != null)
-                resolveScRestriction(sImpl, parseSc.getRestriction());
-            else
-            {
-                state.error("Missing restriction or extension", XmlErrorContext.MISSING_RESTRICTION_OR_EXTENSION, parseSc);
-                resolveErrorType(sImpl);
-            }
-            return;
-        }
-        else
-            resolveBasicComplexType(sImpl);
-    }
-
-    static void resolveErrorType(SchemaTypeImpl sImpl)
-    {
-        throw new RuntimeException("This type of error recovery not yet implemented.");
-    }
-
-    private static SchemaType.Ref[] makeRefArray(Collection typeList)
-    {
-        SchemaType.Ref[] result = new SchemaType.Ref[typeList.size()];
-        int j = 0;
-        for (Iterator i = typeList.iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaType)i.next()).getRef();
-        return result;
-    }
-
-
-    static void resolveBasicComplexType(SchemaTypeImpl sImpl)
-    {
-        List anonymousTypes = new ArrayList();
-        ComplexType parseTree = (ComplexType)sImpl.getParseObject();
-        String targetNamespace = sImpl.getTargetNamespace();
-        boolean chameleon = (sImpl.getChameleonNamespace() != null);
-        Group parseGroup = getContentModel(parseTree);
-
-        if (sImpl.isRedefinition())
-        {
-            StscState.get().error("A type redefinition must extend or restrict the original definition of the type.", XmlErrorContext.GENERIC_ERROR, parseTree);
-            // recovery: oh well.
-        }
-
-        int particleCode = translateParticleCode(parseGroup);
-
-        // used to ensure consistency (doesn't become part of the result)
-        Map elementModel = new LinkedHashMap();
-
-        // build content model and anonymous types
-        SchemaParticle contentModel = translateContentModel(sImpl, parseGroup, targetNamespace, chameleon, particleCode, anonymousTypes, elementModel, false, null);
-
-        // detect the nonempty "all" case (empty <all> doesn't count - it needs to be eliminated to match XSD test cases)
-        boolean isAll = contentModel != null && contentModel.getParticleType() == SchemaParticle.ALL;
-        
-        // build attr model and anonymous types
-        SchemaAttributeModelImpl attrModel = new SchemaAttributeModelImpl();
-        translateAttributeModel(parseTree, targetNamespace, chameleon, anonymousTypes, sImpl, null, attrModel, null, true, null);
-
-        // summarize wildcard information
-        WildcardResult wcElt = summarizeEltWildcards(contentModel);
-        WildcardResult wcAttr = summarizeAttrWildcards(attrModel);
-
-        // build state machine and verify that content model is deterministic
-        if (contentModel != null)
-        {
-            buildStateMachine(contentModel);
-            if (!StscState.get().noUpa() && !((SchemaParticleImpl)contentModel).isDeterministic())
-                StscState.get().error("Content model violates the unique particle attribution rule", XmlErrorContext.NONDETERMINISTIC_MODEL, parseGroup);
-        }
-
-        // build property model
-        // emitDBG("Building content Model for " + sImpl);
-        Map elementPropertyModel = buildContentPropertyModelByQName(contentModel, sImpl);
-
-        // add attribute property model
-        Map attributePropertyModel = buildAttributePropertyModelByQName(attrModel, sImpl);
-
-        // figure out content type
-        int complexVariety =
-            parseTree.getMixed()
-                ? SchemaType.MIXED_CONTENT
-                : contentModel == null
-                    ? SchemaType.EMPTY_CONTENT
-                    : SchemaType.ELEMENT_CONTENT;
-
-        // now fill in the actual schema type implementation
-        sImpl.setBaseTypeRef(BuiltinSchemaTypeSystem.ST_ANY_TYPE.getRef());
-        sImpl.setBaseDepth(BuiltinSchemaTypeSystem.ST_ANY_TYPE.getBaseDepth() + 1);
-        sImpl.setDerivationType(SchemaType.DT_EXTENSION);
-        sImpl.setComplexTypeVariety(complexVariety);
-        sImpl.setContentModel(contentModel, attrModel, elementPropertyModel, attributePropertyModel, isAll);
-        sImpl.setAnonymousTypeRefs(makeRefArray(anonymousTypes));
-        sImpl.setWildcardSummary(wcElt.typedWildcards, wcElt.hasWildcards, wcAttr.typedWildcards, wcAttr.hasWildcards);
-    }
-
-    static void resolveCcRestriction(SchemaTypeImpl sImpl, ComplexRestrictionType parseTree, boolean mixed)
-    {
-        StscState state = StscState.get();
-        String targetNamespace = sImpl.getTargetNamespace();
-        boolean chameleon = (sImpl.getChameleonNamespace() != null);
-
-        // BUGBUG: NOT YET REALLY IMPLEMENTED
-        // throw new RuntimeException("Not yet implemented.");
-
-        SchemaType baseType;
-        if (parseTree.getBase() == null)
-        {
-            state.error("A complexContent must define a base type", XmlErrorContext.MISSING_BASE, parseTree);
-            baseType = null; // recovery: no inheritance.
-        }
-        else
-        {
-            if (sImpl.isRedefinition())
-            {
-                baseType = state.findRedefinedGlobalType(parseTree.getBase(), sImpl.getChameleonNamespace(), sImpl.getName());
-                if (baseType != null && !baseType.getName().equals(sImpl.getName()))
-                    state.error("A type redefinition must extend the original type definition", XmlErrorContext.GENERIC_ERROR, parseTree);
-            }
-            else
-            {
-                baseType = state.findGlobalType(parseTree.getBase(), sImpl.getChameleonNamespace());
-            }
-            
-            if (baseType == null)
-                state.notFoundError(parseTree.getBase(), XmlErrorContext.TYPE_NOT_FOUND, parseTree.xgetBase());
-        }
-
-        if (baseType == null)
-            baseType = BuiltinSchemaTypeSystem.ST_ANY_TYPE;
-
-        if (baseType != null && baseType.finalRestriction())
-        {
-            state.error("Cannot restrict a final type", XmlErrorContext.CANNOT_DERIVE_FINAL, parseTree.xgetBase());
-            // recovery: just keep going
-        }
-
-        // Recursion
-        if (baseType != null)
-        {
-            if (!StscResolver.resolveType((SchemaTypeImpl)baseType))
-                baseType = null; // circular dependency: no inheritance
-        }
-
-        List anonymousTypes = new ArrayList();
-        Group parseEg = getContentModel(parseTree);
-
-        // detect the "all" case
-        int particleCode = translateParticleCode(parseEg);
-
-        // used to ensure consistency (doesn't become part of the result)
-        Map elementModel = new LinkedHashMap();
-
-        // build content model and anonymous types
-        SchemaParticle contentModel = translateContentModel(
-            sImpl, parseEg, targetNamespace, chameleon, particleCode, anonymousTypes, elementModel, false, null);
-
-        // detect the nonempty "all" case (empty <all> doesn't count - it needs to be eliminated to match XSD test cases)
-        boolean isAll = contentModel != null && contentModel.getParticleType() == SchemaParticle.ALL;
-        
-        // build attr model and anonymous types
-        SchemaAttributeModelImpl attrModel;
-        if (baseType == null)
-            attrModel = new SchemaAttributeModelImpl();
-        else
-            attrModel = new SchemaAttributeModelImpl(baseType.getAttributeModel());
-        translateAttributeModel(parseTree, targetNamespace, chameleon, anonymousTypes, sImpl, null, attrModel, baseType, false, null);
-
-        // summarize wildcard information
-        WildcardResult wcElt = summarizeEltWildcards(contentModel);
-        WildcardResult wcAttr = summarizeAttrWildcards(attrModel);
-
-        // build state machine and verify that content model is deterministic
-        if (contentModel != null)
-        {
-            buildStateMachine(contentModel);
-            if (!StscState.get().noUpa() && !((SchemaParticleImpl)contentModel).isDeterministic())
-                StscState.get().error("Content model violates the unique particle attribution rule", XmlErrorContext.NONDETERMINISTIC_MODEL, parseEg);
-        }
-
-        // build property model
-        // emitDBG("Building content Model for " + sImpl);
-        Map elementPropertyModel = buildContentPropertyModelByQName(contentModel, sImpl);
-
-        // add attribute property model
-        Map attributePropertyModel = buildAttributePropertyModelByQName(attrModel, sImpl);
-
-        // compute empty/element/mixed
-        int complexVariety = (contentModel == null ? SchemaType.EMPTY_CONTENT :
-            (mixed ? SchemaType.MIXED_CONTENT : SchemaType.ELEMENT_CONTENT));
-
-        // now fill in the actual schema type implementation
-        sImpl.setBaseTypeRef(baseType.getRef());
-        sImpl.setBaseDepth(((SchemaTypeImpl)baseType).getBaseDepth() + 1);
-        sImpl.setDerivationType(SchemaType.DT_RESTRICTION);
-        sImpl.setComplexTypeVariety(complexVariety);
-        sImpl.setContentModel(contentModel, attrModel, elementPropertyModel, attributePropertyModel, isAll);
-        sImpl.setAnonymousTypeRefs(makeRefArray(anonymousTypes));
-        sImpl.setWildcardSummary(wcElt.typedWildcards, wcElt.hasWildcards, wcAttr.typedWildcards, wcAttr.hasWildcards);
-    }
-
-    static Map extractElementModel(SchemaType sType)
-    {
-        Map elementModel = new HashMap();
-        if (sType != null)
-        {
-            SchemaProperty[] sProps = sType.getProperties();
-            for (int i = 0; i < sProps.length; i++)
-            {
-                if (sProps[i].isAttribute())
-                    continue;
-                elementModel.put(sProps[i].getName(),
-                                 sProps[i].getType());
-            }
-        }
-        return elementModel;
-    }
-
-    static void resolveCcExtension(SchemaTypeImpl sImpl, ExtensionType parseTree, boolean mixed)
-    {
-        SchemaType baseType;
-        StscState state = StscState.get();
-        String targetNamespace = sImpl.getTargetNamespace();
-        boolean chameleon = (sImpl.getChameleonNamespace() != null);
-
-        if (parseTree.getBase() == null)
-        {
-            state.error("A complexContent must define a base type", XmlErrorContext.MISSING_BASE, parseTree);
-            baseType = null; // recovery: no inheritance.
-        }
-        else
-        {
-            if (sImpl.isRedefinition())
-            {
-                baseType = state.findRedefinedGlobalType(parseTree.getBase(), sImpl.getChameleonNamespace(), sImpl.getName());
-                if (baseType != null && !baseType.getName().equals(sImpl.getName()))
-                    state.error("A type redefinition must extend the original type definition", XmlErrorContext.GENERIC_ERROR, parseTree);
-            }
-            else
-            {
-                baseType = state.findGlobalType(parseTree.getBase(), sImpl.getChameleonNamespace());
-            }
-            if (baseType == null)
-                state.notFoundError(parseTree.getBase(), XmlErrorContext.TYPE_NOT_FOUND, parseTree.xgetBase());
-        }
-
-        // Recursion
-        if (baseType != null)
-        {
-            if (!StscResolver.resolveType((SchemaTypeImpl)baseType))
-                baseType = null; // circular dependency: no inheritance
-        }
-
-        if (baseType != null && (baseType.isSimpleType() || baseType.getContentType() == SchemaType.SIMPLE_CONTENT))
-        {
-            state.error("The specified base type is not a complex type with complex content.", XmlErrorContext.COMPLEX_BASE_NOT_COMPLEX, parseTree.xgetBase());
-            baseType = null; // recovery: no inheritance.
-        }
-
-        if (baseType != null && baseType.finalExtension())
-        {
-            state.error("Cannot extend a final type", XmlErrorContext.CANNOT_DERIVE_FINAL, parseTree.xgetBase());
-            // recovery: just keep going
-        }
-        
-        // get base content model
-        SchemaParticle baseContentModel = (baseType == null ? null : baseType.getContentModel());
-        // TODO: attribute model also
-
-        List anonymousTypes = new ArrayList();
-        Map baseElementModel = extractElementModel(baseType);
-        Group parseEg = getContentModel(parseTree);
-        
-        // build extension model
-        SchemaParticle extensionModel = translateContentModel(
-                sImpl, parseEg, targetNamespace, chameleon, translateParticleCode(parseEg),
-                anonymousTypes, baseElementModel, false, null);
-        
-        // apply rule #2 near http://www.w3.org/TR/xmlschema-1/#c-mve: empty ext model -> mixed taken from base
-        if (extensionModel == null && !mixed)
-            mixed = (baseType.getContentType() == SchemaType.MIXED_CONTENT);
-        
-        // apply Derivation Valid (Extension) rule 1.4.2.2
-        if (baseType != null && (baseType.getContentType() != SchemaType.EMPTY_CONTENT) &&
-                ((baseType.getContentType() == SchemaType.MIXED_CONTENT) != mixed))
-        {
-            state.error("Cannot extend an element-only type with a mixed type or vice-versa", XmlErrorContext.INCONSISTENT_TYPE, parseTree.xgetBase());
-            // recovery: just keep going
-        }
-
-        // detect the "all" base case
-        if (baseType != null && baseType.hasAllContent() && extensionModel != null)
-        {
-            state.error("Cannot extend a type with 'all' content model", XmlErrorContext.CANNOT_EXTEND_ALL, parseTree.xgetBase());
-            extensionModel = null; // recovery: drop extension
-        }
-
-        // build content model and anonymous types
-        SchemaParticle contentModel = extendContentModel(baseContentModel, extensionModel, parseTree);
-
-        // detect the nonempty "all" case (empty <all> doesn't count - it needs to be eliminated to match XSD test cases)
-        boolean isAll = contentModel != null && contentModel.getParticleType() == SchemaParticle.ALL;
-        
-        // build attr model and anonymous types
-        SchemaAttributeModelImpl attrModel;
-        if (baseType == null)
-            attrModel = new SchemaAttributeModelImpl();
-        else
-            attrModel = new SchemaAttributeModelImpl(baseType.getAttributeModel());
-        translateAttributeModel(parseTree, targetNamespace, chameleon, anonymousTypes, sImpl, null, attrModel, baseType, true, null);
-
-        // summarize wildcard information
-        WildcardResult wcElt = summarizeEltWildcards(contentModel);
-        WildcardResult wcAttr = summarizeAttrWildcards(attrModel);
-
-        // build state machine and verify that content model is deterministic
-        if (contentModel != null)
-        {
-            buildStateMachine(contentModel);
-            if (!StscState.get().noUpa() && !((SchemaParticleImpl)contentModel).isDeterministic())
-                StscState.get().error("Content model violates the unique particle attribution rule", XmlErrorContext.NONDETERMINISTIC_MODEL, parseEg);
-        }
-
-        // build property model
-        // emitDBG("Building content Model for " + sImpl);
-        Map elementPropertyModel = buildContentPropertyModelByQName(contentModel, sImpl);
-
-        // add attribute property model
-        Map attributePropertyModel = buildAttributePropertyModelByQName(attrModel, sImpl);
-
-        // compute empty/element/mixed
-        int complexVariety =  ( mixed ? SchemaType.MIXED_CONTENT :
-            (contentModel == null ? SchemaType.EMPTY_CONTENT : SchemaType.ELEMENT_CONTENT));
-
-        // now fill in the actual schema type implementation
-        if (baseType == null)
-            baseType = XmlObject.type;
-        sImpl.setBaseTypeRef(baseType.getRef());
-        sImpl.setBaseDepth(((SchemaTypeImpl)baseType).getBaseDepth() + 1);
-        sImpl.setDerivationType(SchemaType.DT_EXTENSION);
-        sImpl.setComplexTypeVariety(complexVariety);
-        sImpl.setContentModel(contentModel, attrModel, elementPropertyModel, attributePropertyModel, isAll);
-        sImpl.setAnonymousTypeRefs(makeRefArray(anonymousTypes));
-        sImpl.setWildcardSummary(wcElt.typedWildcards, wcElt.hasWildcards, wcAttr.typedWildcards, wcAttr.hasWildcards);
-    }
-
-    static void resolveScRestriction(SchemaTypeImpl sImpl, SimpleRestrictionType parseTree)
-    {
-        SchemaType baseType;
-        StscState state = StscState.get();
-        String targetNamespace = sImpl.getTargetNamespace();
-        boolean chameleon = (sImpl.getChameleonNamespace() != null);
-        if (parseTree.getSimpleType() != null)
-        {
-            state.warning("Nested simple types inside simple content restrictions are unsupported - ignoring", XmlErrorContext.ILLEGAL_RESTRICTION, parseTree);
-            // recovery: ignore the nested simple type element.
-        }
-        if (parseTree.getBase() == null)
-        {
-            state.error("A simpleContent restriction must define a base type", XmlErrorContext.MISSING_BASE, parseTree);
-            // recovery: extends ANY_SIMPLE type
-            baseType = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-        }
-        else
-        {
-            if (sImpl.isRedefinition())
-            {
-                baseType = state.findRedefinedGlobalType(parseTree.getBase(), sImpl.getChameleonNamespace(), sImpl.getName());
-                if (baseType != null && !baseType.getName().equals(sImpl.getName()))
-                    state.error("A type redefinition must restrict the original type definition", XmlErrorContext.GENERIC_ERROR, parseTree);
-            }
-            else
-            {
-                baseType = state.findGlobalType(parseTree.getBase(), sImpl.getChameleonNamespace());
-            }
-            if (baseType == null)
-            {
-                state.notFoundError(parseTree.getBase(), XmlErrorContext.TYPE_NOT_FOUND, parseTree.xgetBase());
-                // recovery: extends ANY_SIMPLE type
-                baseType = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-            }
-        }
-
-        // Recursion
-        StscResolver.resolveType((SchemaTypeImpl)baseType);
-
-        if (baseType.isSimpleType())
-        {
-            state.error("Simple type '" + baseType.getName() + "' cannot be used as the base type of a simple content restriction. (Use extension instead.)", XmlErrorContext.SIMPLE_BASE_NOT_SIMPLE, parseTree);
-            // recovery: extends ANY_SIMPLE type
-            baseType = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-        }
-        // BUGBUG: can restrict mixed content as long as all child elements are optional
-        else if (baseType.getContentType() != SchemaType.SIMPLE_CONTENT)
-        {
-            state.error("The specified base type " + baseType.toString() + " does not have simple content.", XmlErrorContext.SIMPLE_BASE_NOT_SIMPLE, parseTree);
-            // recovery: extends ANY_SIMPLE type
-            baseType = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-        }
-
-        if (baseType != null && baseType.finalRestriction())
-        {
-            state.error("Cannot restrict a final type", XmlErrorContext.CANNOT_DERIVE_FINAL, parseTree.xgetBase());
-            // recovery: just keep going
-        }
-
-        // build attr model and anonymous types
-        List anonymousTypes = new ArrayList();
-        SchemaAttributeModelImpl attrModel;
-        if (baseType == null)
-            attrModel = new SchemaAttributeModelImpl();
-        else
-            attrModel = new SchemaAttributeModelImpl(baseType.getAttributeModel());
-        translateAttributeModel(parseTree, targetNamespace, chameleon, anonymousTypes, sImpl, null, attrModel, baseType, false, null);
-
-        // summarize wildcard information
-        WildcardResult wcAttr = summarizeAttrWildcards(attrModel);
-
-        // add attribute property model
-        Map attributePropertyModel = buildAttributePropertyModelByQName(attrModel, sImpl);
-
-        // now fill in the actual schema type implementation
-        sImpl.setBaseTypeRef(baseType.getRef());
-        sImpl.setBaseDepth(((SchemaTypeImpl)baseType).getBaseDepth() + 1);
-        sImpl.setDerivationType(SchemaType.DT_RESTRICTION);
-        sImpl.setAnonymousTypeRefs(makeRefArray(anonymousTypes));
-        sImpl.setWildcardSummary(QNameSet.EMPTY, false, wcAttr.typedWildcards, wcAttr.hasWildcards);
-        sImpl.setComplexTypeVariety(SchemaType.SIMPLE_CONTENT);
-        sImpl.setContentModel(null, attrModel, null, attributePropertyModel, false);
-        sImpl.setSimpleTypeVariety(baseType.getSimpleVariety());
-        sImpl.setPrimitiveTypeRef(baseType.getPrimitiveType() == null ? null : baseType.getPrimitiveType().getRef());
-        switch (sImpl.getSimpleVariety())
-        {
-            case SchemaType.LIST:
-                sImpl.setListItemTypeRef(baseType.getListItemType().getRef());
-                break;
-
-            case SchemaType.UNION:
-                sImpl.setUnionMemberTypeRefs(makeRefArray(Arrays.asList(baseType.getUnionMemberTypes())));
-                break;
-        }
-
-        // deal with facets
-        StscSimpleTypeResolver.resolveFacets(sImpl, parseTree, (SchemaTypeImpl)baseType);
-
-        // now compute our intrinsic properties
-        StscSimpleTypeResolver.resolveFundamentalFacets(sImpl);
-    }
-
-    static void resolveScExtension(SchemaTypeImpl sImpl, SimpleExtensionType parseTree)
-    {
-        SchemaType baseType;
-        StscState state = StscState.get();
-        String targetNamespace = sImpl.getTargetNamespace();
-        boolean chameleon = (sImpl.getChameleonNamespace() != null);
-        if (parseTree.getBase() == null)
-        {
-            state.error("A simpleContent extension must define a base type", XmlErrorContext.MISSING_BASE, parseTree);
-            // recovery: extends ANY_SIMPLE type
-            baseType = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-        }
-        else
-        {
-            if (sImpl.isRedefinition())
-            {
-                baseType = state.findRedefinedGlobalType(parseTree.getBase(), sImpl.getChameleonNamespace(), sImpl.getName());
-                if (baseType != null && !baseType.getName().equals(sImpl.getName()))
-                    state.error("A type redefinition must extend the original type definition", XmlErrorContext.GENERIC_ERROR, parseTree);
-            }
-            else
-            {
-                baseType = state.findGlobalType(parseTree.getBase(), sImpl.getChameleonNamespace());
-            }
-            if (baseType == null)
-            {
-                state.notFoundError(parseTree.getBase(), XmlErrorContext.TYPE_NOT_FOUND, parseTree.xgetBase());
-                // recovery: extends ANY_SIMPLE type
-                baseType = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-            }
-        }
-
-        // Recursion
-        StscResolver.resolveType((SchemaTypeImpl)baseType);
-
-        if (!baseType.isSimpleType() && baseType.getContentType() != SchemaType.SIMPLE_CONTENT)
-        {
-            state.error("The specified base type " + baseType.toString() + " does not have simple content.", XmlErrorContext.SIMPLE_BASE_NOT_SIMPLE, parseTree);
-            // recovery: extends ANY_SIMPLE type
-            baseType = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-        }
-
-        if (baseType != null && baseType.finalExtension())
-        {
-            state.error("Cannot extend a final type", XmlErrorContext.CANNOT_DERIVE_FINAL, parseTree.xgetBase());
-            // recovery: just keep going
-        }
-
-        // build attr model and anonymous types
-        List anonymousTypes = new ArrayList();
-        SchemaAttributeModelImpl attrModel;
-        attrModel = new SchemaAttributeModelImpl(baseType.getAttributeModel());
-        translateAttributeModel(parseTree, targetNamespace, chameleon, anonymousTypes, sImpl, null, attrModel, baseType, true, null);
-
-        // summarize wildcard information
-        WildcardResult wcAttr = summarizeAttrWildcards(attrModel);
-
-        // add attribute property model
-        Map attributePropertyModel = buildAttributePropertyModelByQName(attrModel, sImpl);
-
-        // now fill in the actual schema type implementation
-        sImpl.setBaseTypeRef(baseType.getRef());
-        sImpl.setBaseDepth(((SchemaTypeImpl)baseType).getBaseDepth() + 1);
-        sImpl.setDerivationType(SchemaType.DT_EXTENSION);
-        sImpl.setAnonymousTypeRefs(makeRefArray(anonymousTypes));
-        sImpl.setWildcardSummary(QNameSet.EMPTY, false, wcAttr.typedWildcards, wcAttr.hasWildcards);
-        sImpl.setComplexTypeVariety(SchemaType.SIMPLE_CONTENT);
-        sImpl.setContentModel(null, attrModel, null, attributePropertyModel, false);
-        sImpl.setSimpleTypeVariety(baseType.getSimpleVariety());
-        sImpl.setPrimitiveTypeRef(baseType.getPrimitiveType() == null ? null : baseType.getPrimitiveType().getRef());
-        switch (sImpl.getSimpleVariety())
-        {
-            case SchemaType.LIST:
-                sImpl.setListItemTypeRef(baseType.getListItemType().getRef());
-                break;
-
-            case SchemaType.UNION:
-                sImpl.setUnionMemberTypeRefs(makeRefArray(Arrays.asList(baseType.getUnionMemberTypes())));
-                break;
-        }
-
-        // deal with facets
-        StscSimpleTypeResolver.resolveFacets(sImpl, null, (SchemaTypeImpl)baseType);
-
-        // now compute our intrinsic properties
-        StscSimpleTypeResolver.resolveFundamentalFacets(sImpl);
-    }
-
-    static class WildcardResult
-    {
-        WildcardResult(QNameSet typedWildcards, boolean hasWildcards)
-        {
-            this.typedWildcards = typedWildcards;
-            this.hasWildcards = hasWildcards;
-        }
-        QNameSet typedWildcards;
-        boolean hasWildcards;
-    }
-
-    static WildcardResult summarizeAttrWildcards(SchemaAttributeModel attrModel)
-    {
-        if (attrModel.getWildcardProcess() == SchemaAttributeModel.NONE)
-            return new WildcardResult(QNameSet.EMPTY, false);
-        if (attrModel.getWildcardProcess() == SchemaAttributeModel.SKIP)
-            return new WildcardResult(QNameSet.EMPTY, true);
-        return new WildcardResult(attrModel.getWildcardSet(), true);
-    }
-
-    static WildcardResult summarizeEltWildcards(SchemaParticle contentModel)
-    {
-        if (contentModel == null)
-        {
-            return new WildcardResult(QNameSet.EMPTY, false);
-        }
-
-        switch (contentModel.getParticleType())
-        {
-            case SchemaParticle.ALL:
-            case SchemaParticle.SEQUENCE:
-            case SchemaParticle.CHOICE:
-                QNameSetBuilder set = new QNameSetBuilder();
-                boolean hasWildcards = false;
-                for (int i = 0; i < contentModel.countOfParticleChild(); i++)
-                {
-                    WildcardResult inner = summarizeEltWildcards(contentModel.getParticleChild(i));
-                    set.addAll(inner.typedWildcards);
-                    hasWildcards |= inner.hasWildcards;
-                }
-                return new WildcardResult(set.toQNameSet(), hasWildcards);
-            case SchemaParticle.WILDCARD:
-                return new WildcardResult(
-                    (contentModel.getWildcardProcess() == SchemaParticle.SKIP) ?
-                    QNameSet.EMPTY : contentModel.getWildcardSet(), true);
-                // otherwise fallthrough
-
-            default:
-                return new WildcardResult(QNameSet.EMPTY, false);
-        }
-    }
-
-    static void translateAttributeModel(
-            XmlObject parseTree, String targetNamespace, boolean chameleon,
-            List anonymousTypes, SchemaType outerType,
-            Set seenAttributes, SchemaAttributeModelImpl result, SchemaType baseType, boolean extension, QName redefinitionFor)
-    {
-        StscState state = StscState.get();
-        if (seenAttributes == null)
-            seenAttributes = new HashSet();
-        boolean seenWildcard = false;
-        boolean seenRedefinition = false;
-        SchemaAttributeModel baseModel = null;
-        if (baseType != null)
-            baseModel = baseType.getAttributeModel();
-
-        XmlCursor cur = parseTree.newCursor();
-
-        for (boolean more = cur.toFirstChild(); more; more = cur.toNextSibling())
-        {
-            switch (translateAttributeCode(cur.getName()))
-            {
-                case ATTRIBUTE_CODE:
-                {
-                    Attribute xsdattr = (Attribute)cur.getObject();
-
-                    SchemaLocalAttribute sAttr = StscTranslator.translateAttribute(xsdattr, targetNamespace, chameleon, anonymousTypes, outerType, baseModel, true);
-                    if (sAttr == null)
-                        continue;
-
-                    if (seenAttributes.contains(sAttr.getName()))
-                    {
-                        state.error("Attribute with the same name already defined ", XmlErrorContext.DUPLICATE_ATTRIBUTE_NAME, xsdattr.xgetName());
-                        continue; // ignore the duplicate attr
-                    }
-
-                    seenAttributes.add(sAttr.getName());
-                    
-                    if (baseModel != null)
-                    {
-                        SchemaLocalAttribute baseAttr = baseModel.getAttribute(sAttr.getName());
-                        if (baseAttr == null)
-                        {
-                            if (!extension)
-                            {
-                                if (!baseModel.getWildcardSet().contains(sAttr.getName()))
-                                    state.error("A restriction cannot introduce a new attribute that would not be allowed in the base type.", XmlErrorContext.DUPLICATE_ATTRIBUTE_NAME, xsdattr);
-                            }
-                        }
-                        else
-                        {
-                            if (extension)
-                            {
-                                if (sAttr.getUse() == SchemaLocalAttribute.PROHIBITED)
-                                    state.error("An extension cannot prohibit an attribute from the base type; use restriction instead.", XmlErrorContext.DUPLICATE_ATTRIBUTE_NAME, xsdattr.xgetUse());
-                            }
-                            else
-                            {
-                                if (sAttr.getUse() != SchemaLocalAttribute.REQUIRED)
-                                {
-                                    if (baseAttr.getUse() == SchemaLocalAttribute.REQUIRED)
-                                        state.error("A restriction cannot modify an attribute that is required in the base type to be prohibited or optional.", XmlErrorContext.DUPLICATE_ATTRIBUTE_NAME, xsdattr.xgetUse());
-                                    
-                                    if (sAttr.getUse() == SchemaLocalAttribute.PROHIBITED)
-                                        result.removeProhibitedAttribute(sAttr.getName());
-                                }
-                            }
-                        }
-                    }
-
-                    if (sAttr.getUse() != SchemaLocalAttribute.PROHIBITED)
-                        result.addAttribute(sAttr);
-                        
-                    if (sAttr.getDefaultText() != null && !sAttr.isFixed())
-                    {
-                        if (sAttr.getUse() != SchemaLocalAttribute.OPTIONAL)
-                            state.error("An attribute declaration must be optional in order to specify a default", XmlErrorContext.GENERIC_ERROR, xsdattr);
-                    }
-                        
-
-                    break;
-                }
-                case ANY_ATTRIBUTE_CODE:
-                {
-                    Wildcard xsdwc = (Wildcard)cur.getObject();
-                    if (seenWildcard)
-                    {
-                        state.error("Only one attribute wildcard allowed", XmlErrorContext.DUPLICATE_ANY_ATTRIBUTE, xsdwc);
-                        continue; // ignore the extra wildcard
-                    }
-                    seenWildcard = true;
-                    NamespaceList nsList = xsdwc.xgetNamespace();
-                    String nsText;
-                    if (nsList == null)
-                        nsText = "##any";
-                    else
-                        nsText = nsList.getStringValue();
-                    QNameSet wcset = QNameSet.forWildcardNamespaceString(nsText, targetNamespace);
-                    
-                    if (baseModel != null && !extension)
-                    {
-                        if (baseModel.getWildcardSet() == null)
-                        {
-                            state.error("A restriction cannot add anyAttribute when the base type does not have anyAttribute", XmlErrorContext.DUPLICATE_ANY_ATTRIBUTE, xsdwc);
-                            continue; // ignore the extra wildcard
-                        }
-                        else if (!baseModel.getWildcardSet().containsAll(wcset))
-                        {
-                            state.error("The anyAttribute namespace='" + nsText + "' is not a subset of the base type anyAttribute", XmlErrorContext.DUPLICATE_ANY_ATTRIBUTE, xsdwc);
-                            continue; // ignore the restriction
-                        }
-                    }
-                    
-                    int wcprocess = translateWildcardProcess(xsdwc.xgetProcessContents());
-                    if (result.getWildcardProcess() == SchemaAttributeModel.NONE)
-                    {
-                        result.setWildcardSet(wcset);
-                        result.setWildcardProcess(wcprocess);
-                    }
-                    else
-                    {
-                        if (extension)
-                        {
-                            result.setWildcardSet(wcset.union(result.getWildcardSet()));
-                            result.setWildcardProcess(wcprocess);
-                        }
-                        else
-                        {
-                            result.setWildcardSet(wcset.intersect(result.getWildcardSet()));
-                            // keep old process
-                        }
-                    }
-                    break;
-                }
-                case ATTRIBUTE_GROUP_CODE:
-                {
-                    AttributeGroupRef xsdag = (AttributeGroupRef)cur.getObject();
-                    QName ref = xsdag.getRef();
-                    if (ref == null)
-                    {
-                        state.error("Attribute group reference must have a ref attribute", XmlErrorContext.ATTRIBUTE_GROUP_MISSING_REF, xsdag);
-                        continue;
-                    }
-                    SchemaAttributeGroupImpl group;
-                    if (redefinitionFor != null)
-                    {
-                        group = state.findRedefinedAttributeGroup(ref, chameleon ? targetNamespace : null, redefinitionFor);
-                        if (group != null && redefinitionFor.equals(group.getName()))
-                        {
-                            if (seenRedefinition)
-                                state.error("An attribute group redefinition must include at most one reference to the original definition.", XmlErrorContext.GENERIC_ERROR, xsdag);
-                            seenRedefinition = true;
-                        }
-                    }
-                    else
-                    {
-                        group = state.findAttributeGroup(ref, chameleon ? targetNamespace : null);
-                    }
-                    if (group == null)
-                    {
-                        state.notFoundError(ref, XmlErrorContext.ATTRIBUTE_GROUP_NOT_FOUND, xsdag.xgetRef());
-                        continue;
-                    }
-                    if (state.isProcessing(group))
-                    {
-                        state.error("Attribute group " + QNameHelper.pretty(group.getName()) + " references itself", XmlErrorContext.CYCLIC_DEPENDENCY, group.getParseObject());
-                        continue;
-                    }
-                    String subTargetNamespace = targetNamespace;
-                    if (group.getTargetNamespace() != null)
-                    {
-                        subTargetNamespace = group.getTargetNamespace();
-                        chameleon = group.getChameleonNamespace() != null;
-                    }
-
-                    state.startProcessing(group);
-                    QName nestedRedefinitionFor = null;
-                    if (group.isRedefinition())
-                        nestedRedefinitionFor = group.getName();
-                    translateAttributeModel(group.getParseObject(), subTargetNamespace, chameleon, anonymousTypes, outerType, seenAttributes, result, baseType, extension, nestedRedefinitionFor);
-                    state.finishProcessing(group);
-                    break;
-                }
-                default:
-                {
-                    continue; // skip things that are not part of the attribute model.
-                }
-            }
-        }
-    }
-
-    static SchemaParticle extendContentModel(SchemaParticle baseContentModel, SchemaParticle extendedContentModel, XmlObject parseTree)
-    {
-        // http://www.w3.org/TR/xmlschema-1/#element-complexContent::extension
-        
-        // 2.1 If the ·explicit content· is empty, then the {content type} of the type definition ·resolved· to by the ·actual value· of the base [attribute] 
-        if (extendedContentModel == null)
-            return baseContentModel;
-        
-        // 2.2 If the type definition ·resolved· to by the ·actual value· of the base [attribute] has a {content type} of empty, then a pair of mixed or elementOnly (determined as per clause 1.2.1 above) and the ·explicit content· itself;
-        if (baseContentModel == null)
-            return extendedContentModel;
-        
-        // 2.3 otherwise a pair of mixed or elementOnly (determined as per clause 1.2.1 above) and a particle whose properties are as follows:  
-        SchemaParticleImpl sPart = new SchemaParticleImpl();
-        sPart.setParticleType(SchemaParticle.SEQUENCE);
-
-        List accumulate = new ArrayList();
-        addMinusPointlessParticles(accumulate, baseContentModel, SchemaParticle.SEQUENCE);
-        addMinusPointlessParticles(accumulate, extendedContentModel, SchemaParticle.SEQUENCE);
-        sPart.setMinOccurs(BigInteger.ONE);
-        sPart.setMaxOccurs(BigInteger.ONE);
-        sPart.setParticleChildren((SchemaParticle[])
-                accumulate.toArray(new SchemaParticle[accumulate.size()]));
-
-        return filterPointlessParticlesAndVerifyAllParticles(sPart, parseTree);
-    }
-
-    static BigInteger extractMinOccurs(XmlNonNegativeInteger nni)
-    {
-        if (nni == null)
-            return BigInteger.ONE;
-        BigInteger result = nni.getBigIntegerValue();
-        if (result == null)
-            return BigInteger.ONE;
-        return result;
-    }
-
-    static BigInteger extractMaxOccurs(AllNNI allNNI)
-    {
-        if (allNNI == null)
-            return BigInteger.ONE;
-
-        if (allNNI.instanceType().getPrimitiveType().getBuiltinTypeCode() == SchemaType.BTC_DECIMAL)
-            return ((XmlInteger)allNNI).getBigIntegerValue();
-        else
-            return null;
-    }
-    
-    private static class RedefinitionForGroup
-    {
-        private QName groupName;
-        private boolean seenRedefinition = false;
-
-        public RedefinitionForGroup(QName groupName)
-        {
-            this.groupName = groupName;
-        }
-
-        public QName getGroupName()
-        {
-            return groupName;
-        }
-
-        public boolean isSeenRedefinition()
-        {
-            return seenRedefinition;
-        }
-
-        public void setSeenRedefinition(boolean seenRedefinition)
-        {
-            this.seenRedefinition = seenRedefinition;
-        }
-    }
-
-    static SchemaParticle translateContentModel(
-            SchemaType outerType,
-            XmlObject parseTree, String targetNamespace, boolean chameleon,
-            int particleCode,
-            List anonymousTypes, Map elementModel,
-            boolean allowElt, RedefinitionForGroup redefinitionFor)
-    {
-        if (parseTree == null || particleCode == 0)
-            return null;
-
-        StscState state = StscState.get();
-
-        // emitDBG("Translating content model for " + outerType);
-        // indentDBG();
-        assert(particleCode != 0);
-
-        boolean hasChildren = false;
-        BigInteger minOccurs;
-        BigInteger maxOccurs;
-        SchemaModelGroupImpl group = null;
-
-        SchemaParticleImpl sPart;
-
-        if (particleCode == SchemaParticle.ELEMENT)
-        {
-            if (!allowElt)
-                state.error("Must be a sequence, choice or all here", XmlErrorContext.EXPLICIT_GROUP_NEEDED, parseTree);
-
-            // TODO: detect substitution group for this element and construct a choice
-
-            LocalElement parseElt = (LocalElement)parseTree;
-            sPart = StscTranslator.translateElement(parseElt, targetNamespace, chameleon, anonymousTypes, outerType);
-            if (sPart == null)
-                return null;
-            minOccurs = extractMinOccurs(parseElt.xgetMinOccurs());
-            maxOccurs = extractMaxOccurs(parseElt.xgetMaxOccurs());
-
-            SchemaType oldType = (SchemaType)elementModel.get(sPart.getName());
-            if (oldType == null)
-            {
-                elementModel.put(sPart.getName(), sPart.getType());
-            }
-            else if (!sPart.getType().equals(oldType))
-            {
-                state.error("Type of " + QNameHelper.pretty(sPart.getName()) + " is inconsistent with another element with the same name in this content model", XmlErrorContext.INCONSISTENT_TYPE, parseTree);
-                return null;
-            }
-        }
-        else if (particleCode == SchemaParticle.WILDCARD)
-        {
-            if (!allowElt)
-                state.error("Must be a sequence, choice or all here", XmlErrorContext.EXPLICIT_GROUP_NEEDED, parseTree);
-            Any parseAny = (Any)parseTree;
-            sPart = new SchemaParticleImpl();
-            sPart.setParticleType(SchemaParticle.WILDCARD);
-            QNameSet wcset;
-            NamespaceList nslist = parseAny.xgetNamespace();
-            if (nslist == null)
-                wcset = QNameSet.ALL;
-            else
-                wcset = QNameSet.forWildcardNamespaceString(nslist.getStringValue(), targetNamespace);
-            sPart.setWildcardSet(wcset);
-            sPart.setWildcardProcess(translateWildcardProcess(parseAny.xgetProcessContents()));
-            minOccurs = extractMinOccurs(parseAny.xgetMinOccurs());
-            maxOccurs = extractMaxOccurs(parseAny.xgetMaxOccurs());
-        }
-        else
-        {
-            Group parseGroup = (Group)parseTree;
-            sPart = new SchemaParticleImpl();
-
-            // grab min/maxOccurs before dereferencign group ref
-            minOccurs = extractMinOccurs(parseGroup.xgetMinOccurs());
-            maxOccurs = extractMaxOccurs(parseGroup.xgetMaxOccurs());
-            
-            if (particleCode == MODEL_GROUP_CODE)
-            {
-                QName ref = parseGroup.getRef();
-                if (ref == null)
-                {
-                    state.error("Group reference must have a ref attribute", XmlErrorContext.GROUP_MISSING_REF, parseTree);
-                    return null;
-                }
-                
-                if (redefinitionFor != null)
-                {
-                    group = state.findRedefinedModelGroup(ref, chameleon ? targetNamespace : null, redefinitionFor.getGroupName());
-                    if (group != null && group.getName().equals(redefinitionFor.getGroupName()))
-                    {
-                        if (redefinitionFor.isSeenRedefinition())
-                            state.error("Group redefinition must refer to the original definition at most once", XmlErrorContext.GENERIC_ERROR, parseTree);
-                        if (!BigInteger.ONE.equals(maxOccurs) || !BigInteger.ONE.equals(minOccurs))
-                            state.error("When referencing the original group definition in a redefinition, maxOccurs and minOccurs must be 1", XmlErrorContext.GENERIC_ERROR, parseTree);
-                        redefinitionFor.setSeenRedefinition(true);
-                    }
-                }
-                else
-                {
-                    group = state.findModelGroup(ref, chameleon ? targetNamespace : null);
-                }
-                if (group == null)
-                {
-                    state.notFoundError(ref, XmlErrorContext.MODEL_GROUP_NOT_FOUND, ((Group)parseTree).xgetRef());
-                    return null;
-                }
-                if (state.isProcessing(group))
-                {
-                    state.error("Model group " + QNameHelper.pretty(group.getName()) + " references itself", XmlErrorContext.CYCLIC_DEPENDENCY, group.getParseObject());
-                    return null;
-                }
-                
-                // no go to the child.
-                XmlCursor cur = group.getParseObject().newCursor();
-                for (boolean more = cur.toFirstChild(); more; more = cur.toNextSibling())
-                {
-                    particleCode = translateParticleCode(cur.getName());
-                    if (particleCode != 0)
-                    {
-                        parseTree = parseGroup = (Group)cur.getObject();
-                        break;
-                    }
-                }
-                if (particleCode == 0)
-                {
-                    state.error("Model group " + QNameHelper.pretty(group.getName()) + " is empty", XmlErrorContext.EXPLICIT_GROUP_NEEDED, group.getParseObject());
-                    return null;
-                }
-                if (particleCode != SchemaParticle.ALL && particleCode != SchemaParticle.SEQUENCE && particleCode != SchemaParticle.CHOICE)
-                {
-                    state.error("Model group " + QNameHelper.pretty(group.getName()) + " is not a sequence, all, or choice", XmlErrorContext.EXPLICIT_GROUP_NEEDED, group.getParseObject());
-                }
-                
-                String newTargetNamespace = group.getTargetNamespace();
-                if (newTargetNamespace != null)
-                    targetNamespace = newTargetNamespace;
-            }
-
-            switch (particleCode)
-            {
-                case SchemaParticle.ALL:
-                case SchemaParticle.SEQUENCE:
-                case SchemaParticle.CHOICE:
-                    sPart.setParticleType(particleCode);
-                    hasChildren = true;
-                    break;
-
-                default:
-                    assert(false);
-                    throw new IllegalStateException();
-            }
-        }
-
-        if (maxOccurs != null && minOccurs.compareTo(maxOccurs) > 0)
-        {
-            state.error("maxOccurs must not be less than minOccurs", XmlErrorContext.MIN_MAX_OCCURS, parseTree);
-            maxOccurs = minOccurs; // remedy: pin max up to min
-        }
-
-        if (maxOccurs != null && maxOccurs.compareTo(BigInteger.ONE) < 0)
-        {
-            return null; // maxOccurs == minOccurs == 0, same as no particle at all.
-        }
-
-        sPart.setMinOccurs(minOccurs);
-        sPart.setMaxOccurs(maxOccurs);
-        
-        if (group != null)
-        {
-            state.startProcessing(group);
-            redefinitionFor = null;
-            if (group.isRedefinition())
-                redefinitionFor = new RedefinitionForGroup(group.getName());
-        }
-
-        if (hasChildren)
-        {
-            XmlCursor cur = parseTree.newCursor();
-            List accumulate = new ArrayList();
-            for (boolean more = cur.toFirstChild(); more; more = cur.toNextSibling())
-            {
-                int code = translateParticleCode(cur.getName());
-                if (code == 0)
-                    continue;
-                addMinusPointlessParticles(accumulate,
-                        translateContentModel(outerType,
-                                cur.getObject(), targetNamespace, chameleon, code,
-                                anonymousTypes, elementModel, true, redefinitionFor),
-                        sPart.getParticleType());
-            }
-            sPart.setParticleChildren((SchemaParticle[])
-                    accumulate.toArray(new SchemaParticle[accumulate.size()]));
-            cur.dispose();
-        }
-        
-
-        SchemaParticle result = filterPointlessParticlesAndVerifyAllParticles(sPart, parseTree);
-
-        if (group != null)
-        {
-            state.finishProcessing(group);
-        }
-        // outdentDBG();
-        return result;
-    }
-    
-    static int translateWildcardProcess(Any.ProcessContents process)
-    {
-        if (process == null)
-            return SchemaParticle.STRICT;
-
-        String processValue = process.getStringValue();
-
-        if ("lax".equals(processValue))
-            return SchemaParticle.LAX;
-
-        if ("skip".equals(processValue))
-            return SchemaParticle.SKIP;
-
-        return SchemaParticle.STRICT;
-    }
-
-    static SchemaParticle filterPointlessParticlesAndVerifyAllParticles(SchemaParticle part, XmlObject parseTree)
-    {
-        if (part.getMaxOccurs() != null && part.getMaxOccurs().signum() == 0)
-            return null;
-
-        switch (part.getParticleType())
-        {
-            case SchemaParticle.SEQUENCE:
-            case SchemaParticle.ALL:
-                if (part.getParticleChildren().length == 0)
-                    return null;
-                if (part.isSingleton() && part.countOfParticleChild() == 1)
-                    return part.getParticleChild(0);
-                break;
-
-            case SchemaParticle.CHOICE:
-                if (part.getParticleChildren().length == 0 &&
-                    part.getMinOccurs().compareTo(BigInteger.ZERO) == 0)
-                    return null;
-                if (part.isSingleton() && part.countOfParticleChild() == 1)
-                    return part.getParticleChild(0);
-                break;
-
-            case SchemaParticle.ELEMENT:
-            case SchemaParticle.WILDCARD:
-                return part;
-
-            default:
-                assert(false);
-                throw new IllegalStateException();
-        }
-        
-        boolean isAll = part.getParticleType() == SchemaParticle.ALL;
-        
-        if (isAll)
-        {
-            // http://www.w3.org/TR/xmlschema-1/#cos-all-limited
-            if (part.getMaxOccurs() == null || part.getMaxOccurs().compareTo(BigInteger.ONE) > 0)
-            {
-                StscState.get().error("An all group must have maxOccurs <= 1", XmlErrorContext.ALL_CONTENTS, parseTree);
-            }
-        }
-        
-        for (int i = 0; i < part.countOfParticleChild(); i++)
-        {
-            SchemaParticle child = part.getParticleChild(i);
-            if (child.getParticleType() == SchemaParticle.ALL)
-            {
-                StscState.get().error("An all group is only allowed at the top level of the content model", XmlErrorContext.CANNOT_EXTEND_ALL, parseTree);
-            }
-            else if (isAll && (child.getParticleType() != SchemaParticle.ELEMENT || child.getMaxOccurs() == null || child.getMaxOccurs().compareTo(BigInteger.ONE) > 0))
-            {
-                StscState.get().error("An all group can contain only element particles with maxOccurs <= 1", XmlErrorContext.ALL_CONTENTS, parseTree);
-            }
-        }
-        
-        return part;
-    }
-
-    static void addMinusPointlessParticles(
-            List list, SchemaParticle part, int parentParticleType)
-    {
-        if (part == null)
-            return;
-
-        switch (part.getParticleType())
-        {
-            case SchemaParticle.SEQUENCE:
-                if (parentParticleType == SchemaParticle.SEQUENCE && part.isSingleton())
-                {
-                    // emitDBG("dropping redundant sequence");
-                    list.addAll(Arrays.asList(part.getParticleChildren()));
-                    return;
-                }
-                break;
-
-            case SchemaParticle.CHOICE:
-                if (parentParticleType == SchemaParticle.CHOICE && part.isSingleton())
-                {
-                    // emitDBG("dropping redundant choice");
-                    list.addAll(Arrays.asList(part.getParticleChildren()));
-                    return;
-                }
-                break;
-                
-            case SchemaParticle.ALL:
-            default:                
-        }
-        list.add(part);
-    }
-
-    static Map buildAttributePropertyModelByQName(SchemaAttributeModel attrModel, SchemaType owner)
-    {
-        Map result = new LinkedHashMap();
-        SchemaLocalAttribute[] attruses = attrModel.getAttributes();
-
-        for (int i = 0; i < attruses.length; i++)
-            result.put(attruses[i].getName(), buildUseProperty(attruses[i], owner));
-
-        return result;
-    }
-
-    static Map buildContentPropertyModelByQName(SchemaParticle part, SchemaType owner)
-    {
-        if (part == null)
-            return Collections.EMPTY_MAP;
-
-        boolean asSequence = false;
-        Map model = null;
-
-        switch (part.getParticleType())
-        {
-            case SchemaParticle.ALL:
-            case SchemaParticle.SEQUENCE:
-                asSequence = true;
-                break;
-            case SchemaParticle.CHOICE:
-                asSequence = false;
-                break;
-            case SchemaParticle.ELEMENT:
-                model = buildElementPropertyModel((SchemaLocalElement)part, owner);
-                break;
-            case SchemaParticle.WILDCARD:
-                model = Collections.EMPTY_MAP;
-                break;
-            default:
-                assert(false);
-                throw new IllegalStateException();
-        }
-
-        if (model == null)
-        {
-            // build model for children
-            model = new LinkedHashMap();
-            SchemaParticle[] children = part.getParticleChildren();
-
-            for (int i = 0; i < children.length; i++)
-            {
-                // indentDBG();
-                Map childModel = buildContentPropertyModelByQName(children[i], owner);
-                // outdentDBG();
-                for (Iterator j = childModel.values().iterator(); j.hasNext(); )
-                {
-                    SchemaProperty iProp = (SchemaProperty)j.next();
-                    SchemaPropertyImpl oProp = (SchemaPropertyImpl)model.get(iProp.getName());
-                    if (oProp == null)
-                    {
-                        if (!asSequence)
-                            ((SchemaPropertyImpl)iProp).setMinOccurs(BigInteger.ZERO);
-                        model.put(iProp.getName(), iProp);
-                        continue;
-                    }
-                    // consistency verified in an earlier step
-                    assert(oProp.getType().equals(iProp.getType()));
-
-                    mergeProperties(oProp, iProp, asSequence);
-                }
-            }
-
-            // finally deal with minOccurs, maxOccurs over whole group
-            BigInteger min = part.getMinOccurs();
-            BigInteger max = part.getMaxOccurs();
-
-            for (Iterator j = model.values().iterator(); j.hasNext(); )
-            {
-                SchemaProperty oProp = (SchemaProperty)j.next();
-                BigInteger minOccurs = oProp.getMinOccurs();
-                BigInteger maxOccurs = oProp.getMaxOccurs();
-
-                minOccurs = minOccurs.multiply(min);
-                if (max != null && max.equals(BigInteger.ZERO))
-                    maxOccurs = BigInteger.ZERO;
-                else if (maxOccurs != null && !maxOccurs.equals(BigInteger.ZERO))
-                    maxOccurs = max == null ? null : maxOccurs.multiply(max);
-
-                ((SchemaPropertyImpl)oProp).setMinOccurs(minOccurs);
-                ((SchemaPropertyImpl)oProp).setMaxOccurs(maxOccurs);
-            }
-        }
-
-        return model;
-    }
-
-    static Map buildElementPropertyModel(SchemaLocalElement epart, SchemaType owner)
-    {
-        Map result = new HashMap(1);
-
-        SchemaProperty sProp = buildUseProperty(epart, owner);
-        result.put(sProp.getName(), sProp);
-        return result;
-    }
-
-    static SchemaProperty buildUseProperty(SchemaField use, SchemaType owner)
-    {
-        SchemaPropertyImpl sPropImpl = new SchemaPropertyImpl();
-        sPropImpl.setName(use.getName());
-        sPropImpl.setContainerTypeRef(owner.getRef());
-        sPropImpl.setTypeRef(use.getType().getRef());
-        sPropImpl.setAttribute(use.isAttribute());
-        sPropImpl.setDefault(use.isDefault() ? SchemaProperty.CONSISTENTLY : SchemaProperty.NEVER);
-        sPropImpl.setFixed(use.isFixed() ? SchemaProperty.CONSISTENTLY : SchemaProperty.NEVER);
-        sPropImpl.setNillable(use.isNillable() ? SchemaProperty.CONSISTENTLY : SchemaProperty.NEVER);
-        sPropImpl.setDefaultText(use.getDefaultText());
-        sPropImpl.setMinOccurs(use.getMinOccurs());
-        sPropImpl.setMaxOccurs(use.getMaxOccurs());
-
-        if (use instanceof SchemaLocalElementImpl)
-        {
-            SchemaLocalElementImpl elt = (SchemaLocalElementImpl)use;
-            sPropImpl.setAcceptedNames(elt.acceptedStartNames());
-        }
-
-        return sPropImpl;
-    }
-
-    static void mergeProperties(SchemaPropertyImpl into, SchemaProperty from, boolean asSequence)
-    {
-        // minoccur, maxoccur
-        BigInteger minOccurs = into.getMinOccurs();
-        BigInteger maxOccurs = into.getMaxOccurs();
-        if (asSequence)
-        {
-            minOccurs = minOccurs.add(from.getMinOccurs());
-            if (maxOccurs != null)
-                maxOccurs = (from.getMaxOccurs() == null ? null :
-                                  maxOccurs.add(from.getMaxOccurs()));
-        }
-        else
-        {
-            minOccurs = minOccurs.min(from.getMinOccurs());
-            if (maxOccurs != null)
-                maxOccurs = (from.getMaxOccurs() == null ? null :
-                                maxOccurs.max(from.getMaxOccurs()));
-        }
-        into.setMinOccurs(minOccurs);
-        into.setMaxOccurs(maxOccurs);
-
-        // nillable, default, fixed
-        if (from.hasNillable() != into.hasNillable())
-            into.setNillable(SchemaProperty.VARIABLE);
-        if (from.hasDefault() != into.hasDefault())
-            into.setDefault(SchemaProperty.VARIABLE);
-        if (from.hasFixed() != into.hasFixed())
-            into.setFixed(SchemaProperty.VARIABLE);
-
-        // default value
-        if (into.getDefaultText() != null)
-        {
-            if (from.getDefaultText() == null ||
-                !into.getDefaultText().equals(from.getDefaultText()))
-                into.setDefaultText(null);
-        }
-    }
-
-    static SchemaParticle[] ensureStateMachine(SchemaParticle[] children)
-    {
-        for (int i = 0; i < children.length; i++)
-        {
-            buildStateMachine(children[i]);
-        }
-        return children;
-    }
-
-    static void buildStateMachine(SchemaParticle contentModel)
-    {
-        if (contentModel == null)
-            return;
-
-        SchemaParticleImpl partImpl = (SchemaParticleImpl)contentModel;
-        if (partImpl.hasTransitionNotes())
-            return;
-
-        QNameSetBuilder start = new QNameSetBuilder();
-        QNameSetBuilder excludenext = new QNameSetBuilder();
-        boolean deterministic = true;
-        SchemaParticle[] children = null;
-        boolean canskip = (partImpl.getMinOccurs().signum() == 0);
-
-        switch (partImpl.getParticleType())
-        {
-            case SchemaParticle.ELEMENT:
-                // compute start and excludeNext; canskip is already correct
-                if (partImpl.hasTransitionRules())
-                    start.addAll(partImpl.acceptedStartNames());
-                else
-                    start.add(partImpl.getName());
-
-                break;
-
-            case SchemaParticle.WILDCARD:
-                // compute start and excludeNext; canskip is already correct
-                start.addAll(partImpl.getWildcardSet());
-                break;
-
-            case SchemaParticle.SEQUENCE:
-                children = ensureStateMachine(partImpl.getParticleChildren());
-
-                // adjust canskip if all children are skippable
-                canskip = true;
-                for (int i = 0; canskip && i < children.length; i++)
-                {
-                    if (!(children[i]).isSkippable())
-                        canskip = false;
-                }
-                
-                // bubble up nondeterministic bit
-                for (int i = 0; deterministic && i < children.length; i++)
-                {
-                    if (!((SchemaParticleImpl)children[i]).isDeterministic())
-                        deterministic = false;
-                }
-                
-                // verify deterministic and compute excludeNext set
-                for (int i = 1; i < children.length; i++)
-                {
-                    excludenext.addAll(((SchemaParticleImpl)children[i - 1]).getExcludeNextSet());
-                    if (deterministic && !excludenext.isDisjoint((children[i]).acceptedStartNames()))
-                        deterministic = false;
-                    if ((children[i]).isSkippable())
-                        excludenext.addAll((children[i]).acceptedStartNames());
-                    else
-                        excludenext.clear();
-                }
-
-                // next, compute start set
-                for (int i = 0; i < children.length; i++)
-                {
-                    start.addAll((children[i]).acceptedStartNames());
-                    if (!(children[i]).isSkippable())
-                        break;
-                }
-                break;
-
-            case SchemaParticle.CHOICE:
-                children = ensureStateMachine(partImpl.getParticleChildren());
-
-                // adjust canskip if any children are skippable
-                canskip = false;
-                for (int i = 0; !canskip && i < children.length; i++)
-                {
-                    if ((children[i]).isSkippable())
-                        canskip = true;
-                }
-
-                // bubble up nondeterministic bit
-                for (int i = 0; deterministic && i < children.length; i++)
-                {
-                    if (!((SchemaParticleImpl)children[i]).isDeterministic())
-                        deterministic = false;
-                }
-                
-                // compute start and excludeNext sets, verify deterministic
-                for (int i = 0; i < children.length; i++)
-                {
-                    if (deterministic && !start.isDisjoint((children[i]).acceptedStartNames()))
-                        deterministic = false;
-                    start.addAll((children[i]).acceptedStartNames());
-                    excludenext.addAll(((SchemaParticleImpl)children[i]).getExcludeNextSet());
-                }
-
-                break;
-
-            case SchemaParticle.ALL:
-                children = ensureStateMachine(partImpl.getParticleChildren());
-
-                // adjust canskip if all children are skippable
-                canskip = true;
-                for (int i = 0; !canskip && i < children.length; i++)
-                {
-                    if (!(children[i]).isSkippable())
-                        canskip = false;
-                }
-
-                // bubble up nondeterministic bit
-                for (int i = 0; deterministic && i < children.length; i++)
-                {
-                    if (!((SchemaParticleImpl)children[i]).isDeterministic())
-                        deterministic = false;
-                }
-                
-                // compute start and excludeNext sets, verify deterministic
-                for (int i = 0; i < children.length; i++)
-                {
-                    if (deterministic && !start.isDisjoint((children[i]).acceptedStartNames()))
-                        deterministic = false;
-                    start.addAll((children[i]).acceptedStartNames());
-                    excludenext.addAll(((SchemaParticleImpl)children[i]).getExcludeNextSet());
-                }
-                if (canskip)
-                    excludenext.addAll(start);
-
-                break;
-
-            default:
-                // wildcard, all cases nyi
-                throw new IllegalStateException("Unrecognized schema particle");
-        }
-
-        // apply looping logic
-
-        BigInteger minOccurs = partImpl.getMinOccurs();
-        BigInteger maxOccurs = partImpl.getMaxOccurs();
-        boolean canloop = (maxOccurs == null || maxOccurs.compareTo(BigInteger.ONE) > 0);
-        boolean varloop = (maxOccurs == null || minOccurs.compareTo(maxOccurs) < 0);
-
-        if (canloop && deterministic && !excludenext.isDisjoint(start))
-        {
-            // we have a possible looping nondeterminism.
-            // let's take some time now to see if it's actually caused
-            // by non-unique-particle-attribute or not.
-            QNameSet suspectSet = excludenext.intersect(start);
-            
-            // compute the set of all particles that could start this group
-            Map startMap = new HashMap();
-            particlesMatchingStart(partImpl, suspectSet, startMap, new QNameSetBuilder());
-            
-            // compute the set of all particles that could have been repeated rather than ending this group
-            Map afterMap = new HashMap();
-            particlesMatchingAfter(partImpl, suspectSet, afterMap, new QNameSetBuilder(), true);
-            
-            // see if we can find a member of after that is not a member of start
-            // if we can, then particle attribution is not unique
-            deterministic = afterMapSubsumedByStartMap(startMap, afterMap);
-        }
-
-        if (varloop)
-            excludenext.addAll(start);
-
-        canskip = canskip || minOccurs.signum() == 0;
-
-        partImpl.setTransitionRules(start.toQNameSet(), canskip);
-        partImpl.setTransitionNotes(excludenext.toQNameSet(), deterministic);
-    }
-    
-    private static boolean afterMapSubsumedByStartMap(Map startMap, Map afterMap)
-    {
-        if (afterMap.size() > startMap.size())
-            return false;
-        
-        if (afterMap.isEmpty())
-            return true;
-        
-        for (Iterator i = startMap.keySet().iterator(); i.hasNext(); )
-        {
-            SchemaParticle part = (SchemaParticle)i.next();
-            if (part.getParticleType() == SchemaParticle.WILDCARD)
-            {
-                if (afterMap.containsKey(part))
-                {
-                    QNameSet startSet = (QNameSet)startMap.get(part);
-                    QNameSet afterSet = (QNameSet)afterMap.get(part);
-                    if (!startSet.containsAll(afterSet))
-                        return false;
-                }
-            }
-            afterMap.remove(part);
-            if (afterMap.isEmpty())
-                return true;
-        }
-        return (afterMap.isEmpty());
-    }
-    
-    private static void particlesMatchingStart(SchemaParticle part, QNameSetSpecification suspectSet, Map result, QNameSetBuilder eliminate)
-    {
-        switch (part.getParticleType())
-        {
-            case SchemaParticle.ELEMENT:
-                if (!suspectSet.contains(part.getName()))
-                    return;
-                result.put(part, null);
-                eliminate.add(part.getName());
-                return;
-                
-            case SchemaParticle.WILDCARD:
-                if (suspectSet.isDisjoint(part.getWildcardSet()))
-                    return;
-                result.put(part, part.getWildcardSet().intersect(suspectSet));
-                eliminate.addAll(part.getWildcardSet());
-                return;
-                
-            case SchemaParticle.CHOICE:
-            case SchemaParticle.ALL:
-                {
-                    SchemaParticle[] children = part.getParticleChildren();
-                    for (int i = 0; i < children.length; i++)
-                        particlesMatchingStart(children[i], suspectSet, result, eliminate);
-                    return;
-                }
-                
-            case SchemaParticle.SEQUENCE:
-                {
-                    SchemaParticle[] children = part.getParticleChildren();
-                    if (children.length == 0)
-                        return;
-                    if (!children[0].isSkippable())
-                    {
-                        particlesMatchingStart(children[0], suspectSet, result, eliminate);
-                        return;
-                    }
-                    QNameSetBuilder remainingSuspects = new QNameSetBuilder(suspectSet);
-                    QNameSetBuilder suspectsToEliminate = new QNameSetBuilder();
-                    for (int i = 0; i < children.length; i++)
-                    {
-                        particlesMatchingStart(children[i], remainingSuspects, result, suspectsToEliminate);
-                        eliminate.addAll(suspectsToEliminate);
-                        if (!children[i].isSkippable())
-                            return;
-                        remainingSuspects.removeAll(suspectsToEliminate);
-                        if (remainingSuspects.isEmpty())
-                            return;
-                        suspectsToEliminate.clear();
-                    }
-                    return;
-                }
-        }
-    }
-    
-    private static void particlesMatchingAfter(SchemaParticle part, QNameSetSpecification suspectSet, Map result, QNameSetBuilder eliminate, boolean top)
-    {
-        recurse: switch (part.getParticleType())
-        {
-            case SchemaParticle.CHOICE:
-            case SchemaParticle.ALL:
-                {
-                    SchemaParticle[] children = part.getParticleChildren();
-                    for (int i = 0; i < children.length; i++)
-                        particlesMatchingAfter(children[i], suspectSet, result, eliminate, false);
-                    break recurse;
-                }
-                
-            case SchemaParticle.SEQUENCE:
-                {
-                    SchemaParticle[] children = part.getParticleChildren();
-                    if (children.length == 0)
-                        break recurse;
-                    if (!children[children.length - 1].isSkippable())
-                    {
-                        particlesMatchingAfter(children[0], suspectSet, result, eliminate, false);
-                        break recurse;
-                    }
-                    QNameSetBuilder remainingSuspects = new QNameSetBuilder(suspectSet);
-                    QNameSetBuilder suspectsToEliminate = new QNameSetBuilder();
-                    for (int i = children.length - 1; i >= 0; i--)
-                    {
-                        particlesMatchingAfter(children[i], remainingSuspects, result, suspectsToEliminate, false);
-                        eliminate.addAll(suspectsToEliminate);
-                        if (!children[i].isSkippable())
-                            break recurse;
-                        remainingSuspects.removeAll(suspectsToEliminate);
-                        if (remainingSuspects.isEmpty())
-                            break recurse;
-                        suspectsToEliminate.clear();
-                    }
-                    break recurse;
-                }
-        }
-
-        if (!top)
-        {
-            BigInteger minOccurs = part.getMinOccurs();
-            BigInteger maxOccurs = part.getMaxOccurs();
-            boolean varloop = (maxOccurs == null || minOccurs.compareTo(maxOccurs) < 0);
-            if (varloop)
-            {
-                particlesMatchingStart(part, suspectSet, result, eliminate);
-            }
-        }
-    }
-
-    private static class CodeForNameEntry
-    {
-        CodeForNameEntry(QName name, int code)
-            { this.name = name; this.code = code; }
-        public QName name;
-        public int code;
-    }
-
-    private static final int MODEL_GROUP_CODE = 100;
-
-    private static CodeForNameEntry[] particleCodes = new CodeForNameEntry[]
-    {
-        new CodeForNameEntry(QNameHelper.forLNS("all", "http://www.w3.org/2001/XMLSchema"), SchemaParticle.ALL),
-        new CodeForNameEntry(QNameHelper.forLNS("sequence", "http://www.w3.org/2001/XMLSchema"), SchemaParticle.SEQUENCE),
-        new CodeForNameEntry(QNameHelper.forLNS("choice", "http://www.w3.org/2001/XMLSchema"), SchemaParticle.CHOICE),
-        new CodeForNameEntry(QNameHelper.forLNS("element", "http://www.w3.org/2001/XMLSchema"), SchemaParticle.ELEMENT),
-        new CodeForNameEntry(QNameHelper.forLNS("any", "http://www.w3.org/2001/XMLSchema"), SchemaParticle.WILDCARD),
-        new CodeForNameEntry(QNameHelper.forLNS("group", "http://www.w3.org/2001/XMLSchema"), MODEL_GROUP_CODE),
-    };
-
-    private static Map particleCodeMap = buildParticleCodeMap();
-
-    private static Map buildParticleCodeMap()
-    {
-        Map result = new HashMap();
-        for (int i = 0; i < particleCodes.length; i++)
-            result.put(particleCodes[i].name,  new Integer(particleCodes[i].code));
-        return result;
-    }
-
-    private static int translateParticleCode(Group parseEg)
-    {
-        if (parseEg == null)
-            return 0;
-        return translateParticleCode(parseEg.newCursor().getName());
-    }
-
-    private static int translateParticleCode(QName name)
-    {
-        Integer result = (Integer)particleCodeMap.get(name);
-        if (result == null)
-            return 0;
-        return result.intValue();
-    }
-
-    private static final int ATTRIBUTE_CODE = 100;
-    private static final int ATTRIBUTE_GROUP_CODE = 101;
-    private static final int ANY_ATTRIBUTE_CODE = 102;
-
-    private static CodeForNameEntry[] attributeCodes = new CodeForNameEntry[]
-    {
-        new CodeForNameEntry(QNameHelper.forLNS("attribute", "http://www.w3.org/2001/XMLSchema"), ATTRIBUTE_CODE),
-        new CodeForNameEntry(QNameHelper.forLNS("attributeGroup", "http://www.w3.org/2001/XMLSchema"), ATTRIBUTE_GROUP_CODE),
-        new CodeForNameEntry(QNameHelper.forLNS("anyAttribute", "http://www.w3.org/2001/XMLSchema"), ANY_ATTRIBUTE_CODE),
-    };
-
-    private static Map attributeCodeMap = buildAttributeCodeMap();
-
-    private static Map buildAttributeCodeMap()
-    {
-        Map result = new HashMap();
-        for (int i = 0; i < attributeCodes.length; i++)
-            result.put(attributeCodes[i].name,  new Integer(attributeCodes[i].code));
-        return result;
-    }
-
-    static int translateAttributeCode(QName currentName)
-    {
-        Integer result = (Integer)attributeCodeMap.get(currentName);
-        if (result == null)
-            return 0;
-        return result.intValue();
-    }
-
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscImporter.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscImporter.java
deleted file mode 100644
index c38a3e6..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscImporter.java
+++ /dev/null
@@ -1,748 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.w3.x2001.xmlSchema.RedefineDocument.Redefine;
-import org.w3.x2001.xmlSchema.SchemaDocument.Schema;
-import org.w3.x2001.xmlSchema.SchemaDocument;
-import org.w3.x2001.xmlSchema.ImportDocument.Import;
-import org.w3.x2001.xmlSchema.IncludeDocument.Include;
-
-import java.util.Map;
-import java.util.List;
-import java.util.LinkedList;
-import java.util.Set;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Arrays;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.MalformedURLException;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.InputStream;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.impl.common.XmlErrorContext;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-import javax.xml.transform.Source;
-
-public class StscImporter
-{
-    public static SchemaToProcess[] resolveImportsAndIncludes(Schema[] startWith)
-    {
-        DownloadTable engine = new DownloadTable(startWith);
-        return engine.resolveImportsAndIncludes();
-    }
-
-    public static class SchemaToProcess
-    {
-        private Schema schema;
-        private String chameleonNamespace;
-        private Redefine redefine;
-
-        public SchemaToProcess(Schema schema, String chameleonNamespace, Redefine redefine)
-        {
-            this.schema = schema;
-            this.chameleonNamespace = chameleonNamespace;
-            this.redefine = redefine;
-        }
-
-        /**
-         * The schema to parse.
-         */
-        public Schema getSchema()
-        {
-            return schema;
-        }
-
-        /**
-         * The base URI for this stp
-         */
-        public String getSourceName()
-        {
-            return schema.documentProperties().getSourceName();
-        }
-        
-        /**
-         * The redefine element, if processed via redefine
-         */
-        public Redefine getRedefine()
-        {
-            return redefine;
-        }
-
-        /**
-         * The chameleon namespace. Null if this schema is not being treated
-         * as a chameleon. (The ordinary targetNamespace will just be extracted
-         * from the syntax of the schema.)
-         */
-        public String getChameleonNamespace()
-        {
-            return chameleonNamespace;
-        }
-
-        public boolean equals(Object o)
-        {
-            if (this == o) return true;
-            if (!(o instanceof SchemaToProcess)) return false;
-
-            final SchemaToProcess schemaToProcess = (SchemaToProcess) o;
-
-            if (chameleonNamespace != null ? !chameleonNamespace.equals(schemaToProcess.chameleonNamespace) : schemaToProcess.chameleonNamespace != null) return false;
-            if (redefine != null ? !redefine.equals(schemaToProcess.redefine) : schemaToProcess.redefine != null) return false;
-            if (!schema.equals(schemaToProcess.schema)) return false;
-
-            return true;
-        }
-
-        public int hashCode()
-        {
-            int result;
-            result = schema.hashCode();
-            result = 29 * result + (chameleonNamespace != null ? chameleonNamespace.hashCode() : 0);
-            result = 29 * result + (redefine != null ? redefine.hashCode() : 0);
-            return result;
-        }
-    }
-
-    private final static String PROJECT_URL_PREFIX = "project://local";
-
-    private static String baseURLForDoc(XmlObject obj)
-    {
-        String path = obj.documentProperties().getSourceName();
-
-        if (path == null)
-            return null;
-
-        if (path.startsWith("/"))
-            return PROJECT_URL_PREFIX + path.replace('\\', '/');
-
-        // looks like a URL?
-        int colon = path.indexOf(':');
-        if (colon > 1 && path.substring(0, colon).matches("^\\w+$"))
-            return path;
-
-        return PROJECT_URL_PREFIX + "/" + path.replace('\\', '/');
-    }
-
-    private static URI parseURI(String s)
-    {
-        if (s == null)
-            return null;
-
-        try
-        {
-            return new URI(s);
-        }
-        catch (URISyntaxException syntax)
-        {
-                return null;
-        }
-    }
-    
-    //workaround for Sun bug # 4723726
-    private static URI resolve(URI base, String child)
-    {
-        URI ruri = base.resolve(child);
-        
-        //fix up normalization bug
-        if ("file".equals(ruri.getScheme()) && ! child.equals(ruri))
-        {
-            if (base.getPath().startsWith("//") && !ruri.getPath().startsWith("//"))
-            {
-                String path = "///".concat(ruri.getPath());
-                try
-                {
-                    ruri = new URI("file", null, path, ruri.getQuery(), ruri.getFragment());
-                }
-                catch(URISyntaxException uris)
-                {}
-            }
-        }
-        return ruri;
-    }
-
-    public static class DownloadTable
-    {
-        /**
-         * Namespace/schemaLocation pair.
-         *
-         * Downloaded schemas are indexed by namespace, schemaLocation, and both.
-         *
-         * A perfect match is preferred, but a match-by-namespace is accepted.
-         * A match-by-schemaLocation is only accepted for includes (not imports).
-         */
-        private static class NsLocPair
-        {
-            private String namespaceURI;
-            private String locationURL;
-
-            public NsLocPair(String namespaceURI, String locationURL)
-            {
-                this.namespaceURI = namespaceURI;
-                this.locationURL = locationURL;
-            }
-
-            /**
-             * Empty string for no-namespace, null for namespace-not-part-of-key
-             */
-            public String getNamespaceURI()
-            {
-                return namespaceURI;
-            }
-
-            public String getLocationURL()
-            {
-                return locationURL;
-            }
-
-            public boolean equals(Object o)
-            {
-                if (this == o) return true;
-                if (!(o instanceof NsLocPair)) return false;
-
-                final NsLocPair nsLocPair = (NsLocPair) o;
-
-                if (locationURL != null ? !locationURL.equals(nsLocPair.locationURL) : nsLocPair.locationURL != null) return false;
-                if (namespaceURI != null ? !namespaceURI.equals(nsLocPair.namespaceURI) : nsLocPair.namespaceURI != null) return false;
-
-                return true;
-            }
-
-            public int hashCode()
-            {
-                int result;
-                result = (namespaceURI != null ? namespaceURI.hashCode() : 0);
-                result = 29 * result + (locationURL != null ? locationURL.hashCode() : 0);
-                return result;
-            }
-        }
-
-        private static class DigestKey
-        {
-            byte[] _digest;
-            int _hashCode;
-            DigestKey(byte[] digest)
-            {
-                _digest = digest;
-                for (int i = 0; i < 4 && i < digest.length; i++)
-                {
-                    _hashCode = _hashCode << 8;
-                    _hashCode = _hashCode + digest[i];
-                }
-            }
-
-            public boolean equals(Object o)
-            {
-                if (this == o) return true;
-                if (!(o instanceof DigestKey)) return false;
-                return Arrays.equals(_digest, ((DigestKey)o)._digest);
-            }
-
-            public int hashCode()
-            {
-                return _hashCode;
-            }
-        }
-
-        private Map schemaByNsLocPair = new HashMap();
-        private Map schemaByDigestKey = new HashMap();
-        private LinkedList scanNeeded = new LinkedList();
-        private Set emptyNamespaceSchemas = new HashSet();
-        private Set scannedAlready = new HashSet();
-        private Set failedDownloads = new HashSet();
-
-        private Schema downloadSchema(XmlObject referencedBy, String targetNamespace, String locationURL)
-        {
-            // no location URL provided?  Then nothing to do.
-            if (locationURL == null)
-                return null;
-            
-            // First resolve relative URLs with respect to base URL for doc
-            URI baseURI = parseURI(baseURLForDoc(referencedBy));
-            String absoluteURL = baseURI == null ? locationURL : resolve(baseURI, locationURL).toString();
-
-            // probe 1: ns+url - perfect match
-            if (absoluteURL != null && targetNamespace != null)
-            {
-                Schema result = (Schema)schemaByNsLocPair.get(new NsLocPair(targetNamespace, absoluteURL));
-                if (result != null)
-                    return result;
-            }
-
-            StscState state = StscState.get();
-
-            // probe 2: we have preexisting knowledge of this namespace,
-            // either from another schema file or from the linker.
-            // If we're not downloading the given URL, skip it silently if the
-            // namespace is already represented by a file we have.
-            // Also, suppress downloads of URLs to namespaces that are already
-            // known by the linker.
-            // (We never assume preexisting knowledge of the no-namespace,
-            // even if we have some definitions, since it's likely that
-            // more than one person is playing in the no-namespace at once.)
-            if (targetNamespace != null && !targetNamespace.equals(""))
-            {
-                // the URL is not one to download; should we assume we know about the namespace?
-                if (!state.shouldDownloadURI(absoluteURL))
-                {
-                    // If we already have a schema representing this namespace,
-                    // then skip this URL silently without producing an error.
-                    Schema result = (Schema)schemaByNsLocPair.get(new NsLocPair(targetNamespace, null));
-                    if (result != null)
-                        return result;
-                }
-
-                // If the linker already knows about this namespace, skip
-                // this URL.
-                if (state.linkerDefinesNamespace(targetNamespace))
-                    return null;
-            }
-
-            // probe 3: url only
-            if (absoluteURL != null)
-            {
-                Schema result = (Schema)schemaByNsLocPair.get(new NsLocPair(null, absoluteURL));
-                if (result != null)
-                    return result;
-            }
-
-            // no match: error if we can't or won't download.
-            if (absoluteURL == null)
-            {
-                state.error("Could not find resource - no valid location URL.", XmlErrorContext.CANNOT_FIND_RESOURCE, referencedBy);
-                return null;
-            }
-
-            if (previouslyFailedToDownload(absoluteURL))
-            {
-                // an error message has already been produced.
-                return null;
-            }
-
-            if (!state.shouldDownloadURI(absoluteURL))
-            {
-                state.error("Could not load resource \"" + absoluteURL + "\" (network downloads disabled).", XmlErrorContext.CANNOT_FIND_RESOURCE, referencedBy);
-                addFailedDownload(absoluteURL);
-                return null;
-            }
-
-            // try to download
-            download: try
-            {
-                XmlObject xdoc = downloadDocument(state.getS4SLoader(), targetNamespace, absoluteURL);
-
-                Schema result = findMatchByDigest(xdoc);
-                String shortname = state.relativize(absoluteURL);
-                if (result != null)
-                {
-                    // if an exactly-the-same document has already been loaded, use the original and spew
-                    String dupname = state.relativize(result.documentProperties().getSourceName());
-                    if (dupname != null)
-                        state.info(shortname + " is the same as " + dupname + " (ignoring the duplicate file)");
-                    else
-                        state.info(shortname + " is the same as another schema");
-                }
-                else
-                {
-                    // otherwise, it's a new document: validate it and grab the contents
-                    XmlOptions voptions = new XmlOptions();
-                    voptions.setErrorListener(state.getErrorListener());
-                    if (!(xdoc instanceof SchemaDocument) || !xdoc.validate(voptions))
-                    {
-                        state.error("Referenced document is not a valid schema", XmlErrorContext.CANNOT_FIND_RESOURCE, referencedBy);
-                        break download;
-                    }
-
-                    SchemaDocument sDoc = (SchemaDocument)xdoc;
-
-                    result = sDoc.getSchema();
-                    state.info("Loading referenced file " + shortname);
-                }
-                NsLocPair key = new NsLocPair(emptyStringIfNull(result.getTargetNamespace()), absoluteURL);
-                addSuccessfulDownload(key, result);
-                return result;
-            }
-            catch (MalformedURLException malformed)
-            {
-                state.error("URL \"" + absoluteURL + "\" is not well-formed", XmlErrorContext.CANNOT_FIND_RESOURCE, referencedBy);
-            }
-            catch (IOException connectionProblem)
-            {
-                state.error(connectionProblem.toString(), XmlErrorContext.CANNOT_FIND_RESOURCE, referencedBy);
-            }
-            catch (XmlException e)
-            {
-                state.error("Problem parsing referenced XML resource - " + e.getMessage(), XmlErrorContext.CANNOT_FIND_RESOURCE, referencedBy);
-            }
-
-            // record failure so that we don't try to download this URL again
-            addFailedDownload(absoluteURL);
-            return null;
-        }
-        
-        private XmlObject downloadDocument(SchemaTypeLoader loader, String namespace, String absoluteURL)
-                throws MalformedURLException, IOException, XmlException
-        {
-            StscState state = StscState.get();
-            
-            EntityResolver resolver = state.getEntityResolver();
-            if (resolver != null)
-            {
-                InputSource source;
-                try
-                {
-                    source = resolver.resolveEntity(namespace, absoluteURL);
-                }
-                catch (SAXException e)
-                {
-                    throw new XmlException(e);
-                }
-                    
-                // first preference for InputSource contract: character stream
-                Reader reader = source.getCharacterStream();
-                if (reader != null)
-                {
-                    XmlOptions options = new XmlOptions();
-                    options.setLoadLineNumbers();
-                    options.setDocumentSourceName(absoluteURL);
-                    return loader.parse(reader, null, options);
-                }
-                
-                // second preference for InputSource contract: 
-                InputStream bytes = source.getByteStream();
-                if (bytes != null)
-                {
-                    String encoding = source.getEncoding();
-                    XmlOptions options = new XmlOptions();
-                    options.setLoadLineNumbers();
-                    options.setLoadMessageDigest();
-                    options.setDocumentSourceName(absoluteURL);
-                    if (encoding != null)
-                        options.setCharacterEncoding(encoding);
-                    return loader.parse(bytes, null, options);
-                }
-                
-                // third preference: use the (possibly redirected) url
-                String urlToLoad = source.getSystemId();
-                if (urlToLoad == null)
-                    throw new IOException("EntityResolver unable to resolve " + absoluteURL + " (for namespace " + namespace + ")");
-                XmlOptions options = new XmlOptions();
-                options.setLoadLineNumbers();
-                options.setLoadMessageDigest();
-                options.setDocumentSourceName(absoluteURL);
-                URL urlDownload = new URL(urlToLoad);
-                return loader.parse(urlDownload, null, options);
-            }
-            
-            // no resolver - just use the URL directly, no substitution
-            XmlOptions options = new XmlOptions();
-            options.setLoadLineNumbers();
-            options.setLoadMessageDigest();
-                
-            URL urlDownload = new URL(absoluteURL);
-            return loader.parse(urlDownload, null, options);
-        }
-
-        private void addSuccessfulDownload(NsLocPair key, Schema schema)
-        {
-            byte[] digest = schema.documentProperties().getMessageDigest();
-            if (digest == null)
-            {
-                StscState.get().addSchemaDigest(null);
-            }
-            else
-            {
-                DigestKey dk = new DigestKey(digest);
-                if (!schemaByDigestKey.containsKey(dk))
-                {
-                    schemaByDigestKey.put(new DigestKey(digest), schema);
-                    StscState.get().addSchemaDigest(digest);
-                }
-            }
-
-            schemaByNsLocPair.put(key, schema);
-            NsLocPair key1 = new NsLocPair(key.getNamespaceURI(), null);
-            if (!schemaByNsLocPair.containsKey(key1))
-                schemaByNsLocPair.put(key1, schema);
-            NsLocPair key2 = new NsLocPair(null, key.getLocationURL());
-            if (!schemaByNsLocPair.containsKey(key2))
-                schemaByNsLocPair.put(key2, schema);
-        }
-
-        private Schema findMatchByDigest(XmlObject original)
-        {
-            byte[] digest = original.documentProperties().getMessageDigest();
-            if (digest == null)
-                return null;
-            return (Schema)schemaByDigestKey.get(new DigestKey(digest));
-        }
-
-        private void addFailedDownload(String locationURL)
-        {
-            failedDownloads.add(locationURL);
-        }
-
-        private boolean previouslyFailedToDownload(String locationURL)
-        {
-            return failedDownloads.contains(locationURL);
-        }
-
-        private static boolean nullableStringsMatch(String s1, String s2)
-        {
-            if (s1 == null && s2 == null)
-                return true;
-            if (s1 == null || s2 == null)
-                return false;
-            return (s1.equals(s2));
-        }
-
-        private static String emptyStringIfNull(String s)
-        {
-            if (s == null)
-                return "";
-            return s;
-        }
-
-        private void addScanNeeded(SchemaToProcess stp)
-        {
-            if (!scannedAlready.contains(stp))
-            {
-                scannedAlready.add(stp);
-                scanNeeded.add(stp);
-            }
-        }
-
-        private void addEmptyNamespaceSchema(Schema s)
-        {
-            emptyNamespaceSchemas.add(s);
-        }
-
-        private void usedEmptyNamespaceSchema(Schema s)
-        {
-            emptyNamespaceSchemas.remove(s);
-        }
-
-        private boolean fetchRemainingEmptyNamespaceSchemas()
-        {
-            if (emptyNamespaceSchemas.isEmpty())
-                return false;
-
-            for (Iterator i = emptyNamespaceSchemas.iterator(); i.hasNext();)
-            {
-                Schema schema = (Schema)i.next();
-                addScanNeeded(new SchemaToProcess(schema, null, null));
-            }
-
-            emptyNamespaceSchemas.clear();
-            return true;
-        }
-
-        private boolean hasNextToScan()
-        {
-            return !scanNeeded.isEmpty();
-        }
-
-        private SchemaToProcess nextToScan()
-        {
-            SchemaToProcess next = (SchemaToProcess)scanNeeded.removeFirst();
-            return next;
-        }
-
-        public DownloadTable(Schema[] startWith)
-        {
-            for (int i = 0; i < startWith.length; i++)
-            {
-                String targetNamespace = startWith[i].getTargetNamespace();
-                NsLocPair key = new NsLocPair(targetNamespace, baseURLForDoc(startWith[i]));
-                addSuccessfulDownload(key, startWith[i]);
-                if (targetNamespace != null)
-                    addScanNeeded(new SchemaToProcess(startWith[i], null, null));
-                else
-                    addEmptyNamespaceSchema(startWith[i]);
-            }
-        }
-
-        public SchemaToProcess[] resolveImportsAndIncludes()
-        {
-            StscState state = StscState.get();
-            List result = new ArrayList();
-
-            // algorithm is to scan through each schema document and
-            // 1. download each import and include (if not already downloaded)
-            // 2. queue each imported or included schema to be process (if not already queued)
-
-            // The algorithm is run twice twice: first we begin with non-empty
-            // namespace schemas only.  Then we repeat starting with any
-            // empty empty-namespace schemas that have NOT been chameleon-
-            // included by other schemas and process them.
-
-            for (;;)
-            {
-                while (hasNextToScan())
-                {
-                    SchemaToProcess stp = nextToScan();
-                    state.addSourceUri(stp.getSourceName(), null);
-                    result.add(stp);
-                    
-                    {
-                        // handle imports
-                        Import[] imports = stp.getSchema().getImportArray();
-                        for (int i = 0; i < imports.length; i++)
-                        {
-                            Schema imported = downloadSchema(imports[i], emptyStringIfNull(imports[i].getNamespace()), imports[i].getSchemaLocation());
-    
-                            // if download fails, an error has already been reported.
-                            if (imported == null)
-                                continue;
-    
-                            if (!nullableStringsMatch(imported.getTargetNamespace(), imports[i].getNamespace()))
-                            {
-                                StscState.get().error("Imported schema has a target namespace \"" + imported.getTargetNamespace() + "\" that does not match the specified \"" + imports[i].getNamespace() + "\"", XmlErrorContext.MISMATCHED_TARGET_NAMESPACE, imports[i]);
-                            }
-                            else
-                            {
-                                addScanNeeded(new SchemaToProcess(imported, null, null));
-                            }
-                        }
-                    }
-                    
-                    {
-                        // handle includes
-                        Include[] includes = stp.getSchema().getIncludeArray();
-                        String sourceNamespace = stp.getChameleonNamespace();
-                        if (sourceNamespace == null)
-                            sourceNamespace = emptyStringIfNull(stp.getSchema().getTargetNamespace());
-    
-                        for (int i = 0; i < includes.length; i++)
-                        {
-                            Schema included = downloadSchema(includes[i], null, includes[i].getSchemaLocation());
-                            // if download fails, an error has already been reported.
-                            if (included == null)
-                                continue;
-    
-                            if (emptyStringIfNull(included.getTargetNamespace()).equals(sourceNamespace))
-                            {
-                                // non-chameleon case - just like an import
-                                addScanNeeded(new SchemaToProcess(included, null, null));
-                            }
-                            else if (included.getTargetNamespace() != null)
-                            {
-                                // illegal include: included schema in wrong namespace.
-                                StscState.get().error("Included schema has a target namespace \"" + included.getTargetNamespace() + "\" that does not match the source namespace \"" + sourceNamespace + "\"", XmlErrorContext.MISMATCHED_TARGET_NAMESPACE, includes[i]);
-                            }
-                            else
-                            {
-                                // chameleon include
-                                addScanNeeded(new SchemaToProcess(included, sourceNamespace, null));
-                                usedEmptyNamespaceSchema(included);
-                            }
-                        }
-                    }
-                    
-                    {
-                        // handle redefines
-                        Redefine[] redefines = stp.getSchema().getRedefineArray();
-                        String sourceNamespace = stp.getChameleonNamespace();
-                        if (sourceNamespace == null)
-                            sourceNamespace = emptyStringIfNull(stp.getSchema().getTargetNamespace());
-                        for (int i = 0; i < redefines.length; i++)
-                        {
-                            Schema redefined = downloadSchema(redefines[i], null, redefines[i].getSchemaLocation());
-                            // if download fails, an error has already been reported.
-                            if (redefined == null)
-                                continue;
-    
-                            if (emptyStringIfNull(redefined.getTargetNamespace()).equals(sourceNamespace))
-                            {
-                                // non-chameleon case
-                                addScanNeeded(new SchemaToProcess(redefined, null, redefines[i]));
-                            }
-                            else if (redefined.getTargetNamespace() != null)
-                            {
-                                // illegal include: included schema in wrong namespace.
-                                StscState.get().error("Redefined schema has a target namespace \"" + redefined.getTargetNamespace() + "\" that does not match the source namespace \"" + sourceNamespace + "\"", XmlErrorContext.MISMATCHED_TARGET_NAMESPACE, redefines[i]);
-                            }
-                            else
-                            {
-                                // chameleon redefine
-                                addScanNeeded(new SchemaToProcess(redefined, sourceNamespace, redefines[i]));
-                                usedEmptyNamespaceSchema(redefined);
-                            }
-                        }
-                    }
-                }
-
-                if (!fetchRemainingEmptyNamespaceSchemas())
-                    break;
-            }
-
-            return (SchemaToProcess[])result.toArray(new SchemaToProcess[result.size()]);
-        }
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscJavaizer.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscJavaizer.java
deleted file mode 100644
index df137e3..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscJavaizer.java
+++ /dev/null
@@ -1,912 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.impl.common.NameUtil;
-import org.apache.xmlbeans.QNameSetBuilder;
-import org.apache.xmlbeans.SchemaField;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.SchemaProperty;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.SchemaStringEnumEntry;
-import org.apache.xmlbeans.XmlByte;
-import org.apache.xmlbeans.XmlShort;
-
-import java.util.*;
-import java.math.BigInteger;
-
-import javax.xml.namespace.QName;
-
-public class StscJavaizer
-{
-    /**
-     * Does a topo walk of all the types to resolve them.
-     */
-    public static void javaizeAllTypes(boolean javaize)
-    {
-        StscState state = StscState.get();
-
-        List allSeenTypes = new ArrayList();
-        allSeenTypes.addAll(Arrays.asList(state.documentTypes()));
-        allSeenTypes.addAll(Arrays.asList(state.attributeTypes()));
-        allSeenTypes.addAll(Arrays.asList(state.globalTypes()));
-
-        // First distribute the global names among the top entities.
-        if (javaize)
-            assignGlobalJavaNames(allSeenTypes);
-
-        // now fully javaize everything deeply.
-        for (int i = 0; i < allSeenTypes.size(); i++)
-        {
-            SchemaType gType = (SchemaType)allSeenTypes.get(i);
-            if (javaize)
-            {
-                javaizeType((SchemaTypeImpl)gType);
-                String className = gType.getFullJavaName();
-                if (className != null)
-                    state.addClassname(className.replace('$', '.'), gType);
-            }
-            else
-                skipJavaizingType((SchemaTypeImpl)gType);
-            allSeenTypes.addAll(Arrays.asList(gType.getAnonymousTypes()));
-        }
-    }
-
-    static void assignGlobalJavaNames(Collection schemaTypes)
-    {
-        HashSet usedNames = new HashSet();
-        StscState state = StscState.get();
-
-        for (Iterator i = schemaTypes.iterator(); i.hasNext(); )
-        {
-            SchemaTypeImpl sImpl = (SchemaTypeImpl)i.next();
-            QName topName = findTopName(sImpl);
-            String pickedName = state.getJavaname(topName);
-            if (sImpl.isUnjavaized())
-            {
-                sImpl.setFullJavaName(pickFullJavaClassName(usedNames, findTopName(sImpl), pickedName, sImpl.isDocumentType(), sImpl.isAttributeType()));
-                sImpl.setFullJavaImplName(pickFullJavaImplName(usedNames, sImpl.getFullJavaName()));
-            }
-        }
-    }
-
-    private static boolean isStringType(SchemaType type)
-    {
-        if (type == null || type.getSimpleVariety() != SchemaType.ATOMIC)
-            return false;
-        return (type.getPrimitiveType().getBuiltinTypeCode() == SchemaType.BTC_STRING);
-    }
-
-    static String pickConstantName(Set usedNames, String words)
-    {
-        String base = NameUtil.upperCaseUnderbar(words);
-
-        if (base.length() == 0)
-        {
-            base = "X";
-        }
-
-        if (base.startsWith("INT_")) // reserved for int codes
-        {
-            base = "X_" + base;
-        }
-
-        String uniqName;
-        int index = 1;
-        for (uniqName = base; usedNames.contains(uniqName); )
-        {
-            index++;
-            uniqName = base + "_" + index;
-        }
-
-        usedNames.add(uniqName);
-
-        return uniqName;
-    }
-
-    static void skipJavaizingType(SchemaTypeImpl sImpl)
-    {
-        if (sImpl.isJavaized())
-            return;
-        sImpl.startJavaizing();
-        secondPassProcessType(sImpl);
-        sImpl.finishJavaizing();
-    }
-
-    static void secondPassProcessType(SchemaTypeImpl sImpl)
-    {
-        if (isStringType(sImpl))
-        {
-            XmlAnySimpleType[] enumVals = sImpl.getEnumerationValues();
-
-            // if this is an enumerated string type, values are to be
-            // javaized as constants.
-            if (enumVals != null)
-            {
-                SchemaStringEnumEntry[] entryArray = new SchemaStringEnumEntry[enumVals.length];
-                SchemaType basedOn = sImpl.getBaseEnumType();
-                if (basedOn == sImpl)
-                {
-                    Set usedNames = new HashSet();
-                    for (int i = 0; i < enumVals.length; i++)
-                    {
-                        String val = enumVals[i].getStringValue();
-
-                        entryArray[i] = new SchemaStringEnumEntryImpl(val, i + 1, pickConstantName(usedNames, val));
-                    }
-                }
-                else
-                {
-                    for (int i = 0; i < enumVals.length; i++)
-                    {
-                        String val = enumVals[i].getStringValue();
-                        entryArray[i] = basedOn.enumEntryForString(val);
-                    }
-                }
-                sImpl.setStringEnumEntries(entryArray);
-            }
-        }
-    }
-
-    static void javaizeType(SchemaTypeImpl sImpl)
-    {
-        if (sImpl.isJavaized())
-            return;
-
-        SchemaTypeImpl baseType = (SchemaTypeImpl)sImpl.getBaseType();
-        if (baseType != null)
-            javaizeType(baseType);
-
-        sImpl.startJavaizing();
-
-        sImpl.setCompiled(true);
-
-        secondPassProcessType(sImpl);
-
-        if (!sImpl.isSimpleType())
-        {
-            SchemaProperty[] eltProps = sImpl.getElementProperties();
-            SchemaProperty[] attrProps = sImpl.getAttributeProperties();
-
-            // element setters result from a computation
-            if (eltProps.length > 0)
-                assignJavaElementSetterModel(eltProps, sImpl.getContentModel());
-
-            // Handing out java names - this permits us to avoid collisions.
-            Set usedPropNames = new HashSet();
-
-            // Assign names in two passes: first inherited names, then others.
-            for (boolean doInherited = true; ; doInherited = false)
-            {
-                if (eltProps.length > 0)
-                    assignJavaPropertyNames(usedPropNames, eltProps, baseType, doInherited);
-
-                assignJavaPropertyNames(usedPropNames, attrProps, baseType, doInherited);
-
-                if (doInherited == false)
-                    break;
-            }
-
-            SchemaProperty[] allprops = sImpl.getProperties();
-
-            // determine whether order insensitive
-            boolean insensitive = isPropertyModelOrderInsensitive(allprops);
-
-            // Fill in the java type codes now.
-            // This depends on recursive type information, so it's done in typechecking
-            assignJavaTypeCodes(allprops);
-
-            sImpl.setOrderSensitive(!insensitive);
-        }
-
-        // assign java type names to anonymous types
-        assignJavaAnonymousTypeNames(sImpl);
-
-        sImpl.finishJavaizing();
-    }
-
-    static void assignJavaAnonymousTypeNames(SchemaTypeImpl outerType)
-    {
-        Set usedTypeNames = new HashSet();
-        SchemaType[] anonymousTypes = outerType.getAnonymousTypes();
-        StscState state = StscState.get();
-
-        // Because we generate nested java interfaces, and nested
-        // interface names must not be the same as an ancestor, use up
-        // the ancestors
-
-        for ( SchemaType scanOuterType = outerType ;
-              scanOuterType != null ;
-              scanOuterType = scanOuterType.getOuterType() )
-        {
-            usedTypeNames.add( scanOuterType.getShortJavaName() );
-        }
-
-        for ( SchemaType scanOuterType = outerType ;
-              scanOuterType != null ;
-              scanOuterType = scanOuterType.getOuterType() )
-        {
-            usedTypeNames.add( scanOuterType.getShortJavaImplName() );
-        }
-
-        // and because things are problematic if an inner type name
-        // is the same as a top-level package name, also get rid of that
-        // collision
-        usedTypeNames.add(getOutermostPackage(outerType.getFullJavaName()));
-
-        // assign names
-        for (int i = 0; i < anonymousTypes.length; i++)
-        {
-            SchemaTypeImpl sImpl = (SchemaTypeImpl)anonymousTypes[i];
-            if (sImpl == null) // already handled in first pass
-                continue;
-            if (sImpl.isSkippedAnonymousType())
-                continue;
-            String localname = null;
-            String javaname = null;
-
-            SchemaField containerField = sImpl.getContainerField();
-            if (containerField != null)
-            {
-                QName qname = sImpl.getContainerField().getName();
-                localname = qname.getLocalPart();
-                javaname = state.getJavaname(sImpl.getContainerField().getName());
-            }
-            else
-            {
-                // not defined inside an Elt or Attr: must be a nested simple type
-                switch (sImpl.getOuterType().getSimpleVariety())
-                {
-                    case SchemaType.UNION:
-                        javaname = "Member"; break;
-                    case SchemaType.LIST:
-                        javaname = "Item"; break;
-                    case SchemaType.ATOMIC:
-                    default:
-                        assert(false) : "Weird type " + sImpl.toString();
-                        javaname = "Base"; break;
-                }
-            }
-            sImpl.setShortJavaName(
-                    pickInnerJavaClassName(usedTypeNames, localname, javaname));
-            sImpl.setShortJavaImplName(
-                    pickInnerJavaImplName(usedTypeNames, localname, javaname == null ? null : javaname + "Impl"));
-        }
-    }
-
-    /**
-     * Used to compute the setter model.
-     *
-     * Returns the set of all QNames of elements that could possibly be
-     * contained in the given contentModel. The state variable is used
-     * to record the results, so that if they are needed again later,
-     * they do not need to be recomputed.
-     */
-    static QNameSet computeAllContainedElements(SchemaParticle contentModel, Map state)
-    {
-        // Remember previously computed results to avoid complexity explosion
-        QNameSet result = (QNameSet)state.get(contentModel);
-        if (result != null)
-            return result;
-
-        QNameSetBuilder builder;
-
-        switch (contentModel.getParticleType())
-        {
-            case SchemaParticle.ALL:
-            case SchemaParticle.CHOICE:
-            case SchemaParticle.SEQUENCE:
-            default:
-                builder = new QNameSetBuilder();
-                for (int i = 0; i < contentModel.countOfParticleChild(); i++)
-                {
-                    builder.addAll(computeAllContainedElements(contentModel.getParticleChild(i), state));
-                }
-                result = builder.toQNameSet();
-                break;
-
-            case SchemaParticle.WILDCARD:
-                result = contentModel.getWildcardSet();
-                break;
-
-            case SchemaParticle.ELEMENT:
-                result = QNameSet.singleton(contentModel.getName());
-                break;
-        }
-        state.put(contentModel, result);
-        return result;
-    }
-
-    /**
-     * Used to compute setter model.
-     *
-     * Returns the QNameSet of all elements that can possibly come before an
-     * element whose name is given by the target in a valid instance of the
-     * contentModel.  When appending an element, it comes before the first
-     * one that is not in this set.
-     */
-    static QNameSet computeNondelimitingElements(QName target, SchemaParticle contentModel, Map state)
-    {
-        QNameSet allContents = computeAllContainedElements(contentModel, state);
-        if (!allContents.contains(target))
-            return QNameSet.EMPTY;
-
-        // If iterated, then all contents are delimiting.
-        if (contentModel.getMaxOccurs() == null ||
-            contentModel.getMaxOccurs().compareTo(BigInteger.ONE) > 0)
-            return allContents;
-
-        QNameSetBuilder builder;
-
-        switch (contentModel.getParticleType())
-        {
-            case SchemaParticle.ALL:
-            case SchemaParticle.ELEMENT:
-            default:
-                return allContents;
-
-            case SchemaParticle.WILDCARD:
-                return QNameSet.singleton(target);
-
-            case SchemaParticle.CHOICE:
-                builder = new QNameSetBuilder();
-                for (int i = 0; i < contentModel.countOfParticleChild(); i++)
-                {
-                    QNameSet childContents = computeAllContainedElements(contentModel.getParticleChild(i), state);
-                    if (childContents.contains(target))
-                        builder.addAll(computeNondelimitingElements(target, contentModel.getParticleChild(i), state));
-                }
-                return builder.toQNameSet();
-
-            case SchemaParticle.SEQUENCE:
-                builder = new QNameSetBuilder();
-                boolean seenTarget = false;
-                for (int i = contentModel.countOfParticleChild(); i > 0; )
-                {
-                    i--;
-                    QNameSet childContents = computeAllContainedElements(contentModel.getParticleChild(i), state);
-                    if (seenTarget)
-                    {
-                        builder.addAll(childContents);
-                    }
-                    else if (childContents.contains(target))
-                    {
-                        builder.addAll(computeAllContainedElements(contentModel.getParticleChild(i), state));
-                        seenTarget = true;
-                    }
-                }
-                return builder.toQNameSet();
-        }
-    }
-
-    static void assignJavaElementSetterModel(SchemaProperty[] eltProps, SchemaParticle contentModel)
-    {
-        // To compute the element setter model, we need to compute the
-        // delimiting elements for each element.
-
-        Map state = new HashMap();
-        QNameSet allContents = computeAllContainedElements(contentModel, state);
-
-        for (int i = 0; i < eltProps.length; i++)
-        {
-            SchemaPropertyImpl sImpl = (SchemaPropertyImpl)eltProps[i];
-            QNameSet nde = computeNondelimitingElements(sImpl.getName(), contentModel, state);
-            QNameSetBuilder builder = new QNameSetBuilder(allContents);
-            builder.removeAll(nde);
-            sImpl.setJavaSetterDelimiter(builder.toQNameSet());
-        }
-    }
-
-    static void assignJavaPropertyNames(Set usedNames, SchemaProperty[] props, SchemaType baseType, boolean doInherited)
-    {
-        StscState state = StscState.get();
-
-        // two passes: first deal with inherited properties, then with new ones.
-        // this ensures that we match up with base class definitions cleanly
-
-        for (int i = 0; i < props.length; i++)
-        {
-            SchemaPropertyImpl sImpl = (SchemaPropertyImpl)props[i];
-
-            SchemaProperty baseProp =
-               (sImpl.isAttribute() ?
-                    baseType.getAttributeProperty(sImpl.getName()) :
-                    baseType.getElementProperty(sImpl.getName()));
-
-            if ((baseProp != null) != doInherited)
-                continue;
-
-            QName propQName = sImpl.getName();
-
-            String theName;
-
-            if (baseProp == null)
-                theName = pickJavaPropertyName(usedNames, propQName.getLocalPart(), state.getJavaname(propQName));
-            else
-            {
-                theName = baseProp.getJavaPropertyName();
-                assert(!usedNames.contains(theName));
-                usedNames.add(theName);
-            }
-
-            sImpl.setJavaPropertyName(theName);
-
-            boolean isArray = (sImpl.getMaxOccurs() == null ||
-                sImpl.getMaxOccurs().compareTo(BigInteger.ONE) > 0);
-            boolean isSingleton = !isArray && (sImpl.getMaxOccurs().signum() > 0);
-            boolean isOption = isSingleton && (sImpl.getMinOccurs().signum() == 0);
-            SchemaType javaBasedOnType = sImpl.getType();
-
-            if (baseProp != null)
-            {
-                if (baseProp.extendsJavaArray())
-                {
-                    isSingleton = false;
-                    isOption = false;
-                    isArray = true;
-                }
-                if (baseProp.extendsJavaSingleton())
-                {
-                    isSingleton = true;
-                }
-                if (baseProp.extendsJavaOption())
-                {
-                    isOption = true;
-                }
-                javaBasedOnType = baseProp.javaBasedOnType();
-            }
-
-            sImpl.setExtendsJava(javaBasedOnType.getRef(), isSingleton, isOption, isArray);
-        }
-
-    }
-
-    static void assignJavaTypeCodes(SchemaProperty[] properties)
-    {
-        for (int i = 0; i < properties.length; i++)
-        {
-            SchemaPropertyImpl sImpl = (SchemaPropertyImpl)properties[i];
-            SchemaType sType = sImpl.javaBasedOnType();
-            sImpl.setJavaTypeCode(javaTypeCodeForType(sType));
-        }
-    }
-
-    static int javaTypeCodeInCommon(SchemaType[] types)
-    {
-        if (types == null || types.length == 0)
-            return SchemaProperty.XML_OBJECT;
-
-        int code = javaTypeCodeForType(types[0]);
-        if (code == SchemaProperty.JAVA_OBJECT)
-            return code;
-        for (int i = 1; i < types.length; i++)
-        {
-            // if any two are different, the answer is java.lang.Object
-            if (code != javaTypeCodeForType(types[i]))
-                return SchemaProperty.JAVA_OBJECT;
-        }
-        return code;
-    }
-
-    static int javaTypeCodeForType(SchemaType sType)
-    {
-        if (!sType.isSimpleType())
-            return SchemaProperty.XML_OBJECT;
-
-        if (sType.getSimpleVariety() == SchemaType.UNION)
-        {
-            // see if we can find an interesting common base type, e.g., for string enums
-            SchemaType baseType = sType.getUnionCommonBaseType();
-            if (baseType != null && !baseType.isURType())
-                sType = baseType;
-            else
-                return javaTypeCodeInCommon(sType.getUnionConstituentTypes());
-        }
-
-        if (sType.getSimpleVariety() == SchemaType.LIST)
-            return SchemaProperty.JAVA_LIST;
-
-        if (sType.isURType())
-            return SchemaProperty.XML_OBJECT;
-
-        switch (sType.getPrimitiveType().getBuiltinTypeCode())
-        {
-            case SchemaType.BTC_ANY_SIMPLE:
-                // return SchemaProperty.XML_OBJECT;
-                return SchemaProperty.JAVA_STRING;
-
-            case SchemaType.BTC_BOOLEAN:
-                return SchemaProperty.JAVA_BOOLEAN;
-
-            case SchemaType.BTC_BASE_64_BINARY:
-                return SchemaProperty.JAVA_BYTE_ARRAY;
-
-            case SchemaType.BTC_HEX_BINARY:
-                return SchemaProperty.JAVA_BYTE_ARRAY;
-
-            case SchemaType.BTC_ANY_URI:
-                return SchemaProperty.JAVA_STRING;
-
-            case SchemaType.BTC_QNAME:
-                return SchemaProperty.JAVA_QNAME;
-
-            case SchemaType.BTC_NOTATION:
-                return SchemaProperty.XML_OBJECT;
-
-            case SchemaType.BTC_FLOAT:
-                return SchemaProperty.JAVA_FLOAT;
-
-            case SchemaType.BTC_DOUBLE:
-                return SchemaProperty.JAVA_DOUBLE;
-
-            case SchemaType.BTC_DECIMAL:
-                switch (sType.getDecimalSize())
-                {
-                    case SchemaType.SIZE_BYTE:
-                        return SchemaProperty.JAVA_BYTE;
-                    case SchemaType.SIZE_SHORT:
-                        return SchemaProperty.JAVA_SHORT;
-                    case SchemaType.SIZE_INT:
-                        return SchemaProperty.JAVA_INT;
-                    case SchemaType.SIZE_LONG:
-                        return SchemaProperty.JAVA_LONG;
-                    case SchemaType.SIZE_BIG_INTEGER:
-                        return SchemaProperty.JAVA_BIG_INTEGER;
-                    case SchemaType.SIZE_BIG_DECIMAL:
-                    default:
-                        return SchemaProperty.JAVA_BIG_DECIMAL;
-                }
-
-            case SchemaType.BTC_STRING:
-                if (isStringType(sType.getBaseEnumType()))
-                    return SchemaProperty.JAVA_ENUM;
-                return SchemaProperty.JAVA_STRING;
-
-            case SchemaType.BTC_DURATION:
-                return SchemaProperty.JAVA_GDURATION;
-
-            case SchemaType.BTC_DATE_TIME:
-            case SchemaType.BTC_DATE:
-                // return SchemaProperty.JAVA_DATE; // converted to calendar
-
-            case SchemaType.BTC_TIME:
-            case SchemaType.BTC_G_YEAR_MONTH:
-            case SchemaType.BTC_G_YEAR:
-            case SchemaType.BTC_G_MONTH_DAY:
-            case SchemaType.BTC_G_DAY:
-            case SchemaType.BTC_G_MONTH:
-                // return SchemaProperty.JAVA_GDATE; // converted to calendar (JAX-B)
-                return SchemaProperty.JAVA_CALENDAR;
-
-            default:
-                assert(false) : "unrecognized code " + sType.getPrimitiveType().getBuiltinTypeCode();
-                throw new IllegalStateException("unrecognized code " + sType.getPrimitiveType().getBuiltinTypeCode() + " of " + sType.getPrimitiveType().getName());
-        }
-    }
-
-    static boolean isPropertyModelOrderInsensitive(SchemaProperty[] properties)
-    {
-        for (int i = 0; i < properties.length; i++)
-        {
-            SchemaProperty prop = properties[i];
-            if (prop.hasNillable() == SchemaProperty.VARIABLE)
-                return false;
-            if (prop.hasDefault() == SchemaProperty.VARIABLE)
-                return false;
-            if (prop.hasFixed() == SchemaProperty.VARIABLE)
-                return false;
-            if (prop.hasDefault() != SchemaProperty.NEVER &&
-                prop.getDefaultText() == null)
-                return false;
-        }
-        return true;
-    }
-
-    static boolean protectReservedGlobalClassNames(String name)
-    {
-        int i = name.lastIndexOf('.');
-        String lastSegment = name.substring(i + 1);
-        if (lastSegment.endsWith("Document") && !lastSegment.equals("Document"))
-            return true;
-        return false;
-    }
-
-    static boolean protectReservedInnerClassNames(String name)
-    {
-        return (name.equals("Enum") || name.equals("Factory"));
-    }
-
-    static String[] PROTECTED_PROPERTIES = {
-        "StringValue",
-        "BooleanValue",
-        "ByteValue",
-        "ShortValue",
-        "IntValue",
-        "LongValue",
-        "BigIntegerValue",
-        "BigDecimalValue",
-        "FloatValue",
-        "DoubleValue",
-        "ByteArrayValue",
-        "EnumValue",
-        "CalendarValue",
-        "DateValue",
-        "GDateValue",
-        "GDurationValue",
-        "QNameValue",
-        "ListValue",
-        "ObjectValue",
-        "Class",
-    };
-    static Set PROTECTED_PROPERTIES_SET = new HashSet(Arrays.asList(PROTECTED_PROPERTIES));
-
-    static boolean protectReservedPropertyNames(String name)
-    {
-        return PROTECTED_PROPERTIES_SET.contains(name) ||
-            (name.endsWith("Array") && !name.equals("Array"));
-    }
-
-    static String pickFullJavaClassName(Set usedNames, QName qName, String configname, boolean isDocument, boolean isAttrType)
-    {
-        String base;
-        boolean protect;
-
-        if (configname != null && configname.indexOf('.') >= 0)
-        {
-            // a configname with dots defines the fully qualified java class name
-            base = configname;
-            protect = protectReservedGlobalClassNames(base);
-        }
-        else
-        {
-            StscState state = StscState.get();
-            String uri = qName.getNamespaceURI();
-
-            base = NameUtil.getClassNameFromQName(qName);
-
-            // Check to see if we have a mapping from namespace URI to Java package
-            // name. If so, apply the mapped package prefix at the beginning of
-            // the base name
-
-            String pkgPrefix = state.getPackageOverride(uri);
-
-            if (pkgPrefix != null)
-            {
-                // Form the new qualified class name from the new package name
-                // and the old class name
-                base = pkgPrefix + "." + base.substring(base.lastIndexOf('.') + 1);
-            }
-
-            // See if there is a prefix...
-            String javaPrefix = state.getJavaPrefix(uri);
-            if (javaPrefix != null)
-                base = base.substring(0, base.lastIndexOf('.') + 1) + javaPrefix + base.substring(base.lastIndexOf('.') + 1);
-
-            // a configname without dots may override the shortname part.
-            if (configname != null)
-            {
-                base = base.substring(0, base.lastIndexOf('.') + 1) + configname;
-            }
-
-            protect = protectReservedGlobalClassNames(base);
-            if (configname == null)
-            {
-                // add special suffix
-                if (isDocument)
-                    base = base + "Document";
-                else if (isAttrType)
-                    base = base + "Attribute";
-
-                // add configured suffix
-                String javaSuffix = state.getJavaSuffix(uri);
-                if (javaSuffix != null)
-                    base = base + javaSuffix;
-            }
-        }
-
-        String outermostPkg = getOutermostPackage(base);
-
-        int index = 1;
-        String uniqName;
-        if (protect)
-            uniqName = base + index;
-        else
-            uniqName = base;
-        while (usedNames.contains(uniqName.toLowerCase()) || uniqName.equals(outermostPkg))
-        {
-            index++;
-            uniqName = base + index;
-        }
-
-        usedNames.add(uniqName.toLowerCase());
-
-        return uniqName;
-    }
-
-    static String getOutermostPackage(String fqcn)
-    {
-        if (fqcn == null)
-            return "";
-
-        // remove class name
-        int lastdot = fqcn.indexOf('.');
-        if (lastdot < 0)
-            return "";
-
-        // remove outer package names
-        return fqcn.substring(0, lastdot);
-    }
-
-    static String pickFullJavaImplName(Set usedNames, String intfName)
-    {
-        // Strip off the package from the class name so we can replace it
-        String className = intfName;
-        String pkgName = null;
-        int index = intfName.lastIndexOf('.');
-        if (index >= 0)
-        {
-            className = intfName.substring(index + 1);
-            pkgName = intfName.substring(0, index);
-        }
-
-        // Form the new qualified class name from the new package name
-        // and the old class name
-        String base = pkgName + ".impl." + className + "Impl";
-
-        index = 1;
-        String uniqName = base;
-        while (usedNames.contains(uniqName.toLowerCase()))
-        {
-            index++;
-            uniqName = base + index;
-        }
-
-        usedNames.add(uniqName.toLowerCase());
-
-        return uniqName;
-    }
-
-    static String pickJavaPropertyName(Set usedNames, String localName, String javaName)
-    {
-        if (javaName == null)
-            javaName = NameUtil.upperCamelCase(localName);
-        boolean protect = protectReservedPropertyNames(javaName);
-        String uniqName;
-        int index = 1;
-        if (protect)
-            uniqName = javaName + index;
-        else
-            uniqName = javaName;
-        while (usedNames.contains(uniqName))
-        {
-            index++;
-            uniqName = javaName + index;
-        }
-
-        usedNames.add(uniqName);
-
-        return uniqName;
-    }
-
-    static String pickInnerJavaClassName(Set usedNames, String localName, String javaName)
-    {
-        if (javaName == null)
-            javaName = NameUtil.upperCamelCase(localName);
-        boolean protect = protectReservedInnerClassNames(javaName);
-        String uniqName;
-        int index = 1;
-        if (protect)
-            uniqName = javaName + index;
-        else
-            uniqName = javaName;
-        while (usedNames.contains(uniqName))
-        {
-            index++;
-            uniqName = javaName + index;
-        }
-
-        usedNames.add(uniqName);
-
-        return uniqName;
-    }
-
-    static String pickInnerJavaImplName(Set usedNames, String localName, String javaName)
-    {
-        if (javaName == null)
-            javaName = NameUtil.upperCamelCase(localName) + "Impl";
-        String uniqName = javaName;
-        int index = 1;
-        while (usedNames.contains(uniqName))
-        {
-            index++;
-            uniqName = javaName + index;
-        }
-
-        usedNames.add(uniqName);
-
-        return uniqName;
-    }
-
-    static QName findTopName(SchemaType sType)
-    {
-        if (sType.getName() != null)
-            return sType.getName();
-
-        if (sType.isDocumentType())
-        {
-            // A document type must have a content model consisting of a single elt
-            if (sType.getContentModel() == null || sType.getContentModel().getParticleType() != SchemaParticle.ELEMENT)
-                throw new IllegalStateException();
-            return (sType.getDocumentElementName());
-        }
-
-        if (sType.isAttributeType())
-        {
-            if (sType.getAttributeModel() == null || sType.getAttributeModel().getAttributes().length != 1)
-                throw new IllegalStateException();
-            return sType.getAttributeTypeAttributeName();
-        }
-
-        SchemaField sElt = sType.getContainerField();
-        assert(sElt != null);
-        assert(sType.getOuterType() == null);
-        return sElt.getName();
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscResolver.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscResolver.java
deleted file mode 100644
index 1cb31b0..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscResolver.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.QNameSet;
-
-import java.math.BigInteger;
-
-import java.util.*;
-
-import org.w3.x2001.xmlSchema.TopLevelElement;
-import org.w3.x2001.xmlSchema.TopLevelAttribute;
-import org.w3.x2001.xmlSchema.SimpleType;
-import org.w3.x2001.xmlSchema.Attribute;
-import org.w3.x2001.xmlSchema.Element;
-import org.w3.x2001.xmlSchema.KeyrefDocument.Keyref;
-import org.apache.xmlbeans.impl.common.XmlErrorContext;
-import javax.xml.namespace.QName;
-
-public class StscResolver
-{
-    /**
-     * Does a topo walk of all the types to resolve them.
-     */
-    public static void resolveAll()
-    {
-        // resolve tree of types
-        StscState state = StscState.get();
-
-        SchemaType[] documentTypes = state.documentTypes();
-        for (int i = 0 ; i < documentTypes.length ; i++)
-            resolveSubstitutionGroup((SchemaTypeImpl)documentTypes[i]);
-
-        List allSeenTypes = new ArrayList();
-        allSeenTypes.addAll(Arrays.asList(state.documentTypes()));
-        allSeenTypes.addAll(Arrays.asList(state.attributeTypes()));
-        allSeenTypes.addAll(Arrays.asList(state.redefinedGlobalTypes()));
-        allSeenTypes.addAll(Arrays.asList(state.globalTypes()));
-
-        for (int i = 0; i < allSeenTypes.size(); i++)
-        {
-            SchemaType gType = (SchemaType)allSeenTypes.get(i);
-            resolveType((SchemaTypeImpl)gType);
-            allSeenTypes.addAll(Arrays.asList(gType.getAnonymousTypes()));
-        }
-
-        // Resolve all keyref refs
-        resolveIdentityConstraints();
-    }
-
-    public static boolean resolveType(SchemaTypeImpl sImpl)
-    {
-        if (sImpl.isResolved())
-            return true;
-        if (sImpl.isResolving())
-        {
-            StscState.get().error("Cyclic dependency error", XmlErrorContext.CYCLIC_DEPENDENCY, sImpl.getParseObject());
-            return false; // cyclic dependency error
-        }
-        // System.out.println("Resolving " + sImpl);
-
-        sImpl.startResolving();
-
-        if (sImpl.isDocumentType())
-            resolveDocumentType(sImpl);
-        else if (sImpl.isAttributeType())
-            resolveAttributeType(sImpl);
-        else if (sImpl.isSimpleType())
-            StscSimpleTypeResolver.resolveSimpleType(sImpl);
-        else
-            StscComplexTypeResolver.resolveComplexType(sImpl);
-
-        sImpl.finishResolving();
-        // System.out.println("Finished resolving " + sImpl);
-        return true;
-    }
-
-    public static boolean resolveSubstitutionGroup(SchemaTypeImpl sImpl)
-    {
-        assert sImpl.isDocumentType();
-
-        if (sImpl.isSGResolved())
-            return true;
-        if (sImpl.isSGResolving())
-        {
-            StscState.get().error("Cyclic dependency error", XmlErrorContext.CYCLIC_DEPENDENCY, sImpl.getParseObject());
-            return false; // cyclic dependency error
-        }
-
-        sImpl.startResolvingSGs();
-
-        // Resolve substitution group
-
-        TopLevelElement elt = (TopLevelElement)sImpl.getParseObject();
-        SchemaTypeImpl substitutionGroup = null;
-        QName eltName = new QName(sImpl.getTargetNamespace(), elt.getName());
-
-        // BUG: How do I tell if the type is in this compilation unit?
-        if (elt.isSetSubstitutionGroup())
-        {
-            substitutionGroup = StscState.get().findDocumentType(elt.getSubstitutionGroup(), 
-                sImpl.getChameleonNamespace());
-
-            if (substitutionGroup == null)
-                StscState.get().notFoundError(elt.getSubstitutionGroup(), XmlErrorContext.ELEMENT_REF_NOT_FOUND, elt.xgetSubstitutionGroup());
-                // recovery - ignore substitution group
-            else if (! resolveSubstitutionGroup(substitutionGroup) )
-                substitutionGroup = null;
-            else
-                sImpl.setSubstitutionGroup(elt.getSubstitutionGroup());
-        }
-
-        // Walk up the chain of subtitution groups adding this schematype to each head's
-        // member list
-        while (substitutionGroup != null)
-        {
-
-            substitutionGroup.addSubstitutionGroupMember(eltName);
-
-            if (substitutionGroup.getSubstitutionGroup() == null)
-                break;
-
-            substitutionGroup = StscState.get().findDocumentType(
-                substitutionGroup.getSubstitutionGroup(), substitutionGroup.getChameleonNamespace());
-
-            assert substitutionGroup != null : "Could not find document type for: " + substitutionGroup.getSubstitutionGroup();
-
-            if (! resolveSubstitutionGroup(substitutionGroup) )
-                substitutionGroup = null; // cyclic dependency - no subst group
-
-        }
-
-        sImpl.finishResolvingSGs();
-        return true;
-
-    }
-
-    public static void resolveDocumentType ( SchemaTypeImpl sImpl )
-    {
-        assert sImpl.isResolving();
-        
-        assert sImpl.isDocumentType();
-        
-
-        // translate the global element associated with this document type
-        // and construct a content model which allows just that element
-        
-        List anonTypes = new ArrayList();
-
-        SchemaGlobalElementImpl element =
-            (SchemaGlobalElementImpl)
-                StscTranslator.translateElement(
-                    (Element) sImpl.getParseObject(),
-                    sImpl.getTargetNamespace(), sImpl.isChameleon(),
-                    anonTypes, sImpl );
-
-        SchemaLocalElementImpl contentModel = null;
-
-        if (element != null)
-        {
-            StscState.get().addGlobalElement( element );
-                    
-            contentModel = new SchemaLocalElementImpl();
-        
-            contentModel.setParticleType( SchemaParticle.ELEMENT );
-            StscTranslator.copyGlobalElementToLocalElement( element, contentModel );
-            contentModel.setMinOccurs( BigInteger.ONE );
-            contentModel.setMaxOccurs( BigInteger.ONE );
-
-            contentModel.setTransitionNotes(QNameSet.EMPTY, true);
-        }
-
-        Map elementPropertyModel =
-            StscComplexTypeResolver.buildContentPropertyModelByQName(
-                contentModel, sImpl );
-
-        SchemaTypeImpl baseType = sImpl.getSubstitutionGroup() == null ?
-            BuiltinSchemaTypeSystem.ST_ANY_TYPE :
-            StscState.get().findDocumentType(sImpl.getSubstitutionGroup(), 
-                 sImpl.isChameleon() ? sImpl.getTargetNamespace() : null)
-            ;
-
-        sImpl.setBaseTypeRef( baseType.getRef() );
-        sImpl.setBaseDepth( baseType.getBaseDepth() + 1 );
-        sImpl.setDerivationType( SchemaType.DT_RESTRICTION );
-        sImpl.setComplexTypeVariety( SchemaType.ELEMENT_CONTENT );
-
-        sImpl.setContentModel(
-            contentModel, new SchemaAttributeModelImpl(),
-            elementPropertyModel, Collections.EMPTY_MAP, false );
-        
-        sImpl.setWildcardSummary(
-            QNameSet.EMPTY, false, QNameSet.EMPTY, false );
-
-        sImpl.setAnonymousTypeRefs( makeRefArray( anonTypes ) );
-
-
-
-    }
-    
-    public static void resolveAttributeType ( SchemaTypeImpl sImpl )
-    {
-        assert sImpl.isResolving();
-
-        assert sImpl.isAttributeType();
-        
-        List anonTypes = new ArrayList();
-
-        SchemaGlobalAttributeImpl attribute =
-            (SchemaGlobalAttributeImpl) StscTranslator.translateAttribute(
-                (Attribute) sImpl.getParseObject(), sImpl.getTargetNamespace(),
-                sImpl.isChameleon(), anonTypes, sImpl, null, false );
-
-        SchemaAttributeModelImpl attributeModel = new SchemaAttributeModelImpl();
-
-        if (attribute != null)
-        {
-            StscState.get().addGlobalAttribute( attribute );
-            
-            SchemaLocalAttributeImpl attributeCopy = new SchemaLocalAttributeImpl();
-            StscTranslator.copyGlobalAttributeToLocalAttribute( attribute, attributeCopy );
-            attributeModel.addAttribute( attributeCopy );
-        }
-
-        sImpl.setBaseTypeRef( BuiltinSchemaTypeSystem.ST_ANY_TYPE.getRef() );
-        sImpl.setBaseDepth( sImpl.getBaseDepth() + 1 );
-        sImpl.setDerivationType( SchemaType.DT_RESTRICTION );
-        sImpl.setComplexTypeVariety( SchemaType.EMPTY_CONTENT );
-        
-        Map attributePropertyModel =
-            StscComplexTypeResolver.buildAttributePropertyModelByQName(
-                attributeModel, sImpl );
-
-        sImpl.setContentModel(
-            null, attributeModel, Collections.EMPTY_MAP, attributePropertyModel, false );
-
-        sImpl.setWildcardSummary(
-            QNameSet.EMPTY, false, QNameSet.EMPTY, false );
-        
-        sImpl.setAnonymousTypeRefs( makeRefArray( anonTypes ) );
-    }
-    
-    private static SchemaType.Ref[] makeRefArray(Collection typeList)
-    {
-        SchemaType.Ref[] result = new SchemaType.Ref[typeList.size()];
-        int j = 0;
-        for (Iterator i = typeList.iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaType)i.next()).getRef();
-        return result;
-    }
-
-
-    public static void resolveIdentityConstraints()
-    {
-        StscState state = StscState.get();
-        SchemaIdentityConstraintImpl[] idcs = state.idConstraints();
-
-        for (int i = 0 ; i < idcs.length ; i++)
-        {
-            if (!idcs[i].isResolved())
-            {
-                Keyref xsdkr = (Keyref)idcs[i].getParseObject();
-                QName keyName = xsdkr.getRefer();
-                SchemaIdentityConstraintImpl key = null;
-
-                key = state.findIdConstraint(keyName, idcs[i].getChameleonNamespace());
-                if (key == null)
-                {
-                    state.notFoundError(keyName, XmlErrorContext.IDC_NOT_FOUND, xsdkr);
-                }
-                else 
-                {
-                    if (key.getConstraintCategory() == SchemaIdentityConstraintImpl.CC_KEYREF)
-                        state.error("Keyref cannot refer to another keyref.", 
-                            XmlErrorContext.IDC_NOT_FOUND, idcs[i].getParseObject());
-
-                    if (key.getFields().length != idcs[i].getFields().length)
-                        state.error("Keyref does not have same number of fields as key",
-                            XmlErrorContext.IDC_NOT_FOUND, idcs[i].getParseObject());
-
-                    idcs[i].setReferencedKey(key.getRef());
-                }
-            }
-        }
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java
deleted file mode 100644
index b201c19..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java
+++ /dev/null
@@ -1,1141 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import java.util.*;
-import java.util.List;
-import java.math.BigInteger;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException;
-import org.apache.xmlbeans.impl.regex.RegularExpression;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.common.XmlErrorContext;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlInteger;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.SimpleValue;
-import org.apache.xmlbeans.XmlByte;
-import org.apache.xmlbeans.XmlShort;
-import org.apache.xmlbeans.XmlUnsignedByte;
-import org.w3.x2001.xmlSchema.*;
-
-public class StscSimpleTypeResolver
-{
-
-    /**************************************************************************
-     * SIMPLE TYPE RESOLUTION HERE
-     *
-     * Simple types can be declared as lists, unions, or restrictions.
-     * These three cases are treated separately in resolveListType,
-     * resolveUnionType, and resolveSimpleRestrictionType.
-     *
-     * The intricate work with facets is done in the restriction case,
-     * using method called resolveFacets (the union and list cases have
-     * trivial facet rules). Then all simple types call resolveProperties
-     * in the end to have their "fundamental facets" resolved.
-     */
-
-    public static void resolveSimpleType(SchemaTypeImpl sImpl)
-    {
-        SimpleType parseSt = (SimpleType)sImpl.getParseObject();
-        
-        assert sImpl.isSimpleType();
-
-        // Verify: have list, union, or restriction, but not more than one
-        int count =
-                (parseSt.isSetList() ? 1 : 0) +
-                (parseSt.isSetUnion() ? 1 : 0) +
-                (parseSt.isSetRestriction() ? 1 : 0);
-        if (count > 1)
-        {
-            StscState.get().error(
-                    "A simple type must define either a list, a union, or a restriction: more than one found.",
-                    XmlErrorContext.MALFORMED_SIMPLE_TYPE_DEFN,
-                    parseSt);
-            // recovery: treat it as the first of list, union, restr
-        }
-        else if (count < 1)
-        {
-            StscState.get().error("A simple type must define either a list, a union, or a restriction: none was found.",
-                    XmlErrorContext.MALFORMED_SIMPLE_TYPE_DEFN,
-                    parseSt);
-            // recovery: treat it as restriction of anySimpleType
-            resolveErrorSimpleType(sImpl);
-            return;
-        }
-
-        // Set final flags
-        boolean finalRest = false;
-        boolean finalList = false;
-        boolean finalUnion = false;
-
-        if (parseSt.isSetFinal())
-        {
-            String value = parseSt.getFinal();
-            if (value.equals("#all"))
-                finalRest = finalList = finalUnion = true;
-            else if (value.equals("restriction"))
-                finalRest = true;
-            else if (value.equals("list"))
-                finalList = true;
-            else if (value.equals("union"))
-                finalUnion = true;
-        }
-        sImpl.setSimpleFinal(finalRest, finalList, finalUnion);
-
-        List anonTypes = new ArrayList();
-
-        if (parseSt.getList() != null)
-            resolveListType(sImpl, parseSt.getList(), anonTypes);
-        else if (parseSt.getUnion() != null)
-            resolveUnionType(sImpl, parseSt.getUnion(), anonTypes);
-        else if (parseSt.getRestriction() != null)
-            resolveSimpleRestrictionType(sImpl, parseSt.getRestriction(), anonTypes);
-
-        sImpl.setAnonymousTypeRefs(makeRefArray(anonTypes));
-    }
-
-    private static SchemaType.Ref[] makeRefArray(Collection typeList)
-    {
-        SchemaType.Ref[] result = new SchemaType.Ref[typeList.size()];
-        int j = 0;
-        for (Iterator i = typeList.iterator(); i.hasNext(); j++)
-            result[j] = ((SchemaType)i.next()).getRef();
-        return result;
-    }
-
-    static void resolveErrorSimpleType(SchemaTypeImpl sImpl)
-    {
-        sImpl.setSimpleTypeVariety(SchemaType.ATOMIC);
-        sImpl.setBaseTypeRef(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getRef());
-        sImpl.setBaseDepth(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getBaseDepth() + 1);
-        sImpl.setPrimitiveTypeRef(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getRef());
-    }
-
-    static void resolveListType(SchemaTypeImpl sImpl, org.w3.x2001.xmlSchema.ListDocument.List parseList, List anonTypes)
-    {
-        StscState state = StscState.get();
-
-        sImpl.setSimpleTypeVariety(SchemaType.LIST);
-        sImpl.setBaseTypeRef(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getRef());
-        sImpl.setBaseDepth(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getBaseDepth() + 1);
-        sImpl.setDerivationType(SchemaType.DT_RESTRICTION);
-
-        if (sImpl.isRedefinition())
-        {
-            StscState.get().error("A type redefinition must restrict the original definition of the type.", XmlErrorContext.GENERIC_ERROR, parseList);
-            // recovery: oh well.
-        }
-        
-        QName itemName = parseList.getItemType();
-        LocalSimpleType parseInner = parseList.getSimpleType();
-
-        if (itemName != null && parseInner != null)
-        {
-            state.error("List type definitions provide either an itemType attribute " +
-                    "or contain a nested simpleType: both were found.",
-                    XmlErrorContext.REDUNDANT_NESTED_TYPE,
-                    parseList);
-            // recovery: ignore the inner simple type.
-            parseInner = null;
-        }
-
-        SchemaTypeImpl itemImpl;
-        XmlObject errorLoc;
-
-        if (itemName != null)
-        {
-            itemImpl = state.findGlobalType(itemName, sImpl.getChameleonNamespace());
-            errorLoc = parseList.xgetItemType();
-            if (itemImpl == null)
-            {
-                state.notFoundError(itemName, XmlErrorContext.TYPE_NOT_FOUND, parseList.xgetItemType());
-                // recovery: treat it as a list of anySimpleType
-                itemImpl = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-            }
-        }
-        else if (parseInner != null)
-        {
-            itemImpl = new SchemaTypeImpl(state.sts());
-            errorLoc = parseInner;
-            itemImpl.setSimpleType(true);
-            itemImpl.setParseContext(parseInner, sImpl.getTargetNamespace(), sImpl.getChameleonNamespace() != null, false);
-            itemImpl.setOuterSchemaTypeRef(sImpl.getRef());
-            anonTypes.add(itemImpl);
-        }
-        else
-        {
-            state.error("List type definitions provide either an itemType attribute " +
-                    "or contain a nested simpleType: neither was found.",
-                    XmlErrorContext.LIST_MISSING_ITEM,
-                    parseList);
-            // recovery: treat it as an extension of anySimpleType
-            resolveErrorSimpleType(sImpl);
-            return;
-        }
-
-        // Verify final restrictions
-        if (itemImpl.finalList())
-            state.error("Cannot derive by list a final type.", XmlErrorContext.CANNOT_DERIVE_FINAL, parseList);
-
-        // Recursion...
-        StscResolver.resolveType(itemImpl);
-
-        if (!itemImpl.isSimpleType())
-        {
-            state.error("Item type for this list type is not simple",
-                    XmlErrorContext.LIST_ITEM_NOT_SIMPLE, errorLoc);
-            // recovery: treat the item type as anySimpleType
-            sImpl = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-        }
-
-        switch (itemImpl.getSimpleVariety())
-        {
-            case SchemaType.LIST:
-                state.error("This item type is another list type; lists of lists are not allowed.", XmlErrorContext.LIST_OF_LIST, errorLoc);
-                // recovery: treat the list as an anySimpleType
-                resolveErrorSimpleType(sImpl);
-                return;
-            case SchemaType.UNION:
-                if (itemImpl.isUnionOfLists())
-                {
-                    state.error("This item type is a union containing a list; lists of lists are not allowed.", XmlErrorContext.LIST_OF_LIST, errorLoc);
-                    resolveErrorSimpleType(sImpl);
-                    return;
-                }
-                // fallthrough: nonlist unions are just like atomic items
-            case SchemaType.ATOMIC:
-                sImpl.setListItemTypeRef(itemImpl.getRef());
-                break;
-            default:
-                assert(false);
-                sImpl.setListItemTypeRef(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getRef());
-        }
-
-        // now deal with facets
-        sImpl.setBasicFacets(StscState.FACETS_LIST, StscState.FIXED_FACETS_LIST);
-        sImpl.setWhiteSpaceRule( SchemaType.WS_COLLAPSE );
-
-        // now compute our intrinsic properties
-        resolveFundamentalFacets(sImpl);
-    }
-
-
-
-
-    static void resolveUnionType(SchemaTypeImpl sImpl, UnionDocument.Union parseUnion, List anonTypes)
-    {
-        sImpl.setSimpleTypeVariety(SchemaType.UNION);
-        sImpl.setBaseTypeRef(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getRef());
-        sImpl.setBaseDepth(BuiltinSchemaTypeSystem.ST_ANY_SIMPLE.getBaseDepth() + 1);
-        sImpl.setDerivationType(SchemaType.DT_RESTRICTION);
-
-        StscState state = StscState.get();
-        
-        if (sImpl.isRedefinition())
-        {
-            StscState.get().error("A type redefinition must restrict the original definition of the type.", XmlErrorContext.GENERIC_ERROR, parseUnion);
-            // recovery: oh well.
-        }
-        
-        List memberTypes = parseUnion.getMemberTypes();
-        SimpleType[] simpleTypes = parseUnion.getSimpleTypeArray();
-
-        List memberImplList = new ArrayList();
-        
-        if (simpleTypes.length == 0 && (memberTypes == null || memberTypes.size() == 0))
-        {
-            state.error("A union type must specify at least one member type", XmlErrorContext.UNION_MEMBER_NOT_SIMPLE, parseUnion);
-            // recovery: oh well, zero member types is fine.
-        }
-
-        if (memberTypes != null)
-        {
-            for (Iterator mNames = memberTypes.iterator(); mNames.hasNext(); )
-            {
-                QName mName = (QName)mNames.next();
-                SchemaTypeImpl memberImpl = state.findGlobalType(mName, sImpl.getChameleonNamespace());
-                if (memberImpl == null)
-                    // recovery: skip member
-                    state.notFoundError(mName, XmlErrorContext.TYPE_NOT_FOUND, parseUnion.xgetMemberTypes());
-                else
-                    memberImplList.add(memberImpl);
-            }
-        }
-
-        for (int i = 0; i < simpleTypes.length; i++)
-        {
-            // BUGBUG: see if non<simpleType> children can leak through
-            SchemaTypeImpl mImpl = new SchemaTypeImpl(state.sts());
-            mImpl.setSimpleType(true);
-            mImpl.setParseContext(simpleTypes[i], sImpl.getTargetNamespace(), sImpl.getChameleonNamespace() != null, false);
-            memberImplList.add(mImpl);
-            mImpl.setOuterSchemaTypeRef(sImpl.getRef());
-            mImpl.setAnonymousUnionMemberOrdinal(i + 1);
-            anonTypes.add(mImpl);
-        }
-
-        // Recurse and resolve all member types
-        for (Iterator mImpls = memberImplList.iterator(); mImpls.hasNext(); )
-        {
-            SchemaTypeImpl mImpl = (SchemaTypeImpl)mImpls.next();
-            if (!StscResolver.resolveType(mImpl))
-            {
-                if (mImpl.getOuterType().equals(sImpl))
-                    state.error("Member has a cyclic dependency on the containing union",  XmlErrorContext.CYCLIC_DEPENDENCY, mImpl.getParseObject());
-                else
-                    state.error("Member " + QNameHelper.pretty(mImpl.getName()) + " has a cyclic dependency on the union", XmlErrorContext.CYCLIC_DEPENDENCY, parseUnion.xgetMemberTypes());
-
-                // recovery: ignore the errant union member
-                mImpls.remove();
-                continue;
-            }
-        }
-
-        // Now verify members
-        boolean isUnionOfLists = false;
-
-        for (Iterator mImpls = memberImplList.iterator(); mImpls.hasNext(); )
-        {
-            SchemaTypeImpl mImpl = (SchemaTypeImpl)mImpls.next();
-
-            if (!mImpl.isSimpleType())
-            {
-                if (mImpl.getOuterType() != null && mImpl.getOuterType().equals(sImpl))
-                    state.error("Member is not simple", XmlErrorContext.UNION_MEMBER_NOT_SIMPLE, mImpl.getParseObject());
-                else
-                    state.error("Member " + QNameHelper.pretty(mImpl.getName()) + " is not simple", XmlErrorContext.UNION_MEMBER_NOT_SIMPLE, parseUnion.xgetMemberTypes());
-
-                // recovery: ignore the errant union member
-                mImpls.remove();
-                continue;
-            }
-
-            if (mImpl.getSimpleVariety() == SchemaType.LIST ||
-                mImpl.getSimpleVariety() == SchemaType.UNION && mImpl.isUnionOfLists())
-                isUnionOfLists = true;
-        }
-
-        // Verify any final restrictions
-        for (int i = 0 ; i < memberImplList.size() ; i++)
-        {
-            SchemaTypeImpl mImpl = (SchemaTypeImpl)memberImplList.get(i);
-            if (mImpl.finalUnion())
-                state.error("Cannot derive by union a final type.", XmlErrorContext.CANNOT_DERIVE_FINAL, parseUnion);
-        }
-
-        sImpl.setUnionOfLists(isUnionOfLists);
-
-        sImpl.setUnionMemberTypeRefs(makeRefArray(memberImplList));
-
-        // now deal with facets
-        sImpl.setBasicFacets(StscState.FACETS_UNION, StscState.FIXED_FACETS_UNION);
-
-        // now compute our intrinsic properties
-        resolveFundamentalFacets(sImpl);
-    }
-
-    static void resolveSimpleRestrictionType(SchemaTypeImpl sImpl, RestrictionDocument.Restriction parseRestr, List anonTypes)
-    {
-        QName baseName = parseRestr.getBase();
-        SimpleType parseInner = parseRestr.getSimpleType();
-        StscState state = StscState.get();
-
-        if (baseName != null && parseInner != null)
-        {
-            state.error("Simple type restrictions must name a base type " +
-                    "or contain a nested simple type: both were found.",
-                    XmlErrorContext.RESTRICTION_REDUNDANT_BASE,
-                    parseRestr);
-            // recovery: ignore the inner simple type.
-            parseInner = null;
-        }
-
-        SchemaTypeImpl baseImpl;
-
-        if (baseName != null)
-        {
-            if (sImpl.isRedefinition())
-            {
-                baseImpl = state.findRedefinedGlobalType(parseRestr.getBase(), sImpl.getChameleonNamespace(), sImpl.getName());
-                if (baseImpl != null && !baseImpl.getName().equals(sImpl.getName()))
-                    state.error("A type redefinition must restrict the original type definition", XmlErrorContext.GENERIC_ERROR, parseRestr);
-            }
-            else
-            {
-                baseImpl = state.findGlobalType(baseName, sImpl.getChameleonNamespace());
-            }
-            if (baseImpl == null)
-            {
-                state.notFoundError(baseName, XmlErrorContext.TYPE_NOT_FOUND, parseRestr.xgetBase());
-                // recovery: treat it as an extension of anySimpleType
-                baseImpl = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-            }
-        }
-        else if (parseInner != null)
-        {
-            if (sImpl.isRedefinition())
-            {
-                StscState.get().error("A type redefinition must restrict the original definition of the type.", XmlErrorContext.GENERIC_ERROR, parseInner);
-                // recovery: oh well.
-            }
-            
-            baseImpl = new SchemaTypeImpl(state.sts());
-            baseImpl.setSimpleType(true);
-            baseImpl.setParseContext(parseInner, sImpl.getTargetNamespace(), sImpl.getChameleonNamespace() != null, false);
-            // baseImpl.setSkippedAnonymousType(true);
-            baseImpl.setOuterSchemaTypeRef(sImpl.getRef());
-            anonTypes.add(baseImpl);
-        }
-        else
-        {
-            state.error("Simple type restrictions must name a base type " +
-                    "or contain a nested simple type: neither were found.",
-                    XmlErrorContext.RESTRICTION_MISSING_BASE,
-                    parseRestr);
-            // recovery: treat it as an extension of anySimpleType
-            baseImpl = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-        }
-
-        // Recursion!
-        if (!StscResolver.resolveType(baseImpl))
-        {
-            // cyclic dependency recovery: treat it as an extension of anySimpleType
-            baseImpl = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-        }
-
-        if (baseImpl.finalRestriction())
-            state.error("Cannot restrict a final type", XmlErrorContext.CANNOT_DERIVE_FINAL, parseRestr);
-
-        sImpl.setBaseTypeRef(baseImpl.getRef());
-        sImpl.setBaseDepth(baseImpl.getBaseDepth() + 1);
-        sImpl.setDerivationType(SchemaType.DT_RESTRICTION);
-
-        if (!baseImpl.isSimpleType())
-        {
-            state.error("Base type for this simple type restriction is not simple",
-                    XmlErrorContext.SIMPLE_RESTRICTION_NOT_SIMPLE,
-                    parseRestr.xgetBase());
-            // recovery: treat it as a restriction of anySimpleType
-            resolveErrorSimpleType(sImpl);
-            return;
-        }
-
-        sImpl.setSimpleTypeVariety(baseImpl.getSimpleVariety());
-
-        // copy variety-specific properties
-        switch (baseImpl.getSimpleVariety())
-        {
-            case SchemaType.ATOMIC:
-                sImpl.setPrimitiveTypeRef(baseImpl.getPrimitiveType().getRef());
-                break;
-            case SchemaType.UNION:
-                sImpl.setUnionOfLists(baseImpl.isUnionOfLists());
-                sImpl.setUnionMemberTypeRefs(makeRefArray(Arrays.asList(baseImpl.getUnionMemberTypes())));
-                break;
-            case SchemaType.LIST:
-                sImpl.setListItemTypeRef(baseImpl.getListItemType().getRef());
-                break;
-        }
-
-        // deal with facets
-        resolveFacets(sImpl, parseRestr, baseImpl);
-
-        // now compute our intrinsic properties
-        resolveFundamentalFacets(sImpl);
-    }
-
-    static int translateWhitespaceCode(XmlAnySimpleType value)
-    {
-        // BUGBUG: add whitespace rule to textvalue.
-        String textval = value.getStringValue();
-
-        if (textval.equals("collapse"))
-            return SchemaType.WS_COLLAPSE;
-
-        if (textval.equals("preserve"))
-            return SchemaType.WS_PRESERVE;
-
-        if (textval.equals("replace"))
-            return SchemaType.WS_REPLACE;
-
-        StscState.get().error("Unrecognized whitespace value \"" + textval + "\"", XmlErrorContext.FACET_VALUE_MALFORMED, value);
-        return SchemaType.WS_UNSPECIFIED;
-    }
-
-    static boolean isMultipleFacet(int facetcode)
-    {
-        return (facetcode == SchemaType.FACET_ENUMERATION ||
-                facetcode == SchemaType.FACET_PATTERN);
-    }
-
-    static boolean facetAppliesToType(int facetCode, SchemaTypeImpl baseImpl)
-    {
-        switch (baseImpl.getSimpleVariety())
-        {
-            case SchemaType.LIST:
-                switch (facetCode)
-                {
-                    case SchemaType.FACET_LENGTH:
-                    case SchemaType.FACET_MIN_LENGTH:
-                    case SchemaType.FACET_MAX_LENGTH:
-                    case SchemaType.FACET_ENUMERATION:
-                    case SchemaType.FACET_PATTERN:
-                    case SchemaType.FACET_WHITE_SPACE:
-                        return true;
-                }
-                return false;
-
-            case SchemaType.UNION:
-                switch (facetCode)
-                {
-                    case SchemaType.FACET_ENUMERATION:
-                    case SchemaType.FACET_PATTERN:
-                        return true;
-                }
-                return false;
-        }
-
-        // the atomic case
-
-        switch (baseImpl.getPrimitiveType().getBuiltinTypeCode())
-        {
-            case SchemaType.BTC_ANY_SIMPLE:
-                return false;
-
-            case SchemaType.BTC_BOOLEAN:
-                switch (facetCode)
-                {
-                    case SchemaType.FACET_PATTERN:
-                    case SchemaType.FACET_WHITE_SPACE:
-                        return true;
-                }
-                return false;
-
-            case SchemaType.BTC_FLOAT:
-            case SchemaType.BTC_DOUBLE:
-            case SchemaType.BTC_DURATION:
-            case SchemaType.BTC_DATE_TIME:
-            case SchemaType.BTC_TIME:
-            case SchemaType.BTC_DATE:
-            case SchemaType.BTC_G_YEAR_MONTH:
-            case SchemaType.BTC_G_YEAR:
-            case SchemaType.BTC_G_MONTH_DAY:
-            case SchemaType.BTC_G_DAY:
-            case SchemaType.BTC_G_MONTH:
-                switch (facetCode)
-                {
-                    case SchemaType.FACET_MIN_EXCLUSIVE:
-                    case SchemaType.FACET_MIN_INCLUSIVE:
-                    case SchemaType.FACET_MAX_INCLUSIVE:
-                    case SchemaType.FACET_MAX_EXCLUSIVE:
-                    case SchemaType.FACET_ENUMERATION:
-                    case SchemaType.FACET_PATTERN:
-                    case SchemaType.FACET_WHITE_SPACE:
-                        return true;
-                }
-                return false;
-
-            case SchemaType.BTC_DECIMAL:
-                switch (facetCode)
-                {
-                    case SchemaType.FACET_MIN_EXCLUSIVE:
-                    case SchemaType.FACET_MIN_INCLUSIVE:
-                    case SchemaType.FACET_MAX_INCLUSIVE:
-                    case SchemaType.FACET_MAX_EXCLUSIVE:
-                    case SchemaType.FACET_TOTAL_DIGITS:
-                    case SchemaType.FACET_FRACTION_DIGITS:
-                    case SchemaType.FACET_ENUMERATION:
-                    case SchemaType.FACET_PATTERN:
-                    case SchemaType.FACET_WHITE_SPACE:
-                        return true;
-                }
-                return false;
-
-            case SchemaType.BTC_BASE_64_BINARY:
-            case SchemaType.BTC_HEX_BINARY:
-            case SchemaType.BTC_ANY_URI:
-            case SchemaType.BTC_QNAME:
-            case SchemaType.BTC_NOTATION:
-            case SchemaType.BTC_STRING:
-                switch (facetCode)
-                {
-                    case SchemaType.FACET_LENGTH:
-                    case SchemaType.FACET_MIN_LENGTH:
-                    case SchemaType.FACET_MAX_LENGTH:
-                    case SchemaType.FACET_ENUMERATION:
-                    case SchemaType.FACET_PATTERN:
-                    case SchemaType.FACET_WHITE_SPACE:
-                        return true;
-                }
-                return false;
-            default:
-                assert(false);
-                return false;
-        }
-    }
-
-    private static int other_similar_limit(int facetcode)
-    {
-        switch (facetcode)
-        {
-            case SchemaType.FACET_MIN_EXCLUSIVE:
-                return SchemaType.FACET_MIN_INCLUSIVE;
-            case SchemaType.FACET_MIN_INCLUSIVE:
-                return SchemaType.FACET_MIN_EXCLUSIVE;
-            case SchemaType.FACET_MAX_INCLUSIVE:
-                return SchemaType.FACET_MAX_EXCLUSIVE;
-            case SchemaType.FACET_MAX_EXCLUSIVE:
-                return SchemaType.FACET_MAX_INCLUSIVE;
-            default:
-                assert(false);
-                throw new IllegalStateException();
-        }
-    }
-
-    static void resolveFacets(SchemaTypeImpl sImpl, XmlObject restriction, SchemaTypeImpl baseImpl)
-    {
-        StscState state = StscState.get();
-
-        boolean[] seenFacet = new boolean[SchemaType.LAST_FACET + 1];
-        XmlAnySimpleType[] myFacets = baseImpl.getBasicFacets(); // makes a copy
-        boolean[] fixedFacets = baseImpl.getFixedFacets();
-        int wsr = SchemaType.WS_UNSPECIFIED;
-        List enumeratedValues = null;
-        List patterns = null;
-
-        if (restriction != null)
-        {
-            XmlCursor cur = restriction.newCursor();
-            for (boolean more = cur.toFirstChild(); more; more = cur.toNextSibling())
-            {
-                int code = translateFacetCode(cur.getName());
-                if (code == -1)
-                    continue;
-
-                Facet facet = (Facet)cur.getObject();
-
-                if (!facetAppliesToType(code, baseImpl))
-                {
-                    state.error("The facet " + facet.newCursor().getName().getLocalPart() + " does not apply to the base type " + baseImpl, XmlErrorContext.FACET_DOES_NOT_APPLY, facet);
-                    continue;
-                }
-                if (seenFacet[code] && !isMultipleFacet(code))
-                {
-                    state.error("Facet specified multiple times", XmlErrorContext.FACET_DUPLICATED, facet);
-                    continue;
-                }
-                seenFacet[code] = true;
-
-                switch (code)
-                {
-                    case SchemaType.FACET_LENGTH:
-                        if (myFacets[SchemaType.FACET_MIN_LENGTH] != null ||
-                            myFacets[SchemaType.FACET_MAX_LENGTH] != null)
-                        {
-                            state.error("Cannot specify length in addition to minLength or maxLength", XmlErrorContext.FACET_DUPLICATED, facet);
-                            continue;
-                        }
-                        XmlInteger len = StscTranslator.buildNnInteger(facet.getValue());
-                        if (len == null)
-                        {
-                            state.error("Must be a nonnegative integer", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-                            continue;
-                        }
-                        if (fixedFacets[code] && !myFacets[code].valueEquals(len))
-                        {
-                            state.error("This facet is fixed and cannot be overridden", XmlErrorContext.FACET_FIXED, facet);
-                            continue;
-                        }
-                        myFacets[code] = len;
-                        break;
-
-                    case SchemaType.FACET_MIN_LENGTH:
-                    case SchemaType.FACET_MAX_LENGTH:
-                        if (myFacets[SchemaType.FACET_LENGTH] != null)
-                        {
-                            state.error("Cannot specify minLength or maxLength in addition to length", XmlErrorContext.FACET_DUPLICATED, facet);
-                            continue;
-                        }
-                        XmlInteger mlen = StscTranslator.buildNnInteger(facet.getValue());
-                        if (mlen == null)
-                        {
-                            state.error("Must be a nonnegative integer", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-                            continue;
-                        }
-                        if (fixedFacets[code] && !myFacets[code].valueEquals(mlen))
-                        {
-                            state.error("This facet is fixed and cannot be overridden", XmlErrorContext.FACET_FIXED, facet);
-                            continue;
-                        }
-                        if (myFacets[SchemaType.FACET_MAX_LENGTH] != null)
-                        {
-                            if (mlen.compareValue(myFacets[SchemaType.FACET_MAX_LENGTH]) > 0)
-                            {
-                                state.error("Larger than prior maxLength", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-                                continue;
-                            }
-                        }
-                        if (myFacets[SchemaType.FACET_MIN_LENGTH] != null)
-                        {
-                            if (mlen.compareValue(myFacets[SchemaType.FACET_MIN_LENGTH]) < 0)
-                            {
-                                state.error("Smaller than prior minLength", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-                                continue;
-                            }
-                        }
-                        myFacets[code] = mlen;
-                        break;
-
-                    case SchemaType.FACET_TOTAL_DIGITS:
-                    case SchemaType.FACET_FRACTION_DIGITS:
-                        boolean istotaldig = (code == SchemaType.FACET_TOTAL_DIGITS);
-                        XmlInteger dig = StscTranslator.buildNnInteger(facet.getValue());
-                        if (dig == null)
-                        {
-                            state.error("Must be a nonnegative integer", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-                            break;
-                        }
-                        if (fixedFacets[code] && !myFacets[code].valueEquals(dig))
-                        {
-                            state.error("This facet is fixed and cannot be overridden", XmlErrorContext.FACET_FIXED, facet);
-                            continue;
-                        }
-                        if (myFacets[SchemaType.FACET_TOTAL_DIGITS] != null)
-                        {
-                            if (dig.compareValue(myFacets[SchemaType.FACET_TOTAL_DIGITS]) > 0)
-                                state.error("Larger than prior totalDigits", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-                        }
-                        if (!istotaldig && myFacets[SchemaType.FACET_FRACTION_DIGITS] != null)
-                        {
-                            if (dig.compareValue(myFacets[SchemaType.FACET_FRACTION_DIGITS]) > 0)
-                                state.error("Larger than prior fractionDigits", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-                        }
-                        myFacets[code] = dig;
-                        break;
-
-                    case SchemaType.FACET_MIN_EXCLUSIVE:
-                    case SchemaType.FACET_MIN_INCLUSIVE:
-                    case SchemaType.FACET_MAX_INCLUSIVE:
-                    case SchemaType.FACET_MAX_EXCLUSIVE:
-
-                        if (seenFacet[other_similar_limit(code)])
-                        {
-                            state.error("Cannot define both inclusive and exclusive limit in the same restriciton", XmlErrorContext.FACET_DUPLICATED, facet);
-                            continue;
-                        }
-                        boolean ismin = (code == SchemaType.FACET_MIN_EXCLUSIVE || code == SchemaType.FACET_MIN_INCLUSIVE);
-                        boolean isexclusive = (code == SchemaType.FACET_MIN_EXCLUSIVE || code == SchemaType.FACET_MAX_EXCLUSIVE);
-
-                        XmlAnySimpleType limit;
-                        try
-                        {
-                            limit = baseImpl.newValue(facet.getValue());
-                        }
-                        catch (XmlValueOutOfRangeException e)
-                        {
-                            // note: this guarantees that the limit is a valid number in the
-                            // base data type!!
-                            state.error("Must be valid value in base type", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-
-                            // BUGBUG: if there are actual schemas that redefine min/maxExclusive,
-                            // they will need this rule relaxed for them!!
-                            continue;
-                        }
-                        if (fixedFacets[code] && !myFacets[code].valueEquals(limit))
-                        {
-                            state.error("This facet is fixed and cannot be overridden", XmlErrorContext.FACET_FIXED, facet);
-                            continue;
-                        }
-                        if (myFacets[code] != null)
-                        {
-                            int comparison = limit.compareValue(myFacets[code]);
-                            if (comparison == 2 || comparison == (ismin ? -1 : 1))
-                            {
-                                state.error(ismin ?
-                                        (isexclusive ?
-                                            "Must be greater than or equal to previous minExclusive" :
-                                            "Must be greater than or equal to previous minInclusive") :
-                                        (isexclusive ?
-                                            "Must be less than or equal to previous maxExclusive" :
-                                            "Must be less than or equal to previous maxInclusive"),
-                                        XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-                                continue;
-                            }
-                        }
-                        myFacets[code] = limit;
-                        myFacets[other_similar_limit(code)] = null;
-                        break;
-
-                    case SchemaType.FACET_WHITE_SPACE:
-                        wsr = translateWhitespaceCode(facet.getValue());
-                        if (baseImpl.getWhiteSpaceRule() > wsr)
-                        {
-                            wsr = SchemaType.WS_UNSPECIFIED;
-                            state.error("Cannot apply this whitespace facet over the previous one", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-                            continue;
-                        }
-                        myFacets[code] = StscState.build_wsstring(wsr).get();
-                        break;
-
-                    case SchemaType.FACET_ENUMERATION:
-                        XmlObject enumval;
-                        try
-                        {
-                            enumval = baseImpl.newValue(facet.getValue());
-                            // enumval.set(facet.getValue());
-                            // ((XmlObjectBase)enumval).setImmutable();
-                        }
-                        catch (XmlValueOutOfRangeException e)
-                        {
-                            state.error("Enumerated value invalid in base type", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-                            continue;
-                        }
-                        if (enumeratedValues == null)
-                            enumeratedValues = new ArrayList();
-                        enumeratedValues.add(enumval);
-                        break;
-
-                    case SchemaType.FACET_PATTERN:
-                        org.apache.xmlbeans.impl.regex.RegularExpression p;
-                        try { p = new org.apache.xmlbeans.impl.regex.RegularExpression(facet.getValue().getStringValue(), "X"); }
-                        catch (org.apache.xmlbeans.impl.regex.ParseException e)
-                        {
-                            state.error("Malformed regular expression", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
-                            continue;
-                        }
-                        if (patterns == null)
-                            patterns = new ArrayList();
-                        patterns.add(p);
-                        break;
-                }
-
-                if (facet.getFixed())
-                    fixedFacets[code] = true;
-            }
-        }
-
-        // Store the array of basic facets
-
-        sImpl.setBasicFacets(makeValueRefArray(myFacets), fixedFacets);
-
-        // Update the numeric whitespace rule
-        if (wsr == SchemaType.WS_UNSPECIFIED)
-            wsr = baseImpl.getWhiteSpaceRule();
-        sImpl.setWhiteSpaceRule(wsr);
-
-        // store away the enumerated values
-        if (enumeratedValues != null)
-        {
-            sImpl.setEnumerationValues(makeValueRefArray((XmlAnySimpleType[])
-                enumeratedValues.toArray(new XmlAnySimpleType[enumeratedValues.size()])));
-
-            SchemaType beType = sImpl;
-            if (sImpl.getBaseType().getBaseEnumType() != null)
-                beType = sImpl.getBaseType().getBaseEnumType();
-            sImpl.setBaseEnumTypeRef(beType.getRef());
-        }
-        else
-        {
-            sImpl.copyEnumerationValues(baseImpl);
-        }
-
-        // store the pattern list
-        org.apache.xmlbeans.impl.regex.RegularExpression[] patternArray;
-        if (patterns != null)
-            patternArray = (org.apache.xmlbeans.impl.regex.RegularExpression[])patterns.toArray(EMPTY_REGEX_ARRAY);
-        else
-            patternArray = EMPTY_REGEX_ARRAY;
-        sImpl.setPatternFacet((patternArray.length > 0 || baseImpl.hasPatternFacet()));
-        sImpl.setPatterns(patternArray);
-    }
-
-    private static XmlValueRef[] makeValueRefArray(XmlAnySimpleType[] source)
-    {
-        XmlValueRef[] result = new XmlValueRef[source.length];
-        for (int i = 0; i < result.length; i++)
-            result[i] = (source[i] == null ? null : new XmlValueRef(source[i]));
-        return result;
-    }
-
-    private static final org.apache.xmlbeans.impl.regex.RegularExpression[] EMPTY_REGEX_ARRAY = new org.apache.xmlbeans.impl.regex.RegularExpression[0];
-
-    private static boolean isDiscreteType(SchemaTypeImpl sImpl)
-    {
-        if (sImpl.getFacet(SchemaType.FACET_FRACTION_DIGITS) != null)
-            return true;
-        // BUGBUG: spec is silent on enumerations; they're finite too.
-        switch (sImpl.getPrimitiveType().getBuiltinTypeCode())
-        {
-            case SchemaType.BTC_DATE:
-            case SchemaType.BTC_G_YEAR_MONTH:
-            case SchemaType.BTC_G_YEAR:
-            case SchemaType.BTC_G_MONTH_DAY:
-            case SchemaType.BTC_G_DAY:
-            case SchemaType.BTC_G_MONTH:
-            case SchemaType.BTC_BOOLEAN:
-                return true;
-        }
-        return false;
-    }
-
-    private static boolean isNumericPrimitive(SchemaType sImpl)
-    {
-        switch (sImpl.getBuiltinTypeCode())
-        {
-            case SchemaType.BTC_DECIMAL:
-            case SchemaType.BTC_FLOAT:
-            case SchemaType.BTC_DOUBLE:
-                return true;
-        }
-        return false;
-    }
-
-    private static int decimalSizeOfType(SchemaTypeImpl sImpl)
-    {
-        int size = mathematicalSizeOfType(sImpl);
-        
-        // byte and short are inconvenient, because setByte((byte)4) requires a cast.
-        // So use "int" unless you're really a xs:byte, xs:short, or an xs:unsignedByte
-        // (the last case is included for alignment with JAXB)
-        
-        if (size == SchemaType.SIZE_BYTE && !XmlByte.type.isAssignableFrom(sImpl))
-            size = SchemaType.SIZE_SHORT;
-        if (size == SchemaType.SIZE_SHORT && !XmlShort.type.isAssignableFrom(sImpl) && !XmlUnsignedByte.type.isAssignableFrom(sImpl))
-            size = SchemaType.SIZE_INT;
-        
-        return size;
-    }
-    
-    private static int mathematicalSizeOfType(SchemaTypeImpl sImpl)
-    {
-        if (sImpl.getPrimitiveType().getBuiltinTypeCode() != SchemaType.BTC_DECIMAL)
-            return SchemaType.NOT_DECIMAL;
-
-        if (sImpl.getFacet(SchemaType.FACET_FRACTION_DIGITS) == null ||
-            ((SimpleValue)sImpl.getFacet(SchemaType.FACET_FRACTION_DIGITS)).getBigIntegerValue().signum() != 0)
-            return SchemaType.SIZE_BIG_DECIMAL;
-
-        BigInteger min = null;
-        BigInteger max = null;
-
-        if (sImpl.getFacet(SchemaType.FACET_MIN_EXCLUSIVE) != null)
-            min = ((SimpleValue)sImpl.getFacet(SchemaType.FACET_MIN_EXCLUSIVE)).getBigIntegerValue(); // .add(BigInteger.ONE);
-        if (sImpl.getFacet(SchemaType.FACET_MIN_INCLUSIVE) != null)
-            min = ((SimpleValue)sImpl.getFacet(SchemaType.FACET_MIN_INCLUSIVE)).getBigIntegerValue();
-        if (sImpl.getFacet(SchemaType.FACET_MAX_INCLUSIVE) != null)
-            max = ((SimpleValue)sImpl.getFacet(SchemaType.FACET_MAX_INCLUSIVE)).getBigIntegerValue();
-        if (sImpl.getFacet(SchemaType.FACET_MAX_EXCLUSIVE) != null)
-            max = ((SimpleValue)sImpl.getFacet(SchemaType.FACET_MAX_EXCLUSIVE)).getBigIntegerValue(); // .subtract(BigInteger.ONE);
-
-        if (sImpl.getFacet(SchemaType.FACET_TOTAL_DIGITS) != null)
-        {
-            BigInteger peg = null;
-            try
-            {
-                BigInteger totalDigits = ((SimpleValue)sImpl.getFacet(SchemaType.FACET_TOTAL_DIGITS)).getBigIntegerValue();
-
-                switch (totalDigits.intValue())
-                {
-                    case 0: case 1: case 2:
-                         peg = BigInteger.valueOf(99L); // BYTE size
-                         break;
-                    case 3: case 4:
-                         peg = BigInteger.valueOf(9999L); // SHORT size
-                         break;
-                    case 5: case 6: case 7: case 8: case 9:
-                         peg = BigInteger.valueOf(999999999L); // INT size
-                         break;
-                    case 10: case 11: case 12: case 13: case 14:
-                    case 15: case 16: case 17: case 18:
-                         peg = BigInteger.valueOf(999999999999999999L); // LONG size
-                         break;
-                }
-            }
-            catch (XmlValueOutOfRangeException e) {}
-            if (peg != null)
-            {
-                min = (min == null ? peg.negate() : min.max(peg.negate()));
-                max = (max == null ? peg : max.min(peg));
-            }
-        }
-
-        if (min != null && max != null)
-        {
-            // find the largest "absolute value" number that must be dealt with
-            if (min.signum() < 0)
-                min = min.negate().subtract(BigInteger.ONE);
-            if (max.signum() < 0)
-                max = max.negate().subtract(BigInteger.ONE);
-
-            max = max.max(min);
-            if (max.compareTo(BigInteger.valueOf(Byte.MAX_VALUE)) <= 0)
-                return SchemaType.SIZE_BYTE;
-            if (max.compareTo(BigInteger.valueOf(Short.MAX_VALUE)) <= 0)
-                return SchemaType.SIZE_SHORT;
-            if (max.compareTo(BigInteger.valueOf(Integer.MAX_VALUE)) <= 0)
-                return SchemaType.SIZE_INT;
-            if (max.compareTo(BigInteger.valueOf(Long.MAX_VALUE)) <= 0)
-                return SchemaType.SIZE_LONG;
-        }
-
-        return SchemaType.SIZE_BIG_INTEGER;
-    }
-
-
-    static void resolveFundamentalFacets(SchemaTypeImpl sImpl)
-    {
-        // deal with, isOrdered, isBounded, isFinite, isNumeric
-        // also deal with
-        switch (sImpl.getSimpleVariety())
-        {
-            case SchemaType.ATOMIC:
-                SchemaTypeImpl baseImpl = (SchemaTypeImpl)sImpl.getBaseType();
-                sImpl.setOrdered(baseImpl.ordered());
-                sImpl.setBounded(
-                    (sImpl.getFacet(SchemaType.FACET_MIN_EXCLUSIVE) != null ||
-                     sImpl.getFacet(SchemaType.FACET_MIN_INCLUSIVE) != null) &&
-                    (sImpl.getFacet(SchemaType.FACET_MAX_INCLUSIVE) != null ||
-                     sImpl.getFacet(SchemaType.FACET_MAX_EXCLUSIVE) != null));
-                sImpl.setFinite(baseImpl.isFinite() ||
-                                sImpl.isBounded() && isDiscreteType(sImpl));
-                sImpl.setNumeric(baseImpl.isNumeric() ||
-                                isNumericPrimitive(sImpl.getPrimitiveType()));
-                sImpl.setDecimalSize(decimalSizeOfType(sImpl));
-                break;
-            case SchemaType.UNION:
-                SchemaType[] mTypes = sImpl.getUnionMemberTypes();
-                int ordered = SchemaType.UNORDERED;
-                boolean isBounded = true;
-                boolean isFinite = true;
-                boolean isNumeric = true;
-                // ordered if any is ordered, bounded if all are bounded.
-                for (int i = 0; i < mTypes.length; i++)
-                {
-                    if (mTypes[i].ordered() != SchemaType.UNORDERED)
-                        ordered = SchemaType.PARTIAL_ORDER;
-                    if (!mTypes[i].isBounded())
-                        isBounded = false;
-                    if (!mTypes[i].isFinite())
-                        isFinite = false;
-                    if (!mTypes[i].isNumeric())
-                        isNumeric = false;
-                }
-                sImpl.setOrdered(ordered);
-                sImpl.setBounded(isBounded);
-                sImpl.setFinite(isFinite);
-                sImpl.setNumeric(isNumeric);
-                sImpl.setDecimalSize(SchemaType.NOT_DECIMAL);
-                break;
-            case SchemaType.LIST:
-                sImpl.setOrdered(SchemaType.UNORDERED);
-                // BUGBUG: the schema spec is wrong here: MIN_LENGTH is not needed, beause len >=0
-                sImpl.setBounded(sImpl.getFacet(SchemaType.FACET_LENGTH) != null ||
-                    sImpl.getFacet(SchemaType.FACET_MAX_LENGTH) != null);
-                // BUGBUG: the schema spec is wrong here: finite cardinality requires item type is finite
-                sImpl.setFinite(sImpl.getListItemType().isFinite() && sImpl.isBounded());
-                sImpl.setNumeric(false);
-                sImpl.setDecimalSize(SchemaType.NOT_DECIMAL);
-                break;
-        }
-    }
-
-    private static class CodeForNameEntry
-    {
-        CodeForNameEntry(QName name, int code)
-            { this.name = name; this.code = code; }
-        public QName name;
-        public int code;
-    }
-
-    private static CodeForNameEntry[] facetCodes = new CodeForNameEntry[]
-    {
-        new CodeForNameEntry(QNameHelper.forLNS("length", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_LENGTH),
-        new CodeForNameEntry(QNameHelper.forLNS("minLength", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_MIN_LENGTH),
-        new CodeForNameEntry(QNameHelper.forLNS("maxLength", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_MAX_LENGTH),
-        new CodeForNameEntry(QNameHelper.forLNS("pattern", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_PATTERN),
-        new CodeForNameEntry(QNameHelper.forLNS("enumeration", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_ENUMERATION),
-        new CodeForNameEntry(QNameHelper.forLNS("whiteSpace", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_WHITE_SPACE),
-        new CodeForNameEntry(QNameHelper.forLNS("maxInclusive", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_MAX_INCLUSIVE),
-        new CodeForNameEntry(QNameHelper.forLNS("maxExclusive", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_MAX_EXCLUSIVE),
-        new CodeForNameEntry(QNameHelper.forLNS("minInclusive", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_MIN_INCLUSIVE),
-        new CodeForNameEntry(QNameHelper.forLNS("minExclusive", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_MIN_EXCLUSIVE),
-        new CodeForNameEntry(QNameHelper.forLNS("totalDigits", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_TOTAL_DIGITS),
-        new CodeForNameEntry(QNameHelper.forLNS("fractionDigits", "http://www.w3.org/2001/XMLSchema"), SchemaType.FACET_FRACTION_DIGITS),
-    };
-
-    private static final Map facetCodeMap = buildFacetCodeMap();
-
-    private static Map buildFacetCodeMap()
-    {
-        Map result = new HashMap();
-        for (int i = 0; i < facetCodes.length; i++)
-            result.put(facetCodes[i].name,  new Integer(facetCodes[i].code));
-        return result;
-    }
-
-    private static int translateFacetCode(QName name)
-    {
-        Integer result = ((Integer)facetCodeMap.get(name));
-        if (result == null)
-            return -1;
-        return result.intValue();
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java
deleted file mode 100644
index 9a48306..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java
+++ /dev/null
@@ -1,1104 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.impl.common.XmlErrorContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.config.SchemaConfig;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaComponent;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.SchemaAttributeGroup;
-import org.apache.xmlbeans.SchemaModelGroup;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlError;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.impl.values.XmlStringImpl;
-import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException;
-import org.apache.xmlbeans.impl.util.HexBin;
-
-import java.util.*;
-import java.net.URISyntaxException;
-import java.net.URI;
-import java.io.File;
-
-
-import javax.xml.namespace.QName;
-
-import org.w3.x2001.xmlSchema.SchemaDocument;
-import org.xml.sax.EntityResolver;
-
-/**
- * This class represents the state of the SchemaTypeSystemCompiler as it's
- * going.
- */
-public class StscState
-{
-    private String _givenStsName;
-    private Collection _errorListener;
-    private SchemaTypeSystemImpl _target;
-    private SchemaConfig _config;
-    private Map _compatMap;
-    private boolean _doingDownloads;
-    private byte[] _digest = null;
-    private boolean _noDigest = false;
-
-    private SchemaTypeLoader _importingLoader;
-
-    private Map _redefinedGlobalTypes        = new LinkedHashMap();
-    private Map _redefinedModelGroups        = new LinkedHashMap();
-    private Map _redefinedAttributeGroups    = new LinkedHashMap();
-        
-    private Map _globalTypes        = new LinkedHashMap();
-    private Map _globalElements     = new LinkedHashMap();
-    private Map _globalAttributes   = new LinkedHashMap();
-    private Map _modelGroups        = new LinkedHashMap();
-    private Map _attributeGroups    = new LinkedHashMap();
-    private Map _documentTypes      = new LinkedHashMap();
-    private Map _attributeTypes     = new LinkedHashMap();
-    private Map _typesByClassname   = new LinkedHashMap();
-    private Map _misspelledNames    = new HashMap();
-    private Set _processingGroups   = new HashSet();
-    private Map _idConstraints      = new LinkedHashMap();
-    private Set _namespaces         = new HashSet();
-    private boolean _noUpa;
-    private boolean _noPvr;
-    private Set _mdefNamespaces     = buildDefaultMdefNamespaces();
-    private EntityResolver _entityResolver;
-
-    private static Set buildDefaultMdefNamespaces()
-    {
-        // namespaces which are known to appear in WSDLs redundantly
-        return new HashSet(
-                Arrays.asList( new String[] {
-                    "http://www.openuri.org/2002/04/soap/conversation/",
-                }));
-    }
-
-    /**
-     * Used to store the new target namespace for a chameleon
-     * included schema.
-     */
-    public static final Object CHAMELEON_INCLUDE_URI = new Object();
-
-    /**
-     * Only constructed via StscState.start().
-     */
-    private StscState()
-    {
-    }
-
-    /**
-     * Initializer for schematypepath
-     */
-    public void setImportingTypeLoader(SchemaTypeLoader loader)
-    {
-        _importingLoader = loader;
-    }
-
-    /**
-     * Initializer for error handling.
-     */
-    public void setErrorListener(Collection errorListener)
-        { _errorListener = errorListener; }
-
-    /**
-     * Passes an error on to the current XmlErrorContext.
-     */
-    public void error(String message, int code, XmlObject loc)
-        { addError(_errorListener, message, code, loc); }
-
-    /**
-     * Passes a warning on to the current XmlErrorContext.
-     */
-    public void warning(String message, int code, XmlObject loc)
-    {
-        // it's OK for XMLSchema.xsd itself to have reserved type names
-        if (code == XmlErrorContext.RESERVED_TYPE_NAME &&
-                loc.documentProperties().getSourceName() != null &&
-                loc.documentProperties().getSourceName().indexOf("XMLSchema.xsd") > 0)
-            return;
-
-        addWarning(_errorListener, message, code, loc);
-    }
-
-    /**
-     * Passes a warning on to the current XmlErrorContext.
-     */
-    public void info(String message)
-        { addInfo(_errorListener, message); }
-
-    public static void addError(Collection errorListener, String message, int code, XmlObject location)
-    {
-        XmlError err =
-            XmlError.forObject(
-              message,
-              XmlError.SEVERITY_ERROR,
-              location);
-        errorListener.add(err);
-    }
-
-    public static void addError(Collection errorListener, String message, int code, File location)
-    {
-        XmlError err =
-            XmlError.forLocation(
-              message,
-              XmlError.SEVERITY_ERROR,
-              location.toURI().toString(), 0, 0, 0);
-        errorListener.add(err);
-    }
-
-    public static void addWarning(Collection errorListener, String message, int code, XmlObject location)
-    {
-        XmlError err =
-            XmlError.forObject(
-              message,
-              XmlError.SEVERITY_WARNING,
-              location);
-        errorListener.add(err);
-    }
-
-    public static void addInfo(Collection errorListener, String message)
-    {
-        XmlError err = XmlError.forMessage(message, XmlError.SEVERITY_INFO);
-        errorListener.add(err);
-    }
-    
-    public void setGivenTypeSystemName(String name)
-        { _givenStsName = name; }
-
-    /**
-     * Initializer for references to the SchemaTypeLoader
-     */
-    public void setTargetSchemaTypeSystem(SchemaTypeSystemImpl target)
-        { _target = target; }
-    
-    /**
-     * Accumulates a schema digest...
-     */
-    public void addSchemaDigest(byte[] digest)
-    {
-        if (_noDigest)
-            return;
-        
-        if (digest == null)
-        {
-            _noDigest = true;
-            _digest = null;
-            return;
-        }
-        
-        if (_digest == null)
-            _digest = new byte[128/8]; // 128 bits.
-        int len = _digest.length;
-        if (digest.length < len)
-            len = digest.length;
-        for (int i = 0; i < len; i++)
-            _digest[i] ^= digest[i];
-    }
-    
-    /**
-     * The SchemaTypeSystem which we're building types on behalf of.
-     */
-    public SchemaTypeSystemImpl sts()
-    {
-        if (_target != null)
-            return _target;
-        
-        String name = _givenStsName;
-        if (name == null && _digest != null)
-            name = "s" + new String(HexBin.encode(_digest));
-        
-        _target = new SchemaTypeSystemImpl(name);
-        return _target;
-    }
-
-    /**
-     * True if the given URI is a local file
-     */
-    public boolean shouldDownloadURI(String uriString)
-    {
-        if (_doingDownloads)
-            return true;
-
-        if (uriString == null)
-            return false;
-
-        try
-        {
-            URI uri = new URI(uriString);
-            return uri.getScheme().equalsIgnoreCase("file");
-        }
-        catch (Exception e)
-        {
-            return false;
-        }
-    }
-
-    /**
-     * Initializer for compatMap.
-     */
-    public void setOptions(XmlOptions options)
-    {
-        if (options == null)
-        {
-            return; // defaults are all false. 
-        }
-        
-        _compatMap = (Map)options.get(XmlOptions.COMPILE_SUBSTITUTE_NAMES);
-        _noUpa = options.hasOption(XmlOptions.COMPILE_NO_UPA_RULE) ? true :
-                !"true".equals(System.getProperty("xmlbean.uniqueparticleattribution", "true"));
-        _noPvr = options.hasOption(XmlOptions.COMPILE_NO_PVR_RULE) ? true :
-                !"true".equals(System.getProperty("xmlbean.particlerestriction", "true"));
-        _doingDownloads = options.hasOption(XmlOptions.COMPILE_DOWNLOAD_URLS) ? true :
-                "true".equals(System.getProperty("xmlbean.downloadurls", "false"));
-        _entityResolver = (EntityResolver)options.get(XmlOptions.ENTITY_RESOLVER);
-        if (_entityResolver != null)
-            _doingDownloads = true;
-        
-        if (options.hasOption(XmlOptions.COMPILE_MDEF_NAMESPACES))
-            _mdefNamespaces.addAll((Collection)options.get(XmlOptions.COMPILE_MDEF_NAMESPACES));
-    }
-    
-    /**
-     * May return null if there is no custom entity resolver.
-     */ 
-    public EntityResolver getEntityResolver()
-    {
-        return _entityResolver;
-    }
-    
-    /**
-     * True if no unique particle attribution option is set
-     */
-    public boolean noUpa()
-    {
-        return _noUpa;
-    }
-    
-    /**
-     * True if no particle valid (restriciton) option is set
-     */
-    public boolean noPvr()
-    {
-        return _noPvr;
-    }
-    
-
-    /**
-     * Intercepts XML names and translates them
-     * through the compat map, if any.
-     *
-     * Also looks for a default namespace for global definitions.
-     */
-    private QName compatName(QName name, String chameleonNamespace)
-    {
-        // first check for a chameleonNamespace namespace
-        if (name.getNamespaceURI().length() == 0 && chameleonNamespace != null && chameleonNamespace.length() > 0)
-            name = new QName(chameleonNamespace, name.getLocalPart());
-
-        if (_compatMap == null)
-            return name;
-
-        QName subst = (QName)_compatMap.get(name);
-        if (subst == null)
-            return name;
-        return subst;
-    }
-
-    /**
-     * Initializer for the schema config object.
-     */
-    public void setSchemaConfig(SchemaConfig config)
-        throws IllegalArgumentException
-    {
-        _config = config;
-    }
-
-    /**
-     * Looks up package override for a namespace URI
-     */
-    public String getPackageOverride(String namespace)
-    {
-        return _config.lookupPackageForNamespace(namespace);
-    }
-
-    /**
-     * Looks up package override for a namespace URI
-     */
-    public String getJavaPrefix(String namespace)
-    {
-        return _config.lookupPrefixForNamespace(namespace);
-    }
-
-    /**
-     * Looks up package override for a namespace URI
-     */
-    public String getJavaSuffix(String namespace)
-    {
-        return _config.lookupSuffixForNamespace(namespace);
-    }
-
-    /**
-     * Looks up configured java name for the given qname.
-     */
-    public String getJavaname(QName qname)
-    {
-        return _config.lookupJavanameForQName(qname);
-    }
-
-    /* SPELLINGS ======================================================*/
-
-    private static String crunchName(QName name)
-    {
-        // lowercase, and drop namespace.
-        return name.getLocalPart().toLowerCase();
-    }
-
-    void addSpelling(QName name, SchemaComponent comp)
-    {
-        _misspelledNames.put(crunchName(name), comp);
-    }
-
-    SchemaComponent findSpelling(QName name)
-    {
-        return (SchemaComponent)_misspelledNames.get(crunchName(name));
-    }
-
-    /* NAMESPACES ======================================================*/
-
-    void addNamespace(String targetNamespace)
-    {
-        _namespaces.add(targetNamespace);
-    }
-
-    String[] getNamespaces()
-    {
-        return (String[])_namespaces.toArray(new String[_namespaces.size()]);
-    }
-
-    boolean linkerDefinesNamespace(String namespace)
-    {
-        return _importingLoader.isNamespaceDefined(namespace);
-    }
-
-    /* TYPES ==========================================================*/
-
-    SchemaTypeImpl findGlobalType(QName name, String chameleonNamespace)
-    {
-        name = compatName(name, chameleonNamespace);
-        SchemaTypeImpl result = (SchemaTypeImpl)_globalTypes.get(name);
-        if (result == null)
-            result = (SchemaTypeImpl)_importingLoader.findType(name);
-        return result;
-    }
-    
-    SchemaTypeImpl findRedefinedGlobalType(QName name, String chameleonNamespace, QName redefinedName)
-    {
-        name = compatName(name, chameleonNamespace);
-        if (name.equals(redefinedName))
-        {
-            return (SchemaTypeImpl)_redefinedGlobalTypes.get(name);
-            // BUGBUG: should also link against _importingLoader.findRedefinedType
-        }
-        SchemaTypeImpl result = (SchemaTypeImpl)_globalTypes.get(name);
-        if (result == null)
-            result = (SchemaTypeImpl)_importingLoader.findType(name);
-        return result;
-    }
-
-    void addGlobalType(SchemaTypeImpl type, boolean redefined)
-    {
-        if (type != null)
-        {
-            QName name = type.getName();
-            
-            if (redefined)
-            {
-                if (_redefinedGlobalTypes.containsKey(name))
-                {
-                    if (!ignoreMdef(name))
-                        error("Duplicate global type: " + QNameHelper.pretty(name), XmlErrorContext.DUPLICATE_GLOBAL_TYPE, null);
-                }
-                else
-                    _redefinedGlobalTypes.put(name, type);
-            }
-            else
-            {
-                if (_globalTypes.containsKey(name))
-                {
-                    if (!ignoreMdef(name))
-                        error("Duplicate global type: " + QNameHelper.pretty(name), XmlErrorContext.DUPLICATE_GLOBAL_TYPE, null);
-                }
-                else
-                {
-                    _globalTypes.put(name, type);
-                    addSpelling(name, type);
-                }
-            }
-        }
-    }
-
-    private boolean ignoreMdef(QName name)
-    {
-        return _mdefNamespaces.contains(name.getNamespaceURI());
-    }
-
-    SchemaType[] globalTypes()
-        { return (SchemaType[])_globalTypes.values().toArray(new SchemaType[_globalTypes.size()]); }
-
-    SchemaType[] redefinedGlobalTypes()
-        { return (SchemaType[])_redefinedGlobalTypes.values().toArray(new SchemaType[_redefinedGlobalTypes.size()]); }
-    
-    /* DOCUMENT TYPES =================================================*/
-
-    SchemaTypeImpl findDocumentType(QName name, String chameleonNamespace)
-    {
-        name = compatName(name, chameleonNamespace);
-        SchemaTypeImpl result = (SchemaTypeImpl)_documentTypes.get(name);
-        if (result == null)
-            result = (SchemaTypeImpl)_importingLoader.findDocumentType(name);
-        return result;
-    }
-
-    void addDocumentType(SchemaTypeImpl type, QName name)
-    {
-        if (_documentTypes.containsKey(name))
-        {
-            if (!ignoreMdef(name))
-                error("Duplicate global element: " + QNameHelper.pretty(name), XmlErrorContext.DUPLICATE_GLOBAL_ELEMENT, null);
-        }
-        else
-            _documentTypes.put(name, type);
-    }
-
-    SchemaType[] documentTypes()
-        { return (SchemaType[])_documentTypes.values().toArray(new SchemaType[_documentTypes.size()]); }
-
-    /* ATTRIBUTE TYPES =================================================*/
-
-    SchemaTypeImpl findAttributeType(QName name, String chameleonNamespace)
-    {
-        name = compatName(name, chameleonNamespace);
-        SchemaTypeImpl result = (SchemaTypeImpl)_attributeTypes.get(name);
-        if (result == null)
-            result = (SchemaTypeImpl)_importingLoader.findAttributeType(name);
-        return result;
-    }
-
-    void addAttributeType(SchemaTypeImpl type, QName name)
-    {
-        if (_attributeTypes.containsKey(name))
-        {
-            if (!ignoreMdef(name))
-                error("Duplicate global attribute: " + QNameHelper.pretty(name), XmlErrorContext.DUPLICATE_GLOBAL_ATTRIBUTE, null);
-        }
-        else
-            _attributeTypes.put(name, type);
-    }
-
-    SchemaType[] attributeTypes()
-        { return (SchemaType[])_attributeTypes.values().toArray(new SchemaType[_attributeTypes.size()]); }
-
-    /* ATTRIBUTES =====================================================*/
-
-    SchemaGlobalAttributeImpl findGlobalAttribute(QName name, String chameleonNamespace)
-    {
-        name = compatName(name, chameleonNamespace);
-        SchemaGlobalAttributeImpl result = (SchemaGlobalAttributeImpl)_globalAttributes.get(name);
-        if (result == null)
-            result = (SchemaGlobalAttributeImpl)_importingLoader.findAttribute(name);
-        return result;
-    }
-
-    void addGlobalAttribute(SchemaGlobalAttributeImpl attribute)
-    {
-        if (attribute != null)
-        {
-            QName name = attribute.getName();
-            _globalAttributes.put(name, attribute);
-            addSpelling(name, attribute);
-        }
-    }
-
-    SchemaGlobalAttribute[] globalAttributes()
-        { return (SchemaGlobalAttribute[])_globalAttributes.values().toArray(new SchemaGlobalAttribute[_globalAttributes.size()]); }
-
-    /* ELEMENTS =======================================================*/
-
-    SchemaGlobalElementImpl findGlobalElement(QName name, String chameleonNamespace)
-    {
-        name = compatName(name, chameleonNamespace);
-        SchemaGlobalElementImpl result = (SchemaGlobalElementImpl)_globalElements.get(name);
-        if (result == null)
-            result = (SchemaGlobalElementImpl)_importingLoader.findElement(name);
-        return result;
-    }
-
-    void addGlobalElement(SchemaGlobalElementImpl element)
-    {
-        if (element != null)
-        {
-            QName name = element.getName();
-            _globalElements.put(name, element);
-            addSpelling(name, element);
-        }
-    }
-
-    SchemaGlobalElement[] globalElements()
-        { return (SchemaGlobalElement[])_globalElements.values().toArray(new SchemaGlobalElement[_globalElements.size()]); }
-
-    /* ATTRIBUTE GROUPS ===============================================*/
-
-    SchemaAttributeGroupImpl findAttributeGroup(QName name, String chameleonNamespace)
-    {
-        name = compatName(name, chameleonNamespace);
-        SchemaAttributeGroupImpl result = (SchemaAttributeGroupImpl)_attributeGroups.get(name);
-        if (result == null)
-            result = (SchemaAttributeGroupImpl)_importingLoader.findAttributeGroup(name);
-        return result;
-    }
-
-    SchemaAttributeGroupImpl findRedefinedAttributeGroup(QName name, String chameleonNamespace, QName redefinitionFor)
-    {
-        name = compatName(name, chameleonNamespace);
-        if (name.equals(redefinitionFor))
-        {
-            return (SchemaAttributeGroupImpl)_redefinedAttributeGroups.get(name);
-            // BUGBUG: should also link against _importingLoader.findRedefinedAttributeGroup
-        }
-        SchemaAttributeGroupImpl result = (SchemaAttributeGroupImpl)_attributeGroups.get(name);
-        if (result == null)
-            result = (SchemaAttributeGroupImpl)_importingLoader.findAttributeGroup(name);
-        return result;
-    }
-
-    void addAttributeGroup(SchemaAttributeGroupImpl attributeGroup, boolean redefined)
-    {
-        if (attributeGroup != null)
-        {
-            QName name = attributeGroup.getName();
-            if (redefined)
-            {
-                if (_redefinedAttributeGroups.containsKey(name))
-                {
-                    if (!ignoreMdef(name))
-                        error("Duplicate attribute group: " + QNameHelper.pretty(name), XmlErrorContext.DUPLICATE_GLOBAL_TYPE, null);
-                }
-                else
-                    _redefinedAttributeGroups.put(name, attributeGroup);
-                
-            }
-            else
-            {
-                if (_attributeGroups.containsKey( name ))
-                {
-                    if (!ignoreMdef(name))
-                        error("Duplicate attribute group: " + QNameHelper.pretty(name), XmlErrorContext.DUPLICATE_GLOBAL_TYPE, null);
-                }
-                else
-                {
-                    _attributeGroups.put(attributeGroup.getName(), attributeGroup);
-                    addSpelling(attributeGroup.getName(), attributeGroup);
-                }
-            }
-        }
-    }
-
-    SchemaAttributeGroup[] attributeGroups()
-        { return (SchemaAttributeGroup[])_attributeGroups.values().toArray(new SchemaAttributeGroup[_attributeGroups.size()]); }
-
-    SchemaAttributeGroup[] redefinedAttributeGroups()
-        { return (SchemaAttributeGroup[])_redefinedAttributeGroups.values().toArray(new SchemaAttributeGroup[_redefinedAttributeGroups.size()]); }
-
-    /* MODEL GROUPS ===================================================*/
-
-    SchemaModelGroupImpl findModelGroup(QName name, String chameleonNamespace)
-    {
-        name = compatName(name, chameleonNamespace);
-        SchemaModelGroupImpl result = (SchemaModelGroupImpl)_modelGroups.get(name);
-        if (result == null)
-            result = (SchemaModelGroupImpl)_importingLoader.findModelGroup(name);
-        return result;
-    }
-
-    SchemaModelGroupImpl findRedefinedModelGroup(QName name, String chameleonNamespace, QName redefinitionFor)
-    {
-        name = compatName(name, chameleonNamespace);
-        if (name.equals(redefinitionFor))
-        {
-            return (SchemaModelGroupImpl)_redefinedModelGroups.get(name);
-            // BUGBUG: should also link against _importingLoader.findRedefinedModelGroup
-        }
-        SchemaModelGroupImpl result = (SchemaModelGroupImpl)_modelGroups.get(name);
-        if (result == null)
-            result = (SchemaModelGroupImpl)_importingLoader.findModelGroup(name);
-        return result;
-    }
-
-    void addModelGroup(SchemaModelGroupImpl modelGroup, boolean redefined)
-    {
-        if (modelGroup != null)
-        {
-            QName name = modelGroup.getName();
-            if (redefined)
-            {
-                if (_redefinedModelGroups.containsKey(name))
-                {
-                    if (!ignoreMdef(name))
-                        error("Duplicate model group: " + QNameHelper.pretty(name), XmlErrorContext.DUPLICATE_GLOBAL_TYPE, null);
-                }
-                else
-                    _redefinedModelGroups.put(name, modelGroup);
-            }
-            else
-            {
-                if (_modelGroups.containsKey(name))
-                {
-                    if (!ignoreMdef(name))
-                        error("Duplicate model group: " + QNameHelper.pretty(name), XmlErrorContext.DUPLICATE_GLOBAL_TYPE, null);
-                }
-                else
-                {
-                    _modelGroups.put(modelGroup.getName(), modelGroup);
-                    addSpelling(modelGroup.getName(), modelGroup);
-                }
-            }
-        }
-    }
-
-    SchemaModelGroup[] modelGroups()
-        { return (SchemaModelGroup[])_modelGroups.values().toArray(new SchemaModelGroup[_modelGroups.size()]); }
-    
-    SchemaModelGroup[] redefinedModelGroups()
-        { return (SchemaModelGroup[])_redefinedModelGroups.values().toArray(new SchemaModelGroup[_redefinedModelGroups.size()]); }
-
-    /* IDENTITY CONSTRAINTS ===========================================*/
-
-    SchemaIdentityConstraintImpl findIdConstraint(QName name, String chameleonNamespace)
-    {
-        name = compatName(name, chameleonNamespace);
-        return (SchemaIdentityConstraintImpl)_idConstraints.get(name);
-    }
-
-    void addIdConstraint(SchemaIdentityConstraintImpl idc)
-    {
-        if (idc != null)
-        {
-            _idConstraints.put(idc.getName(), idc);
-            addSpelling(idc.getName(), idc);
-        }
-    }
-
-    SchemaIdentityConstraintImpl[] idConstraints()
-        { return (SchemaIdentityConstraintImpl[])_idConstraints.values().toArray(new SchemaIdentityConstraintImpl[_idConstraints.size()]); }
-
-    /* RECURSION AVOIDANCE ============================================*/
-    boolean isProcessing(Object obj)
-    {
-        return _processingGroups.contains(obj);
-    }
-
-    void startProcessing(Object obj)
-    {
-        assert(!_processingGroups.contains(obj));
-        _processingGroups.add(obj);
-    }
-
-    void finishProcessing(Object obj)
-    {
-        assert(_processingGroups.contains(obj));
-        _processingGroups.remove(obj);
-    }
-
-    /* JAVAIZATION ====================================================*/
-
-    Map typesByClassname()
-        { return Collections.unmodifiableMap(_typesByClassname); }
-
-    void addClassname(String classname, SchemaType type)
-        { _typesByClassname.put(classname, type); }
-
-
-
-    /**
-     * Stack management if (heaven help us) we ever need to do
-     * nested compilation of schema type system.
-     */
-    private static final class StscStack
-    {
-        StscState current;
-        ArrayList stack = new ArrayList();
-        final StscState push()
-        {
-            stack.add(current);
-            current = new StscState();
-            return current;
-        }
-        final void pop()
-        {
-            current = (StscState)stack.get(stack.size() - 1);
-            stack.remove(stack.size() - 1);
-        }
-    }
-
-    private static ThreadLocal stscStack = new ThreadLocal()
-    {
-        protected Object initialValue() { return new StscStack(); }
-    };
-
-    public static StscState start()
-    {
-        return ((StscStack)stscStack.get()).push();
-    }
-
-    public static StscState get()
-    {
-        return ((StscStack)stscStack.get()).current;
-    }
-
-    public static void end()
-    {
-        ((StscStack)stscStack.get()).pop();
-    }
-
-    private final static XmlValueRef XMLSTR_PRESERVE = buildString("preserve");
-    private final static XmlValueRef XMLSTR_REPLACE = buildString("preserve");
-    private final static XmlValueRef XMLSTR_COLLAPSE = buildString("preserve");
-
-    static final SchemaType[] EMPTY_ST_ARRAY = new SchemaType[0];
-    static final SchemaType.Ref[] EMPTY_STREF_ARRAY = new SchemaType.Ref[0];
-
-    private final static XmlValueRef[] FACETS_NONE = new XmlValueRef[]
-        { null, null, null, null, null, null, null, null, null,
-          null, null, null };
-
-    private final static boolean[] FIXED_FACETS_NONE = new boolean[]
-        { false, false, false, false, false, false, false, false, false,
-          false, false, false };
-
-    private final static XmlValueRef[] FACETS_WS_COLLAPSE = new XmlValueRef[]
-        { null, null, null, null, null, null, null, null, null,
-          build_wsstring(SchemaType.WS_COLLAPSE), null, null };
-
-    private final static boolean[] FIXED_FACETS_WS = new boolean[]
-        { false, false, false, false, false, false, false, false, false,
-          true, false, false };
-
-    final static XmlValueRef[] FACETS_UNION = FACETS_NONE;
-    final static boolean[] FIXED_FACETS_UNION = FIXED_FACETS_NONE;
-    final static XmlValueRef[] FACETS_LIST = FACETS_WS_COLLAPSE;
-    final static boolean[] FIXED_FACETS_LIST = FIXED_FACETS_WS;
-
-    static XmlValueRef build_wsstring(int wsr)
-    {
-        switch (wsr)
-        {
-            case SchemaType.WS_PRESERVE:
-                return XMLSTR_PRESERVE;
-            case SchemaType.WS_REPLACE:
-                return XMLSTR_REPLACE;
-            case SchemaType.WS_COLLAPSE:
-                return XMLSTR_COLLAPSE;
-        }
-        return null;
-    }
-
-    static XmlValueRef buildString(String str)
-    {
-        if (str == null)
-            return null;
-
-        try
-        {
-            XmlStringImpl i = new XmlStringImpl();
-            i.set(str);
-            i.setImmutable();
-            return new XmlValueRef(i);
-        }
-        catch (XmlValueOutOfRangeException e)
-        {
-            return null;
-        }
-    }
-
-    public void notFoundError(QName itemName, int code, XmlObject loc)
-    {
-        String basicMessage;
-
-        switch (code)
-        {
-            case XmlErrorContext.TYPE_NOT_FOUND:
-                basicMessage = "Type " + QNameHelper.pretty(itemName) + " not found.";
-                break;
-            case XmlErrorContext.ELEMENT_REF_NOT_FOUND:
-                basicMessage = "Element " + QNameHelper.pretty(itemName) + " not found.";
-                break;
-            case XmlErrorContext.ATTRIBUTE_REF_NOT_FOUND:
-                basicMessage = "Attribute " + QNameHelper.pretty(itemName) + " not found.";
-                break;
-            case XmlErrorContext.MODEL_GROUP_NOT_FOUND:
-                basicMessage = "Model group " + QNameHelper.pretty(itemName) + " not found.";
-                break;
-            case XmlErrorContext.ATTRIBUTE_GROUP_NOT_FOUND:
-                basicMessage = "Attribute group " + QNameHelper.pretty(itemName) + " not found.";
-                break;
-            case XmlErrorContext.IDC_NOT_FOUND:
-                basicMessage = "Identity constraint '" + QNameHelper.pretty(itemName) + "' not found.";
-                break;
-            default:
-                assert(false);
-                basicMessage = "Definition " + QNameHelper.pretty(itemName) + " not found.";
-                break;
-        }
-
-        String helpfulMessage = "";
-        SchemaComponent foundComponent = findSpelling(itemName);
-        QName name;
-        if (foundComponent != null)
-        {
-            name = foundComponent.getName();
-            if (name != null)
-            {
-                String sourceName = null;
-                switch (foundComponent.getComponentType())
-                {
-                    case SchemaComponent.TYPE:
-                        sourceName = ((SchemaType)foundComponent).getSourceName();
-                        break;
-                    case SchemaComponent.ELEMENT:
-                        sourceName = ((SchemaGlobalElement)foundComponent).getSourceName();
-                        break;
-                    case SchemaComponent.ATTRIBUTE:
-                        sourceName = ((SchemaGlobalAttribute)foundComponent).getSourceName();
-                        break;
-                }
-                String source = "";
-                if (sourceName != null)
-                {
-                    source = " (in " +  sourceName.substring(sourceName.lastIndexOf('/') + 1) + ")";
-                }
-                
-                if (name.equals(itemName))
-                {
-                    switch (foundComponent.getComponentType())
-                    {
-                        case SchemaComponent.TYPE:
-                            helpfulMessage = "  Do you mean to refer to the type with that name" + source + "?";
-                            break;
-                        case SchemaComponent.ELEMENT:
-                            helpfulMessage = "  Do you mean to refer to the element with that name" + source + "?";
-                            break;
-                        case SchemaComponent.ATTRIBUTE:
-                            helpfulMessage = "  Do you mean to refer to the attribute with that name" + source + "?";
-                            break;
-                        case SchemaComponent.ATTRIBUTE_GROUP:
-                            helpfulMessage = "  Do you mean to refer to the attribute group with that name" + source + "?";
-                            break;
-                        case SchemaComponent.MODEL_GROUP:
-                            helpfulMessage = "  Do you mean to refer to the model group with that name" + source + "?";
-                            break;
-                    }
-                }
-                else
-                {
-                    switch (foundComponent.getComponentType())
-                    {
-                        case SchemaComponent.TYPE:
-                            helpfulMessage = "  Do you mean to refer to the type named " + QNameHelper.pretty(name) + source + "?";
-                            break;
-                        case SchemaComponent.ELEMENT:
-                            helpfulMessage = "  Do you mean to refer to the element named " + QNameHelper.pretty(name) + source + "?";
-                            break;
-                        case SchemaComponent.ATTRIBUTE:
-                            helpfulMessage = "  Do you mean to refer to the attribute named " + QNameHelper.pretty(name) + source + "?";
-                            break;
-                        case SchemaComponent.ATTRIBUTE_GROUP:
-                            helpfulMessage = "  Do you mean to refer to the attribute group named " + QNameHelper.pretty(name) + source + "?";
-                            break;
-                        case SchemaComponent.MODEL_GROUP:
-                            helpfulMessage = "  Do you mean to refer to the model group named " + QNameHelper.pretty(name) + source + "?";
-                            break;
-                    }
-                }
-            }
-        }
-
-        error(basicMessage + helpfulMessage, code, loc);
-    }
-
-    /**
-     * Produces the "sourceName" (to be used within the schema project
-     * source file copies) from the URI of the original source.
-     *
-     * Returns null if none.
-     */
-    public String sourceNameForUri(String uri)
-    {
-        return (String)_sourceForUri.get(uri);
-    }
-
-    /**
-     * Returns the whole sourceCopyMap, mapping URI's that have
-     * been read to "sourceName" local names that have been used
-     * to tag the types.
-     */
-    public Map sourceCopyMap()
-    {
-        return Collections.unmodifiableMap(_sourceForUri);
-    }
-
-    /**
-     * The base URI to use for nice filenames when saving sources.
-     */
-    public void setBaseUri(URI uri)
-    {
-        _baseURI = uri;
-    }
-
-    private final static String PROJECT_URL_PREFIX = "project://local";
-    
-    public String relativize(String uri)
-    {
-        return relativize(uri, false);
-    }
-    
-    public String computeSavedFilename(String uri)
-    {
-        return relativize(uri, true);
-    }
-    
-    private String relativize(String uri, boolean forSavedFilename)
-    {
-        if (uri == null)
-            return null;
-
-        // deal with things that do not look like absolute uris
-        if (uri.startsWith("/"))
-        {
-            uri = PROJECT_URL_PREFIX + uri.replace('\\', '/');
-        }
-        else
-        {
-            // looks like a URL?
-            int colon = uri.indexOf(':');
-            if (colon <= 1 || !uri.substring(0, colon).matches("^\\w+$"))
-                uri = PROJECT_URL_PREFIX + "/" + uri.replace('\\', '/');
-        }
-
-        // now relativize against that...
-        if (_baseURI != null)
-        {
-            try
-            {
-                URI relative = _baseURI.relativize(new URI(uri));
-                if (!relative.isAbsolute())
-                    return relative.toString();
-                else
-                    uri = relative.toString();
-            }
-            catch (URISyntaxException e)
-            {
-            }
-        }
-        
-        if (!forSavedFilename)
-            return uri;
-
-        int lastslash = uri.lastIndexOf('/');
-        String dir = QNameHelper.hexsafe(lastslash == -1 ? "" : uri.substring(0, lastslash));
-        return dir + "/" + uri.substring(lastslash + 1);
-    }
-
-    /**
-     * Notes another URI that has been consumed during compilation
-     * (this is the URI that is in the document .NAME property)
-     */
-    public void addSourceUri(String uri, String nameToUse)
-    {
-        if (uri == null)
-            return;
-
-        if (nameToUse == null)
-            nameToUse = computeSavedFilename(uri);
-
-        _sourceForUri.put(uri, nameToUse);
-    }
-
-    /**
-     * Returns the error listener being filled in during this compilation
-     */
-    public Collection getErrorListener()
-    {
-        return _errorListener;
-    }
-
-    /**
-     * Returns the schema type loader to use for processing s4s
-     */
-    public SchemaTypeLoader getS4SLoader()
-    {
-        return _s4sloader;
-    }
-
-    Map _sourceForUri = new HashMap();
-    URI _baseURI = URI.create(PROJECT_URL_PREFIX + "/");
-    SchemaTypeLoader _s4sloader = XmlBeans.typeLoaderForClassLoader(SchemaDocument.class.getClassLoader());
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscTranslator.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscTranslator.java
deleted file mode 100644
index 37166d5..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/StscTranslator.java
+++ /dev/null
@@ -1,1126 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import java.util.*;
-import java.util.List;
-import java.math.BigInteger;
-
-import org.w3.x2001.xmlSchema.*;
-import org.w3.x2001.xmlSchema.SchemaDocument.Schema;
-import org.w3.x2001.xmlSchema.RedefineDocument.Redefine;
-
-import org.apache.xmlbeans.impl.common.XmlErrorContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.common.XMLChar;
-import org.apache.xmlbeans.impl.common.XPath;
-import org.apache.xmlbeans.impl.values.XmlIntegerImpl;
-import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException;
-import org.apache.xmlbeans.impl.values.NamespaceContext;
-import org.apache.xmlbeans.impl.regex.RegularExpression;
-import org.apache.xmlbeans.soap.SOAPArrayType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.QNameSetBuilder;
-import org.apache.xmlbeans.SchemaIdentityConstraint;
-import org.apache.xmlbeans.SchemaAttributeModel;
-import org.apache.xmlbeans.SchemaLocalAttribute;
-import org.apache.xmlbeans.SchemaGlobalAttribute;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.XmlInteger;
-
-import javax.xml.namespace.QName;
-
-public class StscTranslator
-{
-    private static final QName WSDL_ARRAYTYPE_NAME =
-        QNameHelper.forLNS("arrayType", "http://schemas.xmlsoap.org/wsdl/");
-
-    public static void addAllDefinitions(StscImporter.SchemaToProcess[] schemasAndChameleons)
-    {
-        for (int i = 0; i < schemasAndChameleons.length; i++)
-        {
-            addAllDefinitions(
-                schemasAndChameleons[i].getSchema(),
-                schemasAndChameleons[i].getChameleonNamespace(),
-                schemasAndChameleons[i].getRedefine());
-        }
-    }
-
-    public static void addAllDefinitions(Schema schema, String givenTargetNamespace, Redefine redefine)
-    {
-        StscState state = StscState.get();
-
-        // quick check for a few unsupported features
-
-        if (schema.sizeOfNotationArray() > 0)
-        {
-            state.warning("Schema <notation> is not yet supported for this release.", XmlErrorContext.UNSUPPORTED_FEATURE, schema.getNotationArray(0));
-        }
-        
-        // figure namespace (taking into account chameleons)
-        String targetNamespace = schema.getTargetNamespace();
-        boolean chameleon = false;
-        if (givenTargetNamespace != null && targetNamespace == null)
-        {
-            targetNamespace = givenTargetNamespace;
-            chameleon = true;
-        }
-        if (targetNamespace == null)
-            targetNamespace = "";
-        
-        state.addNamespace(targetNamespace);
-
-        // make a note of all redefinitions
-        RedefinitionHolder redefinitions = new RedefinitionHolder(redefine);
-
-        TopLevelComplexType[] complexTypes = schema.getComplexTypeArray();
-        for (int i = 0; i < complexTypes.length; i++)
-        {
-            TopLevelComplexType redef = redefinitions.redefineComplexType(complexTypes[i].getName());
-            state.addGlobalType(translateGlobalComplexType(complexTypes[i], targetNamespace, chameleon, false), redef != null);
-            if (redef != null)
-                state.addGlobalType(translateGlobalComplexType(redef, targetNamespace, chameleon, true), false);
-        }
-
-        TopLevelSimpleType[] simpleTypes = schema.getSimpleTypeArray();
-        for (int i = 0; i < simpleTypes.length; i++)
-        {
-            TopLevelSimpleType redef = redefinitions.redefineSimpleType(simpleTypes[i].getName());
-            state.addGlobalType(translateGlobalSimpleType(simpleTypes[i], targetNamespace, chameleon, false), redef != null);
-            if (redef != null)
-                state.addGlobalType(translateGlobalSimpleType(redef, targetNamespace, chameleon, true), false);
-        }
-
-        TopLevelElement[] elements = schema.getElementArray();
-        for (int i = 0; i < elements.length; i++)
-        {
-            TopLevelElement element = elements[i];
-            state.addDocumentType(translateDocumentType(element, targetNamespace, chameleon), QNameHelper.forLNS(element.getName(), targetNamespace));
-        }
-
-        TopLevelAttribute[] attributes = schema.getAttributeArray();
-        for (int i = 0; i < attributes.length ; i++)
-        {
-            TopLevelAttribute attribute = attributes[i];
-            state.addAttributeType(translateAttributeType(attribute, targetNamespace, chameleon), QNameHelper.forLNS(attribute.getName(), targetNamespace));
-        }
-
-        NamedGroup[] modelgroups = schema.getGroupArray();
-        for (int i = 0; i < modelgroups.length; i++)
-        {
-            NamedGroup redef = redefinitions.redefineModelGroup(modelgroups[i].getName());
-            state.addModelGroup(translateModelGroup(modelgroups[i], targetNamespace, chameleon, false), redef != null);
-            if (redef != null)
-                state.addModelGroup(translateModelGroup(redef, targetNamespace, chameleon, true), false);
-        }
-
-        NamedAttributeGroup[] attrgroups = schema.getAttributeGroupArray();
-        for (int i = 0; i < attrgroups.length; i++)
-        {
-            NamedAttributeGroup redef = redefinitions.redefineAttributeGroup(attrgroups[i].getName());
-            state.addAttributeGroup(translateAttributeGroup(attrgroups[i], targetNamespace, chameleon, false), redef != null);
-            if (redef != null)
-                state.addAttributeGroup(translateAttributeGroup(redef, targetNamespace, chameleon, true), false);
-        }
-        
-        redefinitions.complainAboutMissingDefinitions();
-    }
-    
-    private static class RedefinitionHolder
-    {
-        // record redefinitions
-        private Map stRedefinitions = Collections.EMPTY_MAP;
-        private Map ctRedefinitions = Collections.EMPTY_MAP;
-        private Map agRedefinitions = Collections.EMPTY_MAP;
-        private Map mgRedefinitions = Collections.EMPTY_MAP;
-        private String schemaLocation = "";
-        
-        // first build set of redefined components
-        RedefinitionHolder(Redefine redefine)
-        {
-            if (redefine != null)
-            {
-                StscState state = StscState.get();
-            
-                stRedefinitions = new HashMap();
-                ctRedefinitions = new HashMap();
-                agRedefinitions = new HashMap();
-                mgRedefinitions = new HashMap();
-                if (redefine.getSchemaLocation() != null)
-                    schemaLocation = redefine.getSchemaLocation();
-                
-                TopLevelComplexType[] complexTypes = redefine.getComplexTypeArray();
-                for (int i = 0; i < complexTypes.length; i++)
-                {
-                    if (complexTypes[i].getName() != null)
-                    {
-                        if (ctRedefinitions.containsKey(complexTypes[i].getName()))
-                            state.error("Duplicate type redefinition: " + complexTypes[i].getName(), XmlErrorContext.DUPLICATE_GLOBAL_TYPE, null);
-                        else
-                            ctRedefinitions.put(complexTypes[i].getName(), complexTypes[i]);
-                    }
-                }
-    
-                TopLevelSimpleType[] simpleTypes = redefine.getSimpleTypeArray();
-                for (int i = 0; i < simpleTypes.length; i++)
-                {
-                    if (simpleTypes[i].getName() != null)
-                    {
-                        if (stRedefinitions.containsKey(simpleTypes[i].getName()))
-                            state.error("Duplicate type redefinition: " + simpleTypes[i].getName(), XmlErrorContext.DUPLICATE_GLOBAL_TYPE, null);
-                        else
-                            stRedefinitions.put(simpleTypes[i].getName(), simpleTypes[i]);
-                    }
-                }
-                
-                NamedGroup[] modelgroups = redefine.getGroupArray();
-                for (int i = 0; i < modelgroups.length; i++)
-                {
-                    if (modelgroups[i].getName() != null)
-                    {
-                        if (mgRedefinitions.containsKey(modelgroups[i].getName()))
-                            state.error("Duplicate type redefinition: " + modelgroups[i].getName(), XmlErrorContext.DUPLICATE_GLOBAL_TYPE, null);
-                        else
-                            mgRedefinitions.put(modelgroups[i].getName(), modelgroups[i]);
-                    }
-                }
-    
-                NamedAttributeGroup[] attrgroups = redefine.getAttributeGroupArray();
-                for (int i = 0; i < attrgroups.length; i++)
-                {
-                    if (attrgroups[i].getName() != null)
-                    {
-                        if (agRedefinitions.containsKey(attrgroups[i].getName()))
-                            state.error("Duplicate type redefinition: " + attrgroups[i].getName(), XmlErrorContext.DUPLICATE_GLOBAL_TYPE, null);
-                        else
-                            agRedefinitions.put(attrgroups[i].getName(), attrgroups[i]);
-                    }
-                }
-            }
-        }
-        
-        public TopLevelSimpleType redefineSimpleType(String name)
-        {
-            if (name == null || !stRedefinitions.containsKey(name))
-                return null;
-            return (TopLevelSimpleType)stRedefinitions.remove(name);
-        }
-        
-        public TopLevelComplexType redefineComplexType(String name)
-        {
-            if (name == null || !ctRedefinitions.containsKey(name))
-                return null;
-            return (TopLevelComplexType)ctRedefinitions.remove(name);
-        }
-        
-        public NamedGroup redefineModelGroup(String name)
-        {
-            if (name == null || !mgRedefinitions.containsKey(name))
-                return null;
-            return (NamedGroup)mgRedefinitions.remove(name);
-        }
-        
-        public NamedAttributeGroup redefineAttributeGroup(String name)
-        {
-            if (name == null || !agRedefinitions.containsKey(name))
-                return null;
-            return (NamedAttributeGroup)agRedefinitions.remove(name);
-        }
-        
-        public void complainAboutMissingDefinitions()
-        {
-            if (stRedefinitions.isEmpty() && ctRedefinitions.isEmpty() &&
-                    agRedefinitions.isEmpty() && mgRedefinitions.isEmpty())
-                return;
-            
-            StscState state = StscState.get();
-            
-            for (Iterator i = stRedefinitions.keySet().iterator(); i.hasNext(); )
-            {
-                QName name = (QName)i.next();
-                state.error("Redefined simple type " + QNameHelper.pretty(name) + " not found in " + schemaLocation, XmlErrorContext.GENERIC_ERROR, (XmlObject)stRedefinitions.get(name));
-            }
-
-            for (Iterator i = ctRedefinitions.keySet().iterator(); i.hasNext(); )
-            {
-                QName name = (QName)i.next();
-                state.error("Redefined complex type " + QNameHelper.pretty(name) + " not found in " + schemaLocation, XmlErrorContext.GENERIC_ERROR, (XmlObject)ctRedefinitions.get(name));
-            }
-            
-            for (Iterator i = agRedefinitions.keySet().iterator(); i.hasNext(); )
-            {
-                QName name = (QName)i.next();
-                state.error("Redefined attribute group " + QNameHelper.pretty(name) + " not found in " + schemaLocation, XmlErrorContext.GENERIC_ERROR, (XmlObject)agRedefinitions.get(name));
-            }
-            
-            for (Iterator i = mgRedefinitions.keySet().iterator(); i.hasNext(); )
-            {
-                QName name = (QName)i.next();
-                state.error("Redefined model group " + QNameHelper.pretty(name) + " not found in " + schemaLocation, XmlErrorContext.GENERIC_ERROR, (XmlObject)mgRedefinitions.get(name));
-            }
-        }
-    }
-
-    private static String findFilename(XmlObject xobj)
-    {
-        return StscState.get().sourceNameForUri(xobj.documentProperties().getSourceName());
-    }
-
-    private static SchemaTypeImpl translateDocumentType ( TopLevelElement xsdType, String targetNamespace, boolean chameleon )
-    {
-        SchemaTypeImpl sType = new SchemaTypeImpl( StscState.get().sts() );
-        
-        sType.setDocumentType(true);
-        sType.setParseContext( xsdType, targetNamespace, chameleon, false);
-        sType.setFilename( findFilename( xsdType ) );
-
-        return sType;
-    }
-    
-    private static SchemaTypeImpl translateAttributeType ( TopLevelAttribute xsdType, String targetNamespace, boolean chameleon )
-    {
-        SchemaTypeImpl sType = new SchemaTypeImpl( StscState.get().sts() );
-        
-        sType.setAttributeType(true);
-        sType.setParseContext( xsdType, targetNamespace, chameleon, false);
-        sType.setFilename( findFilename( xsdType ) );
-        
-        return sType;
-    }
-    
-    private static SchemaTypeImpl translateGlobalComplexType(TopLevelComplexType xsdType, String targetNamespace, boolean chameleon, boolean redefinition)
-    {
-        StscState state = StscState.get();
-
-        String localname = xsdType.getName();
-        if (localname == null)
-        {
-            state.error("Global type missing a name", XmlErrorContext.GLOBAL_TYPE_MISSING_NAME, xsdType);
-            // recovery: ignore unnamed types.
-            return null;
-        }
-        if (!XMLChar.isValidNCName(localname))
-        {
-            state.error("Invalid type name \"" + localname + "\"", XmlErrorContext.INVALID_NAME, xsdType.xgetName());
-            // recovery: let the name go through anyway.
-        }
-
-        QName name = QNameHelper.forLNS(localname, targetNamespace);
-        
-        if (isReservedTypeName(name))
-        {
-            state.warning("Skipping definition of built-in type " + QNameHelper.pretty(name), XmlErrorContext.RESERVED_TYPE_NAME, xsdType);
-            return null;
-        }
-        // System.err.println("Recording type " + QNameHelper.pretty(name));
-
-        SchemaTypeImpl sType = new SchemaTypeImpl(state.sts());
-        sType.setParseContext(xsdType, targetNamespace, chameleon, redefinition);
-        sType.setFilename(findFilename(xsdType));
-        sType.setName(QNameHelper.forLNS(localname, targetNamespace));
-        return sType;
-    }
-
-    private static SchemaTypeImpl translateGlobalSimpleType(TopLevelSimpleType xsdType, String targetNamespace, boolean chameleon, boolean redefinition)
-    {
-        StscState state = StscState.get();
-
-        String localname = xsdType.getName();
-        if (localname == null)
-        {
-            state.error("Global type missing a name", XmlErrorContext.GLOBAL_TYPE_MISSING_NAME, xsdType);
-            // recovery: ignore unnamed types.
-            return null;
-        }
-        if (!XMLChar.isValidNCName(localname))
-        {
-            state.error("Invalid type name \"" + localname + "\"", XmlErrorContext.INVALID_NAME, xsdType.xgetName());
-            // recovery: let the name go through anyway.
-        }
-        
-        QName name = QNameHelper.forLNS(localname, targetNamespace);
-        
-        if (isReservedTypeName(name))
-        {
-            state.warning("Skipping definition of built-in type " + QNameHelper.pretty(name), XmlErrorContext.RESERVED_TYPE_NAME, xsdType);
-            return null;
-        }
-        // System.err.println("Recording type " + QNameHelper.pretty(name));
-
-        SchemaTypeImpl sType = new SchemaTypeImpl(state.sts());
-        sType.setSimpleType(true);
-        sType.setParseContext(xsdType, targetNamespace, chameleon, redefinition);
-        sType.setFilename(findFilename(xsdType));
-        sType.setName(name);
-        return sType;
-    }
-
-    static FormChoice findElementFormDefault(XmlObject obj)
-    {
-        XmlCursor cur = obj.newCursor();
-        while (cur.getObject().schemaType() != Schema.type)
-            if (!cur.toParent())
-                return null;
-        return ((Schema)cur.getObject()).xgetElementFormDefault();
-    }
-
-    public static boolean uriMatch(String s1, String s2)
-    {
-        if (s1 == null)
-            return s2 == null || s2.equals("");
-        if (s2 == null)
-            return s1.equals("");
-        return s1.equals(s2);
-    }
-
-    public static void copyGlobalElementToLocalElement(SchemaGlobalElement referenced, SchemaLocalElementImpl target )
-    {
-
-        target.setNameAndTypeRef(referenced.getName(), referenced.getType().getRef());
-        target.setNillable(referenced.isNillable());
-        target.setDefault(referenced.getDefaultText(), referenced.isFixed(), ((SchemaGlobalElementImpl)referenced).getParseObject());
-        target.setIdentityConstraints(((SchemaLocalElementImpl)referenced).getIdentityConstraintRefs());
-        target.setBlock(referenced.blockExtension(),  referenced.blockRestriction(),  referenced.blockSubstitution());
-        target.setAbstract(referenced.isAbstract());
-        target.setTransitionRules(((SchemaParticle)referenced).acceptedStartNames(),
-            ((SchemaParticle)referenced).isSkippable());
-    }
-
-    public static void copyGlobalAttributeToLocalAttribute(SchemaGlobalAttributeImpl referenced, SchemaLocalAttributeImpl target )
-    {
-        target.init(
-            referenced.getName(), referenced.getTypeRef(), referenced.getUse(),
-            referenced.getDefaultText(),
-                referenced.getParseObject(), referenced._defaultValue,
-            referenced.isFixed(),
-            referenced.getWSDLArrayType() );
-    }
-
-    /**
-     * Translates a local or global schema element.
-     */
-    public static SchemaLocalElementImpl translateElement(
-        Element xsdElt, String targetNamespace, boolean chameleon,
-        List anonymousTypes, SchemaType outerType)
-    {
-        StscState state = StscState.get();
-
-        SchemaTypeImpl sgHead = null;
-
-        // translate sg head
-        if (xsdElt.isSetSubstitutionGroup())
-        {
-            sgHead = state.findDocumentType(xsdElt.getSubstitutionGroup(),
-                ((SchemaTypeImpl)outerType).getChameleonNamespace());
-
-            if (sgHead != null)
-                StscResolver.resolveType(sgHead);
-        }
-
-        String name = xsdElt.getName();
-        QName ref = xsdElt.getRef();
-
-
-
-        if (ref != null && name != null)
-        {
-            // if (name.equals(ref.getLocalPart()) && uriMatch(targetNamespace, ref.getNamespaceURI()))
-            //     state.warning("Element " + name + " specifies both a ref and a name", XmlErrorContext.ELEMENT_EXTRA_REF, xsdElt.xgetRef());
-            // else
-                state.error("Element " + name + " specifies both a ref and a name", XmlErrorContext.ELEMENT_EXTRA_REF, xsdElt.xgetRef());
-            // ignore name
-            name = null;
-        }
-        if (ref == null && name == null)
-        {
-            state.error("Element has no name", XmlErrorContext.ELEMENT_MISSING_NAME, xsdElt);
-            // recovery: ignore this element
-            return null;
-        }
-        if (name != null && !XMLChar.isValidNCName(name))
-        {
-            state.error("Invalid element name \"" + name + "\"", XmlErrorContext.INVALID_NAME, xsdElt.xgetName());
-            // recovery: let the name go through anyway.
-        }
-
-        if (ref != null)
-        {
-            if (xsdElt.getType() != null || xsdElt.getSimpleType() != null || xsdElt.getComplexType() != null)
-            {
-                state.error("Element reference cannot also specify a type", XmlErrorContext.INVALID_NAME, xsdElt.xgetName());
-                // recovery: let the name go through anyway.
-            }
-            
-            if (xsdElt.getForm() != null)
-            {
-                state.error("Element reference cannot also specify form", XmlErrorContext.INVALID_NAME, xsdElt.xgetName());
-                // recovery: let the name go through anyway.
-            }
-            
-            assert(xsdElt instanceof LocalElement);
-            SchemaGlobalElement referenced = state.findGlobalElement(ref, chameleon ? targetNamespace : null);
-            if (referenced == null)
-            {
-                state.notFoundError(ref, XmlErrorContext.ELEMENT_REF_NOT_FOUND, xsdElt.xgetRef());
-                // recovery: ignore this element
-                return null;
-            }
-            SchemaLocalElementImpl target = new SchemaLocalElementImpl();
-            target.setParticleType(SchemaParticle.ELEMENT);
-            copyGlobalElementToLocalElement( referenced, target );
-            return target;
-        }
-
-        QName qname;
-        SchemaLocalElementImpl impl;
-        SchemaType sType = null;
-
-        if (xsdElt instanceof LocalElement)
-        {
-            impl = new SchemaLocalElementImpl();
-            FormChoice form = xsdElt.xgetForm();
-            if (form == null)
-                form = findElementFormDefault(xsdElt);
-            if (form == null || form.getStringValue().equals("unqualified"))
-                qname = QNameHelper.forLN(name);
-            else
-                qname = QNameHelper.forLNS(name, targetNamespace);
-        }
-        else
-        {
-            SchemaGlobalElementImpl gelt = new SchemaGlobalElementImpl(state.sts());
-            impl = gelt;
-
-            // Set subst group head
-            if (sgHead != null)
-            {
-                SchemaGlobalElementImpl head = state.findGlobalElement(xsdElt.getSubstitutionGroup(), chameleon ? targetNamespace : null);
-                if (head != null)
-                    gelt.setSubstitutionGroup(head.getRef());
-            }
-
-            // Set subst group members
-            qname = QNameHelper.forLNS(name, targetNamespace);
-            SchemaTypeImpl docType = (SchemaTypeImpl)outerType;
-
-            QName[] sgMembers = docType.getSubstitutionGroupMembers();
-            QNameSetBuilder transitionRules = new QNameSetBuilder();
-            transitionRules.add(qname);
-
-            for (int i = 0 ; i < sgMembers.length ; i++)
-            {
-                gelt.addSubstitutionGroupMember(sgMembers[i]);
-                transitionRules.add(sgMembers[i]);
-            }
-
-            impl.setTransitionRules(QNameSet.forSpecification(transitionRules), false);
-            impl.setTransitionNotes(QNameSet.EMPTY, true);
-
-            boolean finalExt = false;
-            boolean finalRest = false;
-            Object ds = xsdElt.getFinal();
-            if (ds != null)
-            {
-                if (ds instanceof String && ds.equals("#all"))
-                {
-                    // #ALL value
-                    finalExt = finalRest = true;
-                }
-                else if (ds instanceof List)
-                {
-                    if (((List)ds).contains("extension"))
-                        finalExt = true;
-                    if (((List)ds).contains("restriction"))
-                        finalRest = true;
-                }
-            }
-
-            gelt.setFinal(finalExt, finalRest);
-            gelt.setAbstract(xsdElt.getAbstract());
-            gelt.setFilename(findFilename(xsdElt));
-            gelt.setParseContext(xsdElt, targetNamespace, chameleon);
-        }
-
-        if (xsdElt.getType() != null)
-        {
-            sType = state.findGlobalType(xsdElt.getType(), chameleon ? targetNamespace : null );
-            if (sType == null)
-                state.notFoundError(xsdElt.getType(), XmlErrorContext.TYPE_NOT_FOUND, xsdElt.xgetType());
-        }
-
-        boolean simpleTypedef = false;
-        XmlObject typedef = xsdElt.getComplexType();
-        if (typedef == null)
-        {
-            typedef = xsdElt.getSimpleType();
-            simpleTypedef = true;
-        }
-
-        if ((sType != null) && typedef != null)
-        {
-            state.error("Illegal to define a nested type when a type attribute is specified", XmlErrorContext.REDUNDANT_NESTED_TYPE, typedef);
-            typedef = null;
-        }
-
-        if (typedef != null)
-        {
-            SchemaTypeImpl sTypeImpl = new SchemaTypeImpl(state.sts());
-            sType = sTypeImpl;
-            sTypeImpl.setContainerField(impl);
-            sTypeImpl.setOuterSchemaTypeRef(outerType == null ? null : outerType.getRef());
-            // leave the anonymous type unresolved: it will be resolved later.
-            anonymousTypes.add(sType);
-            sTypeImpl.setSimpleType(simpleTypedef);
-            sTypeImpl.setParseContext(typedef, targetNamespace, chameleon, false);
-        }
-
-        if (sType == null)
-        {
-            // type may inherit from substitution group head
-            if (sgHead != null)
-            {
-                SchemaGlobalElement head = state.findGlobalElement(xsdElt.getSubstitutionGroup(), chameleon ? targetNamespace : null);
-
-                // Bug - Do I need to copy the type if it's anonymous?
-                // If element does not exist, error has already been reported
-                if (head != null)
-                    sType = head.getType();
-            }
-
-        }
-
-
-
-        if (sType == null)
-            sType = BuiltinSchemaTypeSystem.ST_ANY_TYPE;
-
-        SOAPArrayType wat = null;
-        XmlCursor c = xsdElt.newCursor();
-        String arrayType = c.getAttributeText(WSDL_ARRAYTYPE_NAME);
-        c.dispose();
-        if (arrayType != null)
-        {
-            wat = new SOAPArrayType(arrayType, new NamespaceContext(xsdElt));
-        }
-        impl.setWsdlArrayType(wat);
-
-        boolean isFixed = xsdElt.isSetFixed();
-        if (xsdElt.isSetDefault() && isFixed)
-        {
-            state.error("Should not set both default and fixed on the same element", XmlErrorContext.REDUNDANT_DEFAULT_FIXED, xsdElt.xgetFixed());
-            // recovery: ignore fixed
-            isFixed = false;
-        }
-        impl.setParticleType(SchemaParticle.ELEMENT);
-        impl.setNameAndTypeRef(qname, sType.getRef());
-        impl.setNillable(xsdElt.getNillable());
-        impl.setDefault(isFixed ? xsdElt.getFixed() : xsdElt.getDefault(), isFixed, xsdElt);
-
-        Object block = xsdElt.getBlock();
-        boolean blockExt = false;
-        boolean blockRest = false;
-        boolean blockSubst = false;
-
-        if (block != null)
-        {
-            if (block instanceof String && block.equals("#all"))
-            {
-                // #ALL value
-                blockExt = blockRest = blockSubst = true;
-            }
-            else if (block instanceof List)
-            {
-                if (((List)block).contains("extension"))
-                    blockExt = true;
-                if (((List)block).contains("restriction"))
-                    blockRest = true;
-                if (((List)block).contains("substitution"))
-                    blockSubst = true;
-            }
-        }
-        
-        impl.setBlock(blockExt, blockRest, blockSubst);
-
-        boolean constraintFailed = false;
-
-        // Translate Identity constraints
-
-        int length = xsdElt.sizeOfKeyArray() + xsdElt.sizeOfKeyrefArray() + xsdElt.sizeOfUniqueArray();
-        SchemaIdentityConstraintImpl[] constraints = new SchemaIdentityConstraintImpl[length];
-        int cur = 0;
-
-        // Handle key constraints
-        Keybase[] keys = xsdElt.getKeyArray();
-        for (int i = 0 ; i < keys.length ; i++, cur++) {
-            constraints[cur] = translateIdentityConstraint(keys[i], targetNamespace, chameleon);
-            if (constraints[cur] != null)
-                constraints[cur].setConstraintCategory(SchemaIdentityConstraint.CC_KEY);
-            else
-                constraintFailed = true;
-        }
-
-        // Handle unique constraints
-        Keybase[] uc = xsdElt.getUniqueArray();
-        for (int i = 0 ; i < uc.length ; i++, cur++) {
-            constraints[cur] = translateIdentityConstraint(uc[i], targetNamespace, chameleon);
-            if (constraints[cur] != null)
-                constraints[cur].setConstraintCategory(SchemaIdentityConstraint.CC_UNIQUE);
-            else
-                constraintFailed = true;
-        }
-
-        // Handle keyref constraints
-        KeyrefDocument.Keyref[] krs = xsdElt.getKeyrefArray();
-        for (int i = 0 ; i < krs.length ; i++, cur++) {
-            constraints[cur] = translateIdentityConstraint(krs[i], targetNamespace, chameleon);
-            if (constraints[cur] != null)
-                constraints[cur].setConstraintCategory(SchemaIdentityConstraint.CC_KEYREF);
-            else
-                constraintFailed = true;
-        }
-
-        if (!constraintFailed)
-        {
-            SchemaIdentityConstraint.Ref[] refs = new SchemaIdentityConstraint.Ref[length];
-            for (int i = 0 ; i < refs.length ; i++)
-                refs[i] = constraints[i].getRef();
-
-            impl.setIdentityConstraints(refs);
-        }
-
-        return impl;
-    }
-    
-    private static String removeWhitespace(String xpath)
-    {
-        StringBuffer sb = new StringBuffer();
-        for (int i = 0; i < xpath.length(); i++)
-        {
-            char ch = xpath.charAt(i);
-            if (XMLChar.isSpace(ch))
-                continue;
-            sb.append(ch);
-        }
-        return sb.toString();
-    }
-    
-    public static final org.apache.xmlbeans.impl.regex.RegularExpression XPATH_REGEXP = new org.apache.xmlbeans.impl.regex.RegularExpression("(\\.//)?((((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*|\\*)))))*", "X");
-    
-    private static boolean checkXPathSyntax(String xpath)
-    {
-        if (xpath == null)
-            return false;
-        
-        // strip whitespace from xpath
-        xpath = removeWhitespace(xpath);
-        
-        // apply regexp
-        synchronized (XPATH_REGEXP)
-        {
-            return (XPATH_REGEXP.matches(xpath));
-        }
-    }
-
-    private static SchemaIdentityConstraintImpl translateIdentityConstraint(Keybase parseIC, 
-        String targetNamespace, boolean chameleon)
-    {
-        StscState state = StscState.get();
-        
-        // first do some checking
-        String selector = parseIC.getSelector() == null ? null : parseIC.getSelector().getXpath();
-        if (!checkXPathSyntax(selector))
-        {
-            StscState.get().error("Invalid xpath in selector.",
-                XmlErrorContext.XPATH_COMPILATION_FAILURE, parseIC.getSelector().xgetXpath());
-            return null;
-        }
-        
-        FieldDocument.Field[] fieldElts = parseIC.getFieldArray();
-        for (int j = 0; j < fieldElts.length; j++)
-        {
-            if (!checkXPathSyntax(fieldElts[j].getXpath()))
-            {
-                StscState.get().error("Invalid xpath in field.",
-                    XmlErrorContext.XPATH_COMPILATION_FAILURE, fieldElts[j].xgetXpath());
-                return null;
-            }
-        }
-        
-        // then translate.
-        SchemaIdentityConstraintImpl ic = new SchemaIdentityConstraintImpl(state.sts());
-        ic.setName(QNameHelper.forLNS(parseIC.getName(), targetNamespace));
-        ic.setSelector(parseIC.getSelector().getXpath());
-        ic.setParseContext(parseIC, targetNamespace, chameleon);
-
-        // Set the ns map
-        XmlCursor c = parseIC.newCursor();
-        Map nsMap = new HashMap();
-
-        c.getAllNamespaces(nsMap);
-        nsMap.remove(""); // Remove the default mapping. This cannot be used by the xpath expressions.
-        ic.setNSMap(nsMap);
-        c.dispose();
-
-        String[] fields = new String[fieldElts.length];
-        for (int j = 0 ; j < fields.length ; j++)
-            fields[j] = fieldElts[j].getXpath();
-        ic.setFields(fields);
-
-        try {
-            ic.buildPaths();
-        }
-        catch (XPath.XPathCompileException e) {
-            StscState.get().error("Invalid xpath in identity constraint: " + e.getMessage(),
-                XmlErrorContext.XPATH_COMPILATION_FAILURE, parseIC);
-
-            return null;
-        }
-
-        state.addIdConstraint(ic);
-
-        return ic;
-
-    }
-
-    public static SchemaModelGroupImpl translateModelGroup(NamedGroup namedGroup, String targetNamespace, boolean chameleon, boolean redefinition)
-    {
-        String name = namedGroup.getName();
-        if (name == null)
-        {
-            StscState.get().error("Model groups must be named", XmlErrorContext.MODEL_GROUP_MISSING_NAME, namedGroup);
-            return null;
-        }
-        SchemaModelGroupImpl result = new SchemaModelGroupImpl(StscState.get().sts());
-        result.init(QNameHelper.forLNS(name, targetNamespace), targetNamespace, chameleon, redefinition, namedGroup);
-        return result;
-    }
-
-    public static SchemaAttributeGroupImpl translateAttributeGroup(AttributeGroup attrGroup, String targetNamespace, boolean chameleon, boolean redefinition)
-    {
-        String name = attrGroup.getName();
-        if (name == null)
-        {
-            StscState.get().error("Attribute groups must be named", XmlErrorContext.ATTRIBUTE_GROUP_MISSING_NAME, attrGroup);
-            return null;
-        }
-        SchemaAttributeGroupImpl result = new SchemaAttributeGroupImpl(StscState.get().sts());
-        result.init(QNameHelper.forLNS(name, targetNamespace), targetNamespace, chameleon, redefinition, attrGroup);
-        return result;
-    }
-
-    static FormChoice findAttributeFormDefault(XmlObject obj)
-    {
-        XmlCursor cur = obj.newCursor();
-        while (cur.getObject().schemaType() != Schema.type)
-            if (!cur.toParent())
-                return null;
-        return ((Schema)cur.getObject()).xgetAttributeFormDefault();
-    }
-
-    static SchemaLocalAttributeImpl translateAttribute(
-        Attribute xsdAttr, String targetNamespace, boolean chameleon, List anonymousTypes,
-        SchemaType outerType, SchemaAttributeModel baseModel, boolean local)
-    {
-        StscState state = StscState.get();
-
-        String name = xsdAttr.getName();
-        QName ref = xsdAttr.getRef();
-
-        if (ref != null && name != null)
-        {
-            if (name.equals(ref.getLocalPart()) && uriMatch(targetNamespace, ref.getNamespaceURI()))
-                state.warning("Attribute " + name + " specifies both a ref and a name", XmlErrorContext.ELEMENT_EXTRA_REF, xsdAttr.xgetRef());
-            else
-                state.error("Attribute " + name + " specifies both a ref and a name", XmlErrorContext.ELEMENT_EXTRA_REF, xsdAttr.xgetRef());
-            // ignore name
-            name = null;
-        }
-        if (ref == null && name == null)
-        {
-            state.error("Attribute has no name", XmlErrorContext.ELEMENT_MISSING_NAME, xsdAttr);
-            // recovery: ignore this element
-            return null;
-        }
-        if (name != null && !XMLChar.isValidNCName(name))
-        {
-            state.error("Invalid attribute name \"" + name + "\"", XmlErrorContext.INVALID_NAME, xsdAttr.xgetName());
-            // recovery: let the name go through anyway.
-        }
-
-        boolean isFixed = false;
-        String deftext = null;
-        QName qname;
-        SchemaLocalAttributeImpl sAttr;
-        SchemaType sType = null;
-        int use = SchemaLocalAttribute.OPTIONAL;
-
-        if (local)
-            sAttr = new SchemaLocalAttributeImpl();
-        else
-        {
-            sAttr = new SchemaGlobalAttributeImpl(state.sts());
-            ((SchemaGlobalAttributeImpl)sAttr).setParseContext(xsdAttr, targetNamespace, chameleon);
-        }
-
-        if (ref != null)
-        {
-            if (xsdAttr.getType() != null || xsdAttr.getSimpleType() != null)
-            {
-                state.error("Attribute reference cannot also specify type", XmlErrorContext.INVALID_NAME, xsdAttr);
-                // recovery: ignore type, simpleType
-            }
-            
-            if (xsdAttr.getForm() != null)
-            {
-                state.error("Attribute reference cannot also specify form", XmlErrorContext.INVALID_NAME, xsdAttr);
-                // recovery: ignore form
-            }
-            
-            SchemaGlobalAttribute referenced = state.findGlobalAttribute(ref, chameleon ? targetNamespace : null);
-            if (referenced == null)
-            {
-                state.notFoundError(ref, XmlErrorContext.ATTRIBUTE_REF_NOT_FOUND, xsdAttr.xgetRef());
-                // recovery: ignore this element
-                return null;
-            }
-
-            qname = ref;
-            use = referenced.getUse();
-            sType = referenced.getType();
-            deftext = referenced.getDefaultText();
-            if (deftext != null)
-            {
-                isFixed = referenced.isFixed();
-            }
-        }
-        else
-        {
-            if (local)
-            {
-                FormChoice form = xsdAttr.xgetForm();
-                if (form == null)
-                    form = findAttributeFormDefault(xsdAttr);
-                if (form == null || form.getStringValue().equals("unqualified"))
-                    qname = QNameHelper.forLN(name);
-                else
-                    qname = QNameHelper.forLNS(name, targetNamespace);
-            }
-            else
-            {
-                qname = QNameHelper.forLNS(name, targetNamespace);
-            }
-
-            if (xsdAttr.getType() != null)
-            {
-                sType = state.findGlobalType(xsdAttr.getType(), chameleon ? targetNamespace : null );
-                if (sType == null)
-                    state.notFoundError(xsdAttr.getType(), XmlErrorContext.TYPE_NOT_FOUND, xsdAttr.xgetType());
-            }
-            
-            if (qname.getNamespaceURI().equals("http://www.w3.org/2001/XMLSchema-instance"))
-            {
-                state.error("Illegal namespace for attribute declaration.", XmlErrorContext.INVALID_NAME, xsdAttr.xgetName());
-            }
-            
-            if (qname.getNamespaceURI().length() == 0 && qname.getLocalPart().equals("xmlns"))
-            {
-                state.error("Illegal name for attribute declaration.", XmlErrorContext.INVALID_NAME, xsdAttr.xgetName());
-            }
-            
-            XmlObject typedef = xsdAttr.getSimpleType();
-
-            if ((sType != null) && typedef != null)
-            {
-                state.error("Illegal to define a nested type when a type attribute is specified", XmlErrorContext.REDUNDANT_NESTED_TYPE, typedef);
-                typedef = null;
-            }
-
-            if (typedef != null)
-            {
-                SchemaTypeImpl sTypeImpl = new SchemaTypeImpl(state.sts());
-                sType = sTypeImpl;
-                sTypeImpl.setContainerField(sAttr);
-                sTypeImpl.setOuterSchemaTypeRef(outerType == null ? null : outerType.getRef());
-                // leave the anonymous type unresolved: it will be resolved later.
-                anonymousTypes.add(sType);
-                sTypeImpl.setSimpleType(true);
-                sTypeImpl.setParseContext(typedef, targetNamespace, chameleon, false);
-            }
-            
-            if (sType == null && baseModel != null && baseModel.getAttribute(qname) != null)
-                sType = baseModel.getAttribute(qname).getType();
-        }
-
-        if (sType == null)
-            sType = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-
-        if (!sType.isSimpleType())
-        {
-            state.error("Attributes must have a simple type (not complex).", XmlErrorContext.INVALID_SCHEMA, xsdAttr);
-            // recovery: switch to the any-type
-            sType = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE;
-        }
-        
-        if (xsdAttr.isSetUse())
-        {
-            use = translateUseCode(xsdAttr.xgetUse());
-            
-            // ignore referenced default if no longer optional
-            if (use != SchemaLocalAttribute.OPTIONAL && !isFixed)
-                deftext = null;
-        }
-        
-        if (xsdAttr.isSetDefault() || xsdAttr.isSetFixed())
-        {
-            if (isFixed && !xsdAttr.isSetFixed())
-                state.error("A use of a fixed attribute definition must also be fixed", XmlErrorContext.REDUNDANT_DEFAULT_FIXED, xsdAttr.xgetFixed());
-            
-            isFixed = xsdAttr.isSetFixed();
-            
-            if (xsdAttr.isSetDefault() && isFixed)
-            {
-                state.error("Should not set both default and fixed on the same attribute", XmlErrorContext.REDUNDANT_DEFAULT_FIXED, xsdAttr.xgetFixed());
-                // recovery: ignore fixed
-                isFixed = false;
-            }
-            deftext = isFixed ? xsdAttr.getFixed() : xsdAttr.getDefault();
-        }
-
-        if (!local)
-        {
-            ((SchemaGlobalAttributeImpl)sAttr).setFilename(findFilename(xsdAttr));
-        }
-
-        SOAPArrayType wat = null;
-        XmlCursor c = xsdAttr.newCursor();
-        String arrayType = c.getAttributeText(WSDL_ARRAYTYPE_NAME);
-        c.dispose();
-        if (arrayType != null)
-        {
-            wat = new SOAPArrayType(arrayType, new NamespaceContext(xsdAttr));
-        }
-
-        sAttr.init(
-            qname,
-            sType.getRef(),
-            use,
-            deftext, xsdAttr, null, isFixed,
-            wat);
-
-        return sAttr;
-    }
-
-    static int translateUseCode(Attribute.Use attruse)
-    {
-        if (attruse == null)
-            return SchemaLocalAttribute.OPTIONAL;
-
-        String val = attruse.getStringValue();
-        if (val.equals("optional"))
-            return SchemaLocalAttribute.OPTIONAL;
-        if (val.equals("required"))
-            return SchemaLocalAttribute.REQUIRED;
-        if (val.equals("prohibited"))
-            return SchemaLocalAttribute.PROHIBITED;
-        return SchemaLocalAttribute.OPTIONAL;
-    }
-
-    static XmlInteger buildNnInteger(XmlAnySimpleType value)
-    {
-        if (value == null)
-            return null;
-        String text = value.getStringValue();
-        BigInteger bigInt;
-        try
-        {
-            bigInt = new BigInteger(text);
-        }
-        catch (NumberFormatException e)
-        {
-            StscState.get().error("Must be nonnegative integer", XmlErrorContext.MALFORMED_NUMBER, value);
-            return null;
-        }
-
-        if (bigInt.signum() < 0)
-        {
-            StscState.get().error("Must be nonnegative integer", XmlErrorContext.MALFORMED_NUMBER, value);
-            return null;
-        }
-        try
-        {
-            XmlIntegerImpl i = new XmlIntegerImpl();
-            i.set(bigInt);
-            i.setImmutable();
-            return i;
-        }
-        catch (XmlValueOutOfRangeException e)
-        {
-            StscState.get().error("Internal error processing number", XmlErrorContext.MALFORMED_NUMBER, value);
-            return null;
-        }
-    }
-
-    private static boolean isReservedTypeName(QName name)
-    {
-        return (BuiltinSchemaTypeSystem.get().findType(name) != null);
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/XmlValueRef.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/XmlValueRef.java
deleted file mode 100644
index f39fde6..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/schema/XmlValueRef.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.schema;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlAnySimpleType;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Iterator;
-
-public class XmlValueRef
-{
-    XmlAnySimpleType _obj;
-    SchemaType.Ref _typeref;
-    Object _initVal;
-
-    XmlValueRef(XmlAnySimpleType xobj)
-    {
-        if (xobj == null)
-            throw new IllegalArgumentException();
-        _obj = xobj;
-    }
-
-    XmlValueRef(SchemaType.Ref typeref, Object initVal)
-    {
-        if (typeref == null)
-            throw new IllegalArgumentException();
-        _typeref = typeref;
-        _initVal = initVal;
-    }
-
-    synchronized XmlAnySimpleType get()
-    {
-        if (_obj == null)
-        {
-            SchemaType type = _typeref.get();
-            if (type.getSimpleVariety() != SchemaType.LIST)
-                _obj = type.newValue(_initVal);
-            else
-            {
-                List actualVals = new ArrayList();
-                for (Iterator i = ((List)_initVal).iterator(); i.hasNext(); )
-                {
-                    XmlValueRef ref = (XmlValueRef)i.next();
-                    actualVals.add(ref.get());
-                }
-                _obj = type.newValue(actualVals);
-            }
-        }
-        return _obj;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/util/Base64.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/util/Base64.java
deleted file mode 100644
index 78045af..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/util/Base64.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.util;
-
-import java.io.UnsupportedEncodingException;
-/**
- * This class provides encode/decode for RFC 2045 Base64 as
- * defined by RFC 2045, N. Freed and N. Borenstein.
- * RFC 2045: Multipurpose Internet Mail Extensions (MIME)
- * Part One: Format of Internet Message Bodies. Reference
- * 1996 Available at: http://www.ietf.org/rfc/rfc2045.txt
- * This class is used by XML Schema binary format validation
- *
- * This implementation does not encode/decode streaming
- * data. You need the data that you will encode/decode
- * already on a byte arrray.
- *
- * @author Jeffrey Rodriguez
- * @author Sandy Gao
- * @version $Id: Base64.java,v 1.2 2003/09/24 23:31:08 ericvas Exp $
- */
-public final class  Base64 {
-
-    static private final int  BASELENGTH         = 255;
-    static private final int  LOOKUPLENGTH       = 64;
-    static private final int  TWENTYFOURBITGROUP = 24;
-    static private final int  EIGHTBIT           = 8;
-    static private final int  SIXTEENBIT         = 16;
-    //static private final int  SIXBIT             = 6;
-    static private final int  FOURBYTE           = 4;
-    static private final int  SIGN               = -128;
-    static private final byte PAD                = ( byte ) '=';
-    static private final boolean fDebug          = false;
-    static private byte [] base64Alphabet        = new byte[BASELENGTH];
-    static private byte [] lookUpBase64Alphabet  = new byte[LOOKUPLENGTH];
-
-    static {
-
-        for (int i = 0; i<BASELENGTH; i++) {
-            base64Alphabet[i] = -1;
-        }
-        for (int i = 'Z'; i >= 'A'; i--) {
-            base64Alphabet[i] = (byte) (i-'A');
-        }
-        for (int i = 'z'; i>= 'a'; i--) {
-            base64Alphabet[i] = (byte) ( i-'a' + 26);
-        }
-
-        for (int i = '9'; i >= '0'; i--) {
-            base64Alphabet[i] = (byte) (i-'0' + 52);
-        }
-
-        base64Alphabet['+']  = 62;
-        base64Alphabet['/']  = 63;
-
-        for (int i = 0; i<=25; i++)
-            lookUpBase64Alphabet[i] = (byte) ('A'+i );
-
-        for (int i = 26,  j = 0; i<=51; i++, j++)
-            lookUpBase64Alphabet[i] = (byte) ('a'+ j );
-
-        for (int i = 52,  j = 0; i<=61; i++, j++)
-            lookUpBase64Alphabet[i] = (byte) ('0' + j );
-        lookUpBase64Alphabet[62] = (byte) '+';
-        lookUpBase64Alphabet[63] = (byte) '/';
-
-    }
-
-    protected static boolean isWhiteSpace(byte octect) {
-        return (octect == 0x20 || octect == 0xd || octect == 0xa || octect == 0x9);
-    }
-
-    protected static boolean isPad(byte octect) {
-        return (octect == PAD);
-    }
-
-    protected static boolean isData(byte octect) {
-        return (base64Alphabet[octect] != -1);
-    }
-
-    protected static boolean isBase64(byte octect) {
-        return (isWhiteSpace(octect) || isPad(octect) || isData(octect));
-    }
-
-    /**
-     * Encodes hex octects into Base64
-     *
-     * @param binaryData Array containing binaryData
-     * @return Encoded Base64 array
-     */
-    public static byte[] encode(byte[] binaryData) {
-
-        if (binaryData == null)
-            return null;
-
-        int      lengthDataBits    = binaryData.length*EIGHTBIT;
-        int      fewerThan24bits   = lengthDataBits%TWENTYFOURBITGROUP;
-        int      numberTriplets    = lengthDataBits/TWENTYFOURBITGROUP;
-        byte     encodedData[]     = null;
-
-        if (fewerThan24bits != 0) //data not divisible by 24 bit
-            encodedData = new byte[ (numberTriplets + 1 )*4  ];
-        else // 16 or 8 bit
-            encodedData = new byte[ numberTriplets*4 ];
-
-        byte k=0, l=0, b1=0,b2=0,b3=0;
-
-        int encodedIndex = 0;
-        int dataIndex   = 0;
-        int i           = 0;
-        if (fDebug) {
-            System.out.println("number of triplets = " + numberTriplets );
-        }
-        for (i = 0; i<numberTriplets; i++) {
-
-            dataIndex = i*3;
-            b1 = binaryData[dataIndex];
-            b2 = binaryData[dataIndex + 1];
-            b3 = binaryData[dataIndex + 2];
-
-            if (fDebug) {
-                System.out.println( "b1= " + b1 +", b2= " + b2 + ", b3= " + b3 );
-            }
-
-            l  = (byte)(b2 & 0x0f);
-            k  = (byte)(b1 & 0x03);
-
-            encodedIndex = i*4;
-            byte val1 = ((b1 & SIGN)==0)?(byte)(b1>>2):(byte)((b1)>>2^0xc0);
-
-            byte val2 = ((b2 & SIGN)==0)?(byte)(b2>>4):(byte)((b2)>>4^0xf0);
-            byte val3 = ((b3 & SIGN)==0)?(byte)(b3>>6):(byte)((b3)>>6^0xfc);
-
-            encodedData[encodedIndex]   = lookUpBase64Alphabet[ val1 ];
-            if (fDebug) {
-                System.out.println( "val2 = " + val2 );
-                System.out.println( "k4   = " + (k<<4));
-                System.out.println( "vak  = " + (val2 | (k<<4)));
-            }
-
-            encodedData[encodedIndex+1] = lookUpBase64Alphabet[ val2 | ( k<<4 )];
-            encodedData[encodedIndex+2] = lookUpBase64Alphabet[ (l <<2 ) | val3 ];
-            encodedData[encodedIndex+3] = lookUpBase64Alphabet[ b3 & 0x3f ];
-        }
-
-        // form integral number of 6-bit groups
-        dataIndex    = i*3;
-        encodedIndex = i*4;
-        if (fewerThan24bits == EIGHTBIT) {
-            b1 = binaryData[dataIndex];
-            k = (byte) ( b1 &0x03 );
-            if (fDebug) {
-                System.out.println("b1=" + b1);
-                System.out.println("b1<<2 = " + (b1>>2) );
-            }
-            byte val1 = ((b1 & SIGN)==0)?(byte)(b1>>2):(byte)((b1)>>2^0xc0);
-            encodedData[encodedIndex]     = lookUpBase64Alphabet[ val1 ];
-            encodedData[encodedIndex + 1] = lookUpBase64Alphabet[ k<<4 ];
-            encodedData[encodedIndex + 2] = PAD;
-            encodedData[encodedIndex + 3] = PAD;
-        } else if (fewerThan24bits == SIXTEENBIT) {
-
-            b1 = binaryData[dataIndex];
-            b2 = binaryData[dataIndex +1 ];
-            l = ( byte ) ( b2 &0x0f );
-            k = ( byte ) ( b1 &0x03 );
-
-            byte val1 = ((b1 & SIGN)==0)?(byte)(b1>>2):(byte)((b1)>>2^0xc0);
-            byte val2 = ((b2 & SIGN)==0)?(byte)(b2>>4):(byte)((b2)>>4^0xf0);
-
-            encodedData[encodedIndex]     = lookUpBase64Alphabet[ val1 ];
-            encodedData[encodedIndex + 1] = lookUpBase64Alphabet[ val2 | ( k<<4 )];
-            encodedData[encodedIndex + 2] = lookUpBase64Alphabet[ l<<2 ];
-            encodedData[encodedIndex + 3] = PAD;
-        }
-
-        return encodedData;
-    }
-
-    /**
-     * Decodes Base64 data into octects
-     *
-     * @param base64Data Byte array containing Base64 data
-     * @return Array containind decoded data.
-     */
-    public static byte[] decode(byte[] base64Data) {
-
-        if (base64Data == null)
-            return null;
-
-        // remove white spaces
-        base64Data = removeWhiteSpace(base64Data);
-
-        if (base64Data.length%FOURBYTE != 0) {
-            return null;//should be divisible by four
-        }
-
-        int      numberQuadruple    = (base64Data.length/FOURBYTE );
-
-        if (numberQuadruple == 0)
-            return new byte[0];
-
-        byte     decodedData[]      = null;
-        byte     b1=0,b2=0,b3=0, b4=0;//, marker0=0, marker1=0;
-        byte     d1=0,d2=0,d3=0,d4=0;
-
-        // Throw away anything not in normalizedBase64Data
-        // Adjust size
-        int i = 0;
-        int encodedIndex = 0;
-        int dataIndex    = 0;
-        decodedData      = new byte[ (numberQuadruple)*3];
-
-        for (; i<numberQuadruple-1; i++) {
-
-            if (!isData( (d1 = base64Data[dataIndex++]) )||
-                !isData( (d2 = base64Data[dataIndex++]) )||
-                !isData( (d3 = base64Data[dataIndex++]) )||
-                !isData( (d4 = base64Data[dataIndex++]) ))
-                return null;//if found "no data" just return null
-
-            b1 = base64Alphabet[d1];
-            b2 = base64Alphabet[d2];
-            b3 = base64Alphabet[d3];
-            b4 = base64Alphabet[d4];
-
-            decodedData[encodedIndex++] = (byte)(  b1 <<2 | b2>>4 ) ;
-            decodedData[encodedIndex++] = (byte)(((b2 & 0xf)<<4 ) |( (b3>>2) & 0xf) );
-            decodedData[encodedIndex++] = (byte)( b3<<6 | b4 );
-        }
-
-        if (!isData( (d1 = base64Data[dataIndex++]) ) ||
-            !isData( (d2 = base64Data[dataIndex++]) )) {
-            return null;//if found "no data" just return null
-        }
-
-        b1 = base64Alphabet[d1];
-        b2 = base64Alphabet[d2];
-
-        d3 = base64Data[dataIndex++];
-        d4 = base64Data[dataIndex++];
-        if (!isData( (d3 ) ) ||
-            !isData( (d4 ) )) {//Check if they are PAD characters
-            if (isPad( d3 ) && isPad( d4)) {               //Two PAD e.g. 3c[Pad][Pad]
-                if ((b2 & 0xf) != 0)//last 4 bits should be zero
-                    return null;
-                byte[] tmp = new byte[ i*3 + 1 ];
-                System.arraycopy( decodedData, 0, tmp, 0, i*3 );
-                tmp[encodedIndex]   = (byte)(  b1 <<2 | b2>>4 ) ;
-                return tmp;
-            } else if (!isPad( d3) && isPad(d4)) {               //One PAD  e.g. 3cQ[Pad]
-                b3 = base64Alphabet[ d3 ];
-                if ((b3 & 0x3 ) != 0)//last 2 bits should be zero
-                    return null;
-                byte[] tmp = new byte[ i*3 + 2 ];
-                System.arraycopy( decodedData, 0, tmp, 0, i*3 );
-                tmp[encodedIndex++] = (byte)(  b1 <<2 | b2>>4 );
-                tmp[encodedIndex]   = (byte)(((b2 & 0xf)<<4 ) |( (b3>>2) & 0xf) );
-                return tmp;
-            } else {
-                return null;//an error  like "3c[Pad]r", "3cdX", "3cXd", "3cXX" where X is non data
-            }
-        } else { //No PAD e.g 3cQl
-            b3 = base64Alphabet[ d3 ];
-            b4 = base64Alphabet[ d4 ];
-            decodedData[encodedIndex++] = (byte)(  b1 <<2 | b2>>4 ) ;
-            decodedData[encodedIndex++] = (byte)(((b2 & 0xf)<<4 ) |( (b3>>2) & 0xf) );
-            decodedData[encodedIndex++] = (byte)( b3<<6 | b4 );
-
-        }
-
-        return decodedData;
-    }
-
-    /**
-     * Decodes Base64 data into octects
-     *
-     * @param base64Data String containing Base64 data
-     * @return string containing decoded data.
-     */
-    public static String decode(String base64Data) {
-        if (base64Data == null)
-            return null;
-
-        byte[] decoded = null;
-        try {
-            decoded = decode(base64Data.getBytes("utf-8"));
-        }
-        catch(UnsupportedEncodingException e) {
-        }
-        finally {
-            return decoded == null ? null : new String(decoded);
-        }
-    }
-
-    /**
-     * Encodes octects (using utf-8) into Base64 data
-     *
-     * @param binaryData String containing Hex data
-     * @return string containing decoded data.
-     */
-    public static String encode(String binaryData) {
-        if (binaryData == null)
-            return null;
-
-        byte[] encoded = null;
-         try {
-          encoded = encode(binaryData.getBytes("utf-8"));
-        }
-        catch(UnsupportedEncodingException e) {}
-        finally {
-            return encoded == null ? null : new String(encoded);
-        }
-    }
-
-    /**
-     * remove WhiteSpace from MIME containing encoded Base64 data.
-     *
-     * @param data  the byte array of base64 data (with WS)
-     * @return      the byte array of base64 data (without WS)
-     */
-    protected static byte[] removeWhiteSpace(byte[] data) {
-        if (data == null)
-            return null;
-
-        // count characters that's not whitespace
-        int newSize = 0;
-        int len = data.length;
-        for (int i = 0; i < len; i++) {
-            if (!isWhiteSpace(data[i]))
-                newSize++;
-        }
-
-        // if no whitespace, just return the input array
-        if (newSize == len)
-            return data;
-
-        // create the array to return
-        byte[] newArray = new byte[newSize];
-
-        int j = 0;
-        for (int i = 0; i < len; i++) {
-            if (!isWhiteSpace(data[i]))
-                newArray[j++] = data[i];
-        }
-        return newArray;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/util/HexBin.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/util/HexBin.java
deleted file mode 100644
index 9fc7632..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/util/HexBin.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.util;
-
-import java.io.UnsupportedEncodingException;
-/**
- * format validation
- *
- * This class encodes/decodes hexadecimal data
- * @author Jeffrey Rodriguez
- * @version $Id: HexBin.java,v 1.2 2003/09/24 23:31:08 ericvas Exp $
- */
-public final class  HexBin {
-    static private final int  BASELENGTH   = 255;
-    static private final int  LOOKUPLENGTH = 16;
-    static private byte [] hexNumberTable    = new byte[BASELENGTH];
-    static private byte [] lookUpHexAlphabet = new byte[LOOKUPLENGTH];
-
-
-    static {
-        for (int i = 0; i<BASELENGTH; i++ ) {
-            hexNumberTable[i] = -1;
-        }
-        for ( int i = '9'; i >= '0'; i--) {
-            hexNumberTable[i] = (byte) (i-'0');
-        }
-        for ( int i = 'F'; i>= 'A'; i--) {
-            hexNumberTable[i] = (byte) ( i-'A' + 10 );
-        }
-        for ( int i = 'f'; i>= 'a'; i--) {
-           hexNumberTable[i] = (byte) ( i-'a' + 10 );
-        }
-
-        for(int i = 0; i<10; i++ )
-            lookUpHexAlphabet[i] = (byte) ('0'+i );
-        for(int i = 10; i<=15; i++ )
-            lookUpHexAlphabet[i] = (byte) ('A'+i -10);
-    }
-
-    /**
-     * byte to be tested if it is Base64 alphabet
-     *
-     * @param octect
-     * @return
-     */
-    static boolean isHex(byte octect) {
-        return (hexNumberTable[octect] != -1);
-    }
-
-    /**
-     * Converts bytes to a hex string
-     */
-    static public String bytesToString(byte[] binaryData)
-    {
-        if (binaryData == null)
-            return null;
-        return new String(encode(binaryData));
-    }
-
-    /**
-     * Converts a hex string to a byte array.
-     */
-    static public byte[] stringToBytes(String hexEncoded)
-    {
-        return decode(hexEncoded.getBytes());
-    }
-
-    /**
-     * array of byte to encode
-     *
-     * @param binaryData
-     * @return return encode binary array
-     */
-    static public byte[] encode(byte[] binaryData) {
-        if (binaryData == null)
-            return null;
-        int lengthData   = binaryData.length;
-        int lengthEncode = lengthData * 2;
-        byte[] encodedData = new byte[lengthEncode];
-        for( int i = 0; i<lengthData; i++ ){
-            encodedData[i*2] = lookUpHexAlphabet[(binaryData[i] >> 4) & 0xf];
-            encodedData[i*2+1] = lookUpHexAlphabet[ binaryData[i] & 0xf];
-        }
-        return encodedData;
-    }
-
-    static public byte[] decode(byte[] binaryData) {
-        if (binaryData == null)
-            return null;
-        int lengthData   = binaryData.length;
-        if (lengthData % 2 != 0)
-            return null;
-
-        int lengthDecode = lengthData / 2;
-        byte[] decodedData = new byte[lengthDecode];
-        for( int i = 0; i<lengthDecode; i++ ){
-            if (!isHex(binaryData[i*2]) || !isHex(binaryData[i*2+1])) {
-                return null;
-            }
-            decodedData[i] = (byte)((hexNumberTable[binaryData[i*2]] << 4) | hexNumberTable[binaryData[i*2+1]]);
-        }
-        return decodedData;
-    }
-
-    /**
-     * Decodes Hex data into octects
-     *
-     * @param binaryData String containing Hex data
-     * @return string containing decoded data.
-     */
-    public static String decode(String binaryData) {
-        if (binaryData == null)
-            return null;
-
-        byte[] decoded = null;
-         try {
-          decoded = decode(binaryData.getBytes("utf-8"));
-        }
-        catch(UnsupportedEncodingException e) {
-         }
-        finally {
-        return decoded == null ? null : new String(decoded);
-        }
-    }
-
-    /**
-     * Encodes octects (using utf-8) into Hex data
-     *
-     * @param binaryData String containing Hex data
-     * @return string containing decoded data.
-     */
-    public static String encode(String binaryData) {
-        if (binaryData == null)
-            return null;
-
-        byte[] encoded = null;
-         try {
-          encoded = encode(binaryData.getBytes("utf-8"));
-        }
-        catch(UnsupportedEncodingException e) {}
-        finally {
-            return encoded == null ? null : new String(encoded);
-        }
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/validator/ValidatingXMLInputStream.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/validator/ValidatingXMLInputStream.java
deleted file mode 100644
index c091d13..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/validator/ValidatingXMLInputStream.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.validator;
-
-import org.apache.xmlbeans.impl.common.Chars;
-import org.apache.xmlbeans.impl.common.XMLNameHelper;
-import org.apache.xmlbeans.impl.common.GenericXmlInputStream;
-import org.apache.xmlbeans.impl.common.ValidatorListener.Event;
-import org.apache.xmlbeans.impl.common.ValidatorListener;
-import org.apache.xmlbeans.impl.common.XmlWhitespace;
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlError;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XMLStreamValidationException;
-import java.util.Map;
-import java.util.AbstractCollection;
-import java.util.Iterator;
-import java.util.Collections;
-
-import weblogic.xml.stream.Attribute;
-import weblogic.xml.stream.AttributeIterator;
-import weblogic.xml.stream.CharacterData;
-import weblogic.xml.stream.StartElement;
-import weblogic.xml.stream.XMLEvent;
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLName;
-import weblogic.xml.stream.XMLStreamException;
-import javax.xml.namespace.QName;
-
-public final class ValidatingXMLInputStream
-    extends GenericXmlInputStream implements Event
-{
-    public ValidatingXMLInputStream (
-        XMLInputStream xis,
-        SchemaTypeLoader typeLoader, SchemaType sType, XmlOptions options )
-            throws XMLStreamException
-    {
-        _source = xis;
-
-        // Figure out the root type
-
-        options = XmlOptions.maskNull( options );
-        
-        SchemaType type = (SchemaType) options.get( XmlOptions.DOCUMENT_TYPE );
-
-        if (type == null)
-            type = sType;
-
-        if (type == null)
-        {
-            type = BuiltinSchemaTypeSystem.ST_ANY_TYPE;
-
-            xis = xis.getSubStream();
-
-            if (xis.skip( XMLEvent.START_ELEMENT ))
-            {
-                SchemaType docType =
-                    typeLoader.findDocumentType(
-                        XMLNameHelper.getQName( xis.next().getName() ) );
-
-                if (docType != null)
-                    type = docType;
-            }
-
-            xis.close();
-        }
-
-        // Create the validator
-
-        _validator =
-            new Validator(
-                type, null, typeLoader, options, new ExceptionXmlErrorListener() );
-
-        nextEvent( ValidatorListener.BEGIN );
-    }
-
-    // TODO - this is the quick and dirty impl of streaming validation,
-    // may objects are created (like strings) which can be optimized
-    
-    protected XMLEvent nextEvent ( ) throws XMLStreamException
-    {
-        XMLEvent e = _source.next();
-
-        if (e == null)
-        {
-            if (!_finished)
-            {
-                flushText();
-                nextEvent( ValidatorListener.END );
-                _finished = true;
-            }
-        }
-        else
-        {
-            switch ( e.getType() )
-            {
-            case XMLEvent.CHARACTER_DATA :
-            case XMLEvent.SPACE :
-            {
-                CharacterData cd = (CharacterData) e;
-
-                if (cd.hasContent())
-                    _text.append( cd.getContent() );
-
-                break;
-            }
-            case XMLEvent.START_ELEMENT :
-            {
-                StartElement se = (StartElement) e;
-                
-                flushText();
-
-                // Used for prefix to namespace mapping
-                _startElement = se;
-
-                // Prepare the xsi:* values
-                
-                AttributeIterator attrs = se.getAttributes();
-
-                while ( attrs.hasNext() )
-                {
-                    Attribute attr = attrs.next();
-
-                    XMLName attrName = attr.getName();
-
-                    if ("http://www.w3.org/2001/XMLSchema-instance".equals(
-                            attrName.getNamespaceUri() ))
-                    {
-                        String local = attrName.getLocalName();
-
-                        if (local.equals( "type" ))
-                            _xsiType = attr.getValue();
-                        else if (local.equals( "nil" ))
-                            _xsiNil = attr.getValue();
-                        else if (local.equals( "schemaLocation" ))
-                            _xsiLoc = attr.getValue();
-                        else if (local.equals( "noNamespaceSchemaLocation" ))
-                            _xsiNoLoc = attr.getValue();
-                    }
-                }
-
-                // Emit the START
-
-                // TODO - should delay the aquisition of the name
-                _name = e.getName();
-
-                nextEvent( ValidatorListener.BEGIN );
-                
-                // Emit the attrs
-                
-                attrs = se.getAttributes();
-
-                while ( attrs.hasNext() )
-                {
-                    Attribute attr = attrs.next();
-
-                    XMLName attrName = attr.getName();
-
-                    if ("http://www.w3.org/2001/XMLSchema-instance".equals(
-                            attrName.getNamespaceUri() ))
-                    {
-                        String local = attrName.getLocalName();
-
-                        if (local.equals( "type" ))
-                            continue;
-                        else if (local.equals( "nil" ))
-                            continue;
-                        else if (local.equals( "schemaLocation" ))
-                            continue;
-                        else if (local.equals( "noNamespaceSchemaLocation" ))
-                            continue;
-                    }
-
-                    // TODO - God, this is lame :-)
-
-                    _text.append( attr.getValue() );
-                    _name = attr.getName();
-                    
-                    nextEvent( ValidatorListener.ATTR );
-                }
-
-                clearText();
-
-                _startElement = null;
-
-                break;
-            }
-
-            case XMLEvent.END_ELEMENT :
-            {
-                flushText();
-                
-                nextEvent( ValidatorListener.END );
-
-                break;
-            }
-            }
-        }
-
-        return e;
-    }
-
-    private void clearText ( )
-    {
-        _text.delete( 0, _text.length() );
-    }
-    
-    private void flushText ( ) throws XMLStreamException
-    {
-        if (_text.length() > 0)
-        {
-            nextEvent( ValidatorListener.TEXT );
-            clearText();
-        }
-    }
-    
-    public String getNamespaceForPrefix ( String prefix )
-    {
-        if (_startElement == null)
-            return null;
-
-        Map map = _startElement.getNamespaceMap();
-
-        if (map == null)
-            return null;
-
-        return (String) map.get( prefix );
-    }
-
-    public XmlCursor getLocationAsCursor ( )
-    {
-        return null;
-    }
-    
-    public boolean getXsiType ( Chars chars )
-    {
-        if (_xsiType == null)
-            return false;
-
-        chars.string = _xsiType;
-        chars.buffer = null;
-
-        return true;
-    }
-    
-    public boolean getXsiNil ( Chars chars )
-    {
-        if (_xsiNil == null)
-            return false;
-
-        chars.string = _xsiNil;
-        chars.buffer = null;
-
-        return true;
-    }
-
-    public boolean getXsiLoc ( Chars chars )
-    {
-        if (_xsiLoc == null)
-            return false;
-
-        chars.string = _xsiLoc;
-        chars.buffer = null;
-
-        return true;
-    }
-
-    public boolean getXsiNoLoc ( Chars chars )
-    {
-        if (_xsiNoLoc == null)
-            return false;
-
-        chars.string = _xsiNoLoc;
-        chars.buffer = null;
-
-        return true;
-    }
-
-    public QName getName ( )
-    {
-        return XMLNameHelper.getQName( _name );
-    }
-
-    public void getText ( Chars chars )
-    {
-        chars.string = _text.toString();
-        chars.buffer = null;
-    }
-
-    public void getText ( Chars chars, int wsr )
-    {
-        chars.string = XmlWhitespace.collapse( _text.toString(), wsr );
-        chars.buffer = null;
-    }
-
-    // TODO - very expensive to get a string here
-    public boolean textIsWhitespace ( )
-    {
-        for ( int i = 0 ; i < _text.length() ; i++ )
-        {
-            switch ( _text.charAt( i ) )
-            {
-                case ' ':
-                case '\n':
-                case '\r':
-                case '\t':
-                    break;
-
-                default :
-                    return false;
-            }
-        }
-        
-        return true;
-    }
-    
-    private final class ExceptionXmlErrorListener extends AbstractCollection
-    {
-        public boolean add(Object o)
-        {
-            assert ValidatingXMLInputStream.this._exception == null;
-            
-            ValidatingXMLInputStream.this._exception = 
-                new XMLStreamValidationException( (XmlError)o );
-
-            return false;
-        }
-
-        public Iterator iterator()
-        {
-            return Collections.EMPTY_LIST.iterator();
-        }
-
-        public int size()
-        {
-            return 0;
-        }
-    }
-
-    private void nextEvent ( int kind )
-        throws XMLStreamException
-    {
-        assert _exception == null;
-        
-        _validator.nextEvent( kind, this );
-
-        if (_exception != null)
-            throw _exception;
-    }
-    
-    private XMLStreamValidationException _exception;
-
-    private XMLInputStream _source;
-    private Validator      _validator;
-    private StringBuffer   _text = new StringBuffer();
-    private boolean        _finished;
-    private String         _xsiType;
-    private String         _xsiNil;
-    private String         _xsiLoc;
-    private String         _xsiNoLoc;
-    private XMLName        _name;
-    private StartElement   _startElement;
-}
\ No newline at end of file
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/validator/Validator.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/validator/Validator.java
deleted file mode 100644
index e85b260..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/validator/Validator.java
+++ /dev/null
@@ -1,1371 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.validator;
-
-import org.apache.xmlbeans.impl.common.Chars;
-import org.apache.xmlbeans.impl.common.IdentityConstraint;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.ValidatorListener.Event;
-import org.apache.xmlbeans.impl.common.ValidatorListener;
-import org.apache.xmlbeans.impl.common.XmlWhitespace;
-import org.apache.xmlbeans.impl.schema.SchemaTypeVisitorImpl;
-import org.apache.xmlbeans.impl.schema.SchemaTypeImpl;
-import org.apache.xmlbeans.impl.values.NamespaceContext;
-import org.apache.xmlbeans.impl.values.JavaUriHolderEx;
-import org.apache.xmlbeans.impl.values.JavaBase64HolderEx;
-import org.apache.xmlbeans.impl.values.JavaBooleanHolderEx;
-import org.apache.xmlbeans.impl.values.XmlDateImpl;
-import org.apache.xmlbeans.impl.values.JavaDecimalHolderEx;
-import org.apache.xmlbeans.impl.values.JavaDoubleHolderEx;
-import org.apache.xmlbeans.impl.values.XmlDurationImpl;
-import org.apache.xmlbeans.impl.values.JavaFloatHolderEx;
-import org.apache.xmlbeans.impl.values.JavaHexBinaryHolderEx;
-import org.apache.xmlbeans.impl.values.JavaBooleanHolder;
-import org.apache.xmlbeans.impl.values.XmlQNameImpl;
-import org.apache.xmlbeans.impl.values.JavaQNameHolderEx;
-import org.apache.xmlbeans.impl.values.JavaStringEnumerationHolderEx;
-import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException;
-import org.apache.xmlbeans.impl.values.XmlListImpl;
-import org.apache.xmlbeans.GDate;
-import org.apache.xmlbeans.GDuration;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.XmlQName;
-import org.apache.xmlbeans.SchemaAttributeModel;
-import org.apache.xmlbeans.SchemaField;
-import org.apache.xmlbeans.SchemaLocalAttribute;
-import org.apache.xmlbeans.SchemaLocalElement;
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlError;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.SimpleValue;
-
-import java.math.BigDecimal;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.LinkedList;
-import javax.xml.namespace.QName;
-
-public final class Validator
-    implements ValidatorListener
-{
-    public Validator (
-        SchemaType type, SchemaField field, SchemaTypeLoader globalLoader,
-        XmlOptions options, Collection defaultErrorListener )
-    {
-        options = XmlOptions.maskNull(options);
-        _errorListener = (Collection) options.get(XmlOptions.ERROR_LISTENER);
-
-        if (_errorListener == null)
-            _errorListener = defaultErrorListener;
-
-        _constraintEngine = new IdentityConstraint(_errorListener, type.isDocumentType());
-
-        _globalTypes = globalLoader;
-        _chars = new Chars();
-        _rootType = type;
-        _rootField = field;
-
-        _vc = new ValidatorVC();
-    }
-
-    private class ValidatorVC implements ValidationContext
-    {
-        public void invalid ( String message )
-        {
-            Validator.this.emitError( _event, message );
-        }
-
-        Event _event;
-    }
-
-    public boolean isValid ( )
-    {
-        return !_invalid && _constraintEngine.isValid();
-    }
-
-    private void emitError ( Event event, String msg )
-    {
-        emitError(event, msg, XmlError.SEVERITY_ERROR);
-    }
-
-    private void emitError ( Event event, String msg, int severity )
-    {
-        _errorState++;
-
-        if (_suspendErrors == 0)
-        {
-            if (severity == XmlError.SEVERITY_ERROR)
-                _invalid = true;
-
-            if (_errorListener != null)
-            {
-                assert event != null;
-
-                _errorListener.add(
-                    XmlError.forCursor( msg, severity, event.getLocationAsCursor() ) );
-            }
-        }
-    }
-
-    private void emitFieldError ( Event event, String msg, QName name )
-    {
-        emitFieldError( event, msg + " " + QNameHelper.pretty( name ) );
-    }
-
-    private void emitFieldError ( Event event, String msg )
-    {
-        emitFieldError(event, msg, XmlError.SEVERITY_ERROR);
-    }
-
-    private void emitFieldError ( Event event, String msg, int severity )
-    {
-        if (_stateStack != null && _stateStack._field != null)
-        {
-            msg +=
-                " in element " + QNameHelper.pretty( _stateStack._field.getName() );
-        }
-
-        Validator.this.emitError( event, msg, severity );
-    }
-
-    // For XmlEventListener.error
-
-    public void error ( XmlError error )
-    {
-        _errorState++;
-
-        if (_suspendErrors == 0)
-        {
-            _invalid = true;
-
-            if (_errorListener != null)
-                _errorListener.add( error );
-        }
-    }
-
-    public void nextEvent ( int kind, Event event )
-    {
-        if (_eatContent > 0)
-        {
-            switch ( kind )
-            {
-            case END   : _eatContent--; break;
-            case BEGIN : _eatContent++; break;
-            }
-        }
-        else
-        {
-            assert
-                kind == BEGIN || kind == ATTR ||
-                    kind == END || kind == TEXT || kind == ENDATTRS;
-
-            switch ( kind )
-            {
-            case BEGIN    : beginEvent(    event ); break;
-            case ATTR     : attrEvent(     event ); break;
-            case ENDATTRS : endAttrsEvent( event ); break;
-            case TEXT     : textEvent(     event ); break;
-            case END      : endEvent(      event ); break;
-            }
-        }
-    }
-
-    private void beginEvent ( Event event )
-    {
-        State state = topState();
-
-        SchemaType  elementType  = null;
-        SchemaField elementField = null;
-
-        if (state == null)
-        {
-            elementType = _rootType;
-            elementField = _rootField;
-        }
-        else
-        {
-
-            QName name = event.getName();
-
-            assert name != null;
-
-            state._isEmpty = false;
-
-            if (state._isNil)
-            {
-                emitFieldError(event,  "Nil element cannot have element content");
-                _eatContent = 1;
-                return;
-            }
-
-            if (!state.visit( name ))
-            {
-                emitFieldError( event, "Element not allowed:", name );
-                _eatContent = 1;
-                return;
-            }
-
-            SchemaParticle currentParticle = state.currentParticle();
-
-            if (currentParticle.getParticleType() == SchemaParticle.WILDCARD)
-            {
-                QNameSet elemWildcardSet = currentParticle.getWildcardSet();
-
-                if (!elemWildcardSet.contains( name ))
-                {
-                    emitFieldError( event, "Element not allowed:", name );
-                    _eatContent = 1;
-                    return;
-                }
-
-                int wildcardProcess = currentParticle.getWildcardProcess();
-
-                if (wildcardProcess == SchemaParticle.SKIP)
-                {
-                    _eatContent = 1;
-                    return;
-                }
-
-                elementField = _globalTypes.findElement( name );
-
-                if (elementField == null)
-                {
-                    if (wildcardProcess == SchemaParticle.STRICT)
-                    {
-                        emitFieldError(
-                            event, "Element not allowed (strict wildcard, and no definition found):", name );
-                    }
-
-                    _eatContent = 1;
-
-                    return;
-                }
-            }
-            else
-            {
-                assert
-                    currentParticle.getParticleType() == SchemaParticle.ELEMENT;
-
-                // If the current element particle name does not match the name
-                // of the event, then the current element is a substitute for
-                // the current particle. Replace the field with the global
-                // element for the replacement
-
-                if (! currentParticle.getName().equals(name))
-                {
-                    if (((SchemaLocalElement)currentParticle).blockSubstitution())
-                    {
-                        emitFieldError(event, 
-                            "Element substitution not allowed when group head has block='substitution'", name);
-                        _eatContent = 1;
-                        return;
-                    }
-
-                    SchemaGlobalElement newField = _globalTypes.findElement(name);
-
-                    assert newField != null;
-
-                    if (newField != null)
-                        elementField = newField;
-                }
-
-                else
-                {
-                    elementField = (SchemaField) currentParticle;
-                }
-            }
-
-            elementType = elementField.getType();
-        }
-
-        assert elementType != null;
-
-        //
-        // the no-type is always invalid (even if there is an xsi:type)
-        //
-
-        if (elementType.isNoType())
-        {
-            emitFieldError(event, "Invalid type.");
-            _eatContent = 1;
-        }
-
-        //
-        // See if the element has an xsi:type on it
-        //
-
-        SchemaType xsiType = null;
-
-        if (event.getXsiType( _chars ))
-        {
-            String value = _chars.asString();
-
-            // Turn off the listener so a public error message
-            // does not get generated, but I can see if there was
-            // an error through the error state
-
-            int originalErrorState = _errorState;
-
-            _suspendErrors++;
-
-            try
-            {
-                _vc._event = null;
-
-                xsiType =
-                    _globalTypes.findType(
-                        XmlQNameImpl.validateLexical( value, _vc, event ) );
-
-            }
-            catch ( Throwable t )
-            {
-                _errorState++;
-            }
-            finally
-            {
-                _suspendErrors--;
-            }
-
-            if (originalErrorState != _errorState)
-            {
-                emitFieldError(
-                    event, "Invalid xsi:type qname: '" + value + "'" );
-
-                _eatContent = 1;
-
-                return;
-            }
-            else if (xsiType == null)
-            {
-                emitError(event,  "Could not find xsi:type: '" + value + "'");
-
-                _eatContent = 1;
-
-                return;
-            }
-        }
-
-        if (xsiType != null && !xsiType.equals(elementType))
-        {
-            if (!elementType.isAssignableFrom(xsiType))
-            {
-                emitFieldError(
-                    event,
-                    "Type '" + xsiType +
-                        "' is not derived from '" + elementType + "'" );
-
-                _eatContent = 1;
-
-                return;
-            }
-
-            if (elementType.blockExtension())
-            {
-                for ( SchemaType t = xsiType ; ! t.equals( elementType ) ;
-                      t = t.getBaseType() )
-                {
-                    if (t.getDerivationType() == SchemaType.DT_EXTENSION)
-                    {
-                        emitFieldError(
-                            event,
-                            "Extension type: '" + xsiType +
-                                "' may not be substituted for: '" +
-                                    elementType + "'" );
-
-                        _eatContent = 1;
-
-                        return;
-                    }
-                }
-            }
-
-            if (elementType.blockRestriction())
-            {
-                for ( SchemaType t = xsiType ; ! t.equals( elementType ) ;
-                      t = t.getBaseType() )
-                {
-                    if (t.getDerivationType() == SchemaType.DT_RESTRICTION)
-                    {
-                        emitFieldError(
-                            event,
-                            "Restriction type: '" + xsiType +
-                                "' may not be substituted for: '" +
-                                    elementType + "'" );
-
-                        _eatContent = 1;
-
-                        return;
-                    }
-                }
-            }
-
-            if (elementField instanceof SchemaLocalElement)
-            {
-                SchemaLocalElement sle  = (SchemaLocalElement)elementField;
-
-                if (sle.blockExtension() || sle.blockRestriction())
-                {
-                    for ( SchemaType t = xsiType ; ! t.equals( elementType ) ;
-                          t = t.getBaseType() )
-                    {
-                        if ((t.getDerivationType() == SchemaType.DT_RESTRICTION && sle.blockRestriction()) ||
-                            (t.getDerivationType() == SchemaType.DT_EXTENSION && sle.blockExtension()))
-                        {
-                            emitError(
-                                event,
-                                "Derived type: '" + xsiType +
-                                    "' may not be substituted for element '" +
-                                    QNameHelper.pretty(sle.getName()) + "'" );
-
-                            _eatContent = 1;
-
-                            return;
-                        }
-                    }
-                }
-
-            }
-
-            elementType = xsiType;
-        }
-
-        if (elementField instanceof SchemaLocalElement)
-        {
-            SchemaLocalElement sle = (SchemaLocalElement)elementField;
-
-            if (sle.isAbstract())
-            {
-                emitError(event,  "Element '" + QNameHelper.pretty(sle.getName()) +
-                    "' is abstract and cannot be used in an instance.");
-                _eatContent = 1;
-                return;
-            }
-        }
-
-        if (elementType != null && elementType.isAbstract())
-        {
-            emitFieldError(
-                event,
-                "Abstract type: " + elementType +
-                    " cannot be used in an instance" );
-
-            _eatContent = 1;
-
-            return;
-        }
-
-        boolean isNil = false;
-        boolean hasNil = false;
-
-        if (event.getXsiNil(_chars))
-        {
-            _vc._event = event;
-            isNil = JavaBooleanHolder.validateLexical(_chars.asString(), _vc);
-            hasNil = true;
-        }
-        
-        // note in schema spec 3.3.4, you're not even allowed to say xsi:nil="false" if you're not nillable!
-        if (hasNil && !elementField.isNillable())
-        {
-            emitFieldError(event,  "Element has xsi:nil attribute but is not nillable");
-
-            _eatContent = 1;
-            return;
-        }
-
-        newState( elementType, elementField, isNil );
-
-        // Dispatch this element event to any identity constraints
-        // As well as adding any new identity constraints that exist
-
-        _constraintEngine.element(
-            event,
-            elementType,
-            elementField instanceof SchemaLocalElement
-                ? ((SchemaLocalElement) elementField).getIdentityConstraints()
-                : null );
-    }
-
-    private void attrEvent ( Event event )
-    {
-        QName attrName = event.getName();
-
-        State state = topState();
-
-        if (state._attrs == null)
-            state._attrs = new HashSet();
-
-        if (state._attrs.contains( attrName ))
-        {
-            emitFieldError(
-                event,
-                "Duplicate attribute: " + QNameHelper.pretty( attrName ) );
-
-            return;
-        }
-
-        state._attrs.add( attrName );
-
-        if (!state._canHaveAttrs)
-        {
-            emitFieldError( event, "Can't have attributes" );
-            return;
-        }
-
-        SchemaLocalAttribute attrSchema =
-            state._attrModel == null
-                ? null
-                : state._attrModel.getAttribute( attrName );
-
-        if (attrSchema != null)
-        {
-            if (attrSchema.getUse() == SchemaLocalAttribute.PROHIBITED)
-            {
-                emitFieldError(
-                    event,
-                    "Attribute is prohibited: "
-                        + QNameHelper.pretty( attrName ) );
-
-                return;
-            }
-
-            String value =
-                validateSimpleType(
-                    attrSchema.getType(), attrSchema, event, false, false );
-
-            _constraintEngine.attr( event, attrName, attrSchema.getType(), value );
-
-            return;
-        }
-
-        int wildcardProcess = state._attrModel.getWildcardProcess();
-
-        if (wildcardProcess == SchemaAttributeModel.NONE)
-        {
-            emitFieldError(
-                event,
-                "Attribute not allowed (no wildcards allowed): "
-                    + QNameHelper.pretty( attrName ) );
-
-            return;
-        }
-
-        QNameSet attrWildcardSet = state._attrModel.getWildcardSet();
-
-        if (!attrWildcardSet.contains( attrName ))
-        {
-            emitFieldError(
-                event,
-                "Attribute not allowed: " + QNameHelper.pretty( attrName ) );
-
-            return;
-        }
-
-        if (wildcardProcess == SchemaAttributeModel.SKIP)
-            return;
-
-        attrSchema = _globalTypes.findAttribute( attrName );
-
-        if (attrSchema == null)
-        {
-            if (wildcardProcess == SchemaAttributeModel.LAX)
-                return;
-
-            assert wildcardProcess == SchemaAttributeModel.STRICT;
-
-            emitFieldError(
-                event,
-                "Attribute not allowed (strict wildcard, and no definition found): " + QNameHelper.pretty( attrName ) );
-
-            return;
-        }
-
-        String value =
-            validateSimpleType(
-                attrSchema.getType(), attrSchema, event, false, false );
-
-        _constraintEngine.attr( event, attrName, attrSchema.getType(), value );
-    }
-
-    private void endAttrsEvent ( Event event )
-    {
-        State state = topState();
-
-        if (state._attrModel != null)
-        {
-            SchemaLocalAttribute[] attrs = state._attrModel.getAttributes();
-
-            for ( int i = 0 ; i < attrs.length ; i++ )
-            {
-                SchemaLocalAttribute sla = attrs[ i ];
-
-                if (state._attrs == null ||
-                        !state._attrs.contains( sla.getName() ))
-                {
-                    if (sla.getUse() == SchemaLocalAttribute.REQUIRED)
-                    {
-                        emitFieldError(
-                            event, "Expected attribute: ", sla.getName() );
-                    }
-                    else if (sla.isDefault() || sla.isFixed())
-                    {
-                        _constraintEngine.attr(event, sla.getName(), sla.getType(), sla.getDefaultText());
-
-                        // We don't need to validate attribute defaults because this is done at compiletime.
-                        /*
-                        String value = sla.getDefaultText();
-                        SchemaType type = sla.getType();
-
-                        if (XmlQName.type.isAssignableFrom(type))
-                        {
-                            emitFieldError(
-                                event, 
-                                "Default QName values are unsupported for attribute: " + 
-                                    QNameHelper.pretty(sla.getName()), 
-                                XmlError.SEVERITY_INFO);
-                        }
-
-                        else 
-                        {
-                            validateSimpleType(
-                                type, sla.getDefaultText(), event );
-
-                            _constraintEngine.attr( event, type, value );
-                        }
-                        */
-                    }
-                }
-            }
-        }
-    }
-
-    private void endEvent ( Event event )
-    {
-        State state = topState();
-
-        if (!state._isNil)
-        {
-            if (!state.end())
-                emitFieldError( event, "Expected element(s)" );
-
-            // This end event has no text, use this fact to pass no text to
-            // handleText
-
-            if (state._isEmpty)
-                handleText( event, true, state._field );
-        }
-
-        popState( event );
-
-        _constraintEngine.endElement( event );
-    }
-
-    private void textEvent ( Event event )
-    {
-        State state = topState();
-
-        if (state._isNil)
-            emitFieldError(event, "Nil element cannot have simple content");
-        else
-            handleText( event, false, state._field );
-
-        state._isEmpty = false;
-    }
-
-
-    private void handleText (
-        Event event, boolean emptyContent, SchemaField field )
-    {
-        State state = topState();
-
-        if (!state._sawText)
-        {
-            if (state._hasSimpleContent)
-            {
-                String value =
-                    validateSimpleType(
-                        state._type, field, event, emptyContent, true );
-
-                _constraintEngine.text( event, state._type, value, false );
-            }
-            else if (emptyContent)
-            {
-                _constraintEngine.text( event, state._type, null, true );
-            }
-            else
-                _constraintEngine.text( event, state._type, "", false);
-        }
-
-        if (!emptyContent && !state._canHaveMixedContent && 
-            !event.textIsWhitespace() & !state._hasSimpleContent)
-        {
-            if (field instanceof SchemaLocalElement) 
-            {
-                SchemaLocalElement e = (SchemaLocalElement)field;
-                emitError(event, "Element: '" + QNameHelper.pretty(e.getName()) + "' cannot have mixed content.");
-            }
-            else
-                emitError( event, "Can't have mixed content" );
-        }
-
-        if (!emptyContent)
-            state._sawText = true;
-    }
-
-    private final class State
-    {
-        boolean visit ( QName name )
-        {
-            return _canHaveElements && _visitor.visit( name );
-        }
-
-        boolean end ( )
-        {
-            return !_canHaveElements || _visitor.visit( null );
-        }
-
-        SchemaParticle currentParticle ( )
-        {
-            assert _visitor != null;
-            return _visitor.currentParticle();
-        }
-
-        SchemaType  _type;
-        SchemaField _field;
-
-        boolean _canHaveAttrs;
-        boolean _canHaveMixedContent;
-        boolean _hasSimpleContent;
-
-        boolean _sawText;
-        boolean _isEmpty;
-        boolean _isNil;
-
-        SchemaTypeVisitorImpl _visitor;
-        boolean _canHaveElements;
-
-        SchemaAttributeModel _attrModel;
-
-        HashSet _attrs;
-
-        State _next;
-    }
-
-    private void newState ( SchemaType type, SchemaField field, boolean isNil )
-    {
-        State state = new State();
-
-        state._type = type;
-        state._field = field;
-        state._isEmpty = true;
-        state._isNil = isNil;
-
-        if (type.isSimpleType())
-        {
-            state._hasSimpleContent = true;
-        }
-        else
-        {
-            state._canHaveAttrs = true;
-            state._attrModel = type.getAttributeModel();
-
-            switch ( type.getContentType() )
-            {
-            case SchemaType.EMPTY_CONTENT :
-                break;
-
-            case SchemaType.SIMPLE_CONTENT :
-                state._hasSimpleContent = true;
-                break;
-
-            case SchemaType.MIXED_CONTENT :
-                state._canHaveMixedContent = true;
-                // Fall through
-
-            case SchemaType.ELEMENT_CONTENT :
-
-                SchemaParticle particle = type.getContentModel();
-
-                state._canHaveElements = particle != null;
-
-                if (state._canHaveElements)
-                    state._visitor = initVisitor( particle );
-
-                break;
-
-            default :
-                throw new RuntimeException( "Unexpected content type" );
-            }
-        }
-
-        pushState( state );
-    }
-
-    private void popState ( Event e )
-    {
-        if (_stateStack._visitor != null)
-        {
-            poolVisitor( _stateStack._visitor );
-            _stateStack._visitor = null;
-        }
-
-        _stateStack = _stateStack._next;
-    }
-
-    private void pushState ( State state )
-    {
-        state._next = _stateStack;
-        _stateStack = state;
-    }
-
-    private LinkedList _visitorPool = new LinkedList();
-
-    private void poolVisitor( SchemaTypeVisitorImpl visitor )
-    {
-        _visitorPool.add( visitor );
-    }
-
-    private SchemaTypeVisitorImpl initVisitor( SchemaParticle particle )
-    {
-        if (_visitorPool.isEmpty())
-            return new SchemaTypeVisitorImpl( particle );
-
-        SchemaTypeVisitorImpl result =
-            (SchemaTypeVisitorImpl) _visitorPool.removeLast();
-
-        result.init( particle );
-
-        return result;
-    }
-
-    private State topState ( )
-    {
-        return _stateStack;
-    }
-
-    //
-    // Simple Type Validation
-    //
-    // emptyContent means that you can't use the event to get text: there is
-    // not text, but you can use the event to do prefix resolution (in the case
-    // where the default is a qname)
-    //
-
-    private String validateSimpleType (
-        SchemaType type, SchemaField field, Event event,
-        boolean emptyContent, boolean canApplyDefault )
-    {
-        if (!type.isSimpleType() &&
-                type.getContentType() != SchemaType.SIMPLE_CONTENT)
-        {
-            assert false;
-            // throw new RuntimeException( "Not a simple type" );
-            return null; // should never happen
-        }
-
-        //
-        // the no-type is always invalid
-        //
-
-        if (type.isNoType())
-        {
-            emitError(event, "Invalid type.");
-            return null;
-        }
-
-
-
-        // Get the value as a string (as normalized by the white space rule
-        // TODO - will want to optimize this later
-
-        String value = "";
-
-        if (!emptyContent)
-        {
-            event.getText( _chars, type.getWhiteSpaceRule() );
-            value = _chars.asString();
-        }
-
-        // See if I can apply a default/fixed value
-
-        if (value.length() == 0 && canApplyDefault && field != null &&
-                (field.isDefault() || field.isFixed()))
-        {
-            if (XmlQName.type.isAssignableFrom(type))
-            {
-                emitError(
-                    event,
-                    "Default QName values are unsupported for " +
-                        QNameHelper.readable(type) + " - ignoring.",
-                    XmlError.SEVERITY_INFO);
-
-                return null;
-            }
-
-            String defaultValue =
-                XmlWhitespace.collapse(
-                    field.getDefaultText(), type.getWhiteSpaceRule() );
-
-// BUGBUG - should validate defaultValue at compile time
-            return
-                validateSimpleType( type, defaultValue, event )
-                    ? defaultValue
-                    : null;
-        }
-
-        if (!validateSimpleType( type, value, event ))
-            return null;
-
-        if (field != null && field.isFixed())
-        {
-// TODO - fixed value should have been cooked at compile time
-            String fixedValue =
-                XmlWhitespace.collapse(
-                    field.getDefaultText(), type.getWhiteSpaceRule() );
-
-            if (!validateSimpleType( type, fixedValue, event ))
-                return null;
-
-            XmlObject val = type.newValue( value );
-            XmlObject def = type.newValue( fixedValue );
-
-            if (!val.valueEquals( def ))
-            {
-                // BUGBUG - make this more verbose
-
-                emitError(
-                    event,
-                    "Value not equal to fixed value. " + value );
-
-                return null;
-            }
-        }
-
-        return value;
-    }
-
-    private boolean validateSimpleType (
-        SchemaType type, String value, Event event )
-    {
-        if (!type.isSimpleType() &&
-                type.getContentType() != SchemaType.SIMPLE_CONTENT)
-        {
-            assert false;
-            throw new RuntimeException( "Not a simple type" );
-        }
-
-        int retState = _errorState;
-
-        switch ( type.getSimpleVariety() )
-        {
-        case SchemaType.ATOMIC : validateAtomicType( type, value, event );break;
-        case SchemaType.UNION  : validateUnionType(  type, value, event );break;
-        case SchemaType.LIST   : validateListType(   type, value, event );break;
-
-        default : throw new RuntimeException( "Unexpected simple variety" );
-        }
-
-        return retState == _errorState;
-    }
-
-    private void validateAtomicType (
-        SchemaType type, String value, Event event )
-    {
-        // Now we should have only an atomic type to validate
-
-        assert type.getSimpleVariety() == SchemaType.ATOMIC;
-
-        // Record the current error state to see if any new errors are made
-        int errorState = _errorState;
-        _vc._event = event;
-
-        switch ( type.getPrimitiveType().getBuiltinTypeCode() )
-        {
-        case SchemaType.BTC_ANY_SIMPLE :
-        {
-            // Always valid!
-            break;
-        }
-        case SchemaType.BTC_STRING :
-        {
-            JavaStringEnumerationHolderEx.validateLexical( value, type, _vc );
-            break;
-        }
-        case SchemaType.BTC_DECIMAL :
-        {
-            JavaDecimalHolderEx.validateLexical( value, type, _vc );
-
-            if (errorState == _errorState)
-            {
-                JavaDecimalHolderEx.validateValue(
-                    new BigDecimal( value ), type, _vc );
-            }
-
-            break;
-        }
-        case SchemaType.BTC_BOOLEAN :
-        {
-            JavaBooleanHolderEx.validateLexical( value, type, _vc );
-            break;
-        }
-        case SchemaType.BTC_FLOAT :
-        {
-            float f =
-                JavaFloatHolderEx.validateLexical( value, type, _vc );
-
-            if (errorState == _errorState)
-                JavaFloatHolderEx.validateValue( f, type, _vc );
-
-            break;
-        }
-        case SchemaType.BTC_DOUBLE :
-        {
-            double d =
-                JavaDoubleHolderEx.validateLexical( value, type, _vc );
-
-            if (errorState == _errorState)
-                JavaDoubleHolderEx.validateValue( d, type, _vc );
-
-            break;
-        }
-        case SchemaType.BTC_QNAME :
-        {
-            QName n =
-                JavaQNameHolderEx.validateLexical(
-                    value, type, _vc, event );
-
-            if (errorState == _errorState)
-                JavaQNameHolderEx.validateValue( n, type, _vc );
-
-            break;
-        }
-        case SchemaType.BTC_ANY_URI :
-        {
-            JavaUriHolderEx.validateLexical( value, type, _vc );
-
-            break;
-        }
-        case SchemaType.BTC_DATE_TIME :
-        case SchemaType.BTC_TIME :
-        case SchemaType.BTC_DATE :
-        case SchemaType.BTC_G_YEAR_MONTH :
-        case SchemaType.BTC_G_YEAR :
-        case SchemaType.BTC_G_MONTH_DAY :
-        case SchemaType.BTC_G_DAY :
-        case SchemaType.BTC_G_MONTH :
-        {
-            GDate d = XmlDateImpl.validateLexical( value, type, _vc );
-
-            if (d != null)
-                XmlDateImpl.validateValue( d, type, _vc );
-
-            break;
-        }
-        case SchemaType.BTC_DURATION :
-        {
-            GDuration d = XmlDurationImpl.validateLexical( value, type, _vc );
-
-            if (d != null)
-                XmlDurationImpl.validateValue( d, type, _vc );
-
-            break;
-        }
-        case SchemaType.BTC_BASE_64_BINARY :
-        {
-            byte[] v =
-                JavaBase64HolderEx.validateLexical( value, type, _vc );
-
-            if (v != null)
-                JavaBase64HolderEx.validateValue( v, type, _vc );
-
-            break;
-        }
-        case SchemaType.BTC_HEX_BINARY :
-        {
-            byte[] v =
-                JavaHexBinaryHolderEx.validateLexical( value, type, _vc );
-
-            if (v != null)
-                JavaHexBinaryHolderEx.validateValue( v, type, _vc );
-
-            break;
-        }
-        case SchemaType.BTC_NOTATION :
-            // Unimplemented. 
-            break;
-
-        default :
-            throw new RuntimeException( "Unexpected primitive type code" );
-        }
-    }
-
-    private void validateListType (
-        SchemaType type, String value, Event event )
-    {
-        int errorState = _errorState;
-
-        if (!type.matchPatternFacet( value ))
-        {
-            emitError(
-                event,
-                "List '" + value + "' does not match pattern for " + QNameHelper.readable(type) );
-        }
-
-        String[] items = XmlListImpl.split_list(value);
-
-        
-        int i;
-        XmlObject o;
-
-        if ((o = type.getFacet( SchemaType.FACET_LENGTH )) != null)
-        {
-            if ((i = ((SimpleValue)o).getIntValue()) != items.length)
-            {
-                emitError(
-                    event,
-                    "List (" + value + ") does not have " + i +
-                        " items per length facet for " + QNameHelper.readable(type));
-            }
-        }
-
-        if ((o = type.getFacet( SchemaType.FACET_MIN_LENGTH )) != null)
-        {
-            if ((i = ((SimpleValue)o).getIntValue()) > items.length)
-            {
-                emitError(
-                    event,
-                    "List (" + value + ") has only " + items.length +
-                        " items, fewer than min length facet (" + i + ") for " + QNameHelper.readable(type) );
-            }
-        }
-        
-        if ((o = type.getFacet( SchemaType.FACET_MAX_LENGTH )) != null)
-        {
-            if ((i = ((SimpleValue)o).getIntValue()) < items.length)
-            {
-                emitError(
-                    event,
-                    "List (" + value + ") has " + items.length +
-                        " items, more than max length facet (" + i + ") for " + QNameHelper.readable(type) );
-            }
-        }
-
-        SchemaType itemType = type.getListItemType();
-
-        for ( i = 0 ; i < items.length ; i++ )
-        {
-            validateSimpleType(
-                itemType, items[i], event );
-        }
-
-        // If no errors up to this point, then I can create an
-        // XmlList from this value and campare it again enums.
-
-        if (errorState == _errorState)
-        {
-            if (type.getEnumerationValues() != null)
-            {
-                // Lists which contain QNames will need a resolver
-
-                NamespaceContext.push(
-                    new NamespaceContext( event ) );
-
-                try
-                {
-                    XmlObject listValue = ( (SchemaTypeImpl) type).newValidatingValue( value );
-                }
-                catch (XmlValueOutOfRangeException e)
-                {
-                    emitError(
-                        event,
-                        "List value (" + value +
-                            ") is not a valid enumeration value for " + QNameHelper.readable(type));
-                }
-                finally
-                {
-                    NamespaceContext.pop();
-                }
-            }
-        }
-    }
-
-    private void validateUnionType (
-        SchemaType type, String value, Event event )
-    {
-        // TODO - if xsi:type is specified on a union, it selects
-        // that union member type
-
-        if (!type.matchPatternFacet( value ))
-        {
-            emitError(
-                event,
-                "Union '" + value + "' does not match pattern for " + QNameHelper.readable(type));
-        }
-
-        int currentWsr = SchemaType.WS_PRESERVE;
-        String currentValue = value;
-
-        SchemaType[] types = type.getUnionMemberTypes();
-
-        int originalState = _errorState;
-
-        int i;
-        for ( i = 0 ; i < types.length ; i++ )
-        {
-            int memberWsr = types[ i ].getWhiteSpaceRule();
-
-            if (memberWsr == SchemaType.WS_UNSPECIFIED)
-                memberWsr = SchemaType.WS_PRESERVE;
-
-            if (memberWsr != currentWsr)
-            {
-                currentWsr = memberWsr;
-                currentValue = XmlWhitespace.collapse( value, currentWsr );
-            }
-
-            int originalErrorState = _errorState;
-
-            _suspendErrors++;
-
-            try
-            {
-                validateSimpleType( types[ i ], currentValue, event );
-            }
-            finally
-            {
-                _suspendErrors--;
-            }
-
-            if (originalErrorState == _errorState)
-                break;
-        }
-
-        _errorState = originalState;
-
-        if (i >= types.length)
-        {
-            emitError(
-                event,
-                "Union '" + value + "' does not match any members of " + QNameHelper.readable(type) );
-        }
-        else
-        {
-            XmlObject[] unionEnumvals = type.getEnumerationValues();
-
-            if (unionEnumvals != null)
-            {
-                // Unions which contain QNames will need a resolver
-
-                NamespaceContext.push( new NamespaceContext( event ) );
-
-                try
-                {
-                    XmlObject unionValue = type.newValue( value );
-
-                    for ( i = 0 ; i < unionEnumvals.length ; i++ )
-                    {
-                        if (unionValue.valueEquals( unionEnumvals[ i ] ))
-                            break;
-                    }
-
-                    if (i >= unionEnumvals.length)
-                    {
-                        emitError(
-                            event,
-                            "Union '" + value +
-                                "' is not a valid enumeration value for " + QNameHelper.readable(type) );
-                    }
-                }
-                catch (XmlValueOutOfRangeException e)
-                {
-                    // actually, the current union code always ends up here when invalid
-                    emitError(
-                        event,
-                        "Union '" + value +
-                            "' is not a valid enumeration value for " + QNameHelper.readable(type) );
-                }
-                finally
-                {
-                    NamespaceContext.pop();
-                }
-            }
-        }
-    }
-
-
-    //
-    // Members of the validator class
-    //
-
-    private boolean            _invalid;
-    private SchemaType         _rootType;
-    private SchemaField        _rootField;
-    private SchemaTypeLoader   _globalTypes;
-    private Chars              _chars;
-    private State              _stateStack;
-    private int                _errorState;
-    private Collection         _errorListener;
-    private ValidatorVC        _vc;
-    private int                _suspendErrors;
-    private IdentityConstraint _constraintEngine;
-    private int                _eatContent;
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBase64Holder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBase64Holder.java
deleted file mode 100644
index 7d1e962..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBase64Holder.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-
-import org.apache.xmlbeans.impl.util.Base64;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlBase64Binary;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Arrays;
-import java.io.UnsupportedEncodingException;
-
-public abstract class JavaBase64Holder extends XmlObjectBase
-{
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_BASE_64_BINARY; }
-
-    protected byte[] _value;
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-
-    // gets raw text value
-    protected String compute_text(NamespaceManager nsm)
-    {
-        return new String(Base64.encode(_value));
-    }
-    protected void set_text(String s)
-    {
-        _hashcached = false;
-        if (_validateOnSet())
-            _value = validateLexical(s, schemaType(), _voorVc);
-        else
-            _value = lex(s, _voorVc);
-    }
-    protected void set_nil()
-    {
-        _hashcached = false;
-        _value = null;
-    }
-
-    public static byte[] lex(String v, ValidationContext c)
-    {
-        byte[] vBytes = null;
-        try
-        {
-            vBytes = v.getBytes("UTF-8");
-        }
-        catch(UnsupportedEncodingException uee)
-        {
-            // should never happen - UTF-8 is always supported
-        }
-        final byte[] bytes = Base64.decode(vBytes);
-
-        if (bytes == null)
-        {
-            // TODO - get a decent error with line numbers and such here
-            c.invalid("Base 64 encoded data not encoded properly");
-        }
-
-        return bytes;
-    }
-
-    public static byte[] validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        final byte[] bytes = lex(v, context);
-        if (bytes == null) return null;
-        
-        if (!sType.matchPatternFacet(v))
-        {
-            context.invalid( "Base 64 encoded data does not match pattern for " + QNameHelper.readable(sType));
-            return null;
-        }
-
-        return bytes;
-    }
-
-    public byte[] byteArrayValue()
-    {
-        check_dated();
-        if (_value == null)
-            return null;
-
-        byte[] result = new byte[_value.length];
-        System.arraycopy(_value, 0, result, 0, _value.length);
-        return result;
-    }
-
-    // setters
-    protected void set_ByteArray(byte[] ba)
-    {
-        _hashcached = false;
-        _value = new byte[ba.length];
-        System.arraycopy(ba, 0, _value, 0, ba.length);
-    }
-
-    // comparators
-    protected boolean equal_to(XmlObject i)
-    {
-        byte[] ival = ((XmlBase64Binary) i).getByteArrayValue();
-        return Arrays.equals(_value, ival);
-    }
-
-    //because computing hashcode is expensive we'll cache it
-    protected boolean _hashcached = false;
-    protected int hashcode = 0;
-    protected static MessageDigest md5;
-    static
-    {
-        try
-        {
-            md5 = MessageDigest.getInstance("MD5");
-        }
-        catch( NoSuchAlgorithmException e )
-        {
-            throw new IllegalStateException("Cannot find MD5 hash Algorithm");
-        }
-    }
-
-    protected int value_hash_code()
-    {
-        if( _hashcached )
-            return hashcode;
-
-        _hashcached = true;
-
-        if( _value == null )
-            return hashcode = 0;
-
-        byte[] res = md5.digest(_value);
-        return hashcode = res[0]<<24 + res[1]<<16 + res[2]<<8 + res[3];
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBase64HolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBase64HolderEx.java
deleted file mode 100644
index c270714..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBase64HolderEx.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-
-public abstract class JavaBase64HolderEx extends JavaBase64Holder
-{
-    private SchemaType _schemaType;
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    public JavaBase64HolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    protected int get_wscanon_rule()
-    {
-        return schemaType().getWhiteSpaceRule();
-    }
-
-    protected void set_text(String s)
-    {
-        final byte[] v;
-
-        if (_validateOnSet())
-            v = validateLexical(s, schemaType(), _voorVc);
-        else
-            v = lex(s, _voorVc);
-
-        if (v != null && _validateOnSet())
-            validateValue(v, schemaType(), XmlObjectBase._voorVc);
-        
-        super.set_ByteArray(v);
-    }
-
-    // setters
-    protected void set_ByteArray(byte[] v)
-    {
-        if (_validateOnSet())
-            validateValue(v, schemaType(), _voorVc);
-        
-        super.set_ByteArray(v);
-    }
-
-    public static void validateValue(byte[] v, SchemaType sType, ValidationContext context)
-    {
-        int i;
-        XmlObject o;
-
-        if ((o = sType.getFacet(SchemaType.FACET_LENGTH)) != null)
-        {
-            if ((i = ((XmlObjectBase)o).bigIntegerValue().intValue()) != v.length)
-            {
-                context.invalid(
-                    "Base 64 encoded data does not have " + i +
-                        " bytes per length facet" );
-            }
-        }
-
-        if ((o = sType.getFacet( SchemaType.FACET_MIN_LENGTH )) != null)
-        {
-            if ((i = ((XmlObjectBase)o).bigIntegerValue().intValue()) > v.length)
-            {
-                context.invalid(
-                    "Base 64 encoded data has only " + v.length +
-                        " bytes, fewer than min length facet" );
-            }
-        }
-
-        if ((o = sType.getFacet( SchemaType.FACET_MAX_LENGTH )) != null)
-        {
-            if ((i = ((XmlObjectBase)o).bigIntegerValue().intValue()) < v.length)
-            {
-                context.invalid(
-                    "Base 64 encoded data has " + v.length +
-                        " bytes, more than max length facet" );
-            }
-        }
-        
-        XmlObject[] vals = sType.getEnumerationValues();
-
-        if (vals != null)
-        {
-            enumLoop: for ( i = 0 ; i < vals.length ; i++ )
-            {
-                byte[] enumBytes = ((XmlObjectBase)vals[i]).byteArrayValue();
-
-                if (enumBytes.length != v.length)
-                    continue;
-
-                for ( int j = 0 ; j < enumBytes.length ; j++ )
-                    if (enumBytes[j] != v[j])
-                        continue enumLoop;
-                
-                break;
-            }
-            
-            if (i >= vals.length)
-                context.invalid("Base 64 encoded data does not match any of the enumeration values");
-        }
-    }
-    
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(lexical, schemaType(), ctx);
-        validateValue(byteArrayValue(), schemaType(), ctx);
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBooleanHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBooleanHolder.java
deleted file mode 100644
index 9ca71b9..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBooleanHolder.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlBoolean;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-
-public abstract class JavaBooleanHolder extends XmlObjectBase
-{
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_BOOLEAN; }
-
-    private boolean _value;
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-
-    // gets raw text value
-    protected String compute_text(NamespaceManager nsm) { return _value ? "true" : "false"; }
-    protected void set_text(String s)
-    {
-        _value = validateLexical(s, _voorVc);
-    }
-    public static boolean validateLexical(String v, ValidationContext context)
-    {
-        if (v.equals("true") || v.equals("1"))
-            return true;
-        
-        if (v.equals("false") || v.equals("0"))
-            return false;
-
-        context.invalid("Invalid value for boolean: " + v);
-
-        return false;
-    }
-    protected void set_nil()
-    {
-        _value = false;
-    }
-    // numerics: fractional
-    public boolean booleanValue() { check_dated(); return _value; }
-
-    // setters
-    protected void set_boolean(boolean f)
-    {
-        _value = f;
-    }
-
-    // comparators
-    protected int compare_to(XmlObject i)
-    {
-        // no ordering defined between true and false
-        return _value == ((XmlBoolean)i).getBooleanValue() ? 0 : 2;
-    }
-
-    protected boolean equal_to(XmlObject i)
-    {
-        return _value == ((XmlBoolean)i).getBooleanValue();
-    }
-
-    protected int value_hash_code()
-    {
-        return _value ? 957379554 : 676335975;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBooleanHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBooleanHolderEx.java
deleted file mode 100644
index 36f6cdb..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaBooleanHolderEx.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-
-
-public abstract class JavaBooleanHolderEx extends JavaBooleanHolder
-{
-    private SchemaType _schemaType;
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    public static void validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        JavaBooleanHolder.validateLexical(v, context);
-        validatePattern(v, sType, context);
-    }
-    
-    public static void validatePattern(String v, SchemaType sType, ValidationContext context)
-    {
-        // the only new facet that can apply to booleans is pattern!
-        if (!sType.matchPatternFacet(v))
-            context.invalid("Boolean (" + v + ") does not match pattern for " + QNameHelper.readable(sType));
-    }
-    
-    public JavaBooleanHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    protected void set_text(String s)
-    {
-        if (_validateOnSet())
-            validatePattern(s, _schemaType, _voorVc);
-        super.set_text(s);
-    }
-
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(lexical, schemaType(), ctx);
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDecimalHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDecimalHolder.java
deleted file mode 100644
index a2c217d..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDecimalHolder.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-
-public class JavaDecimalHolder extends XmlObjectBase
-{
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_DECIMAL; }
-
-    private BigDecimal _value;
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-
-    // sets/gets raw text value
-    protected String compute_text(NamespaceManager nsm) { return _value.toString(); }
-    protected void set_text(String s)
-    {
-        if (_validateOnSet())
-            validateLexical(s, _voorVc);
-
-        try {
-            set_BigDecimal(new BigDecimal(s));
-        }
-        catch (NumberFormatException e)
-        {
-            _voorVc.invalid("Invalid Decimal");
-        }
-    }
-    protected void set_nil()
-    {
-        _value = null;
-    }
-
-    /**
-     * Performs lexical validation only.
-     */
-
-    public static void validateLexical(String v, ValidationContext context)
-    {
-        // TODO - will want to validate Chars with built in white space handling
-        //        However, this fcn sometimes takes a value with wsr applied
-        //        already
-        int l = v.length();
-        int i = 0;
-        
-        if (i < l)
-        {
-            int ch = v.charAt(i);
-            
-            if (ch == '+' || ch == '-')
-                i++;
-        }
-        
-        boolean sawDot = false;
-        boolean sawDigit = false;
-
-        for ( ; i < l ; i++ )
-        {
-            int ch = v.charAt(i);
-
-            if (ch == '.')
-            {
-                if (sawDot)
-                {
-                    context.invalid("Illegal decimal, saw '.' more than once");
-                    return;
-                }
-
-                sawDot = true;
-            }
-            else if (ch >= '0' && ch <= '9')
-            {
-                sawDigit = true;
-            }
-            else
-            {
-                // TODO - may need to escape error char
-                context.invalid("Illegal decimal, unexpected char: " + ch);
-                return;
-            }
-        }
-
-        if (!sawDigit)
-        {
-            context.invalid("Illegal decimal, expected at least one digit");
-            return;
-        }
-    }
-
-    // numerics: fractional
-    public BigDecimal bigDecimalValue() { check_dated(); return _value; }
-
-    // setters
-    protected void set_BigDecimal(BigDecimal v) { _value = v; }
-
-    // comparators
-    protected int compare_to(XmlObject decimal)
-    {
-        return _value.compareTo(((XmlObjectBase)decimal).bigDecimalValue());
-    }
-    protected boolean equal_to(XmlObject decimal)
-    {
-        return (_value.compareTo(((XmlObjectBase)decimal).bigDecimalValue())) == 0;
-    }
-
-    static private BigInteger _maxlong = BigInteger.valueOf(Long.MAX_VALUE);
-    static private BigInteger _minlong = BigInteger.valueOf(Long.MIN_VALUE);
-
-    /**
-     * Note, this is carefully aligned with hash codes for all xsd:decimal
-     * primitives.
-     */
-    protected int value_hash_code()
-    {
-        if (_value.scale() > 0)
-        {
-            if (_value.setScale(0, BigDecimal.ROUND_DOWN).compareTo(_value) != 0)
-                return decimalHashCode();
-        }
-
-        BigInteger intval = _value.toBigInteger();
-
-        if (intval.compareTo(_maxlong) > 0 ||
-            intval.compareTo(_minlong) < 0)
-            return intval.hashCode();
-
-        long longval = intval.longValue();
-
-        return (int)((longval >> 32) * 19 + longval);
-    }
-
-    /**
-     * This method will has BigDecimals with the same arithmetic value to
-     * the same hash code (eg, 2.3 & 2.30 will have the same hash.)
-     * This differs from BigDecimal.hashCode()
-     */
-    protected int decimalHashCode() {
-        assert _value.scale() > 0;
-
-        // Get decimal value as string, and strip off zeroes on the right
-        String strValue = _value.toString();
-        int i;
-        for (i = strValue.length() - 1 ; i >= 0 ; i --)
-            if (strValue.charAt(i) != '0') break;
-
-        assert strValue.indexOf('.') < i;
-
-        // Return the canonicalized string hashcode
-        return strValue.substring(0, i + 1).hashCode();
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDecimalHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDecimalHolderEx.java
deleted file mode 100644
index bf94e4c..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDecimalHolderEx.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-
-import java.math.BigDecimal;
-
-public abstract class JavaDecimalHolderEx extends JavaDecimalHolder
-{
-    private SchemaType _schemaType;
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    public JavaDecimalHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    protected void set_text(String s)
-    {
-        if (_validateOnSet())
-            validateLexical(s, _schemaType, _voorVc);
-
-        BigDecimal v = null;
-        try {
-            v = new BigDecimal(s);
-        }
-        catch (NumberFormatException e)
-        {
-            _voorVc.invalid("Invalid Decimal");
-        }
-
-        if (_validateOnSet())
-            validateValue(v, _schemaType, _voorVc);
-
-        super.set_BigDecimal(v);
-    }
-    
-    protected void set_BigDecimal(BigDecimal v)
-    {
-        if (_validateOnSet())
-            validateValue(v, _schemaType, _voorVc);
-        super.set_BigDecimal(v);
-    }
-    
-    public static void validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        JavaDecimalHolder.validateLexical(v, context);
-        
-        // check pattern
-        if (sType.hasPatternFacet())
-        {
-            if (!sType.matchPatternFacet(v))
-            {
-                // TODO - describe string and pattern here in error
-                context.invalid("Decimal (" + v + ") does not match pattern for " + QNameHelper.readable(sType));
-            }
-        }
-    }
-    
-    /**
-     * Performs facet validation only.
-     */
-
-    public static void validateValue(BigDecimal v, SchemaType sType, ValidationContext context)
-    {
-        // fractional digits
-        XmlObject fd = sType.getFacet(SchemaType.FACET_FRACTION_DIGITS);
-        if (fd != null)
-        {
-            int scale = ((XmlObjectBase)fd).bigIntegerValue().intValue();
-            if (v.scale() > scale)
-            {
-                context.invalid(
-                    "Decimal fractional digits (" + v.scale() + ") does not match " +
-                        "fractional digits facet (" + scale + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // total digits
-        XmlObject td = sType.getFacet(SchemaType.FACET_TOTAL_DIGITS);
-        if (td != null)
-        {
-            String temp = v.unscaledValue().toString();
-            int tdf = ((XmlObjectBase)td).bigIntegerValue().intValue();
-            int len = temp.length();
-            if (len > 0 && temp.charAt(0) == '-')
-                len -= 1;
-            if (len > tdf)
-            {
-                context.invalid(
-                    "Decimal total digits (" + temp + ") is greater than " +
-                        "total digits facet (" + tdf + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // min ex
-        XmlObject mine = sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
-        if (mine != null)
-        {
-            BigDecimal m = ((XmlObjectBase)mine).bigDecimalValue();
-            if (v.compareTo(m) <= 0)
-            {
-                context.invalid(
-                    "Decimal (" + v + ") is less than or equal to " +
-                        "min exclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // min in
-        XmlObject mini = sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
-        if (mini != null)
-        {
-            BigDecimal m = ((XmlObjectBase)mini).bigDecimalValue();
-            if (v.compareTo(m) < 0)
-            {
-                context.invalid(
-                    "Decimal (" + v + ") is less than " +
-                        "min inclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // max in
-        XmlObject maxi = sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
-        if (maxi != null)
-        {
-            BigDecimal m = ((XmlObjectBase)maxi).bigDecimalValue();
-            if (v.compareTo(m) > 0)
-            {
-                context.invalid(
-                    "Decimal (" + v + ") is greater than " +
-                        "max inclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // max ex
-        XmlObject maxe = sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
-        if (maxe != null)
-        {
-            BigDecimal m = ((XmlObjectBase)maxe).bigDecimalValue();
-            if (v.compareTo(m) >= 0)
-            {
-                context.invalid(
-                    "Decimal (" + v + ") is greater than or equal to " +
-                        "max exclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // enumeration
-        XmlObject[] vals = sType.getEnumerationValues();
-        if (vals != null)
-        {
-            for (int i = 0; i < vals.length; i++)
-                if (v.equals(((XmlObjectBase)vals[i]).bigDecimalValue()))
-                    return;
-            context.invalid("Decimal (" + v + ") does not match any enumeration values for " + QNameHelper.readable(sType));
-        }
-    }
-    
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(lexical, schemaType(), ctx);
-        validateValue(bigDecimalValue(), schemaType(), ctx);
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDoubleHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDoubleHolder.java
deleted file mode 100644
index 1fee77e..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDoubleHolder.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-public abstract class JavaDoubleHolder extends XmlObjectBase
-{
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_DOUBLE; }
-
-    double _value;
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-
-    // gets/sets raw text value
-    protected String compute_text(NamespaceManager nsm) { return serialize(_value); }
-
-    public static String serialize(double d)
-    {
-        if (d == Double.POSITIVE_INFINITY)
-            return "INF";
-        else if (d == Double.NEGATIVE_INFINITY)
-            return "-INF";
-        else if (d == Double.NaN)
-            return "NaN";
-        else
-            return Double.toString(d);
-    }
-    protected void set_text(String s)
-    {
-        set_double(validateLexical(s,_voorVc));
-    }
-    public static double validateLexical(String v, ValidationContext context)
-    {
-        try
-        {
-            return Double.parseDouble(v);
-        }
-        catch(NumberFormatException e)
-        {
-            if (v.equals("INF"))  return Double.POSITIVE_INFINITY;
-            if (v.equals("-INF")) return Double.NEGATIVE_INFINITY;
-            if (v.equals("NaN"))  return Double.NaN;
-            
-            context.invalid("Invalid double value");
-
-            return Double.NaN;
-        }
-    }
-    protected void set_nil()
-    {
-        _value = 0.0;
-    }
-
-    // numerics: fractional
-    public BigDecimal bigDecimalValue() { check_dated(); return new BigDecimal(_value); }
-    public double doubleValue() { check_dated(); return _value; }
-    public float floatValue() { check_dated(); return (float)_value; }
-
-    // setters
-    protected void set_double(double v) { _value = v; }
-    protected void set_float(float v) { set_double((double)v); }
-    protected void set_long(long v) { set_double((double)v); }
-    protected void set_BigDecimal(BigDecimal v) { set_double(v.doubleValue()); }
-    protected void set_BigInteger(BigInteger v) { set_double(v.doubleValue()); }
-
-    // comparators
-    protected int compare_to(XmlObject d)
-    {
-        return compare(_value,((XmlObjectBase)d).doubleValue());
-    }
-    static int compare(double thisValue, double thatValue)
-    {
-        if (thisValue < thatValue) return -1;
-        if (thisValue > thatValue) return  1;
-
-        long thisBits = Double.doubleToLongBits(thisValue);
-        long thatBits = Double.doubleToLongBits(thatValue);
-
-        return thisBits == thatBits ? 0 : thisBits < thatBits ? -1 : 1;
-    }
-
-    protected boolean equal_to(XmlObject d)
-    {
-        return compare(_value, ((XmlObjectBase)d).doubleValue()) == 0;
-    }
-
-    protected int value_hash_code()
-    {
-        long v = Double.doubleToLongBits(_value);
-        return (int)((v >> 32) * 19 + v);
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDoubleHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDoubleHolderEx.java
deleted file mode 100644
index e2bb3e4..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaDoubleHolderEx.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-
-
-public abstract class JavaDoubleHolderEx extends JavaDoubleHolder
-{
-    public JavaDoubleHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-    
-    private SchemaType _schemaType;
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    protected void set_double(double v)
-    {
-        if (_validateOnSet())
-            validateValue(v, _schemaType, _voorVc);
-        super.set_double(v);
-    }
-
-    public static double validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        double d = JavaDoubleHolder.validateLexical(v, context);
-
-        if (!sType.matchPatternFacet(v))
-            context.invalid("Double (" + v + ") does not match pattern for " + QNameHelper.readable(sType));
-        
-        return d;
-    }
-    
-    public static void validateValue(double v, SchemaType sType, ValidationContext context)
-    {
-        XmlObject x;
-        double d;
-
-        if ((x = sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE)) != null)
-        {
-            if (compare(v, d = ((XmlObjectBase)x).doubleValue()) <= 0)
-            {
-                context.invalid(
-                    "Double (" + v + ") is less than or equal to " +
-                        "min exclusive facet (" + d + ") for " + QNameHelper.readable(sType));
-            }
-        }
-
-        if ((x = sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE)) != null)
-        {
-            if (compare(v, d = ((XmlObjectBase)x).doubleValue()) < 0)
-            {
-                context.invalid(
-                    "Double (" + v + ") is less than " +
-                        "min inclusive facet (" + d + ") for " + QNameHelper.readable(sType));
-            }
-        }
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE)) != null)
-        {
-            if (compare(v, d = ((XmlObjectBase)x).doubleValue()) > 0)
-            {
-                context.invalid(
-                    "Double (" + v + ") is greater than " +
-                        "max inclusive facet (" + d + ") for " + QNameHelper.readable(sType));
-            }
-        }
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE)) != null)
-        {
-            if (compare(v, d = ((XmlObjectBase)x).doubleValue()) >= 0)
-            {
-                context.invalid(
-                    "Double (" + v + ") is greater than or equal to " +
-                        "max exclusive facet (" + d + ") for " + QNameHelper.readable(sType));
-            }
-        }
-        
-        XmlObject[] vals = sType.getEnumerationValues();
-        if (vals != null)
-        {
-            for (int i = 0; i < vals.length; i++)
-                if (compare(v, ((XmlObjectBase)vals[i]).doubleValue()) == 0)
-                    return;
-            context.invalid("Double (" + v + ") is not a valid enumerated value for " + QNameHelper.readable(sType));
-        }
-    }
-
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(lexical, schemaType(), ctx);
-        validateValue(doubleValue(), schemaType(), ctx);
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaFloatHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaFloatHolder.java
deleted file mode 100644
index f42f68e..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaFloatHolder.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-public abstract class JavaFloatHolder extends XmlObjectBase
-{
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_FLOAT; }
-
-    private float _value;
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-
-    // gets+sets raw text value
-    protected String compute_text(NamespaceManager nsm) {
-        return serialize(_value);
-    }
-
-    public static String serialize(float f)
-    {
-        if (f == Float.POSITIVE_INFINITY)
-            return "INF";
-        else if (f == Float.NEGATIVE_INFINITY)
-            return "-INF";
-        else if (f == Float.NaN)
-            return "NaN";
-        else
-            return Float.toString(f);
-    }
-    protected void set_text(String s)
-    {
-        set_float(validateLexical(s,_voorVc));
-    }
-    public static float validateLexical(String v, ValidationContext context)
-    {
-        try
-        {
-            return Float.parseFloat(v);
-        }
-        catch(NumberFormatException e)
-        {
-            if (v.equals("INF"))  return Float.POSITIVE_INFINITY;
-            if (v.equals("-INF")) return Float.NEGATIVE_INFINITY;
-            if (v.equals("NaN"))  return Float.NaN;
-            
-            context.invalid("Invalid float value");
-
-            return Float.NaN;
-        }
-    }
-    protected void set_nil()
-    {
-        _value = 0.0f;
-    }
-    // numerics: fractional
-    public BigDecimal bigDecimalValue() { check_dated(); return new BigDecimal(_value); }
-    public double doubleValue() { check_dated(); return _value; }
-    public float floatValue() { check_dated(); return _value; }
-
-    // setters
-    protected void set_double(double v) { set_float((float)v); }
-    protected void set_float(float v) { _value = v; }
-    protected void set_long(long v) { set_float((float)v); }
-    protected void set_BigDecimal(BigDecimal v) { set_float(v.floatValue()); }
-    protected void set_BigInteger(BigInteger v) { set_float(v.floatValue()); }
-
-    // comparators
-    protected int compare_to(XmlObject f)
-    {
-        return compare(_value,((XmlObjectBase)f).floatValue());
-    }
-
-    static int compare(float thisValue, float thatValue)
-    {
-        if (thisValue < thatValue) return -1;
-        if (thisValue > thatValue) return  1;
-
-        int thisBits = Float.floatToIntBits(thisValue);
-        int thatBits = Float.floatToIntBits(thatValue);
-
-        return thisBits == thatBits ? 0 : thisBits < thatBits ? -1 : 1;
-    }
-
-    protected boolean equal_to(XmlObject f)
-    {
-        return compare(_value, ((XmlObjectBase)f).floatValue()) == 0;
-    }
-
-    protected int value_hash_code()
-    {
-        return Float.floatToIntBits(_value);
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaFloatHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaFloatHolderEx.java
deleted file mode 100644
index f84e18c..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaFloatHolderEx.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-
-
-public abstract class JavaFloatHolderEx extends JavaFloatHolder
-{
-    public JavaFloatHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-    
-    private SchemaType _schemaType;
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    protected void set_float(float v)
-    {
-        if (_validateOnSet())
-            validateValue(v, _schemaType, _voorVc);
-        super.set_float(v);
-    }
-    
-    public static float validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        float f = JavaFloatHolder.validateLexical(v, context);
-
-        if (!sType.matchPatternFacet(v))
-            context.invalid("Float (" + v + ") does not match pattern for " + QNameHelper.readable(sType));
-        
-        return f;
-    }
-    
-    public static void validateValue(float v, SchemaType sType, ValidationContext context)
-    {
-        XmlObject x;
-        float f;
-
-        if ((x = sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE)) != null)
-        {
-            if (compare(v, f = ((XmlObjectBase)x).floatValue()) <= 0)
-            {
-                context.invalid(
-                    "Float (" + v + ") is less than or equal to " +
-                        "min exclusive facet (" + f + ") for " + QNameHelper.readable(sType));
-            }
-        }
-
-        if ((x = sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE)) != null)
-        {
-            if (compare(v, f = ((XmlObjectBase)x).floatValue()) < 0)
-            {
-                context.invalid(
-                    "Float (" + v + ") is less than " +
-                        "min inclusive facet (" + f + ") for " + QNameHelper.readable(sType));
-            }
-        }
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE)) != null)
-        {
-            if (compare(v, f = ((XmlObjectBase)x).floatValue()) > 0)
-            {
-                context.invalid(
-                    "Float (" + v + ") is greater than " +
-                        "max inclusive facet (" + f + ") for " + QNameHelper.readable(sType));
-            }
-        }
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE)) != null)
-        {
-            if (compare(v, f = ((XmlObjectBase)x).floatValue()) >= 0)
-            {
-                context.invalid(
-                    "Float (" + v + ") is greater than or equal to " +
-                        "max exclusive facet (" + f + ") for " + QNameHelper.readable(sType));
-            }
-        }
-        
-        XmlObject[] vals = sType.getEnumerationValues();
-        if (vals != null)
-        {
-            for (int i = 0; i < vals.length; i++)
-                if (compare(v, ((XmlObjectBase)vals[i]).floatValue()) == 0)
-                    return;
-            context.invalid("Float (" + v + ") is not a valid enumerated value for " + QNameHelper.readable(sType));
-        }
-    }
-    
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(lexical, schemaType(), ctx);
-        validateValue(floatValue(), schemaType(), ctx);
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaGDateHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaGDateHolderEx.java
deleted file mode 100644
index 46fe8d2..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaGDateHolderEx.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.GDate;
-import org.apache.xmlbeans.GDateSpecification;
-import org.apache.xmlbeans.GDateBuilder;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-import java.util.Date;
-import java.util.Calendar;
-
-public abstract class JavaGDateHolderEx extends XmlObjectBase
-{
-    public JavaGDateHolderEx(SchemaType type, boolean complex)
-    {
-        _schemaType = type;
-        initComplexType(complex, false);
-    }
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    private SchemaType _schemaType;
-    private GDate _value;
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-
-    // sets/gets raw text value
-    protected String compute_text(NamespaceManager nsm)
-        { return _value == null ? "" : _value.toString(); }
-
-    protected void set_text(String s)
-    {
-        GDate newVal;
-        if (_validateOnSet())
-            newVal = validateLexical(s, _schemaType, _voorVc);
-        else
-            newVal = lex(s, _schemaType, _voorVc);
-
-        if (_validateOnSet() && newVal != null)
-            validateValue(newVal, _schemaType, _voorVc);
-
-        _value = newVal;
-    }
-
-    public static GDate lex(String v, SchemaType sType, ValidationContext context)
-    {
-        GDate date = null;
-        
-        try
-        {
-            date = new GDate(v);
-        }
-        catch (Exception e)
-        {
-            context.invalid("Date value is malformed: "+v);
-        }
-
-        if (date != null)
-        {
-            if (date.getBuiltinTypeCode() != sType.getPrimitiveType().getBuiltinTypeCode())
-            {
-                context.invalid("Date value is of wrong type: " + v);
-                date = null;
-            }
-            else if (!date.isValid())
-            {
-                context.invalid("Date value is invalid: " + v);
-                date = null;
-            }
-        }
-
-        return date;
-    }
-
-    public static GDate validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-
-        GDate date = lex(v, sType, context);
-
-        if (date != null && sType.hasPatternFacet())
-            if (!sType.matchPatternFacet(v))
-                context.invalid("Date (' + v + ') does not match pattern for " + QNameHelper.readable(sType));
-        
-        return date;
-    }
-
-    public static void validateValue(GDateSpecification v, SchemaType sType, ValidationContext context)
-    {
-        XmlObject x;
-        GDate g;
-        
-        if (v.getBuiltinTypeCode() != sType.getPrimitiveType().getBuiltinTypeCode())
-            context.invalid("Date (" + v + ") does not have the set of fields required for " + QNameHelper.readable(sType));
-
-        if ((x = sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE)) != null)
-            if (v.compareToGDate(g = ((XmlObjectBase)x).gDateValue()) <= 0)
-                context.invalid("Date (" + v + ") is less than or equal to min exclusive facet (" + g + ") for " + QNameHelper.readable(sType) );
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE)) != null)
-            if (v.compareToGDate(g = ((XmlObjectBase)x).gDateValue()) < 0)
-                context.invalid("Date (" + v + ") is less than min inclusive facet (" + g + ") for " + QNameHelper.readable(sType) );
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE)) != null)
-            if (v.compareToGDate(g = ((XmlObjectBase)x).gDateValue()) >= 0)
-                context.invalid("Date (" + v + ") is greater than or equal to max exclusive facet (" + g + ") for " + QNameHelper.readable(sType) );
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE)) != null)
-            if (v.compareToGDate(g = ((XmlObjectBase)x).gDateValue()) > 0)
-                context.invalid("Date (" + v + ") is greater than max inclusive facet (" + g + ") for " + QNameHelper.readable(sType) );
-        
-        XmlObject[] vals = sType.getEnumerationValues();
-        if (vals != null)
-        {
-            for (int i = 0; i < vals.length; i++)
-                if (v.compareToGDate(((XmlObjectBase)vals[i]).gDateValue()) == 0)
-                    return;
-            context.invalid("Date (" + v + ") is not a valid enumeration value for " + QNameHelper.readable(sType));
-        }
-    }
-
-    protected void set_nil()
-    {
-        _value = null;
-    }
-
-    // numerics: gYear, gMonth, gDay accept an integer
-    public int intValue()
-    {
-        int code = schemaType().getPrimitiveType().getBuiltinTypeCode();
-
-        if (code != SchemaType.BTC_G_DAY &&
-                code != SchemaType.BTC_G_MONTH &&
-                code != SchemaType.BTC_G_YEAR)
-            throw new XmlValueOutOfRangeException();
-
-        check_dated();
-
-        if (_value == null)
-            return 0;
-
-        switch (code)
-        {
-            case SchemaType.BTC_G_DAY:
-                return _value.getDay();
-            case SchemaType.BTC_G_MONTH:
-                return _value.getMonth();
-            case SchemaType.BTC_G_YEAR:
-                return _value.getYear();
-            default:
-                assert(false);
-                throw new IllegalStateException();
-        }
-    }
-
-    public GDate gDateValue()
-    {
-        check_dated();
-
-        if (_value == null)
-            return null;
-
-        return _value;
-    }
-    
-    public Calendar calendarValue()
-    {
-        check_dated();
-
-        if (_value == null)
-            return null;
-
-        return _value.getCalendar();
-    }
-
-    public Date dateValue()
-    {
-        check_dated();
-
-        if (_value == null)
-            return null;
-
-        return _value.getDate();
-    }
-
-    // setters
-    protected void set_int(int v)
-    {
-        int code = schemaType().getPrimitiveType().getBuiltinTypeCode();
-
-        if (code != SchemaType.BTC_G_DAY &&
-                code != SchemaType.BTC_G_MONTH &&
-                code != SchemaType.BTC_G_YEAR)
-            throw new XmlValueOutOfRangeException();
-
-        GDateBuilder value = new GDateBuilder();
-
-        switch (code)
-        {
-            case SchemaType.BTC_G_DAY:
-                value.setDay(v); break;
-            case SchemaType.BTC_G_MONTH:
-                value.setMonth(v); break;
-            case SchemaType.BTC_G_YEAR:
-                value.setYear(v); break;
-        }
-
-        if (_validateOnSet())
-            validateValue(value, _schemaType, _voorVc);
-
-        _value = value.toGDate();
-    }
-
-    protected void set_GDate(GDateSpecification v)
-    {
-        int code = schemaType().getPrimitiveType().getBuiltinTypeCode();
-
-        GDate candidate;
-
-        if (v.isImmutable() && (v instanceof GDate) && v.getBuiltinTypeCode() == code)
-            candidate = (GDate)v;
-        else
-        {
-            // truncate extra fields from the date if necessary.
-            if (v.getBuiltinTypeCode() != code)
-            {
-                GDateBuilder gDateBuilder = new GDateBuilder(v);
-                gDateBuilder.setBuiltinTypeCode(code);
-                v = gDateBuilder;
-            }
-            candidate = new GDate(v);
-        }
-
-        if (_validateOnSet())
-            validateValue(candidate, _schemaType, _voorVc);
-
-        _value = candidate;
-    }
-    
-    protected void set_Calendar(Calendar c)
-    {
-        int code = schemaType().getPrimitiveType().getBuiltinTypeCode();
-
-        GDateBuilder gDateBuilder = new GDateBuilder(c);
-        gDateBuilder.setBuiltinTypeCode(code);
-        GDate value = gDateBuilder.toGDate();
- 
-        if (_validateOnSet())
-            validateValue(value, _schemaType, _voorVc);
-
-        _value = value;
-    }
-
-    protected void set_Date(Date v)
-    {
-        int code = schemaType().getPrimitiveType().getBuiltinTypeCode();
-
-        if (code != SchemaType.BTC_DATE && code != SchemaType.BTC_DATE_TIME ||
-            v == null)
-            throw new XmlValueOutOfRangeException();
-
-        GDateBuilder gDateBuilder = new GDateBuilder(v);
-        gDateBuilder.setBuiltinTypeCode(code);
-        GDate value = gDateBuilder.toGDate();
- 
-        if (_validateOnSet())
-            validateValue(value, _schemaType, _voorVc);
-
-        _value = value;
-    }
-
-
-    // comparators
-    protected int compare_to(XmlObject obj)
-    {
-        return _value.compareToGDate(((XmlObjectBase)obj).gDateValue());
-    }
-
-    protected boolean equal_to(XmlObject obj)
-    {
-        return _value.equals(((XmlObjectBase)obj).gDateValue());
-    }
-
-    protected int value_hash_code()
-    {
-        return _value.hashCode();
-    }
-    
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(lexical, schemaType(), ctx);
-        validateValue(gDateValue(), schemaType(), ctx);
-    }
-    
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaGDurationHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaGDurationHolderEx.java
deleted file mode 100644
index a26a152..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaGDurationHolderEx.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.GDuration;
-import org.apache.xmlbeans.GDurationSpecification;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.XmlObject;
-
-public abstract class JavaGDurationHolderEx extends XmlObjectBase
-{
-    public JavaGDurationHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    GDuration _value;
-    private SchemaType _schemaType;
-
-    public SchemaType schemaType() { return _schemaType; }
-
-    protected void set_text(String s)
-    {
-        GDuration newVal;
-        if (_validateOnSet())
-            newVal = validateLexical(s, _schemaType, _voorVc);
-        else
-            newVal = lex(s, _voorVc);
-
-        if (_validateOnSet() && newVal != null)
-            validateValue(newVal, _schemaType, _voorVc);
-
-        _value = newVal;
-    }
-
-    protected void set_GDuration(GDurationSpecification v)
-    {
-        if (_validateOnSet())
-            validateValue(v, _schemaType, _voorVc);
-        
-        if (v.isImmutable() && (v instanceof GDuration))
-            _value = (GDuration)v;
-        else
-            _value = new GDuration(v);
-    }
-
-    protected String compute_text(NamespaceManager nsm)
-        { return _value == null ? "" : _value.toString(); }
-
-    protected void set_nil()
-    {
-        _value = null;
-    }
-
-    public GDuration gDurationValue()
-    {
-        check_dated();
-
-        return _value == null ? null : _value;
-    }
-
-    public static GDuration lex(String v, ValidationContext context)
-    {
-        GDuration duration = null;
-        
-        try
-        {
-            duration = new GDuration(v);
-        }
-        catch (Exception e)
-        {
-            context.invalid("Duration value is malformed: "+v);
-        }
-
-        return duration;
-    }
-
-    public static GDuration validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        GDuration duration = lex(v, context);
-
-        if (duration != null && sType.hasPatternFacet())
-            if (!sType.matchPatternFacet(v))
-                context.invalid("Duration (" + v + ") does not match pattern for " + QNameHelper.readable(sType));
-        
-        return duration;
-    }
-
-    public static void validateValue(GDurationSpecification v, SchemaType sType, ValidationContext context)
-    {
-        XmlObject x;
-        GDuration g;
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE)) != null)
-            if (v.compareToGDuration(g = ((XmlObjectBase)x).gDurationValue()) <= 0)
-                context.invalid("Duration (" + v + ") is less than or equal to min exclusive facet (" + g + ") for " + QNameHelper.readable(sType) );
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE)) != null)
-            if (v.compareToGDuration(g = ((XmlObjectBase)x).gDurationValue()) < 0)
-                context.invalid("Duration (" + v + ") is less than min inclusive facet (" + g + ") for " + QNameHelper.readable(sType) );
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE)) != null)
-            if (v.compareToGDuration(g = ((XmlObjectBase)x).gDurationValue()) >= 0)
-                context.invalid("Duration (" + v + ") is greater than or equal to max exclusive facet (" + g + ") for " + QNameHelper.readable(sType) );
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE)) != null)
-            if (v.compareToGDuration(g = ((XmlObjectBase)x).gDurationValue()) > 0)
-                context.invalid("Duration (" + v + ") is greater than max inclusive facet (" + g + ") for " + QNameHelper.readable(sType) );
-        
-        XmlObject[] vals = sType.getEnumerationValues();
-        if (vals != null)
-        {
-            for (int i = 0; i < vals.length; i++)
-                if (v.compareToGDuration(((XmlObjectBase)vals[i]).gDurationValue()) == 0)
-                    return;
-            context.invalid("Duration (" + v + ") is not a valid enumeration value for " + QNameHelper.readable(sType));
-        }
-    }
-    
-    protected int compare_to(XmlObject d)
-    {
-        return _value.compareToGDuration(((XmlObjectBase) d).gDurationValue());
-    }
-
-    protected boolean equal_to(XmlObject d)
-    {
-        return _value.equals(((XmlObjectBase) d).gDurationValue());
-    }
-
-    protected int value_hash_code()
-    {
-        return _value.hashCode();
-    }
-    
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(lexical, schemaType(), ctx);
-        validateValue(gDurationValue(), schemaType(), ctx);
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaHexBinaryHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaHexBinaryHolder.java
deleted file mode 100644
index d1dbff7..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaHexBinaryHolder.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-
-import org.apache.xmlbeans.impl.util.HexBin;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlHexBinary;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-import java.security.NoSuchAlgorithmException;
-import java.security.MessageDigest;
-import java.util.Arrays;
-import java.io.UnsupportedEncodingException;
-
-public abstract class JavaHexBinaryHolder extends XmlObjectBase
-{
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_HEX_BINARY; }
-
-    protected byte[] _value;
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-
-    // gets raw text value
-    protected String compute_text(NamespaceManager nsm)
-    {
-        return new String(HexBin.encode(_value));
-    }
-    protected void set_text(String s)
-    {
-        _hashcached = false;
-        if (_validateOnSet())
-            _value = validateLexical(s, schemaType(), _voorVc);
-        else
-            _value = lex(s, _voorVc);
-    }
-    protected void set_nil()
-    {
-        _hashcached = false;
-        _value = null;
-    }
-
-    public static byte[] lex(String v, ValidationContext context)
-    {
-        byte[] vBytes = null;
-        try
-        {
-            vBytes = v.getBytes("UTF-8");
-        }
-        catch(UnsupportedEncodingException uee)
-        {
-            // should never happen - UTF-8 is always supported
-        }
-        byte[] bytes = HexBin.decode(vBytes);
-
-        if (bytes == null)
-        {
-            // TODO - get a decent error with line numbers and such here
-            context.invalid("Hex encoded data not encoded properly");
-        }
-
-        return bytes;
-    }
-
-    public static byte[] validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        byte[] bytes = lex(v, context);
-
-        if (bytes == null)
-            return null;
-        
-        if (!sType.matchPatternFacet(v))
-        {
-            context.invalid( "Hex encoded data does not match pattern for " + QNameHelper.readable(sType));
-            return null;
-        }
-
-        return bytes;
-    }
-
-    public byte[] byteArrayValue()
-    {
-        check_dated();
-        if (_value == null)
-            return null;
-
-        byte[] result = new byte[_value.length];
-        System.arraycopy(_value, 0, result, 0, _value.length);
-        return result;
-    }
-
-    // setters
-    protected void set_ByteArray(byte[] ba)
-    {
-        _hashcached = false;
-        _value = new byte[ba.length];
-        System.arraycopy(ba, 0, _value, 0, ba.length);
-    }
-
-    // comparators
-    protected boolean equal_to(XmlObject i)
-    {
-        byte[] ival = ((XmlHexBinary) i).getByteArrayValue();
-        return Arrays.equals(_value, ival);
-    }
-
-    //because computing hashcode is expensive we'll cache it
-    protected boolean _hashcached = false;
-    protected int hashcode = 0;
-    protected static MessageDigest md5;
-    static
-    {
-        try
-        {
-            md5 = MessageDigest.getInstance("MD5");
-        }
-        catch( NoSuchAlgorithmException e )
-        {
-            throw new IllegalStateException("Cannot find MD5 hash Algorithm");
-        }
-    }
-
-    protected int value_hash_code()
-    {
-        if( _hashcached )
-            return hashcode;
-
-        _hashcached = true;
-
-        if( _value == null )
-            return hashcode = 0;
-
-        byte[] res = md5.digest(_value);
-        return hashcode = res[0]<<24 + res[1]<<16 + res[2]<<8 + res[3];
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaHexBinaryHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaHexBinaryHolderEx.java
deleted file mode 100644
index 490ca9b..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaHexBinaryHolderEx.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-
-
-public abstract class JavaHexBinaryHolderEx extends JavaHexBinaryHolder
-{
-    private SchemaType _schemaType;
-
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    public JavaHexBinaryHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    protected int get_wscanon_rule()
-    {
-        return schemaType().getWhiteSpaceRule();
-    }
-
-    protected void set_text(String s)
-    {
-        byte[] v;
-
-        if (_validateOnSet())
-            v = validateLexical(s, schemaType(), _voorVc);
-        else
-            v = lex(s, _voorVc);
-
-        if (_validateOnSet() && v != null)
-            validateValue(v, schemaType(), XmlObjectBase._voorVc);
-        
-        super.set_ByteArray(v);
-
-        _value = v;
-    }
-
-    // setters
-    protected void set_ByteArray(byte[] v)
-    {
-        if (_validateOnSet())
-            validateValue(v, schemaType(), _voorVc);
-        
-        super.set_ByteArray(v);
-    }
-
-    public static void validateValue(byte[] v, SchemaType sType, ValidationContext context)
-    {
-        int i;
-        XmlObject o;
-
-        if ((o = sType.getFacet(SchemaType.FACET_LENGTH)) != null)
-        {
-            if ((i = ((XmlObjectBase)o).bigIntegerValue().intValue()) != v.length)
-            {
-                context.invalid(
-                    "Hex encoded data does not have " + i +
-                        " bytes per length facet" );
-            }
-        }
-
-        if ((o = sType.getFacet( SchemaType.FACET_MIN_LENGTH )) != null)
-        {
-            if ((i = ((XmlObjectBase)o).bigIntegerValue().intValue()) > v.length)
-            {
-                context.invalid(
-                    "Hex encoded data has only " + v.length +
-                        " bytes, fewer than min length facet" );
-            }
-        }
-
-        if ((o = sType.getFacet( SchemaType.FACET_MAX_LENGTH )) != null)
-        {
-            if ((i = ((XmlObjectBase)o).bigIntegerValue().intValue()) < v.length)
-            {
-                context.invalid(
-                    "Hex encoded data has " + v.length +
-                        " bytes, more than max length facet" );
-            }
-        }
-        
-        XmlObject[] vals = sType.getEnumerationValues();
-
-        if (vals != null)
-        {
-            enumLoop: for ( i = 0 ; i < vals.length ; i++ )
-            {
-                byte[] enumBytes = ((XmlObjectBase)vals[i]).byteArrayValue();
-
-                if (enumBytes.length != v.length)
-                    continue;
-
-                for ( int j = 0 ; j < enumBytes.length ; j++ )
-                    if (enumBytes[j] != v[j])
-                        continue enumLoop;
-                
-                break;
-            }
-            
-            if (i >= vals.length)
-                context.invalid("Hex encoded data does not match any of the enumeration values");
-        }
-    }
-
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(lexical, schemaType(), ctx);
-        validateValue(byteArrayValue(), schemaType(), ctx);
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntHolder.java
deleted file mode 100644
index 9a17cbd..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntHolder.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SimpleValue;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-
-public abstract class JavaIntHolder extends XmlObjectBase
-{
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_INT; }
-
-    private int _value;
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-
-    // gets raw text value
-    public String compute_text(NamespaceManager nsm) { return Long.toString(_value); }
-    protected void set_text(String s)
-    {
-        try { set_int(Integer.parseInt(s)); }
-        catch (Exception e) { throw new XmlValueOutOfRangeException(); }
-    }
-    protected void set_nil()
-    {
-        _value = 0;
-    }
-    // numerics: fractional
-    public BigDecimal bigDecimalValue() { check_dated(); return new BigDecimal(_value); }
-    public BigInteger bigIntegerValue() { check_dated(); return BigInteger.valueOf(_value); }
-    public long longValue() { check_dated(); return _value; }
-    public int intValue() { check_dated(); return _value; }
-
-    static final BigInteger _max = BigInteger.valueOf(Integer.MAX_VALUE);
-    static final BigInteger _min = BigInteger.valueOf(Integer.MIN_VALUE);
-
-    // setters
-    protected void set_BigDecimal(BigDecimal v) { set_BigInteger(v.toBigInteger()); }
-    protected void set_BigInteger(BigInteger v)
-    {
-        if (v.compareTo(_max) > 0 || v.compareTo(_min) < 0)
-            throw new XmlValueOutOfRangeException();
-        set_int(v.intValue());
-    }
-    protected void set_long(long l)
-    {
-        if (l > Integer.MAX_VALUE || l < Integer.MIN_VALUE)
-            throw new XmlValueOutOfRangeException();
-        set_int((int)l);
-    }
-    protected void set_int(int i)
-    {
-        _value = i;
-    }
-
-    // comparators
-    protected int compare_to(XmlObject i)
-    {
-        if (((SimpleValue)i).instanceType().getDecimalSize() > SchemaType.SIZE_INT)
-            return -i.compareTo(this);
-
-        return _value == ((XmlObjectBase)i).intValue() ? 0 :
-               _value < ((XmlObjectBase)i).intValue() ? -1 : 1;
-    }
-
-    protected boolean equal_to(XmlObject i)
-    {
-        if (((SimpleValue)i).instanceType().getDecimalSize() > SchemaType.SIZE_INT)
-            return i.valueEquals(this);
-
-        return _value == ((XmlObjectBase)i).intValue();
-    }
-
-    /**
-     * Note, this is carefully aligned with hash codes for all xsd:decimal
-     * primitives.
-     */
-    protected int value_hash_code()
-    {
-        return _value;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntHolderEx.java
deleted file mode 100644
index 43ccbaf..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntHolderEx.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-public abstract class JavaIntHolderEx extends JavaIntHolder
-{
-    public JavaIntHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-        
-    private SchemaType _schemaType;
-
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    protected void set_text(String s)
-    {
-        int v;
-
-        try { v = Integer.parseInt(s); }
-        catch (Exception e) { throw new XmlValueOutOfRangeException(); }
-        
-        if (_validateOnSet())
-        {
-            validateValue(v, _schemaType, _voorVc);
-            validateLexical(s, _schemaType, _voorVc);
-        }
-
-        super.set_int(v);
-    }
-    
-    protected void set_int(int v)
-    {
-        if (_validateOnSet())
-            validateValue(v, _schemaType, _voorVc);
-
-        super.set_int(v);
-    }
-    
-    public static void validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        JavaDecimalHolder.validateLexical(v, context);
-        
-        // check pattern
-        if (sType.hasPatternFacet())
-        {
-            if (!sType.matchPatternFacet(v))
-            {
-                context.invalid("Integer (" + v + ") does not match pattern for " + QNameHelper.readable(sType));
-            }
-        }
-    }
-    
-    private static void validateValue(int v, SchemaType sType, ValidationContext context)
-    {
-        // total digits
-        XmlObject td = sType.getFacet(SchemaType.FACET_TOTAL_DIGITS);
-        if (td != null)
-        {
-            String temp = Integer.toString(v);
-            int len = temp.length();
-            if (len > 0 && temp.charAt(0) == '-')
-                len -= 1;
-            int m = getIntValue(td);
-            if (len > m)
-            {
-                context.invalid(
-                    "Integer total digits (" + temp + ") is greater than " +
-                        "total digits facet (" + getIntValue(td) + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // min ex
-        XmlObject mine = sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
-        if (mine != null)
-        {
-            int m = getIntValue(mine);
-            if (!(v > m))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is less than or equal to " +
-                        "min exclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // min in
-        XmlObject mini = sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
-        if (mini != null)
-        {
-            int m = getIntValue(mini);
-            if (!(v >= m))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is less than " +
-                        "min inclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // max in
-        XmlObject maxi = sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
-        if (maxi != null)
-        {
-            int m = getIntValue(maxi);
-            if (!(v <= m))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is greater than " +
-                        "max inclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // max ex
-        XmlObject maxe = sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
-        if (maxe != null)
-        {
-            int m = getIntValue(maxe);
-            if (!(v < m))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is greater than or equal to " +
-                        "max exclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // enumeration
-        XmlObject[] vals = sType.getEnumerationValues();
-        if (vals != null)
-        {
-            for (int i = 0; i < vals.length; i++)
-            {
-                if (v == getIntValue(vals[i]))
-                    return;
-            }
-            context.invalid("Integer (" + v + ") does not match any enumeration values for " + QNameHelper.readable(sType));
-        }
-    }
-
-    private static int getIntValue(XmlObject o) {
-        SchemaType s = o.schemaType();
-        switch (s.getDecimalSize()) 
-        {
-            case SchemaType.SIZE_BIG_DECIMAL:
-                return ((XmlObjectBase)o).bigDecimalValue().intValue();
-            case SchemaType.SIZE_BIG_INTEGER:
-                return ((XmlObjectBase)o).bigIntegerValue().intValue();
-            case SchemaType.SIZE_LONG:
-                return (int)((XmlObjectBase)o).longValue();
-            default:
-                return ((XmlObjectBase)o).intValue();
-        }
-
-    }
-
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(lexical, schemaType(), ctx);
-        validateValue(intValue(), schemaType(), ctx);
-    }
-    
-}
-
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntegerHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntegerHolder.java
deleted file mode 100644
index f34f806..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntegerHolder.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SimpleValue;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-
-public abstract class JavaIntegerHolder extends XmlObjectBase
-{
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_INTEGER; }
-
-    private BigInteger _value;
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-
-    // gets/sets raw text value
-    protected String compute_text(NamespaceManager nsm) { return _value.toString(); }
-    protected void set_text(String s)
-    {
-        set_BigInteger(lex(s, _voorVc));
-    }
-    public static BigInteger lex(String s, ValidationContext vc) 
-    {
-        if (s.length() > 0 && s.charAt( 0 ) == '+' )
-            s = s.substring(1);
-
-        try { return new BigInteger(s); }
-        catch (Exception e) { vc.invalid("Not a valid integer: " + s); return null; }
-    }
-    protected void set_nil()
-    {
-        _value = null;
-    }
-    // numerics: fractional
-    public BigDecimal bigDecimalValue() { check_dated(); return _value == null ? null : new BigDecimal(_value); }
-    public BigInteger bigIntegerValue() { check_dated(); return _value; }
-
-    // setters
-    protected void set_BigDecimal(BigDecimal v) { _value = v.toBigInteger(); }
-    protected void set_BigInteger(BigInteger v) { _value = v; }
-
-    // comparators
-    protected int compare_to(XmlObject i)
-    {
-        if (((SimpleValue)i).instanceType().getDecimalSize() > SchemaType.SIZE_BIG_INTEGER)
-            return -i.compareTo(this);
-
-        return _value.compareTo(((XmlObjectBase)i).bigIntegerValue());
-    }
-
-    protected boolean equal_to(XmlObject i)
-    {
-        if (((SimpleValue)i).instanceType().getDecimalSize() > SchemaType.SIZE_BIG_INTEGER)
-            return i.valueEquals(this);
-
-        return _value.equals(((XmlObjectBase)i).bigIntegerValue());
-    }
-
-    static private BigInteger _maxlong = BigInteger.valueOf(Long.MAX_VALUE);
-    static private BigInteger _minlong = BigInteger.valueOf(Long.MIN_VALUE);
-
-    /**
-     * Note, this is carefully aligned with hash codes for all xsd:decimal
-     * primitives.
-     */
-    protected int value_hash_code()
-    {
-        if (_value.compareTo(_maxlong) > 0 ||
-            _value.compareTo(_minlong) < 0)
-            return _value.hashCode();
-
-        long longval = _value.longValue();
-
-        return (int)((longval >> 32) * 19 + longval);
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntegerHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntegerHolderEx.java
deleted file mode 100644
index 8be2e25..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntegerHolderEx.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import java.math.BigInteger;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlInt;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-public class JavaIntegerHolderEx extends JavaIntegerHolder
-{
-    public JavaIntegerHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-    
-    private SchemaType _schemaType;
-
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    protected void set_text(String s)
-    {
-        BigInteger v = lex(s, _voorVc);
-        
-        if (_validateOnSet())
-            validateValue(v, _schemaType, _voorVc);
-    
-        if (_validateOnSet())
-            validateLexical(s, _schemaType, _voorVc);
-
-        super.set_BigInteger(v);
-    }
-    
-    protected void set_BigInteger(BigInteger v)
-    {
-        if (_validateOnSet())
-            validateValue(v, _schemaType, _voorVc);
-
-        super.set_BigInteger(v);
-    }
-    
-    public static void validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        JavaDecimalHolder.validateLexical(v, context);
-        
-        // check pattern
-        if (sType.hasPatternFacet())
-        {
-            if (!sType.matchPatternFacet(v))
-            {
-                context.invalid("Integer (" + v + ") does not match pattern for " + QNameHelper.readable(sType));
-            }
-        }
-    }
-
-    private static void validateValue(BigInteger v, SchemaType sType, ValidationContext context)
-    {
-        // total digits
-        XmlInt td = (XmlInt)sType.getFacet(SchemaType.FACET_TOTAL_DIGITS);
-        if (td != null)
-        {
-            String temp = v.toString();
-            int len = temp.length();
-            if (len > 0 && temp.charAt(0) == '-')
-                len -= 1;
-            if (len > td.getIntValue())
-            {
-                context.invalid(
-                    "Integer total digits (" + temp + ") is greater than " +
-                        "total digits facet (" + td.getIntValue() + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // min ex
-        XmlObject mine = sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
-        if (mine != null)
-        {
-            BigInteger m = getBigIntegerValue(mine);
-            if (!(v.compareTo(m) > 0))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is less than or equal to " +
-                        "min exclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // min in
-        XmlObject mini = sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
-        if (mini != null)
-        {
-            BigInteger m = getBigIntegerValue(mini);
-            if (!(v.compareTo(m) >= 0))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is less than " +
-                        "min inclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // max in
-        XmlObject maxi = sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
-        if (maxi != null)
-        {
-            BigInteger m = getBigIntegerValue(maxi);
-            if (!(v.compareTo(m) <= 0))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is greater than " +
-                        "max inclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // max ex
-        XmlObject maxe = sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
-        if (maxe != null)
-        {
-            BigInteger m = getBigIntegerValue(maxe);
-            if (!(v.compareTo(m) < 0))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is greater than or equal to " +
-                        "max exclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // enumeration
-        XmlObject[] vals = sType.getEnumerationValues();
-        if (vals != null)
-        {
-            for (int i = 0; i < vals.length; i++)
-            {
-                if (v.equals(getBigIntegerValue(vals[i])))
-                    return;
-            }
-            context.invalid("Integer (" + v + ") does not match any enumeration values for " + QNameHelper.readable(sType));
-        }
-    }
-
-    private static BigInteger getBigIntegerValue(XmlObject o)
-    {
-        SchemaType s = o.schemaType();
-        switch (s.getDecimalSize()) 
-        {
-            case SchemaType.SIZE_BIG_DECIMAL:
-                return ((XmlObjectBase)o).bigDecimalValue().toBigInteger();
-            case SchemaType.SIZE_BIG_INTEGER:
-                return ((XmlObjectBase)o).bigIntegerValue();
-            default:
-                throw new IllegalStateException("Bad facet type for Big Int: " + s);
-        }
-    }
-
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(lexical, schemaType(), ctx);
-        validateValue(bigIntegerValue(), schemaType(), ctx);
-    }
-    
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaLongHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaLongHolder.java
deleted file mode 100644
index 4f31e47..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaLongHolder.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SimpleValue;
-
-import java.math.BigInteger;
-import java.math.BigDecimal;
-
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-
-public abstract class JavaLongHolder extends XmlObjectBase
-{
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_LONG; }
-
-    private long _value;
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-
-    // gets raw text value
-    protected String compute_text(NamespaceManager nsm) { return Long.toString(_value); }
-    protected void set_text(String s)
-    {
-        try { set_long(Long.parseLong(s)); }
-        catch (Exception e) { throw new XmlValueOutOfRangeException(); }
-    }
-    protected void set_nil()
-    {
-        _value = 0L;
-    }
-
-    // numerics: fractional
-    public BigDecimal bigDecimalValue() { check_dated(); return BigDecimal.valueOf(_value); }
-    public BigInteger bigIntegerValue() { check_dated(); return BigInteger.valueOf(_value); }
-    public long longValue() { check_dated(); return _value; }
-
-    private static final BigInteger _max = BigInteger.valueOf(Long.MAX_VALUE);
-    private static final BigInteger _min = BigInteger.valueOf(Long.MIN_VALUE);
-
-    // setters
-    protected void set_BigDecimal(BigDecimal v) { set_BigInteger(v.toBigInteger()); }
-    protected void set_BigInteger(BigInteger v)
-    {
-        if (v.compareTo(_max) > 0 || v.compareTo(_min) < 0)
-            throw new XmlValueOutOfRangeException();
-        _value = v.longValue();
-    }
-    protected void set_long(long l) { _value = l; }
-
-    // comparators
-    protected int compare_to(XmlObject l)
-    {
-        if (((SimpleValue)l).instanceType().getDecimalSize() > SchemaType.SIZE_LONG)
-            return -l.compareTo(this);
-
-        return _value == ((XmlObjectBase)l).longValue() ? 0 :
-               _value < ((XmlObjectBase)l).longValue() ? -1 : 1;
-    }
-
-    protected boolean equal_to(XmlObject l)
-    {
-        if (((SimpleValue)l).instanceType().getDecimalSize() > SchemaType.SIZE_LONG)
-            return l.valueEquals(this);
-
-        return _value == ((XmlObjectBase)l).longValue();
-    }
-
-    /**
-     * Note, this is carefully aligned with hash codes for all xsd:decimal
-     * primitives.
-     */
-    protected int value_hash_code()
-    {
-        return (int)((_value >> 32) * 19 + _value);
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaLongHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaLongHolderEx.java
deleted file mode 100644
index 4c49dd1..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaLongHolderEx.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-public abstract class JavaLongHolderEx extends JavaLongHolder
-{
-    public JavaLongHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-        
-    private SchemaType _schemaType;
-
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    protected void set_text(String s)
-    {
-        long v;
-
-        try { v = Long.parseLong(s); }
-        catch (Exception e) { throw new XmlValueOutOfRangeException(); }
-        
-        if (_validateOnSet())
-        {
-            validateValue(v, _schemaType, _voorVc);
-            validateLexical(s, _schemaType, _voorVc);
-        }
-
-        super.set_long(v);
-    }
-    
-    protected void set_long(long v)
-    {
-        if (_validateOnSet())
-            validateValue(v, _schemaType, _voorVc);
-
-        super.set_long(v);
-    }
-
-    public static void validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        JavaDecimalHolder.validateLexical(v, context);
-        
-        // check pattern
-        if (sType.hasPatternFacet())
-        {
-            if (!sType.matchPatternFacet(v))
-            {
-                context.invalid("Integer (" + v + ") does not match pattern for " + QNameHelper.readable(sType));
-            }
-        }
-    }
-    
-    private static void validateValue(long v, SchemaType sType, ValidationContext context)
-    {
-        // total digits
-        XmlObject td = sType.getFacet(SchemaType.FACET_TOTAL_DIGITS);
-        if (td != null)
-        {
-            long m = getLongValue(td);
-            String temp = Long.toString(v);
-            int len = temp.length();
-            if (len > 0 && temp.charAt(0) == '-')
-                len -= 1;
-            if (len > m)
-            {
-                context.invalid(
-                    "Integer total digits (" + temp + ") is greater than " +
-                        "total digits facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // min ex
-        XmlObject mine = sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
-        if (mine != null)
-        {
-            long m = getLongValue(mine);
-            if (!(v > m))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is less than or equal to " +
-                        "min exclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // min in
-        XmlObject mini = sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
-        if (mini != null)
-        {
-            long m = getLongValue(mini);
-            if (!(v >= m))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is less than or equal to " +
-                        "min exclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // max in
-        XmlObject maxi = sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
-        if (maxi != null)
-        {
-            long m = getLongValue(maxi);
-            if (!(v <= m))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is less than " +
-                        "min inclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // max ex
-        XmlObject maxe = sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
-        if (maxe != null)
-        {
-            long m = getLongValue(maxe);
-            if (!(v < m))
-            {
-                context.invalid(
-                    "Integer (" + v + ") is greater than or equal to " +
-                        "max exclusive facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // enumeration
-        XmlObject[] vals = sType.getEnumerationValues();
-        if (vals != null)
-        {
-            for (int i = 0; i < vals.length; i++)
-            {
-                if (v == getLongValue(vals[i]))
-                    return;
-            }
-            context.invalid("Integer (" + v + ") does not match any enumeration values for " + QNameHelper.readable(sType));
-        }
-    }
-
-    private static long getLongValue(XmlObject o) {
-        SchemaType s = o.schemaType();
-        switch (s.getDecimalSize()) 
-        {
-            case SchemaType.SIZE_BIG_DECIMAL:
-                return ((XmlObjectBase)o).bigDecimalValue().longValue();
-            case SchemaType.SIZE_BIG_INTEGER:
-                return ((XmlObjectBase)o).bigIntegerValue().longValue();
-            case SchemaType.SIZE_LONG:
-                return ((XmlObjectBase)o).longValue();
-            default:
-                throw new IllegalStateException("Bad facet type: " + s);
-        }
-
-    }
-
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(lexical, schemaType(), ctx);
-        validateValue(longValue(), schemaType(), ctx);
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaNotationHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaNotationHolder.java
deleted file mode 100644
index ed0f355..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaNotationHolder.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-
-public abstract class JavaNotationHolder extends XmlQNameImpl
-{
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_NOTATION; }
-
-//    protected int get_wscanon_rule()
-//        { return SchemaType.WS_PRESERVE; }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaNotationHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaNotationHolderEx.java
deleted file mode 100644
index 074df83..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaNotationHolderEx.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-
-public abstract class JavaNotationHolderEx extends JavaNotationHolder
-{
-    private SchemaType _schemaType;
-
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    public JavaNotationHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    protected int get_wscanon_rule()
-    {
-        return schemaType().getWhiteSpaceRule();
-    }
-
-    protected void set_text(String s)
-    {
-        if (_validateOnSet())
-        {
-            if (!check(s, _schemaType))
-                throw new XmlValueOutOfRangeException();
-
-            if (!_schemaType.matchPatternFacet(s))
-                throw new XmlValueOutOfRangeException();
-        }
-
-        super.set_text(s);
-    }
-
-    protected void set_notation(String v)
-    { set_text(v); }
-
-    private static boolean check(String v, SchemaType sType)
-    {
-        // check against length
-        XmlObject len = sType.getFacet(SchemaType.FACET_LENGTH);
-        if (len != null)
-        {
-            int m = ((XmlObjectBase)len).bigIntegerValue().intValue();
-            if (!(v.length() != m))
-                return false;
-        }
-
-        // check against min length
-        XmlObject min = sType.getFacet(SchemaType.FACET_MIN_LENGTH);
-        if (min != null)
-        {
-            int m = ((XmlObjectBase)min).bigIntegerValue().intValue();
-            if (!(v.length() >= m))
-                return false;
-        }
-
-        // check against min length
-        XmlObject max = sType.getFacet(SchemaType.FACET_MAX_LENGTH);
-        if (max != null)
-        {
-            int m = ((XmlObjectBase)max).bigIntegerValue().intValue();
-            if (!(v.length() <= m))
-                return false;
-        }
-
-        return true;
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java
deleted file mode 100644
index ee7daee..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.impl.common.PrefixResolver;
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.XMLChar;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.impl.values.NamespaceContext;
-   
-public class JavaQNameHolder extends XmlObjectBase
-{
-    public JavaQNameHolder() {}
-
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_QNAME; }
-
-    private QName _value;
-
-    protected int get_wscanon_rule()
-        { return SchemaType.WS_PRESERVE; }
-    
-    // an ergonomic prefixer so that you can say stringValue() on a free-floating QName.
-    private static final NamespaceManager PRETTY_PREFIXER = new PrettyNamespaceManager();
-    
-    private static class PrettyNamespaceManager implements NamespaceManager
-    {
-        public String find_prefix_for_nsuri(String nsuri, String suggested_prefix)
-        {
-            return QNameHelper.suggestPrefix(suggested_prefix);
-        }
-        public String getNamespaceForPrefix(String prefix)
-        {
-            return prefix;
-        }
-    }
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-    public String compute_text(NamespaceManager nsm)
-    {
-        if (nsm == null)
-        {
-            // we used to: throw new IllegalStateException("Cannot create QName prefix outside of a document");
-            // but it's not nice to throw on stringValue()
-            nsm = PRETTY_PREFIXER;
-        }
-
-// TODO - what I really need to do here is that if there is no
-// namespace for this qname, then instead of finding the prefix for the
-// uri, I should make a call to set the default namespace for the
-// immediate context for this qname to be "".  
-   
-        String namespace = _value.getNamespaceURI();
-        String localPart = _value.getLocalPart();
-
-        if (namespace == null || namespace.length() == 0)
-            return localPart;
-        
-        String prefix = nsm.find_prefix_for_nsuri( namespace, null );
-
-        assert prefix != null;
-        
-        return prefix + ":" + localPart;
-    }
-
-    public static QName validateLexical(
-        String v, ValidationContext context, PrefixResolver resolver)
-    {
-        QName name;
-        
-        try
-        {
-            name = parse(v, resolver);
-        }
-        catch ( XmlValueOutOfRangeException e )
-        {
-            context.invalid(e.getMessage());
-            name = null;
-        }
-
-        return name;
-    }
-    
-    private static QName parse(String v, PrefixResolver resolver)
-    {
-        String prefix, localname;
-        int start;
-        int end;
-        for (end = v.length(); end > 0; end -= 1)
-            if (!XMLChar.isSpace(v.charAt(end-1)))
-                break;
-        for (start = 0; start < end; start += 1)
-            if (!XMLChar.isSpace(v.charAt(start)))
-                break;
-
-        int firstcolon = v.indexOf(':', start);
-        if (firstcolon >= 0)
-        {
-            prefix = v.substring(start, firstcolon);
-            localname = v.substring(firstcolon + 1, end);
-        }
-        else
-        {
-            prefix = "";
-            localname = v.substring(start, end);
-        }
-        
-        String uri =
-            resolver == null ? null : resolver.getNamespaceForPrefix(prefix);
-        
-        if (uri == null)
-        {
-            if (prefix.length() > 0)
-                throw new XmlValueOutOfRangeException("Can't resolve prefix: " + prefix);
-                        
-            uri = "";
-        }
-
-        return new QName( uri, localname );
-    }
-    
-    protected void set_text(String s)
-    {
-        PrefixResolver resolver = NamespaceContext.getCurrent();
-
-        if (resolver == null && has_store())
-            resolver = get_store();
-        
-        _value = parse(s, resolver);
-    }
-
-    // BUGBUG - having prefix here may not work
-    protected void set_QName(QName name)
-    {
-        assert name != null;
-        
-        // Sync force of creation of namesapce mapping ..
-        
-        if (has_store())
-            get_store().find_prefix_for_nsuri( name.getNamespaceURI(), null );
-        
-        _value = name;
-    }
-
-    protected void set_xmlanysimple(XmlAnySimpleType value)
-    {
-        _value = parse(value.getStringValue(), NamespaceContext.getCurrent());
-    }
-
-    protected void set_nil() { _value = null; }
-
-    // setters, getters (setter already handled via set_text)
-
-    public QName qNameValue()
-        { check_dated(); return _value; }
-
-    // comparators
-    protected boolean equal_to(XmlObject obj)
-    {
-        return _value.equals(((XmlObjectBase)obj).qNameValue());
-    }
-
-    protected int value_hash_code()
-    {
-        return _value.hashCode();
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolderEx.java
deleted file mode 100644
index 4407493..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolderEx.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.PrefixResolver;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-import javax.xml.namespace.QName;
-
-public abstract class JavaQNameHolderEx extends JavaQNameHolder
-{
-    private SchemaType _schemaType;
-
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    public JavaQNameHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    protected int get_wscanon_rule()
-    {
-        return schemaType().getWhiteSpaceRule();
-    }
-
-    protected void set_text(String s)
-    {
-        PrefixResolver resolver = NamespaceContext.getCurrent();
-
-        if (resolver == null && has_store())
-            resolver = get_store();
-
-        QName v;
-        if (_validateOnSet())
-        {
-            v = validateLexical(s, _schemaType, _voorVc, resolver);
-            if (v != null)
-                validateValue(v, _schemaType, _voorVc);
-        }
-        else
-            v = JavaQNameHolder.validateLexical(s, _voorVc, resolver);
-
-        super.set_QName(v);
-    }
-
-    protected void set_QName(QName name)
-    {
-        if (_validateOnSet())
-            validateValue(name, _schemaType, _voorVc);
-        super.set_QName( name );
-    }
-
-    protected void set_xmlanysimple(XmlAnySimpleType value)
-    {
-        QName v;
-        if (_validateOnSet())
-        {
-            v = validateLexical(value.getStringValue(), _schemaType, _voorVc, NamespaceContext.getCurrent());
-
-            if (v != null)
-                validateValue(v, _schemaType, _voorVc);
-        }
-        else
-            v = JavaQNameHolder.validateLexical(value.getStringValue(), _voorVc, NamespaceContext.getCurrent());
-
-        super.set_QName(v);
-    }
-
-    public static QName validateLexical(String v, SchemaType sType, ValidationContext context, PrefixResolver resolver)
-    {
-        QName name = JavaQNameHolder.validateLexical(v, context, resolver);
-        
-        // check pattern
-        if (sType.hasPatternFacet())
-        {
-            if (!sType.matchPatternFacet(v))
-            {
-                // TODO - describe string and pattern here in error
-                context.invalid("QName '" + v + "' does not match pattern for " + QNameHelper.readable(sType));
-            }
-        }
-
-        XmlObject x;
-
-        if ((x = sType.getFacet(SchemaType.FACET_LENGTH)) != null)
-            if ((((XmlObjectBase)x).bigIntegerValue().intValue()) != v.length())
-                context.invalid("QName '" + v + "' does not match length facet for " + QNameHelper.readable(sType));
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MIN_LENGTH)) != null)
-            if ((((XmlObjectBase)x).bigIntegerValue().intValue()) > v.length())
-                context.invalid("QName '" + v + "' does not match min length facet for " + QNameHelper.readable(sType));
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MAX_LENGTH)) != null)
-            if ((((XmlObjectBase)x).bigIntegerValue().intValue()) < v.length())
-                context.invalid("QName '" + v + "' does not match max length facet for " + QNameHelper.readable(sType));
-
-        return name;
-    }
-
-    public static void validateValue(QName v, SchemaType sType, ValidationContext context)
-    {
-        XmlObject[] vals = sType.getEnumerationValues();
-        if (vals != null)
-        {
-            for (int i = 0; i < vals.length; i++)
-                if (v.equals(((XmlObjectBase)vals[i]).qNameValue()))
-                    return;
-            context.invalid("QName '" + v + "' is not a valid enuemrated value for " + QNameHelper.readable(sType));
-        }
-    }
-
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateValue(qNameValue(), schemaType(), ctx);
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringEnumerationHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringEnumerationHolderEx.java
deleted file mode 100644
index 608eabb..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringEnumerationHolderEx.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.StringEnumAbstractBase;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-
-public abstract class JavaStringEnumerationHolderEx extends JavaStringHolderEx
-{
-    public JavaStringEnumerationHolderEx(SchemaType type, boolean complex)
-    {
-        super(type, complex);
-    }
-
-    private StringEnumAbstractBase _val;
-
-    // update the intval when setting via text, nil.
-    protected void set_text(String s)
-    {
-        StringEnumAbstractBase enum = schemaType().enumForString(s);
-        if (enum == null)
-            throw new XmlValueOutOfRangeException("String '" + s + "' is not a valid enumerated value for " + schemaType());
-
-        super.set_text(s);
-        _val = enum;
-    }
-
-    public static void validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        JavaStringHolderEx.validateLexical(v, sType, context);
-
-        if (sType.hasStringEnumValues())
-        {
-            if (sType.enumForString(v) == null)
-            {
-                if (context != null)
-                {
-                    context.invalid("String '" + v + "' is not a valid enumerated value for " + QNameHelper.readable(sType));
-                }
-            }
-        }
-    }
-    
-    protected void set_nil()
-    {
-        _val = null;
-        super.set_nil();
-    }
-
-    // set/get the enum
-    public StringEnumAbstractBase enumValue()
-    {
-        check_dated();
-        return _val;
-    }
-
-    protected void set_enum(StringEnumAbstractBase enum)
-    {
-        Class ejc = schemaType().getEnumJavaClass();
-        if (ejc != null && !enum.getClass().equals(ejc))
-            throw new XmlValueOutOfRangeException();
-
-        super.set_text(enum.toString());
-        _val = enum;
-    }
-}
\ No newline at end of file
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolder.java
deleted file mode 100644
index cb7d9e8..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolder.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-
-public class JavaStringHolder extends XmlObjectBase
-{
-    public JavaStringHolder() {}
-
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_STRING; }
-
-    private String _value;
-
-    protected int get_wscanon_rule()
-        { return SchemaType.WS_PRESERVE; }
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-    public String compute_text(NamespaceManager nsm) { return _value; }
-    protected void set_text(String s) { _value = s; }
-    protected void set_nil() { _value = null; }
-
-    // string setter and getter already handled by XmlObjectBase
-
-    // comparators
-    protected boolean equal_to(XmlObject obj)
-    {
-        return _value.equals(((XmlObjectBase)obj).stringValue());
-    }
-
-    protected int value_hash_code()
-    {
-        return _value.hashCode();
-    }
-    protected boolean is_defaultable_ws(String v)
-    {
-        return false;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolderEx.java
deleted file mode 100644
index 0b01feb..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolderEx.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-public abstract class JavaStringHolderEx extends JavaStringHolder
-{
-    private SchemaType _schemaType;
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    public JavaStringHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    protected int get_wscanon_rule()
-    {
-        return schemaType().getWhiteSpaceRule();
-    }
-
-    protected void set_text(String s)
-    {
-        if (_validateOnSet())
-            validateLexical(s, _schemaType, _voorVc);
-                 
-        super.set_text(s);
-    }
-
-    protected boolean is_defaultable_ws(String v) {
-        try {
-            validateLexical(v, _schemaType, _voorVc);
-            return false;
-        }
-        catch (XmlValueOutOfRangeException e) {
-            return true;
-        }
-    }
-
-    public static void validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        // check against pattern
-        if (!sType.matchPatternFacet(v))
-        {
-            context.invalid( "String: '" + v + "' does not match pattern for " + QNameHelper.readable(sType));
-            return;
-        }
-
-        // check against length
-        XmlObject len = sType.getFacet(SchemaType.FACET_LENGTH);
-        if (len != null)
-        {
-            int m = ((XmlObjectBase)len).bigIntegerValue().intValue();
-            if (v.length() != m)
-            {
-                context.invalid(
-                    "String length (" + v.length() + ") does not match " +
-                        "length facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // check against min length
-        XmlObject min = sType.getFacet(SchemaType.FACET_MIN_LENGTH);
-        if (min != null)
-        {
-            int m = ((XmlObjectBase)min).bigIntegerValue().intValue();
-            if (v.length() < m)
-            {
-                context.invalid(
-                    "String length (" + v.length() + ") is less than " +
-                        "min length facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-
-        // check against min length
-        XmlObject max = sType.getFacet(SchemaType.FACET_MAX_LENGTH);
-        if (max != null)
-        {
-            int m = ((XmlObjectBase)max).bigIntegerValue().intValue();
-            if (v.length() > m)
-            {
-                context.invalid(
-                    "String length (" + v.length() + ") is greater than " +
-                        "max length facet (" + m + ") for " + QNameHelper.readable(sType));
-                return;
-            }
-        }
-    }
-    
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(stringValue(), schemaType(), ctx);
-    }
-    
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaUriHolder.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaUriHolder.java
deleted file mode 100644
index 7f031c3..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaUriHolder.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlAnyURI;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-
-public abstract class JavaUriHolder extends XmlObjectBase
-{
-    public JavaUriHolder() {}
-
-    public SchemaType schemaType()
-        { return BuiltinSchemaTypeSystem.ST_ANY_URI; }
-
-    private String _value;
-
-    public String compute_text(NamespaceManager nsm) { return _value == null ? "" : _value; }
-    protected void set_text(String s)
-    {
-        if (_validateOnSet())
-            validateLexical(s, _voorVc);
-        _value = s;
-    }
-
-    public static void validateLexical(String v, ValidationContext context)
-    {
-        // Enough validation to get schema for schema working
-
-        if (v.startsWith( "##" ))
-            context.invalid("XmlAnyURI is malformed: " + v );
-
-    }
-    
-    protected void set_nil() { _value = null; }
-
-    // string setter and getter already handled by XmlObjectBase
-
-    // comparators
-    protected boolean equal_to(XmlObject obj)
-    {
-        return _value.equals(((XmlAnyURI)obj).getStringValue());
-    }
-
-    protected int value_hash_code()
-    {
-        return _value.hashCode();
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaUriHolderEx.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaUriHolderEx.java
deleted file mode 100644
index a4ffed4..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/JavaUriHolderEx.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SimpleValue;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-public class JavaUriHolderEx extends JavaUriHolder
-{
-    private SchemaType _schemaType;
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    public JavaUriHolderEx(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    protected int get_wscanon_rule()
-    {
-        return schemaType().getWhiteSpaceRule();
-    }
-
-    protected void set_text(String s)
-    {
-        if (_validateOnSet())
-        {
-            if (!check(s, _schemaType))
-                throw new XmlValueOutOfRangeException();
-
-            if (!_schemaType.matchPatternFacet(s))
-                throw new XmlValueOutOfRangeException();
-        }
-
-        super.set_text(s);
-    }
-
-//    // setters
-//    protected void set_uri(URI uri)
-//    {
-//        if (!check(uri.toString(), _schemaType))
-//            throw new XmlValueOutOfRangeException();
-//
-//        super.set_uri(uri);
-//    }
-
-    public static void validateLexical(String v, SchemaType sType, ValidationContext context)
-    {
-        XmlAnyUriImpl.validateLexical(v, context);
-        
-        XmlObject[] vals = sType.getEnumerationValues();
-
-        if (vals != null)
-        {
-            int i;
-            
-            for ( i = 0 ; i < vals.length ; i++ )
-            {
-                String e = ((SimpleValue)vals[i]).getStringValue();
-
-                if (e.equals( v ))
-                    break;
-            }
-            
-            if (i >= vals.length)
-                context.invalid("anyURI '" + v + "' is not a valid enumerated value for " + QNameHelper.readable(sType));
-        }
-        
-        // check pattern
-        if (sType.hasPatternFacet())
-        {
-            if (!sType.matchPatternFacet(v))
-            {
-                // TODO - describe string and pattern here in error
-                context.invalid("anyURI value '" + v + "' does not match pattern for " + QNameHelper.readable(sType));
-            }
-        }
-
-        XmlObject x;
-
-        if ((x = sType.getFacet(SchemaType.FACET_LENGTH)) != null)
-            if ((((SimpleValue)x).getBigIntegerValue().intValue()) != v.length())
-                context.invalid("anyURI value '" + v + "' does not match length facet (" + ((SimpleValue)x).getBigIntegerValue() + ") for " + QNameHelper.readable(sType));
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MIN_LENGTH)) != null)
-            if ((((SimpleValue)x).getBigIntegerValue().intValue()) > v.length())
-                context.invalid("anyURI value '" + v + "' does not match min length facet (" + ((SimpleValue)x).getBigIntegerValue() + ") for " + QNameHelper.readable(sType));
-        
-        if ((x = sType.getFacet(SchemaType.FACET_MAX_LENGTH)) != null)
-            if ((((SimpleValue)x).getBigIntegerValue().intValue()) < v.length())
-                context.invalid("anyURI value '" + v + "' does not match max length facet (" + ((SimpleValue)x).getBigIntegerValue() + ") for " + QNameHelper.readable(sType));
-    }
-    
-    private static boolean check(String v, SchemaType sType)
-    {
-        int length = v==null ? 0 : v.length();
-        // check against length
-        XmlObject len = sType.getFacet(SchemaType.FACET_LENGTH);
-        if (len != null)
-        {
-            int m = ((SimpleValue)len).getBigIntegerValue().intValue();
-            if (!(length != m))
-                return false;
-        }
-
-        // check against min length
-        XmlObject min = sType.getFacet(SchemaType.FACET_MIN_LENGTH);
-        if (min != null)
-        {
-            int m = ((SimpleValue)min).getBigIntegerValue().intValue();
-            if (!(length >= m))
-                return false;
-        }
-
-        // check against min length
-        XmlObject max = sType.getFacet(SchemaType.FACET_MAX_LENGTH);
-        if (max != null)
-        {
-            int m = ((SimpleValue)max).getBigIntegerValue().intValue();
-            if (!(length <= m))
-                return false;
-        }
-
-        return true;
-    }
-
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateLexical(stringValue(), schemaType(), ctx);
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/NamespaceContext.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/NamespaceContext.java
deleted file mode 100644
index 4e4c355..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/NamespaceContext.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.impl.common.PrefixResolver;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlCursor;
-
-import java.util.ArrayList;
-import java.util.Map;
-import java.lang.reflect.Proxy;
-
-import weblogic.xml.stream.StartElement;
-
-public class NamespaceContext implements PrefixResolver
-{
-    private static final int TYPE_STORE    = 1;
-    private static final int XML_OBJECT    = 2;
-    private static final int MAP           = 3;
-    private static final int START_ELEMENT = 4;
-    private static final int RESOLVER      = 5;
-
-    private Object _obj;
-    private int _code;
-
-    public NamespaceContext(Map prefixToUriMap)
-    {
-        _code = MAP;
-        _obj = prefixToUriMap;
-    }
-
-    public NamespaceContext(TypeStore typeStore)
-    {
-        _code = TYPE_STORE;
-        _obj = typeStore;
-    }
-
-    public NamespaceContext(XmlObject xmlObject)
-    {
-        _code = XML_OBJECT;
-        _obj = xmlObject;
-    }
-
-    public NamespaceContext(StartElement start)
-    {
-        _code = START_ELEMENT;
-        _obj = start;
-    }
-
-    public NamespaceContext(PrefixResolver resolver)
-    {
-        _code = RESOLVER;
-        _obj = resolver;
-    }
-
-    /**
-     * Stack management if (heaven help us) we ever need to do
-     * nested compilation of schema type system.
-     */
-    private static final class NamespaceContextStack
-    {
-        NamespaceContext current;
-        ArrayList stack = new ArrayList();
-        final void push(NamespaceContext next)
-        {
-            stack.add(current);
-            current = next;
-        }
-        final void pop()
-        {
-            current = (NamespaceContext)stack.get(stack.size() - 1);
-            stack.remove(stack.size() - 1);
-        }
-    }
-
-    private static ThreadLocal NamespaceContextStack = new ThreadLocal()
-    {
-        protected Object initialValue() { return new NamespaceContextStack(); }
-    };
-
-    public static void push(NamespaceContext next)
-    {
-        ((NamespaceContextStack)NamespaceContextStack.get()).push(next);
-    }
-            
-    public String getNamespaceForPrefix(String prefix)
-    {
-        if (prefix != null && prefix.equals("xml"))
-            return "http://www.w3.org/XML/1998/namespace";
-        
-        switch (_code)
-        {
-            case XML_OBJECT:
-            {
-                TypeStoreUser impl;
-                Object obj = _obj;
-                if (Proxy.isProxyClass(obj.getClass()))
-                    obj = Proxy.getInvocationHandler(obj);
-
-                if (obj instanceof TypeStoreUser)
-                    return ((TypeStoreUser)obj).get_store().getNamespaceForPrefix(prefix);
-
-                XmlCursor cur = ((XmlObject)_obj).newCursor();
-                if (cur != null)
-                {
-                    if (cur.currentTokenType() == XmlCursor.TokenType.ATTR)
-                        cur.toParent();
-                    try { return cur.namespaceForPrefix(prefix); }
-                    finally { cur.dispose(); }
-                }
-            }
-            
-            case MAP:
-                return (String)((Map)_obj).get(prefix);
-                
-            case TYPE_STORE:
-                return ((TypeStore)_obj).getNamespaceForPrefix(prefix);
-                
-            case START_ELEMENT:
-                return ((StartElement)_obj).getNamespaceUri(prefix);
-                
-            case RESOLVER:
-                return ((PrefixResolver)_obj).getNamespaceForPrefix(prefix);
-                
-            default:
-                assert false : "Improperly initialized NamespaceContext.";
-                return null;
-        }
-    }
-
-    public static PrefixResolver getCurrent()
-    {
-        return ((NamespaceContextStack)NamespaceContextStack.get()).current;
-    }
-    
-    public static void pop()
-    {
-        ((NamespaceContextStack)NamespaceContextStack.get()).pop();
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/StringEnumValue.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/StringEnumValue.java
deleted file mode 100644
index eb84fb9..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/StringEnumValue.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.StringEnumAbstractBase;
-
-public class StringEnumValue extends StringEnumAbstractBase
-{
-    public StringEnumValue(String s, int i)
-        { super(s, i); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnySimpleTypeImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnySimpleTypeImpl.java
deleted file mode 100644
index 27f39a1..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnySimpleTypeImpl.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem;
-
-/**
- * This class implements the anySimpleType for XML.
- *
- */
-public class XmlAnySimpleTypeImpl extends XmlObjectBase implements XmlAnySimpleType
-{
-    public XmlAnySimpleTypeImpl(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    public XmlAnySimpleTypeImpl()
-        { _schemaType = BuiltinSchemaTypeSystem.ST_ANY_SIMPLE; }
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    private SchemaType _schemaType;
-
-    String _textvalue = "";
-
-    protected int get_wscanon_rule()
-    {
-        return SchemaType.WS_PRESERVE;
-    }
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-    // gets raw text value
-    protected String compute_text(NamespaceManager nsm) { return _textvalue; }
-    protected void set_text(String s)
-    {
-        _textvalue = s;
-    }
-
-    protected void set_nil()
-    {
-        _textvalue = null;
-    }
-
-    // comparators
-    protected boolean equal_to(XmlObject obj)
-    {
-        // compares against another anySimpleType
-        // rule is: lexical values must match.
-        return _textvalue.equals(((XmlAnySimpleType)obj).getStringValue());
-    }
-
-    protected int value_hash_code()
-    {
-        // matches JavaStringHolder's value_hash_code, so we can be hased against strings
-        return (_textvalue == null ? 0 : _textvalue.hashCode());
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnySimpleTypeRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnySimpleTypeRestriction.java
deleted file mode 100644
index c3470e9..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnySimpleTypeRestriction.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-
-public class XmlAnySimpleTypeRestriction extends XmlAnySimpleTypeImpl
-{
-    public XmlAnySimpleTypeRestriction(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    private SchemaType _schemaType;
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnyTypeImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnyTypeImpl.java
deleted file mode 100644
index c0f7e68..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnyTypeImpl.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaType;
-
-/**
- * This class implements the anyType for XML.
- *
- */
-public class XmlAnyTypeImpl extends XmlComplexContentImpl implements XmlObject
-{
-    public XmlAnyTypeImpl()
-        { super(type); }
-
-    public XmlAnyTypeImpl(SchemaType type)
-        { super(type); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnyUriImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnyUriImpl.java
deleted file mode 100644
index db533b0..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnyUriImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-public class XmlAnyUriImpl extends JavaUriHolder implements org.apache.xmlbeans.XmlAnyURI
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnyUriRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnyUriRestriction.java
deleted file mode 100644
index d85532f..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlAnyUriRestriction.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-
-public class XmlAnyUriRestriction extends JavaUriHolderEx implements org.apache.xmlbeans.XmlAnyURI
-{
-    public XmlAnyUriRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBase64BinaryImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBase64BinaryImpl.java
deleted file mode 100644
index 06ab9f3..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBase64BinaryImpl.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlBase64Binary;
-
-
-public class XmlBase64BinaryImpl extends JavaBase64Holder implements XmlBase64Binary
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBase64BinaryRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBase64BinaryRestriction.java
deleted file mode 100644
index e50fb2f..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBase64BinaryRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlBase64Binary;
-
-public class XmlBase64BinaryRestriction extends JavaBase64HolderEx implements XmlBase64Binary
-{
-    public XmlBase64BinaryRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBooleanImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBooleanImpl.java
deleted file mode 100644
index 6989a47..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBooleanImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlBoolean;
-
-public class XmlBooleanImpl extends JavaBooleanHolder implements XmlBoolean
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBooleanRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBooleanRestriction.java
deleted file mode 100644
index ec9643c..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlBooleanRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlBoolean;
-import org.apache.xmlbeans.SchemaType;
-
-public class XmlBooleanRestriction extends JavaBooleanHolderEx implements XmlBoolean
-{
-    public XmlBooleanRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlByteImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlByteImpl.java
deleted file mode 100644
index 56a105f..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlByteImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlByte;
-import org.apache.xmlbeans.SchemaType;
-
-
-public class XmlByteImpl extends JavaIntHolderEx implements XmlByte
-{
-    public XmlByteImpl()
-        { super(XmlByte.type, false); }
-    public XmlByteImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlComplexContentImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlComplexContentImpl.java
deleted file mode 100644
index acd604e..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlComplexContentImpl.java
+++ /dev/null
@@ -1,1123 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.*;
-
-import java.lang.String;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Date;
-import java.util.List;
-import java.util.Calendar;
-import javax.xml.namespace.QName;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.impl.schema.SchemaTypeImpl;
-import org.apache.xmlbeans.impl.schema.SchemaTypeVisitorImpl;
-
-public class XmlComplexContentImpl extends XmlObjectBase
-{
-    public XmlComplexContentImpl(SchemaType type)
-    {
-        _schemaType = (SchemaTypeImpl)type;
-        initComplexType(true, true);
-    }
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    private SchemaTypeImpl _schemaType;
-
-    public String compute_text(NamespaceManager nsm)
-        { return null; }
-
-    protected final void set_String(String v)
-    {
-        assert _schemaType.getContentType() != SchemaType.SIMPLE_CONTENT;
-
-        if (_schemaType.getContentType() != SchemaType.MIXED_CONTENT &&
-                !_schemaType.isNoType())
-        {
-            throw new IllegalArgumentException(
-                "Type does not allow for textual content: " + _schemaType );
-        }
-
-        super.set_String(v);
-    }
-    
-    public void set_text(String str)
-    {
-        assert
-            _schemaType.getContentType() == SchemaType.MIXED_CONTENT ||
-                _schemaType.isNoType();
-    }
-
-    protected void update_from_complex_content()
-    {
-        // No complex caching yet ...
-    }
-    
-    public void set_nil()
-        { /* BUGBUG: what to do? */ }
-
-    // LEFT
-    public boolean equal_to(XmlObject complexObject)
-    {
-        if (!_schemaType.equals(complexObject.schemaType()))
-            return false;
-
-        // BUGBUG: by-value structure comparison undone
-        return true;
-    }
-
-    // LEFT
-    protected int value_hash_code()
-    {
-        throw new IllegalStateException("Complex types cannot be used as hash keys");
-    }
-
-    // DONE
-    public TypeStoreVisitor new_visitor()
-    {
-        return new SchemaTypeVisitorImpl(_schemaType.getContentModel());
-    }
-
-    // DONE
-    public boolean is_child_element_order_sensitive()
-    {
-        return schemaType().isOrderSensitive();
-    }
-
-    public int get_elementflags(QName eltName)
-    {
-        SchemaProperty prop = schemaType().getElementProperty(eltName);
-        if (prop == null)
-            return 0;
-        if (prop.hasDefault() == SchemaProperty.VARIABLE ||
-            prop.hasFixed() == SchemaProperty.VARIABLE ||
-            prop.hasNillable() == SchemaProperty.VARIABLE)
-            return -1;
-        return
-            (prop.hasDefault() == SchemaProperty.NEVER ? 0 : TypeStore.HASDEFAULT) |
-            (prop.hasFixed() == SchemaProperty.NEVER ? 0 : TypeStore.FIXED) |
-            (prop.hasNillable() == SchemaProperty.NEVER ? 0 : TypeStore.NILLABLE);
-    }
-
-    // DONE
-    public String get_default_attribute_text(QName attrName)
-    {
-        return super.get_default_attribute_text(attrName);
-    }
-
-    // DONE
-    public String get_default_element_text(QName eltName)
-    {
-        SchemaProperty prop = schemaType().getElementProperty(eltName);
-        if (prop == null)
-            return "";
-        return prop.getDefaultText();
-    }
-
-    //
-    // Code gen helpers
-    //
-    // So much redundant code ..... what I'd give for generics!
-    //
-
-    protected void unionArraySetterHelper ( Object[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).objectSet( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( boolean[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( float[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( double[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( byte[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( short[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( int[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( long[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( BigDecimal[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( BigInteger[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( String[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( byte[][] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( GDate[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( GDuration[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( Calendar[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( Date[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( QName[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( StringEnumAbstractBase[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( List[] sources, QName elemName )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( elemName );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( elemName, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( elemName, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void unionArraySetterHelper ( Object[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).objectSet( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( boolean[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( float[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( double[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( byte[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( short[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( int[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( long[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( BigDecimal[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( BigInteger[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( String[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( byte[][] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( GDate[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( GDuration[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( Calendar[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( Date[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( QName[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( StringEnumAbstractBase[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-    
-    protected void arraySetterHelper ( List[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-    protected void arraySetterHelper ( XmlObject[] sources, QName elemName )
-    {
-        get_store().array_setter( sources, elemName );
-    }
-
-    protected void arraySetterHelper ( XmlObject[] sources, QName elemName, QNameSet set )
-    {
-        int n = sources == null ? 0 : sources.length;
-        
-        TypeStore store = get_store();
-
-        int m = store.count_elements( set );
-
-        for ( ; m > n ; m-- )
-            store.remove_element( set, m - 1 );
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            TypeStoreUser user;
-            
-            if (i >= m)
-                user = store.add_element_user( elemName );
-            else
-                user = store.find_element_user( set, i );
-
-            ((XmlObjectBase) user).set( sources[ i ] );
-        }
-    }
-
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDateImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDateImpl.java
deleted file mode 100644
index 7177f25..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDateImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlDate;
-import org.apache.xmlbeans.SchemaType;
-
-
-public class XmlDateImpl extends JavaGDateHolderEx implements XmlDate
-{
-    public XmlDateImpl()
-        { super(XmlDate.type, false); }
-    public XmlDateImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDateTimeImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDateTimeImpl.java
deleted file mode 100644
index 267027d..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDateTimeImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlDateTime;
-
-
-public class XmlDateTimeImpl extends JavaGDateHolderEx implements XmlDateTime
-{
-    public XmlDateTimeImpl()
-        { super(XmlDateTime.type, false); }
-    public XmlDateTimeImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDecimalImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDecimalImpl.java
deleted file mode 100644
index af23350..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDecimalImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlDecimal;
-
-public class XmlDecimalImpl extends JavaDecimalHolder implements XmlDecimal
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDecimalRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDecimalRestriction.java
deleted file mode 100644
index 4ee79d0..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDecimalRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlDecimal;
-import org.apache.xmlbeans.SchemaType;
-
-public class XmlDecimalRestriction extends JavaDecimalHolderEx implements XmlDecimal
-{
-    public XmlDecimalRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDoubleImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDoubleImpl.java
deleted file mode 100644
index c6e1cb3..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDoubleImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlDouble;
-
-public class XmlDoubleImpl extends JavaDoubleHolder implements XmlDouble
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDoubleRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDoubleRestriction.java
deleted file mode 100644
index 2169b05..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDoubleRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlDouble;
-import org.apache.xmlbeans.SchemaType;
-
-public class XmlDoubleRestriction extends JavaDoubleHolderEx implements XmlDouble
-{
-    public XmlDoubleRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDurationImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDurationImpl.java
deleted file mode 100644
index f667eb3..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlDurationImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlDuration;
-import org.apache.xmlbeans.SchemaType;
-
-
-public class XmlDurationImpl extends JavaGDurationHolderEx implements XmlDuration
-{
-    public XmlDurationImpl()
-        { super(XmlDuration.type, false); }
-    public XmlDurationImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlEntitiesImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlEntitiesImpl.java
deleted file mode 100644
index bf0bd1f..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlEntitiesImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlENTITIES;
-
-
-public class XmlEntitiesImpl extends XmlListImpl implements XmlENTITIES
-{
-    public XmlEntitiesImpl()
-        { super(XmlENTITIES.type, false); }
-    public XmlEntitiesImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlEntityImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlEntityImpl.java
deleted file mode 100644
index 1ae15dd..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlEntityImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlENTITY;
-import org.apache.xmlbeans.SchemaType;
-
-
-public class XmlEntityImpl extends JavaStringHolderEx implements XmlENTITY
-{
-    public XmlEntityImpl()
-        { super(XmlENTITY.type, false); }
-    public XmlEntityImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlFloatImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlFloatImpl.java
deleted file mode 100644
index f819596..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlFloatImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlFloat;
-
-
-public class XmlFloatImpl extends JavaFloatHolder implements XmlFloat
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlFloatRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlFloatRestriction.java
deleted file mode 100644
index 6080007..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlFloatRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlFloat;
-import org.apache.xmlbeans.SchemaType;
-
-public class XmlFloatRestriction extends JavaFloatHolderEx implements XmlFloat
-{
-    public XmlFloatRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGDayImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGDayImpl.java
deleted file mode 100644
index b8aa7ec..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGDayImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlGDay;
-import org.apache.xmlbeans.SchemaType;
-
-
-public class XmlGDayImpl extends JavaGDateHolderEx implements XmlGDay
-{
-    public XmlGDayImpl()
-        { super(XmlGDay.type, false); }
-    public XmlGDayImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGMonthDayImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGMonthDayImpl.java
deleted file mode 100644
index 95ac7db..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGMonthDayImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlGMonthDay;
-
-public class XmlGMonthDayImpl extends JavaGDateHolderEx implements XmlGMonthDay
-{
-    public XmlGMonthDayImpl()
-        { super(XmlGMonthDay.type, false); }
-    public XmlGMonthDayImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGMonthImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGMonthImpl.java
deleted file mode 100644
index 5d71f39..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGMonthImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlGMonth; 
-
-public class XmlGMonthImpl extends JavaGDateHolderEx implements XmlGMonth
-{
-    public XmlGMonthImpl()
-        { super(XmlGMonth.type, false); }
-    public XmlGMonthImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGYearImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGYearImpl.java
deleted file mode 100644
index 453ed54..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGYearImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlGYear;
-
-public class XmlGYearImpl extends JavaGDateHolderEx implements XmlGYear
-{
-    public XmlGYearImpl()
-        { super(XmlGYear.type, false); }
-    public XmlGYearImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGYearMonthImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGYearMonthImpl.java
deleted file mode 100644
index 50bf8ab..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlGYearMonthImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlGYearMonth; 
-
-public class XmlGYearMonthImpl extends JavaGDateHolderEx implements XmlGYearMonth
-{
-    public XmlGYearMonthImpl()
-        { super(XmlGYearMonth.type, false); }
-    public XmlGYearMonthImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlHexBinaryImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlHexBinaryImpl.java
deleted file mode 100644
index b9c898d..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlHexBinaryImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlHexBinary;
-
-
-public class XmlHexBinaryImpl extends JavaHexBinaryHolder implements XmlHexBinary
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlHexBinaryRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlHexBinaryRestriction.java
deleted file mode 100644
index f063338..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlHexBinaryRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlHexBinary;
-
-public class XmlHexBinaryRestriction extends JavaHexBinaryHolderEx implements XmlHexBinary
-{
-    public XmlHexBinaryRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIdImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIdImpl.java
deleted file mode 100644
index 7026ca1..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIdImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlID;
-
-
-public class XmlIdImpl extends JavaStringHolderEx implements XmlID
-{
-    public XmlIdImpl()
-        { super(XmlID.type, false); }
-    public XmlIdImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIdRefImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIdRefImpl.java
deleted file mode 100644
index b98e663..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIdRefImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlIDREF;
-
-
-public class XmlIdRefImpl extends JavaStringHolderEx implements XmlIDREF
-{
-    public XmlIdRefImpl()
-        { super(XmlIDREF.type, false); }
-    public XmlIdRefImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIdRefsImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIdRefsImpl.java
deleted file mode 100644
index ecf357c..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIdRefsImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlIDREFS;
-
-public class XmlIdRefsImpl extends XmlListImpl implements XmlIDREFS
-{
-    public XmlIdRefsImpl()
-        { super(XmlIDREFS.type, false); }
-    public XmlIdRefsImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntImpl.java
deleted file mode 100644
index cab04df..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlInt;
-
-
-public class XmlIntImpl extends JavaIntHolder implements XmlInt
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntRestriction.java
deleted file mode 100644
index 538528a..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlInt;
-
-public class XmlIntRestriction extends JavaIntHolderEx implements XmlInt
-{
-    public XmlIntRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntegerImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntegerImpl.java
deleted file mode 100644
index 0dba9de..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntegerImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlInteger;
-
-
-public class XmlIntegerImpl extends JavaIntegerHolder implements XmlInteger
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntegerRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntegerRestriction.java
deleted file mode 100644
index 9b8893c..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlIntegerRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlInteger;
-
-public class XmlIntegerRestriction extends JavaIntegerHolderEx implements XmlInteger
-{
-    public XmlIntegerRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlLanguageImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlLanguageImpl.java
deleted file mode 100644
index dc93e4f..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlLanguageImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlLanguage;
-import org.apache.xmlbeans.SchemaType;
-
-public class XmlLanguageImpl extends JavaStringHolderEx implements XmlLanguage
-{
-    public XmlLanguageImpl()
-        { super(XmlLanguage.type, false); }
-    public XmlLanguageImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlListImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlListImpl.java
deleted file mode 100644
index a38f3b8..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlListImpl.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.SimpleValue;
-import org.apache.xmlbeans.XmlSimpleList;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.common.PrefixResolver;
-import org.apache.xmlbeans.impl.common.XMLChar;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.ArrayList;
-
-public class XmlListImpl extends XmlObjectBase implements XmlAnySimpleType
-{
-    public XmlListImpl(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    private SchemaType _schemaType;
-    private XmlSimpleList _value;
-    private XmlSimpleList _jvalue;
-
-
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-    // gets raw text value
-
-    private static String nullAsEmpty(String s)
-    {
-        if (s == null)
-            return "";
-        return s;
-    }
-
-    private static String compute_list_text(List xList)
-    {
-        if (xList.size() == 0)
-            return "";
-
-        StringBuffer sb = new StringBuffer();
-        sb.append(nullAsEmpty(((SimpleValue)xList.get(0)).getStringValue()));
-
-        for (int i = 1; i < xList.size(); i++)
-        {
-            sb.append(' ');
-            sb.append(nullAsEmpty(((SimpleValue)xList.get(i)).getStringValue()));
-        }
-
-        return sb.toString();
-    }
-
-    protected String compute_text(NamespaceManager nsm)
-    {
-        return compute_list_text(_value);
-    }
-
-    protected boolean is_defaultable_ws(String v) {
-        try {
-            XmlSimpleList savedValue = _value;
-            set_text(v);
-
-            // restore the saved value
-            _value = savedValue;
-
-            return false;
-        }
-        catch (XmlValueOutOfRangeException e) {
-            return true;
-        }
-    }
-
-    protected void set_text(String s)
-    {
-        // first check against any patterns...
-        if (_validateOnSet() && !_schemaType.matchPatternFacet(s))
-            throw new XmlValueOutOfRangeException();
-
-        SchemaType itemType = _schemaType.getListItemType();
-
-        XmlSimpleList newval = lex(s, itemType, _voorVc, has_store() ? get_store() : null);
-
-        // check enumeration
-        if (_validateOnSet())
-            validateValue(newval, _schemaType, _voorVc);
-
-        // we made it all the way through; so we're OK.
-        _value = newval;
-    }
-    
-    private static final String[] EMPTY_STRINGARRAY = new String[0];
-    
-    public static String[] split_list(String s)
-    {
-        if (s.length() == 0)
-            return EMPTY_STRINGARRAY;
-                
-        List result = new ArrayList();
-        int i = 0;
-        int start = 0;
-        for (;;)
-        {
-            while (i < s.length() && XMLChar.isSpace(s.charAt(i)))
-                i += 1;
-            if (i >= s.length())
-                return (String[])result.toArray(EMPTY_STRINGARRAY);
-            start = i;
-            while (i < s.length() && !XMLChar.isSpace(s.charAt(i)))
-                i += 1;
-            result.add(s.substring(start, i));
-        }
-    }
-    
-    public static XmlSimpleList lex(String s, SchemaType itemType, ValidationContext ctx, PrefixResolver resolver)
-    {
-        String[] parts = split_list(s);
-
-        XmlAnySimpleType[] newArray = new XmlAnySimpleType[parts.length];
-        boolean pushed = false;
-        if (resolver != null)
-        {
-            NamespaceContext.push(new NamespaceContext(resolver));
-            pushed = true;
-        }
-        int i = 0;
-        try
-        {
-            for (i = 0; i < parts.length; i++)
-            {
-                try
-                {
-                    newArray[i] = itemType.newValue(parts[i]);
-                }
-                catch (XmlValueOutOfRangeException e)
-                {
-                    ctx.invalid("List item '" + parts[i] + "' is not a valid value of " + QNameHelper.readable(itemType));
-                }
-            }
-        }
-        finally
-        {
-            if (pushed)
-                NamespaceContext.pop();
-        }
-        return new XmlSimpleList(Arrays.asList(newArray));
-    }
-
-    protected void set_nil()
-    {
-        _value = null;
-    }
-
-    public List xlistValue()
-    {
-        check_dated();
-        return _value;
-    }
-
-    public List listValue()
-    {
-        check_dated();
-        if (_value == null)
-            return null;
-        if (_jvalue != null)
-            return _jvalue;
-        List javaResult = new ArrayList();
-        for (int i = 0; i < _value.size(); i++)
-            javaResult.add(java_value((XmlObject)_value.get(i)));
-        _jvalue = new XmlSimpleList(javaResult);
-        return _jvalue;
-    }
-
-    private static boolean permits_inner_space(XmlObject obj)
-    {
-        switch (((SimpleValue)obj).instanceType().getPrimitiveType().getBuiltinTypeCode())
-        {
-            case SchemaType.BTC_STRING:
-            case SchemaType.BTC_ANY_URI:
-            case SchemaType.BTC_ANY_SIMPLE:
-            case SchemaType.BTC_ANY_TYPE:
-                return true;
-            default:
-                return false;
-        }
-    }
-
-    private static boolean contains_white_space(String s)
-    {
-        return s.indexOf(' ') >= 0 ||
-                s.indexOf('\t') >= 0 ||
-                s.indexOf('\n') >= 0 ||
-                s.indexOf('\r') >= 0;
-    }
-
-    public void set_list(List list)
-    {
-        SchemaType itemType = _schemaType.getListItemType();
-        XmlSimpleList xList;
-
-        boolean pushed = false;
-        if (has_store())
-        {
-            NamespaceContext.push(new NamespaceContext(get_store()));
-            pushed = true;
-        }
-        
-        try
-        {
-            XmlAnySimpleType[] newval = new XmlAnySimpleType[list.size()];
-            for (int i = 0; i < list.size(); i++)
-            {
-                Object entry = list.get(i);
-                if ((entry instanceof XmlObject) && permits_inner_space((XmlObject)list.get(i)))
-                {
-                    String stringrep = list.get(i).toString();
-                    if (contains_white_space(stringrep))
-                        throw new XmlValueOutOfRangeException();
-                }
-                newval[i] = itemType.newValue(entry);
-            }
-            xList = new XmlSimpleList(Arrays.asList(newval));
-        }
-        finally
-        {
-            if (pushed)
-                NamespaceContext.pop();
-        }
-        
-
-        if (_validateOnSet())
-        {
-            // check enumeration + min/max/etc
-            validateValue(xList, _schemaType, _voorVc);
-        }
-
-        _value = xList;
-    }
-
-    public static void validateValue(XmlSimpleList items, SchemaType sType, ValidationContext context)
-    {
-        XmlObject[] enumvals = sType.getEnumerationValues();
-        checkEnum: if (enumvals != null)
-        {
-            for (int i = 0; i < enumvals.length; i++)
-            {
-                if (equal_xmlLists(items, ((XmlObjectBase)enumvals[i]).xlistValue()))
-                    break checkEnum;
-            }
-            context.invalid("List (" + items + ") is not a valid enumerated value for " + QNameHelper.readable(sType));
-        }
-
-        XmlObject o;
-        int i;
-
-        if ((o = sType.getFacet( SchemaType.FACET_LENGTH )) != null)
-        {
-            if ((i = ((SimpleValue)o).getIntValue()) != items.size())
-            {
-                context.invalid(
-                    "List (" + items + ") does not have " + i +
-                        " items per length facet for " + QNameHelper.readable(sType));
-            }
-        }
-
-        if ((o = sType.getFacet( SchemaType.FACET_MIN_LENGTH )) != null)
-        {
-            if ((i = ((SimpleValue)o).getIntValue()) > items.size())
-            {
-                context.invalid(
-                    "List (" + items + ") has only " + items.size() +
-                        " items, fewer than min length facet (" + i + ") for " + QNameHelper.readable(sType) );
-            }
-        }
-
-        if ((o = sType.getFacet( SchemaType.FACET_MAX_LENGTH )) != null)
-        {
-            if ((i = ((SimpleValue)o).getIntValue()) < items.size())
-            {
-                context.invalid(
-                    "List (" + items + ") has " + items.size() +
-                        " items, more than max length facet (" + i + ") for " + QNameHelper.readable(sType) );
-            }
-        }
-    }
-
-    // comparators
-    // protected int compare_to(XmlObject i) - no sorting order; inherit from base
-
-    protected boolean equal_to(XmlObject obj)
-    {
-        return equal_xmlLists(_value, ((XmlObjectBase)obj).xlistValue());
-    }
-
-
-    private static boolean equal_xmlLists(List a, List b)
-    {
-        if (a.size() != b.size())
-            return false;
-        for (int i = 0; i < a.size(); i++)
-        {
-            if (!a.get(i).equals(b.get(i)))
-                return false;
-        }
-        return true;
-    }
-
-    protected int value_hash_code()
-    {
-        if (_value == null)
-            return 0;
-
-        // hash code probes 9 distributed values, plus the last
-        int hash = _value.size();
-        int incr = _value.size() / 9;
-        if (incr < 1)
-            incr = 1;
-
-        int i;
-        for (i = 0; i < _value.size(); i += incr)
-        {
-            hash *= 19;
-            hash += _value.get(i).hashCode();
-        }
-
-        if (i < _value.size())
-        {
-            hash *= 19;
-            hash += _value.get(i).hashCode();
-        }
-
-        return hash;
-    }
-
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        validateValue((XmlSimpleList)xlistValue(), schemaType(), ctx);
-    }
-    
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlLongImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlLongImpl.java
deleted file mode 100644
index abd835f..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlLongImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlLong;
-
-
-public class XmlLongImpl extends JavaLongHolder implements XmlLong
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlLongRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlLongRestriction.java
deleted file mode 100644
index 8e3b2ca..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlLongRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlLong;
-
-public class XmlLongRestriction extends JavaLongHolderEx implements XmlLong
-{
-    public XmlLongRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNCNameImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNCNameImpl.java
deleted file mode 100644
index 17035f4..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNCNameImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlNCName;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.XMLChar;
-
-public class XmlNCNameImpl extends JavaStringHolderEx implements XmlNCName
-{
-    public XmlNCNameImpl()
-        { super(XmlNCName.type, false); }
-    public XmlNCNameImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-
-    public static void validateLexical(String v, ValidationContext context)
-    {
-        if ( !XMLChar.isValidNCName(v) )
-        {
-            context.invalid("Value '" + v + "' it's not a valid NCName.");
-            return;
-        }
-    }
-}
\ No newline at end of file
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNameImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNameImpl.java
deleted file mode 100644
index 9fa988e..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNameImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlName;
-
-
-public class XmlNameImpl extends JavaStringHolderEx implements XmlName
-{
-    public XmlNameImpl()
-        { super(XmlName.type, false); }
-    public XmlNameImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNegativeIntegerImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNegativeIntegerImpl.java
deleted file mode 100644
index 2c7ca5a..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNegativeIntegerImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlNegativeInteger;
-
-
-public class XmlNegativeIntegerImpl extends JavaIntegerHolderEx implements XmlNegativeInteger
-{
-    public XmlNegativeIntegerImpl()
-        { super(XmlNegativeInteger.type, false); }
-    public XmlNegativeIntegerImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNmTokenImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNmTokenImpl.java
deleted file mode 100644
index 48d513e..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNmTokenImpl.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlNMTOKEN;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.XMLChar;
-
-
-public class XmlNmTokenImpl extends JavaStringHolderEx implements XmlNMTOKEN
-{
-    public XmlNmTokenImpl()
-        { super(XmlNMTOKEN.type, false); }
-    public XmlNmTokenImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-
-    public static void validateLexical(String v, ValidationContext context)
-    {
-        if ( !XMLChar.isValidNmtoken(v) )
-        {
-            context.invalid("Value '" + v + "' it's not a valid NMTOKEN.");
-            return;
-        }
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNmTokensImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNmTokensImpl.java
deleted file mode 100644
index 6ba3008..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNmTokensImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlNMTOKENS;
-
-
-public class XmlNmTokensImpl extends XmlListImpl implements XmlNMTOKENS
-{
-    public XmlNmTokensImpl()
-        { super(XmlNMTOKENS.type, false);}
-    public XmlNmTokensImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNonNegativeIntegerImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNonNegativeIntegerImpl.java
deleted file mode 100644
index a69efdf..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNonNegativeIntegerImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlNonNegativeInteger;
-import org.apache.xmlbeans.SchemaType;
-
-
-public class XmlNonNegativeIntegerImpl extends JavaIntegerHolderEx implements XmlNonNegativeInteger
-{
-    public XmlNonNegativeIntegerImpl()
-        { super(XmlNonNegativeInteger.type, false); }
-    public XmlNonNegativeIntegerImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNonPositiveIntegerImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNonPositiveIntegerImpl.java
deleted file mode 100644
index aab1da6..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNonPositiveIntegerImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlNonPositiveInteger;
-
-
-public class XmlNonPositiveIntegerImpl extends JavaIntegerHolderEx implements XmlNonPositiveInteger
-{
-    public XmlNonPositiveIntegerImpl()
-        { super(XmlNonPositiveInteger.type, false); }
-    public XmlNonPositiveIntegerImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNormalizedStringImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNormalizedStringImpl.java
deleted file mode 100644
index 04a63a3..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNormalizedStringImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlNormalizedString;
-
-public class XmlNormalizedStringImpl extends JavaStringHolderEx implements XmlNormalizedString
-{
-    public XmlNormalizedStringImpl()
-        { super(XmlNormalizedString.type, false); }
-    public XmlNormalizedStringImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNotationImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNotationImpl.java
deleted file mode 100644
index 42de90f..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNotationImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlNOTATION;
-
-public class XmlNotationImpl extends JavaNotationHolder implements XmlNOTATION
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNotationRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNotationRestriction.java
deleted file mode 100644
index 144ef44..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlNotationRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlNOTATION;
-import org.apache.xmlbeans.SchemaType;
-
-public class XmlNotationRestriction extends JavaNotationHolderEx implements XmlNOTATION
-{
-    public XmlNotationRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlObjectBase.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlObjectBase.java
deleted file mode 100644
index 9151f48..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlObjectBase.java
+++ /dev/null
@@ -1,2679 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer.
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache
-*    XMLBeans", nor may "Apache" appear in their name, without prior
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import javax.xml.namespace.QName;
-import weblogic.xml.stream.XMLInputStream;
-
-import java.math.BigInteger;
-import java.math.BigDecimal;
-import java.io.Serializable;
-import java.io.File;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.Writer;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.ObjectStreamException;
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-import java.lang.reflect.Array;
-import java.util.Date;
-import java.util.List;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.Calendar;
-import java.util.Collection;
-
-import org.apache.xmlbeans.impl.common.XmlWhitespace;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.GlobalLock;
-import org.apache.xmlbeans.impl.common.XmlErrorWatcher;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.schema.SchemaTypeImpl;
-import org.apache.xmlbeans.impl.schema.SchemaTypeVisitorImpl;
-import org.apache.xmlbeans.impl.validator.Validator;
-import org.apache.xmlbeans.impl.values.XmlValueNotNillableException;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaAttributeModel;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlDocumentProperties;
-import org.apache.xmlbeans.SimpleValue;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaField;
-import org.apache.xmlbeans.SchemaProperty;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlRuntimeException;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.GDate;
-import org.apache.xmlbeans.GDuration;
-import org.apache.xmlbeans.GDateSpecification;
-import org.apache.xmlbeans.GDurationSpecification;
-import org.apache.xmlbeans.StringEnumAbstractBase;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlError;
-import org.apache.xmlbeans.SchemaLocalAttribute;
-import org.apache.xmlbeans.FilterXmlObject;
-
-import org.w3c.dom.Node;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.SAXException;
-
-public abstract class XmlObjectBase implements TypeStoreUser, Serializable, XmlObject, SimpleValue
-{
-    public static final short MAJOR_VERSION_NUMBER = (short) 1; // for serialization
-    public static final short MINOR_VERSION_NUMBER = (short) 1; // for serialization
-
-    public final Object monitor()
-    {
-        if (has_store())
-            return get_store().get_root_object();
-        return this;
-    }
-    
-    private static XmlObjectBase underlying(XmlObject obj)
-    {
-        if (obj == null)
-            return null;
-        if (obj instanceof XmlObjectBase)
-            return (XmlObjectBase)obj;
-        while (obj instanceof FilterXmlObject)
-            obj = ((FilterXmlObject)obj).underlyingXmlObject();
-        if (obj instanceof XmlObjectBase)
-            return (XmlObjectBase)obj;
-        throw new IllegalStateException("Non-native implementations of XmlObject should extend FilterXmlObject");
-    }
-
-    public final XmlObject copy()
-    {
-        synchronized (monitor())
-        {
-            // immutable objects don't get copied. They're immutable
-            if (isImmutable())
-                return this;
-
-            check_orphaned();
-
-            // copy the type
-            XmlObject result = get_store().get_schematypeloader().newInstance(schemaType(), null);
-            
-
-            // copy the data
-            XmlObjectBase target = underlying(result);
-            target.get_store().copy_contents_from(get_store());
-            
-            return result;
-        }
-    }
-
-    public XmlDocumentProperties documentProperties()
-        { XmlCursor cur = newCursorForce(); try { return cur.documentProperties(); } finally { cur.dispose(); } }
-
-    public XMLInputStream newXMLInputStream()
-        { return newXMLInputStream(null); }
-
-    public XMLInputStream newXMLInputStream(XmlOptions options)
-        { XmlCursor cur = newCursorForce(); try { return cur.newXMLInputStream(makeInnerOptions(options)); } finally { cur.dispose(); } }
-
-    public InputStream newInputStream()
-        { return newInputStream(null); }
-
-    public InputStream newInputStream(XmlOptions options)
-        { XmlCursor cur = newCursorForce(); try { return cur.newInputStream(makeInnerOptions(options)); } finally { cur.dispose(); } }
-
-    public Reader newReader()
-        { return newReader(null); }
-
-    public Reader newReader(XmlOptions options)
-        { XmlCursor cur = newCursorForce(); try { return cur.newReader(makeInnerOptions(options)); } finally { cur.dispose(); } }
-
-    public Node newDomNode()
-        { return newDomNode(null); }
-
-    public Node newDomNode(XmlOptions options)
-        { XmlCursor cur = newCursorForce(); try { return cur.newDomNode(makeInnerOptions(options)); } finally { cur.dispose(); } }
-
-    public void save(ContentHandler ch, LexicalHandler lh, XmlOptions options) throws SAXException
-        { XmlCursor cur = newCursorForce(); try { cur.save(ch, lh, makeInnerOptions(options)); } finally { cur.dispose(); } }
-
-    public void save(File file, XmlOptions options) throws IOException
-        { XmlCursor cur = newCursorForce(); try { cur.save(file, makeInnerOptions(options)); } finally { cur.dispose(); } }
-
-    public void save(OutputStream os, XmlOptions options) throws IOException
-        { XmlCursor cur = newCursorForce(); try { cur.save(os, makeInnerOptions(options)); } finally { cur.dispose(); } }
-
-    public void save(Writer w, XmlOptions options) throws IOException
-        { XmlCursor cur = newCursorForce(); try { cur.save(w, makeInnerOptions(options)); } finally { cur.dispose(); } }
-
-    public void save(ContentHandler ch, LexicalHandler lh) throws SAXException
-        { save( ch, lh, null ); }
-
-    public void save(File file) throws IOException
-        { save( file, null ); }
-
-    public void save(OutputStream os) throws IOException
-        { save( os, null ); }
-
-    public void save(Writer w) throws IOException
-        { save( w, null ); }
-
-    public XmlCursor newCursorForce()
-    {
-        synchronized (monitor())
-        {
-            return ensureStore().newCursor();
-        }
-    }
-
-    private XmlObject ensureStore()
-    {
-        if ((_flags & FLAG_STORE) != 0)
-            return this;
-
-        check_dated();
-
-        String value =
-            (_flags & FLAG_NIL) != 0
-                ? ""
-                : compute_text( has_store() ? get_store() : null );
-
-        XmlOptions options = new XmlOptions().setDocumentType(schemaType());
-
-        XmlObject x = XmlObject.Factory.newInstance( options );
-
-        XmlCursor c = x.newCursor();
-        c.toNextToken();
-        c.insertChars( value );
-
-        return x;
-    }
-
-    private static XmlOptions makeInnerOptions(XmlOptions options)
-    {
-        XmlOptions innerOptions = new XmlOptions( options );
-        innerOptions.put( XmlOptions.SAVE_INNER );
-        return innerOptions;
-    }
-
-    public XmlCursor newCursor()
-    {
-        if ((_flags & FLAG_STORE) == 0)
-            throw new IllegalStateException("XML Value Objects cannot create cursors");
-
-        synchronized (monitor())
-        {
-            check_orphaned();
-            return get_store().new_cursor();
-        }
-    }
-
-    public abstract SchemaType schemaType();
-
-    public SchemaType instanceType()
-        { synchronized (monitor()) { return isNil() ? null : schemaType(); } }
-
-    private SchemaField schemaField() {
-        SchemaType st = schemaType();
-        SchemaField field;
-
-        // First check if this field has an anonymous type
-        field = st.getContainerField();
-
-        if (field == null)
-            field = get_store().get_schema_field();
-
-        return field;
-    }
-
-    /**
-     * Use _voorVc when you want to throw a ValueOutOfRangeException when
-     * validating a simple type.
-     */
-    private static final class ValueOutOfRangeValidationContext implements ValidationContext
-    {
-        public void invalid(String message)
-        {
-            throw new XmlValueOutOfRangeException( message );
-        }
-    }
-
-    /**
-     * Used to supply validation context for the validate_value methods
-     */
-    private static final class ImmutableValueValidationContext implements ValidationContext
-    {
-        private XmlObject _loc;
-        private Collection _coll;
-        ImmutableValueValidationContext(Collection coll, XmlObject loc)
-        {
-            _coll = coll;
-            _loc = loc;
-        }
-        public void invalid(String message)
-        {
-           _coll.add(XmlError.forObject(message, _loc));
-        }
-    }
-
-    public static final ValidationContext _voorVc = new ValueOutOfRangeValidationContext();
-
-    public boolean validate()
-        { return validate(null); }
-
-    public boolean validate(XmlOptions options)
-    {
-        if ((_flags & FLAG_STORE) == 0)
-        {
-            if ((_flags & FLAG_IMMUTABLE) != 0)
-            {
-                return validate_immutable(options);
-            }
-
-            throw new IllegalStateException(
-                    "XML objects with no underlying store cannot be validated");
-        }
-
-        synchronized (monitor())
-        {
-            if ((_flags & FLAG_ORPHANED) != 0)
-                throw new XmlValueDisconnectedException();
-
-            SchemaField field = schemaField();
-            SchemaType type = schemaType();
-
-            TypeStore typeStore = get_store();
-
-            Validator validator =
-                new Validator(
-                    type, field, typeStore.get_schematypeloader(), options, null);
-
-            typeStore.validate( validator );
-
-            return validator.isValid();
-        }
-    }
-
-    private boolean validate_immutable(XmlOptions options)
-    {
-        Collection errorListener = options == null ? null : (Collection)options.get(XmlOptions.ERROR_LISTENER);
-        XmlErrorWatcher watcher = new XmlErrorWatcher(errorListener);
-        if (!schemaType().isSimpleType())
-        {
-            // cannot have any required attributes or elements
-            SchemaProperty[] properties = schemaType().getProperties();
-            for (int i = 0; i < properties.length; i++)
-            {
-                if (properties[i].getMinOccurs().signum() > 0)
-                {
-                    if (properties[i].isAttribute())
-                        watcher.add(XmlError.forObject("Missing required attribute " + QNameHelper.pretty(properties[i].getName()), this));
-                    else
-                        watcher.add(XmlError.forObject("Missing required element " + QNameHelper.pretty(properties[i].getName()), this));
-                }
-            }
-
-            if (schemaType().getContentType() != SchemaType.SIMPLE_CONTENT)
-                return !watcher.hasError(); // don't validate non-simple-content
-        }
-
-        String text = (String)_textsource;
-        if (text == null)
-            text = "";
-        validate_simpleval(text, new ImmutableValueValidationContext(watcher, this));
-        return !watcher.hasError();
-    }
-
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        return;
-    }
-
-    private static XmlObject[] _typedArray(XmlObject[] input)
-    {
-        if (input.length == 0)
-            return input;
-        SchemaType commonType = input[0].schemaType();
-        if (commonType.equals(XmlObject.type))
-            return input;
-        for (int i = 1; i < input.length; i++)
-        {
-            commonType = commonType.getCommonBaseType(input[i].schemaType());
-            if (commonType.equals(XmlObject.type))
-                return input;
-        }
-        Class desiredClass = commonType.getJavaClass();
-        while (desiredClass == null)
-        {
-            commonType = commonType.getBaseType();
-            if (XmlObject.type.equals(commonType))
-                return input;
-            desiredClass = commonType.getJavaClass();
-        }
-
-        XmlObject[] result = (XmlObject[])Array.newInstance(desiredClass, input.length);
-        System.arraycopy(input, 0, result, 0, input.length);
-        return result;
-    }
-
-    public XmlObject[] selectPath ( String path )
-    {
-        return selectPath( path, null );
-    }
-
-    public XmlObject[] selectPath ( String path, XmlOptions options )
-    {
-        XmlObject [] selections;
-
-        // all user-level code; doesn't need to be synchronized
-
-        XmlCursor c = newCursor();
-
-        if (c == null)
-            throw new XmlValueDisconnectedException();
-
-        try
-        {
-            c.selectPath( path, options );
-
-            if (!c.hasNextSelection())
-                selections = new XmlObject[ 0 ];
-            else
-            {
-                selections = new XmlObject [ c.getSelectionCount() ];
-
-                for (int i = 0 ; c.toNextSelection() ; i++)
-                {
-                    if ((selections[ i ] = c.getObject()) == null)
-                    {
-                        throw
-                            new XmlRuntimeException(
-                                "Path must select only elements " +
-                                    "and attributes" );
-                    }
-                }
-            }
-        }
-        finally
-        {
-            c.dispose();
-        }
-
-        return _typedArray(selections);
-    }
-
-    public XmlObject[] execQuery ( String path )
-    {
-        return execQuery( path, null );
-    }
-
-    public XmlObject[] execQuery ( String queryExpr, XmlOptions options )
-    {
-        synchronized (monitor())
-        {
-            TypeStore typeStore = get_store();
-
-            if (typeStore == null)
-            {
-                throw
-                    new XmlRuntimeException(
-                        "Cannot do XQuery on XML Value Objects" );
-            }
-
-            try
-            {
-                return _typedArray(typeStore.exec_query( queryExpr, options ));
-            }
-            catch (XmlException e)
-            {
-                throw new XmlRuntimeException( e );
-            }
-        }
-    }
-
-    public XmlObject changeType(SchemaType type)
-    {
-        if (type == null)
-            throw new IllegalArgumentException( "Invalid type (null)" );
-
-        if ((_flags & FLAG_STORE) == 0)
-        {
-            throw
-                new IllegalStateException(
-                    "XML Value Objects cannot have thier type changed" );
-        }
-
-        synchronized (monitor())
-        {
-            check_orphaned();
-            return (XmlObject) get_store().change_type( type );
-        }
-    }
-
-    private int _flags;
-    private Object _textsource;
-
-    protected XmlObjectBase()
-    {
-        _flags = FLAG_NILLABLE | FLAG_NIL;
-    }
-
-    public void init_flags(SchemaProperty prop)
-    {
-        if (prop == null) return;
-
-        if (prop.hasDefault() == SchemaProperty.VARIABLE ||
-            prop.hasFixed() == SchemaProperty.VARIABLE ||
-            prop.hasNillable() == SchemaProperty.VARIABLE)
-            return;
-
-        _flags |=
-            (prop.hasDefault() == SchemaProperty.NEVER ? 0 : TypeStore.HASDEFAULT) |
-            (prop.hasFixed() == SchemaProperty.NEVER ? 0 : TypeStore.FIXED) |
-            (prop.hasNillable() == SchemaProperty.NEVER ? 0 : TypeStore.NILLABLE) |
-            (FLAG_NOT_VARIABLE);
-    }
-
-    {
-        assert TypeStore.NILLABLE   == 1;
-        assert TypeStore.HASDEFAULT == 2;
-        assert TypeStore.FIXED      == 4;
-    }
-
-    private static final int FLAG_NILLABLE        = TypeStore.NILLABLE;
-    private static final int FLAG_HASDEFAULT      = TypeStore.HASDEFAULT;
-    private static final int FLAG_FIXED           = TypeStore.FIXED;
-    private static final int FLAG_ATTRIBUTE       =     8;
-    private static final int FLAG_STORE           =    16;
-    private static final int FLAG_VALUE_DATED     =    32;
-    private static final int FLAG_NIL             =    64;
-    private static final int FLAG_NIL_DATED       =   128;
-    private static final int FLAG_ISDEFAULT       =   256;
-    private static final int FLAG_ELEMENT_DATED   =   512;
-    private static final int FLAG_SETTINGDEFAULT  =  1024;
-    private static final int FLAG_ORPHANED        =  2048;
-    private static final int FLAG_IMMUTABLE       =  4096;
-    private static final int FLAG_COMPLEXTYPE     =  8192;
-    private static final int FLAG_COMPLEXCONTENT  = 16384;
-    private static final int FLAG_NOT_VARIABLE    = 32768;
-    private static final int FLAG_VALIDATE_ON_SET = 65536;
-
-
-    /**
-     * The three dated flags are always stacked:
-     *     FLAG_ELEMENT_DATED implies FLAG_NIL_DATED is set
-     *     FLAG_NIL_DATED implies FLAG_TEXT_DATED is set.
-     * checkers work on the flags from top to bottom.
-     */
-    private static final int FLAGS_DATED =
-            FLAG_VALUE_DATED | FLAG_NIL_DATED | FLAG_ELEMENT_DATED;
-
-    /**
-     * The three element status flags have one interrlationshiop:
-     *     FLAG_FIXED implies FLAG_HASDEFAULT is set.
-     * These flags are used when setting nils, defaults, strings.
-     * Since an initial get implies setting from text, they're
-     * also used during getting.
-     */
-    private static final int FLAGS_ELEMENT =
-            FLAG_NILLABLE | FLAG_FIXED | FLAG_HASDEFAULT;
-
-
-    /**
-     * Called by restriction subclasses within their constructors to enable
-     * complex type support.
-     */
-    protected void initComplexType(boolean complexType, boolean complexContent)
-    {
-        _flags |= (complexType ? FLAG_COMPLEXTYPE : 0) |
-                  (complexContent ? FLAG_COMPLEXCONTENT : 0);
-    }
-
-    protected boolean _isComplexType()
-        { return (_flags & FLAG_COMPLEXTYPE) != 0; }
-
-    protected boolean _isComplexContent()
-        { return (_flags & FLAG_COMPLEXCONTENT) != 0; }
-
-    public void setValidateOnSet() {
-        _flags |= FLAG_VALIDATE_ON_SET;
-    }
-
-    protected boolean _validateOnSet()
-        { return (_flags & FLAG_VALIDATE_ON_SET) != 0; }
-
-    /**
-     * True if the value is nilled.
-     */
-    public final boolean isNil()
-    {
-        synchronized (monitor())
-        {
-            check_dated();
-            return ((_flags & FLAG_NIL) != 0);
-        }
-    }
-
-    /**
-     * True if the value is fixed.
-     */
-    public final boolean isFixed()
-    {
-        check_element_dated();
-        return ((_flags & FLAG_FIXED) != 0);
-    }
-
-    /**
-     * True if the value is allowed to be nil.
-     */
-    public final boolean isNillable()
-    {
-        check_element_dated();
-        return ((_flags & FLAG_NILLABLE) != 0);
-    }
-
-    /**
-     * True if the value is currently defaulted.
-     */
-    public final boolean isDefaultable()
-    {
-        check_element_dated();
-        return ((_flags & FLAG_HASDEFAULT) != 0);
-    }
-
-    /**
-     * True if the value is currently defaulted.
-     */
-    public final boolean isDefault()
-    {
-        check_dated();
-        return ((_flags & FLAG_ISDEFAULT) != 0);
-    }
-
-
-    /**
-     * Nils the value.
-     */
-    public final void setNil()
-    {
-        synchronized (monitor())
-        {
-            set_prepare();
-
-            // if we're not nillable, throw exception on setNil(true)
-            if ((_flags & FLAG_NILLABLE) == 0)
-                throw new XmlValueNotNillableException();
-
-            // the implementation should zero the value to reflect nil
-            set_nil();
-
-            // set the nil flag
-            _flags |= FLAG_NIL;
-
-            // ordinary commit except no clearing of nil flag
-            if ((_flags & FLAG_STORE) != 0)
-            {
-                _flags &= ~FLAGS_DATED;
-                get_store().invalidate_nil();
-            }
-            else
-            {
-                _textsource = null;
-            }
-        }
-    }
-
-    /**
-     * Used for situations where these flags must be passed on to
-     * chained values. (See XmlAnySimpleType (allSimpleValue), union
-     * implementations).
-     */
-    protected int elementFlags()
-    {
-        check_element_dated();
-        return (_flags & FLAGS_ELEMENT);
-    }
-
-    /**
-     * Used to make a free-standing xml simple value instance immutable.
-     * This is a one-way street, and it is illegal to attempt to make a
-     * value that is embedded in an xml document immutable.
-     *
-     * Once a value is marked as immutable, it is illegal to call setters
-     * of any kind.
-     */
-    public void setImmutable()
-    {
-        if ((_flags & (FLAG_IMMUTABLE | FLAG_STORE)) != 0)
-            throw new IllegalStateException();
-
-        _flags |= FLAG_IMMUTABLE;
-    }
-
-    /**
-     * Is this instance an immutable value?
-     */
-    public boolean isImmutable()
-    {
-        return (_flags & FLAG_IMMUTABLE) != 0;
-    }
-
-
-
-
-    // TEXTUSER implementation
-
-    /**
-     * Called to initialize the TypeStore associated with this XmlObject
-     * implementation. If not called, this is a free-floating value holder.
-     *
-     * When a value is first attached, it is put in a completely invalidated
-     * state.
-     */
-    public final void attach_store(TypeStore store)
-    {
-        _textsource = store;
-        if ((_flags & FLAG_IMMUTABLE) != 0)
-            throw new IllegalStateException();
-        _flags |= FLAG_STORE | FLAG_VALUE_DATED | FLAG_NIL_DATED | FLAG_ELEMENT_DATED;
-
-        if (store.is_attribute())
-            _flags |= FLAG_ATTRIBUTE;
-
-        if (store.validate_on_set())
-            _flags |= FLAG_VALIDATE_ON_SET;
-    }
-
-    /**
-     * Called by a TypeStore to indicate that the text has been
-     * invalidated and should be fetched next time the value is
-     * needed.
-     */
-    public final void invalidate_value()
-    {
-        assert((_flags & FLAG_STORE) != 0);
-        _flags |= FLAG_VALUE_DATED;
-    }
-
-    public final boolean uses_invalidate_value()
-    {
-        SchemaType type = schemaType();
-        return type.isSimpleType() || type.getContentType() == SchemaType.SIMPLE_CONTENT;
-    }
-
-    /**
-     * Called by a TypeStore to indicate that the xsi:nil attribute
-     * on the containing element (and possibly the text) has been
-     * invalidated and both should be consulted next time the value
-     * is needed.
-     */
-    public final void invalidate_nilvalue()
-    {
-        assert((_flags & FLAG_STORE) != 0);
-        _flags |= FLAG_VALUE_DATED | FLAG_NIL_DATED;
-    }
-
-    /**
-     * Called by a TypeStore to indicate that the element's default
-     * value, nillability, fixedness, etc, may have changed by
-     * virtue of the element order changing (and xsi:nil and the
-     * text may have changed too); so the store should be consulted
-     * next time any setter or getter is called.
-     */
-    public final void invalidate_element_order()
-    {
-        assert((_flags & FLAG_STORE) != 0);
-        _flags |= FLAG_VALUE_DATED | FLAG_NIL_DATED | FLAG_ELEMENT_DATED;
-    }
-
-    /**
-     * Used by the ComplexTypeImpl subclass to get direct access
-     * to the store.
-     */
-    public final TypeStore get_store()
-    {
-        assert((_flags & FLAG_STORE) != 0);
-        return (TypeStore)_textsource;
-    }
-
-    protected final boolean has_store()
-    {
-        return (_flags & FLAG_STORE) != 0;
-    }
-
-    /**
-     * Called by a TypeStore to pull out the most reasonable
-     * text value from us. This is done after we have invalidated
-     * the store (typically when our value has been set).
-     */
-    public final String build_text(NamespaceManager nsm)
-    {
-        assert((_flags & FLAG_STORE) != 0);
-        assert((_flags & FLAG_VALUE_DATED) == 0);
-        if ((_flags & (FLAG_NIL | FLAG_ISDEFAULT)) != 0)
-            return "";
-        return compute_text(
-                    nsm == null ? has_store() ? get_store() : null : nsm);
-    }
-
-    /**
-     * A store will call back on build_nil after we've called invalidate_nil
-     * and it needs to know what the nil value is.
-     */
-    public boolean build_nil()
-    {
-        assert((_flags & FLAG_STORE) != 0);
-        assert((_flags & FLAG_VALUE_DATED) == 0);
-        return (_flags & FLAG_NIL) != 0;
-    }
-
-    /**
-     * A store will call back on validate_now to force us to look at
-     * the text if we're in an invalid state. We're allowed to throw
-     * an exception if the text isn't valid for our type.
-     */
-    public void validate_now()
-    {
-        check_dated();
-    }
-
-    /**
-     * A store calls back here in order to force a disconnect.
-     * After this is done, the object should be considered invalid.
-     * Any attempt to access or set a value should result in an
-     * exception.
-     *
-     * Note that this is how we handle deletions and xsi:type changes.
-     */
-    public void disconnect_store()
-    {
-        assert((_flags & FLAG_STORE) != 0);
-        _flags |= FLAGS_DATED | FLAG_ORPHANED;
-        // do NOT null out _textsource, because we need it non-null for synchronization
-    }
-
-    /**
-     * A typestore user can create a new TypeStoreUser instance for
-     * a given element child name as long as you also pass the
-     * qname contained by the xsi:type attribute, if any.
-     *
-     * Note that we will ignore the xsiType if it turns out to be invalid.
-     *
-     * Returns null if there is no strongly typed information for that
-     * given element (which implies, recusively, no strongly typed information
-     * downwards).
-     */
-    public TypeStoreUser create_element_user(QName eltName, QName xsiType)
-    {
-        return
-            (TypeStoreUser)
-                ((SchemaTypeImpl) schemaType()).createElementType(
-                    eltName, xsiType, get_store().get_schematypeloader() );
-
-        /*
-        SchemaTypeImpl stype = (SchemaTypeImpl)schemaType().getElementType(eltName, xsiType, get_store().get_schematypeloader());
-        if (stype == null)
-            return null;
-        return (TypeStoreUser)stype.createUnattachedNode();
-        */
-    }
-
-    /**
-     * A typestore user can create a new TypeStoreUser instance for
-     * a given attribute child, based on the attribute name.
-     *
-     * Returns null if there is no strongly typed information for that
-     * given attributes.
-     */
-    public TypeStoreUser create_attribute_user(QName attrName)
-    {
-        return (TypeStoreUser)((SchemaTypeImpl)schemaType()).createAttributeType(attrName, get_store().get_schematypeloader());
-    }
-
-    public SchemaType get_schema_type()
-    {
-        return schemaType();
-    }
-
-    public SchemaType get_element_type(QName eltName, QName xsiType)
-    {
-        return schemaType().getElementType(
-            eltName, xsiType, get_store().get_schematypeloader() );
-    }
-
-    public SchemaType get_attribute_type(QName attrName)
-    {
-        return schemaType().getAttributeType(
-            attrName, get_store().get_schematypeloader() );
-    }
-
-    /**
-     * Returns the default element text, if it's consistent. If it's
-     * not consistent, returns null, and requires a visitor walk.
-     *
-     * Also returns null if there is no default at all (although
-     * that can also be discovered via get_elementflags without
-     * doing a walk).
-     */
-    public String get_default_element_text(QName eltName)
-    {
-        assert(_isComplexContent());
-        if (!_isComplexContent())
-            throw new IllegalStateException();
-
-        SchemaProperty prop = schemaType().getElementProperty(eltName);
-        if (prop == null)
-            return "";
-        return prop.getDefaultText();
-    }
-
-    /**
-     * Returns the default attribute text for the attribute with
-     * the given name, or null if no default.
-     */
-    public String get_default_attribute_text(QName attrName)
-    {
-        assert(_isComplexType());
-        if (!_isComplexType())
-            throw new IllegalStateException();
-
-        SchemaProperty prop = schemaType().getAttributeProperty(attrName);
-        if (prop == null)
-            return "";
-        return prop.getDefaultText();
-    }
-
-    /**
-     * Returns the elementflags, if they're consistent. If they're
-     * not, returns -1, and requires a vistor walk.
-     */
-    public int get_elementflags(QName eltName)
-    {
-        if (!_isComplexContent())
-            return 0;
-
-        SchemaProperty prop = schemaType().getElementProperty(eltName);
-        if (prop == null)
-            return 0;
-        if (prop.hasDefault() == SchemaProperty.VARIABLE ||
-            prop.hasFixed() == SchemaProperty.VARIABLE ||
-            prop.hasNillable() == SchemaProperty.VARIABLE)
-            return -1;
-        return
-            (prop.hasDefault() == SchemaProperty.NEVER ? 0 : TypeStore.HASDEFAULT) |
-            (prop.hasFixed() == SchemaProperty.NEVER ? 0 : TypeStore.FIXED) |
-            (prop.hasNillable() == SchemaProperty.NEVER ? 0 : TypeStore.NILLABLE);
-    }
-
-    /**
-     * Returns the flags for the given attribute.
-     */
-    public int get_attributeflags(QName attrName)
-    {
-        if (!_isComplexType())
-            return 0;
-        SchemaProperty prop = schemaType().getAttributeProperty(attrName);
-        if (prop == null)
-            return 0;
-        return
-            (prop.hasDefault() == SchemaProperty.NEVER ? 0 : TypeStore.HASDEFAULT) |
-            (prop.hasFixed() == SchemaProperty.NEVER ? 0 : TypeStore.FIXED);
-        // BUGBUG: todo: hook up required?
-    }
-
-    /**
-     * Returns false if child elements are insensitive to order;
-     * if it returns true, you're required to call invalidate_element_order
-     * on children to the right of any child order rearrangement.
-     */
-    public boolean is_child_element_order_sensitive()
-    {
-        if (!_isComplexType())
-            return false;
-        return schemaType().isOrderSensitive();
-    }
-
-    /**
-     * Inserting a new element is always unambiguous except in one
-     * situation: when adding an element after the last one with
-     * that name (or the first one if there are none).
-     *
-     * In that case, add the element at the first possible slot
-     * BEFORE any element whose qname is contained in the QNameSet
-     * given. (If the QNameSet is empty, that means add the new
-     * element at the very end.)
-     *
-     * If the returned QNameSet is null, treat it as if the QNameSet
-     * contained all QNames, i.e., add the new element at the very
-     * first position possible (adjacent to the last element of the
-     * same name, or at the very first slot if it is the first elt
-     * with that name).
-     */
-    public final QNameSet get_element_ending_delimiters(QName eltname)
-    {
-        SchemaProperty prop = schemaType().getElementProperty(eltname);
-        if (prop == null)
-            return null;
-        return prop.getJavaSetterDelimiter();
-    }
-
-    /**
-     * A typestore user can return a visitor that is used to compute
-     * default text and elementflags for an arbitrary element.
-     */
-    public TypeStoreVisitor new_visitor()
-    {
-        if (!_isComplexContent())
-            return null;
-        return new SchemaTypeVisitorImpl(schemaType().getContentModel());
-    }
-
-    public SchemaField get_attribute_field(QName attrName)
-    {
-        SchemaAttributeModel model = schemaType().getAttributeModel();
-        if (model == null)
-            return null;
-        return model.getAttribute(attrName);
-    }
-
-
-    /**
-     * Setting a string preserves any noncanonical literal
-     * representation. This is done by storing the actual
-     * string in the underlying store after checking it
-     * against the primitive type for validity.
-     */
-    protected void set_String(String v)
-    {
-        if ((_flags & FLAG_IMMUTABLE) != 0)
-            throw new IllegalStateException();
-
-        boolean wasNilled = ((_flags & FLAG_NIL) != 0);
-
-        // update the underlying value from the string
-        String wscanon = apply_wscanon(v);
-        update_from_wscanon_text(wscanon);
-
-        // Now store the literal text immediately in the underlying
-        if ((_flags & FLAG_STORE) != 0)
-        {
-            _flags &= ~FLAG_VALUE_DATED;
-            get_store().store_text(v);
-            if (wasNilled)
-                get_store().invalidate_nil();
-        }
-        else
-            _textsource = v;
-    }
-
-    /**
-     * Update the value based on complex content.
-     */
-    protected void update_from_complex_content()
-    {
-        throw new XmlValueOutOfRangeException();
-    }
-
-    /**
-     * Utility to update the value based on a string that
-     * was passed either from the text store or from the user.
-     * This function handles the cases where there is a default
-     * that must be applied, and where the value must match
-     * a fixed value.
-     */
-    private final void update_from_wscanon_text(String v)
-    {
-        // Whitespace is default if this type treats this space as defaultable
-        if ((_flags & FLAG_HASDEFAULT) != 0 &&  (_flags & FLAG_SETTINGDEFAULT) == 0)
-        {
-            // This isn't quite correct since the .equals("") test should be
-            // done on the actual text, not the wscanon text
-            if ((_flags & FLAG_ATTRIBUTE) == 0 && v.equals(""))
-            {
-                String def = get_store().compute_default_text();
-                if (def == null)
-                    throw new XmlValueOutOfRangeException();
-
-                // protect against recursion with this flag
-                _flags |= FLAG_SETTINGDEFAULT;
-                try { this.set(def); }
-                finally { _flags &= ~FLAG_SETTINGDEFAULT; }
-                _flags &= ~FLAG_NIL;
-                _flags |= FLAG_ISDEFAULT;
-                return;
-            }
-        }
-        // If we haven't returned yet, the default doesn't apply.
-
-        // Ask underlying impl to parse ordinary non-default text
-        set_text(v);
-        _flags &= ~(FLAG_NIL | FLAG_ISDEFAULT);
-    }
-
-    /**
-     * Types should return false if they don't treat the given
-     * whitespace as a default value.
-     */
-    protected boolean is_defaultable_ws(String v)
-    {
-        return true;
-    }
-
-    /**
-     * Returns the whitespace rule that will be applied before
-     * building a string to pass to get_text().
-     *
-     * Overridden by subclasses that don't need their text
-     * for set_text canonicalized; perhaps they already implement
-     * scanners that can deal with whitespace, and they know
-     * they have no regex pattern restrictions.
-     */
-    protected int get_wscanon_rule()
-    {
-        return SchemaType.WS_COLLAPSE;
-    }
-
-    /**
-     * Called to canonicalize whitespace before calling set_text.
-     *
-     * Tries to avoid allocation when the string is already canonical, but
-     * otherwise this is not particularly efficient. Hopefully the common
-     * case is that we pass our wscanon rule to the store via fetch_text
-     * and it's canonicalized before we even see it as a string.
-     */
-    private final String apply_wscanon(String v)
-    {
-        return XmlWhitespace.collapse(v, get_wscanon_rule());
-    }
-
-    /**
-     * Called before every set and get, to ensure that we have
-     * a correct picture of whether we're nillable, fixed, or
-     * if we have a default that can be applied.
-     */
-    private final void check_element_dated()
-    {
-        if ((_flags & FLAG_ELEMENT_DATED) != 0 &&
-            (_flags & FLAG_NOT_VARIABLE) == 0)
-        {
-            if ((_flags & FLAG_ORPHANED) != 0)
-                throw new XmlValueDisconnectedException();
-
-            int eltflags = get_store().compute_flags();
-            // int eltflags = 0;
-            _flags &= ~(FLAGS_ELEMENT | FLAG_ELEMENT_DATED);
-            _flags |= eltflags;
-        }
-        if ((_flags & FLAG_NOT_VARIABLE) != 0)
-            _flags &= ~(FLAG_ELEMENT_DATED);
-    }
-
-    /**
-     * Describes the orphaned status of this object.
-     */
-    protected final boolean is_orphaned()
-    {
-        return (_flags & FLAG_ORPHANED) != 0;
-    }
-
-    /**
-     * Called before every getter and setter on the strongly
-     * typed classes to ensure that the object has not been
-     * orphaned.
-     */
-    protected final void check_orphaned()
-    {
-        if (is_orphaned())
-            throw new XmlValueDisconnectedException();
-    }
-
-    /**
-     * Called prior to every get operation, to ensure
-     * that the value being read is valid. If the value
-     * has been invalidated, it is re-read from the underlying
-     * text store, and this may cause an out of range exception.
-     *
-     * This method deals with nils, nillability, defaults, etc.
-     */
-    public final void check_dated()
-    {
-        if ((_flags & FLAGS_DATED) != 0)
-        {
-            if ((_flags & FLAG_ORPHANED) != 0)
-                throw new XmlValueDisconnectedException();
-
-            assert((_flags & FLAG_STORE) != 0);
-
-            check_element_dated();
-
-            if ((_flags & FLAG_ELEMENT_DATED) != 0)
-            {
-                int eltflags = get_store().compute_flags();
-                _flags &= ~(FLAGS_ELEMENT | FLAG_ELEMENT_DATED);
-                _flags |= eltflags;
-            }
-
-            boolean nilled = false;
-
-            if ((_flags & FLAG_NIL_DATED) != 0)
-            {
-                if (get_store().find_nil())
-                {
-                    if ((_flags & FLAG_NILLABLE) == 0)
-                        throw new XmlValueOutOfRangeException(); // nil not allowed
-
-                    // let the implementation know that we're nil now
-                    set_nil();
-
-                    _flags |= FLAG_NIL;
-                    nilled = true;
-                }
-                else
-                {
-                    _flags &= ~FLAG_NIL;
-                }
-                _flags &= ~FLAG_NIL_DATED;
-            }
-
-            if (!nilled)
-            {
-                String text;
-
-                if ((_flags & FLAG_COMPLEXCONTENT) != 0 || (text = get_wscanon_text()) == null)
-                    update_from_complex_content();
-                else
-                {
-                    NamespaceContext.push(new NamespaceContext(get_store()));
-                    try { update_from_wscanon_text(text); }
-                    finally { NamespaceContext.pop(); }
-                }
-            }
-
-            _flags &= ~FLAG_VALUE_DATED;
-        }
-    }
-
-    /**
-     * Called before every set operation (except for the
-     * special case of setting a string) to:
-     * (1) get the nillable, fixed, etc flags
-     * (2) throw an exception if it's fixed (not for strings)
-     */
-    private final void set_prepare()
-    {
-        check_element_dated();
-        if ((_flags & FLAG_IMMUTABLE) != 0)
-            throw new IllegalStateException();
-    }
-
-    /**
-     * Called after every set operation to invalidate
-     * the attached raw text. Also, if we were dated,
-     * we make a note that we're now current, since the
-     * latest set beats the previous invalidate. Also,
-     * if we were nil, we're no longer.
-     */
-    private final void set_commit()
-    {
-        boolean wasNilled = ((_flags & FLAG_NIL) != 0);
-          _flags &= ~(FLAG_NIL | FLAG_ISDEFAULT);
-
-        if ((_flags & FLAG_STORE) != 0)
-        {
-            _flags &= ~(FLAGS_DATED);
-            get_store().invalidate_text();
-            if (wasNilled)
-                get_store().invalidate_nil();
-        }
-        else
-        {
-            _textsource = null;
-        }
-    }
-
-    /**
-     * Grabs the undelying litral representation, applying the
-     * implementation's wscanon rule.
-     * Null if not simple content.
-     */
-    public final String get_wscanon_text()
-    {
-        if ((_flags & FLAG_STORE) == 0)
-        {
-            return apply_wscanon((String)_textsource);
-        }
-        else return get_store().fetch_text(get_wscanon_rule());
-    }
-
-    /**
-     * This should set the value of the type from text,
-     * or throw an XmlValueOutOfRangeException if it can't.
-     */
-    abstract protected void set_text(String text);
-
-    /**
-     * This should clear the value, and set it to whatever
-     * is supposed to be returned when the value is nilled.
-     */
-    abstract protected void set_nil();
-
-    /**
-     * This should return the canonical string value of the primitive.
-     * Only called when non-nil.
-     */
-    abstract protected String compute_text(NamespaceManager nsm);
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-
-    // numerics: fractional
-    public float floatValue()
-        { BigDecimal bd = bigDecimalValue(); return bd == null ? 0.0f : bd.floatValue(); }
-    public double doubleValue()
-        { BigDecimal bd = bigDecimalValue(); return bd == null ? 0.0 : bd.doubleValue(); }
-    public BigDecimal bigDecimalValue()
-        { throw new XmlValueOutOfRangeException(); }
-
-    // numerics: integral
-    public BigInteger bigIntegerValue()
-        { BigDecimal bd = bigDecimalValue(); return bd == null ? null : bd.toBigInteger(); }
-
-    public byte byteValue()
-    {
-        long l = intValue();
-        if (l > Byte.MAX_VALUE) throw new XmlValueOutOfRangeException();
-        if (l < Byte.MIN_VALUE) throw new XmlValueOutOfRangeException();
-        return (byte)l;
-    }
-
-    public short shortValue()
-    {
-        long l = intValue();
-        if (l > Short.MAX_VALUE) throw new XmlValueOutOfRangeException();
-        if (l < Short.MIN_VALUE) throw new XmlValueOutOfRangeException();
-        return (short)l;
-    }
-
-    public int intValue()
-    {
-        long l = longValue();
-        if (l > Integer.MAX_VALUE) throw new XmlValueOutOfRangeException();
-        if (l < Integer.MIN_VALUE) throw new XmlValueOutOfRangeException();
-        return (int)l;
-    }
-    private static final BigInteger _max = BigInteger.valueOf(Long.MAX_VALUE);
-    private static final BigInteger _min = BigInteger.valueOf(Long.MIN_VALUE);
-
-    public long longValue()
-    {
-        BigInteger b = bigIntegerValue();
-        if (b == null) return 0L;
-        if (b.compareTo(_max) >= 0) throw new XmlValueOutOfRangeException();
-        if (b.compareTo(_min) <= 0) throw new XmlValueOutOfRangeException();
-        return b.longValue();
-    }
-
-    private static final XmlOptions _toStringOptions =
-        buildInnerPrettyOptions();
-
-    static final XmlOptions buildInnerPrettyOptions()
-    {
-        XmlOptions options = new XmlOptions();
-        options.put( XmlOptions.SAVE_INNER );
-        options.put( XmlOptions.SAVE_PRETTY_PRINT );
-        options.put( XmlOptions.SAVE_AGGRESSIVE_NAMESPACES );
-        options.put( XmlOptions.SAVE_USE_DEFAULT_NAMESPACE );
-        return options;
-    }
-
-    /*
-    private static final void dumpStack ( String msg )
-    {
-        try
-        {
-            java.io.FileOutputStream fos = new java.io.FileOutputStream( "C:\\ee.txt", true );
-            java.io.PrintStream ps = new java.io.PrintStream( fos );
-            ps.println( "======================================" );
-            ps.println( msg );
-            new Exception().printStackTrace( ps );
-            ps.close();
-            fos.close();
-        }
-        catch ( Exception e )
-        {
-        }
-
-    }
-    */
-
-    public final String toString( )
-    {
-        synchronized (monitor())
-        {
-            return ensureStore().xmlText(_toStringOptions);
-        }
-    }
-
-    public String xmlText()
-    {
-        return xmlText(null);
-    }
-
-    public String xmlText (XmlOptions options)
-    {
-        XmlCursor cur = newCursorForce();
-
-        try
-        {
-            return cur.xmlText(makeInnerOptions(options));
-        }
-        finally
-        {
-            cur.dispose();
-        }
-    }
-
-    // enums
-    public StringEnumAbstractBase enumValue()
-        { throw new XmlValueOutOfRangeException(); }
-
-    // various
-    public String stringValue()
-    {
-        // Since complex-content types don't have a "natural" string value, we
-        // emit the deeply concatenated, tag-removed content of the tag.
-        synchronized (monitor())
-        {
-            if (_isComplexContent())
-                return get_store().fetch_text(TypeStore.WS_PRESERVE);
-
-            check_dated();
-            if ((_flags & FLAG_NIL) != 0)
-                return null;
-            return compute_text(has_store() ? get_store() : null);
-        }
-    }
-
-    public String getStringValue()
-        { return stringValue(); }
-    public boolean getBooleanValue()
-        { return booleanValue(); }
-    public byte getByteValue()
-        { return byteValue(); }
-    public short getShortValue()
-        { return shortValue(); }
-    public int getIntValue()
-        { return intValue(); }
-    public long getLongValue()
-        { return longValue(); }
-    public BigInteger getBigIntegerValue()
-        { return bigIntegerValue(); }
-    public BigDecimal getBigDecimalValue()
-        { return bigDecimalValue(); }
-    public float getFloatValue()
-        { return floatValue(); }
-    public double getDoubleValue()
-        { return doubleValue(); }
-    public byte[] getByteArrayValue()
-        { return byteArrayValue(); }
-    public StringEnumAbstractBase getEnumValue()
-        { return enumValue(); }
-    public Calendar getCalendarValue()
-        { return calendarValue(); }
-    public Date getDateValue()
-        { return dateValue(); }
-    public GDate getGDateValue()
-        { return gDateValue(); }
-    public GDuration getGDurationValue()
-        { return gDurationValue(); }
-    public QName getQNameValue()
-        { return qNameValue(); }
-    public List xgetListValue()
-        { return xlistValue(); }
-    public List getListValue()
-        { return listValue(); }
-    public Object getObjectValue()
-        { return objectValue(); }
-
-    public void setStringValue(String obj)
-        { set(obj); }
-    public void setBooleanValue(boolean v)
-        { set(v); }
-    public void setByteValue(byte v)
-        { set(v); }
-    public void setShortValue(short v)
-        { set(v); }
-    public void setIntValue(int v)
-        { set(v); }
-    public void setLongValue(long v)
-        { set(v); }
-    public void setBigIntegerValue(BigInteger obj)
-        { set(obj); }
-    public void setBigDecimalValue(BigDecimal obj)
-        { set(obj); }
-    public void setFloatValue(float v)
-        { set(v); }
-    public void setDoubleValue(double v)
-        { set(v); }
-    public void setByteArrayValue(byte[] obj)
-        { set(obj); }
-    public void setEnumValue(StringEnumAbstractBase obj)
-        { set(obj); }
-    public void setCalendarValue(Calendar obj)
-        { set(obj); }
-    public void setDateValue(Date obj)
-        { set(obj); }
-    public void setGDateValue(GDate obj)
-        { set(obj); }
-    public void setGDurationValue(GDuration obj)
-        { set(obj); }
-    public void setQNameValue(QName obj)
-        { set(obj); }
-    public void setListValue(List obj)
-        { set(obj); }
-    public void setObjectValue(Object obj)
-        { objectSet(obj); }
-
-    public byte[] byteArrayValue()
-        { throw new XmlValueOutOfRangeException(); }
-    public boolean booleanValue()
-        { throw new XmlValueOutOfRangeException(); }
-    public GDate gDateValue()
-        { throw new XmlValueOutOfRangeException(); }
-    public Date dateValue()
-        { throw new XmlValueOutOfRangeException(); }
-    public Calendar calendarValue()
-        { throw new XmlValueOutOfRangeException(); }
-    public GDuration gDurationValue()
-        { throw new XmlValueOutOfRangeException(); }
-    public QName qNameValue()
-        { throw new XmlValueOutOfRangeException(); }
-    public List listValue()
-        { throw new XmlValueOutOfRangeException(); }
-    public List xlistValue()
-        { throw new XmlValueOutOfRangeException(); }
-    public Object objectValue()
-        { return java_value(this); }
-
-    // set this value
-    public final void set(boolean v)
-        { synchronized (monitor()) { set_prepare(); set_boolean(v); set_commit(); } }
-    public final void set(byte v)
-        { synchronized (monitor()) { set_prepare(); set_byte(v); set_commit(); } }
-    public final void set(short v)
-        { synchronized (monitor()) { set_prepare(); set_short(v); set_commit(); } }
-    public final void set(int v)
-        { synchronized (monitor()) { set_prepare(); set_int(v); set_commit(); } }
-    public final void set(long v)
-        { synchronized (monitor()) { set_prepare(); set_long(v); set_commit(); } }
-    public final void set(float v)
-        { synchronized (monitor()) { set_prepare(); set_float(v); set_commit(); } }
-    public final void set(double v)
-        { synchronized (monitor()) { set_prepare(); set_double(v); set_commit(); } }
-    public final void set(byte[] obj)
-        { if (obj == null) setNil(); else { synchronized (monitor()) { set_prepare(); set_ByteArray(obj); set_commit(); } } }
-    public final void set(StringEnumAbstractBase obj)
-        { if (obj == null) setNil(); else { synchronized (monitor()) { set_prepare(); set_enum(obj); set_commit(); } } }
-    public final void set(BigInteger obj)
-        { if (obj == null) setNil(); else { synchronized (monitor()) { set_prepare(); set_BigInteger(obj); set_commit(); } } }
-    public final void set(BigDecimal obj)
-        { if (obj == null) setNil(); else { synchronized (monitor()) { set_prepare(); set_BigDecimal(obj); set_commit(); } } }
-    public final void set(Calendar obj)
-        { if (obj == null) setNil(); else { synchronized (monitor()) { set_prepare(); set_Calendar(obj); set_commit(); } } }
-    public final void set(Date obj)
-        { if (obj == null) setNil(); else { synchronized (monitor()) { set_prepare(); set_Date(obj); set_commit(); } } }
-    public final void set(GDateSpecification obj)
-        { if (obj == null) setNil(); else { synchronized (monitor()) { set_prepare(); set_GDate(obj); set_commit(); } } }
-    public final void set(GDurationSpecification obj)
-        { if (obj == null) setNil(); else { synchronized (monitor()) { set_prepare(); set_GDuration(obj); set_commit(); } } }
-    public final void set(QName obj)
-        { if (obj == null) setNil(); else { synchronized (monitor()) { set_prepare(); set_QName(obj); set_commit(); } } }
-    public final void set(List obj)
-        { if (obj == null) setNil(); else { synchronized (monitor()) { set_prepare(); set_list(obj); set_commit(); } } }
-    public final void set(String obj)
-        { if (obj == null) setNil(); else { synchronized (monitor()) { set_prepare(); set_String(obj); /* strings are special, so set_String does its own commit.*/ } } }
-
-    public void objectSet(Object o)
-    {
-        if (o == null)
-        {
-            setNil();
-            return;
-        }
-
-        if (o instanceof XmlObject)
-            set( (XmlObject) o );
-        else if (o instanceof String)
-            set( (String) o );
-        else if (o instanceof StringEnumAbstractBase)
-            set( (StringEnumAbstractBase) o );
-        else if (o instanceof BigInteger)
-            set( (BigInteger) o );
-        else if (o instanceof BigDecimal)
-            set( (BigDecimal) o );
-        else if (o instanceof Byte)
-            set( ((Byte)o).byteValue() );
-        else if (o instanceof Short)
-            set( ((Short)o).shortValue() );
-        else if (o instanceof Integer)
-            set( ((Integer)o).intValue() );
-        else if (o instanceof Long)
-            set( ((Long)o).longValue() );
-        else if (o instanceof Boolean)
-            set( ((Boolean)o).booleanValue() );
-        else if (o instanceof Float)
-            set( ((Float)o).floatValue() );
-        else if (o instanceof Double)
-            set( ((Double)o).doubleValue() );
-        else if (o instanceof Calendar)
-            set( ((Calendar)o) );
-        else if (o instanceof Date)
-            set( (Date) o );
-        else if (o instanceof GDateSpecification)
-            set( (GDateSpecification) o );
-        else if (o instanceof GDurationSpecification)
-            set( (GDurationSpecification) o );
-        else if (o instanceof QName)
-            set( (QName) o );
-        else if (o instanceof List)
-            set( (List) o );
-        else if (o instanceof byte[])
-            set( (byte[]) o );
-        else
-        {
-            throw
-                new XmlValueOutOfRangeException(
-                    "Can't set union object of class : " +
-                        o.getClass().getName() );
-        }
-    }
-
-    public final void set_newValue(XmlObject obj)
-    {
-        if (obj == null || obj.isNil())
-        {
-            setNil();
-            return;
-        }
-
-        primitive:
-        if (obj instanceof XmlAnySimpleType)
-        {
-            XmlAnySimpleType v = (XmlAnySimpleType)obj;
-            SchemaType instanceType = ((SimpleValue)v).instanceType();
-            assert(instanceType != null) : "Nil case should have been handled already";
-
-            // handle lists
-            if (instanceType.getSimpleVariety() == SchemaType.LIST)
-            {
-                synchronized (monitor())
-                {
-                    set_prepare();
-                    set_list(((SimpleValue)v).xgetListValue());
-                    set_commit();
-                    return;
-                }
-            }
-
-            // handle atomic types
-            synchronized (monitor())
-            {
-                assert(instanceType.getSimpleVariety() == SchemaType.ATOMIC);
-                switch (instanceType.getPrimitiveType().getBuiltinTypeCode())
-                {
-                    default:
-                        assert(false) : "encountered nonprimitive type.";
-                    // case SchemaType.BTC_ANY_SIMPLE:  This is handled below...
-                    // but we eventually want to handle it with a treecopy, so
-                    // eventually we should break here.
-                        break primitive;
-
-                    case SchemaType.BTC_BOOLEAN:
-                    {
-                        boolean bool = ((SimpleValue)v).getBooleanValue();
-                        set_prepare();
-                        set_boolean(bool);
-                        break;
-                    }
-                    case SchemaType.BTC_BASE_64_BINARY:
-                    {
-                        byte[] byteArr = ((SimpleValue)v).getByteArrayValue();
-                        set_prepare();
-                        set_b64(byteArr);
-                        break;
-                    }
-                    case SchemaType.BTC_HEX_BINARY:
-                    {
-                        byte[] byteArr = ((SimpleValue)v).getByteArrayValue();
-                        set_prepare();
-                        set_hex(byteArr);
-                        break;
-                    }
-                    case SchemaType.BTC_QNAME:
-                    {
-                        QName name = ((SimpleValue)v).getQNameValue();
-                        set_prepare();
-                        set_QName(name);
-                        break;
-                    }
-                    case SchemaType.BTC_FLOAT:
-                    {
-                        float f = ((SimpleValue)v).getFloatValue();
-                        set_prepare();
-                        set_float(f);
-                        break;
-                    }
-                    case SchemaType.BTC_DOUBLE:
-                    {
-                        double d = ((SimpleValue)v).getDoubleValue();
-                        set_prepare();
-                        set_double(d);
-                        break;
-                    }
-                    case SchemaType.BTC_DECIMAL:
-                    {
-                        switch (instanceType.getDecimalSize())
-                        {
-                            case SchemaType.SIZE_BYTE:
-                            {
-                                byte b = ((SimpleValue)v).getByteValue();
-                                set_prepare();
-                                set_byte(b);
-                                break;
-                            }
-                            case SchemaType.SIZE_SHORT:
-                            {
-                                short s = ((SimpleValue)v).getShortValue();
-                                set_prepare();
-                                set_short(s);
-                                break;
-                            }
-                            case SchemaType.SIZE_INT:
-                            {
-                                int i = ((SimpleValue)v).getIntValue();
-                                set_prepare();
-                                set_int(i);
-                                break;
-                            }
-                            case SchemaType.SIZE_LONG:
-                            {
-                                long l = ((SimpleValue)v).getLongValue();
-                                set_prepare();
-                                set_long(l);
-                                break;
-                            }
-                            case SchemaType.SIZE_BIG_INTEGER:
-                            {
-                                BigInteger bi = ((SimpleValue)v).getBigIntegerValue();
-                                set_prepare();
-                                set_BigInteger(bi);
-                                break;
-                            }
-                            default:
-                            {
-                                assert(false) : "invalid numeric bit count";
-                                // fallthrough
-                            }
-                            case SchemaType.SIZE_BIG_DECIMAL:
-                            {
-                                BigDecimal bd = ((SimpleValue)v).getBigDecimalValue();
-                                set_prepare();
-                                set_BigDecimal(bd);
-                                break;
-                            }
-                        }
-                        break;
-                    }
-                    case SchemaType.BTC_ANY_URI:
-                    {
-                        String uri = v.getStringValue();
-                        set_prepare();
-                        set_text(uri);
-                        break;
-                    }
-                    case SchemaType.BTC_NOTATION:
-                    {
-                        String s = v.getStringValue();
-                        set_prepare();
-                        set_notation(s);
-                        break;
-                    }
-                    case SchemaType.BTC_DURATION:
-                    {
-                        GDuration gd = ((SimpleValue)v).getGDurationValue();
-                        set_prepare();
-                        set_GDuration(gd);
-                        break;
-                    }
-                    case SchemaType.BTC_DATE_TIME:
-                    case SchemaType.BTC_TIME:
-                    case SchemaType.BTC_DATE:
-                    case SchemaType.BTC_G_YEAR_MONTH:
-                    case SchemaType.BTC_G_YEAR:
-                    case SchemaType.BTC_G_MONTH_DAY:
-                    case SchemaType.BTC_G_DAY:
-                    case SchemaType.BTC_G_MONTH:
-                    {
-                        GDate gd = ((SimpleValue)v).getGDateValue();
-                        set_prepare();
-                        set_GDate(gd);
-                        break;
-                    }
-                    case SchemaType.BTC_STRING:
-                    {
-                        String s = v.getStringValue();
-                        set_prepare();
-                        set_String(s);
-                        break;
-                    }
-                    case SchemaType.BTC_ANY_SIMPLE:
-                        {
-                            boolean pushed = false;
-                            if (!v.isImmutable())
-                            {
-                                pushed = true;
-                                NamespaceContext.push(new NamespaceContext(v));
-                            }
-                            try
-                            {
-                                set_prepare();
-                                set_xmlanysimple(v);
-                            }
-                            finally
-                            {
-                                if (pushed)
-                                    NamespaceContext.pop();
-                            }
-                            break;
-                        }
-                }
-                set_commit();
-                return; // primitive node tree copy handled.
-            }
-        }
-
-        throw new IllegalStateException("Complex type unexpected");
-    }
-
-    private TypeStoreUser setterHelper ( XmlObjectBase src )
-    {
-        check_orphaned();
-
-        src.check_orphaned();
-
-        return
-            get_store().copy_contents_from( src.get_store() ).
-                get_store().change_type( src.schemaType() );
-    }
-
-    public final XmlObject set(XmlObject src)
-    {
-        if (isImmutable())
-            throw new IllegalStateException("Cannot set the value of an immutable XmlObject");
-
-        XmlObjectBase obj = underlying(src);
-
-        TypeStoreUser newObj = this;
-
-        if (obj == null)
-        {
-            setNil();
-            return this;
-        }
-
-        if (obj.isImmutable())
-            set(obj.stringValue());
-        else
-        {
-            boolean acquired = false;
-            try
-            {
-                if (monitor() == obj.monitor())
-                {
-                    synchronized (monitor())
-                    {
-                        newObj = setterHelper( obj );
-                    }
-                }
-                else
-                {
-                    // about to grab two locks: don't deadlock ourselves
-                    GlobalLock.acquire();
-                    acquired = true;
-
-                    synchronized (monitor())
-                    {
-                        synchronized (obj.monitor())
-                        {
-                            GlobalLock.release();
-                            acquired = false;
-
-                            newObj = setterHelper( obj );
-                        }
-                    }
-                }
-            }
-            catch (InterruptedException e)
-            {
-                throw new XmlRuntimeException(e);
-            }
-            finally
-            {
-                if (acquired)
-                    GlobalLock.release();
-            }
-        }
-
-        return (XmlObject) newObj;
-    }
-
-    protected void set_list(List list)
-        { throw new XmlValueOutOfRangeException(); }
-    protected void set_boolean(boolean v)
-        { throw new XmlValueOutOfRangeException(); }
-    protected void set_byte(byte v)
-        { set_int((int) v); }
-    protected void set_short(short v)
-        { set_int((int) v); }
-    protected void set_int(int v)
-        { set_long((long) v); }
-    protected void set_long(long v)
-        { set_BigInteger(BigInteger.valueOf(v)); }
-    protected void set_char(char v)
-        { set_String(Character.toString(v)); }
-    protected void set_float(float v)
-        { set_BigDecimal(new BigDecimal(v)); }
-    protected void set_double(double v)
-        { set_BigDecimal(new BigDecimal(v)); }
-
-    protected void set_enum(StringEnumAbstractBase e)
-        { throw new XmlValueOutOfRangeException(); }
-
-    protected void set_ByteArray(byte[] b)
-        { throw new XmlValueOutOfRangeException(); }
-    protected void set_b64(byte[] b)
-        { set_ByteArray(b); }
-    protected void set_hex(byte[] b)
-        { set_ByteArray(b); }
-    protected void set_BigInteger(BigInteger v)
-        { set(new BigDecimal(v)); }
-    protected void set_BigDecimal(BigDecimal v)
-        { throw new XmlValueOutOfRangeException(); }
-    protected void set_Date(Date v)
-        { throw new XmlValueOutOfRangeException(); }
-    protected void set_Calendar(Calendar v)
-        { throw new XmlValueOutOfRangeException(); }
-    protected void set_GDate(GDateSpecification v)
-        { throw new XmlValueOutOfRangeException(); }
-    protected void set_GDuration(GDurationSpecification v)
-        { throw new XmlValueOutOfRangeException(); }
-    protected void set_ComplexXml(XmlObject v)
-        { throw new XmlValueOutOfRangeException(); }
-    protected void set_QName(QName v)
-        { throw new XmlValueOutOfRangeException(); }
-
-    protected void set_notation(String v)
-        { throw new XmlValueOutOfRangeException(); }
-
-    protected void set_xmlanysimple(XmlAnySimpleType v)
-        { set_String(v.getStringValue()); }
-
-    private final boolean comparable_value_spaces(SchemaType t1, SchemaType t2)
-    {
-        assert(t1.getSimpleVariety() != SchemaType.UNION && t2.getSimpleVariety() != SchemaType.UNION);
-
-        if (!t1.isSimpleType() && !t2.isSimpleType())
-            return (t1.getContentType() == t2.getContentType());
-
-        if (!t1.isSimpleType() || !t2.isSimpleType())
-            return false;
-
-        if (t1.getSimpleVariety() == SchemaType.LIST && t2.getSimpleVariety() == SchemaType.LIST)
-            return true;
-
-        if (t1.getSimpleVariety() == SchemaType.LIST || t2.getSimpleVariety() == SchemaType.LIST)
-            return false;
-
-        return (t1.getPrimitiveType().equals(t2.getPrimitiveType()));
-    }
-
-    private final boolean valueEqualsImpl(XmlObject xmlobj)
-    {
-        check_dated();
-
-        SchemaType typethis = instanceType();
-        SchemaType typeother = ((SimpleValue)xmlobj).instanceType();
-
-        if (typethis == null && typeother == null) // detects nil
-            return true;
-
-        if (typethis == null || typeother == null)
-            return false;
-
-        if (!comparable_value_spaces(typethis, typeother))
-            return false;
-
-        if (xmlobj.schemaType().getSimpleVariety() == SchemaType.UNION)
-            return (underlying(xmlobj)).equal_to(this);
-
-        return equal_to(xmlobj);
-    }
-
-    public final boolean valueEquals(XmlObject xmlobj)
-    {
-        boolean acquired = false;
-        try
-        {
-            if (isImmutable())
-            {
-                if (xmlobj.isImmutable())
-                {
-                    return valueEqualsImpl(xmlobj);
-                }
-                else
-                {
-                    synchronized (xmlobj.monitor())
-                    {
-                        return valueEqualsImpl(xmlobj);
-                    }
-                }
-            }
-            else
-            {
-                if (xmlobj.isImmutable() || monitor() == xmlobj.monitor())
-                {
-                    synchronized (monitor())
-                    {
-                        return valueEqualsImpl(xmlobj);
-                    }
-                }
-                else
-                {
-                    GlobalLock.acquire();
-                    acquired = true;
-                    synchronized (monitor())
-                    {
-                        synchronized (xmlobj.monitor())
-                        {
-                            GlobalLock.release();
-                            acquired = false;
-                            return valueEqualsImpl(xmlobj);
-                        }
-                    }
-                }
-            }
-
-        }
-        catch (InterruptedException e)
-        {
-            throw new XmlRuntimeException(e);
-        }
-        finally
-        {
-            if (acquired)
-                GlobalLock.release();
-        }
-    }
-
-    /**
-     * Implements Comparable. This compareTo is inconsistent with
-     * equals unless isImmutable() is true.
-     */
-    public final int compareTo(Object obj)
-    {
-        int result = compareValue((XmlObject)obj); // can throw ClassCast
-        if (result == 2)
-            throw new ClassCastException();
-        return result;
-    }
-
-    /**
-     * Allowed to return 2 for incomparable.
-     */
-    private final int compareValueImpl(XmlObject xmlobj)
-    {
-        SchemaType type1, type2;
-
-        try
-        {
-            type1 = instanceType();
-            type2 = ((SimpleValue)xmlobj).instanceType();
-        }
-        catch (XmlValueOutOfRangeException e)
-        {
-            return 2;
-        }
-
-        if (type1 == null && type2 == null)
-            return 0;
-        if (type1 == null || type2 == null)
-            return 2;
-
-        if (!type1.isSimpleType() || type1.isURType())
-            return 2;
-
-        if (!type2.isSimpleType() || type2.isURType())
-            return 2;
-
-        type1 = type1.getPrimitiveType();
-        type2 = type2.getPrimitiveType();
-
-        // Different value spaces: different
-        if (type1.getBuiltinTypeCode() != type2.getBuiltinTypeCode())
-            return 2;
-
-        // now we'll depend on our impl class to do the work
-        return compare_to(xmlobj);
-    }
-
-    public final int compareValue(XmlObject xmlobj)
-    {
-        if (xmlobj == null)
-            return 2;
-
-        boolean acquired = false;
-        try
-        {
-            if (isImmutable())
-            {
-                if (xmlobj.isImmutable())
-                {
-                    return compareValueImpl(xmlobj);
-                }
-                else
-                {
-                    synchronized (xmlobj.monitor())
-                    {
-                        return compareValueImpl(xmlobj);
-                    }
-                }
-            }
-            else
-            {
-                if (xmlobj.isImmutable() || monitor() == xmlobj.monitor())
-                {
-                    synchronized (monitor())
-                    {
-                        return compareValueImpl(xmlobj);
-                    }
-                }
-                else
-                {
-                    GlobalLock.acquire();
-                    acquired = true;
-                    synchronized (monitor())
-                    {
-                        synchronized (xmlobj.monitor())
-                        {
-                            GlobalLock.release();
-                            acquired = false;
-                            return compareValueImpl(xmlobj);
-                        }
-                    }
-                }
-            }
-
-        }
-        catch (InterruptedException e)
-        {
-            throw new XmlRuntimeException(e);
-        }
-        finally
-        {
-            if (acquired)
-                GlobalLock.release();
-        }
-    }
-    /**
-     * This implementation of compare_to is allowed to do two
-     * unusual things:
-     * (1) it can assume that the xmlobj passed has a primitive
-     *     type underlying the instance type that matches the
-     *     current instance, and that neither is nil.
-     * (2) it is allowed to return 2 for "incomparable";
-     *     it should not throw an exception.
-     */
-    protected int compare_to(XmlObject xmlobj)
-    {
-        if (equal_to(xmlobj))
-            return 0;
-        return 2;
-    }
-
-    protected abstract boolean equal_to(XmlObject xmlobj);
-
-    protected abstract int value_hash_code();
-
-    public int valueHashCode()
-    {
-        synchronized (monitor())
-        {
-            return value_hash_code();
-        }
-    }
-
-
-    public boolean isInstanceOf(SchemaType type)
-    {
-        SchemaType myType;
-
-        if (type.getSimpleVariety() != SchemaType.UNION)
-        {
-            for (myType = instanceType(); myType != null; myType = myType.getBaseType())
-                if (type == myType)
-                    return true;
-            return false;
-        }
-        else
-        {
-            Set ctypes = new HashSet(Arrays.asList(type.getUnionConstituentTypes()));
-            for (myType = instanceType(); myType != null; myType = myType.getBaseType())
-                if (ctypes.contains(myType))
-                    return true;
-            return false;
-        }
-    }
-
-    public final boolean equals(Object obj)
-    {
-        if (!isImmutable())
-            return super.equals(obj);
-
-        if (!(obj instanceof XmlObject))
-            return false;
-
-        XmlObject xmlobj = (XmlObject)obj;
-        if (!xmlobj.isImmutable())
-            return false;
-
-        return valueEquals(xmlobj);
-    }
-
-    public final int hashCode()
-    {
-        if (!isImmutable())
-            return super.hashCode();
-
-        synchronized (monitor())
-        {
-            if (isNil())
-                return 0;
-
-            return value_hash_code();
-        }
-    }
-
-    /**
-     * This method can writeReplace either an unwrapped XmlObjectBase
-     * or an XBean proxy.  A "true" argument means unwrapped.
-     *
-     * The serialization strategy for XmlObjects is this:
-     *
-     * (1) Only the root XmlObject for a document actually gets
-     *     fully serialized; it is serialized as a SerializedRootObject,
-     *     which simply saves itself as XML text.
-     *
-     * (2) Interior XmlObjects get serialized as a reference to the
-     *     root XmlObject for their document, plus an integer which
-     *     indicates the position of the XmlObject within the owner
-     *     document. This pair is stored as a SerializedInteriorObject.
-     *
-     * Both objects can be maked as wrapped or unwrapped. If wrapped,
-     * then the proxy is returned when deserializing; if unwrapped, then
-     * the proxy is stripped when deserializing.
-     */
-    public Object writeReplace()
-    {
-        synchronized (monitor())
-        {
-            if (isRootXmlObject())
-                return new SerializedRootObject(this);
-
-            return new SerializedInteriorObject(this, getRootXmlObject());
-        }
-    }
-
-    /**
-     * True if the object is at the root of the document.
-     */
-    private boolean isRootXmlObject()
-    {
-        XmlCursor cur = newCursor();
-        if (cur == null)
-            return false;
-
-        boolean result = !cur.toParent();
-        cur.dispose();
-        return result;
-    }
-
-    /**
-     * Gets the root XmlObject for this document.
-     */
-    private XmlObject getRootXmlObject()
-    {
-        XmlCursor cur = newCursor();
-        if (cur == null)
-            return this;
-        cur.toStartDoc();
-        XmlObject result = cur.getObject();
-        cur.dispose();
-        return result;
-    }
-
-    /**
-     * Serializable rewrite object that knows how to resolve
-     * to an XmlObjectBase or a proxy for the root object of
-     * a document.
-     */
-    private static class SerializedRootObject implements Serializable
-    {
-        private static final long serialVersionUID = 1;
-
-        transient Class _xbeanClass;
-        transient XmlObject _impl;
-
-        private SerializedRootObject()
-        {
-        }
-
-        private SerializedRootObject(XmlObject impl)
-        {
-            _xbeanClass = impl.schemaType().getJavaClass();
-            _impl = impl;
-        }
-
-        private void writeObject(ObjectOutputStream out) throws IOException
-        {
-            out.writeObject(_xbeanClass);
-            // the first short is written out for backwards compatibility
-            // it will always be zero for objects written with
-            // this code, but it used to be the first 2 bytes of the
-            // writeUTF() method
-            out.writeShort((short)0);
-            out.writeShort(MAJOR_VERSION_NUMBER);
-            out.writeShort(MINOR_VERSION_NUMBER);
-            // CR122401 - need to use writeObject instead of writeUTF
-            // for xmlText as writeUTF has a length limitation of
-            // 65535 bytes
-            String xmlText = _impl.xmlText();
-            out.writeObject(xmlText);
-            out.writeBoolean(false);
-        }
-
-        private void readObject(ObjectInputStream in) throws IOException
-        {
-            try
-            {
-                // read class object first - this is
-                // first just for historical reasons - really
-                // it would be better to have the version numbers
-                // first
-                _xbeanClass = (Class)in.readObject();
-
-                int utfBytes = in.readUnsignedShort();
-
-                // determine version numbers
-                // if utfBytes is non-zero then we default to 0.0
-                // otherwise expect major and minor version numbers
-                // to be next entries in stream
-                int majorVersionNum = 0;
-                int minorVersionNum = 0;
-                if (utfBytes == 0)
-                {
-                    majorVersionNum = in.readUnsignedShort();
-                    minorVersionNum = in.readUnsignedShort();
-                }
-
-                String xmlText = null;
-                switch (majorVersionNum)
-                {
-                    case 0: // original, unnumbered version
-                            // minorVersionNum is always zero
-                        xmlText = readObjectV0(in, utfBytes);
-                        in.readBoolean(); // ignored
-                        break;
-
-                    case 1:
-                        switch (minorVersionNum)
-                        {
-                            case 1:
-                                xmlText = (String)in.readObject();
-                                in.readBoolean(); // ignored
-                                break;
-
-                            default:
-                                throw new IOException("Deserialization error: " +
-                                        "version number " + majorVersionNum + "." +
-                                        minorVersionNum + " not supported.");
-                        }
-                        break;
-
-                    default:
-                        throw new IOException("Deserialization error: " +
-                                "version number " + majorVersionNum + "." +
-                                minorVersionNum + " not supported.");
-                }
-
-                XmlOptions opts = new XmlOptions().setDocumentType(XmlBeans.typeForClass(_xbeanClass));
-                _impl = XmlBeans.getContextTypeLoader().parse(xmlText, null, opts);
-            }
-            catch (Exception e)
-            {
-                throw (IOException)(new IOException(e.getMessage()).initCause(e));
-            }
-        }
-
-        // this method is for reading the UTF-8 String that used to be
-        // written out for a serialized XmlObject according to the
-        // original format before this fix, i.e. it expects it
-        // to have been written using the following algorithm:
-        //
-        // writeObject(Class object)
-        // writeUTF(xmlText of object as String)
-        // writeBoolean()
-        //
-        // this method is passed the original input stream positioned as though
-        // it had just read the class object plus the next 2 bytes. Those 2
-        // bytes are interpreted as an unsigned short saying how many more
-        // bytes there are representing the bytes of the UTF-8-formatted String;
-        // this value is passed in as the argument utfBytes
-        private String readObjectV0(ObjectInputStream in, int utfBytes)
-                throws IOException
-        {
-            // allow an extra 2 bytes up front for the unsigned short
-            byte[] bArray = new byte[utfBytes+2];
-
-            // for format of these first 2 bytes see
-            // Java API docs - DataOutputStream.writeShort()
-            bArray[0] = (byte)( 0xff & (utfBytes >> 8) );
-            bArray[1] = (byte)( 0xff & utfBytes );
-
-            // read the next numBytes bytes from the input stream
-            // into the byte array starting at offset 2; this may
-            // take multiple calls to read()
-            int totalBytesRead = 0;
-            int numRead;
-            while (totalBytesRead < utfBytes)
-            {
-                numRead =
-                    in.read(bArray, 2+totalBytesRead, utfBytes-totalBytesRead);
-                if (numRead == -1) // reached end of stream
-                    break;
-
-                totalBytesRead += numRead;
-            }
-
-            if (totalBytesRead != utfBytes)
-            {
-                throw new IOException("Error reading backwards compatible " +
-                        "XmlObject: number of bytes read (" + totalBytesRead +
-                        ") != number expected (" + utfBytes + ")" );
-            }
-
-            // now set up a DataInputStream to read those
-            // bytes as a UTF-8 String i.e. as though we'd never
-            // read the first 2 bytes from the original stream
-            DataInputStream dis = null;
-            String str = null;
-            try
-            {
-                dis = new DataInputStream(new ByteArrayInputStream(bArray));
-                str = dis.readUTF();
-            }
-            finally
-            {
-                if (dis != null)
-                    dis.close();
-            }
-
-            return str;
-        }
-
-        private Object readResolve() throws ObjectStreamException
-        {
-            return _impl;
-        }
-    }
-
-    /**
-     * Serializable rewrite object that knows how to resolve
-     * to an XmlObjectBase or a proxy for an interior position
-     * within a document.
-     */
-    private static class SerializedInteriorObject implements Serializable
-    {
-        private static final long serialVersionUID = 1;
-
-        transient XmlObject _impl;
-        transient XmlObject _root;
-
-        private SerializedInteriorObject()
-        {
-        }
-
-        private SerializedInteriorObject(XmlObject impl, XmlObject root)
-        {
-            _impl = impl;
-            _root = root;
-        }
-
-        private void writeObject(ObjectOutputStream out) throws IOException
-        {
-            out.writeObject(_root);
-            out.writeBoolean(false);
-            out.writeInt(distanceToRoot());
-        }
-
-        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
-        {
-            _root = (XmlObject)in.readObject();
-            in.readBoolean();
-            _impl = objectAtDistance(in.readInt());
-        }
-
-        private Object readResolve() throws ObjectStreamException
-        {
-            return _impl;
-        }
-
-        private int distanceToRoot()
-        {
-            XmlCursor cur = _impl.newCursor();
-            int count = 0;
-            while (!cur.toPrevToken().isNone())
-            {
-                if (!cur.currentTokenType().isNamespace())
-                {
-                    count += 1;
-                    // System.out.println("Count: " + count + " " + cur.currentTokenType().toString() + " " + QName.pretty(cur.getName()));
-                }
-            }
-            cur.dispose();
-            return count;
-        }
-
-        private XmlObject objectAtDistance(int count)
-        {
-            XmlCursor cur = _root.newCursor();
-            while (count > 0)
-            {
-                cur.toNextToken();
-                if (!cur.currentTokenType().isNamespace())
-                {
-                    count -= 1;
-                    // System.out.println("Count: " + count + " " + cur.currentTokenType().toString() + " " + QName.pretty(cur.getName()));
-                }
-            }
-            XmlObject result = cur.getObject();
-            cur.dispose();
-            return result;
-        }
-    }
-
-    protected static Object java_value(XmlObject obj)
-    {
-        if (obj.isNil())
-            return null;
-
-        if (!(obj instanceof XmlAnySimpleType))
-            return obj;
-
-        SchemaType instanceType = ((SimpleValue)obj).instanceType();
-        assert(instanceType != null) : "Nil case should have been handled above";
-
-        // handle lists
-        if (instanceType.getSimpleVariety() == SchemaType.LIST)
-            return ((SimpleValue)obj).getListValue();
-
-        SimpleValue base = (SimpleValue)obj;
-
-        switch (instanceType.getPrimitiveType().getBuiltinTypeCode())
-        {
-            case SchemaType.BTC_BOOLEAN:
-                return base.getBooleanValue() ? Boolean.TRUE : Boolean.FALSE;
-
-            case SchemaType.BTC_BASE_64_BINARY:
-            case SchemaType.BTC_HEX_BINARY:
-                return base.getByteArrayValue();
-
-            case SchemaType.BTC_QNAME:
-                return base.getQNameValue();
-
-            case SchemaType.BTC_FLOAT:
-                return new Float(base.getFloatValue());
-
-            case SchemaType.BTC_DOUBLE:
-                return new Double(base.getDoubleValue());
-
-            case SchemaType.BTC_DECIMAL:
-            {
-                switch (instanceType.getDecimalSize())
-                {
-                    case SchemaType.SIZE_BYTE:
-                        return new Byte(base.getByteValue());
-
-                    case SchemaType.SIZE_SHORT:
-                        return new Short(base.getShortValue());
-
-                    case SchemaType.SIZE_INT:
-                        return new Integer(base.getIntValue());
-
-                    case SchemaType.SIZE_LONG:
-                        return new Long(base.getLongValue());
-
-                    case SchemaType.SIZE_BIG_INTEGER:
-                        return base.getBigIntegerValue();
-
-                    default:
-                        assert(false) : "invalid numeric bit count";
-                        // fallthrough
-                    case SchemaType.SIZE_BIG_DECIMAL:
-                        return base.getBigDecimalValue();
-                }
-            }
-            case SchemaType.BTC_ANY_URI:
-                return base.getStringValue();
-
-            case SchemaType.BTC_DURATION:
-                return base.getGDurationValue();
-
-            case SchemaType.BTC_DATE_TIME:
-            case SchemaType.BTC_TIME:
-            case SchemaType.BTC_DATE:
-            case SchemaType.BTC_G_YEAR_MONTH:
-            case SchemaType.BTC_G_YEAR:
-            case SchemaType.BTC_G_MONTH_DAY:
-            case SchemaType.BTC_G_DAY:
-            case SchemaType.BTC_G_MONTH:
-                return base.getCalendarValue();
-
-            default:
-                assert(false) : "encountered nonprimitive type.";
-                // fallthrough
-
-            // NB: for string enums we just do java.lang.String
-            // when in the context of unions. It's easier on users.
-            case SchemaType.BTC_NOTATION:
-            case SchemaType.BTC_STRING:
-            case SchemaType.BTC_ANY_SIMPLE:
-                // return base.getStringValue();
-            return base.getStringValue();
-        }
-    }
-
-    /**
-     * Called by code generated code to get the default attribute value
-     * for a given attribute name, or null if none.
-     */
-    protected XmlAnySimpleType get_default_attribute_value(QName name)
-    {
-        SchemaType sType = schemaType();
-        SchemaAttributeModel aModel = sType.getAttributeModel();
-        if (aModel == null)
-            return null;
-        SchemaLocalAttribute sAttr = aModel.getAttribute(name);
-        if (sAttr == null)
-            return null;
-        return sAttr.getDefaultValue();
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlPositiveIntegerImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlPositiveIntegerImpl.java
deleted file mode 100644
index 79ce6e3..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlPositiveIntegerImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlPositiveInteger;
-import org.apache.xmlbeans.SchemaType;
-
-public class XmlPositiveIntegerImpl extends JavaIntegerHolderEx implements XmlPositiveInteger
-{
-    public XmlPositiveIntegerImpl()
-        { super(XmlPositiveInteger.type, false); }
-    public XmlPositiveIntegerImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlQNameImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlQNameImpl.java
deleted file mode 100644
index 8695a18..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlQNameImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlQName;
-
-
-public class XmlQNameImpl extends JavaQNameHolder implements XmlQName
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlQNameRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlQNameRestriction.java
deleted file mode 100644
index 96ad20c..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlQNameRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlQName;
-
-public class XmlQNameRestriction extends JavaQNameHolderEx implements XmlQName
-{
-    public XmlQNameRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlShortImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlShortImpl.java
deleted file mode 100644
index bbe7c08..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlShortImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlShort;
-import org.apache.xmlbeans.SchemaType;
-
-
-public class XmlShortImpl extends JavaIntHolderEx implements XmlShort
-{
-    public XmlShortImpl()
-        { super(XmlShort.type, false); }
-    public XmlShortImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlStringEnumeration.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlStringEnumeration.java
deleted file mode 100644
index 35beb2b..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlStringEnumeration.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlString;
-
-public class XmlStringEnumeration extends JavaStringEnumerationHolderEx implements XmlString
-{
-    public XmlStringEnumeration(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlStringImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlStringImpl.java
deleted file mode 100644
index 9e716c2..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlStringImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlString;
-
-
-public class XmlStringImpl extends JavaStringHolder implements XmlString
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlStringRestriction.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlStringRestriction.java
deleted file mode 100644
index cf13b46..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlStringRestriction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlString;
-
-public class XmlStringRestriction extends JavaStringHolderEx implements XmlString
-{
-    public XmlStringRestriction(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlTimeImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlTimeImpl.java
deleted file mode 100644
index 241fe38..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlTimeImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlTime;
-import org.apache.xmlbeans.SchemaType;
-
-
-public class XmlTimeImpl extends JavaGDateHolderEx implements XmlTime
-{
-    public XmlTimeImpl()
-        { super(XmlTime.type, false); }
-    public XmlTimeImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlTokenImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlTokenImpl.java
deleted file mode 100644
index 1133031..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlTokenImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlToken;
-
-
-public class XmlTokenImpl extends JavaStringHolderEx implements XmlToken
-{
-    public XmlTokenImpl()
-        { super(XmlToken.type, false); }
-    public XmlTokenImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnionImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnionImpl.java
deleted file mode 100644
index a16a1dc..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnionImpl.java
+++ /dev/null
@@ -1,688 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Calendar;
-import java.math.BigInteger;
-import java.math.BigDecimal;
-
-import org.apache.xmlbeans.GDate;
-import org.apache.xmlbeans.GDuration;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.StringEnumAbstractBase;
-import org.apache.xmlbeans.GDateSpecification;
-import org.apache.xmlbeans.GDurationSpecification;
-import org.apache.xmlbeans.SimpleValue;
-
-import org.apache.xmlbeans.impl.schema.SchemaTypeImpl;
-import org.apache.xmlbeans.impl.common.ValidationContext;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-import javax.xml.namespace.QName;
-
-
-/**
- * This class implements simple union types.
- *
- */
-public class XmlUnionImpl extends XmlObjectBase implements XmlAnySimpleType
-{
-    public XmlUnionImpl(SchemaType type, boolean complex)
-        { _schemaType = type; initComplexType(complex, false); }
-
-    public SchemaType schemaType()
-        { return _schemaType; }
-
-    public SchemaType instanceType()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).instanceType(); }
-
-    private SchemaType _schemaType;
-    private XmlAnySimpleType _value; // underlying value
-    private String _textvalue = ""; // textual value
-
-
-
-
-    // SIMPLE VALUE ACCESSORS BELOW -------------------------------------------
-    // gets raw text value
-
-    protected String compute_text(NamespaceManager nsm)
-        { return _textvalue; }
-
-    protected boolean is_defaultable_ws(String v) {
-        try {
-            XmlAnySimpleType savedValue = _value;
-            set_text(v);
-
-            // restore the saved value
-            _value = savedValue;
-
-            return false;
-        }
-        catch (XmlValueOutOfRangeException e) {
-            return true;
-        }
-    }
-
-    protected void set_text(String s)
-    {
-        // first check against any patterns...
-        if (!_schemaType.matchPatternFacet(s))
-            throw new XmlValueOutOfRangeException();
-
-        // save state for rollback
-        String original = _textvalue;
-        _textvalue = s;
-
-        // iterate through the types, trying to create a type
-        SchemaType[] members = _schemaType.getUnionConstituentTypes();
-        assert(members != null);
-
-        boolean pushed = false;
-        // boolean wasstrict = set_strict(true); // tell types to complain ferverently about errors
-        if (has_store())
-        {
-            NamespaceContext.push(new NamespaceContext(get_store()));
-            pushed = true;
-        }
-        try
-        {
-            for (int i = 0; i < members.length; i++)
-            {
-                // From the point of view of the following call, "this" is a generic
-                // XmlAnySimpleType implementation, for which only getText can be called.
-                // (Note that "this" is not wrapped in the proxy object.)
-                try
-                {
-                    XmlAnySimpleType newval = ((SchemaTypeImpl)members[i]).newValidatingValue(s);
-
-                    // now we need to check against (enuemration) restrictions
-                    if (!check(newval, _schemaType))
-                        continue;
-
-                    // found one that works!
-                    _value = newval;
-                    return;
-                }
-                catch (XmlValueOutOfRangeException e)
-                {
-                    continue;
-                }
-                catch (Exception e)
-                {
-                    throw new RuntimeException("Troublesome union exception caused by unexpected " + e, e);
-                    // assert(false) : "Unexpected " + e;
-                    // continue;
-                }
-            }
-        }
-        finally
-        {
-            if (pushed)
-                NamespaceContext.pop();
-            // set_strict(wasstrict);
-        }
-
-
-        // doesn't match any of the members; rollback and throw
-        _textvalue = original;
-        throw new XmlValueOutOfRangeException();
-    }
-
-    protected void set_nil()
-    {
-        _value = null;
-        _textvalue = null;
-    }
-
-    protected int get_wscanon_rule() { return SchemaType.WS_PRESERVE; }
-
-
-    // numerics
-    public float floatValue()
-        { check_dated(); return _value == null ? 0.0f : ((SimpleValue)_value).floatValue(); }
-
-    public double doubleValue()
-        { check_dated(); return _value == null ? 0.0 : ((SimpleValue)_value).doubleValue(); }
-
-    public BigDecimal bigDecimalValue()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).bigDecimalValue(); }
-
-    public BigInteger bigIntegerValue()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).bigIntegerValue(); }
-
-    public byte byteValue()
-        { check_dated(); return _value == null ? 0 : ((SimpleValue)_value).byteValue(); }
-
-    public short shortValue()
-        { check_dated(); return _value == null ? 0 : ((SimpleValue)_value).shortValue(); }
-
-    public int intValue()
-        { check_dated(); return _value == null ? 0 : ((SimpleValue)_value).intValue(); }
-
-    public long longValue()
-        { check_dated(); return _value == null ? 0 : ((SimpleValue)_value).longValue(); }
-
-
-    // various
-    public byte[] byteArrayValue()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).byteArrayValue(); }
-
-    public boolean booleanValue()
-        { check_dated(); return _value == null ? false : ((SimpleValue)_value).booleanValue(); }
-
-    public Calendar calendarValue()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).calendarValue(); }
-
-    public Date dateValue()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).dateValue(); }
-
-    public GDate gDateValue()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).gDateValue(); }
-
-    public GDuration gDurationValue()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).gDurationValue(); }
-
-    public QName qNameValue()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).qNameValue(); }
-
-    public List listValue()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).listValue(); }
-
-    public List xlistValue()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).xlistValue(); }
-
-    public StringEnumAbstractBase enumValue()
-        { check_dated(); return _value == null ? null : ((SimpleValue)_value).enumValue(); }
-
-    public String stringValue()
-        { check_dated(); return _value == null ? null : _value.stringValue(); }
-
-    /**
-     * Returns true if the space of canonical lexical forms
-     * of the first (source) type overlaps with the full lexical space
-     * of the second (target) type. Both types must be primitives.
-     */
-    static boolean lexical_overlap(int source, int target)
-    {
-        // types are the same
-        if (source == target)
-            return true;
-
-        // one of the types has the full lexical space
-        if (source == SchemaType.BTC_ANY_SIMPLE ||
-            target == SchemaType.BTC_ANY_SIMPLE ||
-            source == SchemaType.BTC_STRING ||
-            target == SchemaType.BTC_STRING ||
-            source == SchemaType.BTC_ANY_URI ||
-            target == SchemaType.BTC_ANY_URI)
-            return true;
-
-        switch (source)
-        {
-            case SchemaType.BTC_BOOLEAN: switch(target)
-            {
-                case SchemaType.BTC_QNAME:       // "true" is valid NcName and therefore QName
-                case SchemaType.BTC_NOTATION:    // "true" is valid NCName
-                    return true;
-                default:
-                    return false;
-            }
-            case SchemaType.BTC_BASE_64_BINARY: switch(target)
-            {
-                case SchemaType.BTC_BOOLEAN:     // "0" is valid boolean
-                case SchemaType.BTC_HEX_BINARY:  // "0" is valid hex
-                case SchemaType.BTC_QNAME:       // "a" is valid NcName and therefore QName
-                case SchemaType.BTC_NOTATION:    // "a" is valid NcName
-                case SchemaType.BTC_FLOAT:       // "0" is valid float
-                case SchemaType.BTC_DOUBLE:      // "0" is valid double
-                case SchemaType.BTC_DECIMAL:     // "0" is valid decimal
-                case SchemaType.BTC_DURATION:    // "P1Y2M3DT10H30M" is both b64 and duration
-                case SchemaType.BTC_G_YEAR:      // "1999" is valid year
-                    return true;
-                default:
-                    return false;           // "-" and ":" cannot come from b64
-            }
-            case SchemaType.BTC_HEX_BINARY: switch(target)
-            {
-                case SchemaType.BTC_BOOLEAN:     // "0" is valid boolean
-                case SchemaType.BTC_BASE_64_BINARY:  // "0" is valid b64
-                case SchemaType.BTC_QNAME:       // "A" is valid NcName and therefore QName
-                case SchemaType.BTC_NOTATION:    // "A" is valid NcName
-                case SchemaType.BTC_FLOAT:       // "0" is valid float
-                case SchemaType.BTC_DOUBLE:      // "0" is valid double
-                case SchemaType.BTC_DECIMAL:     // "0" is valid decimal
-                case SchemaType.BTC_G_YEAR:      // "1999" is valid year
-                    return true;
-                default:
-                    return false;           // "-" and ":" cannot come from b64
-            }
-            case SchemaType.BTC_QNAME:
-            case SchemaType.BTC_NOTATION: switch(target)
-            {
-                case SchemaType.BTC_BOOLEAN:     // "true" is valid boolean
-                case SchemaType.BTC_BASE_64_BINARY:  // "a" is valid b64
-                case SchemaType.BTC_HEX_BINARY:  // "a" is valid hex
-                case SchemaType.BTC_QNAME:       // "A" is valid NcName and therefore QName
-                case SchemaType.BTC_NOTATION:    // "A" is valid NcName and therefore QName
-                case SchemaType.BTC_DURATION:    // "P1Y2M3DT10H30M" is both NcName and duration
-                    return true;
-                default:
-                    return false;
-            }
-            case SchemaType.BTC_FLOAT:
-            case SchemaType.BTC_DOUBLE:
-            case SchemaType.BTC_DECIMAL:
-            case SchemaType.BTC_G_YEAR: switch(target)
-            {
-                case SchemaType.BTC_BASE_64_BINARY: // "0" is valid b64
-                case SchemaType.BTC_HEX_BINARY:  // "0" is valid hex
-                case SchemaType.BTC_FLOAT:       // "0" is valid float
-                case SchemaType.BTC_DOUBLE:      // "0" is valid double
-                case SchemaType.BTC_DECIMAL:     // "0" is valid decimal
-                case SchemaType.BTC_G_YEAR:      // "1999" is valid year
-                    return true;
-                default:
-                    return false;
-            }
-            case SchemaType.BTC_DURATION: switch(target)
-            {
-                case SchemaType.BTC_QNAME:
-                case SchemaType.BTC_NOTATION:
-                case SchemaType.BTC_BASE_64_BINARY:
-                    return true;
-                default:
-                    return false;
-            }
-            case SchemaType.BTC_DATE_TIME:
-            case SchemaType.BTC_TIME:
-            case SchemaType.BTC_DATE:
-            case SchemaType.BTC_G_YEAR_MONTH:
-            case SchemaType.BTC_G_MONTH_DAY:
-            case SchemaType.BTC_G_DAY:
-            case SchemaType.BTC_G_MONTH:
-            default:
-                return false;
-        }
-    }
-
-    /**
-     * True if the given schema type's logical type is a match for
-     * the given category of java concepts.
-     */
-
-    private static final int JAVA_NUMBER = SchemaType.BTC_LAST_BUILTIN + 1;
-    private static final int JAVA_DATE = SchemaType.BTC_LAST_BUILTIN + 2;
-    private static final int JAVA_CALENDAR = SchemaType.BTC_LAST_BUILTIN + 3;
-    private static final int JAVA_BYTEARRAY = SchemaType.BTC_LAST_BUILTIN + 4;
-    private static final int JAVA_LIST = SchemaType.BTC_LAST_BUILTIN + 5;
-
-    private static boolean logical_overlap(SchemaType type, int javacode)
-    {
-        // non-union types because it's being applied on irreducible union members!
-        assert(type.getSimpleVariety() != SchemaType.UNION);
-
-        if (javacode <= SchemaType.BTC_LAST_BUILTIN)
-        {
-            if (type.getSimpleVariety() != SchemaType.ATOMIC)
-                return false;
-
-            return (type.getPrimitiveType().getBuiltinTypeCode() == javacode);
-        }
-
-        switch (javacode)
-        {
-        case JAVA_NUMBER:
-            {
-                if (type.getSimpleVariety() != SchemaType.ATOMIC)
-                    return false;
-
-                switch (type.getPrimitiveType().getBuiltinTypeCode())
-                {
-                    case SchemaType.BTC_FLOAT:
-                    case SchemaType.BTC_DOUBLE:
-                    case SchemaType.BTC_DECIMAL:
-                    case SchemaType.BTC_G_YEAR:
-                    case SchemaType.BTC_G_MONTH:
-                    case SchemaType.BTC_G_DAY:
-                        return true;
-                }
-                return false;
-            }
-        case JAVA_DATE:
-            {
-                if (type.getSimpleVariety() != SchemaType.ATOMIC)
-                    return false;
-
-                switch (type.getPrimitiveType().getBuiltinTypeCode())
-                {
-                    case SchemaType.BTC_DATE_TIME:
-                    case SchemaType.BTC_DATE:
-                        return true;
-                }
-                return false;
-            }
-        case JAVA_CALENDAR:
-            {
-                if (type.getSimpleVariety() != SchemaType.ATOMIC)
-                    return false;
-
-                switch (type.getPrimitiveType().getBuiltinTypeCode())
-                {
-                    case SchemaType.BTC_DATE_TIME:
-                    case SchemaType.BTC_DATE:
-                    case SchemaType.BTC_TIME:
-                    case SchemaType.BTC_G_YEAR_MONTH:
-                    case SchemaType.BTC_G_MONTH_DAY:
-                    case SchemaType.BTC_G_YEAR:
-                    case SchemaType.BTC_G_MONTH:
-                    case SchemaType.BTC_G_DAY:
-                        return true;
-                }
-                return false;
-            }
-                
-        case JAVA_BYTEARRAY:
-            {
-                if (type.getSimpleVariety() != SchemaType.ATOMIC)
-                    return false;
-
-                switch (type.getPrimitiveType().getBuiltinTypeCode())
-                {
-                    case SchemaType.BTC_BASE_64_BINARY:
-                    case SchemaType.BTC_HEX_BINARY:
-                        return true;
-                }
-                return false;
-            }
-        case JAVA_LIST:
-            {
-                return (type.getSimpleVariety() == SchemaType.LIST);
-            }
-        }
-
-        assert(false) : "missing case";
-        return false;
-    }
-
-    /**
-     * Grabs a chained value of type st, creating and attaching
-     * one if not present.
-     */
-    private void set_primitive(int typecode, Object val)
-    {
-        SchemaType[] members = _schemaType.getUnionConstituentTypes();
-        assert(members != null);
-
-        boolean pushed = false;
-        if (has_store())
-        {
-            NamespaceContext.push(new NamespaceContext(get_store()));
-            pushed = true;
-        }
-        try
-        {
-            outer: for (int i = 0; i < members.length; i++)
-            {
-                // candidates must be a logical match for the desired typecode
-                if (logical_overlap(members[i], typecode))
-                {
-                    XmlAnySimpleType newval;
-
-                    try
-                    {
-                        newval = members[i].newValue(val);
-                    }
-                    catch (XmlValueOutOfRangeException e)
-                    {
-                        // doesn't match this type even though logical categories
-                        // line up (probably because of restriciton); try the next type.
-                        continue outer;
-                    }
-                    catch (Exception e)
-                    {
-                        assert(false) : "Unexpected " + e;
-                        continue outer;
-                    }
-
-                    /* TODO: rethink this - disabling for now.
-
-                    // OK, now we've got a newval... We have to verify
-                    // that lexically it doesn't overlap with previous types
-
-                    String newvaltext = null;
-
-                    inner: for (int j = 0; j < i; j++)
-                    {
-                        if (members[j].getSimpleVariety() == SchemaType.LIST ||
-                            lexical_overlap(members[j].getPrimitiveType().getBuiltinTypeCode(),
-                                            newval.schemaType().getPrimitiveType().getBuiltinTypeCode()))
-                        {
-                            // there is a preceding type that may lexically overlap with ours...
-                            // if it lexically contains the string representation of our new
-                            // proposed value, then it's impossible for the union to have our
-                            // logical value (because it would have been masked) and throw an
-                            // error.
-                            if (newvaltext == null)
-                                newvaltext = newval.stringValue();
-                            try
-                            {
-                                // discard return value
-                                members[i].newValue(newvaltext);
-
-                                // oh bad, we succeeded. Our instance lexically looks like a
-                                // previous type, and this isn't a valid value. Keep on hunting.
-                                continue outer;
-                            }
-                            catch (XmlValueOutOfRangeException e)
-                            {
-                                // this is good: this error means that our value doesn't look like
-                                // the other type.
-                                continue inner;
-                            }
-                        }
-                    }
-
-                    */
-
-                    // No lexical masking: we're OK
-                    _value = newval;
-                    _textvalue = _value.stringValue();
-                    return;
-                }
-            }
-        }
-        finally
-        {
-            if (pushed)
-                NamespaceContext.pop();
-        }
-    }
-
-    // here are the setters
-
-    protected void set_boolean(boolean v)
-        { set_primitive(SchemaType.BTC_BOOLEAN, new Boolean(v)); }
-
-    protected void set_byte(byte v)
-        { set_primitive(JAVA_NUMBER, new Byte(v)); }
-    protected void set_short(short v)
-        { set_primitive(JAVA_NUMBER, new Short(v)); }
-    protected void set_int(int v)
-        { set_primitive(JAVA_NUMBER, new Integer(v)); }
-    protected void set_long(long v)
-        { set_primitive(JAVA_NUMBER, new Long(v)); }
-    protected void set_float(float v)
-        { set_primitive(JAVA_NUMBER, new Float(v)); }
-    protected void set_double(double v)
-        { set_primitive(JAVA_NUMBER, new Double(v)); }
-
-    protected void set_ByteArray(byte[] b)
-        { set_primitive(JAVA_BYTEARRAY, b); }
-    protected void set_hex(byte[] b)
-        { set_primitive(JAVA_BYTEARRAY, b); }
-    protected void set_b64(byte[] b)
-        { set_primitive(JAVA_BYTEARRAY, b); }
-    protected void set_BigInteger(BigInteger v)
-        { set_primitive(JAVA_NUMBER, v); }
-    protected void set_BigDecimal(BigDecimal v)
-        { set_primitive(JAVA_NUMBER, v); }
-    protected void set_QName(QName v)
-        { set_primitive(SchemaType.BTC_QNAME, v); }
-
-    protected void set_Calendar(Calendar c)
-        { set_primitive(JAVA_CALENDAR, c); }
-    protected void set_Date(Date d)
-        { set_primitive(JAVA_DATE, d); }
-    protected void set_GDate(GDateSpecification d)
-    {
-        int btc = d.getBuiltinTypeCode();
-        if (btc <= 0)
-            throw new XmlValueOutOfRangeException();
-        set_primitive(btc, d);
-    }
-
-    protected void set_GDuration(GDurationSpecification d)
-        { set_primitive(SchemaType.BTC_DURATION, d); }
-
-    protected void set_enum(StringEnumAbstractBase e)
-        { set_primitive(SchemaType.BTC_STRING, e); }
-
-    protected void set_list(List v)
-        { set_primitive(JAVA_LIST, v); }
-
-
-    protected void set_xmlfloat(XmlObject v)
-        { set_primitive(SchemaType.BTC_FLOAT, v); }
-    protected void set_xmldouble(XmlObject v)
-        { set_primitive(SchemaType.BTC_DOUBLE, v); }
-    protected void set_xmldecimal(XmlObject v)
-        { set_primitive(SchemaType.BTC_DECIMAL, v); }
-    protected void set_xmlduration(XmlObject v)
-        { set_primitive(SchemaType.BTC_DURATION, v); }
-    protected void set_xmldatetime(XmlObject v)
-        { set_primitive(SchemaType.BTC_DATE_TIME, v); }
-    protected void set_xmltime(XmlObject v)
-        { set_primitive(SchemaType.BTC_TIME, v); }
-    protected void set_xmldate(XmlObject v)
-        { set_primitive(SchemaType.BTC_DATE, v); }
-    protected void set_xmlgyearmonth(XmlObject v)
-        { set_primitive(SchemaType.BTC_G_YEAR_MONTH, v); }
-    protected void set_xmlgyear(XmlObject v)
-        { set_primitive(SchemaType.BTC_G_YEAR, v); }
-    protected void set_xmlgmonthday(XmlObject v)
-        { set_primitive(SchemaType.BTC_G_MONTH_DAY, v); }
-    protected void set_xmlgday(XmlObject v)
-        { set_primitive(SchemaType.BTC_G_DAY, v); }
-    protected void set_xmlgmonth(XmlObject v)
-        { set_primitive(SchemaType.BTC_G_MONTH, v); }
-
-
-
-    private static boolean check(XmlObject v, SchemaType sType)
-    {
-        XmlObject[] vals = sType.getEnumerationValues();
-        if (vals != null)
-        {
-            for (int i = 0; i < vals.length; i++)
-            {
-                if (vals[i].valueEquals(v))
-                    return true;
-            }
-            return false;
-        }
-
-        return true;
-    }
-
-    protected boolean equal_to(XmlObject xmlobj)
-    {
-        return _value.valueEquals(xmlobj);
-    }
-
-    protected int value_hash_code()
-    {
-        return _value.hashCode();
-    }
-    
-    protected void validate_simpleval(String lexical, ValidationContext ctx)
-    {
-        try
-        {
-            check_dated();
-        }
-        catch (Exception e)
-        {
-            ctx.invalid("Union value " + lexical + " does not match any of the member types for " + QNameHelper.readable(schemaType()));
-            return;
-        }
-        if (_value == null)
-        {
-            ctx.invalid("Union value " + lexical + " does not match any of the member types for " + QNameHelper.readable(schemaType()));
-            return;
-        }
-        
-        ((XmlObjectBase)_value).validate_simpleval(lexical,  ctx);
-    }
-    
-
-}
-
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedByteImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedByteImpl.java
deleted file mode 100644
index 9d24357..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedByteImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlUnsignedByte;
-import org.apache.xmlbeans.SchemaType;
-
-
-public class XmlUnsignedByteImpl extends JavaIntHolderEx implements XmlUnsignedByte
-{
-    public XmlUnsignedByteImpl()
-        { super(XmlUnsignedByte.type, false); }
-    public XmlUnsignedByteImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedIntImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedIntImpl.java
deleted file mode 100644
index 69c23fa..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedIntImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlUnsignedInt;
-import org.apache.xmlbeans.SchemaType;
-
-
-public class XmlUnsignedIntImpl extends JavaLongHolderEx implements XmlUnsignedInt
-{
-    public XmlUnsignedIntImpl()
-        { super(XmlUnsignedInt.type, false); }
-    public XmlUnsignedIntImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedLongImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedLongImpl.java
deleted file mode 100644
index 6bbb3fe..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedLongImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlUnsignedLong;
-import org.apache.xmlbeans.SchemaType;
-
-
-public class XmlUnsignedLongImpl extends JavaIntegerHolderEx implements XmlUnsignedLong
-{
-    public XmlUnsignedLongImpl()
-        { super(XmlUnsignedLong.type, false); }
-    public XmlUnsignedLongImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedShortImpl.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedShortImpl.java
deleted file mode 100644
index bdb34ad..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlUnsignedShortImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.XmlUnsignedShort;
-import org.apache.xmlbeans.SchemaType;
-
-public class XmlUnsignedShortImpl extends JavaIntHolderEx implements XmlUnsignedShort
-{
-    public XmlUnsignedShortImpl()
-        { super(XmlUnsignedShort.type, false); }
-    public XmlUnsignedShortImpl(SchemaType type, boolean complex)
-        { super(type, complex); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlValueDisconnectedException.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlValueDisconnectedException.java
deleted file mode 100644
index dc05dba..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlValueDisconnectedException.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-public class XmlValueDisconnectedException extends RuntimeException
-{
-    XmlValueDisconnectedException ( )
-    {
-    }
-    
-    XmlValueDisconnectedException ( String message )
-    {
-        super( message );
-    }
-    
-    XmlValueDisconnectedException ( String message, Throwable cause )
-    {
-        super( message, cause );
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlValueNotNillableException.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlValueNotNillableException.java
deleted file mode 100644
index 4e2e135..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlValueNotNillableException.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-public class XmlValueNotNillableException extends RuntimeException
-{
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlValueOutOfRangeException.java b/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlValueOutOfRangeException.java
deleted file mode 100644
index 0b17bcc..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/impl/values/XmlValueOutOfRangeException.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-public class XmlValueOutOfRangeException extends IllegalArgumentException
-{
-    public XmlValueOutOfRangeException() {}
-    public XmlValueOutOfRangeException(String message) { super(message); }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/soap/SOAPArrayType.java b/v1/src/typeimpl/org/apache/xmlbeans/soap/SOAPArrayType.java
deleted file mode 100644
index 1d3bff7..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/soap/SOAPArrayType.java
+++ /dev/null
@@ -1,498 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.soap;
-
-import javax.xml.namespace.QName;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Iterator;
-
-import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException;
-import org.apache.xmlbeans.impl.common.XmlWhitespace;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.common.PrefixResolver;
-
-public final class SOAPArrayType
-{
-    // Example foo:bar[,][][,,][7,9]
-    // -> _type = QName(foo:bar)
-    // -> _ranks = {2,1,3}
-    // -> _dimensions = {7,9}
-    private QName _type;
-    private int[] _ranks; // if ranks is empty, it means there are no nested arrays
-    private int[] _dimensions; // Any dimension can be -1 to indicate "any".
-
-    /**
-     * True if the ranks for the passed SOAPArrayType
-     * are equal to this one.
-     *
-     * Does NOT compare the _type fields.
-     */
-    public boolean isSameRankAs(SOAPArrayType otherType)
-    {
-        if (_ranks.length != otherType._ranks.length)
-            return false;
-        for (int i = 0; i < _ranks.length; i++)
-        {
-            if (_ranks[i] != otherType._ranks[i])
-                return false;
-        }
-        if (_dimensions.length != otherType._dimensions.length)
-            return false;
-        return true;
-    }
-
-    /**
-     * Given SOAP 1.1-formatted index string, returns an array
-     * index.  For example, given "[4,3,5]", returns an int array
-     * containing 4, 3, and 5.
-     */
-    public static int[] parseSoap11Index(String inbraces)
-    {
-        inbraces = XmlWhitespace.collapse(inbraces, XmlWhitespace.WS_COLLAPSE);
-        if (!inbraces.startsWith("[") || !inbraces.endsWith("]"))
-            throw new IllegalArgumentException("Misformed SOAP 1.1 index: must be contained in braces []");
-        return internalParseCommaIntString(inbraces.substring(1, inbraces.length() - 1));
-    }
-
-    private static int[] internalParseCommaIntString(String csl)
-    {
-        List dimStrings = new ArrayList();
-        int i = 0;
-        for (;;)
-        {
-            int j = csl.indexOf(',', i);
-            if (j < 0)
-            {
-                dimStrings.add(csl.substring(i));
-                break;
-            }
-            dimStrings.add(csl.substring(i, j));
-            i = j + 1;
-        }
-
-        int[] result = new int[dimStrings.size()];
-        i = 0;
-        for (Iterator it = dimStrings.iterator(); it.hasNext(); i++)
-        {
-            String dimString = XmlWhitespace.collapse((String)it.next(), XmlWhitespace.WS_COLLAPSE);
-            if (dimString.equals("*") || dimString.equals(""))
-            {
-                result[i] = -1;
-            }
-            else
-            {
-                try
-                {
-                    result[i] = Integer.parseInt(dimString);
-                }
-                catch (Exception e)
-                {
-                    throw new XmlValueOutOfRangeException("Malformed integer in SOAP array index");
-                }
-            }
-        }
-        return result;
-    }
-
-    /**
-     * Parses a SOAP 1.1 array type string.
-     *
-     * Since an array type string contains a QName, a prefix resolver
-     * must be passed.
-     */
-    public SOAPArrayType(String s, PrefixResolver m)
-    {
-        int firstbrace = s.indexOf('[');
-        if (firstbrace < 0)
-            throw new XmlValueOutOfRangeException();
-
-        // grab the QName
-        String firstpart = XmlWhitespace.collapse(s.substring(0, firstbrace), XmlWhitespace.WS_COLLAPSE);
-        int firstcolon = firstpart.indexOf(':');
-        String prefix = "";
-        if (firstcolon >= 0)
-            prefix = firstpart.substring(0, firstcolon);
-
-        String uri = m.getNamespaceForPrefix(prefix);
-        if (uri == null)
-            throw new XmlValueOutOfRangeException();
-
-        _type = QNameHelper.forLNS(firstpart.substring(firstcolon + 1), uri);
-
-        initDimensions(s, firstbrace);
-    }
-
-    private static int[] EMPTY_INT_ARRAY = new int[0];
-
-    /**
-     * Parses SOAP 1.1(advanced) array type strings.
-     *
-     * Since in SOAP 1.1(advanced) the dimension specification is separated from the
-     * QName for the underlying type, these are passed in separate
-     * arguments.
-     */
-    public SOAPArrayType(QName name, String dimensions)
-    {
-        int firstbrace = dimensions.indexOf('[');
-        if (firstbrace < 0)
-        {
-            _type = name;
-            _ranks = EMPTY_INT_ARRAY;
-            dimensions = XmlWhitespace.collapse(dimensions, XmlWhitespace.WS_COLLAPSE);
-            String[] dimStrings = dimensions.split(" ");
-            for (int i = 0; i < dimStrings.length; i++)
-            {
-                String dimString = dimStrings[i];
-                if (dimString.equals("*"))
-                {
-                    _dimensions[i] = -1;
-                    // _hasIndeterminateDimensions = true;
-                }
-                else
-                {
-                    try
-                    {
-                        _dimensions[i] = Integer.parseInt(dimStrings[i]);
-                    }
-                    catch (Exception e)
-                    {
-                        throw new XmlValueOutOfRangeException();
-                    }
-                }
-            }
-        }
-        else
-        {
-            _type = name;
-            initDimensions(dimensions, firstbrace);
-        }
-    }
-
-    /**
-     * Given a nested SOAPArrayType and a set of dimensions for the outermost
-     * array, comes up with the right SOAPArrayType for the whole thing.
-     *
-     * E.g.,
-     * Nested foo:bar[,][][,,][1,2]
-     * Dimensions [6,7,8]
-     * Result -> foo:bar[,][][,,][,][6,7,8]
-     */
-    public SOAPArrayType(SOAPArrayType nested, int[] dimensions)
-    {
-        _type = nested._type;
-
-        _ranks = new int[nested._ranks.length + 1];
-        System.arraycopy(_ranks, 0, nested._ranks, 0, nested._ranks.length);
-        _ranks[_ranks.length - 1] = nested._dimensions.length;
-
-        _dimensions = new int[dimensions.length];
-        System.arraycopy(dimensions, 0, _dimensions, 0, dimensions.length);
-    }
-
-    /**
-     * Initialize dimensions based on SOAP11 parsed dimension substring
-     */
-    private void initDimensions(String s, int firstbrace)
-    {
-        List braces = new ArrayList();
-        int lastbrace = -1;
-        for (int i = firstbrace; i >= 0; )
-        {
-            lastbrace = s.indexOf(']', i);
-            if (lastbrace < 0)
-                throw new XmlValueOutOfRangeException();
-            braces.add(s.substring(i + 1, lastbrace));
-            i = s.indexOf('[', lastbrace);
-        }
-
-        String trailer = s.substring(lastbrace + 1);
-        if (!XmlWhitespace.isAllSpace(trailer))
-            throw new XmlValueOutOfRangeException();
-
-        // now fill in rank array
-        _ranks = new int[braces.size() - 1];
-        for (int i = 0; i < _ranks.length; i++)
-        {
-            String commas = (String)braces.get(i);
-            int commacount = 0;
-            for (int j = 0; j < commas.length(); j++)
-            {
-                char ch = commas.charAt(j);
-                if (ch == ',')
-                    commacount += 1;
-                else if (!XmlWhitespace.isSpace(ch))
-                    throw new XmlValueOutOfRangeException();
-            }
-            _ranks[i] = commacount + 1;
-        }
-
-        // finally fill in dimension array
-        _dimensions = internalParseCommaIntString((String)braces.get(braces.size() - 1));
-
-        /*
-        for (int i = 0; i < _dimensions.length; i++)
-        {
-            if (_dimensions[i] < 0)
-                _hasIndeterminateDimensions = true;
-        }
-        */
-    }
-
-    /**
-     * Returns the QName for the referenced type.
-     */
-    public QName getQName()
-    {
-        return _type;
-    }
-
-    /**
-     * Returns the array of ranks for inner nested arrays.
-     * In SOAP 1.1-advanced, this is always an array of length zero.
-     * In SOAP 1.1, this array reflects the ranks of nested
-     * arrays. For example foo:bar[,][,,][][5,6] will produce
-     * a ranks result of 2, 3, 1.
-     */
-    public int[] getRanks()
-    {
-        int[] result = new int[_ranks.length];
-        System.arraycopy(_ranks, 0, result, 0, result.length);
-        return result;
-    }
-
-    /**
-     * Returns the array of dimensions.
-     */
-    public int[] getDimensions()
-    {
-        int[] result = new int[_dimensions.length];
-        System.arraycopy(_dimensions, 0, result, 0, result.length);
-        return result;
-    }
-
-    /**
-     * True if this array contains nested arrays. Equivalent
-     * to (getRanks().length > 0).
-     */
-    public boolean containsNestedArrays()
-    {
-        return (_ranks.length > 0);
-    }
-
-    /**
-     * Returns the dimensions as a string, e.g., [,][2,3,4]
-     */
-    public String soap11DimensionString()
-    {
-        return soap11DimensionString(_dimensions);
-    }
-
-    /**
-     * Given an actual set of dimensions that may differ from
-     * the default that is stored, outputs the soap arrayType
-     * string.
-     */
-    public String soap11DimensionString(int[] actualDimensions)
-    {
-        StringBuffer sb = new StringBuffer();
-        for (int i = 0; i < _ranks.length; i++)
-        {
-            sb.append('[');
-            for (int j = 1; j < _ranks[i]; j++)
-                sb.append(',');
-            sb.append(']');
-        }
-
-        sb.append('[');
-        for (int i = 0; i < actualDimensions.length; i++)
-        {
-            if (i > 0)
-                sb.append(',');
-            if (actualDimensions[i] >= 0)
-                sb.append(actualDimensions[i]);
-        }
-        sb.append(']');
-        return sb.toString();
-    }
-
-    private SOAPArrayType()
-    {
-    }
-
-    /**
-     * SOAP 1.2
-     * Constructs a SOAPArrayType from soap-enc:itemType and
-     * soap-enc:arraySize attributes
-     * @param itemType the item type QName
-     * @param arraySize a string with dimentions like: * 3 4
-     * @return a SOAPArrayType to represent this
-     */
-    public static SOAPArrayType newSoap12Array(QName itemType, String arraySize)
-    {
-        int [] ranks = EMPTY_INT_ARRAY;
-        arraySize = XmlWhitespace.collapse(arraySize, XmlWhitespace.WS_COLLAPSE);
-        String[] dimStrings = arraySize.split(" ");
-        int[] dimensions = new int[dimStrings.length];
-        for (int i = 0; i < dimStrings.length; i++)
-        {
-            String dimString = dimStrings[i];
-            if (i==0 && dimString.equals("*"))
-            {
-                dimensions[i] = -1;
-                // _hasIndeterminateDimensions = true;
-            }
-            else
-            {
-                try
-                {
-                    dimensions[i] = Integer.parseInt(dimStrings[i]);
-                }
-                catch (Exception e)
-                {
-                    throw new XmlValueOutOfRangeException();
-                }
-            }
-        }
-        SOAPArrayType sot = new SOAPArrayType();
-        sot._ranks = ranks;
-        sot._type = itemType;
-        sot._dimensions = dimensions;
-        return sot;
-    }
-
-    /**
-     * SOAP 1.2
-     * Given an actual set of dimensions that may differ from
-     * the default that is stored, outputs the soap arraySize
-     * string.
-     */
-    public String soap12DimensionString(int[] actualDimensions)
-    {
-        StringBuffer sb = new StringBuffer();
-
-        for (int i = 0; i < actualDimensions.length; i++)
-        {
-            if (i > 0)
-                sb.append(' ');
-            if (actualDimensions[i] >= 0)
-                sb.append(actualDimensions[i]);
-        }
-        return sb.toString();
-    }
-
-    /**
-     * Constructs a SOAPArrayType reflecting the dimensions
-     * of the next nested array.
-     */
-    public SOAPArrayType nestedArrayType()
-    {
-        if (!containsNestedArrays())
-            throw new IllegalStateException();
-
-        SOAPArrayType result = new SOAPArrayType();
-
-        result._type = _type;
-
-        result._ranks = new int[_ranks.length - 1];
-        System.arraycopy(_ranks, 0, result._ranks, 0, result._ranks.length);
-
-        result._dimensions = new int[_ranks[_ranks.length - 1]];
-        for (int i = 0; i < result._dimensions.length; i++)
-            result._dimensions[i] = -1;
-
-        // result._hasIndeterminateDimensions = (result._dimensions.length > 0);
-
-        return result;
-    }
-
-    public int hashCode()
-    {
-        return (_type.hashCode() + _dimensions.length + _ranks.length + (_dimensions.length == 0 ? 0 : _dimensions[0]));
-    }
-
-    public boolean equals(Object obj)
-    {
-        if (obj == this)
-            return true;
-
-        if (!obj.getClass().equals(getClass()))
-            return false;
-
-        SOAPArrayType sat = (SOAPArrayType)obj;
-
-        if (!_type.equals(sat._type))
-            return false;
-
-        if (_ranks.length != sat._ranks.length)
-            return false;
-
-        if (_dimensions.length != sat._dimensions.length)
-            return false;
-
-        for (int i = 0; i < _ranks.length; i++)
-            if (_ranks[i] != sat._ranks[i])
-                return false;
-
-        for (int i = 0; i < _dimensions.length; i++)
-            if (_dimensions[i] != sat._dimensions[i])
-                return false;
-
-        return true;
-    }
-}
diff --git a/v1/src/typeimpl/org/apache/xmlbeans/soap/SchemaWSDLArrayType.java b/v1/src/typeimpl/org/apache/xmlbeans/soap/SchemaWSDLArrayType.java
deleted file mode 100644
index c6aa769..0000000
--- a/v1/src/typeimpl/org/apache/xmlbeans/soap/SchemaWSDLArrayType.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.soap;
-
-/**
- * In the current implementation, schema elements and attributes
- * can be coerced to this interface in order to retrieve the value
- * of the wsdl:arrayType attributes on attributes and elements.
- */
-public interface SchemaWSDLArrayType
-{
-    SOAPArrayType getWSDLArrayType();
-}
diff --git a/v1/src/typestore/org/apache/xmlbeans/impl/values/NamespaceManager.java b/v1/src/typestore/org/apache/xmlbeans/impl/values/NamespaceManager.java
deleted file mode 100644
index ec46679..0000000
--- a/v1/src/typestore/org/apache/xmlbeans/impl/values/NamespaceManager.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.impl.common.PrefixResolver;
-
-public interface NamespaceManager extends PrefixResolver
-{
-    /**
-     * Caled when the user needs a prefix by which to reference a given
-     * Xml namespace. A suggested prefix is passed, which may be null;
-     * the suggestion may be ignored.
-     */
-    
-    String find_prefix_for_nsuri ( String nsuri, String suggested_prefix );
-}
-   
\ No newline at end of file
diff --git a/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStore.java b/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStore.java
deleted file mode 100644
index 7c173c1..0000000
--- a/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStore.java
+++ /dev/null
@@ -1,378 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaField;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.QNameSet;
-import java.util.List;
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.impl.common.ValidatorListener;
-
-public interface TypeStore extends NamespaceManager
-{
-    /**
-     * Creates a new cursor positioned just before the part of the tree
-     * where this TypeStore is located.
-     */
-    XmlCursor new_cursor();
-
-    /**
-     */
-    void validate ( ValidatorListener vEventSink );
-
-    /**
-     * Get the SchemaTypeLoader associated with the store contianing this
-     * TypeStore.
-     */
-    SchemaTypeLoader get_schematypeloader ( );
-
-    /**
-     * Change the type of this store (perhaps by applying xsi:type) and
-     * return the new TypeStoreUser (or old one if the new type is not
-     * different).
-     */
-    TypeStoreUser change_type ( SchemaType sType );
-
-    /**
-     * Tells if this store is an attribute or not
-     */
-    boolean is_attribute ( );
-
-    /**
-     * Get the value of xsi:type.  Return null if none or this is an attribute
-     * store.
-     */
-    QName get_xsi_type ( );
-
-    /**
-     * A user of a TypeStore calls invalidate_text when the underlying
-     * value has changed and he wants the textstore to call him back with
-     * a fetch_text (TypeStore/TypeStoreUsers work in pairs).
-     */
-    void invalidate_text();
-
-    /**
-     * A user of a TypeStore calls fetch_text when he knows his view
-     * of the text is invalid and he wants to see what the actual text
-     * value is.
-     */
-    // BUGBUG (ericvas) 12111
-    String fetch_text(int whitespaceRule);
-
-    public static int WS_UNSPECIFIED = 0;
-    public static int WS_PRESERVE = 1;
-    public static int WS_REPLACE = 2;
-    public static int WS_COLLAPSE = 3;
-
-    /**
-     * A user of a TypeStore calls store_text when he wants the TypeStore
-     * to remember the given text immediately. This typically happens when
-     * the user has a noncanonical (but valid) string representation to save,
-     * but doesn't have the storage in which to save it.
-     */
-    void store_text(String text);
-
-    /**
-     * Here the TypeStore is responsible for locating the default value.
-     * This is done as follows
-     * (1) go to the parent TypeStoreUser
-     * (2) ask it to get_default_element_text(qname) (or _attribute_), and return it if not null.
-     * (2) otherwise, grab a new TypeStoreUserVisitor via v = parentuser.new_visitor();
-     * (3) call v.visit(name) on _every_ element qname up to and including this one in order
-     * (4) return the result of v.get_default_text().
-     */
-    String compute_default_text();
-
-    /**
-     * Here the TypeStore is responsible for figuring if this value is
-     * nillable and/or fixed. This is done by
-     * (1) go to the parent TypeStoreUser
-     * (2) ask it to get_elementflags(qname), and return it if not -1.
-     * (2) otherwise, grab a new TypeStoreUserVisitor via v = parentuser.new_visitor();
-     * (3) call v.visit(name) on _every_ element qname up to and including this one in order
-     * (4) return the result of v.get_elementflags().
-     */
-    int compute_flags();
-
-
-    /**
-     * Tells if this store was created with this option which tells the strongly typed
-     * objects to perform lexical and value validation after a setter is called.
-     */
-    boolean validate_on_set();
-
-    /**
-     * Here the typestore is resposible for finding the schema field for
-     * this object. This is done by
-     * (1) otherwise, grab a new TypeStoreUserVisitor via v = parentuser.new_visitor();
-     * (2) call v.visit(name) on _every_ element qname up to and including this one in order
-     * (3) return the result of v.get_schema_field().
-     */
-    SchemaField get_schema_field();
-
-    public static final int NILLABLE = 1;
-    public static final int HASDEFAULT = 2;
-    public static final int FIXED = 4; // always set with HASDEFAULT
-
-    /**
-     * Called when the value has been nilled or unnilled, so the textstore
-     * knows it needs to update the xsi:nil attribute.
-     */
-    void invalidate_nil();
-
-    /**
-     * The TypeStore is reponsible for discovering if this value is nil.
-     * This is done by (1) going to the element and (2) finding the
-     * xsi:nil attribute if present and (3) return true if the collapsed
-     * textual value is either exactly the string "true" or "1".
-     */
-    boolean find_nil();
-
-    /**
-     * Returns the count of elements with the given name owned by this
-     * textstore.
-     */
-    int count_elements(QName name);
-
-    /**
-     * Returns the count of elements that match of the names.
-     */
-    int count_elements(QNameSet names);
-
-    /**
-     * Returns the TypeStoreUser underneath the ith element with the given
-     * name owned by this textstore, or null if none was found.
-     *
-     * Do not throw an IndexOutOfBoundsException if i is bad -
-     * return null instead. The reason is to allow us to fail
-     * and then follow with an add_element_etc if we choose to,
-     * without randomly catching exceptions.
-     */
-// BUGBUG - this should be called find_element
-// BUGBUG - this should be called find_element
-// BUGBUG - this should be called find_element
-// BUGBUG - this should be called find_element
-// BUGBUG - this should be called find_element
-    TypeStoreUser find_element_user(QName name, int i);
-
-    /**
-     * Like find_element_user but accepts a set of names to search for.
-     */
-    TypeStoreUser find_element_user(QNameSet names, int i);
-
-    /**
-     * Returns all the TypeStoreUsers corresponding to elements with the
-     * given name owned by this typestore, or the empty array of
-     * TypeStoreUsers if none was found.
-     */
-// BUGBUG - this should be called find_all_element
-// BUGBUG - this should be called find_all_element
-// BUGBUG - this should be called find_all_element
-// BUGBUG - this should be called find_all_element
-    void find_all_element_users(QName name, List fillMeUp);
-
-
-    /**
-     * Returns all TypeStoreUsers corresponding to elements with one
-     * of the names is the QNameSet.
-     */
-    void find_all_element_users(QNameSet name, List fillMeUp);
-
-    /**
-     * Inserts a new element at the position that will make it
-     * the ith element with the given name owned by this textstore,
-     * and returns a TypeStoreUser for that element.
-     *
-     * Note that if there are no existing elements of the given
-     * name, you may need to call back to discover the proper
-     * ordering to use to insert the first one. Otherwise,
-     * it should be inserted adjacent to existing elements with
-     * the same name.
-     *
-     * Should throw an IndexOutOfBoundsException if i < 0
-     * or if i > # of elts
-     */
-
-// BUGBUG - this should be called insert_element
-// BUGBUG - this should be called insert_element
-// BUGBUG - this should be called insert_element
-    TypeStoreUser insert_element_user(QName name, int i);
-
-    /**
-     * Like the above method, except that it inserts an element named
-     * name, after the ith member of set.
-     */
-    TypeStoreUser insert_element_user(QNameSet set, QName name, int i);
-
-    /**
-     * Adds a new element at the last position adjacent to existing
-     * elements of the same name.
-     *
-     * Note that if there are no existing elements of the given
-     * name, the same comment applies as with insert_element_user.
-     */
-// BUGBUG - this should be called add_element
-// BUGBUG - this should be called add_element
-// BUGBUG - this should be called add_element
-// BUGBUG - this should be called add_element
-    TypeStoreUser add_element_user(QName name);
-
-    /**
-     * Removes the ith element with the given name.
-     *
-     * Should throw an IndexOutOfBoundsException if i < 0
-     * or if i > # of elts-1.
-     */
-    void remove_element(QName name, int i);
-
-    /**
-     * Removes the ith element that matches names.
-     */
-    void remove_element(QNameSet names, int i);
-
-
-    /**
-     * Returns the TypeStoreUser underneath the attribute with the given
-     * name, or null if there is no such attribute.
-     */
-// BUGBUG - this should be called find_attribute
-// BUGBUG - this should be called find_attribute
-// BUGBUG - this should be called find_attribute
-// BUGBUG - this should be called find_attribute
-    TypeStoreUser find_attribute_user(QName name);
-
-    /**
-     * Adds an attribute with the given name and returns a TypeStoreUser
-     * underneath it. Should throw an IndexOutOfBoundsException if there
-     * is already an existing attribute with the given name.
-     */
-// BUGBUG - this should be called add_attribute
-// BUGBUG - this should be called add_attribute
-// BUGBUG - this should be called add_attribute
-// BUGBUG - this should be called add_attribute
-    TypeStoreUser add_attribute_user(QName name);
-
-    /**
-     * Removes the attribute with the given name.
-     */
-    void remove_attribute(QName name);
-
-    /**
-     * Copies the contents of the given TypeStore (including attributes,
-     * elements, and mixed content), to the target type store.
-     *
-     * SPECIAL NOTE: The xsi:type attribute should not be removed from
-     * the target or copied from the soruce, and the TypeStoreUser attached
-     * to this TypeStore should not be disconnected.
-     *
-     * This is for implementing obj.set(foo).
-     */
-    TypeStoreUser copy_contents_from(TypeStore source);
-    
-// BUGBUG - Need to use this in the future
-//    /**
-//     * Copies the contents of the given TypeStore (including attributes,
-//     * elemets, mixed content), to the child element given by the given
-//     * name and index. Any TypeStoreUser that might be currently attached
-//     * to that element is disconnected.  The xsi:type attribute of the
-//     * element should be set according to the given QName (or deleted if
-//     * the xsitype argument is null)
-//     */
-//    void copy_to_element(
-//        TypeStore source, QName xsitype, QName name, int i);
-
-    /**
-     * Copies the contents of the given array of XmlObject (including
-     * attributes, elements, mixed content), over all the elements of the
-     * given name under the current typestore.
-     *
-     * The lengths of the two arrays that are passed should be the same.
-     *
-     * If there are n current elements of the given name and m elements
-     * in the source array, there are several cases for individual elements:
-     *
-     * 1. If i < n and i < m, then the contents of the ith source are copied
-     *    underneath the ith element; the ith element is not moved, but its
-     *    TypeStoreUser is disconnected.
-     * 2. if i >= n and i < m, then first enough new elements are appended
-     *    so that there is an element with the name i, then rule #1 is followed.
-     * 3. if i >= m and i < n, then the element #i and all its contents
-     *    are removed.
-     */
-    
-    void array_setter ( XmlObject[] sources, QName elementName );
-
-    /**
-     * Visits all the elements immediately, using the given visitor.
-     * A TypeStoreUser calls this when somebody has requested validation.
-     */
-    void visit_elements(TypeStoreVisitor visitor);
-
-    XmlObject[] exec_query ( String queryExpr, XmlOptions options )
-        throws XmlException;
-
-    /**
-     * Returns the monitor object, used for synchronizing access to the doc.
-     */ 
-    Object get_root_object();
-}
diff --git a/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreFactory.java b/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreFactory.java
deleted file mode 100644
index e3dad85..0000000
--- a/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreFactory.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import org.apache.xmlbeans.SchemaType;
-import javax.xml.namespace.QName;
-
-/**
- * This gives the non default bindings to take control of TypeStoreUser
- * creation. It is set once per document and called each time instead of
- * TypeStoreUser.createElementUser() and createAttributeUser()
- */
-public interface TypeStoreFactory
-{
-    /** A key to pass in for the XmlOptions to set the factory */
-    public static final String KEY = "TypeStoreFactory";
-
-    TypeStoreUser createElementUser(SchemaType parentType, QName name, QName xsiType);
-
-    TypeStoreUser createAttributeUser(SchemaType parentType, QName name);
-}
diff --git a/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreUser.java b/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreUser.java
deleted file mode 100644
index a5fef53..0000000
--- a/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreUser.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaField;
-
-/**
- * Represents the strongly-typed user of a typestore.
- * A typestore is responsible for all the lexical aspects of XML, and
- * a typestore user is responsible for all strongly-typed aspects.
- * Where there is interaction between the two models, it is represented
- * by the TypeStore and TypeStoreUser interfaces.
- */
-public interface TypeStoreUser
-{
-    /**
-     * Called to attach to the given textStore. When a TypeStoreUser is
-     * attached, it is put into a completely invalidated state.
-     */
-    void attach_store(TypeStore store);
-
-    /**
-     * Returns the schema type of this user
-     */
-    SchemaType get_schema_type();
-
-    /**
-     * Returns the store to which this typestoreuser is attached, or
-     * null if none.
-     */
-    TypeStore get_store();
-
-    /**
-     * A store will call back on invalidate_value when its text has
-     * changed and it therefore knows that any cached type value is
-     * invalid. It is the responsibilty of the type to call fetch_text
-     * and reparse next time the user does a strongly-typed get.
-     */
-    void invalidate_value();
-
-    /**
-     * A store can call uses_invalidate_value to know if calls to
-     * invalidate_value will be fruitful.  If uses_invalidate_value
-     * returns false, invalidate_value need never be called.
-     */
-    boolean uses_invalidate_value();
-
-    /**
-     * A store will call back on build_text when it knows its own text
-     * is invalid and needs to fill it in.  If forExternal is true, then
-     * the value returned will be used to replenish the store's cache of
-     * the value.  Otherwise, the value is being computed for purposes
-     * other than validation, like persistence.
-     *
-     * Also, the only member on TypeStore which may be called while build_text
-     * is on the stack is find_prefix_for_nsuri which must have the
-     * forExternal state passed to it as it is passed here.
-     */
-    String build_text(NamespaceManager nsm);
-
-    /**
-     * A store will call back on build_nil after you've called invalidate_nil
-     * and it needs to know what the nil value is.
-     */
-    boolean build_nil();
-
-    /**
-     * A store calls back on invalidate_nilvalue when the value of
-     * the xsi:nil tag has changed.
-     */
-    void invalidate_nilvalue();
-
-    /**
-     * A store calls back on invalidate_element_order when a rearrangment
-     * of sibling elements to the left of this element means that the
-     * nillable value may no longer be valid.
-     */
-    void invalidate_element_order();
-
-    /**
-     * A store will call back on validate_now to force us to look at
-     * the text if we're in an invalid state. This function is allowed
-     * and expected to throw an exception if the text isn't valid for
-     * our type.
-     */
-    void validate_now();
-
-    /**
-     * A store calls back on this call in order to force a disconnect.
-     * After this is done, the object should be considered invalid.
-     */
-    void disconnect_store();
-
-    /**
-     * A typestore user can create a new TypeStoreUser instance for
-     * a given element child name as long as you also pass the
-     * qname contained by the xsi:type attribute, if any.
-     *
-     * Note that we will ignore the xsiType if it turns out to be invalid.
-     */
-    TypeStoreUser create_element_user(QName eltName, QName xsiType);
-
-    /**
-     * A typestore user can create a new TypeStoreUser instance for
-     * a given attribute child, based on the attribute name.
-     */
-    TypeStoreUser create_attribute_user(QName attrName);
-
-    /**
-     * Return the SchemaType which a child element of this name and xsi:type
-     * would be.
-     */
-
-    SchemaType get_element_type(QName eltName, QName xsiType);
-    
-    /**
-     * Return the SchemaType which an attribute of this name would be.
-     */
-
-    SchemaType get_attribute_type(QName attrName);
-
-    /**
-     * Returns the default element text, if it's consistent. If it's
-     * not consistent, returns null, and requires a visitor walk.
-     */
-    String get_default_element_text(QName eltName);
-
-    /**
-     * Returns the default attribute text for the attribute with
-     * the given name.
-     */
-    String get_default_attribute_text(QName attrName);
-
-    /**
-     * Returns the elementflags, if they're consistent. If they're
-     * not, returns -1, and requires a vistor walk.
-     */
-    int get_elementflags(QName eltName);
-
-    /**
-     * Returns the flags for an attribute.
-     */
-    int get_attributeflags(QName attrName);
-
-    /**
-     * Returns the schema field for an attribute
-     */
-    SchemaField get_attribute_field(QName attrName);
-
-    /**
-     * Returns false if child elements are insensitive to order;
-     * if it returns true, you're required to call invalidate_element_order
-     * on children to the right of any child order rearrangement.
-     */
-    boolean is_child_element_order_sensitive();
-
-    /**
-     * A typestore user can return the element sort order to use for
-     * insertion operations if needed. Settable elements should
-     * be stored in this order if possible.
-     */
-    QNameSet get_element_ending_delimiters(QName eltname);
-
-    /**
-     * A typestore user can return a visitor that is used to compute
-     * default text and elementflags for an arbitrary element.
-     */
-    TypeStoreVisitor new_visitor();
-}
diff --git a/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreUserFactory.java b/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreUserFactory.java
deleted file mode 100644
index 5e14fb8..0000000
--- a/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreUserFactory.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-/**
- * Every SchemaTypeLoader is actually a TypeStoreUserFactory.
- *
- * To get and use the default TypeStoreUserFactory, do the following:
- *
- * TypeStoreUser user = ((TypeStoreUserFactory)SchemaTypeLoader.global()).createTypeStoreUser(store);
- */
-public interface TypeStoreUserFactory
-{
-    TypeStoreUser createTypeStoreUser();
-}
diff --git a/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreVisitor.java b/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreVisitor.java
deleted file mode 100644
index 3055fa9..0000000
--- a/v1/src/typestore/org/apache/xmlbeans/impl/values/TypeStoreVisitor.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.SchemaField;
-
-/**
- * This interface is used by the TypeStore to visit every element in order
- * to compute nillable flags and default values.
- */
-public interface TypeStoreVisitor
-{
-    /**
-     * When using a visitor, you must call "visit" on every qname of
-     * every element in order up to the one you're interested in.
-     *
-     * If you're using it for validation, call visit(null) at the end
-     * of the sequence of children. If you're not validating, you can
-     * just walk away once you get the info you need.
-     */
-    boolean visit(QName eltName);
-
-    /**
-     * Returns the elementflags for this element.
-     */
-    int get_elementflags();
-
-    /**
-     * Returns the default text for this element.
-     */
-    String get_default_text();
-
-    /**
-     * Returns the schema field for this field.
-     */
-    SchemaField get_schema_field();
-}
diff --git a/v1/src/typestore/org/apache/xmlbeans/impl/values/XmlStore.java b/v1/src/typestore/org/apache/xmlbeans/impl/values/XmlStore.java
deleted file mode 100644
index 1096c87..0000000
--- a/v1/src/typestore/org/apache/xmlbeans/impl/values/XmlStore.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.values;
-
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.io.Reader;
-import java.util.Map;
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLStreamException;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlSaxHandler;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.w3c.dom.Node;
-import org.w3c.dom.DOMException;
-
-public interface XmlStore
-{
-    //
-    //
-    //
-
-    XmlObject loadXml ( String s,           SchemaType type, XmlOptions options ) throws XmlException;
-    XmlObject loadXml ( InputStream in,     SchemaType type, XmlOptions options ) throws XmlException, IOException;
-    XmlObject loadXml ( Reader r,           SchemaType type, XmlOptions options ) throws XmlException, IOException;
-    XmlObject loadXml ( XMLInputStream xis, SchemaType type, XmlOptions options ) throws XmlException, XMLStreamException;
-    XmlObject loadXml ( Node node,          SchemaType type, XmlOptions options ) throws XmlException;
-    
-    XmlSaxHandler newSaxHandler ( SchemaType type, XmlOptions options );
-
-    XmlObject getObject ( );
-}
\ No newline at end of file
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/BaseSchemaResourceManager.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/BaseSchemaResourceManager.java
deleted file mode 100644
index 479238a..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/BaseSchemaResourceManager.java
+++ /dev/null
@@ -1,757 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import com.bea.x2003.x01.xmlbean.xsdownload.DownloadedSchemasDocument;
-import com.bea.x2003.x01.xmlbean.xsdownload.DownloadedSchemaEntry;
-import com.bea.x2003.x01.xmlbean.xsdownload.DownloadedSchemasDocument.DownloadedSchemas;
-import org.apache.xmlbeans.impl.util.HexBin;
-import org.apache.xmlbeans.impl.common.IOUtil;
-import org.apache.xmlbeans.XmlOptions;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.ByteArrayInputStream;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.HashMap;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.security.DigestInputStream;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-import org.w3.x2001.xmlSchema.SchemaDocument.Schema;
-import org.w3.x2001.xmlSchema.SchemaDocument;
-
-public abstract class BaseSchemaResourceManager extends SchemaImportResolver
-{
-    private String _defaultCopyDirectory;
-    private DownloadedSchemasDocument _importsDoc;
-    private Map _resourceForFilename = new HashMap();
-    private Map _resourceForURL = new HashMap();
-    private Map _resourceForNamespace = new HashMap();
-    private Map _resourceForDigest = new HashMap();
-    private Map _resourceForCacheEntry = new HashMap();
-    private Set _redownloadSet = new HashSet();
-
-    protected BaseSchemaResourceManager()
-    {
-        // concrete subclasses should call init in their constructors
-    }
-
-    protected final void init()
-    {
-        if (fileExists(getIndexFilename()))
-        {
-            try
-            {
-                _importsDoc = DownloadedSchemasDocument.Factory.parse( inputStreamForFile( getIndexFilename() ) );
-            }
-            catch (IOException e)
-            {
-                _importsDoc = null;
-            }
-            catch (Exception e)
-            {
-                throw (IllegalStateException)(new IllegalStateException("Problem reading xsdownload.xml: please fix or delete this file")).initCause(e);
-            }
-        }
-        if (_importsDoc == null)
-        {
-            try
-            {
-                _importsDoc = DownloadedSchemasDocument.Factory.parse(
-                    "<dls:downloaded-schemas xmlns:dls='http://www.bea.com/2003/01/xmlbean/xsdownload' defaultDirectory='" + getDefaultSchemaDir() + "'/>"
-                );
-            }
-            catch (Exception e)
-            {
-                throw (IllegalStateException)(new IllegalStateException()).initCause(e);
-            }
-        }
-
-        String defaultDir = _importsDoc.getDownloadedSchemas().getDefaultDirectory();
-        if (defaultDir == null)
-            defaultDir = getDefaultSchemaDir();;
-        _defaultCopyDirectory = defaultDir;
-
-        // now initialize data structures
-        DownloadedSchemaEntry[] entries = _importsDoc.getDownloadedSchemas().getEntryArray();
-        for (int i = 0; i < entries.length; i++)
-        {
-            updateResource(entries[i]);
-        }
-    }
-
-    public final void writeCache() throws IOException
-    {
-        InputStream input = _importsDoc.newInputStream(new XmlOptions().setSavePrettyPrint());
-        writeInputStreamToFile(input, getIndexFilename());
-    }
-
-    public final void processAll(boolean sync, boolean refresh, boolean imports)
-    {
-        if (refresh)
-        {
-            _redownloadSet = new HashSet();
-        }
-        else
-        {
-            _redownloadSet = null;
-        }
-
-        String[] allFilenames = getAllXSDFilenames();
-
-        if (sync)
-            syncCacheWithLocalXsdFiles(allFilenames, false);
-
-        SchemaResource[] starters = (SchemaResource[])
-                _resourceForFilename.values().toArray(new SchemaResource[0]);
-
-        if (refresh)
-            redownloadEntries(starters);
-
-        if (imports)
-            resolveImports(starters);
-
-        _redownloadSet = null;
-    }
-
-    public final void process(String[] uris, String[] filenames, boolean sync, boolean refresh, boolean imports)
-    {
-        if (refresh)
-        {
-            _redownloadSet = new HashSet();
-        }
-        else
-        {
-            _redownloadSet = null;
-        }
-
-        if (filenames.length > 0)
-            syncCacheWithLocalXsdFiles(filenames, true);
-        else if (sync)
-            syncCacheWithLocalXsdFiles(getAllXSDFilenames(), false);
-
-        Set starterset = new HashSet();
-
-        for (int i = 0; i < uris.length; i++)
-        {
-            SchemaResource resource = (SchemaResource)lookupResource(null, uris[i]);
-            if (resource != null)
-                starterset.add(resource);
-        }
-
-        for (int i = 0; i < filenames.length; i++)
-        {
-            SchemaResource resource = (SchemaResource)_resourceForFilename.get(filenames);
-            if (resource != null)
-                starterset.add(resource);
-        }
-
-        SchemaResource[] starters = (SchemaResource[])
-               starterset.toArray(new SchemaResource[0]);
-
-        if (refresh)
-            redownloadEntries(starters);
-
-        if (imports)
-            resolveImports(starters);
-
-        _redownloadSet = null;
-    }
-
-    /**
-     * Adds items to the cache that point to new files that aren't
-     * described in the cache, and optionally deletes old entries.
-     *
-     * If an old file is gone and a new file is
-     * found with exactly the same contents, the cache entry is moved
-     * to point to the new file.
-     */
-    public final void syncCacheWithLocalXsdFiles(String[] filenames, boolean deleteOnlyMentioned)
-    {
-        Set seenResources = new HashSet();
-        Set vanishedResources = new HashSet();
-
-        for (int i = 0; i < filenames.length; i++)
-        {
-            String filename = filenames[i];
-
-            // first, if the filename matches exactly, trust the filename
-            SchemaResource resource = (SchemaResource)_resourceForFilename.get(filename);
-            if (resource != null)
-            {
-                if (fileExists(filename))
-                    seenResources.add(resource);
-                else
-                    vanishedResources.add(resource);
-                continue;
-            }
-
-            // new file that is not in the index?
-            // not if the digest is known to the index and the original file is gone - that's a rename!
-            String digest = null;
-            try
-            {
-                digest = shaDigestForFile(filename);
-                resource = (SchemaResource)_resourceForDigest.get(digest);
-                if (resource != null)
-                {
-                    String oldFilename = resource.getFilename();
-                    if (!fileExists(oldFilename))
-                    {
-                        warning("File " + filename + " is a rename of " + oldFilename);
-                        resource.setFilename(filename);
-                        seenResources.add(resource);
-                        if (_resourceForFilename.get(oldFilename) == resource)
-                            _resourceForFilename.remove(oldFilename);
-                        if (_resourceForFilename.containsKey(filename))
-                            _resourceForFilename.put(filename, resource);
-                        continue;
-                    }
-                }
-            }
-            catch (IOException e)
-            {
-                // unable to read digest... no problem, ignore then
-            }
-
-            // ok, this really is a new XSD file then, of unknown URL origin
-            DownloadedSchemaEntry newEntry = addNewEntry();
-            newEntry.setFilename(filename);
-            warning("Caching information on new local file " + filename);
-            if (digest != null)
-                newEntry.setSha1(digest);
-
-            seenResources.add(updateResource(newEntry));
-        }
-
-        if (deleteOnlyMentioned)
-            deleteResourcesInSet(vanishedResources, true);
-        else
-            deleteResourcesInSet(seenResources, false);
-    }
-
-    /**
-     * Iterates through every entry and refetches it from its primary URL,
-     * if known.  Replaces the contents of the file if the data is different.
-     */
-    private void redownloadEntries(SchemaResource[] resources)
-    {
-        for (int i = 0; i < resources.length; i++)
-        {
-            redownloadResource(resources[i]);
-        }
-    }
-
-    private void deleteResourcesInSet(Set seenResources, boolean setToDelete)
-    {
-        Set seenCacheEntries = new HashSet();
-        for (Iterator i = seenResources.iterator(); i.hasNext(); )
-        {
-            SchemaResource resource = (SchemaResource)i.next();
-            seenCacheEntries.add(resource._cacheEntry);
-        }
-
-        DownloadedSchemas downloadedSchemas = _importsDoc.getDownloadedSchemas();
-        for (int i = 0; i < downloadedSchemas.sizeOfEntryArray(); i++)
-        {
-            DownloadedSchemaEntry cacheEntry = downloadedSchemas.getEntryArray(i);
-
-            if (seenCacheEntries.contains(cacheEntry) == setToDelete)
-            {
-                SchemaResource resource = (SchemaResource)_resourceForCacheEntry.get(cacheEntry);
-                warning("Removing obsolete cache entry for " + resource.getFilename());
-
-                if (resource != null)
-                {
-                    _resourceForCacheEntry.remove(cacheEntry);
-
-                    if (resource == _resourceForFilename.get(resource.getFilename()))
-                        _resourceForFilename.remove(resource.getFilename());
-
-                    if (resource == _resourceForDigest.get(resource.getSha1()))
-                        _resourceForDigest.remove(resource.getSha1());
-
-                    if (resource == _resourceForNamespace.get(resource.getNamespace()))
-                        _resourceForNamespace.remove(resource.getNamespace());
-
-                    // Finally, any or all URIs
-                    String[] urls = resource.getSchemaLocationArray();
-                    for (int j = 0; j < urls.length; j++)
-                    {
-                        if (resource == _resourceForURL.get(urls[j]))
-                            _resourceForURL.remove(urls[j]);
-                    }
-                }
-
-                downloadedSchemas.removeEntry(i);
-                i -= 1;
-            }
-        }
-    }
-
-    private SchemaResource updateResource(DownloadedSchemaEntry entry)
-    {
-        // The file
-        String filename = entry.getFilename();
-        if (filename == null)
-            return null;
-
-        SchemaResource resource = new SchemaResource(entry);
-        _resourceForCacheEntry.put(entry, resource);
-
-        if (!_resourceForFilename.containsKey(filename))
-            _resourceForFilename.put(filename, resource);
-
-        // The digest
-        String digest = resource.getSha1();
-        if (digest != null)
-        {
-            if (!_resourceForDigest.containsKey(digest))
-                _resourceForDigest.put(digest, resource);
-        }
-
-        // Next, the namespace
-        String namespace = resource.getNamespace();
-        if (namespace != null)
-        {
-            if (!_resourceForNamespace.containsKey(namespace))
-                _resourceForNamespace.put(namespace, resource);
-        }
-
-        // Finally, any or all URIs
-        String[] urls = resource.getSchemaLocationArray();
-        for (int j = 0; j < urls.length; j++)
-        {
-            if (!_resourceForURL.containsKey(urls[j]))
-                _resourceForURL.put(urls[j], resource);
-        }
-
-        return resource;
-    }
-
-    private static DigestInputStream digestInputStream(InputStream input)
-    {
-        MessageDigest sha;
-        try
-        {
-            sha = MessageDigest.getInstance("SHA");
-        }
-        catch (NoSuchAlgorithmException e)
-        {
-            throw (IllegalStateException)(new IllegalStateException().initCause(e));
-        }
-
-        DigestInputStream str = new DigestInputStream(input, sha);
-
-        return str;
-    }
-
-    private DownloadedSchemaEntry addNewEntry()
-    {
-        return _importsDoc.getDownloadedSchemas().addNewEntry();
-    }
-
-    private class SchemaResource implements SchemaImportResolver.SchemaResource
-    {
-        SchemaResource(DownloadedSchemaEntry entry)
-        {
-            _cacheEntry = entry;
-        }
-
-        DownloadedSchemaEntry _cacheEntry;
-
-        public void setFilename(String filename)
-        {
-            _cacheEntry.setFilename(filename);
-        }
-
-        public String getFilename()
-        {
-            return _cacheEntry.getFilename();
-        }
-
-        public Schema getSchema()
-        {
-            if (!fileExists(getFilename()))
-                redownloadResource(this);
-
-            try
-            {
-                return SchemaDocument.Factory.parse(inputStreamForFile(getFilename())).getSchema();
-            }
-            catch (Exception e)
-            {
-                return null; // return null if _any_ problems reading schema file
-            }
-        }
-
-        public String getSha1()
-        {
-            return _cacheEntry.getSha1();
-        }
-
-        public String getNamespace()
-        {
-            return _cacheEntry.getNamespace();
-        }
-
-        public void setNamespace(String namespace)
-        {
-            _cacheEntry.setNamespace(namespace);
-        }
-
-        public String getSchemaLocation()
-        {
-            if (_cacheEntry.sizeOfSchemaLocationArray() > 0)
-                return _cacheEntry.getSchemaLocationArray(0);
-            return null;
-        }
-
-        public String[] getSchemaLocationArray()
-        {
-            return _cacheEntry.getSchemaLocationArray();
-        }
-
-        public int hashCode()
-        {
-            return getFilename().hashCode();
-        }
-
-        public boolean equals(Object obj)
-        {
-            return this == obj || getFilename().equals(((SchemaResource)obj).getFilename());
-        }
-
-        public void addSchemaLocation(String schemaLocation)
-        {
-            _cacheEntry.addSchemaLocation(schemaLocation);
-        }
-    }
-
-    /**
-     * Called when the ImportLoader wishes to resolve the
-     * given import.  Should return a SchemaResource whose
-     * "equals" relationship reveals when a SchemaResource is
-     * duplicated and shouldn't be examined again.
-     *
-     * Returns null if the resource reference should be ignored.
-     */
-    public SchemaImportResolver.SchemaResource lookupResource(String nsURI, String schemaLocation)
-    {
-        SchemaResource result = fetchFromCache(nsURI, schemaLocation);
-        if (result != null)
-        {
-            if (_redownloadSet != null)
-            {
-                redownloadResource(result);
-            }
-            return result;
-        }
-
-        if (schemaLocation == null)
-        {
-            warning("No cached schema for namespace '" + nsURI + "', and no url specified");
-            return null;
-        }
-
-        result = copyOrIdentifyDuplicateURL(schemaLocation, nsURI);
-        if (_redownloadSet != null)
-            _redownloadSet.add(result);
-        return result;
-    }
-
-    private SchemaResource fetchFromCache(String nsURI, String schemaLocation)
-    {
-        SchemaResource result;
-
-        if (schemaLocation != null)
-        {
-            result = (SchemaResource)_resourceForURL.get(schemaLocation);
-            if (result != null)
-                return result;
-        }
-
-        if (nsURI != null)
-        {
-            result = (SchemaResource)_resourceForNamespace.get(nsURI);
-            if (result != null)
-                return result;
-        }
-
-        return null;
-    }
-
-    private String uniqueFilenameForURI(String schemaLocation) throws IOException, URISyntaxException
-    {
-        String localFilename = new URI( schemaLocation ).getRawPath();
-        int i = localFilename.lastIndexOf('/');
-        if (i >= 0)
-            localFilename = localFilename.substring(i + 1);
-        if (localFilename.endsWith(".xsd"))
-            localFilename = localFilename.substring(0, localFilename.length() - 4);
-        if (localFilename.length() == 0)
-            localFilename = "schema";
-
-        // TODO: remove other unsafe characters for filenames?
-
-        String candidateFilename = localFilename;
-        int suffix = 1;
-        while (suffix < 1000)
-        {
-            String candidate = _defaultCopyDirectory + "/" + candidateFilename + ".xsd";
-            if (!fileExists(candidate))
-                return candidate;
-            suffix += 1;
-            candidateFilename = localFilename + suffix;
-        }
-
-        throw new IOException("Problem with filename " + localFilename + ".xsd");
-    }
-
-    private void redownloadResource(SchemaResource resource)
-    {
-        if (_redownloadSet != null)
-        {
-            if (_redownloadSet.contains(resource))
-                return;
-            _redownloadSet.add(resource);
-        }
-
-        String filename = resource.getFilename();
-        String schemaLocation = resource.getSchemaLocation();
-        String digest = null;
-
-        // nothing to do?
-        if (schemaLocation == null || filename == null)
-            return;
-
-        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-
-        try
-        {
-            URL url = new URL( schemaLocation );
-            URLConnection conn = url.openConnection();
-            conn.addRequestProperty("User-Agent", "BEA XML Beans/1.0");
-            conn.addRequestProperty("Accept", "application/xml, text/xml, */*");
-            DigestInputStream input = digestInputStream(conn.getInputStream());
-            IOUtil.copyCompletely(input, buffer);
-            digest = HexBin.bytesToString(input.getMessageDigest().digest());
-        }
-        catch (Exception e)
-        {
-            warning("Could not copy remote resource " + schemaLocation + ":" + e.getMessage());
-            return;
-        }
-
-        if (digest.equals(resource.getSha1()) && fileExists(filename))
-        {
-            warning("Resource " + filename + " is unchanged from " + schemaLocation + ".");
-            return;
-        }
-
-        try
-        {
-            InputStream source = new ByteArrayInputStream(buffer.toByteArray());
-            writeInputStreamToFile(source, filename);
-        }
-        catch (IOException e)
-        {
-            warning("Could not write to file " + filename + " for " + schemaLocation + ":" + e.getMessage());
-            return;
-        }
-
-        warning("Refreshed " + filename + " from " + schemaLocation);
-    }
-
-    private SchemaResource copyOrIdentifyDuplicateURL(String schemaLocation, String namespace)
-    {
-        String targetFilename;
-        String digest;
-        SchemaResource result;
-
-        try
-        {
-            targetFilename = uniqueFilenameForURI(schemaLocation);
-        }
-        catch (URISyntaxException e)
-        {
-            warning("Invalid URI '" + schemaLocation + "':" + e.getMessage());
-            return null;
-        }
-        catch (IOException e)
-        {
-            warning("Could not create local file for " + schemaLocation + ":" + e.getMessage());
-            return null;
-        }
-
-        try
-        {
-            URL url = new URL( schemaLocation );
-            DigestInputStream input = digestInputStream(url.openStream());
-            writeInputStreamToFile(input, targetFilename);
-            digest = HexBin.bytesToString(input.getMessageDigest().digest());
-        }
-        catch (Exception e)
-        {
-            warning("Could not copy remote resource " + schemaLocation + ":" + e.getMessage());
-            return null;
-        }
-
-        result = (SchemaResource)_resourceForDigest.get(digest);
-        if (result != null)
-        {
-            deleteFile(targetFilename);
-            result.addSchemaLocation(schemaLocation);
-            if (!_resourceForURL.containsKey(schemaLocation))
-                _resourceForURL.put(schemaLocation, result);
-            return result;
-        }
-
-        warning("Downloaded " + schemaLocation + " to " + targetFilename);
-
-        DownloadedSchemaEntry newEntry = addNewEntry();
-        newEntry.setFilename(targetFilename);
-        newEntry.setSha1(digest);
-        if (namespace != null)
-            newEntry.setNamespace(namespace);
-        newEntry.addSchemaLocation(schemaLocation);
-        return updateResource(newEntry);
-    }
-
-    /**
-     * Updates actual namespace in the table.
-     */
-    public void reportActualNamespace(SchemaImportResolver.SchemaResource rresource, String actualNamespace)
-    {
-        SchemaResource resource = (SchemaResource)rresource;
-        String oldNamespace = resource.getNamespace();
-        if (oldNamespace != null && _resourceForNamespace.get(oldNamespace) == resource)
-            _resourceForNamespace.remove(oldNamespace);
-        if (!_resourceForNamespace.containsKey(actualNamespace))
-            _resourceForNamespace.put(actualNamespace, resource);
-        resource.setNamespace(actualNamespace);
-    }
-
-    private String shaDigestForFile(String filename) throws IOException
-    {
-        DigestInputStream str = digestInputStream(inputStreamForFile(filename));
-
-        byte[] dummy = new byte[4096];
-        for (int i = 1; i > 0; i = str.read(dummy));
-
-        str.close();
-
-        return HexBin.bytesToString(str.getMessageDigest().digest());
-    }
-
-    // SOME METHODS TO OVERRIDE ============================
-
-    protected String getIndexFilename()
-    {
-        return "./xsdownload.xml";
-    }
-
-    protected String getDefaultSchemaDir()
-    {
-        return "./schema";
-    }
-
-    /**
-     * Produces diagnostic messages such as "downloading X to file Y".
-     */
-    abstract protected void warning(String msg);
-
-    /**
-     * Returns true if the given filename exists.  The filenames
-     * are of the form "/foo/bar/zee.xsd" and should be construed
-     * as rooted at the root of the project.
-     */
-    abstract protected boolean fileExists(String filename);
-
-    /**
-     * Gets the data in the given filename as an InputStream.
-     */
-    abstract protected InputStream inputStreamForFile(String filename) throws IOException;
-
-    /**
-     * Writes an entire file in one step.  An InputStream is passed and
-     * copied to the file.
-     */
-    abstract protected void writeInputStreamToFile(InputStream input, String filename) throws IOException;
-
-    /**
-     * Deletes a file.  Sometimes immediately after writing a new file
-     * we notice that it's exactly the same as an existing file and
-     * we delete it. We never delete a file that was given to us
-     * by the user.
-     */
-    abstract protected void deleteFile(String filename);
-
-    /**
-     * Returns a list of all the XSD filesnames in the project.
-     */
-    abstract protected String[] getAllXSDFilenames();
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/CodeGenUtil.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/CodeGenUtil.java
deleted file mode 100644
index 0ac7370..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/CodeGenUtil.java
+++ /dev/null
@@ -1,445 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Iterator;
-import java.util.Arrays;
-import java.io.File;
-import java.io.InputStream;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.FileFilter;
-import java.io.FileWriter;
-import java.net.URI;
-import java.net.URISyntaxException;
-
-public class CodeGenUtil
-{
-    public static String DEFAULT_MEM_START = "8m";
-    public static String DEFAULT_MEM_MAX = "256m";
-    public static String DEFAULT_COMPILER = "javac";
-    public static String DEFAULT_JAR = "jar";
-
-    //workaround for Sun bug # 4723726
-    public static URI resolve(URI base, URI child)
-    {
-        URI ruri = base.resolve(child);
-        
-        //fix up normalization bug
-        if ("file".equals(ruri.getScheme()) && ! child.equals(ruri))
-        {
-            if (base.getPath().startsWith("//") && !ruri.getPath().startsWith("//"))
-            {
-                String path = "///".concat(ruri.getPath());
-                try
-                {
-                    ruri = new URI("file", null, path, ruri.getQuery(), ruri.getFragment());
-                }
-                catch(URISyntaxException uris)
-                {}
-            }
-        }
-        return ruri;
-    }
-    
-    static void addAllJavaFiles(List srcFiles, List args)
-    {
-        for (Iterator i = srcFiles.iterator(); i.hasNext(); )
-        {
-            File f = (File)i.next();
-            if (!f.isDirectory())
-            {
-                args.add(quoteAndEscapeFilename(f.getAbsolutePath()));
-            }
-            else
-            {
-                List inside = (Arrays.asList(f.listFiles(
-                    new FileFilter()
-                    {
-                        public boolean accept(File file)
-                            { return (file.isFile() && file.getName().endsWith(".java")) || file.isDirectory(); }
-                    }
-                )));
-                addAllJavaFiles(inside, args);
-            }
-        }
-    }
-
-    static private String quoteAndEscapeFilename(String filename)
-    {
-        // don't quote if there's no space
-        if (filename.indexOf(" ") < 0)
-            return filename;
-
-        // bizarre.  javac expects backslash escaping if we quote the classpath
-        // bizarre also.  replaceAll expects replacement backslashes to be double escaped.
-        return "\"" + filename.replaceAll("\\\\", "\\\\\\\\") + "\"";
-    }
-
-    static private String quoteNoEscapeFilename(String filename)
-    {
-        // don't quote if there's no space, and don't quote on linux
-        if (filename.indexOf(" ") < 0 || File.separatorChar == '/')
-            return filename;
-
-        return "\"" + filename + "\"";
-    }
-
-    /**
-     * Invokes javac on the generated source files in order to turn them
-     * into binary files in the output directory.  This will return a list of
-     * <code>GenFile</code>s for all of the classes produced or null if an
-     * error occurred.
-     *
-     * @deprecated
-     */
-    static public boolean externalCompile(List srcFiles, File outdir, File[] cp, boolean debug)
-    {
-        return externalCompile(srcFiles, outdir, cp, debug, DEFAULT_COMPILER, DEFAULT_MEM_START, DEFAULT_MEM_MAX, false, false);
-    }
-
-    /**
-     * Invokes javac on the generated source files in order to turn them
-     * into binary files in the output directory.  This will return a list of
-     * <code>GenFile</code>s for all of the classes produced or null if an
-     * error occurred.
-     */
-    static public boolean externalCompile(List srcFiles, File outdir, File[] cp, boolean debug, String javacPath, String memStart, String memMax,  boolean quiet, boolean verbose)
-    {
-        List args = new ArrayList();
-
-        File javac = findJavaTool(javacPath == null ? DEFAULT_COMPILER : javacPath);
-        assert (javac.exists()) : "compiler not found " + javac;
-        args.add(javac.getAbsolutePath());
-
-        if (outdir == null)
-        {
-            outdir = new File(".");
-        }
-        else
-        {
-            args.add("-d");
-            args.add(quoteAndEscapeFilename(outdir.getAbsolutePath()));
-        }
-
-        if (cp == null)
-        {
-            cp = systemClasspath();
-        }
-
-        if (cp.length > 0)
-        {
-            StringBuffer classPath = new StringBuffer();
-            // Add the output directory to the classpath.  We do this so that
-            // javac will be able to find classes that were compiled
-            // previously but are not in the list of sources this time.
-            classPath.append(outdir.getAbsolutePath());
-
-            // Add everything on our classpath.
-            for (int i = 0; i < cp.length; i++)
-            {
-                classPath.append(File.pathSeparator);
-                classPath.append(cp[i].getAbsolutePath());
-            }
-
-            args.add("-classpath");
-
-            // bizarre.  javac expects backslash escaping if we quote the classpath
-            args.add(quoteAndEscapeFilename(classPath.toString()));
-        }
-
-        args.add("-source");
-        args.add("1.4");
-
-        args.add(debug ? "-g" : "-g:none");
-
-        if (verbose)
-            args.add("-verbose");
-
-        addAllJavaFiles(srcFiles, args);
-
-        File clFile = null;
-        try
-        {
-            clFile = File.createTempFile("javac", "");
-            FileWriter fw = new FileWriter(clFile);
-            Iterator i = args.iterator();
-            for (i.next(); i.hasNext();)
-            {
-                String arg = (String)i.next();
-                fw.write(arg);
-                fw.write('\n');
-            }
-            fw.close();
-            List newargs = new ArrayList();
-            newargs.add(args.get(0));
-            
-            if (memStart != null && memStart.length() != 0)
-                newargs.add("-J-Xms" + memStart);
-            if (memMax != null && memMax.length() != 0)
-                newargs.add("-J-Xmx" + memMax);
-            
-            newargs.add("@" + clFile.getAbsolutePath());
-            args = newargs;
-        }
-        catch (Exception e)
-        {
-            System.err.println("Could not create command-line file for javac");
-        }
-
-        try
-        {
-            String[] strArgs = (String[]) args.toArray(new String[args.size()]);
-
-            if (verbose)
-            {
-                System.out.print("compile command:");
-                for (int i = 0; i < strArgs.length; i++)
-                    System.out.print(" " + strArgs[i]);
-                System.out.println();
-            }
-
-            final Process proc = Runtime.getRuntime().exec(strArgs);
-
-            StringBuffer errorBuffer = new StringBuffer();
-            StringBuffer outputBuffer = new StringBuffer();
-
-            ThreadedReader out = new ThreadedReader(proc.getInputStream(), outputBuffer);
-            ThreadedReader err = new ThreadedReader(proc.getErrorStream(), errorBuffer);
-
-            proc.waitFor();
-
-            if (verbose || proc.exitValue() != 0)
-            {
-                if (outputBuffer.length() > 0) {
-                    System.out.println(outputBuffer.toString());
-                    System.out.flush();
-                }
-                if (errorBuffer.length() > 0) {
-                    System.err.println(errorBuffer.toString());
-                    System.err.flush();
-                }
-                
-                if (proc.exitValue() != 0)
-                    return false;
-            }
-        }
-        catch (Throwable e)
-        {
-            System.err.println(e.toString());
-            System.err.println(e.getCause());
-            e.printStackTrace(System.err);
-            return false;
-        }
-
-        if (clFile != null)
-            clFile.delete();
-
-        return true;
-    }
-
-    public static File[] systemClasspath()
-    {
-        List cp = new ArrayList();
-        String[] systemcp = System.getProperty("java.class.path").split(File.pathSeparator);
-        for (int i = 0; i < systemcp.length; i++)
-        {
-            cp.add(new File(systemcp[i]));
-        }
-        return (File[])cp.toArray(new File[cp.size()]);
-    }
-
-    static public boolean externalJar(File srcdir, File outfile)
-    {
-        return externalJar(srcdir, outfile, DEFAULT_JAR, false, false);
-    }
-
-    static public boolean externalJar(File srcdir, File outfile, String jarPath, boolean quiet, boolean verbose)
-    {
-        List args = new ArrayList();
-
-        File jar = findJavaTool(jarPath == null ? DEFAULT_JAR : jarPath);
-        assert (jar.exists()) : "jar not found " + jar;
-        args.add(jar.getAbsolutePath());
-
-        args.add("cf" + (verbose ? "v" : ""));
-        args.add(quoteNoEscapeFilename(outfile.getAbsolutePath()));
-
-        args.add("-C");
-        args.add(quoteNoEscapeFilename(srcdir.getAbsolutePath()));
-
-        args.add(".");
-
-        try
-        {
-            String[] strArgs = (String[]) args.toArray(new String[args.size()]);
-
-            if (verbose)
-            {
-                System.out.print("jar command:");
-                for (int i = 0; i < strArgs.length; i++)
-                    System.out.print(" " + strArgs[i]);
-                System.out.println();
-            }
-
-            final Process proc = Runtime.getRuntime().exec(strArgs);
-
-            StringBuffer errorBuffer = new StringBuffer();
-            StringBuffer outputBuffer = new StringBuffer();
-
-            ThreadedReader out = new ThreadedReader(proc.getInputStream(), outputBuffer);
-            ThreadedReader err = new ThreadedReader(proc.getErrorStream(), errorBuffer);
-
-            proc.waitFor();
-
-            if (verbose || proc.exitValue() != 0)
-            {
-                if (outputBuffer.length() > 0) {
-                    System.out.println(outputBuffer.toString());
-                    System.out.flush();
-                }
-                if (errorBuffer.length() > 0) {
-                    System.err.println(errorBuffer.toString());
-                    System.err.flush();
-                }
-
-                if (proc.exitValue() != 0)
-                    return false;
-            }
-        }
-        catch (Throwable e)
-        {
-            e.printStackTrace(System.err);
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     * Look for tool in current directory and ${JAVA_HOME}/../bin and
-     * try with .exe file extension.
-     */ 
-    private static File findJavaTool(String tool)
-    {
-        File toolFile = new File(tool);
-        if (toolFile.isFile()) {
-            return toolFile;
-        }
-
-        File result = new File(tool + ".exe");
-        if (result.isFile()) {
-            return result;
-        }
-        
-        String home = System.getProperty("java.home");
-
-        String sep  = File.separator;
-        result = new File(home + sep + ".." + sep + "bin", tool);
-        
-        if (result.isFile()) {
-            return result;
-        }
-        
-        result = new File(result.getPath() + ".exe");
-        if (result.isFile()) {
-            return result;
-        }
-
-        result = new File(home + sep + "bin", tool);
-        if (result.isFile()) {
-            return result;
-        }
-
-        result = new File(result.getPath() + ".exe");
-        if (result.isFile()) {
-            return result;
-        }
-
-        // just return the original toolFile and hope that it is on the PATH.
-        return toolFile;
-    }
-
-    /**
-     * Reads the given input stream into the given buffer until there is
-     * nothing left to read.
-     */
-    static private class ThreadedReader
-    {
-        public ThreadedReader(InputStream stream, final StringBuffer output)
-        {
-            final BufferedReader reader =
-                new BufferedReader(new InputStreamReader(stream));
-
-            Thread readerThread = new Thread(new Runnable() {
-                public void run()
-                {
-                    String s;
-                    try
-                    {
-                        while ((s = reader.readLine()) != null)
-                            output.append(s + "\n");
-                    }
-                    catch (Exception e)
-                    {}
-                }
-            });
-            readerThread.start();
-        }
-    }
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/CommandLine.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/CommandLine.java
deleted file mode 100644
index de2ae37..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/CommandLine.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.apache.xmlbeans.impl.common.IOUtil;
-
-import java.util.Map;
-import java.util.LinkedHashMap;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.Collection;
-import java.io.File;
-import java.io.FileFilter;
-import java.net.URI;
-
-public class CommandLine
-{
-    public CommandLine(String[] args, Collection scheme)
-    {
-        _options = new LinkedHashMap();
-        ArrayList endargs = new ArrayList();
-
-        for (int i = 0; i < args.length; i++)
-        {
-            if (args[i].indexOf('-') == 0)
-            {
-                String opt = args[i].substring(1);
-                String val = null;
-                if (scheme != null && scheme.contains(opt) && i < args.length)
-                    val = args[++i];
-                else
-                    val = "";
-
-                _options.put(opt, val);
-            }
-            else
-            {
-                endargs.add(args[i]);
-            }
-        }
-
-        _args = (String[])endargs.toArray(new String[endargs.size()]);
-    }
-    
-    public static void printLicense()
-    {
-        try
-        {
-            IOUtil.copyCompletely(CommandLine.class.getClassLoader().getResourceAsStream("license.txt"), System.out);
-        }
-        catch (Exception e)
-        {
-            System.out.println("License available in this JAR in license.txt");
-        }
-    }
-
-    private Map _options;
-    private String[] _args;
-
-    public String[] args()
-    {
-        String[] result = new String[_args.length];
-        System.arraycopy(_args, 0, result, 0, _args.length);
-        return result;
-    }
-
-    public String getOpt(String opt)
-    {
-        return (String)_options.get(opt);
-    }
-
-    private static List collectFiles(File[] dirs)
-    {
-        List files = new ArrayList();
-        for (int i = 0; i < dirs.length; i++)
-        {
-            File f = dirs[i];
-            if (!f.isDirectory())
-            {
-                files.add(f);
-            }
-            else
-            {
-                files.addAll(collectFiles(f.listFiles()));
-            }
-        }
-        return files;
-    }
-
-    private List _files;
-    private File _baseDir;
-    private static final File[] EMPTY_FILEARRAY = new File[0];
-
-    private List getFileList()
-    {
-        if (_files == null)
-        {
-            String[] args = args();
-            File[] files = new File[args.length];
-            boolean noBaseDir = false;
-            for (int i = 0; i < args.length; i++)
-            {
-                files[i] = new File(args[i]);
-                if (!noBaseDir && (_baseDir == null)) 
-                {
-                    if (files[i].isDirectory())
-                        _baseDir = files[i];
-                    else
-                        _baseDir = files[i].getParentFile();
-                }
-                else
-                {
-                    URI currUri = files[i].toURI();
-                    
-                    // Give up on the basedir. There may be none
-                    if (_baseDir != null && _baseDir.toURI().relativize(currUri).equals(currUri))
-                    {
-                        _baseDir = null;
-                        noBaseDir = true;
-                    }
-                }
-            }
-            _files = Collections.unmodifiableList(collectFiles(files));
-        }
-        return _files;
-    }
-
-    public File[] getFiles()
-    {
-        return (File[])getFileList().toArray(EMPTY_FILEARRAY);
-    }
-
-    public File getBaseDir()
-    {
-        return _baseDir;
-    }
-
-    public File[] filesEndingWith(String ext)
-    {
-        List result = new ArrayList();
-        for (Iterator i = getFileList().iterator(); i.hasNext(); )
-        {
-            File f = (File)i.next();
-            if (f.getName().endsWith(ext))
-                result.add(f);
-        }
-        return (File[])result.toArray(EMPTY_FILEARRAY);
-    }
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/Extension.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/Extension.java
deleted file mode 100644
index aa5fc19..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/Extension.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import java.util.List;
-import java.util.ArrayList;
-
-
- /**
-  * An extension is a javabean that represents a SchemaCompilerExtension to be passed for callback into the
-  *  XmlBeans Schema Compiler.
-  */
-public class Extension {
-        private Class className;
-        private List params = new ArrayList();
-
-        public Class getClassName() {
-            return className;
-        }
-
-        public void setClassName(Class className) {
-            this.className = className;
-        }
-        public List getParams() {
-            return params;
-        }
-
-        public Param createParam() {
-            Param p = new Param();
-            params.add(p);
-            return p;
-        }
-
-        /**
-         * A Param is just a name value pair applicable to the extension.
-         */
-        public class Param {
-            private String name;
-            private String value;
-
-            public String getName() {
-                return name;
-            }
-
-            public void setName(String name) {
-                this.name = name;
-            }
-
-            public String getValue() {
-                return value;
-            }
-
-            public void setValue(String value) {
-                this.value = value;
-            }
-        }
-    }
\ No newline at end of file
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/FactorImports.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/FactorImports.java
deleted file mode 100644
index c4020ee..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/FactorImports.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.w3.x2001.xmlSchema.SchemaDocument;
-import org.w3.x2001.xmlSchema.TopLevelComplexType;
-import org.w3.x2001.xmlSchema.TopLevelSimpleType;
-import org.w3.x2001.xmlSchema.TopLevelElement;
-import org.w3.x2001.xmlSchema.TopLevelAttribute;
-import org.w3.x2001.xmlSchema.NamedGroup;
-import org.w3.x2001.xmlSchema.NamedAttributeGroup;
-import org.w3.x2001.xmlSchema.FormChoice;
-import org.w3.x2001.xmlSchema.IncludeDocument;
-
-import java.util.Arrays;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.HashMap;
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlOptions;
-
-import javax.xml.namespace.QName;
-
-/**
- * This program takes a collection of .xsd files as input, finds all duplicate
- * name definitions, and factors out the first instance of each of those into
- * a common.xsd file, adding an appropriate <import> statement in the original
- * xsd file.
- */ 
-public class FactorImports
-{
-    public static void main(String[] args) throws Exception
-    {
-        CommandLine cl = new CommandLine(args, Arrays.asList(new String[] {"import", "out"}));
-        if (cl.getOpt("license") != null)
-        {
-            CommandLine.printLicense();
-            System.exit(0);
-            return;
-        }
-
-        args = cl.args();
-        if (args.length != 1)
-        {
-            System.out.println("Refactors a directory of .xsd files to remove name conflicts");
-            System.out.println("Usage:");
-            System.out.println("sfactor [-import common.xsd] [-out outputdir] inputdir");
-            System.out.println(" where inputdir is a directory containing .xsd files");
-            System.out.println(" and outputdir is a directory into which new xsd files,");
-            System.out.println(" plus a commonly imported common.xsd, is placed.");
-            System.out.println(" -license prints license information");
-            System.exit(0);
-            return;
-        }
-        
-        String commonName = cl.getOpt("import");
-        if (commonName == null)
-            commonName = "common.xsd";
-        
-        String out = cl.getOpt("out");
-        if (out == null)
-        {
-            System.out.println("Using output directory 'out'");
-            out = "out";
-        }
-        File outdir = new File(out);
-        File basedir = new File(args[0]);
-        
-        // first, parse all the schema files
-        File[] files = cl.getFiles();
-        Map schemaDocs = new HashMap();
-        Set elementNames = new HashSet();
-        Set attributeNames = new HashSet();
-        Set typeNames = new HashSet();
-        Set modelGroupNames = new HashSet();
-        Set attrGroupNames = new HashSet();
-        
-        Set dupeElementNames = new HashSet();
-        Set dupeAttributeNames = new HashSet();
-        Set dupeTypeNames = new HashSet();
-        Set dupeModelGroupNames = new HashSet();
-        Set dupeAttrGroupNames = new HashSet();
-        Set dupeNamespaces = new HashSet();
-        
-        for (int i = 0; i < files.length; i++)
-        {
-            try
-            {
-                // load schema
-                SchemaDocument doc = SchemaDocument.Factory.parse(files[i]);
-                schemaDocs.put(doc, files[i]);
-                
-                // warn about for imports, includes
-                if (doc.getSchema().sizeOfImportArray() > 0 || doc.getSchema().sizeOfIncludeArray() > 0)
-                    System.out.println("warning: " + files[i] + " contains imports or includes that are being ignored.");
-                
-                // collect together names
-                String targetNamespace = doc.getSchema().getTargetNamespace();
-                if (targetNamespace == null)
-                    targetNamespace = "";
-                
-                TopLevelComplexType ct[] = doc.getSchema().getComplexTypeArray();
-                for (int j = 0; j < ct.length; j++)
-                    noteName(ct[j].getName(), targetNamespace, typeNames, dupeTypeNames, dupeNamespaces);
-
-                TopLevelSimpleType st[] = doc.getSchema().getSimpleTypeArray();
-                for (int j = 0; j < st.length; j++)
-                    noteName(st[j].getName(), targetNamespace, typeNames, dupeTypeNames, dupeNamespaces);
-
-                TopLevelElement el[] = doc.getSchema().getElementArray();
-                for (int j = 0; j < el.length; j++)
-                    noteName(el[j].getName(), targetNamespace, elementNames, dupeElementNames, dupeNamespaces);
-
-                TopLevelAttribute at[] = doc.getSchema().getAttributeArray();
-                for (int j = 0; j < at.length; j++)
-                    noteName(at[j].getName(), targetNamespace, attributeNames, dupeAttributeNames, dupeNamespaces);
-                
-                NamedGroup gr[] = doc.getSchema().getGroupArray();
-                for (int j = 0; j < gr.length; j++)
-                    noteName(gr[j].getName(), targetNamespace, modelGroupNames, dupeModelGroupNames, dupeNamespaces);
-                
-                NamedAttributeGroup ag[] = doc.getSchema().getAttributeGroupArray();
-                for (int j = 0; j < ag.length; j++)
-                    noteName(ag[j].getName(), targetNamespace, attrGroupNames, dupeAttrGroupNames, dupeNamespaces);
-                
-            }
-            catch (XmlException e)
-            {
-                System.out.println("warning: " + files[i] + " is not a schema file - " + e.getError().toString());
-            }
-            catch (IOException e)
-            {
-                System.err.println("Unable to load " + files[i] + " - " + e.getMessage());
-                System.exit(1);
-                return;
-            }
-        }
-        
-        if (schemaDocs.size() == 0)
-        {
-            System.out.println("No schema files found.");
-            System.exit(0);
-            return;
-        }
-        
-        if (dupeTypeNames.size() + dupeElementNames.size() + dupeAttributeNames.size() +
-                dupeModelGroupNames.size() + dupeAttrGroupNames.size() == 0)
-        {
-            System.out.println("No duplicate names found.");
-            System.exit(0);
-            return;
-        }
-        
-        // create a schema doc for each namespace to be imported
-        Map commonDocs = new HashMap();
-        Map commonFiles = new HashMap();
-        int count = dupeNamespaces.size() == 1 ? 0 : 1;
-        for (Iterator i = dupeNamespaces.iterator(); i.hasNext(); )
-        {
-            String namespace = (String)i.next();
-            SchemaDocument commonDoc = SchemaDocument.Factory.parse(
-                    "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'/>"
-            );
-            if (namespace.length() > 0)
-                commonDoc.getSchema().setTargetNamespace(namespace);
-            commonDoc.getSchema().setElementFormDefault(FormChoice.QUALIFIED);
-            commonDocs.put(namespace, commonDoc);
-            commonFiles.put(commonDoc, commonFileFor(commonName, namespace, count++, outdir));
-        }
-        
-        // pull out all the duplicate definitions and drop them into the file
-        // we reuse the elementNames (etc) sets to keep track of which definitions
-        // we have already inserted.
-        for (Iterator i = schemaDocs.keySet().iterator(); i.hasNext(); )
-        {
-            SchemaDocument doc = (SchemaDocument)i.next();
-            
-            // collect together names
-            String targetNamespace = doc.getSchema().getTargetNamespace();
-            if (targetNamespace == null)
-                targetNamespace = "";
-            
-            SchemaDocument commonDoc = (SchemaDocument)commonDocs.get(targetNamespace);
-            
-            boolean needImport = false;
-                
-            TopLevelComplexType ct[] = doc.getSchema().getComplexTypeArray();
-            for (int j = ct.length - 1; j >= 0; j--)
-            {
-                if (!isDuplicate(ct[j].getName(), targetNamespace, dupeTypeNames))
-                    continue;
-                if (isFirstDuplicate(ct[j].getName(), targetNamespace, typeNames, dupeTypeNames))
-                    commonDoc.getSchema().addNewComplexType().set(ct[j]);
-                needImport = true;
-                doc.getSchema().removeComplexType(j);
-            }
-
-            TopLevelSimpleType st[] = doc.getSchema().getSimpleTypeArray();
-            for (int j = 0; j < st.length; j++)
-            {
-                if (!isDuplicate(st[j].getName(), targetNamespace, dupeTypeNames))
-                    continue;
-                if (isFirstDuplicate(st[j].getName(), targetNamespace, typeNames, dupeTypeNames))
-                    commonDoc.getSchema().addNewSimpleType().set(st[j]);
-                needImport = true;
-                doc.getSchema().removeSimpleType(j);
-            }
-
-            TopLevelElement el[] = doc.getSchema().getElementArray();
-            for (int j = 0; j < el.length; j++)
-            {
-                if (!isDuplicate(el[j].getName(), targetNamespace, dupeElementNames))
-                    continue;
-                if (isFirstDuplicate(el[j].getName(), targetNamespace, elementNames, dupeElementNames))
-                    commonDoc.getSchema().addNewElement().set(el[j]);
-                needImport = true;
-                doc.getSchema().removeElement(j);
-            }
-
-            TopLevelAttribute at[] = doc.getSchema().getAttributeArray();
-            for (int j = 0; j < at.length; j++)
-            {
-                if (!isDuplicate(at[j].getName(), targetNamespace, dupeAttributeNames))
-                    continue;
-                if (isFirstDuplicate(at[j].getName(), targetNamespace, attributeNames, dupeAttributeNames))
-                    commonDoc.getSchema().addNewElement().set(at[j]);
-                needImport = true;
-                doc.getSchema().removeElement(j);
-            }
-
-            NamedGroup gr[] = doc.getSchema().getGroupArray();
-            for (int j = 0; j < gr.length; j++)
-            {
-                if (!isDuplicate(gr[j].getName(), targetNamespace, dupeModelGroupNames))
-                    continue;
-                if (isFirstDuplicate(gr[j].getName(), targetNamespace, modelGroupNames, dupeModelGroupNames))
-                    commonDoc.getSchema().addNewElement().set(gr[j]);
-                needImport = true;
-                doc.getSchema().removeElement(j);
-            }
-                
-            NamedAttributeGroup ag[] = doc.getSchema().getAttributeGroupArray();
-            for (int j = 0; j < ag.length; j++)
-            {
-                if (!isDuplicate(ag[j].getName(), targetNamespace, dupeAttrGroupNames))
-                    continue;
-                if (isFirstDuplicate(ag[j].getName(), targetNamespace, attrGroupNames, dupeAttrGroupNames))
-                    commonDoc.getSchema().addNewElement().set(ag[j]);
-                needImport = true;
-                doc.getSchema().removeElement(j);
-            }
-            
-            if (needImport)
-            {
-                IncludeDocument.Include newInclude = doc.getSchema().addNewInclude();
-                File inputFile = (File)schemaDocs.get(doc);
-                File outputFile = outputFileFor(inputFile, basedir, outdir);
-                File commonFile = (File)commonFiles.get(commonDoc);
-                if (targetNamespace != null)
-                    newInclude.setSchemaLocation(relativeURIFor(outputFile, commonFile));
-            }
-        }
-        
-        // make the directory for output
-        if (!outdir.isDirectory() && !outdir.mkdirs())
-        {
-            System.err.println("Unable to makedir " + outdir);
-            System.exit(1);
-            return;
-        }
-        
-        // now write all those docs back out.
-        for (Iterator i = schemaDocs.keySet().iterator(); i.hasNext(); )
-        {
-            SchemaDocument doc = (SchemaDocument)i.next();
-            File inputFile = (File)schemaDocs.get(doc);
-            File outputFile = outputFileFor(inputFile, basedir, outdir);
-            if (outputFile == null)
-                System.out.println("Cannot copy " + inputFile);
-            else
-                doc.save(outputFile, new XmlOptions().setSavePrettyPrint().setSaveAggresiveNamespaces());
-        }
-        
-        for (Iterator i = commonFiles.keySet().iterator(); i.hasNext(); )
-        {
-            SchemaDocument doc = (SchemaDocument)i.next();
-            File outputFile = (File)commonFiles.get(doc);
-            doc.save(outputFile, new XmlOptions().setSavePrettyPrint().setSaveAggresiveNamespaces());
-        }
-        
-    }
-    
-    private static File outputFileFor(File file, File baseDir, File outdir)
-    {
-        URI base = baseDir.getAbsoluteFile().toURI();
-        URI abs = file.getAbsoluteFile().toURI();
-        URI rel = base.relativize(abs);
-        if (rel.isAbsolute())
-        {
-            System.out.println("Cannot relativize " + file);
-            return null;
-        }
-        
-        URI outbase = outdir.toURI();
-        URI out = CodeGenUtil.resolve(outbase, rel);
-        return new File(out);
-    }
-    
-    private static URI commonAncestor(URI first, URI second)
-    {
-        String firstStr = first.toString();
-        String secondStr = second.toString();
-        int len = firstStr.length();
-        if (secondStr.length() < len)
-            len = secondStr.length();
-        int i;
-        for (i = 0; i < len; i++)
-        {
-            if (firstStr.charAt(i) != secondStr.charAt(i))
-                break;
-        }
-        i -= 1;
-        if (i >= 0)
-            i = firstStr.lastIndexOf('/', i);
-        if (i < 0)
-            return null;
-        try
-        {
-            return new URI(firstStr.substring(0, i));
-        }
-        catch (URISyntaxException e)
-        {
-            return null;
-        }
-    }
-    
-    
-    private static String relativeURIFor(File source, File target)
-    {
-        URI base = source.getAbsoluteFile().toURI();
-        URI abs = target.getAbsoluteFile().toURI();
-        // find common substring...
-        URI commonBase = commonAncestor(base, abs);
-        if (commonBase == null)
-            return abs.toString();
-        
-        URI baserel = commonBase.relativize(base);
-        URI targetrel = commonBase.relativize(abs);
-        if (baserel.isAbsolute() || targetrel.isAbsolute())
-            return abs.toString();
-        String prefix = "";
-        String sourceRel = baserel.toString();
-        for (int i = 0; i < sourceRel.length();)
-        {
-            i = sourceRel.indexOf('/', i);
-            if (i < 0)
-                break;
-            prefix += "../";
-            i += 1;
-        }
-        return prefix + targetrel.toString();
-    }
-    
-    private static File commonFileFor(String commonName, String namespace, int i, File outdir)
-    {
-        String name = commonName;
-        if (i > 0)
-        {
-            int index = commonName.lastIndexOf('.');
-            if (index < 0)
-                index = commonName.length();
-            name = commonName.substring(0, index) + i + commonName.substring(index);
-        }
-        return new File(outdir, name);
-    }
-    
-    
-    private static void noteName(String name, String targetNamespace, Set seen, Set dupes, Set dupeNamespaces)
-    {
-        if (name == null)
-            return;
-        QName qName = new QName(targetNamespace, name);
-        if (seen.contains(qName))
-        {
-            dupes.add(qName);
-            dupeNamespaces.add(targetNamespace);
-        }
-        else
-            seen.add(qName);
-        
-    }
-        
-    private static boolean isFirstDuplicate(String name, String targetNamespace, Set notseen, Set dupes)
-    {
-        if (name == null)
-            return false;
-        QName qName = new QName(targetNamespace, name);
-        if (dupes.contains(qName) && notseen.contains(qName))
-        {
-            notseen.remove(qName);
-            return true;
-        }
-        return false;
-    }
-    
-    private static boolean isDuplicate(String name, String targetNamespace, Set dupes)
-    {
-        if (name == null)
-            return false;
-        QName qName = new QName(targetNamespace, name);
-        return (dupes.contains(qName));
-    }
-        
-    
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/InstanceValidator.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/InstanceValidator.java
deleted file mode 100644
index cffb4d0..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/InstanceValidator.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlException;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.io.File;
-
-public class InstanceValidator
-{
-    public static void main(String[] args)
-    {
-        CommandLine cl = new CommandLine(args, Collections.EMPTY_SET);
-        if (cl.getOpt("license") != null)
-        {
-            CommandLine.printLicense();
-            System.exit(0);
-            return;
-        }
-        if (cl.args().length == 0)
-        {
-            System.out.println("Validates a schema defintion and instances within the schema.");
-            System.out.println("Usage: validate [switches] schema.xsd instance.xml");
-            System.out.println("Switches:");
-            System.out.println("    -dl    enable network downloads for imports and includes");
-            System.out.println("    -nopvr disable particle valid (restriction) rule");
-            System.out.println("    -noupa diable unique particle attributeion rule");
-            System.out.println("    -license prints license information");
-            return;
-        }
-        
-        boolean dl = (cl.getOpt("dl") != null);
-        boolean nopvr = (cl.getOpt("nopvr") != null);
-        boolean noupa = (cl.getOpt("noupa") != null);
-        
-        File[] schemaFiles = cl.filesEndingWith(".xsd");
-        File[] instanceFiles = cl.filesEndingWith(".xml");
-        
-        List sdocs = new ArrayList();
-        
-        
-        for (int i = 0; i < schemaFiles.length; i++)
-        {
-            try
-            {
-                sdocs.add(
-                    XmlObject.Factory.parse(
-                        schemaFiles[i], (new XmlOptions()).setLoadLineNumbers().setLoadMessageDigest()));
-            }
-            catch (Exception e)
-            {
-                System.err.println( schemaFiles[i] + " not loadable: " + e );
-            }
-        }
-
-        XmlObject[] schemas = (XmlObject[])sdocs.toArray(new XmlObject[0]);
-
-        SchemaTypeLoader sLoader;
-        Collection compErrors = new ArrayList();
-        XmlOptions schemaOptions = new XmlOptions();
-        schemaOptions.setErrorListener(compErrors);
-        if (dl)
-            schemaOptions.setCompileDownloadUrls();
-        if (nopvr)
-            schemaOptions.setCompileNoPvrRule();
-        if (noupa)
-            schemaOptions.setCompileNoUpaRule();
-        
-        try
-        {
-            sLoader = XmlBeans.loadXsd(schemas, schemaOptions);
-        }
-        catch (Exception e)
-        {
-            if (compErrors.isEmpty() || !(e instanceof XmlException))
-            {
-                e.printStackTrace(System.err);
-            }
-            System.out.println("Schema invalid");
-            for (Iterator i = compErrors.iterator(); i.hasNext(); )
-                System.out.println(i.next());
-            return;
-        }
-        
-        for (int i = 0; i < instanceFiles.length; i++)
-        {
-            XmlObject xobj;
-            
-            try
-            {
-                xobj =
-                    sLoader.parse( instanceFiles[i], null, (new XmlOptions()).setLoadLineNumbers() );
-            }
-            catch (Exception e)
-            {
-                System.err.println(instanceFiles[i] + " not loadable: " + e);
-                e.printStackTrace(System.err);
-                continue;
-            }
-
-            Collection errors = new ArrayList();
-
-            if (xobj.schemaType() == XmlObject.type)
-            {
-                System.out.println(instanceFiles[i] + " NOT valid.  ");
-                System.out.println("  Document type not found." );
-            }
-            else if (xobj.validate(new XmlOptions().setErrorListener(errors)))
-                System.out.println(instanceFiles[i] + " valid.");
-            else
-            {
-                System.out.println(instanceFiles[i] + " NOT valid.");
-                for (Iterator it = errors.iterator(); it.hasNext(); )
-                {
-                    System.out.println(it.next());
-                }
-            }
-        }
-    }
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/PrettyPrinter.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/PrettyPrinter.java
deleted file mode 100644
index 66398fa..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/PrettyPrinter.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-
-import java.util.Collections;
-import java.io.File;
-import java.io.IOException;
-
-public class PrettyPrinter
-{
-    public static void main(String[] args)
-    {
-        CommandLine cl = new CommandLine(args, Collections.singleton("indent"));
-        if (cl.getOpt("license") != null)
-        {
-            CommandLine.printLicense();
-            System.exit(0);
-            return;
-        }
-        
-        if (cl.args().length == 0)
-        {
-            System.out.println("Pretty prints XML files.");
-            System.out.println("Usage: xpretty [switches] file.xml");
-            System.out.println("Switches:");
-            System.out.println("    -indent #   use the given indent");
-            System.out.println("    -license prints license information");
-            return;
-        }
-        
-        String indentStr = cl.getOpt("indent");
-        int indent;
-        if (indentStr == null)
-            indent = 2;
-        else
-            indent = Integer.parseInt(indentStr);
-        
-        File[] files = cl.getFiles();
-        
-        for (int i = 0; i < files.length; i++)
-        {
-            XmlObject doc;
-            try
-            {
-                doc = XmlObject.Factory.parse(files[i], (new XmlOptions()).setLoadLineNumbers());
-            }
-            catch (Exception e)
-            {
-                System.err.println(files[i] + " not loadable: " + e.getMessage());
-                continue;
-            }
-            
-            try
-            {
-                doc.save(System.out, new XmlOptions().setSavePrettyPrint().setSavePrettyPrintIndent(indent));
-            }
-            catch (IOException e)
-            {
-                System.err.println("Unable to pretty print " + files[i] + ": " + e.getMessage());
-            }
-        }
-    }
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/RunXQuery.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/RunXQuery.java
deleted file mode 100644
index 1e3f49d..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/RunXQuery.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import java.io.*;
-import java.util.*;
-import org.apache.xmlbeans.*;
-
-public class RunXQuery
-{
-    public static void main ( String[] args ) throws Exception
-    {
-        CommandLine cl =
-            new CommandLine(
-                args,
-                Arrays.asList( new String[] { "q", "qf" } ) );
-        
-        if (cl.getOpt("license") != null)
-        {
-            CommandLine.printLicense();
-            System.exit(0);
-            return;
-        }
-
-        args = cl.args();
-        
-        if (args.length == 0)
-        {
-            System.out.println("Run an XQuery against an XML instance");
-            System.out.println("Usage:");
-            System.out.println("xquery [-verbose] [-pretty] [-q <query> | -qf query.xq] [file.xml]*");
-            System.out.println(" -q <query> to specify a query on the command-line");
-            System.out.println(" -qf <query> to specify a file containing a query");
-            System.out.println(" -pretty pretty-prints the results");
-            System.out.println(" -license prints license information");
-            System.out.println(" the query is run on each XML file specified");
-            System.out.println("");
-            System.exit(0);
-            return;
-        }
-
-        boolean verbose = cl.getOpt( "verbose" ) != null;
-        boolean pretty = cl.getOpt( "pretty" ) != null;
-
-        //
-        // Get and compile the query
-        //
-        
-        String query = cl.getOpt( "q" );
-        String queryfile = cl.getOpt( "qf" );
-
-        if (query == null && queryfile == null)
-        {
-            System.err.println( "No query specified" );
-            System.exit(0);
-            return;
-        }
-        
-        if (query != null && queryfile != null)
-        {
-            System.err.println( "Specify -qf or -q, not both." );
-            System.exit(0);
-            return;
-        }
-        
-        try
-        {
-            if (queryfile != null)
-            {
-                File queryFile = new File( queryfile );
-                FileInputStream is = new FileInputStream( queryFile );
-                InputStreamReader r = new InputStreamReader( is );
-                
-                StringBuffer sb = new StringBuffer();
-
-                for ( ; ; )
-                {
-                    int ch = r.read();
-
-                    if (ch < 0)
-                        break;
-
-                    sb.append( (char) ch );
-                }
-
-                r.close();
-                is.close();
-
-                query = sb.toString();
-            }
-        }
-        catch ( Throwable e )
-        {
-            System.err.println( "Cannot read query file: " + e.getMessage() );
-            System.exit(1);
-            return;
-        }
-
-        if (verbose)
-        {
-            System.out.println( "Compile Query:" );
-            System.out.println( query );
-            System.out.println();
-        }
-            
-        try
-        {
-            query= XmlBeans.compileQuery( query );
-        }
-        catch ( Exception e )
-        {
-            System.err.println( "Error compiling query: " + e.getMessage() );
-            System.exit(1);
-            return;
-        }
-
-        //
-        // Get the instance
-        //
-        
-        File[] files = cl.getFiles();
-        
-        for (int i = 0; i < files.length; i++)
-        {
-            XmlObject x;
-                
-            try
-            {
-                if (verbose)
-                {
-                    InputStream is = new FileInputStream( files[i] );
-
-                    for ( ; ; )
-                    {
-                        int ch = is.read();
-
-                        if (ch < 0)
-                            break;
-
-                        System.out.write( ch );
-                    }
-                    
-                    is.close();
-
-                    System.out.println();
-                }
-                
-                x = XmlObject.Factory.parse( files[i] );
-            }
-            catch ( Throwable e )
-            {
-                System.err.println( "Error parsing instance: " + e.getMessage() );
-                System.exit(1);
-                return;
-            }
-            
-            if (verbose)
-            {
-                System.out.println( "Executing Query..." );
-                System.err.println();
-            }
-    
-            XmlObject[] result = null;
-    
-            try
-            {
-                result = x.execQuery( query );
-            }
-            catch ( Throwable e )
-            {
-                System.err.println( "Error executing query: " + e.getMessage() );
-                System.exit(1);
-                return;
-            }
-    
-            if (verbose)
-            {
-                System.out.println( "Query Result:" );
-            }
-            
-            XmlOptions opts = new XmlOptions();
-            opts.setSaveOuter();
-            if (pretty)
-                opts.setSavePrettyPrint();
-            
-            for (int j = 0; j < result.length; j++)
-            {
-                result[j].save( System.out, opts );
-                System.out.println();
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCodeGenerator.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCodeGenerator.java
deleted file mode 100644
index 2ed44fd..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCodeGenerator.java
+++ /dev/null
@@ -1,449 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.XmlErrorWatcher;
-
-import java.io.*;
-import java.util.*;
-import java.net.URL;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.xmlbeans.impl.schema.SchemaTypeCodePrinter;
-import org.apache.xmlbeans.impl.common.IOUtil;
-
-import repackage.Repackager;
-
-public class SchemaCodeGenerator
-{
-    // input directory, output dir filename
-    // todo: output jar
-    public static boolean compileTypeSystem(SchemaTypeSystem saver, File sourcedir, File[] javasrc, Map sourcesToCopyMap, File[] classpath, File classesdir, File outputJar, boolean nojavac, boolean jaxb, XmlErrorWatcher errors, String repackage, boolean verbose, List sourcefiles )
-    {
-
-        if (sourcedir == null || classesdir == null)
-            throw new IllegalArgumentException("Source and class gen dir must not be null.");
-
-        boolean failure = false;
-
-        saver.saveToDirectory(classesdir);
-
-        // Save the schema sources to the classes directory
-        if ((sourcesToCopyMap != null) && (sourcesToCopyMap.size() > 0))
-        {
-            File schemasdir = createDir(classesdir, "schema/src");
-
-            for (Iterator iter = sourcesToCopyMap.keySet().iterator(); iter.hasNext();)
-            {
-                String key = (String)iter.next();
-
-                try
-                {
-                    URL url = new URL(key);
-                    String schemalocation = (String)sourcesToCopyMap.get(key);
-
-                    File targetFile = new File(schemasdir, schemalocation);
-                    File parentDir = new File(targetFile.getParent());
-                    createDir(parentDir, null);
-
-                    // Copy the file from filepath to schema/src/<schemaFile>
-                    InputStream in = url.openStream();
-                    FileOutputStream out = new FileOutputStream(new File(schemasdir, schemalocation));
-                    IOUtil.copyCompletely(in, out);
-                }
-                catch (IOException e)
-                {
-                    System.err.println("IO Error " + e);
-                    // failure = true; - not cause for failure
-                }
-            }
-        }
-
-        Repackager repackager = repackage == null ? null : new Repackager( repackage );
-
-        try
-        {
-            String filename = SchemaTypeCodePrinter.indexClassForSystem(saver).replace('.', File.separatorChar) + ".java";
-            File sourcefile = new File(sourcedir, filename);
-            sourcefile.getParentFile().mkdirs();
-            
-            Writer writer =
-                repackager == null
-                    ? (Writer) new FileWriter( sourcefile )
-                    : (Writer) new RepackagingWriter( sourcefile, repackager );
-                            
-            SchemaTypeCodePrinter.printLoader(writer, saver);
-            
-            writer.close();
-            
-            sourcefiles.add(sourcefile);
-        }
-        catch (IOException e)
-        {
-            System.err.println("IO Error " + e);
-            failure = true;
-        }
-
-        if (! jaxb)
-            failure &= genTypes(saver, sourcefiles, sourcedir, repackager, verbose);
-        else
-            failure &= jaxbCodeGenerator(saver, sourcefiles, sourcedir, classesdir, errors);
-
-        if (failure)
-            return false;
-
-        return true;
-    }
-
-    private static boolean genTypes(SchemaTypeSystem saver, List sourcefiles, File sourcedir, Repackager repackager, boolean verbose)
-    {
-        boolean failure = false;
-
-        List types = new ArrayList();
-        types.addAll(Arrays.asList(saver.globalTypes()));
-        types.addAll(Arrays.asList(saver.documentTypes()));
-        types.addAll(Arrays.asList(saver.attributeTypes()));
-
-        for (Iterator i = types.iterator(); i.hasNext(); )
-        {
-            SchemaType type = (SchemaType)i.next();
-            if (verbose)
-                System.err.println("Compiling type " + type);
-            if (type.isBuiltinType())
-                continue;
-            if (type.getFullJavaName() == null)
-                continue;
-            
-            String fjn = type.getFullJavaName();
-
-            if (fjn.indexOf('$') > 0)
-            {
-                fjn =
-                    fjn.substring( 0, fjn.lastIndexOf( '.' ) ) + "." +
-                        fjn.substring( fjn.indexOf( '$' ) + 1 );
-            }
-            
-            String filename = fjn.replace('.', File.separatorChar) + ".java";
-            
-            Writer writer = null;
-            
-            try
-            {
-                File sourcefile = new File(sourcedir, filename);
-                sourcefile.getParentFile().mkdirs();
-                if (verbose)
-                    System.err.println("created " + sourcefile.getAbsolutePath());
-                writer =
-                    repackager == null
-                        ? (Writer) new FileWriter( sourcefile )
-                        : (Writer) new RepackagingWriter( sourcefile, repackager );
-                
-
-                SchemaTypeCodePrinter.printType(writer, type);
-                
-                writer.close();
-                
-                sourcefiles.add(sourcefile);
-            }
-            catch (IOException e)
-            {
-                System.err.println("IO Error " + e);
-                failure = true;
-            }
-            finally {
-                try { if (writer != null) writer.close(); } catch (IOException e) {}
-            }
-
-            try
-            {
-                // Generate Implementation class
-                filename = type.getFullJavaImplName().replace('.', File.separatorChar) + ".java";
-                File implFile = new File(sourcedir,  filename);
-                if (verbose)
-                    System.err.println("created " + implFile.getAbsolutePath());
-                implFile.getParentFile().mkdirs();
-
-                
-                writer =
-                    repackager == null
-                        ? (Writer) new FileWriter( implFile )
-                        : (Writer) new RepackagingWriter( implFile, repackager );
-                
-                SchemaTypeCodePrinter.printTypeImpl(writer, type);
-                
-                writer.close();
-                
-                sourcefiles.add(implFile);
-            }
-            catch (IOException e)
-            {
-                System.err.println("IO Error " + e);
-                failure = true;
-            }
-            finally {
-                try { if (writer != null) writer.close(); } catch (IOException e) {}
-            }
-        }
-
-        return failure;
-    }
-
-    private static class JaxbCodeGeneratorHolder
-    {
-        private static final Method _jaxbCodeGeneratorMethod = buildJaxbCodeGeneratorMethod();
-    
-        private static Method buildJaxbCodeGeneratorMethod()
-        {
-            try
-            {
-                return Class.forName("org.apache.xmlbeans.impl.jaxb.compiler.JaxbCodeGenerator", false, SchemaCodeGenerator.class.getClassLoader())
-                    .getMethod("compile", new Class[] {SchemaTypeSystem.class, List.class, File.class, File.class, XmlErrorWatcher.class });
-            }
-            catch (Exception e)
-            {
-                IllegalStateException e2 =  new IllegalStateException("Cannot load JaxbCodeGenerator: verify that xbean.jar is on the classpath");
-                e2.initCause(e);
-                throw e2;
-            }
-        }
-    }
-
-    private static boolean jaxbCodeGenerator(SchemaTypeSystem saver, List sourcefiles, File sourcedir, File classesdir, XmlErrorWatcher errors)
-    {
-        try
-        {
-            return ((Boolean)JaxbCodeGeneratorHolder._jaxbCodeGeneratorMethod.invoke(null, new Object[] { saver, sourcefiles, sourcedir, classesdir, errors })).booleanValue();
-        }
-        catch (InvocationTargetException e)
-        {
-            IllegalStateException e2 = new IllegalStateException(e.getMessage());
-            e2.initCause(e);
-            throw e2;
-        }
-        catch (IllegalAccessException e)
-        {
-            IllegalStateException e2 = new IllegalStateException(e.getMessage());
-            e2.initCause(e);
-            throw e2;
-        }
-    }
-
-    protected static File createDir(File rootdir, String subdir)
-    {
-        File newdir = (subdir == null) ? rootdir : new File(rootdir, subdir);
-        boolean created = (newdir.exists() && newdir.isDirectory()) || newdir.mkdirs();
-        assert(created) : "Could not create " + newdir.getAbsolutePath();
-        return newdir;
-    }
-
-    protected static File createTempDir() throws IOException
-    {
-        File tmpFile = File.createTempFile("xbean", null);
-        String path = tmpFile.getAbsolutePath();
-        if (!path.endsWith(".tmp"))
-            throw new IOException("Error: createTempFile did not create a file ending with .tmp");
-        path = path.substring(0, path.length() - 4);
-        File tmpSrcDir = null;
-
-        for (int count = 0; count < 100; count++)
-        {
-            String name = path + ".d" + (count == 0 ? "" : Integer.toString(count++));
-
-            tmpSrcDir = new File(name);
-
-            if (!tmpSrcDir.exists())
-            {
-                boolean created = tmpSrcDir.mkdirs();
-                assert created : "Could not create " + tmpSrcDir.getAbsolutePath();
-                break;
-            }
-        }
-        tmpFile.deleteOnExit();
-
-        return tmpSrcDir;
-    }
-
-    protected static void tryHardToDelete(File dir)
-    {
-        tryToDelete(dir);
-        if (dir.exists())
-            tryToDeleteLater(dir);
-    }
-
-    private static void tryToDelete(File dir)
-    {
-        if (dir.exists())
-        {
-            if (dir.isDirectory())
-            {
-                String[] list = dir.list();
-                for (int i = 0; i < list.length; i++)
-                    tryToDelete(new File(dir, list[i]));
-            }
-            if (!dir.delete())
-                return; // don't try very hard, because we're just deleting tmp
-        }
-    }
-    
-    private static Set deleteFileQueue = new HashSet();
-    private static int triesRemaining = 0;
-    
-    private static boolean tryNowThatItsLater()
-    {
-        List files;
-        
-        synchronized (deleteFileQueue)
-        {
-            files = new ArrayList(deleteFileQueue);
-            deleteFileQueue.clear();
-        }
-        
-        List retry = new ArrayList();
-        
-        for (Iterator i = files.iterator(); i.hasNext(); )
-        {
-            File file = (File)i.next();
-            tryToDelete(file);
-            if (file.exists())
-                retry.add(file);
-        }
-        
-        synchronized (deleteFileQueue)
-        {
-            if (triesRemaining > 0)
-                triesRemaining -= 1;
-                
-            if (triesRemaining <= 0 || retry.size() == 0) // done?
-                triesRemaining = 0;
-            else
-                deleteFileQueue.addAll(retry); // try again?
-            
-            return (triesRemaining <= 0);
-        }
-    }
-    
-    private static void giveUp()
-    {
-        synchronized (deleteFileQueue)
-        {
-            deleteFileQueue.clear();
-            triesRemaining = 0;
-        }
-    }
-    
-    private static void tryToDeleteLater(File dir)
-    {
-        synchronized (deleteFileQueue)
-        {
-            deleteFileQueue.add(dir);
-            if (triesRemaining == 0)
-            {
-                new Thread()
-                {
-                    public void run()
-                    {
-                        // repeats tryNow until triesRemaining == 0
-                        try
-                        {
-                            for (;;)
-                            {
-                                if (tryNowThatItsLater())
-                                    return; // succeeded
-                                Thread.sleep(1000 * 3); // wait three seconds
-                            }
-                        }
-                        catch (InterruptedException e)
-                        {
-                            giveUp();
-                        }
-                    }
-                };
-            }
-            
-            if (triesRemaining < 10)
-                triesRemaining = 10;
-        }
-    }
-    
-    static class RepackagingWriter extends StringWriter
-    {
-        public RepackagingWriter ( File file, Repackager repackager )
-        {
-            _file = file;
-            _repackager = repackager;
-        }
-
-        public void close ( ) throws IOException
-        {
-            super.close();
-            
-            StringBuffer sb = getBuffer();
-
-            _repackager.repackage( sb );
-
-            FileWriter fw = new FileWriter( _file );
-            fw.write( sb.toString() );
-            fw.close();
-        }
-
-        private File _file;
-        private Repackager _repackager;
-    }
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompiler.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompiler.java
deleted file mode 100644
index aac283b..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompiler.java
+++ /dev/null
@@ -1,937 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer.
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache
-*    XMLBeans", nor may "Apache" appear in their name, without prior
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.apache.xmlbeans.impl.schema.SchemaTypeSystemCompiler;
-import org.apache.xmlbeans.impl.schema.PathResourceLoader;
-import org.apache.xmlbeans.impl.schema.ResourceLoader;
-import org.apache.xmlbeans.impl.schema.StscState;
-import org.apache.xmlbeans.impl.schema.SchemaTypeLoaderImpl;
-import org.apache.xmlbeans.impl.common.XmlErrorPrinter;
-import org.apache.xmlbeans.impl.common.XmlErrorWatcher;
-import org.apache.xmlbeans.impl.common.XmlErrorContext;
-import org.apache.xmlbeans.impl.values.XmlListImpl;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.SimpleValue;
-import com.bea.x2002.x09.xbean.config.ConfigDocument;
-
-import java.io.File;
-import java.util.*;
-import java.net.URI;
-
-import org.w3.x2001.xmlSchema.SchemaDocument;
-
-public class SchemaCompiler
-{
-    public static void main(String[] args)
-    {
-        if (args.length == 0)
-        {
-            System.out.println("Compiles a schema into XML Bean classes and metadata.");
-            System.out.println("Usage: scomp [opts] [dirs]* [schema.xsd]* [service.wsdl]* [config.xsdconfig]*");
-            System.out.println("Options include:");
-            System.out.println("    -cp [a;b;c] - classpath");
-            System.out.println("    -d [dir] - target binary directory for .class and .xsb files");
-            System.out.println("    -src [dir] - target directory for generated .java files");
-            System.out.println("    -srconly - do not compile .java files or jar the output.");
-            System.out.println("    -out [result.jar] - the name of the output jar");
-            System.out.println("    -dl - permit network downloads for imports and includes (default is off)");
-            System.out.println("    -noupa - do not enforce the unique particle attribution rule");
-            System.out.println("    -nopvr - do not enforce the particle valid (restriction) rule");
-            System.out.println("    -compiler - path to external java compiler");
-            System.out.println("    -jar - path to jar utility");
-            System.out.println("    -ms - initial memory for external java compiler (default '" + CodeGenUtil.DEFAULT_MEM_START + "')");
-            System.out.println("    -mx - maximum memory for external java compiler (default '" + CodeGenUtil.DEFAULT_MEM_MAX + "')");
-            System.out.println("    -debug - compile with debug symbols");
-            System.out.println("    -quiet - print fewer informational messages");
-            System.out.println("    -verbose - print more informational messages");
-            System.out.println("    -license - prints license information");
-            System.out.println("    -allowmdef \"[ns] [ns] [ns]\" - ignores multiple defs in given namespaces");
-            /* Undocumented feature - pass in one schema compiler extension and related parameters
-            System.out.println("    -repackage - repackage specification");
-            System.out.println("    -extension - registers a schema compiler extension");
-            System.out.println("    -extensionParms - specify parameters for the compiler extension");
-            */
-            System.out.println();
-            System.out.println("If you require a different java compiler, use the XMLBean Ant task instead.");
-            System.exit(0);
-            return;
-        }
-
-        Set opts = new HashSet();
-        opts.add("out");
-        opts.add("name");
-        opts.add("src");
-        opts.add("d");
-        opts.add("cp");
-        opts.add("compiler");
-        opts.add("jar");
-        opts.add("ms");
-        opts.add("mx");
-        opts.add("repackage");
-        opts.add("extension");
-        opts.add("extensionParms");
-        opts.add("allowmdef");
-        CommandLine cl = new CommandLine(args, opts);
-
-        if (cl.getOpt("license") != null)
-        {
-            CommandLine.printLicense();
-            System.exit(0);
-            return;
-        }
-
-        args = cl.args();
-        boolean verbose = (cl.getOpt("verbose") != null);
-        boolean quiet = (cl.getOpt("quiet") != null);
-        if (verbose)
-            quiet = false;
-
-        String outputfilename = cl.getOpt("out");
-
-        String repackage = cl.getOpt("repackage");
-
-        String name = cl.getOpt("name");
-
-        boolean download = (cl.getOpt("dl") != null);
-        boolean noUpa = (cl.getOpt("noupa") != null);
-        boolean noPvr = (cl.getOpt("nopvr") != null);
-        boolean nojavac = (cl.getOpt("srconly") != null);
-        boolean debug = (cl.getOpt("debug") != null);
-        boolean jaxb = (cl.getOpt("jaxb") != null);
-
-        String allowmdef = cl.getOpt("allowmdef");
-        Set mdefNamespaces = (allowmdef == null ? Collections.EMPTY_SET :
-                new HashSet(Arrays.asList(XmlListImpl.split_list(allowmdef))));
-
-        List extensions = new ArrayList();
-        if (cl.getOpt("extension") != null) {
-            try {
-                Extension e = new Extension();
-                e.setClassName(Class.forName(cl.getOpt("extension"), false, Thread.currentThread().getContextClassLoader()));
-                extensions.add(e);
-            } catch (ClassNotFoundException e) {
-                System.err.println("Could not find extension class: " + cl.getOpt("extension") + "  Is it on your classpath?");
-                System.exit(1);
-            }
-        }
-
-        if (extensions.size() > 0)
-        {
-            // example: -extensionParms typeMappingFileLocation=d:\types
-            if (cl.getOpt("extensionParms") != null) {
-                Extension e = (Extension) extensions.get(0);
-                // extensionParms are delimited by ';'
-                StringTokenizer parmTokens = new StringTokenizer(cl.getOpt("extensionParms"), ";");
-                while (parmTokens.hasMoreTokens()) {
-                    // get name value pair for each extension parms and stick into extension parms
-                    String nvPair = parmTokens.nextToken();
-                    int index = nvPair.indexOf('=');
-                    if (index < 0)
-                    {
-                        System.err.println("extensionParms should be name=value;name=value");
-                        System.exit(1);
-                    }
-                    String n = nvPair.substring(0, index);
-                    String v = nvPair.substring(index + 1);
-                    Extension.Param param = e.createParam();
-                    param.setName(n);
-                    param.setValue(v);
-                }
-            }
-        }
-
-        String classesdir = cl.getOpt("d");
-        File classes = null;
-        if (classesdir != null)
-            classes = new File(classesdir);
-
-        String srcdir = cl.getOpt("src");
-        File src = null;
-        if (srcdir != null)
-            src = new File(srcdir);
-        if (nojavac && srcdir == null && classes != null)
-            src = classes;
-
-        // create temp directory
-        File tempdir = null;
-        if (src == null || classes == null)
-        {
-            try
-            {
-                tempdir = SchemaCodeGenerator.createTempDir();
-            }
-            catch (java.io.IOException e)
-            {
-                System.err.println("Error creating temp dir " + e);
-                System.exit(1);
-            }
-        }
-
-        File jarfile = null;
-        if (outputfilename == null && classes == null && !nojavac)
-            outputfilename = "xmltypes.jar";
-        if (outputfilename != null)
-            jarfile = new File(outputfilename);
-
-        if (src == null)
-            src = SchemaCodeGenerator.createDir(tempdir, "src");
-        if (classes == null)
-            classes = SchemaCodeGenerator.createDir(tempdir, "classes");
-
-        File[] classpath = null;
-        String cpString = cl.getOpt("cp");
-        if (cpString != null)
-        {
-            String[] cpparts = cpString.split(File.pathSeparator);
-            List cpList = new ArrayList();
-            for (int i = 0; i < cpparts.length; i++)
-                cpList.add(new File(cpparts[i]));
-            classpath = (File[])cpList.toArray(new File[cpList.size()]);
-        }
-        else
-        {
-            classpath = CodeGenUtil.systemClasspath();
-        }
-
-        String compiler = cl.getOpt("compiler");
-        String jar = cl.getOpt("jar");
-
-        String memoryInitialSize = cl.getOpt("ms");
-        String memoryMaximumSize = cl.getOpt("mx");
-
-        File[] xsdFiles = cl.filesEndingWith(".xsd");
-        File[] wsdlFiles = cl.filesEndingWith(".wsdl");
-        File[] javaFiles = cl.filesEndingWith(".java");
-        File[] configFiles = cl.filesEndingWith(".xsdconfig");
-
-        if (xsdFiles.length + wsdlFiles.length == 0)
-        {
-            System.err.println("Could not find any xsd or wsdl files to process.");
-            System.exit(1);
-        }
-        File baseDir = cl.getBaseDir();
-        URI baseURI = baseDir == null ? null : baseDir.toURI();
-
-        XmlErrorPrinter err = new XmlErrorPrinter(verbose, baseURI);
-
-        Parameters params = new Parameters();
-        params.setBaseDir(baseDir);
-        params.setXsdFiles(xsdFiles);
-        params.setWsdlFiles(wsdlFiles);
-        params.setJavaFiles(javaFiles);
-        params.setConfigFiles(configFiles);
-        params.setClasspath(classpath);
-        params.setOutputJar(jarfile);
-        params.setName(name);
-        params.setSrcDir(src);
-        params.setClassesDir(classes);
-        params.setCompiler(compiler);
-        params.setJar(jar);
-        params.setMemoryInitialSize(memoryInitialSize);
-        params.setMemoryMaximumSize(memoryMaximumSize);
-        params.setNojavac(nojavac);
-        params.setQuiet(quiet);
-        params.setVerbose(verbose);
-        params.setDownload(download);
-        params.setNoUpa(noUpa);
-        params.setNoPvr(noPvr);
-        params.setDebug(debug);
-        params.setErrorListener(err);
-        params.setRepackage(repackage);
-        params.setExtensions(extensions);
-        params.setJaxb(jaxb);
-        params.setMdefNamespaces(mdefNamespaces);
-
-        boolean result = compile(params);
-
-        if (tempdir != null)
-            SchemaCodeGenerator.tryHardToDelete(tempdir);
-
-        if (!result)
-            System.exit(1);
-
-        System.exit(0);
-    }
-
-    public static class Parameters
-    {
-        private File baseDir;
-        private File[] xsdFiles;
-        private File[] wsdlFiles;
-        private File[] javaFiles;
-        private File[] configFiles;
-        private File[] classpath;
-        private File outputJar;
-        private String name;
-        private File srcDir;
-        private File classesDir;
-        private String memoryInitialSize;
-        private String memoryMaximumSize;
-        private String compiler;
-        private String jar;
-        private boolean nojavac;
-        private boolean quiet;
-        private boolean verbose;
-        private boolean download;
-        private Collection errorListener;
-        private boolean noUpa;
-        private boolean noPvr;
-        private boolean debug;
-        private String repackage;
-        private List extensions = Collections.EMPTY_LIST;
-        private boolean jaxb;
-        private Set mdefNamespaces = Collections.EMPTY_SET;
-
-        public File getBaseDir()
-        {
-            return baseDir;
-        }
-
-        public void setBaseDir(File baseDir)
-        {
-            this.baseDir = baseDir;
-        }
-
-        public File[] getXsdFiles()
-        {
-            return xsdFiles;
-        }
-
-        public void setXsdFiles(File[] xsdFiles)
-        {
-            this.xsdFiles = xsdFiles;
-        }
-
-        public File[] getWsdlFiles()
-        {
-            return wsdlFiles;
-        }
-
-        public void setWsdlFiles(File[] wsdlFiles)
-        {
-            this.wsdlFiles = wsdlFiles;
-        }
-
-        public File[] getJavaFiles()
-        {
-            return javaFiles;
-        }
-
-        public void setJavaFiles(File[] javaFiles)
-        {
-            this.javaFiles = javaFiles;
-        }
-
-        public File[] getConfigFiles()
-        {
-            return configFiles;
-        }
-
-        public void setConfigFiles(File[] configFiles)
-        {
-            this.configFiles = configFiles;
-        }
-
-        public File[] getClasspath()
-        {
-            return classpath;
-        }
-
-        public void setClasspath(File[] classpath)
-        {
-            this.classpath = classpath;
-        }
-
-        public File getOutputJar()
-        {
-            return outputJar;
-        }
-
-        public void setOutputJar(File outputJar)
-        {
-            this.outputJar = outputJar;
-        }
-
-        public String getName()
-        {
-            return name;
-        }
-
-        public void setName(String name)
-        {
-            this.name = name;
-        }
-
-        public File getSrcDir()
-        {
-            return srcDir;
-        }
-
-        public void setSrcDir(File srcDir)
-        {
-            this.srcDir = srcDir;
-        }
-
-        public File getClassesDir()
-        {
-            return classesDir;
-        }
-
-        public void setClassesDir(File classesDir)
-        {
-            this.classesDir = classesDir;
-        }
-
-        public boolean isNojavac()
-        {
-            return nojavac;
-        }
-
-        public void setNojavac(boolean nojavac)
-        {
-            this.nojavac = nojavac;
-        }
-
-        public boolean isQuiet()
-        {
-            return quiet;
-        }
-
-        public void setQuiet(boolean quiet)
-        {
-            this.quiet = quiet;
-        }
-
-        public boolean isVerbose()
-        {
-            return verbose;
-        }
-
-        public void setVerbose(boolean verbose)
-        {
-            this.verbose = verbose;
-        }
-
-        public boolean isDownload()
-        {
-            return download;
-        }
-
-        public void setDownload(boolean download)
-        {
-            this.download = download;
-        }
-
-        public boolean isNoUpa()
-        {
-            return noUpa;
-        }
-
-        public void setNoUpa(boolean noUpa)
-        {
-            this.noUpa = noUpa;
-        }
-
-        public boolean isNoPvr()
-        {
-            return noPvr;
-        }
-
-        public void setNoPvr(boolean noPvr)
-        {
-            this.noPvr = noPvr;
-        }
-
-        public boolean isDebug()
-        {
-            return debug;
-        }
-
-        public void setDebug(boolean debug)
-        {
-            this.debug = debug;
-        }
-
-        public String getMemoryInitialSize()
-        {
-            return memoryInitialSize;
-        }
-
-        public void setMemoryInitialSize(String memoryInitialSize)
-        {
-            this.memoryInitialSize = memoryInitialSize;
-        }
-
-        public String getMemoryMaximumSize()
-        {
-            return memoryMaximumSize;
-        }
-
-        public void setMemoryMaximumSize(String memoryMaximumSize)
-        {
-            this.memoryMaximumSize = memoryMaximumSize;
-        }
-
-        public String getCompiler()
-        {
-            return compiler;
-        }
-
-        public void setCompiler(String compiler)
-        {
-            this.compiler = compiler;
-        }
-
-        public String getJar()
-        {
-            return jar;
-        }
-
-        public void setJar(String jar)
-        {
-            this.jar = jar;
-        }
-
-
-        public void setJaxb(boolean jaxb)
-        {
-            this.jaxb = jaxb;
-        }
-
-        public boolean getJaxb()
-        {
-            return this.jaxb;
-        }
-
-        public Collection getErrorListener()
-        {
-            return errorListener;
-        }
-
-        public void setErrorListener(Collection errorListener)
-        {
-            this.errorListener = errorListener;
-        }
-
-        public String getRepackage()
-        {
-            return repackage;
-        }
-
-        public void setRepackage(String newRepackage)
-        {
-            repackage = newRepackage;
-        }
-
-        public List getExtensions() {
-            return extensions;
-        }
-
-        public void setExtensions(List extensions) {
-            this.extensions = extensions;
-        }
-
-        public Set getMdefNamespaces()
-        {
-            return mdefNamespaces;
-        }
-
-        public void setMdefNamespaces(Set mdefNamespaces)
-        {
-            this.mdefNamespaces = mdefNamespaces;
-        }
-
-    }
-
-    private static SchemaTypeSystem loadTypeSystem(
-        String name, File[] xsdFiles,
-        File[] wsdlFiles, File[] configFiles, ResourceLoader cpResourceLoader,
-        boolean download, boolean noUpa, boolean noPvr, Set mdefNamespaces,
-        File baseDir, Map sourcesToCopyMap, Collection outerErrorListener)
-    {
-        XmlErrorWatcher errorListener = new XmlErrorWatcher(outerErrorListener);
-
-        // For parsing XSD and WSDL files, we should use the SchemaDocument
-        // classloader rather than the thread context classloader.  This is
-        // because in some situations (such as when being invoked by ant
-        // underneath the ide) the context classloader is potentially weird
-        // (because of the design of ant).
-
-        SchemaTypeLoader loader = XmlBeans.typeLoaderForClassLoader(SchemaDocument.class.getClassLoader());
-
-        // step 1, parse all the XSD files.
-        ArrayList scontentlist = new ArrayList();
-        if (xsdFiles != null)
-        {
-            for (int i = 0; i < xsdFiles.length; i++)
-            {
-                try
-                {
-                    XmlOptions options = new XmlOptions();
-                    options.setLoadLineNumbers();
-                    options.setLoadMessageDigest();
-
-                    XmlObject schemadoc = loader.parse(xsdFiles[i], null, options);
-                    if (!(schemadoc instanceof SchemaDocument))
-                    {
-                        StscState.addError(errorListener, "Document " + xsdFiles[i] + " is not a schema file", XmlErrorContext.CANNOT_LOAD_XSD_FILE, schemadoc);
-                    }
-                    else
-                    {
-                        StscState.addInfo(errorListener, "Loading schema file " + xsdFiles[i]);
-                        XmlOptions opts = new XmlOptions().setErrorListener(errorListener);
-                        if (schemadoc.validate(opts))
-                            scontentlist.add(((SchemaDocument)schemadoc).getSchema());
-                    }
-                }
-                catch (XmlException e)
-                {
-                    errorListener.add(e.getError());
-                }
-                catch (Exception e)
-                {
-                    StscState.addError(errorListener, "Cannot load file " + xsdFiles[i] + ": " + e, XmlErrorContext.CANNOT_LOAD_XSD_FILE, xsdFiles[i]);
-                }
-            }
-        }
-
-        // step 2, parse all WSDL files
-        if (wsdlFiles != null)
-        {
-            for (int i = 0; i < wsdlFiles.length; i++)
-            {
-                try
-                {
-                    XmlOptions options = new XmlOptions();
-                    options.setLoadLineNumbers();
-                    options.setLoadSubstituteNamespaces(Collections.singletonMap(
-                            "http://schemas.xmlsoap.org/wsdl/", "http://www.apache.org/internal/xmlbeans/wsdlsubst"
-                    ));
-
-
-                    XmlObject wsdldoc = loader.parse(wsdlFiles[i], null, options);
-
-                    if (!(wsdldoc instanceof org.apache.internal.xmlbeans.wsdlsubst.DefinitionsDocument))
-                        StscState.addError(errorListener, "Document " + wsdlFiles[i] + " is not a wsdl file", XmlErrorContext.CANNOT_LOAD_XSD_FILE, wsdldoc);
-                    else
-                    {
-                        if (wsdlContainsEncoded(wsdldoc))
-                            StscState.addWarning(errorListener, "The WSDL " + wsdlFiles[i] + " uses SOAP encoding. SOAP encoding is not compatible with literal XML Schema.", XmlErrorContext.CANNOT_LOAD_XSD_FILE, wsdldoc);
-                        StscState.addInfo(errorListener, "Loading wsdl file " + wsdlFiles[i]);
-                        XmlObject[] types = ((org.apache.internal.xmlbeans.wsdlsubst.DefinitionsDocument)wsdldoc).getDefinitions().getTypesArray();
-                        int count = 0;
-                        for (int j = 0; j < types.length; j++)
-                        {
-                            // explicit cast for paranoia
-                            SchemaDocument.Schema[] schemas = (SchemaDocument.Schema[])types[j].selectPath("declare namespace xs=\"http://www.w3.org/2001/XMLSchema\" xs:schema");
-                            for (int k = 0; k < schemas.length; k++)
-                            {
-                                if (schemas[k].validate(new XmlOptions().setErrorListener(errorListener)))
-                                    scontentlist.add(schemas[k]);
-                            }
-                            count += schemas.length;
-                        }
-                        StscState.addInfo(errorListener, "Processing " + count + " schema(s) in " + wsdlFiles[i].toString());
-                    }
-                }
-                catch (XmlException e)
-                {
-                    errorListener.add(e.getError());
-                }
-                catch (Exception e)
-                {
-                    StscState.addError(errorListener, "Cannot load file " + wsdlFiles[i] + ": " + e, XmlErrorContext.CANNOT_LOAD_XSD_FILE, wsdlFiles[i]);
-                }
-            }
-        }
-
-        SchemaDocument.Schema[] sdocs = (SchemaDocument.Schema[])scontentlist.toArray(new SchemaDocument.Schema[scontentlist.size()]);
-
-        // now the config files.
-        ArrayList cdoclist = new ArrayList();
-        if (configFiles != null)
-        {
-            for (int i = 0; i < configFiles.length; i++)
-            {
-                try
-                {
-                    XmlOptions options = new XmlOptions();
-                    options.put( XmlOptions.LOAD_LINE_NUMBERS );
-
-                    XmlObject configdoc = loader.parse(configFiles[i], null, options);
-                    if (!(configdoc instanceof ConfigDocument))
-                        StscState.addError(errorListener, "Document " + configFiles[i] + " is not an xsd config file", XmlErrorContext.CANNOT_LOAD_XSD_FILE, configdoc);
-                    else
-                    {
-                        StscState.addInfo(errorListener, "Loading config file " + configFiles[i]);
-                        if (configdoc.validate(new XmlOptions().setErrorListener(errorListener)))
-                            cdoclist.add(((ConfigDocument)configdoc).getConfig());
-                    }
-                }
-                catch (XmlException e)
-                {
-                    errorListener.add(e.getError());
-                }
-                catch (Exception e)
-                {
-                    StscState.addError(errorListener, "Cannot load xsd config file " + configFiles[i] + ": " + e, XmlErrorContext.CANNOT_LOAD_XSD_CONFIG_FILE, configFiles[i]);
-                }
-            }
-        }
-        ConfigDocument.Config[] cdocs = (ConfigDocument.Config[])cdoclist.toArray(new ConfigDocument.Config[cdoclist.size()]);
-
-        SchemaTypeLoader linkTo = SchemaTypeLoaderImpl.build(null, cpResourceLoader, null);
-
-        URI baseURI = null;
-        if (baseDir != null)
-            baseURI = baseDir.toURI();
-
-        XmlOptions opts = new XmlOptions();
-        if (download)
-            opts.setCompileDownloadUrls();
-        if (noUpa)
-            opts.setCompileNoUpaRule();
-        if (noPvr)
-            opts.setCompileNoPvrRule();
-        if (mdefNamespaces != null)
-            opts.setCompileMdefNamespaces(mdefNamespaces);
-        opts.setCompileNoValidation(); // already validated here
-
-        // now pass it to the main compile function
-        SchemaTypeSystemCompiler.Parameters params = new SchemaTypeSystemCompiler.Parameters();
-        params.setName(name);
-        params.setSchemas(sdocs);
-        params.setConfigs(cdocs);
-        params.setLinkTo(linkTo);
-        params.setOptions(opts);
-        params.setErrorListener(errorListener);
-        params.setJavaize(true);
-        params.setBaseURI(baseURI);
-        params.setSourcesToCopyMap(sourcesToCopyMap);
-        return SchemaTypeSystemCompiler.compile(params);
-    }
-
-    public static boolean compile(Parameters params)
-    {
-        File baseDir = params.getBaseDir();
-        File[] xsdFiles = params.getXsdFiles();
-        File[] wsdlFiles = params.getWsdlFiles();
-        File[] javaFiles = params.getJavaFiles();
-        File[] configFiles = params.getConfigFiles();
-        File[] classpath = params.getClasspath();
-        File outputJar = params.getOutputJar();
-        String name = params.getName();
-        File srcDir = params.getSrcDir();
-        File classesDir = params.getClassesDir();
-        String compiler = params.getCompiler();
-        String jar = params.getJar();
-        String memoryInitialSize = params.getMemoryInitialSize();
-        String memoryMaximumSize = params.getMemoryMaximumSize();
-        boolean nojavac = params.isNojavac();
-        boolean debug = params.isDebug();
-        boolean verbose = params.isVerbose();
-        boolean quiet = params.isQuiet();
-        boolean download = params.isDownload();
-        boolean noUpa = params.isNoUpa();
-        boolean noPvr = params.isNoPvr();
-        Collection outerErrorListener = params.getErrorListener();
-        String repackage = params.getRepackage();
-        List extensions = params.getExtensions();
-        boolean jaxb = params.getJaxb();
-        Set mdefNamespaces = params.getMdefNamespaces();
-
-        if (srcDir == null || classesDir == null)
-            throw new IllegalArgumentException("src and class gen directories may not be null.");
-
-        long start = System.currentTimeMillis();
-
-        // Calculate the usenames based on the relativized filenames on the filesystem
-        if (baseDir == null)
-            baseDir = new File(System.getProperty("user.dir"));
-
-        ResourceLoader cpResourceLoader = null;
-
-        Map sourcesToCopyMap = new HashMap();
-
-        if (classpath != null)
-            cpResourceLoader = new PathResourceLoader(classpath);
-
-        boolean result = true;
-
-        // build the in-memory type system
-        XmlErrorWatcher errorListener = new XmlErrorWatcher(outerErrorListener);
-        SchemaTypeSystem system = loadTypeSystem(name, xsdFiles, wsdlFiles, configFiles, cpResourceLoader, download, noUpa, noPvr, mdefNamespaces, baseDir, sourcesToCopyMap, errorListener);
-        if (errorListener.hasError())
-            result = false;
-        long finish = System.currentTimeMillis();
-        if (!quiet)
-            System.out.println("Time to build schema type system: " + ((double)(finish - start) / 1000.0) + " seconds" );
-
-        // now code generate and compile the JAR
-        if (result && system != null) // todo: don't check "result" here if we want to compile anyway, ignoring invalid schemas
-        {
-            start = System.currentTimeMillis();
-
-            // generate source and .xsb
-            List sourcefiles = new ArrayList();
-            result &= SchemaCodeGenerator.compileTypeSystem(system, srcDir, javaFiles, sourcesToCopyMap, classpath, classesDir, outputJar, nojavac, jaxb, errorListener, repackage, verbose, sourcefiles);
-            result &= !errorListener.hasError();
-
-            if (result)
-            {
-                finish = System.currentTimeMillis();
-                if (!quiet)
-                    System.out.println("Time to generate code: " + ((double)(finish - start) / 1000.0) + " seconds" );
-            }
-
-            // compile source
-            if (result && !nojavac)
-            {
-                start = System.currentTimeMillis();
-
-                if (javaFiles != null)
-                    sourcefiles.addAll(java.util.Arrays.asList(javaFiles));
-                if (!CodeGenUtil.externalCompile(sourcefiles, classesDir, classpath, debug, compiler, memoryInitialSize, memoryMaximumSize, quiet, verbose))
-                    result = false;
-
-                finish = System.currentTimeMillis();
-                if (result && !params.isQuiet())
-                    System.out.println("Time to compile code: " + ((double)(finish - start) / 1000.0) + " seconds" );
-
-                // jar classes and .xsb
-                if (result && outputJar != null)
-                {
-                    if (!CodeGenUtil.externalJar(classesDir, outputJar, jar, quiet, verbose))
-                        result = false;
-
-                    if (result && !params.isQuiet())
-                        System.out.println("Compiled types to: " + outputJar);
-                }
-            }
-        }
-
-        if (!result && !quiet)
-            System.out.println("BUILD FAILED");
-        else {
-            // call schema compiler extension if registered
-            runExtensions(extensions, system);
-        }
-
-        if (cpResourceLoader != null)
-            cpResourceLoader.close();
-        return result;
-    }
-
-    private static void runExtensions(List extensions, SchemaTypeSystem system)
-    {
-        if (extensions != null && extensions.size() > 0)
-        {
-            SchemaCompilerExtension sce = null;
-            Iterator i = extensions.iterator();
-            while (i.hasNext())
-            {
-                Extension extension = (Extension) i.next();
-                try
-                {
-                    sce = (SchemaCompilerExtension) extension.getClassName().newInstance();
-                }
-                catch (InstantiationException e)
-                {
-                    System.out.println("UNABLE to instantiate schema compiler extension:" + extension.getClassName().getName());
-                    System.out.println("EXTENSION Class was not run");
-                }
-                catch (IllegalAccessException e)
-                {
-                    System.out.println("ILLEGAL ACCESS Exception when attempting to instantiate schema compiler extension: " + extension.getClassName().getName());
-                    System.out.println("EXTENSION Class was not run");
-                }
-                System.out.println("Running Schema Compiler Extension: " + sce.getExtensionName());
-                Map extensionParms = new HashMap();
-                Iterator parmsi = extension.getParams().iterator();
-                while (parmsi.hasNext())
-                {
-                    Extension.Param p = (Extension.Param) parmsi.next();
-                    extensionParms.put(p.getName(), p.getValue());
-                }
-                sce.schemaCompilerExtension(system, extensionParms);
-            }
-        }
-    }
-
-
-    private static boolean wsdlContainsEncoded(XmlObject wsdldoc)
-    {
-        // search for any <soap:body use="encoded"/> etc.
-        XmlObject[] useAttrs = wsdldoc.selectPath(
-                "declare namespace soap='http://schemas.xmlsoap.org/wsdl/soap/' " +
-                ".//soap:body/@use|.//soap:header/@use|.//soap:fault/@use");
-        for (int i = 0; i < useAttrs.length; i++)
-        {
-            if ("encoded".equals(((SimpleValue)useAttrs[i]).getStringValue()))
-                return true;
-        }
-        return false;
-    }
-
-
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompilerExtension.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompilerExtension.java
deleted file mode 100644
index 630c9b2..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompilerExtension.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.apache.xmlbeans.SchemaTypeSystem;
-
-import java.util.Map;
-
-
-/**
- * This interface is implemented by Schema Compiler Extensions.  By implementing this class
- *  you can then pass this class via the command line param <i>extension</i> to the SchemaCompiler class
- *  which will then in turn call this class back once the compilation is complete with the resulting
- *  SchemaTypeSystem.
- */
-public interface SchemaCompilerExtension {
-    /**
-     * Implement this function to be called back by the XmlBeans Schema Compiler with
-     *  the Schema Type System that has been created as a result of the compile.
-     * @param schemaTypeSystem - The schema type systems that has been created by the compiler just prior to calling
-     *   this extension class.
-     * @param parms - name value pairs of options to this schema compiler extension
-     */
-    public void schemaCompilerExtension(SchemaTypeSystem schemaTypeSystem, Map parms);
-    public String getExtensionName();
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCopy.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCopy.java
deleted file mode 100644
index 1f2c698..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCopy.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.impl.common.IOUtil;
-import org.apache.internal.xmlbeans.wsdlsubst.DefinitionsDocument;
-import org.apache.internal.xmlbeans.wsdlsubst.TImport;
-
-import java.net.URI;
-import java.net.URL;
-import java.net.URISyntaxException;
-import java.util.Map;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.io.File;
-
-import org.w3.x2001.xmlSchema.SchemaDocument;
-import org.w3.x2001.xmlSchema.ImportDocument;
-import org.w3.x2001.xmlSchema.IncludeDocument;
-
-public class SchemaCopy
-{
-
-    public static void main(String[] args)
-    {
-        if (args.length < 1 || args.length > 2)
-        {
-            System.out.println("Usage: schemacopy sourceurl [targetfile]");
-            return;
-        }
-
-        URI source = null;
-        URI target = null;
-
-        try
-        {
-            source = new URI(args[0]);
-            source.toURL(); // to trigger exception
-        }
-        catch (Exception e)
-        {
-            System.err.println("Badly formed URL " + source);
-            return;
-        }
-
-        if (args.length < 2)
-        {
-            try
-            {
-                URI dir = new File(".").getCanonicalFile().toURI();
-                String lastPart = source.getPath();
-                lastPart = lastPart.substring(lastPart.lastIndexOf('/') + 1);
-                target = CodeGenUtil.resolve(dir, URI.create(lastPart));
-            }
-            catch (Exception e)
-            {
-                System.err.println("Cannot canonicalize current directory");
-                return;
-            }
-        }
-        else
-        {
-            try
-            {
-                target = new URI(args[1]);
-                if (!target.isAbsolute())
-                    target = null;
-                else if (!target.getScheme().equals("file"))
-                    target = null;
-            }
-            catch (Exception e)
-            {
-                target = null;
-            }
-
-            if (target == null)
-            {
-                try
-                {
-                    target = new File(target).getCanonicalFile().toURI();
-                }
-                catch (Exception e)
-                {
-                    System.err.println("Cannot canonicalize current directory");
-                    return;
-                }
-            }
-        }
-
-        Map thingsToCopy = findAllRelative(source, target);
-        copyAll(thingsToCopy, true);
-    }
-
-    private static void copyAll(Map uriMap, boolean stdout)
-    {
-        for (Iterator i = uriMap.keySet().iterator(); i.hasNext(); )
-        {
-            URI source = (URI)i.next();
-            URI target = (URI)uriMap.get(source);
-            try
-            {
-                IOUtil.copyCompletely(source, target);
-            }
-            catch (Exception e)
-            {
-                if (stdout)
-                    System.out.println("Could not copy " + source + " -> " + target);
-                continue;
-            }
-            if (stdout)
-            System.out.println("Copied " + source + " -> " + target);
-        }
-    }
-
-
-    /**
-     * Copies the schema or wsdl at the source URI to the target URI, along
-     * with any relative references.  The target URI should be a file URI.
-     * If doCopy is false, the file copies are not actually done; the map
-     * returned just describes the copies that would have been done.
-     *
-     * @param source an arbitrary URI describing a source Schema or WSDL
-     * @param target a file URI describing a target filename
-     * @return a map of all the source/target URIs needed to copy
-     * the file along with all its relative referents.
-     */
-    public static Map findAllRelative(URI source, URI target)
-    {
-        Map result = new LinkedHashMap();
-        result.put(source, target);
-
-        LinkedList process = new LinkedList();
-        process.add(source);
-
-        while (!process.isEmpty())
-        {
-            URI nextSource = (URI)process.removeFirst();
-            URI nextTarget = (URI)result.get(nextSource);
-            Map nextResults = findRelativeInOne(nextSource, nextTarget);
-            for (Iterator i = nextResults.keySet().iterator(); i.hasNext(); )
-            {
-                URI newSource = (URI)i.next();
-                if (result.containsKey(newSource))
-                    continue;
-                result.put(newSource, nextResults.get(newSource));
-                process.add(newSource);
-            }
-        }
-
-        return result;
-    }
-    
-    private static final XmlOptions loadOptions = new XmlOptions().
-            setLoadSubstituteNamespaces(Collections.singletonMap(
-                    "http://schemas.xmlsoap.org/wsdl/", "http://www.apache.org/internal/xmlbeans/wsdlsubst" 
-            ));
-
-    private static Map findRelativeInOne(URI source, URI target)
-    {
-        try
-        {
-            URL sourceURL = source.toURL();
-            XmlObject xobj = XmlObject.Factory.parse(sourceURL, loadOptions);
-            XmlCursor xcur = xobj.newCursor();
-            xcur.toFirstChild();
-
-            Map result = new LinkedHashMap();
-
-            if (xobj instanceof SchemaDocument)
-                putMappingsFromSchema(result, source, target, ((SchemaDocument)xobj).getSchema());
-            else if (xobj instanceof DefinitionsDocument)
-                putMappingsFromWsdl(result, source, target, ((DefinitionsDocument)xobj).getDefinitions());
-            return result;
-        }
-        catch (Exception e)
-        {
-            // any exceptions parsing the given URL?  Then skip this file silently
-        }
-        return Collections.EMPTY_MAP;
-    }
-
-    private static void putNewMapping(Map result, URI origSource, URI origTarget, String literalURI)
-    {
-        try
-        {
-            if (literalURI == null)
-                return;
-            URI newRelative = new URI(literalURI);
-            if (newRelative.isAbsolute())
-                return;
-            URI newSource = CodeGenUtil.resolve(origSource, newRelative);
-            URI newTarget = CodeGenUtil.resolve(origTarget, newRelative);
-            result.put(newSource, newTarget);
-        }
-        catch (URISyntaxException e)
-        {
-            // uri syntax problem? do nothing silently.
-        }
-    }
-
-    private static void putMappingsFromSchema(Map result, URI source, URI target, SchemaDocument.Schema schema)
-    {
-        ImportDocument.Import[] imports = schema.getImportArray();
-        for (int i = 0; i < imports.length; i++)
-            putNewMapping(result, source, target, imports[i].getSchemaLocation());
-
-        IncludeDocument.Include[] includes = schema.getIncludeArray();
-        for (int i = 0; i < includes.length; i++)
-            putNewMapping(result, source, target, includes[i].getSchemaLocation());
-    }
-
-    private static void putMappingsFromWsdl(Map result, URI source, URI target, DefinitionsDocument.Definitions wdoc)
-    {
-        XmlObject[] types = wdoc.getTypesArray();
-        for (int i = 0; i < types.length; i++)
-        {
-            SchemaDocument.Schema[] schemas = (SchemaDocument.Schema[])types[i].selectPath("declare namespace xs='http://www.w3.org/2001/XMLSchema' xs:schema");
-            for (int j = 0; j < schemas.length; j++)
-                putMappingsFromSchema(result, source, target, schemas[j]);
-        }
-
-        TImport[] imports = wdoc.getImportArray();
-        for (int i = 0; i < imports.length; i++)
-            putNewMapping(result, source, target, imports[i].getLocation());
-    }
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaImportResolver.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaImportResolver.java
deleted file mode 100644
index 703c82f..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaImportResolver.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.w3.x2001.xmlSchema.SchemaDocument.Schema;
-import org.w3.x2001.xmlSchema.ImportDocument.Import;
-import org.w3.x2001.xmlSchema.IncludeDocument.Include;
-
-import java.util.LinkedList;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Arrays;
-
-public abstract class SchemaImportResolver
-{
-    /**
-     * Called when the ImportLoader wishes to resolve the
-     * given import.  Should return a SchemaResource whose
-     * "equals" relationship reveals when a SchemaResource is
-     * duplicated and shouldn't be examined again.
-     *
-     * Returns null if the resource reference should be ignored.
-     */
-    public abstract SchemaResource lookupResource(String nsURI, String URL);
-
-    /**
-     * Called to notify that the expected namespace is different from the
-     * actual namespace, or if no namespace is known, to report the
-     * discovered namespace.
-     */
-    public abstract void reportActualNamespace(SchemaResource resource, String actualNamespace);
-
-    /**
-     * Used to supply a schema resource with an optional associated
-     * expected-namespace-URI and original-location-URL.
-     *
-     * The equals (and hashCode) implementations of the SchemaResource
-     * objects will be used to avoid examining the same resource twice;
-     * these must be implemented according to the desired rules for
-     * determining that two resources are the same.
-     */
-    public interface SchemaResource
-    {
-        /**
-         * Returns a parsed schema object.
-         */
-
-        public Schema getSchema();
-
-        public String getNamespace();
-        public String getSchemaLocation();
-    }
-
-    protected final void resolveImports(SchemaResource[] resources)
-    {
-        LinkedList queueOfResources = new LinkedList(Arrays.asList(resources));
-        LinkedList queueOfLocators = new LinkedList();
-        Set seenResources = new HashSet();
-
-        for (;;)
-        {
-            SchemaResource nextResource;
-
-            // fetch next resource.
-            if (!queueOfResources.isEmpty())
-            {
-                // either off the initial queue
-                nextResource = (SchemaResource)queueOfResources.removeFirst();
-            }
-            else if (!queueOfLocators.isEmpty())
-            {
-                // or off the list of locators
-                SchemaLocator locator = (SchemaLocator)queueOfLocators.removeFirst();
-                nextResource = lookupResource(locator.namespace, locator.schemaLocation);
-                if (nextResource == null)
-                    continue;
-            }
-            else
-            {
-                // if no more, then terminate loop
-                break;
-            }
-
-            // track and skip duplicates
-            if (seenResources.contains(nextResource))
-                continue;
-            seenResources.add(nextResource);
-
-            // get resource contents
-            Schema schema = nextResource.getSchema();
-            if (schema == null)
-                continue;
-
-            // check actual namespace
-            String actualTargetNamespace = schema.getTargetNamespace();
-            if (actualTargetNamespace == null)
-                actualTargetNamespace = "";
-
-            // report actual namespace
-            String expectedTargetNamespace = nextResource.getNamespace();
-            if (expectedTargetNamespace == null ||
-                    !actualTargetNamespace.equals(expectedTargetNamespace))
-            {
-                reportActualNamespace(nextResource, actualTargetNamespace);
-            }
-
-            // now go through and record all the imports
-            Import[] schemaImports = schema.getImportArray();
-            for (int i = 0; i < schemaImports.length; i++)
-            {
-                queueOfLocators.add(new SchemaLocator(schemaImports[i].getNamespace() == null ? "" : schemaImports[i].getNamespace(), schemaImports[i].getSchemaLocation()));
-            }
-            
-            // and record all the includes too
-            Include[] schemaIncludes = schema.getIncludeArray();
-            for (int i = 0; i < schemaIncludes.length; i++)
-            {
-                queueOfLocators.add(new SchemaLocator(null, schemaIncludes[i].getSchemaLocation()));
-            }
-        }
-    }
-
-    private static class SchemaLocator
-    {
-        public SchemaLocator(String namespace, String schemaLocation)
-        {
-            this.namespace = namespace;
-            this.schemaLocation = schemaLocation;
-        }
-
-        public final String namespace;
-        public final String schemaLocation;
-    }
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaResourceManager.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaResourceManager.java
deleted file mode 100644
index 2d88234..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaResourceManager.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.apache.xmlbeans.impl.common.IOUtil;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.io.FileFilter;
-import java.io.OutputStream;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.HashSet;
-import java.util.Set;
-
-public class SchemaResourceManager extends BaseSchemaResourceManager
-{
-    public static void main(String[] args) throws IOException
-    {
-        if (args.length == 0)
-        {
-            System.out.println("Maintains \"xsdownload.xml\", an index of locally downloaded .xsd files");
-            System.out.println("usage: sdownload [-dir directory] [-refresh] [-recurse] [-sync] [url/file...]");
-            System.out.println("");
-            System.out.println("URLs that are specified are downloaded if they aren't already cached.");
-            System.out.println("In addition:");
-            System.out.println("  -dir specifies the directory for the xsdownload.xml file (default .).");
-            System.out.println("  -sync synchronizes the index to any local .xsd files in the tree.");
-            System.out.println("  -recurse recursively downloads imported and included .xsd files.");
-            System.out.println("  -refresh redownloads all indexed .xsd files.");
-            System.out.println("If no files or URLs are specified, all indexed files are relevant.");
-            System.exit(0);
-            return;
-        }
-
-        Set opts = new HashSet();
-        opts.add("dir");
-        CommandLine cl = new CommandLine(args, opts);
-        if (cl.getOpt("license") != null)
-        {
-            CommandLine.printLicense();
-            System.exit(0);
-            return;
-        }
-        
-        args = cl.args();
-
-        boolean sync = (cl.getOpt("sync") != null);
-        boolean refresh = (cl.getOpt("refresh") != null);
-        boolean imports = (cl.getOpt("recurse") != null);
-        String dir = cl.getOpt("dir");
-        if (dir == null)
-            dir = ".";
-        File directory = new File(dir);
-
-        SchemaResourceManager mgr;
-        try
-        {
-            mgr = new SchemaResourceManager(directory);
-        }
-        catch (IllegalStateException e)
-        {
-            if (e.getMessage() != null)
-                System.out.println(e.getMessage());
-            else
-                e.printStackTrace();
-            System.exit(1);
-            return;
-        }
-
-        List uriList = new ArrayList();
-        List fileList = new ArrayList();
-        for (int i = 0; i < args.length; i++)
-        {
-            if (looksLikeURL(args[i]))
-            {
-                uriList.add(args[i]);
-            }
-            else
-            {
-                fileList.add(new File(directory, args[i]));
-            }
-        }
-
-        // deal with files that are not in the proper directory
-        for (Iterator i = fileList.iterator(); i.hasNext(); )
-        {
-            File file = (File)i.next();
-            if (!isInDirectory(file, directory))
-            {
-                System.err.println("File not within directory: " + file);
-                i.remove();
-            }
-        }
-
-        // deal with directories
-        fileList = collectXSDFiles((File[])fileList.toArray(new File[0]));
-
-        String[] uris = (String[])uriList.toArray(new String[0]);
-        File[] files = (File[])fileList.toArray(new File[0]);
-        String[] filenames = relativeFilenames(files, directory);
-
-        if (uris.length + filenames.length > 0)
-        {
-            mgr.process(uris, filenames, sync, refresh, imports);
-        }
-        else
-        {
-            mgr.processAll(sync, refresh, imports);
-        }
-
-        mgr.writeCache();
-        System.exit(0);
-    }
-
-    private static boolean looksLikeURL(String str)
-    {
-        return str.startsWith("http:") || str.startsWith("https:") || str.startsWith("ftp:") || str.startsWith("file:");
-    }
-
-    private static String relativeFilename(File file, File directory)
-    {
-        if (file == null || file.equals(directory))
-            return ".";
-        return relativeFilename(file.getParentFile(), directory) + "/" + file.getName();
-    }
-
-    private static String[] relativeFilenames(File[] files, File directory)
-    {
-        String[] result = new String[files.length];
-        for (int i = 0; i < files.length; i++)
-        {
-            result[i] = relativeFilename(files[i], directory);
-        }
-        return result;
-    }
-
-    private static boolean isInDirectory(File file, File dir)
-    {
-        if (file == null)
-            return false;
-        if (file.equals(dir))
-            return true;
-        return isInDirectory(file.getParentFile(), dir);
-    }
-
-
-
-
-
-    public SchemaResourceManager(File directory)
-    {
-        _directory = directory;
-        init();
-    }
-
-    private File _directory;
-
-
-    // SOME METHODS TO OVERRIDE ============================
-
-    /**
-     * Sends messages to System.out.
-     */
-    protected void warning(String msg)
-    {
-        System.out.println(msg);
-    }
-
-    /**
-     * Returns true if the given filename exists.  The filenames
-     * are of the form "/foo/bar/zee.xsd" and should be construed
-     * as rooted at the root of the project.
-     */
-    protected boolean fileExists(String filename)
-    {
-        return (new File(_directory, filename)).exists();
-    }
-
-    /**
-     * Gets the data in the given filename as an InputStream.
-     */
-    protected InputStream inputStreamForFile(String filename) throws IOException
-    {
-        return new FileInputStream(new File(_directory, filename));
-    }
-
-    /**
-     * Writes an entire file in one step.  An InputStream is passed and
-     * copied to the file.
-     */
-    protected void writeInputStreamToFile(InputStream input, String filename) throws IOException
-    {
-        File targetFile = new File(_directory, filename);
-
-        File parent = targetFile.getParentFile();
-        if (!parent.exists())
-            parent.mkdirs();
-        OutputStream output = new FileOutputStream(targetFile);
-        IOUtil.copyCompletely(input, output);
-    }
-
-    /**
-     * Deletes a file.  Sometimes immediately after writing a new file
-     * we notice that it's exactly the same as an existing file and
-     * we delete it. We never delete a file that was given to us
-     * by the user.
-     */
-    protected void deleteFile(String filename)
-    {
-        new File(_directory, filename).delete();
-    }
-
-    /**
-     * Returns a list of all the XSD filesnames in the project.
-     */
-    protected String[] getAllXSDFilenames()
-    {
-        File[] allFiles = (File[])collectXSDFiles(new File[] { _directory }).toArray(new File[0]);
-        return relativeFilenames(allFiles, _directory);
-    }
-
-    /**
-     * Simple recursive file filter to do the above.
-     */
-    private static List collectXSDFiles(File[] dirs)
-    {
-        List files = new ArrayList();
-        for (int i = 0; i < dirs.length; i++)
-        {
-            File f = dirs[i];
-            if (!f.isDirectory())
-            {
-                files.add(f);
-            }
-            else
-            {
-                files.addAll(collectXSDFiles(
-                    f.listFiles(new FileFilter()
-                    {
-                        public boolean accept(File file)
-                            { return file.isDirectory() ||
-                              file.isFile() &&
-                              file.getName().endsWith(".xsd"); }
-                    }
-                )));
-            }
-        }
-        return files;
-    }
-
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/TypeHierarchyPrinter.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/TypeHierarchyPrinter.java
deleted file mode 100644
index 38e3632..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/TypeHierarchyPrinter.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Arrays;
-import java.io.File;
-
-import org.w3.x2001.xmlSchema.SchemaDocument;
-
-public class TypeHierarchyPrinter
-{
-    public static void main(String[] args) throws Exception
-    {
-        CommandLine cl = new CommandLine(args, Collections.EMPTY_SET);
-        if (cl.getOpt("license") != null)
-        {
-            CommandLine.printLicense();
-            System.exit(0);
-            return;
-        }
-        if (cl.args().length == 0)
-        {
-            System.out.println("Prints inheritance hierarchy of types defined in a schema.");
-            System.out.println("Usage: xsdtree [-noanon] [-nopvr] [-noupa] [-license] file1.xsd file2.xsd ...");
-            return;
-        }
-        
-        boolean noanon = (cl.getOpt("noanon") != null);
-        boolean nopvr = (cl.getOpt("nopvr") != null);
-        boolean noupa = (cl.getOpt("noupa") != null);
-        
-        File[] schemaFiles = cl.getFiles();
-        
-        // step 1: load all the files
-        List sdocs = new ArrayList();
-        for (int i = 0; i < schemaFiles.length; i++)
-        {
-            try
-            {
-                sdocs.add(
-                    SchemaDocument.Factory.parse(
-                        schemaFiles[i], (new XmlOptions()).setLoadLineNumbers()));
-            }
-            catch (Exception e)
-            {
-                System.err.println( schemaFiles[i] + " not loadable: " + e );
-            }
-        }
-        
-
-        XmlObject[] schemas = (XmlObject[])sdocs.toArray(new XmlObject[0]);
-        
-        // step 2: compile all the schemas
-        SchemaTypeSystem typeSystem;
-        Collection compErrors = new ArrayList();
-        XmlOptions schemaOptions = new XmlOptions();
-        schemaOptions.setErrorListener(compErrors);
-        schemaOptions.setCompileDownloadUrls();
-        if (nopvr)
-            schemaOptions.setCompileNoPvrRule();
-        if (noupa)
-            schemaOptions.setCompileNoUpaRule();
-        
-        try
-        {
-            typeSystem = XmlBeans.compileXsd(schemas, XmlBeans.getBuiltinTypeSystem(), schemaOptions);
-        }
-        catch (XmlException e)
-        {
-            System.out.println("Schema invalid");
-            if (compErrors.isEmpty())
-                System.out.println(e.getMessage());
-            else for (Iterator i = compErrors.iterator(); i.hasNext(); )
-                System.out.println(i.next());
-            return;
-        }
-        
-        // step 3: go through all the types, and note their base types and namespaces
-        Map prefixes = new HashMap();
-        prefixes.put("http://www.w3.org/XML/1998/namespace", "xml");
-        prefixes.put("http://www.w3.org/2001/XMLSchema", "xs");
-        System.out.println("xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"");
-        
-        // This will be a map of (base SchemaType -> Collection of directly dervied types)
-        Map childTypes = new HashMap();
-        
-        // breadthfirst traversal of the type containment tree
-        List allSeenTypes = new ArrayList();
-        allSeenTypes.addAll(Arrays.asList(typeSystem.documentTypes()));
-        allSeenTypes.addAll(Arrays.asList(typeSystem.attributeTypes()));
-        allSeenTypes.addAll(Arrays.asList(typeSystem.globalTypes()));
-
-        for (int i = 0; i < allSeenTypes.size(); i++)
-        {
-            SchemaType sType = (SchemaType)allSeenTypes.get(i);
-            
-            // recurse through nested anonymous types as well
-            if (!noanon)
-                allSeenTypes.addAll(Arrays.asList(sType.getAnonymousTypes()));
-            
-            // we're not interested in document types, attribute types, or chasing the base type of anyType
-            if (sType.isDocumentType() || sType.isAttributeType() || sType == XmlObject.type)
-                continue;
-            
-            // assign a prefix to the namespace of this type if needed
-            noteNamespace(prefixes, sType);
-            
-            // enter this type in the list of children of its base type
-            Collection children = (Collection)childTypes.get(sType.getBaseType());
-            if (children == null)
-            {
-                children = new ArrayList();
-                childTypes.put(sType.getBaseType(), children);
-                
-                // the first time a builtin type is seen, add it too (to get a complete tree up to anyType)
-                if (sType.getBaseType().isBuiltinType())
-                    allSeenTypes.add(sType.getBaseType());
-            }
-            children.add(sType);
-        }
-        
-        // step 4: print the tree, starting from xs:anyType (i.e., XmlObject.type)
-        List typesToPrint = new ArrayList();
-        typesToPrint.add(XmlObject.type);
-        StringBuffer spaces = new StringBuffer();
-        while (!typesToPrint.isEmpty())
-        {
-            SchemaType sType = (SchemaType)typesToPrint.remove(typesToPrint.size() - 1);
-            if (sType == null)
-                spaces.setLength(Math.max(0, spaces.length() - 2));
-            else
-            {
-                System.out.println(spaces + "+-" + QNameHelper.readable(sType, prefixes) + notes(sType));
-                Collection children = (Collection)childTypes.get(sType);
-                if (children != null && children.size() > 0)
-                {
-                    spaces.append(typesToPrint.size() == 0 || typesToPrint.get(typesToPrint.size() - 1) == null ? "  " : "| ");
-                    typesToPrint.add(null);
-                    typesToPrint.addAll(children);
-                }
-            }
-        }
-    }
-    
-    private static String notes(SchemaType sType)
-    {
-        if (sType.isBuiltinType())
-            return " (builtin)";
-        
-        if (sType.isSimpleType())
-        {
-            switch (sType.getSimpleVariety())
-            {
-                case SchemaType.LIST:
-                    return " (list)";
-                case SchemaType.UNION:
-                    return " (union)";
-                default:
-                    if (sType.getEnumerationValues() != null)
-                        return " (enumeration)";
-                    return "";
-            }
-        }
-        
-        switch (sType.getContentType())
-        {
-            case SchemaType.MIXED_CONTENT:
-                return " (mixed)";
-            case SchemaType.SIMPLE_CONTENT:
-                return " (complex)";
-            default:
-                return "";
-        }
-    }
-    
-    private static void noteNamespace(Map prefixes, SchemaType sType)
-    {
-        String namespace = QNameHelper.namespace(sType);
-        if (namespace.equals("") || prefixes.containsKey(namespace))
-            return;
-        
-        String base = QNameHelper.suggestPrefix(namespace);
-        String result = base;
-        for (int n = 0; prefixes.containsValue(result); n += 1)
-        {
-            result = base + n;
-        }
-        
-        prefixes.put(namespace, result);
-        System.out.println("xmlns:" + result + "=\"" + namespace + "\"");
-    }
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XMLBean.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XMLBean.java
deleted file mode 100644
index d118fa1..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XMLBean.java
+++ /dev/null
@@ -1,736 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.apache.tools.ant.types.Path;
-import org.apache.tools.ant.types.FileSet;
-import org.apache.tools.ant.types.Reference;
-import org.apache.tools.ant.taskdefs.MatchingTask;
-import org.apache.tools.ant.taskdefs.Javac;
-import org.apache.tools.ant.taskdefs.Jar;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.FileScanner;
-import org.apache.tools.ant.Project;
-
-import java.io.File;
-import java.io.StringWriter;
-import java.io.PrintWriter;
-import java.util.*;
-import java.net.URI;
-
-import org.apache.xmlbeans.XmlError;
-
-/**
- * Modeled after Ant's javac and zip tasks.
- *
- * Schema files to process, or directories of schema files, are set with the 'schema'
- * attribute, and can be filtered with 'includes' and 'excludes'.
- * Alternatively, one or more nested &lt;fileset&gt; elements can specify the 
- * files and directories to be used to generate this XMLBean.
- * The include set can also define .java files that should be built as well.  
- * See the FileSet documentation at http://jakarta.apache.org/ant/manual/index.html
- * for instructions on FileSets if you are unfamiliar with their usage.
- */
-
-public class XMLBean extends MatchingTask
-{
-    private ArrayList   schemas = new ArrayList();
-    
-    private Path        classpath;
-    
-    private File        destfile,
-                        schema,
-                        srcgendir,
-                        classgendir;
-    
-    private boolean     quiet,
-                        verbose,
-                        debug,
-                        optimize,
-                        download,
-                        srconly,
-                        failonerror = true,
-                        fork = true,
-                        includeAntRuntime = true,
-                        includeJavaRuntime = false;
-    
-    private String      typesystemname,
-                        forkedExecutable,
-                        compiler,
-                        debugLevel,
-                        memoryInitialSize,
-                        memoryMaximumSize;
-    
-    private List        extensions = new ArrayList();
-
-    private HashMap     _extRouter = new HashMap(5);
-
-    private static final String XSD = ".xsd",
-                                WSDL = ".wsdl",
-                                JAVA = ".java",
-                                XSDCONFIG = ".xsdconfig";
-
-
-    public void execute() throws BuildException
-    {
-        /* VALIDATION */
-        //required
-        if (schemas.size() == 0
-            && schema == null
-            && fileset.getDir(project) == null)
-        {
-            String msg = "The 'schema' or 'dir' attribute or a nested fileset is required.";
-            if (failonerror)
-                throw new BuildException(msg);
-            else
-            {
-                log(msg, Project.MSG_ERR);
-                return;
-            }
-        }
-        
-        _extRouter.put(XSD, new HashSet());
-        _extRouter.put(WSDL, new HashSet());
-        _extRouter.put(JAVA, new HashSet());
-        _extRouter.put(XSDCONFIG, new HashSet());
-
-        File theBasedir = schema;
-
-        if (schema != null)
-        {
-            if (schema.isDirectory())
-            {
-                FileScanner scanner = getDirectoryScanner(schema);
-                String[] paths = scanner.getIncludedFiles();
-                processPaths(paths, scanner.getBasedir());
-            }
-            else
-            {
-                theBasedir = schema.getParentFile();
-                processPaths(new String[] { schema.getName() }, theBasedir);
-            }
-        }
-        
-        if (fileset.getDir(project) != null)
-            schemas.add(fileset);
-        
-        Iterator si = schemas.iterator();
-        while (si.hasNext())
-        {
-            FileSet fs = (FileSet) si.next();
-            FileScanner scanner = fs.getDirectoryScanner(project);
-            File basedir = scanner.getBasedir();
-            String[] paths = scanner.getIncludedFiles();
-
-            processPaths(paths, basedir);
-        }
-
-        Set xsdList = (Set) _extRouter.get(XSD);
-        Set wsdlList = (Set) _extRouter.get(WSDL);
-        
-        if (xsdList.size() + wsdlList.size() == 0)
-        {
-            log("Could not find any xsd or wsdl files to process.", Project.MSG_WARN);
-            return;
-        }
-
-        //optional
-        Set javaList = (Set) _extRouter.get(JAVA);
-        Set xsdconfigList = (Set) _extRouter.get(XSDCONFIG);
-
-        if (srcgendir == null && srconly)
-            srcgendir = classgendir;
-
-        if (destfile == null && classgendir == null && ! srconly)
-            destfile = new File("xmltypes.jar");
-
-        if (verbose)
-            quiet = false;
-
-        /* EXECUTION */
-
-        File[] xsdArray = (File[]) xsdList.toArray(new File[xsdList.size()]);
-        File[] wsdlArray = (File[]) wsdlList.toArray(new File[wsdlList.size()]);
-        File[] javaArray = (File[]) javaList.toArray(new File[javaList.size()]);
-        File[] xsdconfigArray = (File[]) xsdconfigList.toArray(new File[xsdconfigList.size()]);
-        ErrorLogger err = new ErrorLogger(verbose);
-
-        boolean success = false;
-
-        try
-        {
-            // create a temp directory
-            File tmpdir = null;
-            if (srcgendir == null || classgendir == null)
-            {
-                tmpdir = SchemaCodeGenerator.createTempDir();
-            }
-            if (srcgendir == null)
-                srcgendir = SchemaCodeGenerator.createDir(tmpdir, "src");
-            if (classgendir == null)
-                classgendir = SchemaCodeGenerator.createDir(tmpdir, "classes");
-            
-            // use the system classpath if user didn't provide any
-            if (classpath == null)
-            {
-                classpath = new Path(project);
-                classpath.concatSystemClasspath();
-            }
-        
-            // prepend the output directory on the classpath
-            Path.PathElement pathElement = classpath.createPathElement();
-            pathElement.setLocation(classgendir);
-        
-            String[] paths = classpath.list();
-            File[] cp = new File[paths.length];
-            for (int i = 0; i < paths.length; i++)
-                cp[i] = new File(paths[i]);
-        
-            // generate the source
-            SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-            params.setBaseDir(theBasedir);
-            params.setXsdFiles(xsdArray);
-            params.setWsdlFiles(wsdlArray);
-            params.setJavaFiles(javaArray);
-            params.setConfigFiles(xsdconfigArray);
-            params.setClasspath(cp);
-            //params.setOutputJar(destfile); // always use the jar task below
-            params.setName(typesystemname);
-            params.setSrcDir(srcgendir);
-            params.setClassesDir(classgendir);
-            params.setNojavac(true); // always compile using javac task below
-            params.setDebug(debug);
-            params.setVerbose(verbose);
-            params.setQuiet(quiet);
-            params.setDownload(download);
-            params.setExtensions(extensions);
-            params.setErrorListener(err);
-            success = SchemaCompiler.compile(params);
-
-            if (success && !srconly) {
-                long start = System.currentTimeMillis();
-
-                // compile the source
-                Javac javac = new Javac();
-                javac.setProject(project);
-                javac.setTaskName(getTaskName());
-                javac.setClasspath(classpath);
-                if (compiler != null) javac.setCompiler(compiler);
-                javac.setDebug(debug);
-                if (debugLevel != null) javac.setDebugLevel(debugLevel);
-                javac.setDestdir(classgendir);
-                javac.setExecutable(forkedExecutable);
-                javac.setFailonerror(failonerror);
-                javac.setFork(fork);
-                javac.setIncludeantruntime(includeAntRuntime);
-                javac.setIncludejavaruntime(includeJavaRuntime);
-                javac.setSrcdir(new Path(project, srcgendir.getAbsolutePath()));
-                if (memoryInitialSize != null) javac.setMemoryInitialSize(memoryInitialSize);
-                if (memoryMaximumSize != null) javac.setMemoryMaximumSize(memoryMaximumSize);
-                javac.setOptimize(optimize);
-                javac.setVerbose(verbose);
-                javac.execute();
-
-                long finish = System.currentTimeMillis();
-                if (!quiet)
-                    log("Time to compile code: " + ((double)(finish - start) / 1000.0) + " seconds");
-
-                if (destfile != null)
-                {
-                    // jar the compiled classes
-                    Jar jar = new Jar();
-                    jar.setProject(project);
-                    jar.setTaskName(getTaskName());
-                    jar.setBasedir(classgendir);
-                    jar.setDestFile(destfile);
-                    jar.execute();
-                }
-            }
-
-            if (tmpdir != null) {
-                SchemaCodeGenerator.tryHardToDelete(tmpdir);
-            }
-        }
-        catch (Throwable e)
-        {
-            //interrupted means cancel
-            if (e instanceof InterruptedException)
-                throw new BuildException(e);
-            
-            log("Exception while building schemas: " + e.getMessage(), Project.MSG_ERR);
-            StringWriter sw = new StringWriter();
-            e.printStackTrace(new PrintWriter(sw));
-            log(sw.toString(), Project.MSG_VERBOSE);
-        }
-
-        if (!success && failonerror)
-            throw new BuildException(); //stop the build
-    }
-
-    private void processPaths(String[] paths, File baseDir)
-    {
-        for (int i = 0; i < paths.length; i++)
-        {
-            int dot = paths[i].lastIndexOf('.');
-            if (dot > -1)
-            {
-                String path = paths[i];
-                String possExt = path.substring(dot).toLowerCase();
-                Set set = (Set) _extRouter.get(possExt);
-
-                if (set != null)
-                    set.add(new File(baseDir, path));
-            }
-        }
-    }
-
-    public void addFileset(FileSet fileset)
-    {
-        schemas.add(fileset);
-    }
-
-    /////////////////////////////
-    //Getter/Setters
-    public File getSchema()
-    {
-        return schema;
-    }
-
-    /**
-     * A file that points to either an individual schema file or a directory of files.
-     * It is optional only if one or more &lt;fileset&gt; elements are nested in this
-     * task.
-     * @param schema Required, unless a fileset element is nested.
-     */
-    public void setSchema(File schema)
-    {
-        this.schema = schema;
-    }
-
-    /**
-     * The classpath to use if schemas in the fileset import definitions that are
-     * supplied by other compiled xml beans JAR files, or if .java files are in the
-     * schema fileset.
-     * @param classpath Optional.
-     */ 
-    public void setClasspath(Path classpath)
-    {
-        if (this.classpath != null)
-            this.classpath.append(classpath);
-        else
-            this.classpath = classpath;
-    }
-    
-    /**
-     * Adds a path to the classpath.
-     */
-    public Path createClasspath() {
-        if (classpath == null) {
-            classpath = new Path(project);
-        }
-        return classpath.createPath();
-    }
-
-    /**
-     * Adds a reference to a classpath defined elsewhere.
-     * @param classpathref Optional.
-     */
-    public void setClasspathRef(Reference classpathref)
-    {
-        if (classpath == null)
-            classpath = new Path(project);
-        
-        classpath.createPath().setRefid(classpathref);
-    }
-    
-    public Path getClasspath()
-    {
-        return classpath;
-    }
-
-    public File getDestfile()
-    {
-        return destfile;
-    }
-
-    /**
-     * Define the name of the jar file created.  For instance, "myXMLBean.jar"
-     * will output the results of this task into a jar with the same name.
-     * Optional, defaults to "xmltypes.jar".
-     * @param destfile Optional.
-     */ 
-    public void setDestfile(File destfile)
-    {
-        this.destfile = destfile;
-    }
-
-    public File getSrcgendir()
-    {
-        return srcgendir;
-    }
-
-    /**
-     * Set a location to generate .java files into.  Optional, defaults to
-     * a temp dir.
-     * @param srcgendir Optional.
-     */ 
-    public void setSrcgendir(File srcgendir)
-    {
-        this.srcgendir = srcgendir;
-    }
-
-    public File getClassgendir()
-    {
-        return classgendir;
-    }
-
-    /**
-     * Set a location to generate .class files into.  Optional, defaults to
-     * a temp dir.
-     * @param classgendir Optional.
-     */ 
-    public void setClassgendir(File classgendir)
-    {
-        this.classgendir = classgendir;
-    }
-
-    /**
-     * Choose the implementation for this particular task.
-     *
-     * @since Ant 1.5
-     */
-    public void setCompiler(String compiler)
-    {
-        this.compiler = compiler;
-    }
-    
-    public boolean isDownload()
-    {
-        return download;
-    }
-
-    /**
-     * Set to true to permit the compiler to download URLs for imports
-     * and includes.  Defaults to false, meaning all imports and includes
-     * must be copied locally.
-     * @param download Optional.
-     */
-    public void setDownload(boolean download)
-    {
-        this.download = download;
-    }
-
-    /**
-     * If true, compiles with optimization enabled.
-     */
-    public void setOptimize(boolean optimize) {
-        this.optimize = optimize;
-    }
-
-    /** Gets the optimize flag. */
-    public boolean getOptimize() {
-        return optimize;
-    }
-
-    public boolean isVerbose()
-    {
-        return verbose;
-    }
-
-    /**
-     * Controls the amount of output.  Defaults to true.
-     * @param verbose Optional.
-     */ 
-    public void setVerbose(boolean verbose)
-    {
-        this.verbose = verbose;
-    }
-
-    public boolean isQuiet()
-    {
-        return quiet;
-    }
-
-    /**
-     * Controls the amount of output.  Defaults to false.
-     * @param quiet Optional.
-     */ 
-    public void setQuiet(boolean quiet)
-    {
-        this.quiet = quiet;
-    }
-
-    public boolean isDebug()
-    {
-        return debug;
-    }
-
-    /**
-     * Get the value of debugLevel.
-     * @return value of debugLevel.
-     */
-    public String getDebugLevel() {
-        return debugLevel;
-    }
-
-    /**
-     * Keyword list to be appended to the -g command-line switch.
-     *
-     * This will be ignored by all implementations except modern
-     * and classic(ver >= 1.2). Legal values are none or a
-     * comma-separated list of the following keywords: lines, vars,
-     * and source. If debuglevel is not specified, by default, :none
-     * will be appended to -g. If debug is not turned on, this attribute
-     * will be ignored.
-     *
-     * @param v  Value to assign to debugLevel.
-     */
-    public void setDebugLevel(String  v) {
-        this.debugLevel = v;
-    }
-
-    /**
-     * Generate debugging symbols.
-     * @param debug Optional.
-     */ 
-    public void setDebug(boolean debug)
-    {
-        this.debug = debug;
-    }
-
-    /**
-     * If true, forks the javac compiler.
-     *
-     * @param f "true|false|on|off|yes|no"
-     */
-    public void setFork(boolean f) {
-        fork = f;
-    }
-
-    /**
-     * Sets the the name of the javac executable.
-     *
-     * <p>Ignored unless fork is true or extJavac has been specified
-     * as the compiler.</p>
-     */
-    public void setExecutable(String forkExec) {
-        forkedExecutable = forkExec;
-    }
-
-    public String getExecutable() {
-        return forkedExecutable;
-    }
-
-    public boolean isSrconly()
-    {
-        return srconly;
-    }
-
-    /**
-     * A value of true means that only source will be generated.  Optional,
-     * default is false.
-     * @param srconly Optional.
-     */ 
-    public void setSrconly(boolean srconly)
-    {
-        this.srconly = srconly;
-    }
- 
-    public String getTypesystemname()
-    {
-        return typesystemname;
-    }
-
-    /**
-     * One or more SchemaCompiler extensions can be passed in via the &lt;extension> subelement.
-     *  Schema Compiler extensions must implement the interface com.xbean.too.SchemaCompilerExtension
-     */
-    public Extension createExtension() {
-        Extension e = new Extension();
-        extensions.add(e);
-        return e;
-    }
-
-    /**
-     * The name of the package that the TypeSystemHolder class should be 
-     * generated in. Normally this should be left unspecified.  None of
-     * the xml beans are generated in this package.
-     * <BR><BR>Use .xsdconfig files to modify xml bean package or class names.
-     * @param typesystemname Optional.
-     */ 
-    public void setTypesystemname(String typesystemname)
-    {
-        this.typesystemname = typesystemname;
-    }
-
-    public boolean isFailonerror()
-    {
-        return failonerror;
-    }
-
-    /**
-     * Determines whether or not the ant target will continue if the XMLBean
-     * creation encounters a build error.  Defaults to true.  Optional.
-     * @param failonerror Optional.
-     */ 
-    public void setFailonerror(boolean failonerror)
-    {
-        this.failonerror = failonerror;
-    }
-
-    public boolean isIncludeAntRuntime()
-    {
-        return includeAntRuntime;
-    }
-
-    public void setIncludeAntRuntime(boolean includeAntRuntime)
-    {
-        this.includeAntRuntime = includeAntRuntime;
-    }
-
-    public boolean isIncludeJavaRuntime()
-    {
-        return includeJavaRuntime;
-    }
-
-    public void setIncludeJavaRuntime(boolean includeJavaRuntime)
-    {
-        this.includeJavaRuntime = includeJavaRuntime;
-    }
-
-    /**
-     * Set the initial memory size of the underlying javac process.
-     */
-    public String getMemoryInitialSize()
-    {
-        return memoryInitialSize;
-    }
-
-    public void setMemoryInitialSize(String memoryInitialSize)
-    {
-        this.memoryInitialSize = memoryInitialSize;
-    }
-
-    /**
-     * Set the maximum memory size of the underlying javac process.
-     */
-    public String getMemoryMaximumSize()
-    {
-        return memoryMaximumSize;
-    }
-
-    public void setMemoryMaximumSize(String memoryMaximumSize)
-    {
-        this.memoryMaximumSize = memoryMaximumSize;
-    }
-
-    private static URI uriFromFile(File f)
-    {
-        if (f == null)
-            return null;
-
-        try
-        {
-            return f.getCanonicalFile().toURI();
-        }
-        catch(java.io.IOException e)
-        {
-            // Don't spit out an exception here because on Windows you'll get one
-            // if the filename is "aux", "lpt1", etc. It's the caller's responsibility
-            // to deal with those cases correctly, usually by calling FileSvc.invalidPathCheck()
-            // MessageSvc.get().logException(e);
-            return f.getAbsoluteFile().toURI();
-        }
-    }
-
-    public class ErrorLogger extends AbstractCollection
-    {
-        private boolean _noisy;
-        private URI _baseURI;
-
-        public ErrorLogger(boolean noisy)
-        {
-            _noisy = noisy;
-            _baseURI = uriFromFile(project.getBaseDir());
-        }
-
-        public boolean add(Object o)
-        {
-            if (o instanceof XmlError)
-            {
-                XmlError err = (XmlError)o;
-                if (err.getSeverity() == XmlError.SEVERITY_ERROR)
-                    log(err.toString(_baseURI), Project.MSG_ERR);
-                else if (err.getSeverity() == XmlError.SEVERITY_WARNING)
-                    log(err.toString(_baseURI), Project.MSG_WARN);
-                else if (_noisy)
-                    log(err.toString(_baseURI), Project.MSG_INFO);
-            }
-            return false;
-        }
-
-        public Iterator iterator()
-        {
-            return Collections.EMPTY_LIST.iterator();
-        }
-
-        public int size()
-        {
-            return 0;
-        }
-    }
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XMLBeanXSTCHarness.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XMLBeanXSTCHarness.java
deleted file mode 100644
index 02afc9b..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XMLBeanXSTCHarness.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.XmlException;
-
-import java.util.Collection;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-public class XMLBeanXSTCHarness implements XSTCTester.Harness
-{
-    public void runTestCase(XSTCTester.TestCaseResult result)
-    {
-        XSTCTester.TestCase testCase = result.getTestCase();
-        
-        // System.out.println("Running case " + testCase.getDescription());
-        
-        try
-        {
-            Collection errors = new ArrayList();
-            boolean schemaValid = true;
-            boolean instanceValid = true;
-            
-            if (testCase.getSchemaFile() == null)
-                return;
-            
-            // step 1, load schema file etc.
-            SchemaTypeLoader loader = null;
-            try
-            {
-                XmlObject schema = XmlObject.Factory.parse(testCase.getSchemaFile(), new XmlOptions().setErrorListener(errors).setLoadLineNumbers());
-                XmlObject schema2 = null;
-                if (testCase.getResourceFile() != null)
-                    schema2 = XmlObject.Factory.parse(testCase.getResourceFile(), new XmlOptions().setErrorListener(errors).setLoadLineNumbers());
-                XmlObject[] schemas = schema2 == null ? new XmlObject[] { schema } : new XmlObject[] { schema, schema2 };
-                SchemaTypeSystem system = XmlBeans.compileXsd(schemas, XmlBeans.getBuiltinTypeSystem(), new XmlOptions().setErrorListener(errors));
-                loader = XmlBeans.typeLoaderUnion(new SchemaTypeLoader[] { system, XmlBeans.getBuiltinTypeSystem() });
-            }
-            catch (Exception e)
-            {
-                schemaValid = false;
-                if (!(e instanceof XmlException) || errors.isEmpty())
-                {
-                    result.setCrash(true);
-                    StringWriter sw = new StringWriter();
-                    e.printStackTrace(new PrintWriter(sw));
-                    result.addSvMessages(Collections.singleton(sw.toString()));
-                }
-            }
-            
-            result.addSvMessages(errors);
-            result.setSvActual(schemaValid);
-            errors.clear();
-            
-            if (loader == null)
-                return;
-            
-            if (testCase.getInstanceFile() == null)
-                return;
-            
-            // step 2, load instance file and validate
-            try
-            {
-                XmlObject instance = loader.parse(testCase.getInstanceFile(), null, new XmlOptions().setErrorListener(errors).setLoadLineNumbers());
-                if (!instance.validate(new XmlOptions().setErrorListener(errors)))
-                    instanceValid = false;
-            }
-            catch (Exception e)
-            {
-                instanceValid = false;
-                if (!(e instanceof XmlException) || errors.isEmpty())
-                {
-                    result.setCrash(true);
-                    StringWriter sw = new StringWriter();
-                    e.printStackTrace(new PrintWriter(sw));
-                    result.addIvMessages(Collections.singleton(sw.toString()));
-                }
-            }
-            result.addIvMessages(errors);
-            result.setIvActual(instanceValid);
-                    
-        }
-        finally
-        {
-            // System.out.println(result.succeeded() ? "Success.": "Failure.");
-        }
-    }
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XSTCTester.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XSTCTester.java
deleted file mode 100644
index 092d687..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XSTCTester.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import com.bea.x2003.x05.xmlbean.ltgfmt.TestsDocument;
-import com.bea.x2003.x05.xmlbean.ltgfmt.FileDesc;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlError;
-import org.apache.xmlbeans.XmlCalendar;
-
-import java.io.File;
-import java.io.PrintWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.Date;
-import java.util.regex.Pattern;
-import java.net.URI;
-
-public class XSTCTester
-{
-    public static void main(String[] args) throws IOException
-    {
-        long start = System.currentTimeMillis();
-        
-        CommandLine cl = new CommandLine(args, Collections.EMPTY_SET);
-        boolean showpass = (cl.getOpt("showpass") != null);
-        File[] allFiles = cl.getFiles();
-        Collection ltgFiles = new ArrayList();
-        Harness harness = new XMLBeanXSTCHarness();
-        
-        for (int i = 0; i < allFiles.length; i++)
-        {
-            if (allFiles[i].getName().indexOf("LTG") >= 0)
-                ltgFiles.add(allFiles[i]);
-        }
-        
-        File resultsFile = new File("out.html");
-        PrintWriter writer = new PrintWriter(new FileWriter(resultsFile));
-        writer.println("<html>");
-        writer.println("<style>td {border-bottom: 1px solid black} xmp {white-space: normal; word-wrap: break-word; word-break: break-all} </style>");
-        writer.println("<body>");
-
-        writer.println("<script language='JavaScript' type='text/javascript'>");
-        writer.println("var w;");
-        writer.println("function openWindow(schema, instance) {");
-	    writer.println("  if (w == null) {");
-        writer.println("    w = window.open('about:blank', 'xstc');");
-	    writer.println("  }");
-	    writer.println("  if (w.closed) {");
-		writer.println("    w = window.open('about:blank', 'xstc');");
-	    writer.println("  }");
-	    writer.println("  w.document.open();");
-	    writer.println("  w.document.write(\"<frameset rows=*,*><frame src='\" + schema + \"'><frame src='\" + instance + \"'></frameset>\");");
-	    writer.println("  w.document.close();");
-	    writer.println("  w.focus();");
-        writer.println("}");
-        writer.println("</script>");
-
-        writer.println("<h1>XML Schema Test Collection Results</h1>");
-        writer.println("<p>Run on " + (new XmlCalendar(new Date())) + "</p>");
-        writer.println("<table style='border: 1px solid black' cellpadding=0 cellspacing=0>");
-        writer.println("<tr><td width=75%>Description</td><td width=12.5%>sch v</td><td width=12.5%>ins v</td></tr>");
-        int failures = 0;
-        int cases = 0;
-        for (Iterator i = ltgFiles.iterator(); i.hasNext(); )
-        {
-            File ltgFile = (File)i.next();
-            System.out.println("Processing test cases in " + ltgFile);
-            Collection ltgErrors = new ArrayList();
-            TestCase[] testCases = parseLTGFile(ltgFile, ltgErrors);
-            Collection results = new ArrayList();
-            if (testCases != null) for (int j = 0; j < testCases.length; j++)
-            {
-                TestCaseResult result = new TestCaseResult();
-                result.testCase = testCases[j];
-                harness.runTestCase(result);
-                cases += 1;
-                if (!result.succeeded())
-                    failures += 1;
-                else if (!showpass)
-                    continue;
-                results.add(result);
-            }
-            writer.println("<tr><td colspan=3 bgcolor=skyblue>" + ltgFile + "</td></tr>");
-            if (!ltgErrors.isEmpty())
-            {
-                writer.println("<tr><td>Errors within the LTG file:");
-                writer.println("<xmp>");
-                for (Iterator j = ltgErrors.iterator(); j.hasNext(); )
-                    writer.println(j.next());
-                writer.println("</xmp>");
-                writer.println("</td></tr>");
-            }
-            else
-            {
-                if (results.size() == 0)
-                    writer.println("<tr><td colspan=3 bgcolor=green>Nothing to report</td></tr>");
-            }
-            if (results == null)
-                continue;
-            for (Iterator j = results.iterator(); j.hasNext() ;)
-            {
-                summarizeResultAsHTMLTableRows((TestCaseResult)j.next(), writer);
-            }
-        }
-        writer.println("<tr><td colspan=3>Summary: " + failures + " failures out of " + cases + " cases run.</td></tr>");
-        writer.println("</table>");
-        writer.close();
-        
-        long finish = System.currentTimeMillis();
-        System.out.println("Time run tests: " + ((double)(finish - start) / 1000.0) + " seconds" );
-        
-        // Launch results
-        if (System.getProperty("os.name").toLowerCase().indexOf("windows") >= 0)
-            Runtime.getRuntime().exec("cmd /c start iexplore \"" + resultsFile.getAbsolutePath() + "\"");
-        else
-            System.out.println("Results output to " + resultsFile);
-    }
-    
-    public static class TestCase
-    {
-        private File ltgFile;
-        private String id;
-        private String origin;
-        private String description;
-        private File schemaFile;
-        private File instanceFile;
-        private File resourceFile;
-        private boolean svExpected;
-        private boolean ivExpected;
-        private boolean rvExpected;
-
-        public File getLtgFile()
-        {
-            return ltgFile;
-        }
-
-        public String getId()
-        {
-            return id;
-        }
-
-        public String getOrigin()
-        {
-            return origin;
-        }
-
-        public String getDescription()
-        {
-            return description;
-        }
-
-        public File getSchemaFile()
-        {
-            return schemaFile;
-        }
-
-        public File getInstanceFile()
-        {
-            return instanceFile;
-        }
-
-        public File getResourceFile()
-        {
-            return resourceFile;
-        }
-
-        public boolean isSvExpected()
-        {
-            return svExpected;
-        }
-
-        public boolean isIvExpected()
-        {
-            return ivExpected;
-        }
-
-        public boolean isRvExpected()
-        {
-            return rvExpected;
-        }
-    }
-    
-    public static class TestCaseResult
-    {
-        private TestCase testCase;
-        private boolean svActual;
-        private Collection svMessages = new ArrayList();
-        private boolean ivActual;
-        private Collection ivMessages = new ArrayList();
-        private boolean crash;
-
-        public TestCase getTestCase()
-        {
-            return testCase;
-        }
-
-        public boolean isSvActual()
-        {
-            return svActual;
-        }
-
-        public void setSvActual(boolean svActual)
-        {
-            this.svActual = svActual;
-        }
-
-        public boolean isIvActual()
-        {
-            return ivActual;
-        }
-
-        public void setIvActual(boolean ivActual)
-        {
-            this.ivActual = ivActual;
-        }
-
-        public Collection getSvMessages()
-        {
-            return Collections.unmodifiableCollection(svMessages);
-        }
-
-        public void addSvMessages(Collection svMessages)
-        {
-            this.svMessages.addAll(svMessages);
-        }
-
-        public Collection getIvMessages()
-        {
-            return Collections.unmodifiableCollection(ivMessages);
-        }
-
-        public void addIvMessages(Collection ivMessages)
-        {
-            this.ivMessages.addAll(ivMessages);
-        }
-        
-        public void setCrash(boolean crash)
-        {
-            this.crash = crash;
-        }
-        
-        public boolean isCrash()
-        {
-            return crash;
-        }
-        
-        public boolean succeeded()
-        {
-            return !crash && (isIvActual() == testCase.isIvExpected()) && (isSvActual() == testCase.isSvExpected());
-        }
-    }
-    
-    public static interface Harness
-    {
-        public void runTestCase(TestCaseResult result);
-    }
-    
-    public static String makeHTMLLink(File file, boolean value)
-    {
-        if (file == null)
-            return "&nbsp;";
-        URI uri = file.getAbsoluteFile().toURI();
-        return "<a href=\"" + uri + "\" target=_blank>" + Boolean.toString(value) + "</a>";
-    }
-    
-    private static final Pattern leadingSpace = Pattern.compile("^\\s+", Pattern.MULTILINE);
-    
-    public static String makeHTMLDescription(TestCase testCase)
-    {
-        StringBuffer sb = new StringBuffer();
-        sb.append("<a class=noline href='javascript:openWindow(\"");
-        if (testCase.getSchemaFile() == null)
-            sb.append("about:No schema");
-        else
-            sb.append(testCase.getSchemaFile().getAbsolutePath().replaceAll("\\\\", "\\\\\\\\"));
-
-        sb.append("\", \"");
-        if (testCase.getInstanceFile() == null)
-            sb.append("about:No instance");
-        else
-            sb.append(testCase.getInstanceFile().getAbsolutePath().replaceAll("\\\\", "\\\\\\\\"));
-        sb.append("\")'><xmp>");
-        sb.append(leadingSpace.matcher(testCase.getDescription()).replaceAll("") + "(" + testCase.getId() + ")");
-        sb.append("</xmp></a>");
-        return sb.toString();
-    }
-    
-    public static void summarizeResultAsHTMLTableRows(TestCaseResult result, PrintWriter out)
-    {
-        TestCase testCase = result.getTestCase();
-        boolean sRight = testCase.getSchemaFile() == null || testCase.isSvExpected() == result.isSvActual();
-        boolean iRight = testCase.getInstanceFile() == null || testCase.isIvExpected() == result.isIvActual();
-        
-        out.println(result.isCrash() ? "<tr bgcolor=black color=white>" : "<tr>");
-        out.println("<td valign=top>" + makeHTMLDescription(testCase) + "</td>");
-        String sLinks;
-        if (testCase.getResourceFile() == null)
-            sLinks = makeHTMLLink(testCase.getSchemaFile(), result.isSvActual());
-        else
-            sLinks = makeHTMLLink(testCase.getSchemaFile(), result.isSvActual()) + "<br>" + makeHTMLLink(testCase.getResourceFile(), result.isSvActual());
-        
-        out.println((sRight ? "<td valign=top>" : result.isSvActual() ? "<td bgcolor=orange valign=top>" : "<td bgcolor=red valign=top>") + sLinks + "</td>");
-        out.println((iRight ? "<td valign=top>" : result.isIvActual() ? "<td bgcolor=orange valign=top>" : "<td bgcolor=red valign=top>") + makeHTMLLink(testCase.getInstanceFile(), result.isIvActual()) + "</td>");
-        out.println("</tr>");
-        if (!result.getIvMessages().isEmpty() || !result.getSvMessages().isEmpty())
-        {
-            if (!result.succeeded())
-                out.println("<tr><td colspan=3 bgcolor=yellow><xmp>");
-            else
-                out.println("<tr><td colspan=3><xmp>");
-            for (Iterator j = result.getSvMessages().iterator(); j.hasNext(); )
-                out.println(j.next());
-            for (Iterator j = result.getIvMessages().iterator(); j.hasNext(); )
-                out.println(j.next());
-            out.println("</xmp></tr></td>");
-        }
-    }
-    
-    public static TestCase[] parseLTGFile(File ltgFile, Collection outerErrors)
-    {
-        Collection errors = new ArrayList();
-        try
-        {
-            XmlOptions ltgOptions = new XmlOptions();
-            ltgOptions.setLoadSubstituteNamespaces(Collections.singletonMap("", "http://www.bea.com/2003/05/xmlbean/ltgfmt"));
-            ltgOptions.setErrorListener(errors);
-            ltgOptions.setLoadLineNumbers();
-            TestsDocument doc = TestsDocument.Factory.parse(ltgFile, ltgOptions);
-            if (!doc.validate(ltgOptions))
-                throw new Exception("Document " + ltgFile + " not valid.");
-            
-            com.bea.x2003.x05.xmlbean.ltgfmt.TestCase[] testCases = doc.getTests().getTestArray();
-            
-            Collection result = new ArrayList();
-            for (int i = 0; i < testCases.length; i++)
-            {
-                TestCase newCase = new TestCase();
-                newCase.ltgFile = ltgFile;
-                newCase.id = testCases[i].getId();
-                newCase.origin = testCases[i].getOrigin();
-                newCase.description = testCases[i].getDescription();
-                FileDesc[] filedescs = testCases[i].getFiles().getFileArray();
-                testCases[i].getOrigin();
-                for (int j = 0; j < filedescs.length; j++)
-                {
-                    String dir = filedescs[j].getFolder();
-                    String filename = filedescs[j].getFileName();
-                    File theFile = new File(ltgFile.getParentFile(), dir + "/" + filename);
-                    if (!theFile.exists() || !theFile.isFile() || !theFile.canRead())
-                    {
-                        outerErrors.add(XmlError.forObject("Can't read file " + theFile, filedescs[j]).toString());
-                        continue;
-                    }
-                    
-                    switch (filedescs[j].getRole().intValue())
-                    {
-                        case FileDesc.Role.INT_INSTANCE:
-                            if (newCase.instanceFile != null)
-                                outerErrors.add(XmlError.forObject("More than one instance file speicifed - ignoring all but last", filedescs[j]).toString());
-                            newCase.instanceFile = theFile;
-                            newCase.ivExpected = filedescs[j].getValidity();
-                            break;
-                            
-                        case FileDesc.Role.INT_SCHEMA:
-                            if (newCase.schemaFile != null)
-                                outerErrors.add(XmlError.forObject("More than one schema file speicifed - ignoring all but last", filedescs[j]).toString());
-                            newCase.schemaFile = theFile;
-                            newCase.svExpected = filedescs[j].getValidity();
-                            break;
-                            
-                        case FileDesc.Role.INT_RESOURCE:
-                            if (newCase.resourceFile != null)
-                                outerErrors.add(XmlError.forObject("More than one resource file speicifed - ignoring all but last", filedescs[j]).toString());
-                            newCase.resourceFile = theFile;
-                            newCase.rvExpected = filedescs[j].getValidity();
-                            break;
-                        
-                        default:
-                            throw new XmlException(XmlError.forObject("Unexpected file role", filedescs[j]));
-                    }
-                }
-                result.add(newCase);
-            }
-            return (TestCase[])result.toArray(new TestCase[result.size()]);
-        }
-        catch (Exception e)
-        {
-            if (errors.isEmpty())
-                outerErrors.add(e.getMessage());
-            else for (Iterator i = errors.iterator(); i.hasNext(); )
-                outerErrors.add(i.next().toString());
-            return null;
-        }
-    }
-    
-}
diff --git a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XsbDumper.java b/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XsbDumper.java
deleted file mode 100644
index 63df129..0000000
--- a/v1/src/xmlcomp/org/apache/xmlbeans/impl/tool/XsbDumper.java
+++ /dev/null
@@ -1,1257 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.tool;
-
-import java.util.*;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipEntry;
-import java.io.*;
-import java.math.BigInteger;
-
-
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.util.HexBin;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.SchemaLocalAttribute;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.SchemaProperty;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.soap.SOAPArrayType;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import javax.xml.namespace.QName;
-
-public class XsbDumper
-{
-    public static void main(String[] args)
-    {
-        for (int i = 0; i < args.length; i++)
-        {
-            dump(new File(args[i]), true);
-        }
-    }
-
-    private static void dump(File file, boolean force)
-    {
-        if (file.isDirectory())
-        {
-            File[] files = file.listFiles(
-                new FileFilter()
-                {
-                    public boolean accept(File file)
-                        { return file.isDirectory() || file.isFile() && file.getName().endsWith(".xsb"); }
-                }
-            );
-            for (int i = 0; i < files.length; i++)
-            {
-                dump(files[i], false);
-            }
-        }
-        else if (file.getName().endsWith(".jar") || file.getName().endsWith(".zip"))
-        {
-            dumpZip(file);
-        }
-        else if (force || file.getName().endsWith(".xsb"))
-        {
-            try
-            {
-                System.out.println(file.toString());
-                dump(new FileInputStream(file), "  ");
-                System.out.println();
-            }
-            catch (FileNotFoundException e)
-            {
-                System.out.println(e.toString());
-            }
-        }
-    }
-
-    public static void dumpZip(File file)
-    {
-        try
-        {
-            ZipFile zipFile = new ZipFile(file);
-            Enumeration e = zipFile.entries();
-            while (e.hasMoreElements())
-            {
-                ZipEntry entry = (ZipEntry)e.nextElement();
-                if (entry.getName().endsWith(".xsb"))
-                {
-                    System.out.println(entry.getName());
-                    dump(zipFile.getInputStream(entry), "  ");
-                    System.out.println();
-                }
-            }
-        }
-        catch (IOException e)
-        {
-            System.out.println(e.toString());
-        }
-    }
-
-    public static void dump(InputStream input)
-    {
-        dump(input, "");
-    }
-
-    public static void dump(InputStream input, String indent)
-    {
-        XsbDumper dumper = new XsbDumper(input, indent);
-        dumper.dumpAll();
-    }
-
-    private XsbDumper(InputStream stream, String indent)
-    {
-        _input = new DataInputStream(stream);
-        _indent = indent;
-    }
-
-    void flush() { System.out.flush(); }
-    void emit(String str) { System.out.println(_indent + str); flush(); }
-    void emit() { System.out.println(); flush(); }
-    void error(Exception e) { System.out.println(e.toString()); flush(); IllegalStateException e2 = new IllegalStateException( e.getMessage() ); e2.initCause( e ); throw e2; }
-    void error(String str) { System.out.println(str); flush(); IllegalStateException e2 = new IllegalStateException( str ); throw e2; }
-    private String _indent;
-    void indent() { _indent += "  "; }
-    void outdent() { _indent = _indent.substring(0, _indent.length() - 2); }
-
-    public static final int DATA_BABE = 0xDA7ABABE;
-    public static final int MAJOR_VERSION = 2;
-    public static final int MINOR_VERSION = 16;
-
-    public static final int FILETYPE_SCHEMAINDEX = 1;
-    public static final int FILETYPE_SCHEMATYPE = 2;
-    public static final int FILETYPE_SCHEMAELEMENT = 3;
-    public static final int FILETYPE_SCHEMAATTRIBUTE = 4;
-    public static final int FILETYPE_SCHEMAPOINTER = 5;
-    public static final int FILETYPE_SCHEMAMODELGROUP = 6;
-    public static final int FILETYPE_SCHEMAATTRIBUTEGROUP = 7;
-
-    static String filetypeString(int code)
-    {
-        switch (code)
-        {
-            case FILETYPE_SCHEMAINDEX: return "FILETYPE_SCHEMAINDEX";
-            case FILETYPE_SCHEMATYPE: return "FILETYPE_SCHEMATYPE";
-            case FILETYPE_SCHEMAELEMENT: return "FILETYPE_SCHEMAELEMENT";
-            case FILETYPE_SCHEMAATTRIBUTE: return "FILETYPE_SCHEMAATTRIBUTE";
-            case FILETYPE_SCHEMAPOINTER: return "FILETYPE_SCHEMAPOINTER";
-            case FILETYPE_SCHEMAMODELGROUP: return "FILETYPE_SCHEMAMODELGROUP";
-            case FILETYPE_SCHEMAATTRIBUTEGROUP: return "FILETYPE_SCHEMAATTRIBUTEGROUP";
-            default:
-                return "Unknown FILETYPE (" + code + ")";
-        }
-    }
-
-    public static final int FLAG_PART_SKIPPABLE = 1;
-    public static final int FLAG_PART_FIXED = 4;
-    public static final int FLAG_PART_NILLABLE = 8;
-    public static final int FLAG_PART_BLOCKEXT = 16;
-    public static final int FLAG_PART_BLOCKREST = 32;
-    public static final int FLAG_PART_BLOCKSUBST = 64;
-    public static final int FLAG_PART_ABSTRACT = 128;
-    public static final int FLAG_PART_FINALEXT = 256;
-    public static final int FLAG_PART_FINALREST = 512;
-
-    static String particleflagsString(int flags)
-    {
-        StringBuffer result = new StringBuffer();
-        if ((flags & FLAG_PART_SKIPPABLE) != 0) result.append("FLAG_PART_SKIPPABLE | ");
-        if ((flags & FLAG_PART_FIXED) != 0) result.append("FLAG_PART_FIXED | ");
-        if ((flags & FLAG_PART_NILLABLE) != 0) result.append("FLAG_PART_NILLABLE | ");
-        if ((flags & FLAG_PART_BLOCKEXT) != 0) result.append("FLAG_PART_BLOCKEXT | ");
-        if ((flags & FLAG_PART_BLOCKREST) != 0) result.append("FLAG_PART_BLOCKREST | ");
-        if ((flags & FLAG_PART_BLOCKSUBST) != 0) result.append("FLAG_PART_BLOCKSUBST | ");
-        if ((flags & FLAG_PART_ABSTRACT) != 0) result.append("FLAG_PART_ABSTRACT | ");
-        if ((flags & FLAG_PART_FINALEXT) != 0) result.append("FLAG_PART_FINALEXT | ");
-        if ((flags & FLAG_PART_FINALREST) != 0) result.append("FLAG_PART_FINALREST | ");
-        if (result.length() == 0) result.append("0 | ");
-        return result.substring(0, result.length() - 3);
-    }
-
-    public static final int FLAG_PROP_ISATTR = 1;
-    public static final int FLAG_PROP_JAVASINGLETON = 2;
-    public static final int FLAG_PROP_JAVAOPTIONAL = 4;
-    public static final int FLAG_PROP_JAVAARRAY = 8;
-
-    static String propertyflagsString(int flags)
-    {
-        StringBuffer result = new StringBuffer();
-        if ((flags & FLAG_PROP_ISATTR) != 0) result.append("FLAG_PROP_ISATTR | ");
-        if ((flags & FLAG_PROP_JAVASINGLETON) != 0) result.append("FLAG_PROP_JAVASINGLETON | ");
-        if ((flags & FLAG_PROP_JAVAOPTIONAL) != 0) result.append("FLAG_PROP_JAVAOPTIONAL | ");
-        if ((flags & FLAG_PROP_JAVAARRAY) != 0) result.append("FLAG_PROP_JAVAARRAY | ");
-        if (result.length() == 0) result.append("0 | ");
-        return result.substring(0, result.length() - 3);
-    }
-
-    public static final int FIELD_NONE = 0;
-    public static final int FIELD_GLOBAL = 1;
-    public static final int FIELD_LOCALATTR = 2;
-    public static final int FIELD_LOCALELT = 3;
-
-    static String containerfieldTypeString(int code)
-    {
-        switch (code)
-        {
-            case FIELD_NONE: return "FIELD_NONE";
-            case FIELD_GLOBAL: return "FIELD_GLOBAL";
-            case FIELD_LOCALATTR: return "FIELD_LOCALATTR";
-            case FIELD_LOCALELT: return "FIELD_LOCALELT";
-            default:
-                return "Unknown container field type (" + code + ")";
-        }
-    }
-
-    // type flags
-    static final int FLAG_SIMPLE_TYPE     = 0x1;
-    static final int FLAG_DOCUMENT_TYPE   = 0x2;
-    static final int FLAG_ORDERED         = 0x4;
-    static final int FLAG_BOUNDED         = 0x8;
-    static final int FLAG_FINITE          = 0x10;
-    static final int FLAG_NUMERIC         = 0x20;
-    static final int FLAG_STRINGENUM      = 0x40;
-    static final int FLAG_UNION_OF_LISTS  = 0x80;
-    static final int FLAG_HAS_PATTERN     = 0x100;
-    static final int FLAG_ORDER_SENSITIVE = 0x200;
-    static final int FLAG_TOTAL_ORDER     = 0x400;
-    static final int FLAG_COMPILED        = 0x800;
-    static final int FLAG_BLOCK_EXT       = 0x1000;
-    static final int FLAG_BLOCK_REST      = 0x2000;
-    static final int FLAG_FINAL_EXT       = 0x4000;
-    static final int FLAG_FINAL_REST      = 0x8000;
-    static final int FLAG_FINAL_UNION     = 0x10000;
-    static final int FLAG_FINAL_LIST      = 0x20000;
-    static final int FLAG_ABSTRACT        = 0x40000;
-    static final int FLAG_ATTRIBUTE_TYPE  = 0x80000;
-
-    static String typeflagsString(int flags)
-    {
-        StringBuffer result = new StringBuffer();
-        if ((flags & FLAG_SIMPLE_TYPE) != 0) result.append("FLAG_SIMPLE_TYPE | ");
-        if ((flags & FLAG_DOCUMENT_TYPE) != 0) result.append("FLAG_DOCUMENT_TYPE | ");
-        if ((flags & FLAG_ATTRIBUTE_TYPE) != 0) result.append("FLAG_ATTRIBUTE_TYPE | ");
-        if ((flags & FLAG_ORDERED) != 0) result.append("FLAG_ORDERED | ");
-        if ((flags & FLAG_BOUNDED) != 0) result.append("FLAG_BOUNDED | ");
-        if ((flags & FLAG_FINITE) != 0) result.append("FLAG_FINITE | ");
-        if ((flags & FLAG_NUMERIC) != 0) result.append("FLAG_NUMERIC | ");
-        if ((flags & FLAG_STRINGENUM) != 0) result.append("FLAG_STRINGENUM | ");
-        if ((flags & FLAG_UNION_OF_LISTS) != 0) result.append("FLAG_UNION_OF_LISTS | ");
-        if ((flags & FLAG_HAS_PATTERN) != 0) result.append("FLAG_HAS_PATTERN | ");
-        if ((flags & FLAG_TOTAL_ORDER) != 0) result.append("FLAG_TOTAL_ORDER | ");
-        if ((flags & FLAG_COMPILED) != 0) result.append("FLAG_COMPILED | ");
-        if ((flags & FLAG_BLOCK_EXT) != 0) result.append("FLAG_BLOCK_EXT | ");
-        if ((flags & FLAG_BLOCK_REST) != 0) result.append("FLAG_BLOCK_REST | ");
-        if ((flags & FLAG_FINAL_EXT) != 0) result.append("FLAG_FINAL_EXT | ");
-        if ((flags & FLAG_FINAL_REST) != 0) result.append("FLAG_FINAL_REST | ");
-        if ((flags & FLAG_FINAL_UNION) != 0) result.append("FLAG_FINAL_UNION | ");
-        if ((flags & FLAG_FINAL_LIST) != 0) result.append("FLAG_FINAL_LIST | ");
-        if ((flags & FLAG_ABSTRACT) != 0) result.append("FLAG_ABSTRACT | ");
-        if (result.length() == 0) result.append("0 | ");
-        return result.substring(0, result.length() - 3);
-    }
-
-    void dumpAll()
-    {
-        int filetype = dumpHeader();
-        switch (filetype)
-        {
-            case FILETYPE_SCHEMAINDEX:
-                dumpIndexData();
-                return;
-            case FILETYPE_SCHEMATYPE:
-                dumpTypeFileData();
-                break;
-            case FILETYPE_SCHEMAELEMENT:
-                dumpParticleData(true);
-                break;
-            case FILETYPE_SCHEMAATTRIBUTE:
-                dumpAttributeData(true);
-                break;
-            case FILETYPE_SCHEMAPOINTER:
-                dumpPointerData();
-                break;
-            case FILETYPE_SCHEMAMODELGROUP:
-                dumpModelGroupData();
-                break;
-            case FILETYPE_SCHEMAATTRIBUTEGROUP:
-                dumpAttributeGroupData();
-                break;
-        }
-        readEnd();
-    }
-
-    static String hex32String(int i)
-    {
-        return Integer.toHexString(i);
-    }
-
-    protected int dumpHeader()
-    {
-        int magic = readInt();
-        emit("Magic cookie: " + hex32String(magic));
-
-        if (magic != DATA_BABE)
-        {
-            emit("Wrong magic cookie.");
-            return 0;
-        }
-
-        _majorver = readShort();
-        _minorver = readShort();
-        if (atLeast(2, 18, 0))
-            _releaseno = readShort();
-
-        emit("Major version: " + _majorver);
-        emit("Minor version: " + _minorver);
-        emit("Release number: " + _releaseno);
-
-        if (_majorver != MAJOR_VERSION || _minorver > MINOR_VERSION)
-        {
-            emit("Incompatible version.");
-            return 0;
-        }
-
-        int actualfiletype = readShort();
-        emit("Filetype: " + filetypeString(actualfiletype));
-
-        _stringPool = new StringPool();
-        _stringPool.readFrom(_input);
-
-        return actualfiletype;
-    }
-
-    void dumpPointerData()
-    {
-        emit("Type system: " + readString());
-    }
-
-    protected void dumpIndexData()
-    {
-        // has a handle pool (count, handle/type, handle/type...)
-        int size = readShort();
-        emit("Handle pool (" + size + "):");
-        indent();
-        for (int i = 0; i < size; i++)
-        {
-            String handle = readString();
-            short code = readShort();
-            emit(handle + " (" + filetypeString(code) + ")");
-        }
-        outdent();
-
-        dumpQNameMap("Global elements");
-
-        // qname map of global attributes
-        dumpQNameMap("Global attributes");
-
-        // attr groups and model groups
-        dumpQNameMap("Model groups");
-        dumpQNameMap("Attribute groups");
-
-        dumpQNameMap("Identity constraints");
-
-        // qname map of global types
-        dumpQNameMap("Global types");
-
-        // qname map of document types, by the qname of the contained element
-        dumpQNameMap("Document types");
-        
-        // qname map of attribute types, by the qname of the contained attribute
-        dumpQNameMap("Attribute types");
-
-        // all the types indexed by classname
-        dumpClassnameIndex("All types by classname");
-
-        // all the namespaces
-        dumpStringArray("Defined namespaces");
-        
-        // version 15 stuff for redefines
-        if (atLeast(2, 15, 0))
-        {
-            dumpQNameMap("Redefined global types");
-            dumpQNameMap("Redfined model groups");
-            dumpQNameMap("Redfined attribute groups");
-        }
-
-        readEnd();
-    }
-
-
-    class StringPool
-    {
-        private List intsToStrings = new ArrayList();
-        private Map stringsToInts = new HashMap();
-
-        StringPool()
-        {
-            intsToStrings.add(null);
-        }
-
-        String stringForCode(int code)
-        {
-            if (code == 0)
-                return null;
-            return (String)intsToStrings.get(code);
-        }
-
-        int codeForString(String str)
-        {
-            if (str == null)
-                return 0;
-            Integer result = (Integer)stringsToInts.get(str);
-            if (result == null)
-            {
-                result = new Integer(intsToStrings.size());
-                intsToStrings.add(str);
-                stringsToInts.put(str, result);
-            }
-            return result.intValue();
-        }
-
-        void readFrom(DataInputStream input)
-        {
-            if (intsToStrings.size() != 1 || stringsToInts.size() != 0)
-                throw new IllegalStateException();
-
-            try
-            {
-                int size = input.readShort();
-                emit("String pool (" + size + "):");
-                indent();
-                for (int i = 1; i < size; i++)
-                {
-                    String str = input.readUTF();
-                    int code = codeForString(str);
-                    if (code != i)
-                        throw new IllegalStateException();
-                    emit(code + " = \"" + str + "\"");
-                }
-                outdent();
-            }
-            catch (IOException e)
-            {
-                emit(e.toString());
-            }
-        }
-    }
-
-    // active while loading one type.
-    DataInputStream _input;
-    StringPool _stringPool;
-
-    short readShort()
-    {
-        try
-        {
-            return _input.readShort();
-        }
-        catch (IOException e)
-        {
-            error(e);
-            return 0;
-        }
-    }
-
-    int readInt()
-    {
-        try
-        {
-            return _input.readInt();
-        }
-        catch (IOException e)
-        {
-            error(e);
-            return 0;
-        }
-    }
-
-    String readString()
-    {
-        return _stringPool.stringForCode(readShort());
-    }
-
-    QName readQName()
-    {
-        String namespace = readString();
-        String localname = readString();
-        if (localname == null)
-            return null;
-        return new QName(namespace, localname);
-    }
-
-    String readHandle()
-    {
-        return readString();
-    }
-
-    String readType()
-    {
-        return readHandle();
-    }
-
-    static String qnameString(QName qname)
-    {
-        if (qname == null)
-            return "(null)";
-        if (qname.getNamespaceURI() != null)
-            return qname.getLocalPart() + "@" + qname.getNamespaceURI();
-        else
-            return qname.getLocalPart();
-    }
-
-    static String qnameSetString(QNameSet set)
-    {
-        return set.toString();
-    }
-
-    void dumpQNameMap(String fieldname)
-    {
-        int size = readShort();
-        emit(fieldname + " (" + size + "):");
-        indent();
-        for (int i = 0; i < size; i++)
-        {
-            emit(qnameString(readQName()) + " = " + readHandle());
-        }
-        outdent();
-    }
-
-    void dumpTypeArray(String fieldname)
-    {
-        int size = readShort();
-        emit(fieldname + " (" + size + "):");
-        indent();
-        for (int i = 0; i < size; i++)
-        {
-            emit(i + " = " + readType());
-        }
-        outdent();
-    }
-
-    void dumpClassnameIndex(String fieldname)
-    {
-        int size = readShort();
-        emit(fieldname + " (" + size + "):");
-        indent();
-        for (int i = 0; i < size; i++)
-        {
-            emit(readString() + " = " + readType());
-        }
-        outdent();
-    }
-
-    void dumpStringArray(String fieldname)
-    {
-        int size = readShort();
-        emit(fieldname + " (" + size + "):");
-        indent();
-        for (int i = 0; i < size; i++)
-        {
-            emit(readString());
-        }
-        outdent();
-    }
-
-    void readEnd()
-    {
-        try
-        {
-            _input.close();
-        }
-        catch (IOException e)
-        {
-            // oh, well.
-        }
-        _input = null;
-        _stringPool = null;
-    }
-
-    static String particleTypeString(int spt)
-    {
-        switch (spt)
-        {
-            case SchemaParticle.ALL: return "ALL";
-            case SchemaParticle.CHOICE: return "CHOICE";
-            case SchemaParticle.ELEMENT: return "ELEMENT";
-            case SchemaParticle.SEQUENCE: return "SEQUENCE";
-            case SchemaParticle.WILDCARD: return "WILDCARD";
-            default:
-                return "Unknown particle type (" + spt + ")";
-        }
-    }
-
-    static String bigIntegerString(BigInteger bigint)
-    {
-        if (bigint == null)
-            return "(null)";
-        return bigint.toString();
-    }
-
-    static String wcprocessString(int code)
-    {
-        switch (code)
-        {
-            case SchemaParticle.STRICT: return "STRICT";
-            case SchemaParticle.SKIP: return "SKIP";
-            case SchemaParticle.LAX: return "LAX";
-            case 0: return "NOT_WILDCARD";
-            default:
-                return "Unknown process type (" + code + ")";
-        }
-    }
-
-    void dumpParticleData(boolean global)
-    {
-        short particleType = readShort();
-        emit(particleTypeString(particleType) + ":");
-        indent();
-        short particleFlags = readShort();
-        emit("Flags: " + particleflagsString(particleFlags));
-
-        emit("MinOccurs: " + bigIntegerString(readBigInteger()));
-        emit("MaxOccurs: " + bigIntegerString(readBigInteger()));
-
-        emit("Transition: " + qnameSetString(readQNameSet()));
-
-        switch (particleType)
-        {
-            case SchemaParticle.WILDCARD:
-                emit("Wildcard set: " + qnameSetString(readQNameSet()));
-                emit("Wildcard process: " + wcprocessString(readShort()));
-                break;
-
-            case SchemaParticle.ELEMENT:
-                emit("Name: " + qnameString(readQName()));
-                emit("Type: " + readType());
-                emit("Default: " + readString());
-                if (atLeast(2, 16, 0))
-                    emit("Default value: " + readXmlValueObject());
-                emit("WsdlArrayType: " + SOAPArrayTypeString(readSOAPArrayType()));
-                if (global)
-                {
-                    short substGroupCount = readShort();
-                    emit("Substitution group members (" + substGroupCount + ")");
-                    indent();
-                    for (int i = 0; i < substGroupCount; i++)
-                    {
-                        emit(qnameString(readQName()));
-                    }
-                    outdent();
-                }
-                int count = readShort();
-                emit("Identity constraints (" + count + "):");
-                indent();
-                for (int i = 0; i < count; i++)
-                {
-                    emit(readHandle());
-                }
-                outdent();
-                if (global)
-                    emit("Filename: " + readString());
-                break;
-
-            case SchemaParticle.ALL:
-            case SchemaParticle.SEQUENCE:
-            case SchemaParticle.CHOICE:
-                dumpParticleArray("Particle children");
-                break;
-
-            default:
-                error("Unrecognized schema particle type");
-        }
-        outdent();
-    }
-
-    void dumpParticleArray(String fieldname)
-    {
-        int count = readShort();
-        emit(fieldname + "(" + count + "):");
-        indent();
-        for (int i = 0; i < count; i++)
-            dumpParticleData(false);
-        outdent();
-    }
-
-    static String complexVarietyString(int code)
-    {
-        switch (code)
-        {
-            case SchemaType.EMPTY_CONTENT: return "EMPTY_CONTENT";
-            case SchemaType.SIMPLE_CONTENT: return "SIMPLE_CONTENT";
-            case SchemaType.ELEMENT_CONTENT: return "ELEMENT_CONTENT";
-            case SchemaType.MIXED_CONTENT: return "MIXED_CONTENT";
-            default:
-                return "Unknown complex variety (" + code + ")";
-        }
-    }
-
-    static String simpleVarietyString(int code)
-    {
-        switch (code)
-        {
-            case SchemaType.ATOMIC: return "ATOMIC";
-            case SchemaType.LIST: return "LIST";
-            case SchemaType.UNION: return "UNION";
-            default:
-                return "Unknown simple variety (" + code + ")";
-        }
-    }
-
-    String facetCodeString(int code)
-    {
-        switch (code)
-        {
-            case SchemaType.FACET_LENGTH: return "FACET_LENGTH";
-            case SchemaType.FACET_MIN_LENGTH: return "FACET_MIN_LENGTH";
-            case SchemaType.FACET_MAX_LENGTH: return "FACET_MAX_LENGTH";
-            case SchemaType.FACET_MIN_EXCLUSIVE: return "FACET_MIN_EXCLUSIVE";
-            case SchemaType.FACET_MIN_INCLUSIVE: return "FACET_MIN_INCLUSIVE";
-            case SchemaType.FACET_MAX_INCLUSIVE: return "FACET_MAX_INCLUSIVE";
-            case SchemaType.FACET_MAX_EXCLUSIVE: return "FACET_MAX_EXCLUSIVE";
-            case SchemaType.FACET_TOTAL_DIGITS: return "FACET_TOTAL_DIGITS";
-            case SchemaType.FACET_FRACTION_DIGITS: return "FACET_FRACTION_DIGITS";
-            default:
-                return "Unknown facet code (" + code + ")";
-        }
-    }
-
-    String whitespaceCodeString(int code)
-    {
-        switch (code)
-        {
-            case SchemaType.WS_COLLAPSE: return "WS_COLLAPSE";
-            case SchemaType.WS_PRESERVE: return "WS_PRESERVE";
-            case SchemaType.WS_REPLACE: return "WS_REPLACE";
-            case SchemaType.WS_UNSPECIFIED: return "WS_UNSPECIFIED";
-            default:
-                return "Unknown whitespace code (" + code + ")";
-        }
-    }
-
-    String derivationTypeString(int code)
-    {
-        switch (code)
-        {
-            case SchemaType.DT_NOT_DERIVED: return "DT_NOT_DERIVED";
-            case SchemaType.DT_RESTRICTION: return "DT_RESTRICTION";
-            case SchemaType.DT_EXTENSION: return "DT_EXTENSION";
-            default:
-                return "Unknown derivation code (" + code + ")";
-        }
-    }
-
-    void dumpTypeFileData()
-    {
-        emit("Name: " + qnameString(readQName()));
-        emit("Outer type: " + readType());
-        emit("Depth: " + readShort());
-        emit("Base type: " + readType());
-        emit("Derivation type: " + derivationTypeString(readShort()));
-        
-        emit("Container field:");
-        indent();
-        int containerfieldtype = readShort();
-        emit("Reftype: " + containerfieldTypeString(containerfieldtype));
-        switch (containerfieldtype)
-        {
-            case FIELD_GLOBAL:
-                emit("Handle: " + readHandle());
-                break;
-            case FIELD_LOCALATTR:
-                emit("Index: " + readShort());
-                break;
-            case FIELD_LOCALELT:
-                emit("Index: " + readShort());
-                break;
-        }
-        outdent();
-        emit("Java class name: " + readString());
-        emit("Java impl class name: " + readString());
-
-        dumpTypeArray("Anonymous types");
-
-        emit("Anonymous union member ordinal: " + readShort());
-
-        int flags;
-        flags = readInt();
-        emit("Flags: " + typeflagsString(flags));
-        boolean isComplexType = ((flags & FLAG_SIMPLE_TYPE) == 0);
-
-        short complexVariety = SchemaType.NOT_COMPLEX_TYPE;
-        if (isComplexType)
-        {
-            complexVariety = readShort();
-            emit("Complex variety: " + complexVarietyString(complexVariety));
-
-            short attrCount = readShort();
-            emit("Attribute model (" + attrCount + "):");
-            indent();
-            for (int i = 0; i < attrCount; i++)
-                dumpAttributeData(false);
-
-            emit("Wildcard set: " + qnameSetString(readQNameSet()));
-            emit("Wildcard process: " + wcprocessString(readShort()));
-            outdent();
-
-            // Attribute Property Table
-            short attrPropCount = readShort();
-            emit("Attribute properties (" + attrPropCount + "):");
-            indent();
-            for (int i = 0; i < attrPropCount; i++)
-            {
-                dumpPropertyData();
-            }
-            outdent();
-
-            if (complexVariety == SchemaType.ELEMENT_CONTENT || complexVariety == SchemaType.MIXED_CONTENT)
-            {
-                emit("IsAll: " + readShort());
-
-                // Content model tree
-                dumpParticleArray("Content model");
-
-                // Element Property Table
-                short elemPropCount = readShort();
-                emit("Element properties (" + elemPropCount + "):");
-                indent();
-                for (int i = 0; i < elemPropCount; i++)
-                {
-                    dumpPropertyData();
-                }
-                outdent();
-            }
-        }
-
-        if (!isComplexType || complexVariety == SchemaType.SIMPLE_CONTENT)
-        {
-            short simpleVariety = readShort();
-            emit("Simple type variety: " + simpleVarietyString(simpleVariety));
-
-            boolean isStringEnum = ((flags & FLAG_STRINGENUM) != 0);
-
-            short facetCount = readShort();
-            emit("Facets (" + facetCount + "):");
-            indent();
-            for (int i = 0; i < facetCount; i++)
-            {
-                emit(facetCodeString(readShort()));
-                emit("Value: " + readXmlValueObject());
-                emit("Fixed: " + readShort());
-            }
-            outdent();
-
-            emit("Whitespace rule: " + whitespaceCodeString(readShort()));
-
-            short patternCount = readShort();
-            emit("Patterns (" + patternCount + "):");
-            indent();
-            for (int i = 0; i < patternCount; i++)
-            {
-                emit(readString());
-            }
-            outdent();
-
-            short enumCount = readShort();
-            emit("Enumeration values (" + enumCount + "):");
-            indent();
-            for (int i = 0; i < enumCount; i++)
-            {
-                emit(readXmlValueObject());
-            }
-            outdent();
-
-            emit("Base enum type: " + readType());
-            if (isStringEnum)
-            {
-                short seCount = readShort();
-                emit("String enum entries (" + seCount + "):");
-                indent();
-                for (int i = 0; i < seCount; i++)
-                {
-                    emit("\"" + readString() + "\" -> " + readShort() + " = " + readString());
-                }
-                outdent();
-            }
-
-            switch (simpleVariety)
-            {
-                case SchemaType.ATOMIC:
-                    emit("Primitive type: " + readType());
-                    emit("Decimal size: " + readInt());
-                    break;
-
-                case SchemaType.LIST:
-                    emit("List item type: " + readType());
-                    break;
-
-                case SchemaType.UNION:
-                    dumpTypeArray("Union members");
-                    break;
-
-                default:
-                    error("Unknown simple type variety");
-            }
-        }
-
-        emit("Filename: " + readString());
-    }
-
-    static String attruseCodeString(int code)
-    {
-        switch (code)
-        {
-            case SchemaLocalAttribute.OPTIONAL: return "OPTIONAL";
-            case SchemaLocalAttribute.REQUIRED: return "REQUIRED";
-            case SchemaLocalAttribute.PROHIBITED: return "PROHIBITED";
-            default:
-                return "Unknown use code (" + code + ")";
-        }
-    }
-
-    void dumpAttributeData(boolean global)
-    {
-        emit("Name: " + qnameString(readQName()));
-        emit("Type: " + readType());
-        emit("Use: " + attruseCodeString(readShort()));
-        emit("Default: " + readString());
-        if (atLeast(2, 16, 0))
-            emit("Default value: " + readXmlValueObject());
-        emit("Fixed: " + readShort());
-        emit("WsdlArrayType: " + SOAPArrayTypeString(readSOAPArrayType()));
-        if (global)
-            emit("Filename: " + readString());
-    }
-
-    private static final XmlOptions prettyOptions =
-        new XmlOptions().setSavePrettyPrint();
-    
-    void dumpXml()
-    {
-        String xml = readString();
-        try
-        {
-            emit( XmlObject.Factory.parse( xml ).xmlText( prettyOptions ) );
-        }
-        catch ( XmlException x )
-        {
-            emit( "!!!!!! BAD XML !!!!!" );
-            emit( xml );
-        }
-    }
-    
-    void dumpModelGroupData()
-    {
-        emit("Name: " + qnameString(readQName()));
-        emit("Target namespace: " + readString());
-        emit("Chameleon: " + readShort());
-        if (atLeast(2, 15, 0))
-            emit("Redefine: " + readShort());
-        emit("Model Group Xml: ");
-        dumpXml();
-    }
-
-    void dumpAttributeGroupData()
-    {
-        emit("Name: " + qnameString(readQName()));
-        emit("Target namespace: " + readString());
-        emit("Chameleon: " + readShort());
-        if (atLeast(2, 15, 0))
-            emit("Redefine: " + readShort());
-        emit("Attribute Group Xml: ");
-        dumpXml();
-    }
-
-    static String alwaysString(int code)
-    {
-        switch (code)
-        {
-            case SchemaProperty.CONSISTENTLY: return "CONSISTENTLY";
-            case SchemaProperty.NEVER: return "NEVER";
-            case SchemaProperty.VARIABLE: return "VARIABLE";
-            default:
-                return "Unknown frequency code (" + code + ")";
-        }
-    }
-
-    static String jtcString(int code)
-    {
-        switch (code)
-        {
-            case SchemaProperty.XML_OBJECT: return "XML_OBJECT";
-            case SchemaProperty.JAVA_BOOLEAN: return "JAVA_BOOLEAN";
-            case SchemaProperty.JAVA_FLOAT: return "JAVA_FLOAT";
-            case SchemaProperty.JAVA_DOUBLE: return "JAVA_DOUBLE";
-            case SchemaProperty.JAVA_BYTE: return "JAVA_BYTE";
-            case SchemaProperty.JAVA_SHORT: return "JAVA_SHORT";
-            case SchemaProperty.JAVA_INT: return "JAVA_INT";
-            case SchemaProperty.JAVA_LONG: return "JAVA_LONG";
-
-            case SchemaProperty.JAVA_BIG_DECIMAL: return "JAVA_BIG_DECIMAL";
-            case SchemaProperty.JAVA_BIG_INTEGER: return "JAVA_BIG_INTEGER";
-            case SchemaProperty.JAVA_STRING: return "JAVA_STRING";
-            case SchemaProperty.JAVA_BYTE_ARRAY: return "JAVA_BYTE_ARRAY";
-            case SchemaProperty.JAVA_GDATE: return "JAVA_GDATE";
-            case SchemaProperty.JAVA_GDURATION: return "JAVA_GDURATION";
-            case SchemaProperty.JAVA_DATE: return "JAVA_DATE";
-            case SchemaProperty.JAVA_QNAME: return "JAVA_QNAME";
-            case SchemaProperty.JAVA_CALENDAR: return "JAVA_CALENDAR";
-            case SchemaProperty.JAVA_LIST: return "JAVA_LIST";
-
-            case SchemaProperty.JAVA_ENUM: return "JAVA_ENUM";
-            case SchemaProperty.JAVA_OBJECT: return "JAVA_OBJECT";
-
-            default:
-                return "Unknown java type code (" + code + ")";
-        }
-    }
-
-    void dumpPropertyData()
-    {
-        emit("Property");
-        indent();
-        emit("Name: " + qnameString(readQName()));
-        emit("Type: " + readType());
-        emit("Flags: " + propertyflagsString(readShort()));
-        emit("Container type: " + readType());
-        emit("Min occurances: " + bigIntegerString(readBigInteger()));
-        emit("Max occurances: " + bigIntegerString(readBigInteger()));
-        emit("Nillable: " + alwaysString(readShort()));
-        emit("Default: " + alwaysString(readShort()));
-        emit("Fixed: " + alwaysString(readShort()));
-        emit("Default text: " + readString());
-        emit("Java prop name: " + readString());
-        emit("Java type code: " + jtcString(readShort()));
-        emit("Type for java signature: " + readType());
-        emit("Java setter delimiter: " + qnameSetString(readQNameSet()));
-        if (atLeast(2, 16, 0))
-            emit("Default value: " + readXmlValueObject());
-        outdent();
-    }
-
-    String readXmlValueObject()
-    {
-        String type = readType();
-        if (type == null)
-            return "null";
-        
-        int btc = readShort();
-        String value;
-        switch (btc)
-        {
-            default:
-                assert(false);
-            case 0:
-                value = "nil";
-                break;
-
-            case SchemaType.BTC_ANY_SIMPLE:
-            case SchemaType.BTC_ANY_URI:
-            case SchemaType.BTC_STRING:
-            case SchemaType.BTC_DURATION:
-            case SchemaType.BTC_DATE_TIME:
-            case SchemaType.BTC_TIME:
-            case SchemaType.BTC_DATE:
-            case SchemaType.BTC_G_YEAR_MONTH:
-            case SchemaType.BTC_G_YEAR:
-            case SchemaType.BTC_G_MONTH_DAY:
-            case SchemaType.BTC_G_DAY:
-            case SchemaType.BTC_G_MONTH:
-            case SchemaType.BTC_DECIMAL:
-            case SchemaType.BTC_BOOLEAN:
-                value = readString();
-                break;
-
-            case SchemaType.BTC_BASE_64_BINARY:
-            case SchemaType.BTC_HEX_BINARY:
-                {
-                    value = new String(HexBin.encode(readByteArray()));
-                    if (value.length() > 19)
-                        value = value.subSequence(0, 16) + "...";
-                    break;
-                }
-
-            case SchemaType.BTC_QNAME:
-            case SchemaType.BTC_NOTATION:
-                value = QNameHelper.pretty(readQName());
-                break;
-
-            case SchemaType.BTC_FLOAT:
-            case SchemaType.BTC_DOUBLE:
-                value = Double.toString(readDouble());
-                break;
-        }
-        return value + " (" + type + ": " + btc +")";
-    }
-
-    double readDouble()
-    {
-        try
-        {
-            return _input.readDouble();
-        }
-        catch (IOException e)
-        {
-            error(e);
-            return 0.0;
-        }
-    }
-
-    String SOAPArrayTypeString(SOAPArrayType t)
-    {
-        if (t == null)
-            return "null";
-        return QNameHelper.pretty(t.getQName()) + t.soap11DimensionString();
-    }
-
-    SOAPArrayType readSOAPArrayType()
-    {
-        QName qName = readQName();
-        String dimensions = readString();
-        if (qName == null)
-            return null;
-        return new SOAPArrayType(qName, dimensions);
-    }
-
-    QNameSet readQNameSet()
-    {
-        short flag = readShort();
-
-        Set uriSet = new HashSet();
-        short uriCount = readShort();
-        for (int i = 0; i < uriCount; i++)
-            uriSet.add(readString());
-
-        Set qnameSet1 = new HashSet();
-        short qncount1 = readShort();
-        for (int i = 0; i < qncount1; i++)
-            qnameSet1.add(readQName());
-
-        Set qnameSet2 = new HashSet();
-        short qncount2 = readShort();
-        for (int i = 0; i < qncount2; i++)
-            qnameSet2.add(readQName());
-
-        if (flag == 1)
-            return QNameSet.forSets(uriSet, null, qnameSet1, qnameSet2);
-        else
-            return QNameSet.forSets(null, uriSet, qnameSet2, qnameSet1);
-    }
-
-    byte[] readByteArray()
-    {
-        try
-        {
-            short len = _input.readShort();
-            byte[] result = new byte[len];
-            _input.readFully(result);
-            return result;
-        }
-        catch (IOException e)
-        {
-            error(e);
-            return null;
-        }
-    }
-
-    BigInteger readBigInteger()
-    {
-        byte[] result = readByteArray();
-        if (result.length == 0)
-            return null;
-        if (result.length == 1 && result[0] == 0)
-            return BigInteger.ZERO;
-        if (result.length == 1 && result[0] == 1)
-            return BigInteger.ONE;
-        return new BigInteger(result);
-    }
-
-    static final byte[] SINGLE_ZERO_BYTE = new byte[] { (byte)0 };
-
-    private int _majorver;
-    private int _minorver;
-    private int _releaseno;
-
-
-    protected boolean atLeast(int majorver, int minorver, int releaseno)
-    {
-        if (_majorver > majorver)
-            return true;
-        if (_majorver < majorver)
-            return false;
-        if (_minorver > minorver)
-            return true;
-        if (_minorver < minorver)
-            return false;
-        return (_releaseno >= releaseno);
-    }
-
-    protected boolean atMost(int majorver, int minorver, int releaseno)
-    {
-        if (_majorver > majorver)
-            return false;
-        if (_majorver < majorver)
-            return true;
-        if (_minorver > minorver)
-            return false;
-        if (_minorver < minorver)
-            return true;
-        return (_releaseno <= releaseno);
-    }
-
-}
diff --git a/v1/src/xmlconfig/org/apache/xmlbeans/impl/config/SchemaConfig.java b/v1/src/xmlconfig/org/apache/xmlbeans/impl/config/SchemaConfig.java
deleted file mode 100644
index b07dd51..0000000
--- a/v1/src/xmlconfig/org/apache/xmlbeans/impl/config/SchemaConfig.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.config;
-
-import javax.xml.namespace.QName;
-
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Iterator;
-
-import com.bea.x2002.x09.xbean.config.ConfigDocument.Config;
-import com.bea.x2002.x09.xbean.config.Nsconfig;
-import com.bea.x2002.x09.xbean.config.Qnameconfig;
-
-public class SchemaConfig
-{
-    private Map _packageMap;
-    private Map _prefixMap;
-    private Map _suffixMap;
-    private Map _qnameMap;
-
-    private SchemaConfig()
-    {
-        _packageMap = Collections.EMPTY_MAP;
-        _prefixMap = Collections.EMPTY_MAP;
-        _suffixMap = Collections.EMPTY_MAP;
-        _qnameMap = Collections.EMPTY_MAP;
-    }
-    
-    public static SchemaConfig forConfigDocuments(Config[] configs)
-    {
-        return new SchemaConfig(configs);
-    }
-    
-    private SchemaConfig(Config[] configs)
-    {
-        _packageMap = new LinkedHashMap();
-        _prefixMap = new LinkedHashMap();
-        _suffixMap = new LinkedHashMap();
-        _qnameMap = new LinkedHashMap();
-        for (int i = 0; i < configs.length; i++)
-        {
-            Config config = configs[i];
-            Nsconfig[] nsa = config.getNamespaceArray();
-            for (int j = 0; j < nsa.length; j++)
-            {
-                recordNamespaceSetting(nsa[j].getUri(), nsa[j].getPackage(), _packageMap);
-                recordNamespaceSetting(nsa[j].getUri(), nsa[j].getPrefix(), _prefixMap);
-                recordNamespaceSetting(nsa[j].getUri(), nsa[j].getSuffix(), _suffixMap);
-            }
-            
-            Qnameconfig[] qnc = config.getQnameArray();
-            for (int j = 0; j < qnc.length; j++)
-            {
-                _qnameMap.put(qnc[j].getName(), qnc[j].getJavaname());
-            }
-        }
-    }
-
-    private static void recordNamespaceSetting(Object key, String value, Map result)
-    {
-        if (value == null)
-            return;
-        else if (key == null)
-            result.put("", value);
-        else if (key instanceof String && "##any".equals(key))
-            result.put(key, value);
-        else if (key instanceof List)
-        {
-            for (Iterator i = ((List)key).iterator(); i.hasNext(); )
-            {
-                String uri = (String)i.next();
-                if ("##local".equals(uri))
-                    uri = "";
-                result.put(uri, value);
-            }
-        }
-    }
-    
-    private String lookup(Map map, String uri)
-    {
-        if (uri == null)
-            uri = "";
-        String result = (String)map.get(uri);
-        if (result != null)
-            return result;
-        return (String)map.get("##any");
-    }
-
-    public String lookupPackageForNamespace(String uri)
-    {
-        return lookup(_packageMap, uri);
-    }
-
-    public String lookupPrefixForNamespace(String uri)
-    {
-        return lookup(_prefixMap, uri);
-    }
-
-    public String lookupSuffixForNamespace(String uri)
-    {
-        return lookup(_suffixMap, uri);
-    }
-
-    public String lookupJavanameForQName(QName qname)
-    {
-        return (String)_qnameMap.get(qname);
-    }
-}
diff --git a/v1/src/xmlinputstream/weblogic/utils/NestedThrowable.java b/v1/src/xmlinputstream/weblogic/utils/NestedThrowable.java
deleted file mode 100644
index 94eef61..0000000
--- a/v1/src/xmlinputstream/weblogic/utils/NestedThrowable.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer.
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache
-*    XMLBeans", nor may "Apache" appear in their name, without prior
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.utils;
-
-/**
- * The interface implemented by NestedException, NestedError, and
- * NestedRuntimeException largely so Util can provide a standard
- * implementation of toString() and printStackTrace()
- *
- * @deprecated use JDK 1.4 style nested throwables where possible.
- *
- * @author WebLogic
- */
-
-import java.io.PrintWriter;
-import java.io.PrintStream;
-import java.lang.reflect.InvocationTargetException;
-
-public interface NestedThrowable {
-
-  /** Get the nested Throwable. */
-  Throwable getNested();
-
-  /** Call super.toString(). [Kludge but necessary.] */
-  String superToString();
-
-  /** Call super.printStackTrace(). [Kludge but necessary.] */
-  void superPrintStackTrace(PrintStream ps);
-
-  /** Call super.printStackTrace(). [Kludge but necessary.] */
-  void superPrintStackTrace(PrintWriter po);
-
-  static class Util {
-
-    private static String EOL = System.getProperty("line.separator");
-
-    /**
-     * Prints the exception message and its nested exception message.
-     *
-     * @return                 String representation of the exception
-     */
-    public static String toString(NestedThrowable nt) {
-      Throwable nested = nt.getNested();
-      if (nested == null) {
-        return nt.superToString();
-      } else {
-        return nt.superToString() + " - with nested exception:" +
-          EOL + "[" + nestedToString(nested) + "]";
-      }
-    }
-
-    private static String nestedToString(Throwable nested) {
-      if (nested instanceof InvocationTargetException) {
-        InvocationTargetException ite = (InvocationTargetException) nested;
-        return nested.toString() + " - with target exception:" +
-          EOL + "[" + ite.getTargetException().toString() +
-          "]";
-      }
-      return nested.toString();
-    }
-
-    /**
-     * Prints the stack trace associated with this exception and
-     * its nested exception.
-     *
-     * @param s                 PrintStream
-     */
-    public static void printStackTrace(NestedThrowable nt, PrintStream s) {
-      Throwable nested = nt.getNested();
-      if (nested != null) {
-        nested.printStackTrace(s);
-        s.println("--------------- nested within: ------------------");
-      }
-      nt.superPrintStackTrace(s);
-    }
-
-    /**
-     * Prints the stack trace associated with this exception and
-     * its nested exception.
-     *
-     * @param w                 PrintWriter
-     */
-    public static void printStackTrace(NestedThrowable nt, PrintWriter w) {
-      Throwable nested = nt.getNested();
-      if (nested != null) {
-        nested.printStackTrace(w);
-        w.println("--------------- nested within: ------------------");
-      }
-      nt.superPrintStackTrace(w);
-    }
-  }
-
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/Attribute.java b/v1/src/xmlinputstream/weblogic/xml/stream/Attribute.java
deleted file mode 100644
index 1877415..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/Attribute.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * An interface that contains information about an attribute
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.XMLName
- * @see weblogic.xml.stream.Attribute
- */
-public interface Attribute {
-  /**
-   * Get the XMLName of the current attribute.
-   * @see weblogic.xml.stream.XMLName
-   */
-  public XMLName getName();
-
-  /**
-   * Get the attribute value of the current attribute.
-   */
-  public String getValue();
-
-  /**
-   * Get the attribute type of the current attribute
-   */
-  public String getType();
-
-  /**
-   * Get the attribute type of the current attribute
-   */
-  public XMLName getSchemaType();
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/AttributeIterator.java b/v1/src/xmlinputstream/weblogic/xml/stream/AttributeIterator.java
deleted file mode 100644
index a0a35a1..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/AttributeIterator.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * This interface specifies methods for iterating over attributes.
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.Attribute
-*/
-
-public interface AttributeIterator {
-  /**
-   * Get the next Attribute on the stream
-   * @see weblogic.xml.stream.Attribute
-   */
-  public Attribute next();
-
-  /**
-   * Check if there are any attributes on the stream
-   */
-  public boolean hasNext();
-
-  /**
-   * Return the next element on the stream without shifting it
-   */
-  public Attribute peek();
-
-
-  /**
-   * Skip the next element on the stream
-   */
-  public void skip();
-}
-
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/BufferedXMLInputStream.java b/v1/src/xmlinputstream/weblogic/xml/stream/BufferedXMLInputStream.java
deleted file mode 100644
index 0732a3d..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/BufferedXMLInputStream.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-import java.io.IOException;
-/**
- * Extends the XMLInputStream to allow marking and reseting of the stream.
- *
- * @since XMLInputStream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.CharacterData
- * @see weblogic.xml.stream.ProcessingInstruction
- * @see weblogic.xml.stream.StartElement
- * @see weblogic.xml.stream.EndElement
- * @see weblogic.xml.stream.CharacterData
- * @see weblogic.xml.stream.XMLName
- */
-public interface BufferedXMLInputStream extends XMLInputStream {
-  /**
-   * Sets the marks a point to return to in the stream,
-   * throws an exception if the stream does not support mark.
-   * This is only supported in BufferedStreams
-   */
-  public void mark() throws XMLStreamException;
-  /**
-   * Resets the stream to the previous mark.
-   * throws an exception if the stream does not support mark;
-   */
-  public void reset() throws XMLStreamException;
-}
-
-
-
-
-
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/ChangePrefixMapping.java b/v1/src/xmlinputstream/weblogic/xml/stream/ChangePrefixMapping.java
deleted file mode 100644
index d765493..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/ChangePrefixMapping.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * This event signals that a prefix mapping has changed from
- * OldNamespaceName to the NewNamespaceName
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.StartPrefixMapping
- * @see weblogic.xml.stream.EndPrefixMapping
- */
-public interface ChangePrefixMapping extends XMLEvent {
-  /*
-   * returns the uri that the prefix was bound to
-   * @return String value of the uri
-   */
-  public String getOldNamespaceUri();
-  /*
-   * returns the new uri that the prefix is bound to
-   * @return String value of the uri
-   */
-  public String getNewNamespaceUri();
-  /*
-   * returns the prefix that is bound
-   * @return String value of the prefix
-   */
-  public String getPrefix();
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/CharacterData.java b/v1/src/xmlinputstream/weblogic/xml/stream/CharacterData.java
deleted file mode 100644
index 2bcbd8b..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/CharacterData.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * A marker interface for character data
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.XMLEvent
-*/
-public interface CharacterData extends XMLEvent {
-  /**
-   * Get the content of this element,
-   * returns null if the element has no content
-   */
-  public String getContent();
-
-  /**
-   * Returns true if this element has content and false otherwise
-   */
-  public boolean hasContent();
-
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/Comment.java b/v1/src/xmlinputstream/weblogic/xml/stream/Comment.java
deleted file mode 100644
index 253c6e0..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/Comment.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * A marker interface for comment data
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.XMLEvent
-*/
-
-public interface Comment extends CharacterData {
-  /**
-   * No methods are defined in this interface.
-   */
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/ElementFilter.java b/v1/src/xmlinputstream/weblogic/xml/stream/ElementFilter.java
deleted file mode 100644
index 29cea57..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/ElementFilter.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- *
- * This interface defines a filter on elements
- */
-
-public interface ElementFilter {
-  /**
-   * tests whether this event is part of this stream 
-   */
-  boolean accept(XMLEvent element);
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/EndDocument.java b/v1/src/xmlinputstream/weblogic/xml/stream/EndDocument.java
deleted file mode 100644
index 67db7d0..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/EndDocument.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * A marker interface for the end of a document
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.XMLEvent
-*/
-public interface EndDocument extends XMLEvent {
-  /**
-   * No methods are defined in this interface.
-   */
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/EndElement.java b/v1/src/xmlinputstream/weblogic/xml/stream/EndElement.java
deleted file mode 100644
index 6efe498..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/EndElement.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * A marker interface for the end element event.
- * The name is available in the getName method of
- * weblogic.xml.stream.XMLEvent interface.
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.XMLEvent
-*/
-public interface EndElement extends XMLEvent {
-  /**
-   * No methods are defined in this interface.  
-   */
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/EndPrefixMapping.java b/v1/src/xmlinputstream/weblogic/xml/stream/EndPrefixMapping.java
deleted file mode 100644
index 6653d4f..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/EndPrefixMapping.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * This event signals that a prefix mapping has gone out of scope
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.StartPrefixMapping
- * @see weblogic.xml.stream.ChangePrefixMapping
- */
-
-public interface EndPrefixMapping extends XMLEvent {
-  /* 
-   * Returns the prefix that has gone out of scope
-   * @return String value of the prefix
-   */
-  public String getPrefix();
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/EntityReference.java b/v1/src/xmlinputstream/weblogic/xml/stream/EntityReference.java
deleted file mode 100644
index 5bf211e..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/EntityReference.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * An interface for handling Entity Declarations
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- */
-
-public interface EntityReference extends XMLEvent {
-  /**
-   * Returns true if this entity was skipped
-   */
-  public boolean skipped();
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/Location.java b/v1/src/xmlinputstream/weblogic/xml/stream/Location.java
deleted file mode 100644
index 6551814..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/Location.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * Returns the document location of the event.  This is not
- * required to be exact and is informational only.
- * 
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- *
- */
-public interface Location {
-  /*
-   * returns the current column number
-   *
-   * @return integer value of the current column number
-   */
-  public int getColumnNumber(); 
-  /*
-   * returns the current line
-   *
-   * @return integer value of the current line number
-   */
-  public int getLineNumber();
-  /*
-   * returns the String value of the public ID
-   *
-   * @return public ID or null if not set
-   */
-  public String getPublicId(); 
-  /*
-   * returns the String value of the system ID
-   *
-   * @return system ID or null if not set
-   */
-  public String getSystemId();
-}
-
-
-
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/ProcessingInstruction.java b/v1/src/xmlinputstream/weblogic/xml/stream/ProcessingInstruction.java
deleted file mode 100644
index 0b7d462..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/ProcessingInstruction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * A marker interface for processing instructions
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.XMLEvent
-*/
-public interface ProcessingInstruction extends XMLEvent {
-  /*
-   * the target section of the processing instruction
-   *
-   * @return the String value of the PI or null
-   */
-  public String getTarget();
-  /*
-   * the data section of the processing instruction
-   *
-   * @return the String value of the PI's data or null
-   */
-  public String getData();
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/ReferenceResolver.java b/v1/src/xmlinputstream/weblogic/xml/stream/ReferenceResolver.java
deleted file mode 100644
index def67e2..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/ReferenceResolver.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-import weblogic.xml.stream.XMLInputStream;
-
-/**
- * This interface can be implemented to allow resolution of references
- * on a stream.  
- */
-public interface ReferenceResolver {
-  /**
-   * Returns the xml pointed to by this idref as an XMLInputStream
-   * @param idref
-   */
-  XMLInputStream resolve(String idref)
-    throws XMLStreamException;
-
-  /**
-   * Returns the id that corresponds to this idref
-   * @param idref
-   */
-  String getId(String idref);
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/Space.java b/v1/src/xmlinputstream/weblogic/xml/stream/Space.java
deleted file mode 100644
index a4b5c14..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/Space.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * This element returns whitespace characters to allow separate
- * handling by the application
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- */
-public interface Space extends CharacterData {
-  /**
-   * Returns true if this is ignorable whitespace
-   */
-  public boolean ignorable();
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/StartDocument.java b/v1/src/xmlinputstream/weblogic/xml/stream/StartDocument.java
deleted file mode 100644
index 4d7d163..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/StartDocument.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * An interface for the start document event
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.XMLEvent
-*/
-public interface StartDocument extends XMLEvent {
-  /* 
-   * Returns the system id of the stream
-   * @return the system id, defaults to ""
-   */
-  public String getSystemId();
-  /* 
-   * Returns the encoding style of this XML stream
-   * @return the character encoding, defaults to "UTF-8"
-   */
-  public String getCharacterEncodingScheme();
-  /* 
-   * Returns if this XML is standalone
-   * @return the version of XML, defaults to "yes"
-   */
-  public boolean isStandalone();
-  /* 
-   * Returns the version of XML of this XML stream
-   * @return the version of XML, defaults to "1.0"
-   */
-  public String getVersion();
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/StartElement.java b/v1/src/xmlinputstream/weblogic/xml/stream/StartElement.java
deleted file mode 100644
index 2a07613..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/StartElement.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-import java.util.Map;
-/**
- * The StartElement interface provides access to information about
- * start elements
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.AttributeIterator
- */
-
-public interface StartElement extends XMLEvent {
-  /**
-   * Returns an AttributeIterator of non-namespace declared attributes
-   */
-  public AttributeIterator getAttributes();
-  /**
-   * Returns an AttributeIterator of namespaces declared in this element
-   */
-  public AttributeIterator getNamespaces();
-  /**
-   * Returns the union of declared attributes and namespaces
-   */
-  public AttributeIterator getAttributesAndNamespaces();
-  /**
-   * Returns the attribute referred to by this name
-   */
-  public Attribute getAttributeByName(XMLName name);
-  /**
-   * Gets the value that the prefix is bound to in the
-   * context of this element.  Returns null if 
-   * the prefix is not bound in this context
-   */
-  public String getNamespaceUri(String prefix);
-  /**
-   * Gets a java.util.Map from prefixes to URIs in scope for this
-   * element.
-   */
-  public Map getNamespaceMap();
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/StartPrefixMapping.java b/v1/src/xmlinputstream/weblogic/xml/stream/StartPrefixMapping.java
deleted file mode 100644
index 7a919be..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/StartPrefixMapping.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * This event signals that a prefix mapping has begun scope
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.EndPrefixMapping
- * @see weblogic.xml.stream.ChangePrefixMapping
- */
-
-public interface StartPrefixMapping extends XMLEvent {
-  /* 
-   * Returns the uri of the prefix that is in scope for the following 
-   * element
-   * @return String value of the uri
-   */
-  public String getNamespaceUri();
-  /* 
-   * Returns the prefix that is now in scope
-   * @return String value of the prefix
-   */
-  public String getPrefix();
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/XMLEvent.java b/v1/src/xmlinputstream/weblogic/xml/stream/XMLEvent.java
deleted file mode 100644
index ff17c95..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/XMLEvent.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * This is the base element interface for handling markup events.
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.CharacterData
- * @see weblogic.xml.stream.ProcessingInstruction
- * @see weblogic.xml.stream.StartElement
- * @see weblogic.xml.stream.EndElement
- * @see weblogic.xml.stream.CharacterData
- * @see weblogic.xml.stream.XMLName
- * @see weblogic.xml.stream.StartDocument
- */
-
-public interface XMLEvent {
-  /**
-   * A constant which identifies an XMLEvent
-   * @see weblogic.xml.stream.XMLEvent
-   */
-  public static final int XML_EVENT=0x00000001;
-  /**
-   * A constant which identifies a StartElement
-   * @see weblogic.xml.stream.StartElement
-   */
-  public static final int START_ELEMENT=0x00000002;
-  /**
-   * A constant which identifies an EndElement
-   * @see weblogic.xml.stream.EndElement
-   */
-  public static final int END_ELEMENT=0x00000004;
-  /**
-   * A constant which identifies a ProcessingInstruction
-   * @see weblogic.xml.stream.ProcessingInstruction
-   */
-  public static final int PROCESSING_INSTRUCTION=0x00000008;
-  /**
-   * A constant which identifies a CharacterData Event
-   * @see weblogic.xml.stream.CharacterData
-   */
-  public static final int CHARACTER_DATA=0x00000010;
-  /**
-   * A constant which identifies a Comment
-   * @see weblogic.xml.stream.Comment
-   */
-  public static final int COMMENT=0x00000020;
-  /**
-   * A constant which identifies a Space
-   * @see weblogic.xml.stream.Space
-   */
-  public static final int SPACE=0x00000040;
-  /**
-   * A constant which identifies a NullElement
-   */
-  public static final int NULL_ELEMENT=0x00000080;
-  /**
-   * A constant which identifies a StartDocument
-   * @see weblogic.xml.stream.StartDocument
-   */
-  public static final int START_DOCUMENT=0x00000100;
-  /**
-   * A constant which identifies an EndDocument
-   * @see weblogic.xml.stream.EndDocument
-   */
-  public static final int END_DOCUMENT=0x00000200;
-  /**
-   * A constant which identifies a StartPrefixMapping
-   * @see weblogic.xml.stream.StartPrefixMapping
-   */
-  public static final int START_PREFIX_MAPPING=0x00000400;
-  /**
-   * A constant which identifies a EndPrefixMapping
-   * @see weblogic.xml.stream.EndPrefixMapping
-   */
-  public static final int END_PREFIX_MAPPING=0x00000800;
-  /**
-   * A constant which identifies a ChangePrefixMapping
-   * @see weblogic.xml.stream.ChangePrefixMapping
-   */
-  public static final int CHANGE_PREFIX_MAPPING=0x00001000;
-  /**
-   * A constant which identifies an EntityReference 
-   * @see weblogic.xml.stream.EntityReference
-   */
-  public static final int ENTITY_REFERENCE=0x00002000;
-  /**
-   * Get the event type of the current element,
-   * returns an integer so that switch statements
-   * can be written on the result
-   */
-  public int getType();
-  /**
-   * Get the event type of the current element,
-   * returns an integer so that switch statements
-   * can be written on the result
-   */
-  public XMLName getSchemaType();
-  /**
-   * Get the string value of the type name
-   */
-  public String getTypeAsString();
-  /**
-   * Get the XMLName of the current element
-   * @see weblogic.xml.stream.XMLName
-   */
-  public XMLName getName();
-
-  /**
-   * Check if this Element has a name
-   */
-  public boolean hasName();
-
-  /**
-   * Return the location of this Element
-   */
-  public Location getLocation();
-
-  /**
-   * Method access to the elements type
-   */
-  public boolean isStartElement();
-  public boolean isEndElement();
-  public boolean isEntityReference();
-  public boolean isStartPrefixMapping();
-  public boolean isEndPrefixMapping();
-  public boolean isChangePrefixMapping();
-  public boolean isProcessingInstruction();
-  public boolean isCharacterData();
-  public boolean isSpace();
-  public boolean isNull();
-  public boolean isStartDocument();
-  public boolean isEndDocument();
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/XMLInputStream.java b/v1/src/xmlinputstream/weblogic/xml/stream/XMLInputStream.java
deleted file mode 100644
index dcea6fe..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/XMLInputStream.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- *
- * This is the top level interface for iterating over XML Events
- * in an XML document.
- *
- * <p> Difference from SAX </p>
- * <p> An event stream can be thought of encapsulating SAX
- * events. It applies an iterator/pull metaphor to the parser 
- * allowing procedural, stream-based, handling of input XML rather than
- * having to write chained event handlers to handle complex XML
- * documents.
- * <p> Difference from DOM </p>
- * <p>The pull metaphor allows single-pass, stream-based  parsing of the document rather
- * than tree based manipulation.</p>
- *
- * @since XMLInputStream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.XMLEvent
- * @see weblogic.xml.stream.CharacterData
- * @see weblogic.xml.stream.ProcessingInstruction
- * @see weblogic.xml.stream.StartElement
- * @see weblogic.xml.stream.EndElement
- * @see weblogic.xml.stream.CharacterData
- * @see weblogic.xml.stream.XMLName
- */
-
-// REVIEW pdapkus@bea.com 2002-Sep-13 -- while I like the convenience
-// of many of these methods, it strikes me that many of these methods
-// could implemented as static methods in a utility class.  the down
-// side to having them in this base interface is that it makes the
-// contract for implementers unnecessarily steap and results in
-// duplicated code in methods that can't extend one of the common base
-// classes.  
-
-public interface XMLInputStream {
-  /**
-   * Get the next XMLEvent on the stream
-   * @see weblogic.xml.stream.XMLEvent
-   */
-  public XMLEvent next() throws XMLStreamException;
-  /**
-   * Check if there are more events to pull of the stream
-   * @see weblogic.xml.stream.XMLEvent
-   */
-  public boolean hasNext() throws XMLStreamException;
-  /**
-   * Skip the next stream event
-   */
-  public void skip() throws XMLStreamException;
-  /**
-   * Skips the entire next start tag / end tag pair.
-   */
-  public void skipElement() throws XMLStreamException;
-  /**
-   * Check the next XMLEvent without reading it from the stream.
-   * Returns null if the stream is at EOF or has no more XMLEvents.
-   * @see weblogic.xml.stream.XMLEvent
-   */
-  public XMLEvent peek() throws XMLStreamException;
-  /**
-   * Position the stream at the next XMLEvent of this type.  The method
-   * returns true if the stream contains another XMLEvent of this type
-   * and false otherwise.
-   * @param eventType An integer code that indicates the element type.
-   * @see weblogic.xml.stream.XMLEvent
-   */
-  public boolean skip(int eventType) throws XMLStreamException;
-  /**
-   * Position the stream at the next element of this name.  The method
-   * returns true if the stream contains another element with this name
-   * and false otherwise.  Skip is a forward operator only.  It does
-   * not look backward in the stream.
-   * @param name An object that defines an XML name.
-   * If the XMLName.getNameSpaceName() method on the XMLName argument returns
-   * null the XMLName will match just the local name.  Prefixes are
-   * not checked for equality.
-   * @see weblogic.xml.stream.XMLName
-   */
-  public boolean skip(XMLName name) throws XMLStreamException;
-  /**
-   * Position the stream at the next element of this name and this type.
-   * The method returns true if the stream contains another element 
-   * with this name of this type and false otherwise.  
-   * @param name An object that defines an XML name.
-   * If the XMLName.getNameSpaceName() method on the XMLName argument returns
-   * null the XMLName will match just the local name.  Prefixes are
-   * not checked for equality.
-   * @param eventType An integer code that indicates the element type.
-   * @see weblogic.xml.stream.XMLEvent
-   * @see weblogic.xml.stream.XMLName
-   */
-  public boolean skip(XMLName name, int eventType) throws XMLStreamException;
-  /**
-   * getSubStream() returns a stream which points to the entire next element in the
-   * current stream.  For example: take a document that has a root node A, where the children
-   * of A are B, C, and D. If the stream is pointing to the start element of A, getSubStream() will return 
-   * A, B, C and D including the start element of A and the end element of A.  The position of the parent
-   * stream is not changed and the events read by the substream are written back to its parent.   
-   */
-  public XMLInputStream getSubStream() throws XMLStreamException;
-  /**
-   * Closes this input stream and releases any system resources associated with the stream.
-   */
-  public void close() throws XMLStreamException;
-
-  /**
-   * Returns the reference resolver that was set for this stream,
-   * returns null if no ReferenceResolver has been set.
-   * @see weblogic.xml.stream.ReferenceResolver
-   */
-  public ReferenceResolver getReferenceResolver();
-  /**
-   * Provides a way to set the ReferenceResolver of the stream,
-   * this is mostly needed for handle references to other parts of the
-   * document.
-   * @see weblogic.xml.stream.ReferenceResolver
-   */
-  public void setReferenceResolver(ReferenceResolver resolver);
-}
-
-
-
-
-
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/XMLName.java b/v1/src/xmlinputstream/weblogic/xml/stream/XMLName.java
deleted file mode 100644
index b2234c6..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/XMLName.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-/**
- * Encapsulates information about the Qualified Name of an XML event.
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- * @see weblogic.xml.stream.StartElement
- * @see weblogic.xml.stream.XMLEvent
- */
-
-public interface XMLName {
-  /*
-   * returns the uri of the prefix of this name
-   * 
-   * @return returns the uri, 
-   * empty string if the default namespace is bound to empty string 
-   * or null if the name does not have a namespace
-   */
-  public String getNamespaceUri();
-  /*
-   * returns the localname of the xml name
-   * 
-   * @return the localname, cannot be null
-   */
-  public String getLocalName();
-  /*
-   * returns the prefix of the xml name
-   * 
-   * @return the prefix of the xml name or null
-   */
-  public String getPrefix();
-
-  /*
-   * returns the prefix of the xml name + ':' + the local name
-   * if the prefix is not null
-   * returns the local name otherwise
-   * 
-   * @return the prefix plus the local name
-   */
-  public String getQualifiedName();
-}
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/XMLStreamException.java b/v1/src/xmlinputstream/weblogic/xml/stream/XMLStreamException.java
deleted file mode 100644
index 4980df3..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/XMLStreamException.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream;
-
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-
-import weblogic.utils.NestedThrowable;
-
-/**
- * The base exception for unexpected input during XML handling
- *
- * @since Weblogic XML Input Stream 1.0
- * @version 1.0
- */
-
-public class XMLStreamException 
-  extends IOException 
-  implements NestedThrowable 
-{
-  protected Throwable th;
-
-  public XMLStreamException() {}
-
-  public XMLStreamException(String msg) { 
-    super(msg); 
-  }
-
-  public XMLStreamException(Throwable th) {
-    this.th = th;
-    
-  }
-
-  public XMLStreamException(String msg, Throwable th) {
-    super(msg);
-    this.th = th;
-  }
-
-  /**
-   * Gets the nested exception.
-   *
-   * @return                 Nested exception
-   */
-  public Throwable getNestedException() {
-    return getNested();
-  }
-
-  //try to do someting useful
-  public String getMessage() {
-    String msg = super.getMessage();
-
-    if (msg == null && th != null) {
-      return th.getMessage();
-    } else {
-      return msg;
-    }
-  }
-
-
-  // =================================================================
-  // NestedThrowable implementation.
-
-  /**
-   * Gets the nested Throwable.
-   *
-   * @return                 Nested exception
-   */
-  public Throwable getNested() {
-    return th;
-  }
-
-  public String superToString() {
-    return super.toString();
-  }
-
-  public void superPrintStackTrace(PrintStream ps) {
-    super.printStackTrace(ps);
-  }
-
-  public void superPrintStackTrace(PrintWriter pw) {
-    super.printStackTrace(pw);
-  }
-
-  // End NestedThrowable implementation.
-  // =================================================================
-
-  /**
-   * Prints the exception message and its nested exception message.
-   *
-   * @return                 String representation of the exception
-   */
-  public String toString() {
-    return NestedThrowable.Util.toString(this);
-  }
-
-  /**
-   * Prints the stack trace associated with this exception and
-   * its nested exception.
-   *
-   * @param s                 PrintStream
-   */
-  public void printStackTrace(PrintStream s) { 
-    NestedThrowable.Util.printStackTrace(this, s);
-  }
-
-  /**
-   * Prints the stack trace associated with this exception and
-   * its nested exception.
-   *
-   * @param s                 PrintStream
-   */
-  public void printStackTrace(PrintWriter w) { 
-    NestedThrowable.Util.printStackTrace(this, w);
-  }
-
-  /**
-   * Prints the stack trace associated with this exception and
-   * its nested exception to System.err.
-   *
-   * @param s                 PrintStream
-   */
-  public void printStackTrace() {
-    printStackTrace(System.err);
-  }
-}
-
-
diff --git a/v1/src/xmlinputstream/weblogic/xml/stream/events/ElementTypeNames.java b/v1/src/xmlinputstream/weblogic/xml/stream/events/ElementTypeNames.java
deleted file mode 100644
index 1fd60f9..0000000
--- a/v1/src/xmlinputstream/weblogic/xml/stream/events/ElementTypeNames.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package weblogic.xml.stream.events;
-
-import weblogic.xml.stream.XMLEvent;
-
-public class ElementTypeNames {
-  public static String getName(int val) { 
-    switch(val) {
-    case XMLEvent.XML_EVENT: return ("XML_EVENT");
-    case XMLEvent.START_ELEMENT: return ("START_ELEMENT");
-    case XMLEvent.END_ELEMENT: return ("END_ELEMENT");
-    case XMLEvent.PROCESSING_INSTRUCTION: return ("PROCESSING_INSTRUCTION");
-    case XMLEvent.CHARACTER_DATA: return ("CHARACTER_DATA");
-    case XMLEvent.COMMENT: return ("COMMENT");
-    case XMLEvent.SPACE: return ("SPACE");
-    case XMLEvent.NULL_ELEMENT: return ("NULL_ELEMENT");
-    case XMLEvent.START_DOCUMENT: return ("START_DOCUMENT");
-    case XMLEvent.END_DOCUMENT: return ("END_DOCUMENT");
-    case XMLEvent.START_PREFIX_MAPPING: return ("START_PREFIX_MAPPING");
-    case XMLEvent.CHANGE_PREFIX_MAPPING: return ("CHANGE_PREFIX_MAPPING");
-    case XMLEvent.END_PREFIX_MAPPING: return ("END_PREFIX_MAPPING");
-    case XMLEvent.ENTITY_REFERENCE: return ("ENTITY_REFERENCE");
-    default: return "";
-    }
-  }
-  public static int getType(String val) {
-    if (val.equals("XML_EVENT")) 
-      return XMLEvent.XML_EVENT;
-    if (val.equals ("START_ELEMENT")) return 
-        XMLEvent.START_ELEMENT; 
-    if (val.equals ("END_ELEMENT")) return XMLEvent.END_ELEMENT;
-    if (val.equals ("PROCESSING_INSTRUCTION"))
-      return XMLEvent.PROCESSING_INSTRUCTION; 
-    if (val.equals ("CHARACTER_DATA"))
-      return XMLEvent.CHARACTER_DATA; 
-    if (val.equals ("COMMENT"))
-      return XMLEvent.COMMENT; 
-    if (val.equals ("SPACE"))
-      return XMLEvent.SPACE; 
-    if (val.equals ("NULL_ELEMENT"))
-      return XMLEvent.NULL_ELEMENT; 
-    if (val.equals ("START_DOCUMENT"))
-      return XMLEvent.START_DOCUMENT; 
-    if (val.equals ("END_DOCUMENT"))
-      return XMLEvent.END_DOCUMENT; 
-    if (val.equals ("START_PREFIX_MAPPING"))
-      return XMLEvent.START_PREFIX_MAPPING; 
-    if (val.equals ("CHANGE_PREFIX_MAPPING"))
-      return XMLEvent.CHANGE_PREFIX_MAPPING;
-    if (val.equals ("ENTITY_REFERENCE"))
-      return XMLEvent.ENTITY_REFERENCE; 
-    if (val.equals ("END_PREFIX_MAPPING"))
-      return XMLEvent.END_PREFIX_MAPPING;
-
-    return XMLEvent.NULL_ELEMENT;
-  }
-}
diff --git a/v1/src/xmlpublic/javax/xml/namespace/QName.java b/v1/src/xmlpublic/javax/xml/namespace/QName.java
deleted file mode 100644
index 69ba36d..0000000
--- a/v1/src/xmlpublic/javax/xml/namespace/QName.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2001-2003 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Axis" and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package javax.xml.namespace;
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-
-/**
- * <code>QName</code> class represents the value of a qualified name
- * as specified in <a href="http://www.w3.org/TR/xmlschema-2/#QName">XML
- * Schema Part2: Datatypes specification</a>.
- * <p>
- * The value of a QName contains a <b>namespaceURI</b>, a <b>localPart</b> and a <b>prefix</b>.
- * The localPart provides the local part of the qualified name. The
- * namespaceURI is a URI reference identifying the namespace.
- *
- * @version 1.1
- */
-public class QName implements Serializable {
-
-    /** comment/shared empty string */
-    private static final String emptyString = "".intern();
-
-    /** Field namespaceURI */
-    private String namespaceURI;
-
-    /** Field localPart */
-    private String localPart;
-
-    /** Field prefix */
-    private String prefix;
-
-    /**
-     * Constructor for the QName.
-     *
-     * @param localPart Local part of the QName
-     */
-    public QName(String localPart) {
-        this(emptyString, localPart, emptyString);
-    }
-
-    /**
-     * Constructor for the QName.
-     *
-     * @param namespaceURI Namespace URI for the QName
-     * @param localPart Local part of the QName.
-     */
-    public QName(String namespaceURI, String localPart) {
-        this(namespaceURI, localPart, emptyString);
-    }
-
-    /**
-     * Constructor for the QName.
-     *
-     * @param namespaceURI Namespace URI for the QName
-     * @param localPart Local part of the QName.
-     * @param prefix Prefix of the QName.
-     */
-    public QName(String namespaceURI, String localPart, String prefix) {
-        this.namespaceURI = (namespaceURI == null)
-                ? emptyString
-                : namespaceURI.intern();
-        if (localPart == null) {
-            throw new IllegalArgumentException("invalid QName local part");
-        } else {
-            this.localPart = localPart.intern();
-        }
-
-        if (prefix == null) {
-            throw new IllegalArgumentException("invalid QName prefix");
-        } else {
-            this.prefix = prefix.intern();
-        }
-    }
-
-    /**
-     * Gets the Namespace URI for this QName
-     *
-     * @return Namespace URI
-     */
-    public String getNamespaceURI() {
-        return namespaceURI;
-    }
-
-    /**
-     * Gets the Local part for this QName
-     *
-     * @return Local part
-     */
-    public String getLocalPart() {
-        return localPart;
-    }
-
-    /**
-     * Gets the Prefix for this QName
-     *
-     * @return Prefix
-     */
-    public String getPrefix() {
-        return prefix;
-    }
-
-    /**
-     * Returns a string representation of this QName
-     *
-     * @return  a string representation of the QName
-     */
-    public String toString() {
-
-        return ((namespaceURI == emptyString)
-                ? localPart
-                : '{' + namespaceURI + '}' + localPart);
-    }
-
-    /**
-     * Tests this QName for equality with another object.
-     * <p>
-     * If the given object is not a QName or is null then this method
-     * returns <tt>false</tt>.
-     * <p>
-     * For two QNames to be considered equal requires that both
-     * localPart and namespaceURI must be equal. This method uses
-     * <code>String.equals</code> to check equality of localPart
-     * and namespaceURI. Any class that extends QName is required
-     * to satisfy this equality contract.
-     * <p>
-     * This method satisfies the general contract of the <code>Object.equals</code> method.
-     *
-     * @param obj the reference object with which to compare
-     *
-     * @return <code>true</code> if the given object is identical to this
-     *      QName: <code>false</code> otherwise.
-     */
-    public final boolean equals(Object obj) {
-
-        if (obj == this) {
-            return true;
-        }
-
-        if (!(obj instanceof QName)) {
-            return false;
-        }
-
-        if ((namespaceURI == ((QName) obj).namespaceURI)
-                && (localPart == ((QName) obj).localPart)) {
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns a QName holding the value of the specified String.
-     * <p>
-     * The string must be in the form returned by the QName.toString()
-     * method, i.e. "{namespaceURI}localPart", with the "{namespaceURI}"
-     * part being optional.
-     * <p>
-     * This method doesn't do a full validation of the resulting QName.
-     * In particular, it doesn't check that the resulting namespace URI
-     * is a legal URI (per RFC 2396 and RFC 2732), nor that the resulting
-     * local part is a legal NCName per the XML Namespaces specification.
-     *
-     * @param s the string to be parsed
-     * @throws java.lang.IllegalArgumentException If the specified String cannot be parsed as a QName
-     * @return QName corresponding to the given String
-     */
-    public static QName valueOf(String s) {
-
-        if ((s == null) || s.equals("")) {
-            throw new IllegalArgumentException("invalid QName literal");
-        }
-
-        if (s.charAt(0) == '{') {
-            int i = s.indexOf('}');
-
-            if (i == -1) {
-                throw new IllegalArgumentException("invalid QName literal");
-            }
-
-            if (i == s.length() - 1) {
-                throw new IllegalArgumentException("invalid QName literal");
-            } else {
-                return new QName(s.substring(1, i), s.substring(i + 1));
-            }
-        } else {
-            return new QName(s);
-        }
-    }
-
-    /**
-     * Returns a hash code value for this QName object. The hash code
-     * is based on both the localPart and namespaceURI parts of the
-     * QName. This method satisfies the  general contract of the
-     * <code>Object.hashCode</code> method.
-     *
-     * @return a hash code value for this Qname object
-     */
-    public final int hashCode() {
-        return namespaceURI.hashCode() ^ localPart.hashCode();
-    }
-
-    /**
-     * Ensure that deserialization properly interns the results.
-     * @param in the ObjectInputStream to be read
-     */
-    private void readObject(ObjectInputStream in) throws
-            IOException, ClassNotFoundException {
-        in.defaultReadObject();
-
-        namespaceURI = namespaceURI.intern();
-        localPart = localPart.intern();
-        prefix = prefix.intern();
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/FilterXmlObject.java b/v1/src/xmlpublic/org/apache/xmlbeans/FilterXmlObject.java
deleted file mode 100644
index 532c0b2..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/FilterXmlObject.java
+++ /dev/null
@@ -1,695 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import weblogic.xml.stream.XMLInputStream;
-
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Writer;
-import java.math.BigInteger;
-import java.math.BigDecimal;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-
-import org.w3c.dom.Node;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.ext.LexicalHandler;
-
-import javax.xml.namespace.QName;
-
-/**
- * A FilterXmlObject delegates to some other XmlObject, which it can use as
- * its basic source of data, possibly transforming the data along the way or
- * providing additional functionality. The class FilterXmlObject itself
- * simply overrides all methods of XmlObject with versions that pass all
- * requests to the underlying XmlObject. Subclasses of FilterXmlObject may
- * further override some of these methods and may also provide additional
- * methods and fields.
- * <p>
- * Note: it is important that FilterXmlOBject has no storage (i.e., no
- * non-transient fields), because subclasses may be serializable and
- * adding storage would break the serialization format.
- */ 
-public abstract class FilterXmlObject implements XmlObject, SimpleValue
-{
-    /**
-     * This abstract method is called to obtain the underlying XmlObject.
-     * Override this method to supply or compute the wrapped object.
-     * <p>
-     * Every other method of this class delegates to the object returned
-     * from this method. It is assumed that the object implements all the
-     * methods of both XmlObject and SimpleValue.
-     */ 
-    public abstract XmlObject underlyingXmlObject();
-
-    public SchemaType schemaType()
-    {
-        return underlyingXmlObject().schemaType();
-    }
-
-    public boolean validate()
-    {
-        return underlyingXmlObject().validate();
-    }
-
-    public boolean validate(XmlOptions options)
-    {
-        return underlyingXmlObject().validate(options);
-    }
-
-    public XmlObject[] selectPath(String path)
-    {
-        return underlyingXmlObject().selectPath(path);
-    }
-
-    public XmlObject[] selectPath(String path, XmlOptions options)
-    {
-        return underlyingXmlObject().selectPath(path, options);
-    }
-
-    public XmlObject[] execQuery(String query)
-    {
-        return underlyingXmlObject().execQuery(query);
-    }
-
-    public XmlObject[] execQuery(String query, XmlOptions options)
-    {
-        return underlyingXmlObject().execQuery(query, options);
-    }
-
-    public XmlObject changeType(SchemaType newType)
-    {
-        return underlyingXmlObject().changeType(newType);
-    }
-
-    public boolean isNil()
-    {
-        return underlyingXmlObject().isNil();
-    }
-
-    public void setNil()
-    {
-        underlyingXmlObject().setNil();
-    }
-
-    public boolean isImmutable()
-    {
-        return underlyingXmlObject().isImmutable();
-    }
-
-    public XmlObject set(XmlObject srcObj)
-    {
-        return underlyingXmlObject().set(srcObj);
-    }
-
-    public XmlObject copy()
-    {
-        return underlyingXmlObject().copy();
-    }
-
-    public boolean valueEquals(XmlObject obj)
-    {
-        return underlyingXmlObject().valueEquals(obj);
-    }
-
-    public int valueHashCode()
-    {
-        return underlyingXmlObject().valueHashCode();
-    }
-
-    public int compareTo(Object obj)
-    {
-        return underlyingXmlObject().compareTo(obj);
-    }
-
-    public int compareValue(XmlObject obj)
-    {
-        return underlyingXmlObject().compareValue(obj);
-    }
-
-    public Object monitor()
-    {
-        return underlyingXmlObject().monitor();
-    }
-
-    public XmlDocumentProperties documentProperties()
-    {
-        return underlyingXmlObject().documentProperties();
-    }
-
-    public XmlCursor newCursor()
-    {
-        return underlyingXmlObject().newCursor();
-    }
-
-    /**
-     * @deprecated Superceded by JSR 173
-     */
-    public XMLInputStream newXMLInputStream()
-    {
-        return underlyingXmlObject().newXMLInputStream();
-    }
-
-    public String xmlText()
-    {
-        return underlyingXmlObject().xmlText();
-    }
-
-    public InputStream newInputStream()
-    {
-        return underlyingXmlObject().newInputStream();
-    }
-
-    public Reader newReader()
-    {
-        return underlyingXmlObject().newReader();
-    }
-
-    public Node newDomNode()
-    {
-        return underlyingXmlObject().newDomNode();
-    }
-
-    public void save(ContentHandler ch, LexicalHandler lh) throws SAXException
-    {
-        underlyingXmlObject().save(ch, lh);
-    }
-
-    public void save(File file) throws IOException
-    {
-        underlyingXmlObject().save(file);
-    }
-
-    public void save(OutputStream os) throws IOException
-    {
-        underlyingXmlObject().save(os);
-    }
-
-    public void save(Writer w) throws IOException
-    {
-        underlyingXmlObject().save(w);
-    }
-
-    /**
-     * @deprecated Superceded by JSR 173
-     */
-    public XMLInputStream newXMLInputStream(XmlOptions options)
-    {
-        return underlyingXmlObject().newXMLInputStream(options);
-    }
-
-    public String xmlText(XmlOptions options)
-    {
-        return underlyingXmlObject().xmlText(options);
-    }
-
-    public InputStream newInputStream(XmlOptions options)
-    {
-        return underlyingXmlObject().newInputStream(options);
-    }
-
-    public Reader newReader(XmlOptions options)
-    {
-        return underlyingXmlObject().newReader(options);
-    }
-
-    public Node newDomNode(XmlOptions options)
-    {
-        return underlyingXmlObject().newDomNode(options);
-    }
-
-    public void save(ContentHandler ch, LexicalHandler lh, XmlOptions options) throws SAXException
-    {
-        underlyingXmlObject().save(ch, lh, options);
-    }
-
-    public void save(File file, XmlOptions options) throws IOException
-    {
-        underlyingXmlObject().save(file, options);
-    }
-
-    public void save(OutputStream os, XmlOptions options) throws IOException
-    {
-        underlyingXmlObject().save(os, options);
-    }
-
-    public void save(Writer w, XmlOptions options) throws IOException
-    {
-        underlyingXmlObject().save(w, options);
-    }
-
-    public SchemaType instanceType()
-    {
-        return ((SimpleValue)underlyingXmlObject()).instanceType();
-    }
-
-    public String stringValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).stringValue();
-    }
-
-    public boolean booleanValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).booleanValue();
-    }
-
-    public byte byteValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).byteValue();
-    }
-
-    public short shortValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).shortValue();
-    }
-
-    public int intValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).intValue();
-    }
-
-    public long longValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).longValue();
-    }
-
-    public BigInteger bigIntegerValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).bigIntegerValue();
-    }
-
-    public BigDecimal bigDecimalValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).bigDecimalValue();
-    }
-
-    public float floatValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).floatValue();
-    }
-
-    public double doubleValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).doubleValue();
-    }
-
-    public byte[] byteArrayValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).byteArrayValue();
-    }
-
-    public StringEnumAbstractBase enumValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).enumValue();
-    }
-
-    public Calendar calendarValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).calendarValue();
-    }
-
-    public Date dateValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).dateValue();
-    }
-
-    public GDate gDateValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).gDateValue();
-    }
-
-    public GDuration gDurationValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).gDurationValue();
-    }
-
-    public QName qNameValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).qNameValue();
-    }
-
-    public List listValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).listValue();
-    }
-
-    public List xlistValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).xlistValue();
-    }
-
-    public Object objectValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).objectValue();
-    }
-
-    public void set(String obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(obj);
-    }
-
-    public void set(boolean v)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(v);
-    }
-
-    public void set(byte v)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(v);
-    }
-
-    public void set(short v)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(v);
-    }
-
-    public void set(int v)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(v);
-    }
-
-    public void set(long v)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(v);
-    }
-
-    public void set(BigInteger obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(obj);
-    }
-
-    public void set(BigDecimal obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(obj);
-    }
-
-    public void set(float v)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(v);
-    }
-
-    public void set(double v)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(v);
-    }
-
-    public void set(byte[] obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(obj);
-    }
-
-    public void set(StringEnumAbstractBase obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(obj);
-    }
-
-    public void set(Calendar obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(obj);
-    }
-
-    public void set(Date obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(obj);
-    }
-
-    public void set(GDateSpecification obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(obj);
-    }
-
-    public void set(GDurationSpecification obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(obj);
-    }
-
-    public void set(QName obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(obj);
-    }
-
-    public void set(List obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).set(obj);
-    }
-
-    public String getStringValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getStringValue();
-    }
-
-    public boolean getBooleanValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getBooleanValue();
-    }
-
-    public byte getByteValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getByteValue();
-    }
-
-    public short getShortValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getShortValue();
-    }
-
-    public int getIntValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getIntValue();
-    }
-
-    public long getLongValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getLongValue();
-    }
-
-    public BigInteger getBigIntegerValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getBigIntegerValue();
-    }
-
-    public BigDecimal getBigDecimalValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getBigDecimalValue();
-    }
-
-    public float getFloatValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getFloatValue();
-    }
-
-    public double getDoubleValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getDoubleValue();
-    }
-
-    public byte[] getByteArrayValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getByteArrayValue();
-    }
-
-    public StringEnumAbstractBase getEnumValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getEnumValue();
-    }
-
-    public Calendar getCalendarValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getCalendarValue();
-    }
-
-    public Date getDateValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getDateValue();
-    }
-
-    public GDate getGDateValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getGDateValue();
-    }
-
-    public GDuration getGDurationValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getGDurationValue();
-    }
-
-    public QName getQNameValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getQNameValue();
-    }
-
-    public List getListValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getListValue();
-    }
-
-    public List xgetListValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).xgetListValue();
-    }
-
-    public Object getObjectValue()
-    {
-        return ((SimpleValue)underlyingXmlObject()).getObjectValue();
-    }
-
-    public void setStringValue(String obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setStringValue(obj);
-    }
-
-    public void setBooleanValue(boolean v)
-    {
-        ((SimpleValue)underlyingXmlObject()).setBooleanValue(v);
-    }
-
-    public void setByteValue(byte v)
-    {
-        ((SimpleValue)underlyingXmlObject()).setByteValue(v);
-    }
-
-    public void setShortValue(short v)
-    {
-        ((SimpleValue)underlyingXmlObject()).setShortValue(v);
-    }
-
-    public void setIntValue(int v)
-    {
-        ((SimpleValue)underlyingXmlObject()).setIntValue(v);
-    }
-
-    public void setLongValue(long v)
-    {
-        ((SimpleValue)underlyingXmlObject()).setLongValue(v);
-    }
-
-    public void setBigIntegerValue(BigInteger obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setBigIntegerValue(obj);
-    }
-
-    public void setBigDecimalValue(BigDecimal obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setBigDecimalValue(obj);
-    }
-
-    public void setFloatValue(float v)
-    {
-        ((SimpleValue)underlyingXmlObject()).setFloatValue(v);
-    }
-
-    public void setDoubleValue(double v)
-    {
-        ((SimpleValue)underlyingXmlObject()).setDoubleValue(v);
-    }
-
-    public void setByteArrayValue(byte[] obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setByteArrayValue(obj);
-    }
-
-    public void setEnumValue(StringEnumAbstractBase obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setEnumValue(obj);
-    }
-
-    public void setCalendarValue(Calendar obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setCalendarValue(obj);
-    }
-
-    public void setDateValue(Date obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setDateValue(obj);
-    }
-
-    public void setGDateValue(GDate obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setGDateValue(obj);
-    }
-
-    public void setGDurationValue(GDuration obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setGDurationValue(obj);
-    }
-
-    public void setQNameValue(QName obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setQNameValue(obj);
-    }
-
-    public void setListValue(List obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setListValue(obj);
-    }
-
-    public void setObjectValue(Object obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).setObjectValue(obj);
-    }
-
-    public void objectSet(Object obj)
-    {
-        ((SimpleValue)underlyingXmlObject()).objectSet(obj);
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/GDate.java b/v1/src/xmlpublic/org/apache/xmlbeans/GDate.java
deleted file mode 100644
index 5a50bcb..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/GDate.java
+++ /dev/null
@@ -1,1104 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-
-/**
- * Represents an XML Schema-compatible Gregorian date.
- * <p>
- * There are many date types in XML Schema, and this type
- * represents the natural union of all those types.  A GDate
- * can hold any subset of date fields (Year, Month, Day, Time,
- * Timezone, or some combination). Wherever the specification
- * provides guidance, the guidelines in the
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/">XML Schema 1.0 specification</a>
- * (plus <a target="_blank" href="http://www.w3.org/2001/05/xmlschema-errata">published errata</a>) are followed.
- * <p>
- * Instances may separately have values or no values for
- * the year, month, day-of-month, and time-of-day. Not all
- * operations are meaningful on all combinations.
- */
-public final class GDate implements GDateSpecification, java.io.Serializable
-{
-    private static final long serialVersionUID = 1L;
-    
-    // for fast equality comparison, hashing, and serialization
-    private transient String _canonicalString;
-    private transient String _string;
-
-    private int _bits;
-    private int _CY;
-    private int _M;
-    private int _D;
-    private int _h;
-    private int _m;
-    private int _s;
-    private BigDecimal _fs;
-    private int _tzsign;
-    private int _tzh;
-    private int _tzm;
-    
-    
-    /* package */ static final BigDecimal _zero = BigDecimal.valueOf(0);
-    /* package */ static final BigDecimal _one = BigDecimal.valueOf(1);
-
-    /**
-     * Constructs a GDate based on a lexical representation.
-     */
-    public GDate(CharSequence string)
-    {
-        // first trim XML whitespace
-        int len = string.length();
-        int start = 0;
-        while (len > 0 && isSpace(string.charAt(len - 1)))
-            len -= 1;
-        while (start < len && isSpace(string.charAt(start)))
-            start += 1;
-
-        // pick optional timezone off the end
-        if (len - start >= 1 && string.charAt(len - 1) == 'Z')
-        {
-            _bits |= HAS_TIMEZONE;
-            len -= 1;
-        }
-        else if (len - start >= 6)
-        timezone: {
-            int tzsign;
-            int tzhour;
-            int tzminute;
-
-            if (string.charAt(len - 3) != ':')
-                break timezone;
-
-            switch (string.charAt(len - 6))
-            {
-                case '-':
-                    tzsign = -1; break;
-                case '+':
-                    tzsign = 1; break;
-                default:
-                    break timezone;
-            }
-
-            tzhour = twoDigit(string, len - 5);
-            tzminute = twoDigit(string, len - 2);
-            if (tzhour > 14)
-                throw new IllegalArgumentException("time zone hour must be two digits between -14 and +14");
-            if (tzminute > 59)
-                throw new IllegalArgumentException("time zone minute must be two digits between 00 and 59");
-            _bits |= HAS_TIMEZONE;
-            _tzsign = tzsign;
-            _tzh = tzhour;
-            _tzm = tzminute;
-            len -= 6;
-        }
-
-        // pick date fields off the beginning if it doesn't look like a time
-        if (start < len && (start + 2 >= len || string.charAt(start + 2) != ':'))
-        scandate:
-        {
-            // parse year sign
-            boolean negyear = false;
-            if (start < len && string.charAt(start) == '-')
-            {
-                negyear = true;
-                start += 1;
-            }
-
-            // scan year digits
-            int value = 0;
-            int digits = -start;
-            char ch;
-            for (;;)
-            {
-                ch = start < len ? string.charAt(start) : '\0';
-                if (!isDigit(ch))
-                    break;
-                value = value * 10 + digitVal(ch);
-                start += 1;
-            }
-            digits += start;
-            if (digits > 6)
-                throw new IllegalArgumentException("year too long (up to 6 digits)");
-            else if (digits >= 4)
-            {
-                _bits |= HAS_YEAR;
-                _CY =  negyear ? -value : value;
-            }
-            else if (digits > 0)
-                throw new IllegalArgumentException("year must be four digits (may pad with zeroes, e.g., 0560)");
-
-            // hyphen introduces a month
-            if (ch != '-')
-            {
-                if (negyear && !hasYear())
-                    throw new IllegalArgumentException(); // a single minus
-                else
-                    break scandate;
-            }
-            start += 1;
-
-            // two-digit month
-            if (len - start >= 2)
-            {
-                value = twoDigit(string, start);
-                if (value >= 1 && value <= 12)
-                {
-                    _bits |= HAS_MONTH;
-                    _M = value;
-                    start += 2;
-                }
-            }
-
-            // hyphen introduces a day
-            ch = start < len ? string.charAt(start) : '\0';
-            if (ch != '-')
-            {
-                if (!hasMonth())
-                    throw new IllegalArgumentException(); // minus after a year
-                else
-                    break scandate;
-            }
-            start += 1;
-
-            // two-digit day
-            if (len - start >= 2)
-            {
-                value = twoDigit(string, start);
-                if (value >= 1 && value <= 31)
-                {
-                    _bits |= HAS_DAY;
-                    _D = value;
-                    start += 2;
-                }
-            }
-
-            if (!hasDay())
-            {
-                // error in the original schema spec permits an extra '-' here
-                if (hasMonth() && !hasYear())
-                {
-                    ch = start < len ? string.charAt(start) : '\0';
-                    if (ch == '-')
-                    {
-                        start += 1;
-                        break scandate;
-                    }
-                }
-                throw new IllegalArgumentException(); // minus after a month
-            }
-        }
-
-        // time
-        if (start < len)
-        {
-            if (hasYear() || hasMonth() || hasDay())
-            {
-                if (string.charAt(start) != 'T')
-                   throw new IllegalArgumentException("date and time must be separated by 'T'");
-                start += 1;
-            }
-
-            if (len < start + 8 || string.charAt(start + 2) != ':' || string.charAt(start + 5) != ':')
-                throw new IllegalArgumentException();
-
-            int h = twoDigit(string, start);
-            if (h >= 24)
-                throw new IllegalArgumentException("hour must be between 00 and 23");
-            int m = twoDigit(string, start + 3);
-            if (m >= 60)
-                throw new IllegalArgumentException("minute must be between 00 and 59");
-            int s = twoDigit(string, start + 6);
-            if (s >= 60)
-                throw new IllegalArgumentException("second must be between 00 and 59");
-
-            start += 8;
-
-            BigDecimal fs = _zero;
-            if (start < len)
-            {
-                if (string.charAt(start) != '.')
-                    throw new IllegalArgumentException();
-                if (start + 1 < len)
-                {
-                    for (int i = start + 1; i < len; i++)
-                    {
-                        if (!isDigit(string.charAt(i)))
-                            throw new IllegalArgumentException();
-                    }
-                    try
-                    {
-                        fs = new BigDecimal(string.subSequence(start, len).toString());
-                    }
-                    catch (Throwable e)
-                    {
-                        throw new IllegalArgumentException();
-                    }
-                }
-            }
-
-            _bits |= HAS_TIME;
-            _h = h;
-            _m = m;
-            _s = s;
-            _fs = fs;
-        }
-
-        if (!isValid())
-            throw new IllegalArgumentException("invalid date");
-    }
-
-    /**
-     * Constructs a GDate with the specified year, month, day,
-     * hours, minutes, seconds, and optional fractional seconds, in
-     * an unspecified timezone.
-     * <p>
-     * Note that by not specifying the timezone the GDate
-     * becomes partially unordered with respect to times that
-     * do have a specified timezone.
-     */
-    public GDate(
-            int year,
-            int month,
-            int day,
-            int hour,
-            int minute,
-            int second,
-            BigDecimal fraction)
-    {
-        _bits = HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME;
-
-        _CY = year;
-        _M = month;
-        _D = day;
-        _h = hour;
-        _m = minute;
-        _s = second;
-        _fs = fraction == null ? _zero : fraction;
-
-        if (!isValid())
-            throw new IllegalArgumentException();
-    }
-
-    /**
-     * Constructs an absolute GDate with the specified year,
-     * month, day, hours, minutes, seconds, and optional fractional
-     * seconds, and in the timezone specified.
-     * <p>
-     * If you wish to have a time or date that isn't in a specified timezone,
-     * then use the constructor that does not include the timezone arguments.
-     */
-    public GDate(
-            int year,
-            int month,
-            int day,
-            int hour,
-            int minute,
-            int second,
-            BigDecimal fraction,
-            int tzSign,
-            int tzHour,
-            int tzMinute)
-    {
-        _bits = HAS_TIMEZONE | HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME;
-
-        _CY = year;
-        _M = month;
-        _D = day;
-        _h = hour;
-        _m = minute;
-        _s = second;
-        _fs = fraction == null ? _zero : fraction;
-        _tzsign = tzSign;
-        _tzh = tzHour;
-        _tzm = tzMinute;
-
-        if (!isValid())
-            throw new IllegalArgumentException();
-    }
-
-    /**
-     * Constructs a GDate based on a java.util.Date.
-     * <p>
-     * The current offset of the default timezone is used as the timezone.
-     * <p>
-     * For example, if eastern daylight time is in effect at the given
-     * date, the timezone on the east coast of the united states
-     * translates to GMT-05:00 (EST) + 1:00 (DT offset) == GMT-04:00.
-     */
-    public GDate(Date date)
-    {
-        // requires some date math, so ctor lives on GDateBuilder
-        this(new GDateBuilder(date));
-    }
-
-    /**
-     * Constructs a GDate based on a java.util.Calendar.
-     * <p>
-     * If the calendar does not have some fields set, the same absence
-     * of information is reflected in the GDate.  Note that
-     * java.util.GregorianCalendar fills in all fields as soon as any
-     * are fetched, so constructing a GDate with the same calendar object
-     * twice may result in a different GDate because of a changed calendar.
-     * Note that org.apache.xmlbeans.XmlCalendar is stable if you re-get a set field,
-     * so it does not have the same problem.
-     */
-    public GDate(Calendar calendar)
-    {
-        // we must scrape the "isSet" information out before accessing anything
-        boolean isSetYear = calendar.isSet(Calendar.YEAR);
-        boolean isSetEra = calendar.isSet(Calendar.ERA);
-        boolean isSetMonth = calendar.isSet(Calendar.MONTH);
-        boolean isSetDay = calendar.isSet(Calendar.DAY_OF_MONTH);
-        boolean isSetHourOfDay = calendar.isSet(Calendar.HOUR_OF_DAY);
-        boolean isSetHour = calendar.isSet(Calendar.HOUR);
-        boolean isSetAmPm = calendar.isSet(Calendar.AM_PM);
-        boolean isSetMinute = calendar.isSet(Calendar.MINUTE);
-        boolean isSetSecond = calendar.isSet(Calendar.SECOND);
-        boolean isSetMillis = calendar.isSet(Calendar.MILLISECOND);
-        boolean isSetZone = calendar.isSet(Calendar.ZONE_OFFSET);
-        boolean isSetDst = calendar.isSet(Calendar.DST_OFFSET);
-
-        if (isSetYear)
-        {
-            int y = calendar.get(Calendar.YEAR);
-            if (isSetEra && calendar instanceof GregorianCalendar)
-                if (calendar.get(Calendar.ERA) == GregorianCalendar.BC)
-                    y = 1 - y;
-            _bits |= HAS_YEAR;
-            _CY = y;
-        }
-        if (isSetMonth)
-        {
-            _bits |= HAS_MONTH;
-            _M = calendar.get(Calendar.MONTH) + 1; // !!note
-        }
-        if (isSetDay)
-        {
-            _bits |= HAS_DAY;
-            _D = calendar.get(Calendar.DAY_OF_MONTH);
-        }
-        boolean gotTime = false;
-
-        int h = 0;
-        int m = 0;
-        int s = 0;
-        BigDecimal fs = _zero;
-
-        if (isSetHourOfDay)
-        {
-            h = calendar.get(Calendar.HOUR_OF_DAY);
-            gotTime = true;
-        }
-        else if (isSetHour && isSetAmPm)
-        {
-            h = calendar.get(Calendar.HOUR) + calendar.get(Calendar.AM_PM) * 12;
-            gotTime = true;
-        }
-
-        if (isSetMinute)
-        {
-            m = calendar.get(Calendar.MINUTE);
-            gotTime = true;
-        }
-
-        if (isSetSecond)
-        {
-            s = calendar.get(Calendar.SECOND);
-            gotTime = true;
-        }
-
-        if (isSetMillis)
-        {
-            fs = BigDecimal.valueOf(calendar.get(Calendar.MILLISECOND), 3);
-            gotTime = true;
-        }
-
-        if (gotTime)
-        {
-            _bits |= HAS_TIME;
-            _h = h;
-            _m = m;
-            _s = s;
-            _fs = fs;
-        }
-
-        if (isSetZone)
-        {
-            int zoneOffsetInMilliseconds = calendar.get(Calendar.ZONE_OFFSET);
-            if (isSetDst)
-                zoneOffsetInMilliseconds += calendar.get(Calendar.DST_OFFSET);
-
-            _bits |= HAS_TIMEZONE;
-            if (zoneOffsetInMilliseconds == 0)
-            {
-                _tzsign = 0;
-                _tzh = 0;
-                _tzm = 0;
-                TimeZone zone = calendar.getTimeZone();
-                String id = zone.getID();
-                if (id != null && id.length() > 3) switch (id.charAt(3))
-                {
-                    case '+': _tzsign = 1; break;   // GMT+00:00
-                    case '-': _tzsign = -1; break;  // GMT-00:00
-                }
-            }
-            else
-            {
-                _tzsign = (zoneOffsetInMilliseconds < 0 ? -1 : +1);
-                zoneOffsetInMilliseconds = zoneOffsetInMilliseconds * _tzsign;
-                _tzh = zoneOffsetInMilliseconds / 3600000;
-                _tzm = (zoneOffsetInMilliseconds - _tzh * 3600000) / 60000;
-            }
-        }
-    }
-
-    /**
-     * Constructs a GDate based on another GDateSpecification.
-     */
-    public GDate(GDateSpecification gdate)
-    {
-        if (gdate.hasTimeZone())
-        {
-            _bits |= HAS_TIMEZONE;
-            _tzsign = gdate.getTimeZoneSign();
-            _tzh = gdate.getTimeZoneHour();
-            _tzm = gdate.getTimeZoneMinute();
-        }
-
-        if (gdate.hasTime())
-        {
-            _bits |= HAS_TIME;
-            _h = gdate.getHour();
-            _m = gdate.getMinute();
-            _s = gdate.getSecond();
-            _fs = gdate.getFraction();
-        }
-
-        if (gdate.hasDay())
-        {
-            _bits |= HAS_DAY;
-            _D = gdate.getDay();
-        }
-
-        if (gdate.hasMonth())
-        {
-            _bits |= HAS_MONTH;
-            _M = gdate.getMonth();
-        }
-
-        if (gdate.hasYear())
-        {
-            _bits |= HAS_YEAR;
-            _CY = gdate.getYear();
-        }
-    }
-
-    /* package */ static final boolean isDigit(char ch)
-    {
-        return ((char)(ch - '0') <= '9' - '0'); // char is unsigned
-    }
-
-    /* package */ static final boolean isSpace(char ch)
-    {
-        switch (ch)
-        {
-            case ' ':
-            case '\t':
-            case '\r':
-            case '\n':
-                return true;
-            default:
-                return false;
-        }
-    }
-
-    /* package */ static final int digitVal(char ch)
-    {
-        return (ch - '0');
-    }
-
-    private static final int twoDigit(CharSequence str, int index)
-    {
-        char ch1 = str.charAt(index);
-        char ch2 = str.charAt(index + 1);
-        if (!isDigit(ch1) || !isDigit(ch2))
-            return 100; // not two digits
-        return digitVal(ch1) * 10 + digitVal(ch2);
-    }
-
-    /**
-     * Returns true: all GDate instances are immutable.
-     */
-    public final boolean isImmutable()
-    {
-        return true;
-    }
-
-    /**
-     * Returns a combination of flags indicating the information
-     * contained by this GDate.  The five flags are
-     * HAS_TIMEZONE, HAS_YEAR, HAS_MONTH, HAS_DAY, and HAS_TIME.
-     */
-    public int getFlags()
-    {
-        return _bits;
-    }
-
-    /**
-     * True if this date/time specification specifies a timezone.
-     */
-    public final boolean hasTimeZone()
-        { return ((_bits & HAS_TIMEZONE) != 0); }
-
-    /**
-     * True if this date/time specification specifies a year.
-     */
-    public final boolean hasYear()
-        { return ((_bits & HAS_YEAR) != 0); }
-
-    /**
-     * True if this date/time specification specifies a month-of-year.
-     */
-    public final boolean hasMonth()
-        { return ((_bits & HAS_MONTH) != 0); }
-
-    /**
-     * True if this date/time specification specifies a day-of-month.
-     */
-    public final boolean hasDay()
-        { return ((_bits & HAS_DAY) != 0); }
-
-    /**
-     * True if this date/time specification specifies a time-of-day.
-     */
-    public final boolean hasTime()
-        { return ((_bits & HAS_TIME) != 0); }
-
-    /**
-     * True if this date/time specification specifies a full date (year, month, day)
-     */
-    public final boolean hasDate()
-        { return ((_bits & (HAS_DAY | HAS_MONTH | HAS_YEAR)) == (HAS_DAY | HAS_MONTH | HAS_YEAR)); }
-
-    /**
-     * Gets the year. Should be a four-digit year specification.
-     */
-    public final int getYear()
-        { return _CY;  }
-
-    /**
-     * Gets the month-of-year. January is 1.
-     */
-    public final int getMonth()
-        { return _M;  }
-
-    /**
-     * Gets the day-of-month. The first day of each month is 1.
-     */
-    public final int getDay()
-        { return _D; }
-
-    /**
-     * Gets the hour-of-day. Midnight is 0, and 11PM is 23.
-     */
-    public final int getHour()
-        { return _h; }
-
-    /**
-     * Gets the minute-of-hour. Range from 0 to 59.
-     */
-    public final int getMinute()
-        { return _m; }
-
-    /**
-     * Gets the second-of-minute. Range from 0 to 59.
-     */
-    public final int getSecond()
-        { return _s; }
-
-    /**
-     * Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive).
-     */
-    public final BigDecimal getFraction()
-        { return _fs; }
-
-    /**
-     * Gets the time zone sign. For time zones east of GMT,
-     * this is positive; for time zones west, this is negative.
-     */
-    public final int getTimeZoneSign()
-        { return _tzsign; }
-
-    /**
-     * Gets the time zone hour.
-     *
-     * This is always positive: for the sign, look at
-     * getTimeZoneSign().
-     */
-    public final int getTimeZoneHour()
-        { return _tzh; }
-
-    /**
-     * Gets the time zone minutes.
-     *
-     * This is always positive: for the sign, look at
-     * getTimeZoneSign().
-     */
-    public final int getTimeZoneMinute()
-        { return _tzm; }
-
-    /**
-     * Gets the rounded millisecond value. Range from 0 to 999
-     */
-    public int getMillisecond()
-    {
-        if (_fs == null)
-            return 0;
-        return _fs.setScale(3, BigDecimal.ROUND_HALF_UP).unscaledValue().intValue();
-    }
-
-    /**
-     * The canonical string representation. Specific moments or
-     * times-of-day in a specified timezone are normalized to
-     * UTC time to produce a canonical string form for them.
-     * Other recurring time specifications keep their timezone
-     * information.
-     */
-    public String canonicalString()
-    {
-        ensureCanonicalString();
-        return _canonicalString;
-    }
-
-    /**
-     * True if this GDate corresponds to a valid gregorian date value
-     * in XML schema.
-     */
-    public boolean isValid()
-    {
-        return GDateBuilder.isValidGDate(this);
-    }
-
-    /**
-     * Returns the Julian date corresponding to this Gregorian date.
-     * The Julian date (JD) is a continuous count of days from
-     * 1 January 4713 BC (= -4712 January 1).
-     */
-    public int getJulianDate()
-    {
-        return GDateBuilder.julianDateForGDate(this);
-    }
-
-    /**
-     * Retrieves the value of the current time as an {@link XmlCalendar}.
-     * <p>
-     * {@link XmlCalendar} is a subclass of {@link java.util.GregorianCalendar}
-     * which is slightly customized to match XML schema date rules.
-     * <p>
-     * The returned {@link XmlCalendar} has only those time and date fields
-     * set that are reflected in the GDate object.  Because of the way the
-     * {@link java.util.Calendar} contract works, any information in the isSet() vanishes
-     * as soon as you view any unset field using get() methods.
-     * This means that if it is important to understand which date fields
-     * are set, you must call isSet() first before get().
-     */
-    public XmlCalendar getCalendar()
-    {
-        return new XmlCalendar(this);
-    }
-
-
-    /**
-     * Retrieves the value of the current time as a java.util.Date
-     * instance.
-     */
-    public Date getDate()
-    {
-        return GDateBuilder.dateForGDate(this);
-    }
-
-    /**
-     * Comparison to another GDate.
-     * <ul>
-     * <li>Returns -1 if this < date. (less-than)
-     * <li>Returns 0 if this == date. (equal)
-     * <li>Returns 1 if this > date. (greater-than)
-     * <li>Returns 2 if this <> date. (incomparable)
-     * </ul>
-     * Two instances are incomparable if they have different amounts
-     * of information.
-     */
-    public int compareToGDate(GDateSpecification datespec)
-    {
-        return GDateBuilder.compareGDate(this, datespec);
-    }
-
-    /**
-     * Returns the builtin type code for the shape of the information
-     * contained in this instance, or 0 if the
-     * instance doesn't contain information corresponding to a
-     * Schema type.
-     * <p> 
-     * Value will be equal to
-     * {@link SchemaType#BTC_NOT_BUILTIN},
-     * {@link SchemaType#BTC_G_YEAR},
-     * {@link SchemaType#BTC_G_YEAR_MONTH},
-     * {@link SchemaType#BTC_G_MONTH},
-     * {@link SchemaType#BTC_G_MONTH_DAY},
-     * {@link SchemaType#BTC_G_DAY},
-     * {@link SchemaType#BTC_DATE},
-     * {@link SchemaType#BTC_DATE_TIME}, or
-     * {@link SchemaType#BTC_TIME}.
-     */
-    public int getBuiltinTypeCode()
-    {
-        return GDateBuilder.btcForFlags(_bits);
-    }
-
-    /**
-     * Adds a duration to this GDate, and returns a new GDate.
-     */
-    public GDate add(GDurationSpecification duration)
-    {
-        GDateBuilder builder = new GDateBuilder(this);
-        builder.addGDuration(duration);
-        return builder.toGDate();
-    }
-
-    /**
-     * Adds a duration to this GDate, and returns a new GDate.
-     */
-    public GDate subtract(GDurationSpecification duration)
-    {
-        GDateBuilder builder = new GDateBuilder(this);
-        builder.subtractGDuration(duration);
-        return builder.toGDate();
-    }
-
-    /**
-     * GDate is an immutable class, and equality is computed based
-     * on its canonical value.
-     */
-    public boolean equals(Object obj)
-    {
-        if (obj == this)
-            return true;
-        if (!(obj instanceof GDate))
-            return false;
-
-        ensureCanonicalString();
-        return _canonicalString.equals(((GDate)obj).canonicalString());
-    }
-
-    /**
-     * Returns a hash code for this GDate.
-     */
-    public int hashCode()
-    {
-        ensureCanonicalString();
-        return _canonicalString.hashCode();
-    }
-
-    /**
-     * The canonical string representation. Specific moments or
-     * times-of-day in a specified timezone are normalized to
-     * UTC time to produce a canonical string form for them.
-     * Other recurring time specifications keep their timezone
-     * information.
-     */
-    private void ensureCanonicalString()
-    {
-        if (_canonicalString != null)
-            return;
-
-        boolean needNormalize =
-            (hasTimeZone() && getTimeZoneSign() != 0 && hasTime() &&
-            ((hasDay() == hasMonth() && hasDay() == hasYear())));
-
-        if (!needNormalize && getFraction() != null && getFraction().scale() > 0)
-        {
-            BigInteger bi = getFraction().unscaledValue();
-            needNormalize = (bi.mod(GDateBuilder.TEN).signum() == 0);
-        }
-
-        if (!needNormalize)
-            _canonicalString = toString();
-        else
-        {
-            GDateBuilder gdb = new GDateBuilder(this);
-            gdb.normalize();
-            _canonicalString = gdb.toString();
-        }
-    }
-
-    /**
-     * The natural string representation. This represents the information
-     * that is available, including timezone. For types that correspond
-     * to defined schema types (schemaBuiltinTypeCode() > 0),
-     * this provides the natural lexical representation.
-     * <p>
-     * When both time and timezone are specified, this string is not
-     * the canonical representation unless the timezone is UTC (Z)
-     * (since the same moment in time can be expressed in different
-     * timezones). To get a canonical string, use the canonicalString()
-     * method.
-     */
-    public String toString()
-    {
-        if (_string == null)
-            _string = formatGDate(this);
-        return _string;
-    }
-
-    private final static char[] _tensDigit =
-    {
-        '0', '0', '0', '0', '0', '0', '0', '0', '0', '0',
-        '1', '1', '1', '1', '1', '1', '1', '1', '1', '1',
-        '2', '2', '2', '2', '2', '2', '2', '2', '2', '2',
-        '3', '3', '3', '3', '3', '3', '3', '3', '3', '3',
-        '4', '4', '4', '4', '4', '4', '4', '4', '4', '4',
-        '5', '5', '5', '5', '5', '5', '5', '5', '5', '5',
-        '6', '6', '6', '6', '6', '6', '6', '6', '6', '6',
-        '7', '7', '7', '7', '7', '7', '7', '7', '7', '7',
-        '8', '8', '8', '8', '8', '8', '8', '8', '8', '8',
-        '9', '9', '9', '9', '9', '9', '9', '9', '9', '9',
-    };
-    private final static char[] _onesDigit =
-    {
-        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-    };
-
-    private static final int _padTwoAppend(char[] b, int i, int n)
-    {
-        assert(n >= 0 && n < 100);
-        b[i] = _tensDigit[n];
-        b[i + 1] = _onesDigit[n];
-        return i + 2;
-    }
-
-    private static final int _padFourAppend(char[] b, int i, int n)
-    {
-        if (n < 0)
-        {
-            b[i++] = '-';
-            n = -n;
-        }
-        if (n >= 10000)
-        {
-            String s = Integer.toString(n);
-            s.getChars(0, s.length(), b, i);
-            return i + s.length();
-        }
-        int q = n / 100;
-        int r = n - q * 100;
-        b[i] = _tensDigit[q];
-        b[i + 1] = _onesDigit[q];
-        b[i + 2] = _tensDigit[r];
-        b[i + 3] = _onesDigit[r];
-        return i + 4;
-    }
-    
-    private static final TimeZone GMTZONE = TimeZone.getTimeZone("GMT");
-    private static final TimeZone[] MINUSZONE =
-            {
-                TimeZone.getTimeZone("GMT-00:00"),
-                TimeZone.getTimeZone("GMT-01:00"),
-                TimeZone.getTimeZone("GMT-02:00"),
-                TimeZone.getTimeZone("GMT-03:00"),
-                TimeZone.getTimeZone("GMT-04:00"),
-                TimeZone.getTimeZone("GMT-05:00"),
-                TimeZone.getTimeZone("GMT-06:00"),
-                TimeZone.getTimeZone("GMT-07:00"),
-                TimeZone.getTimeZone("GMT-08:00"),
-                TimeZone.getTimeZone("GMT-09:00"),
-                TimeZone.getTimeZone("GMT-10:00"),
-                TimeZone.getTimeZone("GMT-11:00"),
-                TimeZone.getTimeZone("GMT-12:00"),
-                TimeZone.getTimeZone("GMT-13:00"),
-                TimeZone.getTimeZone("GMT-14:00"),
-            };
-    private static final TimeZone[] PLUSZONE =
-            {
-                TimeZone.getTimeZone("GMT+00:00"),
-                TimeZone.getTimeZone("GMT+01:00"),
-                TimeZone.getTimeZone("GMT+02:00"),
-                TimeZone.getTimeZone("GMT+03:00"),
-                TimeZone.getTimeZone("GMT+04:00"),
-                TimeZone.getTimeZone("GMT+05:00"),
-                TimeZone.getTimeZone("GMT+06:00"),
-                TimeZone.getTimeZone("GMT+07:00"),
-                TimeZone.getTimeZone("GMT+08:00"),
-                TimeZone.getTimeZone("GMT+09:00"),
-                TimeZone.getTimeZone("GMT+10:00"),
-                TimeZone.getTimeZone("GMT+11:00"),
-                TimeZone.getTimeZone("GMT+12:00"),
-                TimeZone.getTimeZone("GMT+13:00"),
-                TimeZone.getTimeZone("GMT+14:00"),
-            };
-
-    /* package */ static final TimeZone timeZoneForGDate(GDateSpecification date)
-    {
-        // use a cached timezone if integral; otherwise make a new one.
-        if (!date.hasTimeZone())
-            return TimeZone.getDefault();
-        if (date.getTimeZoneSign() == 0)
-            return GMTZONE;
-        if (date.getTimeZoneMinute() == 0 && date.getTimeZoneHour() <= 14 && date.getTimeZoneHour() >= 0)
-            return date.getTimeZoneSign() < 0 ? MINUSZONE[date.getTimeZoneHour()] : PLUSZONE[date.getTimeZoneHour()];
-        
-        char[] zb = new char[9];
-        zb[0] = 'G';
-        zb[1] = 'M';
-        zb[2] = 'T';
-        zb[3] = (date.getTimeZoneSign() < 0) ? '-' : '+';
-        GDate._padTwoAppend(zb, 4, date.getTimeZoneHour());
-        zb[6] = ':';
-        GDate._padTwoAppend(zb, 7, date.getTimeZoneMinute());
-        return TimeZone.getTimeZone(new String(zb));
-    }
-    
-    /* package */ static String formatGDate(GDateSpecification spec)
-    {
-        // We've used a char[] rather than a StringBuffer for a 4x speedup
-        // -YY(10)YY-MM-DDTHH:MM:SS.FFFFFF+ZH:ZM
-        // 1 + 10   + 3+ 3+ 3+ 3+ 3+1 + s + 3+ 3 = 33 + s
-        BigDecimal fs = spec.getFraction();
-        char[] message = new char[33 + (fs == null ? 0 : fs.scale())];
-        int i = 0;
-
-        if (spec.hasYear() || spec.hasMonth() || spec.hasDay())
-        {
-            dmy: {
-                if (spec.hasYear())
-                    i = _padFourAppend(message, 0, spec.getYear());
-                else
-                    message[i++] = '-';
-
-                if (!(spec.hasMonth() || spec.hasDay()))
-                    break dmy;
-
-                message[i++] = '-';
-                if (spec.hasMonth())
-                    i = _padTwoAppend(message, i, spec.getMonth());
-
-                if (!spec.hasDay())
-                    break dmy;
-
-                message[i++] = '-';
-                i = _padTwoAppend(message, i, spec.getDay());
-                break dmy;
-            }
-            if (spec.hasTime())
-                message[i++] = 'T';
-        }
-
-        if (spec.hasTime())
-        {
-            i = _padTwoAppend(message, i, spec.getHour());
-            message[i++] = ':';
-            i = _padTwoAppend(message, i, spec.getMinute());
-            message[i++] = ':';
-            i = _padTwoAppend(message, i, spec.getSecond());
-            if (fs != _zero) // (optimization ~3%)
-            {
-                String frac = spec.getFraction().toString();
-                int point = frac.indexOf('.');
-                if (point >= 0)
-                {
-                    frac.getChars(point, frac.length(), message, i);
-                    i += frac.length() - point;
-                }
-            }
-        }
-
-        if (spec.hasTimeZone())
-        {
-            if (spec.getTimeZoneSign() == 0)
-            {
-                message[i++] = 'Z';
-            }
-            else
-            {
-                message[i++] = spec.getTimeZoneSign() > 0 ? '+' : '-';
-                i = _padTwoAppend(message, i, spec.getTimeZoneHour());
-                message[i++] = ':';
-                i = _padTwoAppend(message, i, spec.getTimeZoneMinute());
-            }
-        }
-
-        // it would be nice to use (0, i, message) ctor instead
-        return new String(message, 0, i);
-    }
-
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/GDateBuilder.java b/v1/src/xmlpublic/org/apache/xmlbeans/GDateBuilder.java
deleted file mode 100644
index 5f2b5b3..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/GDateBuilder.java
+++ /dev/null
@@ -1,1461 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.TimeZone;
-
-/**
- * Used to build {@link GDate GDates}.
- * <p>
- * Like GDate, a GDateBuilder represents an Gregorian Date, Time,
- * and Timezone, or subset of information (Year, Month, Day,
- * Time, Timezone, or some combination). Wherever it provides
- * guidance, the XML Schema 1.0 specification (plus published
- * errata) is followed.
- * <p>
- * Instances may separately set or clear the year, month,
- * day-of-month, and time-of-day. Not all operations are
- * meaningful on all combinations. In particular, timezone
- * normalization is only possible if there is a time, or
- * a time together with a full date.
- */
-public final class GDateBuilder implements GDateSpecification, java.io.Serializable
-{
-    private static final long serialVersionUID = 1L;
-    
-    private int _bits;
-    private int _CY;
-    private int _M;
-    private int _D;
-    private int _h;
-    private int _m;
-    private int _s;
-    private BigDecimal _fs;
-    private int _tzsign;
-    private int _tzh;
-    private int _tzm;
-
-    /**
-     * Constructs a GDateBuilder specifying no date or time
-     */
-    public GDateBuilder()
-    {
-    }
-
-    /**
-     * Builds another GDateBuilder with the same value
-     * as this one.
-     */
-    public Object clone()
-    {
-        return new GDateBuilder(this);
-    }
-
-    /**
-     * Builds a GDate from this GDateBuilder.
-     */
-    public GDate toGDate()
-    {
-        return new GDate(this);
-    }
-
-    /**
-     * Construts a GDateBuilder by copying another GDateSpecificaiton.
-     */
-    public GDateBuilder(GDateSpecification gdate)
-    {
-        if (gdate.hasTimeZone())
-            setTimeZone(gdate.getTimeZoneSign(), gdate.getTimeZoneHour(), gdate.getTimeZoneMinute());
-
-        if (gdate.hasTime())
-            setTime(gdate.getHour(), gdate.getMinute(), gdate.getSecond(), gdate.getFraction());
-
-        if (gdate.hasDay())
-            setDay(gdate.getDay());
-
-        if (gdate.hasMonth())
-            setMonth(gdate.getMonth());
-
-        if (gdate.hasYear())
-            setYear(gdate.getYear());
-    }
-
-    // Forms:
-
-    // Date part:
-    // Year:       (-?\d{4,})
-    // YearMonth:  (-?\d{4,})-(\d{2})
-    // Date:       (-?\d{4,})-(\d{2})-(\d{2})
-    // Month:      --(\d{2})(--)?              //errata R-48
-    // MonthDay:   --(\d{2})-(\d{2})
-    // Day:        ---(\d{2})
-
-    // Time part:
-    // Time:       (\d{2}):(\d{2}):(\d{2})(.\d*)?
-
-    // Timezone part:
-    // TZ:         (Z)|([+-]\d{2}):(\d{2})
-
-    /**
-     * Constructs a GDateBuilder from a lexical
-     * representation. The lexical space contains the
-     * union of the lexical spaces of all the schema
-     * date/time types (except for duration).
-     */
-    public GDateBuilder(CharSequence string)
-    {
-        this(new GDate(string));
-    }
-
-
-    public GDateBuilder(Calendar calendar)
-    {
-        this(new GDate(calendar));
-    }
-
-    /**
-     * Constructs a GDateBuilder with the specified year, month, day,
-     * hours, minutes, seconds, and optional fractional seconds, in
-     * an unspecified timezone.
-     * <p>
-     * Note that by not specifying the timezone the GDateBuilder
-     * becomes partially unordered with respect to timesthat do have a
-     * specified timezone.
-     * 
-     * @param year The year
-     * @param month The month, from 1-12
-     * @param day The day of month, from 1-31
-     * @param hour The hour of day, from 0-23
-     * @param minute The minute of hour, from 0-59
-     * @param second The second of minute, from 0-59
-     * @param fraction The fraction of second, 0.0 to 0.999... (may be null) 
-     */
-    public GDateBuilder(
-            int year,
-            int month,
-            int day,
-            int hour,
-            int minute,
-            int second,
-            BigDecimal fraction)
-    {
-        _bits = HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME;
-
-        _CY = year;
-        _M = month;
-        _D = day;
-        _h = hour;
-        _m = minute;
-        _s = second;
-        _fs = fraction == null ? GDate._zero : fraction;
-
-        if (!isValid())
-            throw new IllegalArgumentException();
-    }
-
-    /**
-     * Constructs an absolute GDateBuilder with the specified year,
-     * month, day, hours, minutes, seconds, and optional fractional
-     * seconds, and in the timezone specified.
-     * <p>
-     * Note that you can reexpress the GDateBuilder in any timezone using
-     * normalizeToTimeZone(). The normalize() method normalizes to UTC.
-     * <p>
-     * If you wish to have a time or date that isn't in a specified timezone,
-     * then use the constructor that does not include the timezone arguments.
-     *
-     * @param year the year
-     * @param month the month, from 1-12
-     * @param day the day of month, from 1-31
-     * @param hour the hour of day, from 0-23
-     * @param minute the minute of hour, from 0-59
-     * @param second the second of minute, from 0-59
-     * @param fraction the fraction of second, 0.0 to 0.999... (may be null)
-     * @param tzSign the timezone offset sign, either +1, 0, or -1
-     * @param tzHour the timezone offset hour
-     * @param tzMinute the timezone offset minute 
-     */
-    public GDateBuilder(
-            int year,
-            int month,
-            int day,
-            int hour,
-            int minute,
-            int second,
-            BigDecimal fraction,
-            int tzSign,
-            int tzHour,
-            int tzMinute)
-    {
-        _bits = HAS_TIMEZONE | HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME;
-
-        _CY = year;
-        _M = month;
-        _D = day;
-        _h = hour;
-        _m = minute;
-        _s = second;
-        _fs = fraction == null ? GDate._zero : fraction;
-        _tzsign = tzSign;
-        _tzh = tzHour;
-        _tzm = tzMinute;
-
-        if (!isValid())
-            throw new IllegalArgumentException();
-    }
-
-    /**
-     * Constructs a GDateBuilder based on a java.util.Date.
-     * <p>
-     * The current offset of the default timezone is used as the timezone.
-     * <p>
-     * For example, if eastern daylight time is in effect at the given
-     * date, the timezone on the east coast of the united states
-     * translates to GMT-05:00 (EST) + 1:00 (DT offset) == GMT-04:00.
-     * 
-     * @param date the date object to copy
-     */
-    public GDateBuilder(Date date)
-    {
-        setDate(date);
-    }
-
-    /**
-     * True if the instance is immutable.
-     */
-    public boolean isImmutable()
-    {
-        return false;
-    }
-
-    /**
-     * Returns a combination of flags indicating the information
-     * contained by this GDate.  The five flags are
-     * HAS_TIMEZONE, HAS_YEAR, HAS_MONTH, HAS_DAY, and HAS_TIME.
-     */
-    public int getFlags()
-    {
-        return _bits;
-    }
-
-    /**
-     * True if this date/time specification specifies a timezone.
-     */
-    public final boolean hasTimeZone()
-        { return ((_bits & HAS_TIMEZONE) != 0); }
-
-    /**
-     * True if this date/time specification specifies a year.
-     */
-    public final boolean hasYear()
-        { return ((_bits & HAS_YEAR) != 0); }
-
-    /**
-     * True if this date/time specification specifies a month-of-year.
-     */
-    public final boolean hasMonth()
-        { return ((_bits & HAS_MONTH) != 0); }
-
-    /**
-     * True if this date/time specification specifies a day-of-month.
-     */
-    public final boolean hasDay()
-        { return ((_bits & HAS_DAY) != 0); }
-
-    /**
-     * True if this date/time specification specifies a time-of-day.
-     */
-    public final boolean hasTime()
-        { return ((_bits & HAS_TIME) != 0); }
-
-    /**
-     * True if this date/time specification specifies a full date (year, month, day)
-     */
-    public final boolean hasDate()
-        { return ((_bits & (HAS_DAY | HAS_MONTH | HAS_YEAR)) == (HAS_DAY | HAS_MONTH | HAS_YEAR)); }
-
-    /**
-     * Gets the year. Should be a four-digit year specification.
-     */
-    public final int getYear()
-        { return _CY;  }
-
-    /**
-     * Gets the month-of-year. January is 1.
-     */
-    public final int getMonth()
-        { return _M;  }
-
-    /**
-     * Gets the day-of-month. The first day of each month is 1.
-     */
-    public final int getDay()
-        { return _D; }
-
-    /**
-     * Gets the hour-of-day. Midnight is 0, and 11PM is 23.
-     */
-    public final int getHour()
-        { return _h; }
-
-    /**
-     * Gets the minute-of-hour. Range from 0 to 59.
-     */
-    public final int getMinute()
-        { return _m; }
-
-    /**
-     * Gets the second-of-minute. Range from 0 to 59.
-     */
-    public final int getSecond()
-        { return _s; }
-
-
-    /**
-     * Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive).
-     */
-    public final BigDecimal getFraction()
-        { return _fs; }
-
-
-    /**
-     * Gets the rounded millisecond value. Range from 0 to 999
-     */
-    public final int getMillisecond()
-    {
-        if (_fs == null || _fs == GDate._zero)
-            return 0;
-        return _fs.setScale(3, BigDecimal.ROUND_HALF_UP).unscaledValue().intValue();
-    }
-
-    /**
-     * Gets the time zone sign. For time zones east of GMT,
-     * this is positive; for time zones west, this is negative.
-     */
-    public final int getTimeZoneSign()
-        { return _tzsign; }
-
-    /**
-     * Gets the time zone hour.
-     * This is always positive: for the sign, look at
-     * getTimeZoneSign().
-     */
-    public final int getTimeZoneHour()
-        { return _tzh; }
-
-    /**
-     * Gets the time zone minutes.
-     * This is always positive: for the sign, look at
-     * getTimeZoneSign().
-     */
-    public final int getTimeZoneMinute()
-        { return _tzm; }
-
-    /**
-     * Sets the year. Should be a four-digit year specification.
-     * @param year the year
-     */
-    public void setYear(int year)
-    {
-        if (year < -4712 || year > 999999)
-            throw new IllegalArgumentException("year out of range");
-        _bits |= HAS_YEAR; _CY = year;
-    }
-
-    /**
-     * Sets the month-of-year. January is 1.
-     * @param month the month, from 1-12
-     */
-    public void setMonth(int month)
-    {
-        if (month < 1 || month > 12)
-            throw new IllegalArgumentException("month out of range");
-        _bits |= HAS_MONTH; _M = month;
-    }
-
-    /**
-     * Sets the day-of-month. The first day of each month is 1.
-     * @param day the day of month, from 1-31
-     */
-    public void setDay(int day)
-    {
-        if (day < 1 || day > 31)
-            throw new IllegalArgumentException("day out of range");
-        _bits |= HAS_DAY; _D = day;
-    }
-
-    /**
-     * Sets the time. Hours in the day range from 0 to 23;
-     * minutes and seconds range from 0 to 59; and fractional
-     * seconds range from 0 (inclusive) to 1 (exclusive).
-     * The fraction can be null and is assumed to be zero.
-     * @param hour the hour of day, from 0-23
-     * @param minute the minute of hour, from 0-59
-     * @param second the second of minute, from 0-59
-     * @param fraction the fraction of second, 0.0 to 0.999... (may be null)
-     */
-    public void setTime(int hour, int minute, int second, BigDecimal fraction)
-    {
-        if (hour < 0 || hour > 23)
-            throw new IllegalArgumentException("hour out of range");
-        if (minute < 0 || minute > 59)
-            throw new IllegalArgumentException("minute out of range");
-        if (second < 0 || second > 59)
-            throw new IllegalArgumentException("second out of range");
-        if (fraction != null && (fraction.signum() < 0 || fraction.compareTo(GDate._one) > 1))
-            throw new IllegalArgumentException("fraction out of range");
-        _bits |= HAS_TIME;
-        _h = hour;
-        _m = minute;
-        _s = second;
-        _fs = fraction == null ? GDate._zero : fraction;
-    }
-
-    /**
-     * Sets the time zone without changing the other time
-     * fields. If you with to adjust other time fields to express
-     * the same actual moment in time in a different time zone,
-     * use normalizeToTimeZone.
-     * <p>
-     * Timezones must be between -14:00 and +14:00. Sign
-     * must be -1 or 1 (or 0 for UTC only), and the offset hours
-     * and minute arguments must be nonnegative.
-     * 
-     * @param tzSign the timezone offset sign, either +1, 0, or -1
-     * @param tzHour the timezone offset hour
-     * @param tzMinute the timezone offset minute 
-     */
-    public void setTimeZone(int tzSign, int tzHour, int tzMinute)
-    {
-        if (!((tzSign == 0 && tzHour == 0 && tzMinute == 0) ||
-              ((tzSign == -1 || tzSign == 1) &&
-               (tzHour >= 0 && tzMinute >= 0) &&
-               (tzHour == 14 && tzMinute == 0 || tzHour < 14 && tzMinute < 60))))
-            throw new IllegalArgumentException("time zone out of range (-14:00 to +14:00). (" +
-                (tzSign<0 ? "-" : "+") + tzHour + ":" + tzMinute + ")");
-
-        _bits |= HAS_TIMEZONE;
-        _tzsign = tzSign;
-        _tzh = tzHour;
-        _tzm = tzMinute;
-    }
-
-    /**
-     * Clears the year. After clearing, hasYear returns false and the
-     * value of getYear is undefined.
-     */
-    public void clearYear()
-        { _bits &= ~HAS_YEAR; _CY = 0;  }
-
-    /**
-     * Clears the month-of-year. After clearing. hasMonth returns false and
-     * the value of getMonth is undefined.
-     */
-    public void clearMonth()
-        { _bits &= ~HAS_MONTH; _M = 0;  }
-
-    /**
-     * Clears the day-of-month. After clearing. hasDay returns false and
-     * the value of getDay is undefined.
-     */
-    public void clearDay()
-        { _bits &= ~HAS_DAY; _D = 0;  }
-
-    /**
-     * Clears the time-of-day.
-     * After clearing. hasTime returns false and
-     * the value of getTime is undefined.
-     */
-    public void clearTime()
-    {
-        _bits &= ~HAS_TIME;
-        _h = 0;
-        _m = 0;
-        _s = 0;
-        _fs = null;
-    }
-
-    /**
-     * Clears the timezone. After clearing. hasTimeZone returns false and
-     * the value of getTimeZoneHour and getTimeZoneMinute are undefined.
-     * Does not change the other time fields.
-     */
-    public void clearTimeZone()
-    {
-        _bits &= ~HAS_TIMEZONE;
-        _tzsign = 0;
-        _tzh = 0;
-        _tzm = 0;
-    }
-
-    /**
-     * True if all date fields lie within their legal ranges.  A GDateBuilder
-     * can be invalid, for example, if you change the month to February
-     * and the day-of-month is 31.
-     */
-    public boolean isValid()
-    {
-        return isValidGDate(this);
-    }
-
-    /* package */ static final boolean isValidGDate(GDateSpecification date)
-    {
-        if (date.hasMonth() && (date.getMonth() < 1 || date.getMonth() > 12))
-            return false;
-
-        if (date.hasDay() && (date.getDay() < 1 || date.getDay() > 31 ||
-            date.getDay() > 28 && date.hasMonth() &&
-                (date.hasYear() ? date.getDay() > _maxDayInMonthFor(date.getYear(), date.getMonth()) :
-                                  date.getDay() > _maxDayInMonth(date.getMonth()))))
-            return false;
-
-        if (date.hasTime() && (date.getHour() < 0 || date.getHour() > 23 ||
-            date.getMinute() < 0 || date.getMinute() > 59 ||
-            date.getSecond() < 0 || date.getSecond() > 59 ||
-            date.getFraction().signum() < 0 || date.getFraction().compareTo(GDate._one) >= 0))
-            return false;
-
-        if (date.hasTimeZone() &&
-            (!((date.getTimeZoneSign() == 0 && date.getTimeZoneHour() == 0 && date.getTimeZoneMinute() == 0) ||
-              ((date.getTimeZoneSign() == -1 || date.getTimeZoneSign() == +1) &&
-                // NB: allow +00:00 and -00:00
-                // (date.getTimeZoneHour() == 0 && date.getTimeZoneMinute() > 0 || date.getTimeZoneHour() > 0 && date.getTimeZoneMinute() >= 0) &&
-               (date.getTimeZoneHour() >= 0 && date.getTimeZoneMinute() >= 0) &&
-               (date.getTimeZoneHour() == 14 && date.getTimeZoneMinute() == 0 || date.getTimeZoneHour() < 14 && date.getTimeZoneMinute() < 60)))))
-            return false;
-
-        // everyting looks kosher
-        return true;
-    }
-
-
-    /**
-     * Normalizes the instance, ensuring date and time fields are within
-     * their normal ranges.
-     * <p>
-     * If no timezone or no time is specified, or if a partial date is specified, this
-     * method does nothing, and leaves the timezone information as-is.
-     * <p>
-     * If a time or time and date is specified, this method normalizes the timezone
-     * to UTC.
-     */
-    public void normalize()
-    {
-        // DateTime or Time, with TimeZone: normalize to UTC.
-        // In the process all the fields will be normalized.
-        if (hasDay() == hasMonth() && hasDay() == hasYear() &&
-            hasTimeZone() && hasTime())
-        {
-            normalizeToTimeZone(0, 0, 0);
-        }
-        else
-        {
-            // No timezone, or incomplete date.
-            long carry = 0;
-
-            if (hasTime())
-                carry = _normalizeTime();
-
-            if (hasDay())
-                _D += carry;
-
-            if (hasDate())
-            {
-                _normalizeDate();
-            }
-            else if (hasMonth())
-            {
-                // with incomplete dates, just months can be normalized:
-                // days stay denormalized.
-                if (_M < 1 || _M > 12)
-                {
-                    int temp = _M;
-                    _M = _modulo(temp, 1, 13);
-                    if (hasYear())
-                        _CY = _CY + (int)_fQuotient(temp, 1, 13);
-                }
-            }
-        }
-
-        // remove trailing zeros from fractional seconds
-        if (hasTime() && _fs != null && _fs.scale() > 0)
-        {
-            if (_fs.signum() == 0)
-                _fs = GDate._zero;
-            else
-            {
-                BigInteger bi = _fs.unscaledValue();
-                String str = bi.toString();
-                int lastzero;
-                for (lastzero = str.length(); lastzero > 0; lastzero -= 1)
-                    if (str.charAt(lastzero - 1) != '0')
-                        break;
-                if (lastzero < str.length())
-                    _fs = _fs.setScale(_fs.scale() - str.length() + lastzero);
-            }
-        }
-    }
-
-    /**
-     * If the time and timezone are known, this method changes the timezone to the
-     * specified UTC offset, altering minutes, hours, day, month, and year as
-     * necessary to ensure that the actual described moment in time is the same.
-     * <p>
-     * It is an error to operate on instances without a time or timezone, or
-     * with a partially specified date.
-     * 
-     * @param tzSign the timezone offset sign, either +1, 0, or -1
-     * @param tzHour the timezone offset hour
-     * @param tzMinute the timezone offset minute 
-     */
-    public void normalizeToTimeZone(int tzSign, int tzHour, int tzMinute)
-    {
-        if (!((tzSign == 0 && tzHour == 0 && tzMinute == 0) ||
-              ((tzSign == -1 || tzSign == 1) &&
-               (tzHour == 0 && tzMinute > 0 || tzHour > 0 && tzMinute >= 0) &&
-               (tzHour == 14 && tzMinute == 0 || tzHour < 14 && tzMinute < 60))))
-            throw new IllegalArgumentException("time zone must be betwen -14:00 and +14:00");
-
-        if (!hasTimeZone() || !hasTime())
-            throw new IllegalStateException("cannot normalize time zone without both time and timezone");
-
-        if (!(hasDay() == hasMonth() && hasDay() == hasYear()))
-            throw new IllegalStateException("cannot do date math without a complete date");
-
-        int hshift = tzSign * tzHour - _tzsign * _tzh;
-        int mshift = tzSign * tzMinute - _tzsign * _tzm;
-
-        _tzsign = tzSign;
-        _tzh = tzHour;
-        _tzm = tzMinute;
-        addDuration(1, 0, 0, 0, hshift, mshift, 0, null);
-    }
-
-
-    /**
-     * Adds a given duration to the date/time.
-     * 
-     * @param duration the duration to add
-     */
-    public void addGDuration(GDurationSpecification duration)
-    {
-        addDuration(duration.getSign(), duration.getYear(), duration.getMonth(), duration.getDay(),
-                    duration.getHour(), duration.getMinute(), duration.getSecond(), duration.getFraction());
-    }
-
-    /**
-     * Subtracts a given duration from the date/time.
-     * 
-     * @param duration the duration to subtract
-     */
-    public void subtractGDuration(GDurationSpecification duration)
-    {
-        addDuration(-duration.getSign(), duration.getYear(), duration.getMonth(), duration.getDay(),
-                    duration.getHour(), duration.getMinute(), duration.getSecond(), duration.getFraction());
-    }
-
-
-    /**
-     * Normalizes the date by carrying over to the year any months outside 1..12
-     * and carrying over to the month any days outside 1..(days-in-month).
-     */
-    private void _normalizeDate()
-    {
-        if (_M < 1 || _M > 12 || _D < 1 || _D > _maxDayInMonthFor(_CY, _M))
-        {
-            // fix months first
-            int temp = _M;
-            _M = _modulo(temp, 1, 13);
-            _CY = _CY + (int)_fQuotient(temp, 1, 13);
-
-            // then pull days out
-            int extradays = _D - 1;
-            _D = 1;
-
-            // then use the julian date function to fix
-            setJulianDate(getJulianDate() + extradays);
-        }
-    }
-
-    /**
-     * Normalizes time so that fractions are 0..1(exc), seconds/minutes 0..59,
-     * and hours 0..24. Returns the number of days to carry over from normalizing
-     * away more than 24 hours.
-     */
-    private long _normalizeTime()
-    {
-        long carry = 0;
-        long temp;
-
-        // fractions
-        if (_fs != null && (_fs.signum() < 0 || _fs.compareTo(GDate._one) >= 0))
-        {
-            BigDecimal bdcarry = _fs.setScale(0, BigDecimal.ROUND_FLOOR);
-            _fs = _fs.subtract(bdcarry);
-            carry = bdcarry.longValue();
-        }
-
-        if (carry != 0 || _s < 0 || _s > 59 || _m < 0 || _m > 50 || _h < 0 || _h > 23)
-        {
-            // seconds
-            temp = _s + carry;
-            carry = _fQuotient(temp, 60);
-            _s = _mod(temp, 60, carry);
-
-            // minutes
-            temp = _m + carry;
-            carry = _fQuotient(temp, 60);
-            _m = _mod(temp, 60, carry);
-
-            // hours
-            temp = _h + carry;
-            carry = _fQuotient(temp, 24);
-            _h = _mod(temp, 24, carry);
-        }
-
-        return carry;
-    }
-
-    /**
-     * Adds a given duration to the date/time.
-     * 
-     * @param sign +1 to add, -1 to subtract
-     * @param year the number of years to add
-     * @param month the number of months to add
-     * @param day the number of days to add
-     * @param hour the number of hours to add
-     * @param minute the number of minutes to add
-     * @param second the number of seconds to add
-     * @param fraction the number of fractional seconds to add (may be null)
-     */
-    public void addDuration(int sign, int year, int month, int day,
-                            int hour, int minute, int second, BigDecimal fraction)
-    {
-        boolean timemath = hour != 0 || minute != 0 || second != 0 || fraction != null && fraction.signum() != 0;
-        if (timemath && !hasTime())
-            throw new IllegalStateException("cannot do time math without a complete time");
-        boolean datemath = hasDay() && (day != 0 || timemath);
-        if (datemath && !hasDate())
-            throw new IllegalStateException("cannot do date math without a complete date");
-
-        int temp;
-
-        // months + years are easy
-        if (month != 0 || year != 0)
-        {
-            // Prepare the _D to be pegged before changing month
-            if (hasDay())
-                _normalizeDate();
-
-            // Add months and years
-            temp = _M + sign * month;
-            _M = _modulo(temp, 1, 13);
-            _CY = _CY + sign * year + (int)_fQuotient(temp, 1, 13);
-
-            // In new month, day may need to be pegged before proceeding
-            if (hasDay())
-            {
-                assert(_D >= 1);
-                temp = _maxDayInMonthFor(_CY, _M);
-                if (_D > temp)
-                    _D = temp;
-            }
-        }
-
-        long carry = 0;
-
-        if (timemath)
-        {
-            // fractions
-            if (fraction != null && fraction.signum() != 0)
-            {
-                if (_fs.signum() == 0 && sign == 1)
-                    _fs = fraction;
-                else
-                    _fs = (sign == 1) ? _fs.add(fraction) : _fs.subtract(fraction);
-            }
-
-            // seconds, minutes, hours
-            _s += sign * second;
-            _m += sign * minute;
-            _h += sign * hour;
-
-            // normalize time
-            carry = _normalizeTime();
-        }
-
-        if (datemath)
-        {
-            // days: may require renormalization
-            _D += sign * day + carry;
-            _normalizeDate();
-        }
-    }
-
-    /**
-     * Given {year,month} computes maximum
-     * number of days for given month
-     */
-    private static int _maxDayInMonthFor(int year, int month)
-    {
-        if (month == 4 || month == 6 || month == 9 || month == 11)
-            return 30;
-
-        if (month == 2)
-            return (_isLeapYear(year) ? 29 : 28);
-
-        return 31;
-    }
-
-    /**
-     * Given {year,month} computes maximum
-     * number of days for given month
-     */
-    private static int _maxDayInMonth(int month)
-    {
-        if (month == 4 || month == 6 || month == 9 || month == 11)
-            return 30;
-
-        if (month == 2)
-            return 29;
-
-        return 31;
-    }
-
-    /**
-     * Returns the Julian date corresponding to this Gregorian date.
-     * The Julian date (JD) is a continuous count of days from
-     * 1 January 4713 BC (= -4712 January 1).
-     */
-    public final int getJulianDate()
-    {
-        return julianDateForGDate(this);
-    }
-
-
-    /**
-     * Sets the Gregorian date based on the given Julian date.
-     * The Julian date (JD) is a continuous count of days from
-     * 1 January 4713 BC (= -4712 January 1).
-     * 
-     * @param julianday the julian day number
-     */
-    public void setJulianDate(int julianday)
-    {
-        if (julianday < 0)
-            throw new IllegalArgumentException("date before year -4712");
-
-        int temp;
-        int qepoc;
-
-        // from http://aa.usno.navy.mil/faq/docs/JD_Formula.html
-        temp = julianday + 68569;
-        qepoc = 4 * temp / 146097;
-        temp = temp - (146097 * qepoc + 3) / 4;
-        _CY = 4000 * (temp + 1) / 1461001;
-        temp = temp - 1461 * _CY / 4 + 31;
-        _M = 80 * temp / 2447;
-        _D = temp - 2447 * _M / 80;
-        temp = _M / 11;
-        _M = _M + 2 - 12 * temp;
-        _CY = 100 * (qepoc - 49) + _CY + temp;
-
-        _bits |= HAS_DAY | HAS_MONTH | HAS_YEAR;
-    }
-
-
-    /**
-     * Sets the current time and date based on a java.util.Date instance.
-     * <p>
-     * The timezone offset used is based on the default TimeZone. (The
-     * default TimeZone is consulted to incorporate daylight savings offsets
-     * if applicable for the current date as well as the base timezone offset.)
-     * <p>
-     * If you wish to normalize the timezone, e.g., to UTC, follow this with
-     * a call to normalizeToTimeZone.
-     * 
-     * @param date the Date object to copy
-     */
-    public void setDate(Date date)
-    {
-        // Default timezone
-        TimeZone dtz = TimeZone.getDefault();
-        int offset = dtz.getOffset(date.getTime());
-        int offsetsign = 1;
-        if (offset < 0)
-        {
-            offsetsign = -1;
-            offset = -offset;
-        }
-        int offsetmin = offset / (1000 * 60);
-        int offsethr = offsetmin / 60;
-        offsetmin = offsetmin - offsethr * 60;
-
-        setTimeZone(offsetsign, offsethr, offsetmin);
-        
-        // paranoia: tz.getOffset can return fractions of minutes, but we must round
-        int roundedoffset = offsetsign * (offsethr * 60 + offsetmin) * 60 * 1000;
-
-        // midnight
-        setTime(0, 0, 0, GDate._zero);
-
-        // Set to January 1, 1970.
-        // setJulianDate(2440588);
-        _bits |= HAS_DAY | HAS_MONTH | HAS_YEAR;
-        _CY = 1970;
-        _M = 1;
-        _D = 1;
-
-        // Add a duration representing the number of milliseconds
-        addGDuration(new GDuration(1, 0, 0, 0, 0, 0, 0,
-                BigDecimal.valueOf(date.getTime() + roundedoffset, 3)));
-
-        // special case: ss.000 -> ss
-        if (_fs.signum() == 0)
-            _fs = GDate._zero;
-    }
-    
-    /**
-     * Copies a GDateSpecification, completely replacing the current
-     * information in this GDateBuilder.
-     * 
-     * @param gdate the GDateSpecification to copy
-     */ 
-    public void setGDate(GDateSpecification gdate)
-    {
-        _bits = gdate.getFlags() & (HAS_TIMEZONE | HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME);
-        _CY = gdate.getYear();
-        _M = gdate.getMonth();
-        _D = gdate.getDay();
-        _h = gdate.getHour();
-        _m = gdate.getMinute();
-        _s = gdate.getSecond();
-        _fs = gdate.getFraction();
-        _tzsign = gdate.getTimeZoneSign();
-        _tzh = gdate.getTimeZoneHour();
-        _tzm = gdate.getTimeZoneMinute();
-    }
-
-
-    /**
-     * Retrieves the value of the current time as an {@link XmlCalendar}.
-     * <p>
-     * {@link XmlCalendar} is a subclass of {@link java.util.GregorianCalendar}
-     * which is slightly customized to match XML schema date rules.
-     * <p>
-     * The returned {@link XmlCalendar} has only those time and date fields
-     * set that are reflected in the GDate object.  Because of the way the
-     * {@link java.util.Calendar} contract works, any information in the isSet() vanishes
-     * as soon as you view any unset field using get() methods.
-     * This means that if it is important to understand which date fields
-     * are set, you must call isSet() first before get().
-     */
-    public XmlCalendar getCalendar()
-    {
-        return new XmlCalendar(this);
-    }
-
-    /**
-     * Retrieves the value of the current time as a java.util.Date
-     * instance.
-     */
-    public Date getDate()
-    {
-        return dateForGDate(this);
-    }
-
-    /* package */ static int julianDateForGDate(GDateSpecification date)
-    {
-        if (!date.hasDate())
-            throw new IllegalStateException("cannot do date math without a complete date");
-
-        // from http://aa.usno.navy.mil/faq/docs/JD_Formula.html
-        int result = date.getDay()-32075+1461*(date.getYear()+4800+(date.getMonth()-14)/12)/4+
-            367*(date.getMonth()-2-(date.getMonth()-14)/12*12)/12-3*((date.getYear()+4900+(date.getMonth()-14)/12)/100)/4;
-
-        if (result < 0)
-            throw new IllegalStateException("date too far in the past (year allowed to -4712)");
-
-        return result;
-    }
-
-    /* package */ static Date dateForGDate(GDateSpecification date)
-    {
-        long jDate = julianDateForGDate(date);
-        long to1970Date = jDate - 2440588;
-        long to1970Ms = 1000 * 60 * 60 * 24 * to1970Date;
-
-        to1970Ms += date.getMillisecond();
-        to1970Ms += date.getSecond() * 1000;
-        to1970Ms += date.getMinute() * 60 * 1000;
-        to1970Ms += date.getHour() * 60 * 60 * 1000;
-        if (date.hasTimeZone())
-        {
-            to1970Ms -= (date.getTimeZoneMinute() * date.getTimeZoneSign()) * 60 * 1000;
-            to1970Ms -= (date.getTimeZoneHour() * date.getTimeZoneSign()) * 60 * 60 * 1000;
-        }
-        else
-        {
-            TimeZone def = TimeZone.getDefault();
-            int offset = def.getOffset(to1970Ms);
-            to1970Ms -= offset;
-        }
-
-        return new Date(to1970Ms);
-    }
-
-    /**
-     * True for leap years.
-     */
-    private static boolean _isLeapYear(int year)
-    {
-        // BUGBUG: Julian calendar?
-        return ((year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0)));
-    }
-
-    /**
-     * fQuotient(a, b) = the greatest integer less than or equal to a/b
-     */
-    private static final long _fQuotient(long a, int b)
-    {
-        if ((a < 0) == (b < 0))
-            return a / b;
-
-        return -((b - a - 1) / b);
-    }
-
-    /**
-     * modulo(a, b) = a - fQuotient(a,b)*b
-     */
-    private static int _mod(long a, int b, long quotient)
-    {
-        return (int)(a - quotient*b) ;
-    }
-
-    /**
-     * modulo(a - low, high - low) + low
-     */
-    private static final int _modulo(long temp, int low, int high)
-    {
-        long a = temp - low;
-        int b = high - low;
-        return (_mod(a, b, _fQuotient(a, b)) + low) ;
-    }
-
-    /**
-     * Quotient(a - low, high - low)
-     */
-    private static final long _fQuotient(long temp, int low, int high)
-    {
-        return _fQuotient(temp - low, high - low);
-    }
-
-    /**
-     * Sets to the first possible moment that matches the given
-     * specification.
-     */
-    private void _setToFirstMoment()
-    {
-        // 1584 was the first leap year during which the Gregorian
-        // calendar was in use: seems like the most reasonable "first"
-        // year to use in absence of a year.
-
-        if (!hasYear())
-            setYear(1584);
-
-        if (!hasMonth())
-            setMonth(1);
-
-        if (!hasDay())
-            setDay(1);
-
-        if (!hasTime())
-            setTime(0, 0, 0, GDate._zero);
-    }
-
-    /**
-     * Comparison to another GDate.
-     * <ul>
-     * <li>Returns -1 if this < date. (less-than)
-     * <li>Returns 0 if this == date. (equal)
-     * <li>Returns 1 if this > date. (greater-than)
-     * <li>Returns 2 if this <> date. (incomparable)
-     * </ul>
-     * Two instances are incomparable if they have different amounts
-     * of information.
-     * 
-     * @param datespec the date to compare against
-     */
-    public final int compareToGDate(GDateSpecification datespec)
-    {
-        return compareGDate(this, datespec);
-    }
-
-
-    /* package */ static final int compareGDate(GDateSpecification tdate, GDateSpecification datespec)
-    {
-        // same amount of information: looks good
-        int bitdiff = tdate.getFlags() ^ datespec.getFlags();
-
-        easy: if ((bitdiff & (HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME | HAS_TIMEZONE)) == 0)
-        {
-            // If the other date needs to be normalized to
-            // our timezone, make a clone and do so if possible
-            if (tdate.hasTimeZone() &&
-                (datespec.getTimeZoneHour() != tdate.getTimeZoneHour() ||
-                 datespec.getTimeZoneMinute() != tdate.getTimeZoneMinute() ||
-                 datespec.getTimeZoneSign() != tdate.getTimeZoneSign()))
-            {
-                datespec = new GDateBuilder(datespec);
-
-                int flags = tdate.getFlags() & (HAS_YEAR | HAS_MONTH | HAS_DAY);
-                if (flags != 0 && flags != (HAS_YEAR | HAS_MONTH | HAS_DAY) || !tdate.hasTime())
-                {
-                    // in these cases we'll need to fill in fields
-                    ((GDateBuilder)datespec)._setToFirstMoment();
-                    tdate = new GDateBuilder(tdate);
-                    ((GDateBuilder)tdate)._setToFirstMoment();
-                }
-
-                ((GDateBuilder)datespec).normalizeToTimeZone(tdate.getTimeZoneSign(), tdate.getTimeZoneHour(), tdate.getTimeZoneMinute());
-            }
-
-            // compare by field
-            return fieldwiseCompare(tdate, datespec);
-        }
-
-        // different amounts of information (except timezone): not comparable
-        if ((bitdiff & (HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME)) != 0)
-            return 2;
-
-        // The schema spec says we should try to compare with-timezone and
-        // without-timezone specifications... Well, OK, sure, if they say so.
-
-        // We don't have a timezone but the other does: reverse the call
-        if (!tdate.hasTimeZone())
-        {
-            int result = compareGDate(datespec, tdate);
-            return result == 2 ? 2 : -result;
-        }
-
-        // Now tdate is guaranteed to have a timezone and datespec not.
-
-        // To muck with the times, make clones
-        GDateBuilder pdate = new GDateBuilder(tdate);
-
-        // To cover the one uncovered case: if one date is 02/28 and the
-        // other date is 03/01, shift days closer by one to simulate being
-        // the last day of the month within a leap year
-        if ((tdate.getFlags() & (HAS_YEAR | HAS_MONTH | HAS_DAY)) == (HAS_MONTH | HAS_DAY))
-        {
-            if (tdate.getDay() == 28 && tdate.getMonth() == 2)
-            {
-                if (datespec.getDay() == 01 && datespec.getMonth() == 3)
-                {
-                    pdate.setDay(29);
-                }
-            }
-            else if (datespec.getDay() == 28 && datespec.getMonth() == 2)
-            {
-                if (tdate.getDay() == 01 && tdate.getMonth() == 3)
-                {
-                    pdate.setMonth(02);
-                    pdate.setDay(29);
-                }
-            }
-        }
-
-        // For timespans, compare by first instant of time
-        // possible. Therefore, fill in Midnight, January 1, 1584 (a leap year)
-        // in absence of other information.
-        pdate._setToFirstMoment();
-
-        // P < Q if P < (Q with time zone +14:00)
-        GDateBuilder qplusdate = new GDateBuilder(datespec);
-        qplusdate._setToFirstMoment();
-        qplusdate.setTimeZone(1, 14, 0);
-        qplusdate.normalizeToTimeZone(tdate.getTimeZoneSign(), tdate.getTimeZoneHour(), tdate.getTimeZoneMinute());
-        if (fieldwiseCompare(pdate, qplusdate) == -1)
-            return -1;
-
-        // P > Q if P > (Q with time zone -14:00)
-        GDateBuilder qminusdate = qplusdate;
-        qminusdate.setGDate(datespec);
-        qminusdate._setToFirstMoment();
-        qminusdate.setTimeZone(-1, 14, 0);
-        qminusdate.normalizeToTimeZone(tdate.getTimeZoneSign(), tdate.getTimeZoneHour(), tdate.getTimeZoneMinute());
-        if (fieldwiseCompare(pdate, qminusdate) == 1)
-            return 1;
-
-        // P <> Q otherwise
-        return 2;
-    }
-
-    /**
-     * Does a simple most-significant-digit-first comparison,
-     * ignoring any timezone or has/doesn't have issues.
-     * The data must have been digested first.
-     */
-    private static int fieldwiseCompare(GDateSpecification tdate, GDateSpecification date)
-    {
-        if (tdate.hasYear())
-        {
-            int CY = date.getYear();
-            int TCY = tdate.getYear();
-            if (TCY < CY) return -1;
-            if (TCY > CY) return 1;
-        }
-        if (tdate.hasMonth())
-        {
-            int M = date.getMonth();
-            int TM = tdate.getMonth();
-            if (TM < M) return -1;
-            if (TM > M) return 1;
-        }
-        if (tdate.hasDay())
-        {
-            int D = date.getDay();
-            int TD = tdate.getDay();
-            if (TD < D) return -1;
-            if (TD > D) return 1;
-        }
-        if (tdate.hasTime())
-        {
-            int h = date.getHour();
-            int th = tdate.getHour();
-            if (th < h) return -1;
-            if (th > h) return 1;
-            int m = date.getMinute();
-            int tm = tdate.getMinute();
-            if (tm < m) return -1;
-            if (tm > m) return 1;
-            int s = date.getSecond();
-            int ts = tdate.getSecond();
-            if (ts < s) return -1;
-            if (ts > s) return 1;
-            BigDecimal fs = date.getFraction();
-            BigDecimal tfs = tdate.getFraction();
-            if (tfs == null && fs == null) return 0;
-            return (tfs == null ? GDate._zero : tfs).compareTo(fs == null ? GDate._zero : fs);
-        }
-
-        return 0;
-    }
-
-    /**
-     * Returns the builtin type code for the shape of the information
-     * contained in this instance, or 0 if the
-     * instance doesn't contain information corresponding to a
-     * Schema type.
-     * <p> 
-     * Value will be equal to
-     * {@link SchemaType#BTC_NOT_BUILTIN},
-     * {@link SchemaType#BTC_G_YEAR},
-     * {@link SchemaType#BTC_G_YEAR_MONTH},
-     * {@link SchemaType#BTC_G_MONTH},
-     * {@link SchemaType#BTC_G_MONTH_DAY},
-     * {@link SchemaType#BTC_G_DAY},
-     * {@link SchemaType#BTC_DATE},
-     * {@link SchemaType#BTC_DATE_TIME}, or
-     * {@link SchemaType#BTC_TIME}.
-     */
-    public final int getBuiltinTypeCode()
-    {
-        return btcForFlags(_bits);
-    }
-
-    /* package */ static int btcForFlags(int flags)
-    {
-        switch (flags & (HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME))
-        {
-            case HAS_YEAR:
-                return SchemaType.BTC_G_YEAR;
-            case HAS_YEAR | HAS_MONTH:
-                return SchemaType.BTC_G_YEAR_MONTH;
-            case HAS_MONTH:
-                return SchemaType.BTC_G_MONTH;
-            case HAS_MONTH | HAS_DAY:
-                return SchemaType.BTC_G_MONTH_DAY;
-            case HAS_DAY:
-                return SchemaType.BTC_G_DAY;
-            case HAS_YEAR | HAS_MONTH | HAS_DAY:
-                return SchemaType.BTC_DATE;
-            case HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME:
-                return SchemaType.BTC_DATE_TIME;
-            case HAS_TIME:
-                return SchemaType.BTC_TIME;
-            default:
-                return SchemaType.BTC_NOT_BUILTIN;
-        }
-    }
-
-    /**
-     * Clears the fields in this GDateBuilder that are not applicable
-     * for the given SchemaType date code.  The code should be
-     * {@link SchemaType#BTC_G_YEAR},
-     * {@link SchemaType#BTC_G_YEAR_MONTH},
-     * {@link SchemaType#BTC_G_MONTH},
-     * {@link SchemaType#BTC_G_MONTH_DAY},
-     * {@link SchemaType#BTC_G_DAY},
-     * {@link SchemaType#BTC_DATE},
-     * {@link SchemaType#BTC_DATE_TIME}, or
-     * {@link SchemaType#BTC_TIME}.
-     * 
-     * @param typeCode the type code to apply
-     */
-    public void setBuiltinTypeCode(int typeCode)
-    {
-        switch (typeCode)
-        {
-            case SchemaType.BTC_G_YEAR:
-                //HAS_YEAR
-                clearMonth();
-                clearDay();
-                clearTime();
-                return;
-            case SchemaType.BTC_G_YEAR_MONTH:
-                //HAS_YEAR | HAS_MONTH
-                clearDay();
-                clearTime();
-                return;
-            case SchemaType.BTC_G_MONTH:
-                //HAS_MONTH
-                clearYear();
-                clearDay();
-                clearTime();
-                return;
-            case SchemaType.BTC_G_MONTH_DAY:
-                //HAS_MONTH | HAS_DAY
-                clearYear();
-                clearTime();
-                return;
-            case SchemaType.BTC_G_DAY:
-                //HAS_DAY
-                clearYear();
-                clearMonth();
-                clearTime();
-                return;
-            case SchemaType.BTC_DATE:
-                //HAS_YEAR | HAS_MONTH | HAS_DAY
-                clearTime();
-                return;
-            case SchemaType.BTC_DATE_TIME:
-                //HAS_YEAR | HAS_MONTH | HAS_DAY | HAS_TIME
-                return;
-            case SchemaType.BTC_TIME:
-                //HAS_TIME
-                clearYear();
-                clearMonth();
-                clearDay();
-                return;
-            default:
-                throw new IllegalArgumentException("codeType must be one of SchemaType BTC_  DATE TIME related types.");
-        }
-    }
-
-
-    /* package */ static final BigInteger TEN = BigInteger.valueOf(10);
-
-    /**
-     * The canonical string representation. Specific moments or
-     * times-of-day in a specified timezone are normalized to
-     * UTC time to produce a canonical string form for them.
-     * Other recurring time specifications keep their timezone
-     * information.
-     */
-    public String canonicalString()
-    {
-        boolean needNormalize =
-            (hasTimeZone() && getTimeZoneSign() != 0 && hasTime() &&
-            ((hasDay() == hasMonth() && hasDay() == hasYear())));
-
-        if (!needNormalize && getFraction().scale() > 0)
-        {
-            BigInteger bi = getFraction().unscaledValue();
-            needNormalize = (bi.mod(TEN).signum() == 0);
-        }
-
-        if (!needNormalize)
-            return toString();
-
-        GDateBuilder cdate = new GDateBuilder(this);
-        cdate.normalize();
-        return cdate.toString();
-    }
-
-    /**
-     * The natural string representation. This represents the information
-     * that is available, including timezone. For types that correspond
-     * to defined schema types (schemaBuiltinTypeCode() > 0),
-     * this provides the natural lexical representation.
-     * <p>
-     * When both time and timezone are specified, this string is not
-     * the canonical representation unless the timezone is UTC (Z)
-     * (since the same moment in time can be expressed in different
-     * timezones). To get a canonical string, use the canonicalString()
-     * method.
-     */
-    public final String toString()
-    {
-        return GDate.formatGDate(this);
-    }
-
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/GDateSpecification.java b/v1/src/xmlpublic/org/apache/xmlbeans/GDateSpecification.java
deleted file mode 100644
index abd0771..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/GDateSpecification.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * Represents an XML Schema-compatible Gregorian date.
- * <p>
- * Both the immutable GDate and the mutable GDateBuilder are
- * GDateSpecifications.  Use this interface where you want to
- * allow callers to pass any implementation of a GDate.
- * 
- * @see GDate
- * @see XmlCalendar
- */
-public interface GDateSpecification
-{
-    /**
-     * Returns a combination of flags indicating the information
-     * contained by this GDate.  The five flags are
-     * {@link #HAS_TIMEZONE}, {@link #HAS_YEAR}, {@link #HAS_MONTH},
-     * {@link #HAS_DAY}, and {@link #HAS_TIME}.
-     */
-    int getFlags();
-
-    /** Timezone is specified. See {@link #getFlags}. */
-    public final int HAS_TIMEZONE = 1;
-    /** Year is specified. See {@link #getFlags}. */
-    public final int HAS_YEAR = 2;
-    /** Month of year is specified. See {@link #getFlags}. */
-    public final int HAS_MONTH = 4;
-    /** Day of month is specified. See {@link #getFlags}. */
-    public final int HAS_DAY = 8;
-    /** Time of day is specified. See {@link #getFlags}. */
-    public final int HAS_TIME = 16;
-
-    /**
-     * True if this GDate specification is immutable. GDate returns true,
-     * and GDateBuilder returns false.
-     */
-    boolean isImmutable();
-
-    /**
-     * True if this GDate corresponds to a valid gregorian date value
-     * in XML schema.
-     */
-    boolean isValid();
-
-    /**
-     * True if this date/time specification specifies a timezone.
-     */
-    boolean hasTimeZone();
-
-    /**
-     * True if this date/time specification specifies a year.
-     */
-    boolean hasYear();
-
-    /**
-     * True if this date/time specification specifies a month-of-year.
-     */
-    boolean hasMonth();
-
-    /**
-     * True if this date/time specification specifies a day-of-month.
-     */
-    boolean hasDay();
-
-    /**
-     * True if this date/time specification specifies a time-of-day.
-     */
-    boolean hasTime();
-
-    /**
-     * True if this date/time specification specifies a full date (year, month, day)
-     */
-    boolean hasDate();
-
-    /**
-     * Gets the year. Should be a four-digit year specification.
-     */
-    int getYear();
-
-    /**
-     * Gets the month-of-year. January is 1.
-     */
-    int getMonth();
-
-    /**
-     * Gets the day-of-month. The first day of each month is 1.
-     */
-    int getDay();
-
-    /**
-     * Gets the hour-of-day. Midnight is 0, and 11PM is 23.
-     */
-    int getHour();
-
-    /**
-     * Gets the minute-of-hour. Range from 0 to 59.
-     */
-    int getMinute();
-
-    /**
-     * Gets the second-of-minute. Range from 0 to 59.
-     */
-    int getSecond();
-
-    /**
-     * Gets the time zone sign. For time zones east of GMT,
-     * this is positive; for time zones west, this is negative.
-     */
-    int getTimeZoneSign();
-
-    /**
-     * Gets the time zone hour.
-     * This is always positive: for the sign, look at
-     * getTimeZoneSign().
-     */
-    int getTimeZoneHour();
-
-    /**
-     * Gets the time zone minutes.
-     * This is always positive: for the sign, look at
-     * getTimeZoneSign().
-     */
-    int getTimeZoneMinute();
-
-    /**
-     * Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive).
-     */
-    BigDecimal getFraction();
-
-    /**
-     * Gets the rounded millisecond value. Range from 0 to 999
-     */
-    int getMillisecond();
-
-    /**
-     * Returns the Julian date corresponding to this Gregorian date.
-     * The Julian date (JD) is a continuous count of days from
-     * 1 January 4713 BC (= -4712 January 1).
-     */
-    int getJulianDate();
-
-    /**
-     * Retrieves the value of the current time as an {@link XmlCalendar}.
-     * <p>
-     * {@link XmlCalendar} is a subclass of {@link java.util.GregorianCalendar}
-     * which is slightly customized to match XML schema date rules.
-     * <p>
-     * The returned {@link XmlCalendar} has only those time and date fields
-     * set that are reflected in the GDate object.  Because of the way the
-     * {@link java.util.Calendar} contract works, any information in the isSet() vanishes
-     * as soon as you view any unset field using get() methods.
-     * This means that if it is important to understand which date fields
-     * are set, you must call isSet() first before get().
-     */
-    XmlCalendar getCalendar();
-
-    /**
-     * Retrieves the value of the current time as a java.util.Date
-     * instance.
-     */
-    Date getDate();
-
-    /**
-     * Comparison to another GDate.
-     * <ul>
-     * <li>Returns -1 if this < date. (less-than)
-     * <li>Returns 0 if this == date. (equal)
-     * <li>Returns 1 if this > date. (greater-than)
-     * <li>Returns 2 if this <> date. (incomparable)
-     * </ul>
-     * Two instances are incomparable if they have different amounts
-     * of information.
-     * 
-     * @param gdatespec the date to compare against.
-     */
-    int compareToGDate(GDateSpecification gdatespec);
-
-    /**
-     * Returns the builtin type code for the shape of the information
-     * contained in this instance, or 0 if the
-     * instance doesn't contain information corresponding to a
-     * Schema type.
-     * <p> 
-     * Value will be equal to
-     * {@link SchemaType#BTC_NOT_BUILTIN},
-     * {@link SchemaType#BTC_G_YEAR},
-     * {@link SchemaType#BTC_G_YEAR_MONTH},
-     * {@link SchemaType#BTC_G_MONTH},
-     * {@link SchemaType#BTC_G_MONTH_DAY},
-     * {@link SchemaType#BTC_G_DAY},
-     * {@link SchemaType#BTC_DATE},
-     * {@link SchemaType#BTC_DATE_TIME}, or
-     * {@link SchemaType#BTC_TIME}.
-     */
-    int getBuiltinTypeCode();
-
-    /**
-     * The canonical string representation. Specific moments or
-     * times-of-day in a specified timezone are normalized to
-     * UTC time to produce a canonical string form for them.
-     * Other recurring time specifications keep their timezone
-     * information.
-     */
-    String canonicalString();
-
-    /**
-     * The natural string representation. This represents the information
-     * that is available, including timezone. For types that correspond
-     * to defined schema types (schemaBuiltinTypeCode() > 0),
-     * this provides the natural lexical representation.
-     *
-     * When both time and timezone are specified, this string is not
-     * the canonical representation unless the timezone is UTC (Z)
-     * (since the same moment in time can be expressed in different
-     * timezones). To get a canonical string, use the canonicalString()
-     * method.
-     */
-    String toString();
-
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/GDuration.java b/v1/src/xmlpublic/org/apache/xmlbeans/GDuration.java
deleted file mode 100644
index 746e79f..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/GDuration.java
+++ /dev/null
@@ -1,465 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.math.BigDecimal;
-
-/**
- * Represents an XML Schema-compatible duration.
- * <p>
- * A duration is made up of a number of years, months, days, hours,
- * minutes, seconds, and fractions of seconds. See the
- * XML Schema specification
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#duration">section on xs:duration</a>
- * for details on the rules for
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#duration-order">comparing durations</a> and
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#adding-durations-to-dateTimes">adding durations to dates</a>.
- */
-public final class GDuration implements GDurationSpecification, java.io.Serializable
-{
-    private static final long serialVersionUID = 1L;
-    
-    private int _sign;
-    private int _CY;
-    private int _M;
-    private int _D;
-    private int _h;
-    private int _m;
-    private int _s;
-    private BigDecimal _fs;
-
-    /**
-     * Constructs an empty GDuration representing zero seconds.
-     */
-    public GDuration()
-    {
-        _sign = +1;
-    }
-
-    private static final int SEEN_NOTHING = 0;
-    private static final int SEEN_YEAR = 1;
-    private static final int SEEN_MONTH = 2;
-    private static final int SEEN_DAY = 3;
-    private static final int SEEN_HOUR = 4;
-    private static final int SEEN_MINUTE = 5;
-    private static final int SEEN_SECOND = 6;
-
-    /**
-     * Constructs a GDuration from a lexical
-     * representation. The lexical space contains the
-     * union of the lexical spaces of all the schema
-     * date/time types (except for duration).
-     */
-    public GDuration(CharSequence str)
-    {
-        // Form:        -PnYnMnDTnHnMnS
-        // (where each n may be preceded by a - for us, and the whole may be -)
-
-        // first trim XML whitespace
-        int len = str.length();
-        int start = 0;
-        while (len > 0 && GDate.isSpace(str.charAt(len - 1)))
-            len -= 1;
-        while (start < len && GDate.isSpace(str.charAt(start)))
-            start += 1;
-
-        _sign = 1;
-        boolean tmark = false;
-
-        if (start < len && str.charAt(start) == '-')
-        {
-            _sign = -1;
-            start += 1;
-        }
-
-        if (start >= len || str.charAt(start) != 'P')
-            throw new IllegalArgumentException("duration must begin with P");
-
-        start += 1;
-
-        int seen = SEEN_NOTHING;
-        _fs = GDate._zero;
-
-        for (;start < len; start += 1)
-        {
-            boolean negval = false;
-            char ch = str.charAt(start);
-            if (ch == 'T')
-            {
-                if (tmark)
-                    throw new IllegalArgumentException("duration must have no more than one T'");
-                if (seen > SEEN_DAY)
-                    throw new IllegalArgumentException("T in duration must precede time fields");
-                seen = SEEN_DAY;
-                tmark = true;
-                start += 1;
-                if (start >= len)
-                    throw new IllegalArgumentException("illegal duration");
-                ch = str.charAt(start);
-            }
-            if (ch == '-')
-            {
-                negval = true;
-                if (start == len)
-                    throw new IllegalArgumentException("illegal duration");
-                start += 1;
-                ch = str.charAt(start);
-            }
-            if (!GDate.isDigit(ch))
-                throw new IllegalArgumentException("illegal duration");
-            int value = GDate.digitVal(ch);
-            for (;;)
-            {
-                start += 1;
-                ch = (start < len) ? str.charAt(start) : '\0';
-                if (!GDate.isDigit(ch))
-                    break;
-                value = value * 10 + GDate.digitVal(ch);
-            }
-            if (ch == '.')
-            {
-                int i = start;
-                do i += 1;
-                while (i < len && GDate.isDigit(ch = str.charAt(i)));
-                _fs = new BigDecimal(str.subSequence(start, i).toString());
-                if (i >= len || ch != 'S')
-                    throw new IllegalArgumentException("illegal duration");
-                start = i;
-            }
-            if (negval)
-                value = -value;
-            switch (seen)
-            {
-                case SEEN_NOTHING:
-                    if (ch == 'Y')
-                    {
-                        seen = SEEN_YEAR;
-                        _CY = value;
-                        break;
-                    } // fallthrough
-                case SEEN_YEAR:
-                    if (ch == 'M')
-                    {
-                        seen = SEEN_MONTH;
-                        _M = value;
-                        break;
-                    } // fallthrough
-                case SEEN_MONTH:
-                    if (ch == 'D')
-                    {
-                        seen = SEEN_DAY;
-                        _D = value;
-                        break;
-                    } // fallthrough
-                case SEEN_DAY:
-                    if (ch == 'H')
-                    {
-                        if (!tmark)
-                            throw new IllegalArgumentException("time in duration must follow T");
-                        seen = SEEN_HOUR;
-                        _h = value;
-                        break;
-                    } // fallthrough
-                case SEEN_HOUR:
-                    if (ch == 'M')
-                    {
-                        if (!tmark)
-                            throw new IllegalArgumentException("time in duration must follow T");
-                        seen = SEEN_MINUTE;
-                        _m = value;
-                        break;
-                    } // fallthrough
-                case SEEN_MINUTE:
-                    if (ch == 'S')
-                    {
-                        if (!tmark)
-                            throw new IllegalArgumentException("time in duration must follow T");
-                        seen = SEEN_SECOND;
-                        _s = value;
-                        break;
-                    } // fallthrough
-                default:
-                    throw new IllegalArgumentException("duration must specify Y M D T H M S in order");
-            }
-        }
-    }
-
-    /**
-     * Constructs a GDuration with the specified sign,
-     * year, month, day, hours, minutes, seconds, and optional
-     * fractional seconds.
-     */
-    public GDuration(
-            int sign,
-            int year,
-            int month,
-            int day,
-            int hour,
-            int minute,
-            int second,
-            BigDecimal fraction)
-    {
-        if (sign != 1 && sign != -1)
-            throw new IllegalArgumentException();
-        _sign = sign;
-        _CY = year;
-        _M = month;
-        _D = day;
-        _h = hour;
-        _m = minute;
-        _s = second;
-        _fs = fraction == null ? GDate._zero : fraction;
-    }
-
-    /**
-     * Constructs a GDuration from another GDurationSpecification.
-     */
-    public GDuration(GDurationSpecification gDuration)
-    {
-        _sign = gDuration.getSign();
-        _CY = gDuration.getYear();
-        _M = gDuration.getMonth();
-        _D = gDuration.getDay();
-        _h = gDuration.getHour();
-        _m = gDuration.getMinute();
-        _s = gDuration.getSecond();
-        _fs = gDuration.getFraction();
-    }
-
-    /**
-     * Builds another GDate with the same value
-     * as this one.
-     */
-    public Object clone()
-    {
-        return new GDuration(this);
-    }
-
-    /**
-     * All GDuration instances return true.
-     */
-    public final boolean isImmutable()
-    {
-        return true;
-    }
-
-    /**
-     * Returns the sign of the duration: +1 is forwards
-     * and -1 is backwards in time.
-     */
-    public final int getSign()
-        { return _sign; }
-
-    /**
-     * Gets the year component.
-     */
-    public final int getYear()
-        { return _CY;  }
-
-    /**
-     * Gets the month-of-year component.
-     */
-    public final int getMonth()
-        { return _M;  }
-
-    /**
-     * Gets the day-of-month component.
-     */
-    public final int getDay()
-        { return _D; }
-
-    /**
-     * Gets the hour-of-day component.
-     */
-    public final int getHour()
-        { return _h; }
-
-    /**
-     * Gets the minute-of-hour component.
-     */
-    public final int getMinute()
-        { return _m; }
-
-    /**
-     * Gets the second-of-minute component.
-     */
-    public final int getSecond()
-        { return _s; }
-
-
-    /**
-     * Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive).
-     */
-    public BigDecimal getFraction()
-        { return _fs; }
-
-    /**
-     * Returns true if all of the individual components
-     * of the duration are nonnegative.
-     */
-    public boolean isValid()
-    {
-        return GDurationBuilder.isValidDuration(this);
-    }
-
-    /**
-     * Comparison to another GDuration.
-     * <ul>
-     * <li>Returns -1 if this < date. (less-than)
-     * <li>Returns 0 if this == date. (equal)
-     * <li>Returns 1 if this > date. (greater-than)
-     * <li>Returns 2 if this <> date. (incomparable)
-     * </ul>
-     * Two instances are incomparable if they have different amounts
-     * of information.
-     */
-    public final int compareToGDuration(GDurationSpecification duration)
-    {
-        return GDurationBuilder.compareDurations(this, duration);
-    }
-
-    /**
-     * The natural string representation of the duration.
-     * <p>
-     * Any components that are zero are omitted. Note that if the duration
-     * is invalid, i.e., it has negative components, those negative
-     * components are serialized out here. To check for validity, use
-     * the isValid() method; and to normalize most durations to a valid
-     * form use the normalize() method.
-     */
-    public String toString()
-    {
-        return GDurationBuilder.formatDuration(this);
-    }
-
-    /**
-     * Returns a new GDuration which is the sum of this one and the
-     * supplied duration.  Does a fieldwise addition, with no normalization.
-     */
-    public GDuration add(GDurationSpecification duration)
-    {
-        int sign = _sign * duration.getSign();
-        return _add(duration, sign);
-    }
-
-    /**
-     * Returns a new GDuration which is the result of subtracting
-     * the supplied duration from this one.  Does a fieldwise
-     * subtraction, with no normalization.
-     */
-    public GDuration subtract(GDurationSpecification duration)
-    {
-        int sign = -_sign * duration.getSign();
-        return _add(duration, sign);
-    }
-
-    private GDuration _add(GDurationSpecification duration, int sign)
-    {
-        GDuration result = new GDuration(this);
-        result._CY += sign * duration.getYear();
-        result._M += sign * duration.getMonth();
-        result._D += sign * duration.getDay();
-        result._h += sign * duration.getHour();
-        result._m += sign * duration.getMinute();
-        result._s += sign * duration.getSecond();
-
-        if (duration.getFraction().signum() == 0)
-            return result;
-
-        if (result._fs.signum() == 0 && sign == 1)
-            result._fs = duration.getFraction();
-        else
-            result._fs = sign > 0 ?
-                    result._fs.add(duration.getFraction()) :
-                    result._fs.subtract(duration.getFraction());
-        return result;
-    }
-
-    /**
-     * Two GDurations are equal if all their fields are equal.
-     * The equals function does not apply normalizatin.
-     */
-    public boolean equals(Object obj)
-    {
-        if (obj == this)
-            return true;
-        if (!(obj instanceof GDuration))
-            return false;
-
-        GDuration duration = (GDuration)obj;
-        return (_sign == duration.getSign() &&
-                _CY == duration.getYear() &&
-                _M == duration.getMonth() &&
-                _D == duration.getDay() &&
-                _h == duration.getHour() &&
-                _m == duration.getMinute() &&
-                _s == duration.getSecond() &&
-                _fs.equals(duration.getFraction()));
-    }
-
-    public int hashCode()
-    {
-        return (_s +
-                _m * (60 + 7) +
-                _h * (60 * 60 + 7) +
-                _D * (60 * 60 * 24 + 7) +
-                _M * (60 * 60 * 24 * 31 + 7) +
-                _CY *(60 * 60 * 24 * 372 + 7) +
-                _sign * 11917049);
-    }
-
-}
\ No newline at end of file
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/GDurationBuilder.java b/v1/src/xmlpublic/org/apache/xmlbeans/GDurationBuilder.java
deleted file mode 100644
index de0c687..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/GDurationBuilder.java
+++ /dev/null
@@ -1,635 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.math.BigDecimal;
-
-/**
- * Used to build {@link GDuration GDurations}.
- */ 
-public class GDurationBuilder implements GDurationSpecification, java.io.Serializable
-{
-    private static final long serialVersionUID = 1L;
-    
-    private int _sign;
-    private int _CY;
-    private int _M;
-    private int _D;
-    private int _h;
-    private int _m;
-    private int _s;
-    private BigDecimal _fs;
-
-    /**
-     * Constructs an empty GDurationBuilder representing zero seconds.
-     */
-    public GDurationBuilder()
-    {
-        _sign = +1;
-        _fs = GDate._zero;
-    }
-
-    /**
-     * Constructs a GDuration from a lexical
-     * representation.
-     */
-    public GDurationBuilder(String s)
-    {
-        this(new GDuration(s));
-    }
-
-    /**
-     * Constructs a GDurationBuilder with the specified sign,
-     * year, month, day, hours, minutes, seconds, and optional
-     * fractional seconds.
-     */
-    public GDurationBuilder(
-            int sign,
-            int year,
-            int month,
-            int day,
-            int hour,
-            int minute,
-            int second,
-            BigDecimal fraction)
-    {
-        if (sign != 1 && sign != -1)
-            throw new IllegalArgumentException();
-        _sign = sign;
-        _CY = year;
-        _M = month;
-        _D = day;
-        _h = hour;
-        _m = minute;
-        _s = second;
-        _fs = fraction == null ? GDate._zero : fraction;
-    }
-
-    /**
-     * Constructs a GDurationBuilder from another GDurationBuilderSpecification.
-     */
-    public GDurationBuilder(GDurationSpecification gDuration)
-    {
-        _sign = gDuration.getSign();
-        _CY = gDuration.getYear();
-        _M = gDuration.getMonth();
-        _D = gDuration.getDay();
-        _h = gDuration.getHour();
-        _m = gDuration.getMinute();
-        _s = gDuration.getSecond();
-        _fs = gDuration.getFraction();
-    }
-
-    /**
-     * Builds another GDurationBuilder with the same value
-     * as this one.
-     */
-    public Object clone()
-    {
-        return new GDurationBuilder(this);
-    }
-
-    /**
-     * Builds a GDuration from this GDurationBuilder.
-     */
-    public GDuration toGDuration()
-    {
-        return new GDuration(this);
-    }
-
-    /**
-     * Adds to this duration.  Does a fieldwise add, with no
-     * normalization.
-     */
-    public void addGDuration(GDurationSpecification duration)
-    {
-        int sign = _sign * duration.getSign();
-        _add(duration, sign);
-    }
-
-    /**
-     * Subtracts from this duration.  Does a fieldwise subtraction,
-     * with no normalization.
-     */
-    public void subtractGDuration(GDurationSpecification duration)
-    {
-        int sign = -_sign * duration.getSign();
-        _add(duration, sign);
-    }
-
-    private void _add(GDurationSpecification duration, int sign)
-    {
-        _CY += sign * duration.getYear();
-        _M += sign * duration.getMonth();
-        _D += sign * duration.getDay();
-        _h += sign * duration.getHour();
-        _m += sign * duration.getMinute();
-        _s += sign * duration.getSecond();
-
-        if (duration.getFraction().signum() == 0)
-            return;
-
-        if (_fs.signum() == 0 && sign == 1)
-            _fs = duration.getFraction();
-        else
-            _fs = sign > 0 ?
-                    _fs.add(duration.getFraction()) :
-                    _fs.subtract(duration.getFraction());
-    }
-
-    /**
-     * Sets the sign.
-     */
-    public final void setSign(int sign)
-    {
-        if (sign != 1 && sign != -1)
-            throw new IllegalArgumentException();
-        _sign = sign;
-    }
-
-    /**
-     * Sets the year component.
-     */
-    public void setYear(int year)
-        { _CY = year; }
-
-    /**
-     * Sets the month component.
-     */
-    public void setMonth(int month)
-        { _M = month; }
-
-    /**
-     * Sets the day component.
-     */
-    public void setDay(int day)
-        { _D = day;  }
-
-    /**
-     * Sets the hour component.
-     */
-    public void setHour(int hour)
-        { _h = hour;  }
-
-    /**
-     * Sets the minute component.
-     */
-    public void setMinute(int minute)
-        { _m = minute; }
-
-    /**
-     * Sets the second component.
-     */
-    public void setSecond(int second)
-        { _s = second; }
-
-    /**
-     * Sets the fraction-of-second component.
-     */
-    public void setFraction(BigDecimal fraction)
-        { _fs = fraction == null ? GDate._zero : fraction; }
-
-    /**
-     * All GDuration instances return true.
-     */
-    public final boolean isImmutable()
-    {
-        return true;
-    }
-
-    /**
-     * Returns the sign of the duration: +1 is forwards
-     * and -1 is backwards in time.
-     * This value does not necessarily reflect the
-     * true direction of the duration if the duration
-     * is not normalized or not normalizable.
-     */
-    public final int getSign()
-        { return _sign; }
-
-    /**
-     * Gets the year component.
-     */
-    public final int getYear()
-        { return _CY;  }
-
-    /**
-     * Gets the month-of-year component.
-     */
-    public final int getMonth()
-        { return _M;  }
-
-    /**
-     * Gets the day-of-month component.
-     */
-    public final int getDay()
-        { return _D; }
-
-    /**
-     * Gets the hour-of-day component.
-     */
-    public final int getHour()
-        { return _h; }
-
-    /**
-     * Gets the minute-of-hour component.
-     */
-    public final int getMinute()
-        { return _m; }
-
-    /**
-     * Gets the second-of-minute component.
-     */
-    public final int getSecond()
-        { return _s; }
-
-
-    /**
-     * Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive).
-     */
-    public BigDecimal getFraction()
-        { return _fs; }
-
-    /**
-     * Returns true if all of the individual components
-     * of the duration are nonnegative.
-     */
-    public boolean isValid()
-    {
-        return GDurationBuilder.isValidDuration(this);
-    }
-
-
-    /**
-     * Normalize a duration value. This ensures that months,
-     * hours, minutes, seconds, and fractions are positive and
-     * within the ranges 0..11, 0..23, 0..59, etc. Negative
-     * durations are indicated by a negative sign rather
-     * than negative components.
-     * <p>
-     * Most duration specifications can be normalized to
-     * valid durations with all positive components, but
-     * not all of them can.
-     * <p>
-     * The only situations which cannot be normalized are
-     * where the year/month and the day/hour/minute/second
-     * offsets are of opposite sign. Days cannot be carried
-     * into months since the length of a Gregorian month is
-     * variable depending on when the duration is applied.
-     * In these cases, this method normalizes the components
-     * so that "day" is the only negative component.
-     */
-    public void normalize()
-    {
-        _normalizeImpl(true);
-    }
-
-    /**
-     * fQuotient(a, b) = the greatest integer less than or equal to a/b
-     */
-    private static final long _fQuotient(long a, int b)
-    {
-        if ((a < 0) == (b < 0))
-            return a / b;
-
-        return -((b - a - 1) / b);
-    }
-
-    /**
-     * modulo(a, b) = a - fQuotient(a,b)*b
-     */
-    private static final int _mod(long a, int b, long quotient)
-    {
-        return (int)(a - quotient*b) ;
-    }
-
-
-    /**
-     * Private implemenation of normalize. The flag is
-     * to facilitate this method calling itself without
-     * danger of infinite recursion.
-     */
-    private void _normalizeImpl(boolean adjustSign)
-    {
-        long temp;
-
-        // months to years
-        if (_M < 0 || _M > 11)
-        {
-            temp = _M;
-            long ycarry = _fQuotient(temp, 12);
-            _M = _mod(temp, 12, ycarry);
-            _CY += ycarry;
-        }
-
-        long carry = 0;
-
-        // fractions to seconds
-        if (_fs != null && (_fs.signum() < 0 || _fs.compareTo(GDate._one) >= 0))
-        {
-            BigDecimal bdcarry = _fs.setScale(0, BigDecimal.ROUND_FLOOR);
-            _fs = _fs.subtract(bdcarry);
-            carry = bdcarry.intValue();
-        }
-
-        if (carry != 0 || _s < 0 || _s > 59 || _m < 0 || _m > 50 || _h < 0 || _h > 23)
-        {
-            // seconds
-            temp = _s + carry;
-            carry = _fQuotient(temp, 60);
-            _s = _mod(temp, 60, carry);
-
-            // minutes
-            temp = _m + carry;
-            carry = _fQuotient(temp, 60);
-            _m = _mod(temp, 60, carry);
-
-            // hours
-            temp = _h + carry;
-            carry = _fQuotient(temp, 24);
-            _h = _mod(temp, 24, carry);
-            _D += carry;
-        }
-
-        if (_CY == 0 && _M == 0 && _D == 0 && _h == 0 && _m == 0 && _s == 0 && (_fs == null || _fs.signum() == 0))
-            _sign = 1;
-
-        if (adjustSign && (_D < 0 || _CY < 0))
-        {
-            int sign = (_D <= 0 && (_CY < 0 || _CY == 0 && _M == 0)) ? -_sign : _getTotalSignSlowly();
-            if (sign == 2)
-                sign = (_CY < 0) ? -_sign : _sign;
-            if (sign == 0)
-                sign = 1;
-            if (sign != _sign)
-            {
-                _sign = sign;
-                _CY = -_CY;
-                _M = -_M;
-                _D = -_D;
-                _h = -_h;
-                _m = -_m;
-                _s = -_s;
-                if (_fs != null)
-                    _fs = _fs.negate();
-            }
-            _normalizeImpl(false);
-        }
-    }
-
-
-    /* package */ static boolean isValidDuration(GDurationSpecification spec)
-    {
-        if (!(spec.getSign() == 1 || spec.getSign() == -1))
-            return false;
-
-        return (spec.getYear() >= 0 && spec.getMonth() >= 0 && spec.getDay() >= 0 &&
-                spec.getHour() >= 0 && spec.getMinute() >= 0  && spec.getSecond() >= 0 &&
-                spec.getFraction().signum() >= 0);
-    }
-
-    /**
-     * Comparison to another GDuration.
-     * <ul>
-     * <li>Returns -1 if this < date. (less-than)
-     * <li>Returns 0 if this == date. (equal)
-     * <li>Returns 1 if this > date. (greater-than)
-     * <li>Returns 2 if this <> date. (incomparable)
-     * </ul>
-     * Two instances are incomparable if they have different amounts
-     * of information.
-     */
-    public final int compareToGDuration(GDurationSpecification duration)
-    {
-        return GDurationBuilder.compareDurations(this, duration);
-    }
-
-    /**
-     * The natural string representation of the duration.
-     * <p>
-     * Any components that are zero are omitted. Note that if the duration
-     * is invalid, i.e., it has negative components, those negative
-     * components are serialized out here. To check for validity, use
-     * the isValid() method; and to normalize most durations to a valid
-     * form use the normalize() method.
-     */
-    public String toString()
-    {
-        return GDurationBuilder.formatDuration(this);
-    }
-
-    /* package */ static int compareDurations(GDurationSpecification d1, GDurationSpecification d2)
-    {
-        // first do an all-fields check
-        if (d1.getFraction().signum() == 0 && d2.getFraction().signum() == 0)
-        {
-            int s1 = d1.getSign();
-            int s2 = d2.getSign();
-            long month1 = s1 * ((long)d1.getYear() * 12 + d1.getMonth());
-            long month2 = s2 * ((long)d2.getYear() * 12 + d2.getMonth());
-            long sec1 = s1 * ((((long)d1.getDay() * 24 + d1.getHour()) * 60 + d1.getMinute()) * 60 + d1.getSecond());
-            long sec2 = s2 * ((((long)d2.getDay() * 24 + d2.getHour()) * 60 + d2.getMinute()) * 60 + d2.getSecond());
-            if (month1 == month2)
-            {
-                if (sec1 == sec2)
-                    return 0;
-                if (sec1 < sec2)
-                    return -1;
-                if (sec1 > sec2)
-                    return 1;
-            }
-            if (month1 < month2 && sec1 - sec2 < 28 * 24 * 60 * 60)
-                return -1;
-            if (month1 > month2 && sec2 - sec1 < 28 * 24 * 60 * 60)
-                return 1;
-        }
-
-        // the answer isn't obvious, so then do a total-sign check
-        GDurationBuilder diff = new GDurationBuilder(d1);
-        diff.subtractGDuration(d2);
-        return diff._getTotalSignSlowly();
-    }
-
-    /**
-     * Per schema spec, comparison of durations is simply done
-     * by calculating adding the duration to these four dates and
-     * comparing the results. If the results are ambiguous, the
-     * answer is "incomparable".
-     */
-    private static final GDate[] _compDate = new GDate[]
-    {
-        new GDate(1696, 9, 1, 0, 0, 0, null, 0, 0, 0),
-        new GDate(1697, 2, 1, 0, 0, 0, null, 0, 0, 0),
-        new GDate(1903, 3, 1, 0, 0, 0, null, 0, 0, 0),
-        new GDate(1903, 7, 1, 0, 0, 0, null, 0, 0, 0)
-    };
-
-
-    /**
-     * This returns the total sign of the duration, +1
-     * if the duration moves forward in time, -1 if the
-     * duration moves backwards in time, 0 if the duration
-     * is zero-length, and 2 if the duration may be positive
-     * or negative depending on the date.
-     *
-     * (For example, one month minus 30 days is indeterminate).
-     */
-    private int _getTotalSignSlowly()
-    {
-        int pos = 0;
-        int neg = 0;
-        int zer = 0;
-
-        GDateBuilder enddate = new GDateBuilder();
-        for (int i = 0; i < _compDate.length; i++)
-        {
-            enddate.setGDate(_compDate[i]);
-            enddate.addGDuration(this);
-            switch (enddate.compareToGDate(_compDate[i]))
-            {
-                case -1:
-                    neg++; break;
-                case 0:
-                    zer++; break;
-                case 1:
-                    pos++; break;
-            }
-        }
-
-        if (pos == _compDate.length)
-            return +1;
-        if (neg == _compDate.length)
-            return -1;
-        if (zer == _compDate.length)
-            return 0;
-        return 2;
-    }
-
-    /* package */ static String formatDuration(GDurationSpecification duration)
-    {
-        // Sign+P:      (-)?P
-        // Year:        (?:(\d+)Y)?
-        // Month:       (?:(\d+)M)?
-        // Day:         (?:(\d+)D)?
-        // Time:        (?:(T)
-        // Hours:          (?:(\d+)H)?
-        // Minutes:        (?:(\d+)M)?
-        // Seconds:        (?:(\d+(?:\.\d*)?|(?:.\d+)S)?
-
-        StringBuffer message = new StringBuffer(30);
-
-        if (duration.getSign() < 0)
-            message.append('-');
-
-        message.append('P');
-
-        if (duration.getYear() != 0)
-        {
-            message.append(duration.getYear());
-            message.append('Y');
-        }
-
-        if (duration.getMonth() != 0)
-        {
-            message.append(duration.getMonth());
-            message.append('M');
-        }
-
-        if (duration.getDay() != 0)
-        {
-            message.append(duration.getDay());
-            message.append('D');
-        }
-
-        if (duration.getHour() != 0 || duration.getMinute() != 0 || duration.getSecond() != 0 ||
-             (duration.getFraction().signum() != 0))
-        {
-            message.append('T');
-        }
-
-        if (duration.getHour() != 0)
-        {
-            message.append(duration.getHour());
-            message.append('H');
-        }
-
-        if (duration.getMinute() != 0)
-        {
-            message.append(duration.getMinute());
-            message.append('M');
-        }
-
-        if (duration.getFraction().signum() != 0)
-        {
-            BigDecimal s = duration.getFraction();
-            if (duration.getSecond() != 0)
-                s = s.add(BigDecimal.valueOf(duration.getSecond()));
-            message.append(s);
-            message.append('S');
-        }
-        else if (duration.getSecond() != 0)
-        {
-            message.append(duration.getSecond());
-            message.append('S');
-        }
-        else if (message.length() <= 2)
-            // Specify zero seconds if everything was 0
-            message.append("T0S");
-
-        return message.toString();
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/GDurationSpecification.java b/v1/src/xmlpublic/org/apache/xmlbeans/GDurationSpecification.java
deleted file mode 100644
index a66a41b..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/GDurationSpecification.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.math.BigDecimal;
-
-/**
- * Represents an XML Schema-compatible duration.
- * <p>
- * Both the immutable GDuration and the mutable GDurationBuilder are
- * GDurationSpecifications.  Use this interface where you want to
- * allow callers to pass any implementation of a GDuration.
- * 
- * @see GDuration
- */
-public interface GDurationSpecification
-{
-    /**
-     * True if this instance is immutable.
-     */
-    boolean isImmutable();
-
-    /**
-     * Returns the sign of the duration: +1 is forwards
-     * and -1 is backwards in time.
-     */
-    int getSign();
-
-    /**
-     * Gets the year component.
-     */
-    int getYear();
-
-    /**
-     * Gets the month-of-year component.
-     */
-    int getMonth();
-
-    /**
-     * Gets the day-of-month component.
-     */
-    int getDay();
-
-    /**
-     * Gets the hour-of-day component.
-     */
-    int getHour();
-
-    /**
-     * Gets the minute-of-hour component.
-     */
-    int getMinute();
-
-    /**
-     * Gets the second-of-minute component.
-     */
-    int getSecond();
-
-    /**
-     * Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive).
-     */
-    BigDecimal getFraction();
-
-    /**
-     * Returns true if all of the individual components
-     * of the duration are nonnegative.
-     */
-    boolean isValid();
-
-    /**
-     * Comparison to another GDuration.
-     * <ul>
-     * <li>Returns -1 if this < date. (less-than)
-     * <li>Returns 0 if this == date. (equal)
-     * <li>Returns 1 if this > date. (greater-than)
-     * <li>Returns 2 if this <> date. (incomparable)
-     * </ul>
-     * Two instances are incomparable if they have different amounts
-     * of information.
-     */
-    int compareToGDuration(GDurationSpecification duration);
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/QNameCache.java b/v1/src/xmlpublic/org/apache/xmlbeans/QNameCache.java
deleted file mode 100644
index 5754321..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/QNameCache.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-/**
- * A cache that can be used to pool QName instances.  Each thread has one.
- */ 
-public final class QNameCache
-{
-    private static final float DEFAULT_LOAD = 0.70f;
-    private final float loadFactor;
-    private int numEntries = 0;
-    private int threshold;
-    private int hashmask;
-    private QName[] table;
-
-    /**
-     * Creates a QNameCache with the given initialCapacity and loadFactor.
-     * 
-     * @param initialCapacity the number of entries to initially make space for
-     * @param loadFactor a number to control the density of the hashtable
-     */ 
-    public QNameCache(int initialCapacity, float loadFactor)
-    {
-        assert initialCapacity > 0;
-        assert loadFactor > 0 && loadFactor < 1;
-
-        // Find a power of 2 >= initialCapacity
-        int capacity = 16;
-        while (capacity < initialCapacity) 
-            capacity <<= 1;
-    
-        this.loadFactor = loadFactor;
-        this.hashmask = capacity - 1;
-        threshold = (int)(capacity * loadFactor);
-        table = new QName[capacity];
-    }
-
-    /**
-     * Creates a QNameCache with the given initialCapacity.
-     * 
-     * @param initialCapacity the number of entries to initially make space for
-     */ 
-    public QNameCache(int initialCapacity)
-    {
-        this(initialCapacity, DEFAULT_LOAD);
-    }
-
-    /**
-     * Fetches a QName with the given namespace and localname.
-     * Creates one if one is not found in the cache.
-     * 
-     * @param uri the namespace
-     * @param localName the localname
-     * @return the cached QName
-     */ 
-    public QName getName(String uri, String localName)
-    {
-        /*
-        return new QName(uri, localName);
-        */
-        assert localName != null;
-        
-        if (uri == null) uri = "";
-
-        int index = hash(uri, localName) & hashmask;
-        while (true) {
-            QName q = table[index];
-            if (q == null)
-            {
-                numEntries++;
-                if (numEntries >= threshold)
-                    rehash();
-
-                return table[index] = new QName(uri, localName);
-            }
-            else if (equals(q, uri, localName))
-                return q;
-            else 
-                index = (index-1) & hashmask;
-        }
-    }
-
-    private void rehash()
-    {
-        int newLength = table.length * 2;
-        QName[] newTable = new QName[newLength];
-        int newHashmask = newLength - 1;
-
-        for (int i = 0 ; i < table.length ; i++)
-        {
-            QName q = table[i];
-            if (q != null)
-            {
-                int newIndex = hash(q.getNamespaceURI(), q.getLocalPart()) & newHashmask;
-                while (newTable[newIndex] != null)
-                    newIndex = (newIndex - 1) & newHashmask;
-                newTable[newIndex] = q;
-            }
-        }
-
-        table = newTable;
-        hashmask = newHashmask;
-        threshold = (int)(newLength * loadFactor);
-    }
-    private static int hash(String uri, String localName)
-    {
-        return (uri.hashCode() << 5) + localName.hashCode();
-    }
-
-    private static boolean equals(QName q, String uri, String localName)
-    {
-        return q.getLocalPart().equals(localName) && q.getNamespaceURI().equals(uri);
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/QNameSet.java b/v1/src/xmlpublic/org/apache/xmlbeans/QNameSet.java
deleted file mode 100644
index 64d2c99..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/QNameSet.java
+++ /dev/null
@@ -1,487 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Collections;
-import java.util.Arrays;
-
-/**
- * This interface represents a lattice of finite and infinite sets of QNames.
- * The lattice the minimal one that is closed under union, intersection, and
- * inverse, and contains individual QNames as well as entire namespaces.
- * Here is a summary of the two kinds of QNameSets:
- * <ul>
- * <li>A QNameSet can cover a finite set of namespaces, additionally including a finite
- *     set of QNames outside those namespaces, and with the exception of
- *     a finite set of QNames excluded from those namespaes:
- *   <ul>
- *   <li>excludedQNamesInIncludedURIs == the set of excluded QNames from coveredURIs namespaces
- *   <li>excludedURIs == null
- *   <li>includedURIs == the set of covered namespace URIs
- *   <li>includedQNamesInExcludedURIs == set of additional QNames outside coveredURIs namespaces
- *   </ul>
- * </li>
- * <li>A QNameSet can cover all namespaces except for a finite number of excluded ones,
- *     additionally including a finite set of QNames within the excluded namespaces,
- *     and with the exception of a finite set of QNames outside the excluded namespaces:
- *   <ul>
- *   <li>excludedQNamesInIncludedURIs == the set of excluded QNames outside uncoveredURIs namespaces
- *   <li>excludedURIs == the set of uncovered namespace URIs
- *   <li>includedURIs == null
- *   <li>includedQNamesInExcludedURIs == set of additional QNames from uncoveredURIs namespaces
- *   </ul>
- * </li>
- * </ul>
- * <p>
- * Notice that a finite set of QNames is a degenerate case of the first
- * category outlined above:
- * <ul>
- * <li>A QnameSet can contain a finite number of QNames:
- *   <ul>
- *   <li>excludedQNamesInIncludedURIs == null
- *   <li>excludedURIs == null
- *   <li>includedURIs == empty set
- *   <li>includedQNamesInExcludedURIs == set of included QNames
- *   </ul>
- * </li>
- * </ul>
- */
-public final class QNameSet implements QNameSetSpecification, java.io.Serializable
-{
-    private static final long serialVersionUID = 1L;
-    
-    private final boolean _inverted;
-    private final Set _includedURIs;
-    private final Set _excludedQNames;
-    private final Set _includedQNames;
-
-    /**
-     * The empty QNameSet.
-     */
-    public static final QNameSet EMPTY = new QNameSet(null, Collections.EMPTY_SET, Collections.EMPTY_SET, Collections.EMPTY_SET);
-
-    /**
-     * The QNameSet containing all QNames.
-     */
-    public static final QNameSet ALL = new QNameSet(Collections.EMPTY_SET, null, Collections.EMPTY_SET, Collections.EMPTY_SET);
-
-    /**
-     * The QNameSet containing all QNames in the local (no-)namespace.
-     */
-    public static final QNameSet LOCAL = new QNameSet(null, Collections.singleton(""), Collections.EMPTY_SET, Collections.EMPTY_SET);
-
-    /**
-     * The QNameSet containing all QNames except for those in the local (no-)namespace.
-     */
-    public static final QNameSet NONLOCAL = new QNameSet(Collections.singleton(""), null, Collections.EMPTY_SET, Collections.EMPTY_SET);
-
-    /**
-     * Private function to minimize object creation when copying sets.
-     */
-    private static Set minSetCopy(Set original)
-    {
-        if (original == null)
-            return null;
-        if (original.isEmpty())
-            return Collections.EMPTY_SET;
-        if (original.size() == 1)
-            return Collections.singleton(original.iterator().next());
-        return new HashSet(original);
-    }
-
-    /**
-     * Returns a QNameSet based on the given sets of excluded URIs,
-     * included URIs, excluded QNames in included namespaces, and included
-     * QNames in excluded namespaces.
-     * 
-     * @param excludedURIs the finite set of namespace URI strings to exclude from the set, or null if this set is infinite
-     * @param includedURIs the finite set of namespace URI strings to include in the set, or null if this set is infinite
-     * @param excludedQNamesInIncludedURIs the finite set of exceptional QNames to exclude from the included namespaces
-     * @param excludedQNamesInIncludedURIs the finite set of exceptional QNames to include that are in the excluded namespaces
-     * 
-     * @return the constructed QNameSet
-     */
-    public static QNameSet forSets(Set excludedURIs, Set includedURIs, Set excludedQNamesInIncludedURIs, Set includedQNamesInExcludedURIs)
-    {
-        if ((excludedURIs != null) == (includedURIs != null))
-            throw new IllegalArgumentException("Exactly one of excludedURIs and includedURIs must be null");
-
-        if (excludedURIs == null && includedURIs.isEmpty() && includedQNamesInExcludedURIs.isEmpty())
-            return EMPTY;
-        if (includedURIs == null && excludedURIs.isEmpty() && excludedQNamesInIncludedURIs.isEmpty())
-            return ALL;
-        if (excludedURIs == null && includedURIs.size() == 1 && includedURIs.contains("") &&
-            includedQNamesInExcludedURIs.isEmpty() && excludedQNamesInIncludedURIs.isEmpty())
-            return LOCAL;
-        if (includedURIs == null && excludedURIs.size() == 1 && excludedURIs.contains("") &&
-            excludedQNamesInIncludedURIs.isEmpty() && includedQNamesInExcludedURIs.isEmpty())
-            return NONLOCAL;
-
-        return new QNameSet(
-                minSetCopy(excludedURIs),
-                minSetCopy(includedURIs),
-                minSetCopy(excludedQNamesInIncludedURIs),
-                minSetCopy(includedQNamesInExcludedURIs));
-    }
-
-    /**
-     * Returns a QNameSet based on the given array of included QNames
-     * 
-     * @param includedQNames the array of included QNames
-     */
-    public static QNameSet forArray(QName[] includedQNames)
-    {
-        if (includedQNames == null)
-            throw new IllegalArgumentException("includedQNames cannot be null");
-
-        return new QNameSet(null, new HashSet(), null, new HashSet(Arrays.asList(includedQNames)));
-    }
-
-    /**
-     * Returns a QNameSet with the same contents as the given
-     * QNameSetSpecification.
-     * @return the copied QNameSet
-     */
-    public static QNameSet forSpecification(QNameSetSpecification spec)
-    {
-        if (spec instanceof QNameSet)
-            return (QNameSet)spec;
-        return QNameSet.forSets(spec.excludedURIs(), spec.includedURIs(), spec.excludedQNamesInIncludedURIs(), spec.includedQNamesInExcludedURIs());
-    }
-
-    /**
-     * Returns a QNameSet corresponding to the given wildcard namespace string.
-     * This is a space-separated list of URIs, plus special tokens as specified
-     * in the XML Schema specification (##any, ##other, ##targetNamespace, ##local).
-     * @return the constructed QNameSet
-     */
-    public static QNameSet forWildcardNamespaceString(String wildcard, String targetURI)
-    {
-        return QNameSet.forSpecification(new QNameSetBuilder(wildcard, targetURI));
-    }
-
-    /**
-     * Returns a QNameSet containing only the given QName.
-     * @return the constructed QNameSet
-     */
-    public static QNameSet singleton(QName name)
-    {
-        return new QNameSet(null, Collections.EMPTY_SET, Collections.EMPTY_SET, Collections.singleton(name));
-    }
-
-
-    /**
-     * Constructs a QNameSetBuilder whose contents are given by
-     * the four sets.
-     *
-     * This constuctor is PRIVATE because it uses the given
-     * sets directly, and it trusts its callers to set only immutable values.
-     * This constructor is is only called by the static builder methods on
-     * QNameSet: those methods are all careful assign only unchanging sets.
-     */
-    private QNameSet(Set excludedURIs, Set includedURIs, Set excludedQNamesInIncludedURIs, Set includedQNamesInExcludedURIs)
-    {
-        if (includedURIs != null && excludedURIs == null)
-        {
-            _inverted = false;
-            _includedURIs = includedURIs;
-            _excludedQNames = excludedQNamesInIncludedURIs;
-            _includedQNames = includedQNamesInExcludedURIs;
-        }
-        else if (excludedURIs != null && includedURIs == null)
-        {
-            _inverted = true;
-            _includedURIs = excludedURIs;
-            _excludedQNames = includedQNamesInExcludedURIs;
-            _includedQNames = excludedQNamesInIncludedURIs;
-        }
-        else
-            throw new IllegalArgumentException("Exactly one of excludedURIs and includedURIs must be null");
-    }
-
-    /**
-     * Local xml names are hased using "" as the namespace.
-     */
-    private static String nsFromName(QName xmlName)
-    {
-        String ns = xmlName.getNamespaceURI();
-        return ns == null ? "" : ns;
-    }
-
-    /**
-     * True if this ModelTransitionSet contains the given qname.
-     */
-    public boolean contains(QName name)
-    {
-        boolean in = _includedURIs.contains(nsFromName(name)) ?
-                     !_excludedQNames.contains(name) :
-                      _includedQNames.contains(name);
-        return _inverted ^ in;
-    }
-
-    /**
-     * True if this ModelTransitionSet contains all QNames.
-     */
-    public boolean isAll()
-    {
-        return _inverted && _includedURIs.isEmpty() && _includedQNames.isEmpty();
-    }
-
-    /**
-     * True if this ModelTransitionSet contains no QNames.
-     */
-    public boolean isEmpty()
-    {
-        return !_inverted && _includedURIs.isEmpty() && _includedQNames.isEmpty();
-    }
-
-    /**
-     * Returns a new QNameSet that is the intersection of this one and another.
-     * @param set the set to insersect with
-     * @return the intersection
-     */
-    public QNameSet intersect(QNameSetSpecification set)
-    {
-        QNameSetBuilder result = new QNameSetBuilder(this);
-        result.restrict(set);
-        return result.toQNameSet();
-    }
-
-    /**
-     * Returns a new QNameSet that is the union of this one and another.
-     * @param set the set to union with
-     * @return the union
-     */
-    public QNameSet union(QNameSetSpecification set)
-    {
-        QNameSetBuilder result = new QNameSetBuilder(this);
-        result.addAll(set);
-        return result.toQNameSet();
-    }
-
-    /**
-     * Returns a new QNameSet that is the inverse of this one.
-     */
-    public QNameSet inverse()
-    {
-        if (this == EMPTY)
-            return ALL;
-        if (this == ALL)
-            return EMPTY;
-        if (this == LOCAL)
-            return NONLOCAL;
-        if (this == NONLOCAL)
-            return LOCAL;
-        return new QNameSet(includedURIs(), excludedURIs(), includedQNamesInExcludedURIs(), excludedQNamesInIncludedURIs());
-    }
-
-    /**
-     * True if the given set is a subset of this one.
-     * @param set the set to test
-     * @return true if this contains all QNames contained by the given set
-     */
-    public boolean containsAll(QNameSetSpecification set)
-    {
-        // a.contains(b) == a.inverse.isDisjoint(b)
-        if (!_inverted && set.excludedURIs() != null)
-            return false;
-        
-        return inverse().isDisjoint(set);
-    }
-
-    /**
-     * True if the given set is disjoint from this one.
-     * @param set the set to test
-     * @return true if the set is disjoint from this set
-     */
-    public boolean isDisjoint(QNameSetSpecification set)
-    {
-        if (_inverted && set.excludedURIs() != null)
-            return false;
-
-        if (_inverted)
-            return isDisjointImpl(set, this);
-        else
-            return isDisjointImpl(this, set);
-    }
-    
-    private boolean isDisjointImpl(QNameSetSpecification set1, QNameSetSpecification set2)
-    {
-        Set includeURIs = set1.includedURIs();
-        Set otherIncludeURIs = set2.includedURIs();
-        if (otherIncludeURIs != null)
-        {
-            for (Iterator i = includeURIs.iterator(); i.hasNext(); )
-            {
-                if (otherIncludeURIs.contains(i.next()))
-                    return false;
-            }
-        }
-        else
-        {
-            Set otherExcludeURIs = set2.excludedURIs();
-            for (Iterator i = includeURIs.iterator(); i.hasNext(); )
-            {
-                if (!otherExcludeURIs.contains(i.next()))
-                    return false;
-            }
-        }
-
-        for (Iterator i = set1.includedQNamesInExcludedURIs().iterator(); i.hasNext(); )
-        {
-            if (set2.contains((QName)i.next()))
-                return false;
-        }
-
-        if (includeURIs.size() > 0)
-            for (Iterator i = set2.includedQNamesInExcludedURIs().iterator(); i.hasNext(); )
-        {
-            if (set1.contains((QName)i.next()))
-                return false;
-        }
-
-        return true;
-    }
-
-    
-    /**
-     * Namespaces that are fully excluded from the set except for a finite
-     * number of individual QName exceptions.  Returns null if this set is infinite.
-     * @return the set of excluded namespace URI strings
-     */ 
-    public Set excludedURIs()
-    {
-        if (_inverted) return Collections.unmodifiableSet(_includedURIs);
-        return null;
-    }
-
-    /**
-     * Namespaces that are fully included in set except for a finite
-     * number of individual QName exceptions. Returns null if this set is infinite.
-     * @return the set of included namespace URI strings
-     */ 
-    public Set includedURIs()
-    {
-        if (!_inverted) return _includedURIs;
-        return null;
-    }
-    
-    /**
-     * The set of QNames excluded from the set even though they are within
-     * a namespace that is otherwise fully included in the set.
-     * @return the set of excluded QNames from within includedURI namespaces
-     */ 
-    public Set excludedQNamesInIncludedURIs()
-    {
-        return Collections.unmodifiableSet(_inverted ? _includedQNames : _excludedQNames);
-    }
-
-    /**
-     * The set of QNames included in the set even though they are within
-     * a namespace that is otherwise fully included in the set.
-     * @return the set of included QNames from within excludedURI namespaces
-     */ 
-    public Set includedQNamesInExcludedURIs()
-    {
-        return Collections.unmodifiableSet(_inverted ? _excludedQNames : _includedQNames);
-    }
-    
-    private String prettyQName(QName name)
-    {
-        if (name.getNamespaceURI() == null)
-            return name.getLocalPart();
-        return name.getLocalPart() + "@" + name.getNamespaceURI();
-    }
-
-    /**
-     * Returns a string representation useful for debugging, subject to change.
-     */ 
-    public String toString()
-    {
-        StringBuffer sb = new StringBuffer();
-        sb.append("QNameSet");
-        sb.append(_inverted ? "-(" : "+(");
-        for (Iterator i = _includedURIs.iterator(); i.hasNext(); )
-        {
-            sb.append("+*@");
-            sb.append(i.next());
-            sb.append(", ");
-        }
-        for (Iterator i = _excludedQNames.iterator(); i.hasNext(); )
-        {
-            sb.append("-");
-            sb.append(prettyQName((QName)i.next()));
-            sb.append(", ");
-        }
-        for (Iterator i = _includedQNames.iterator(); i.hasNext(); )
-        {
-            sb.append("+");
-            sb.append(prettyQName((QName)i.next()));
-            sb.append(", ");
-        }
-        int index = sb.lastIndexOf(", ");
-        if (index > 0)
-            sb.setLength(index);
-        sb.append(')');
-        return sb.toString();
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/QNameSetBuilder.java b/v1/src/xmlpublic/org/apache/xmlbeans/QNameSetBuilder.java
deleted file mode 100644
index cf5b57b..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/QNameSetBuilder.java
+++ /dev/null
@@ -1,762 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ArrayList;
-
-/**
- * Used to build {@link QNameSet QNameSets}.
- */ 
-public class QNameSetBuilder implements QNameSetSpecification, java.io.Serializable
-{
-    private static final long serialVersionUID = 1L;
-    
-    private boolean _inverted;
-    private Set _includedURIs;
-    private Set _excludedQNames;
-    private Set _includedQNames;
-
-    /**
-     * Constructs an empty QNameSetBuilder.
-     */
-    public QNameSetBuilder()
-    {
-        _inverted = false;
-        _includedURIs = new HashSet();
-        _excludedQNames = new HashSet();
-        _includedQNames = new HashSet();
-    }
-
-    /**
-     * Constructs a QNameSetBuilder whose initial contents are given by
-     * another QNameSetSpecification.
-     * @param set the QNameSetSpecificaiton to copy
-     */
-    public QNameSetBuilder(QNameSetSpecification set)
-    {
-        Set includedURIs = set.includedURIs();
-        if (includedURIs != null)
-        {
-            _inverted = false;
-            _includedURIs = new HashSet(includedURIs);
-            _excludedQNames = new HashSet(set.excludedQNamesInIncludedURIs());
-            _includedQNames = new HashSet(set.includedQNamesInExcludedURIs());
-        }
-        else
-        {
-            _inverted = true;
-            _includedURIs = new HashSet(set.excludedURIs());
-            _excludedQNames = new HashSet(set.includedQNamesInExcludedURIs());
-            _includedQNames = new HashSet(set.excludedQNamesInIncludedURIs());
-        }
-    }
-
-    /**
-     * Constructs a QNameSetBuilder whose inital contents are given by
-     * the four sets.  Exactly one of either excludedURIs or includedURIs must
-     * be non-null.
-     * 
-     * @param excludedURIs the finite set of namespace URI strings to exclude from the set, or null if this set is infinite
-     * @param includedURIs the finite set of namespace URI strings to include in the set, or null if this set is infinite
-     * @param excludedQNamesInIncludedURIs the finite set of exceptional QNames to exclude from the included namespaces
-     * @param excludedQNamesInIncludedURIs the finite set of exceptional QNames to include that are in the excluded namespaces
-     */
-    public QNameSetBuilder(Set excludedURIs, Set includedURIs, Set excludedQNamesInIncludedURIs, Set includedQNamesInExcludedURIs)
-    {
-        if (includedURIs != null && excludedURIs == null)
-        {
-            _inverted = false;
-            _includedURIs = new HashSet(includedURIs);
-            _excludedQNames = new HashSet(excludedQNamesInIncludedURIs);
-            _includedQNames = new HashSet(includedQNamesInExcludedURIs);
-        }
-        else if (excludedURIs != null && includedURIs == null)
-        {
-            _inverted = true;
-            _includedURIs = new HashSet(excludedURIs);
-            _excludedQNames = new HashSet(includedQNamesInExcludedURIs);
-            _includedQNames = new HashSet(excludedQNamesInIncludedURIs);
-        }
-        else
-            throw new IllegalArgumentException("Exactly one of excludedURIs and includedURIs must be null");
-    }
-
-
-    /**
-     * Constructs a QNameSetBuilder whose initial contents are given
-     * as a list of namespace URIs, using the same format used by wildcards
-     * in XSD files.
-     * 
-     * @param str a wildcard namespace specification string such as "##any",
-     *        "##other", "##local", "##targetNamespace", or a space-separated
-     *        list of URIs.
-     * @param targetURI the current targetNamespace
-     */
-    public QNameSetBuilder(String str, String targetURI)
-    {
-        this();
-
-        if (str == null)
-            str = "##any";
-
-        String[] uri = splitList(str);
-        for (int i = 0; i < uri.length; i++)
-        {
-            String adduri = uri[i];
-            if (adduri.startsWith("##"))
-            {
-                if (adduri.equals("##other"))
-                {
-                    if (targetURI == null)
-                        throw new IllegalArgumentException();
-                    QNameSetBuilder temp = new QNameSetBuilder();
-                    temp.addNamespace(targetURI);
-                    temp.addNamespace("");
-                    temp.invert();
-                    addAll(temp);
-                    continue;
-                }
-                else if (adduri.equals("##any"))
-                {
-                    clear();
-                    invert();
-                    continue;
-                }
-                else if (uri[i].equals("##targetNamespace"))
-                {
-                    if (targetURI == null)
-                        throw new IllegalArgumentException();
-                    adduri = targetURI;
-                }
-                else if (uri[i].equals("##local"))
-                {
-                    adduri = "";
-                }
-            }
-            addNamespace(adduri);
-        }
-    }
-    
-    /**
-     * Local xml names are hased using "" as the namespace.
-     */
-    private static String nsFromName(QName QName)
-    {
-        String ns = QName.getNamespaceURI();
-        return ns == null ? "" : ns;
-    }
-    
-    private static final String[] EMPTY_STRINGARRAY = new String[0];
-    
-    private static boolean isSpace(char ch)
-    {
-        switch (ch)
-        {
-            case ' ':
-            case '\t':
-            case '\r':
-            case '\n':
-                return true;
-            default:
-                return false;
-        }
-    }
-
-    private static String[] splitList(String s)
-    {
-        if (s.length() == 0)
-            return EMPTY_STRINGARRAY;
-                
-        List result = new ArrayList();
-        int i = 0;
-        int start = 0;
-        for (;;)
-        {
-            while (i < s.length() && isSpace(s.charAt(i)))
-                i += 1;
-            if (i >= s.length())
-                return (String[])result.toArray(EMPTY_STRINGARRAY);
-            start = i;
-            while (i < s.length() && !isSpace(s.charAt(i)))
-                i += 1;
-            result.add(s.substring(start, i));
-        }
-    }
-    
-    /**
-     * Remove all xml names from qnameset whose namespace matches the uri.
-     */
-    private static void removeAllMatchingNs(String uri, Set qnameset)
-    {
-        for (Iterator i = qnameset.iterator(); i.hasNext(); )
-        {
-            if (uri.equals(nsFromName((QName)i.next())))
-                i.remove();
-        }
-    }
-
-    /**
-     * Remove all xml names from qnameset whose namespace is in the
-     * first set of uris but not the second.
-     */
-    private static void removeAllMatchingFirstOnly(Set setFirst, Set setSecond, Set qnameset)
-    {
-        for (Iterator i = qnameset.iterator(); i.hasNext(); )
-        {
-            String ns = nsFromName((QName)i.next());
-            if (setFirst.contains(ns) && !setSecond.contains(ns))
-                i.remove();
-        }
-    }
-
-    /**
-     * Remove all xml names from qnameset whose namespace is in both
-     * sets of uris.
-     */
-    private static void removeAllMatchingBoth(Set setFirst, Set setSecond, Set qnameset)
-    {
-        for (Iterator i = qnameset.iterator(); i.hasNext(); )
-        {
-            String ns = nsFromName((QName)i.next());
-            if (setFirst.contains(ns) && setSecond.contains(ns))
-                i.remove();
-        }
-    }
-
-    /**
-     * Remove all xml names from qnameset whose namespace is in neither
-     * set of uris.
-     */
-    private static void removeAllMatchingNeither(Set setFirst, Set setSecond, Set qnameset)
-    {
-        for (Iterator i = qnameset.iterator(); i.hasNext(); )
-        {
-            String ns = nsFromName((QName)i.next());
-            if (!setFirst.contains(ns) && !setSecond.contains(ns))
-                i.remove();
-        }
-    }
-
-    /**
-     * True if this ModelTransitionSet contains the given qname.
-     */
-    public boolean contains(QName name)
-    {
-        boolean in = _includedURIs.contains(nsFromName(name)) ?
-                     !_excludedQNames.contains(name) :
-                      _includedQNames.contains(name);
-        return _inverted ^ in;
-    }
-
-    /**
-     * True if this ModelTransitionSet contains all QNames.
-     */
-    public boolean isAll()
-    {
-        return _inverted && _includedURIs.size() == 0 && _includedQNames.size() == 0;
-    }
-
-    /**
-     * True if this ModelTransitionSet contains no QNames.
-     */
-    public boolean isEmpty()
-    {
-        return !_inverted && _includedURIs.size() == 0 && _includedQNames.size() == 0;
-    }
-
-    /**
-     * Returns a new QNameSet that is the intersection of this one and another.
-     */
-    public QNameSet intersect(QNameSetSpecification set)
-    {
-        QNameSetBuilder result = new QNameSetBuilder(this);
-        result.restrict(set);
-        return result.toQNameSet();
-    }
-
-    /**
-     * Returns a new QNameSet that is the union of this one and another.
-     */
-    public QNameSet union(QNameSetSpecification set)
-    {
-        QNameSetBuilder result = new QNameSetBuilder(this);
-        result.addAll(set);
-        return result.toQNameSet();
-    }
-
-    /**
-     * Returns a new QNameSet that is the inverse of this one.
-     */
-    public QNameSet inverse()
-    {
-        return QNameSet.forSets(includedURIs(), excludedURIs(), includedQNamesInExcludedURIs(), excludedQNamesInIncludedURIs());
-    }
-
-    /**
-     * True if the parameter is a subset of this set.
-     */
-    public boolean containsAll(QNameSetSpecification set)
-    {
-        if (!_inverted && set.excludedURIs() != null)
-            return false;
-        
-        return inverse().isDisjoint(set);
-    }
-
-    /**
-     * True if the given set is disjoint from this one.
-     */
-    public boolean isDisjoint(QNameSetSpecification set)
-    {
-        if (_inverted && set.excludedURIs() != null)
-            return false;
-
-        if (_inverted)
-            return isDisjointImpl(set, this);
-        else
-            return isDisjointImpl(this, set);
-    }
-
-    private boolean isDisjointImpl(QNameSetSpecification set1, QNameSetSpecification set2)
-    {
-        Set includeURIs = set1.includedURIs();
-        Set otherIncludeURIs = set2.includedURIs();
-        if (otherIncludeURIs != null)
-        {
-            for (Iterator i = includeURIs.iterator(); i.hasNext(); )
-            {
-                if (otherIncludeURIs.contains(i.next()))
-                    return false;
-            }
-        }
-        else
-        {
-            Set otherExcludeURIs = set2.excludedURIs();
-            for (Iterator i = includeURIs.iterator(); i.hasNext(); )
-            {
-                if (!otherExcludeURIs.contains(i.next()))
-                    return false;
-            }
-        }
-
-        for (Iterator i = set1.includedQNamesInExcludedURIs().iterator(); i.hasNext(); )
-        {
-            if (set2.contains((QName)i.next()))
-                return false;
-        }
-
-        if (includeURIs.size() > 0)
-            for (Iterator i = set2.includedQNamesInExcludedURIs().iterator(); i.hasNext(); )
-        {
-            if (set1.contains((QName)i.next()))
-                return false;
-        }
-
-        return true;
-    }
-
-
-    /**
-     * Clears this QNameSetBuilder
-     */
-    public void clear()
-    {
-        _inverted = false;
-        _includedURIs.clear();
-        _excludedQNames.clear();
-        _includedQNames.clear();
-    }
-
-    /**
-     * Inverts this QNameSetBuilder.
-     */
-    public void invert()
-    {
-        _inverted = !_inverted;
-    }
-
-    /**
-     * Adds a single QName to this QNameSetBuilder.
-     */
-    public void add(QName qname)
-    {
-        if (!_inverted)
-            addImpl(qname);
-        else
-            removeImpl(qname);
-    }
-
-    /**
-     * Adds an entire namespace URI of QNames to this QNameSetBuilder.
-     * The empty string is used to signifiy the (local) no-namespace.
-     */
-    public void addNamespace(String uri)
-    {
-        if (!_inverted)
-            addNamespaceImpl(uri);
-        else
-            removeNamespaceImpl(uri);
-    }
-
-    /**
-     * Adds the contents of another QNameSet to this QNameSetBuilder.
-     */
-    public void addAll(QNameSetSpecification set)
-    {
-        if (_inverted)
-            removeAllImpl(set.includedURIs(), set.excludedURIs(), set.includedQNamesInExcludedURIs(), set.excludedQNamesInIncludedURIs());
-        else
-            addAllImpl(set.includedURIs(), set.excludedURIs(), set.includedQNamesInExcludedURIs(), set.excludedQNamesInIncludedURIs());
-    }
-
-    /**
-     * Removes the given qname from this QNameSetBuilder.
-     */
-    public void remove(QName qname)
-    {
-        if (_inverted)
-            addImpl(qname);
-        else
-            removeImpl(qname);
-    }
-
-    /**
-     * Removes an entire namespace URI from this QNameSetBuilder.
-     */
-    public void removeNamespace(String uri)
-    {
-        if (_inverted)
-            addNamespaceImpl(uri);
-        else
-            removeNamespaceImpl(uri);
-    }
-
-    /**
-     * Removes all contents of a given QNameSet from this QNameSetBuilder.
-     */
-    public void removeAll(QNameSetSpecification set)
-    {
-        if (_inverted)
-            addAllImpl(set.includedURIs(), set.excludedURIs(), set.includedQNamesInExcludedURIs(), set.excludedQNamesInIncludedURIs());
-        else
-            removeAllImpl(set.includedURIs(), set.excludedURIs(), set.includedQNamesInExcludedURIs(), set.excludedQNamesInIncludedURIs());
-    }
-
-    /**
-     * Restricts the contents of this QNameSetBuilder to be a subset of the
-     * given QNameSet. In other words, computes an intersection.
-     */
-    public void restrict(QNameSetSpecification set)
-    {
-        if (_inverted)
-            addAllImpl(set.excludedURIs(), set.includedURIs(), set.excludedQNamesInIncludedURIs(), set.includedQNamesInExcludedURIs());
-        else
-            removeAllImpl(set.excludedURIs(), set.includedURIs(), set.excludedQNamesInIncludedURIs(), set.includedQNamesInExcludedURIs());
-    }
-
-    /**
-     * Implementation of add(qname) that ignores inversion.
-     */
-    private void addImpl(QName qname)
-    {
-        if (_includedURIs.contains(nsFromName(qname)))
-            _excludedQNames.remove(qname);
-        else
-            _includedQNames.add(qname);
-    }
-
-    /**
-     * Implementation of add(ns) that ignores inversion.
-     */
-    private void addNamespaceImpl(String uri)
-    {
-        if (_includedURIs.contains(uri))
-        {
-            removeAllMatchingNs(uri, _excludedQNames);
-        }
-        else
-        {
-            removeAllMatchingNs(uri, _includedQNames);
-            _includedURIs.add(uri);
-        }
-    }
-
-    /**
-     * Implementation of add(set) that ignores inversion.
-     */
-    private void addAllImpl(Set includedURIs, Set excludedURIs, Set includedQNames, Set excludedQNames)
-    {
-        boolean exclude = (excludedURIs != null);
-        Set specialURIs = exclude ? excludedURIs : includedURIs;
-
-        for (Iterator i = _excludedQNames.iterator(); i.hasNext(); )
-        {
-            QName name = (QName)i.next();
-            String uri = nsFromName(name);
-            if ((exclude ^ specialURIs.contains(uri)) && !excludedQNames.contains(name))
-                i.remove();
-        }
-
-        for (Iterator i = excludedQNames.iterator(); i.hasNext(); )
-        {
-            QName name = (QName)i.next();
-            String uri = nsFromName(name);
-            if (!_includedURIs.contains(uri) && !_includedQNames.contains(name))
-                _excludedQNames.add(name);
-        }
-
-        for (Iterator i = includedQNames.iterator(); i.hasNext(); )
-        {
-            QName name = (QName)i.next();
-            String uri = nsFromName(name);
-            if (!_includedURIs.contains(uri))
-                _includedQNames.add(name);
-            else
-                _excludedQNames.remove(name);
-        }
-
-        if (!exclude)
-        {
-            removeAllMatchingFirstOnly(includedURIs, _includedURIs, _includedQNames);
-            _includedURIs.addAll(includedURIs);
-        }
-        else
-        {
-            removeAllMatchingNeither(excludedURIs, _includedURIs, _includedQNames);
-            for (Iterator i = _includedURIs.iterator(); i.hasNext(); )
-            {
-                String uri = (String)i.next();
-                if (!excludedURIs.contains(uri))
-                    i.remove();
-            }
-
-            for (Iterator i = excludedURIs.iterator(); i.hasNext(); )
-            {
-                String uri = (String)i.next();
-                if (!_includedURIs.contains(uri))
-                    _includedURIs.add(uri);
-                else
-                    _includedURIs.remove(uri);
-            }
-            Set temp = _excludedQNames;
-            _excludedQNames = _includedQNames;
-            _includedQNames = temp;
-            _inverted = !_inverted;
-        }
-    }
-
-    /**
-     * Implementation of remove(qname) that ignores inversion.
-     */
-    private void removeImpl(QName qname)
-    {
-        if (_includedURIs.contains(nsFromName(qname)))
-            _excludedQNames.add(qname);
-        else
-            _includedQNames.remove(qname);
-    }
-
-    /**
-     * Implementation of remove(ns) that ignores inversion.
-     */
-    private void removeNamespaceImpl(String uri)
-    {
-        if (_includedURIs.contains(uri))
-        {
-            removeAllMatchingNs(uri, _excludedQNames);
-            _includedURIs.remove(uri);
-        }
-        else
-        {
-            removeAllMatchingNs(uri, _includedQNames);
-        }
-    }
-
-    /**
-     * Implementation of remove(set) that ignores inversion.
-     */
-    private void removeAllImpl(Set includedURIs, Set excludedURIs, Set includedQNames, Set excludedQNames)
-    {
-        boolean exclude = (excludedURIs != null);
-        Set specialURIs = exclude ? excludedURIs : includedURIs;
-
-        for (Iterator i = _includedQNames.iterator(); i.hasNext(); )
-        {
-            QName name = (QName)i.next();
-            String uri = nsFromName(name);
-            if (exclude ^ specialURIs.contains(uri))
-            {
-                if (!excludedQNames.contains(name))
-                    i.remove();
-            }
-            else
-            {
-                if (includedQNames.contains(name))
-                    i.remove();
-            }
-        }
-
-        for (Iterator i = includedQNames.iterator(); i.hasNext(); )
-        {
-            QName name = (QName)i.next();
-            String uri = nsFromName(name);
-            if (_includedURIs.contains(uri))
-                _excludedQNames.add(name);
-        }
-
-        for (Iterator i = excludedQNames.iterator(); i.hasNext(); )
-        {
-            QName name = (QName)i.next();
-            String uri = nsFromName(name);
-            if (_includedURIs.contains(uri) && !_excludedQNames.contains(name))
-                _includedQNames.add(name);
-        }
-
-        if (exclude)
-        {
-            removeAllMatchingFirstOnly(_includedURIs, excludedURIs, _excludedQNames);
-        }
-        else
-        {
-            removeAllMatchingBoth(_includedURIs, includedURIs, _excludedQNames);
-        }
-
-        for (Iterator i = _includedURIs.iterator(); i.hasNext(); )
-        {
-            if (exclude ^ specialURIs.contains(i.next()))
-                i.remove();
-        }
-    }
-
-    public Set excludedURIs()
-    {
-        if (_inverted) return Collections.unmodifiableSet(_includedURIs);
-        return null;
-    }
-
-    public Set includedURIs()
-    {
-        if (!_inverted) return _includedURIs;
-        return null;
-    }
-
-    public Set excludedQNamesInIncludedURIs()
-    {
-        return Collections.unmodifiableSet(_inverted ? _includedQNames : _excludedQNames);
-    }
-
-    public Set includedQNamesInExcludedURIs()
-    {
-        return Collections.unmodifiableSet(_inverted ? _excludedQNames : _includedQNames);
-    }
-
-    private String prettyQName(QName name)
-    {
-        if (name.getNamespaceURI() == null)
-            return name.getLocalPart();
-        return name.getLocalPart() + "@" + name.getNamespaceURI();
-    }
-
-    /**
-     * Returns a string representation useful for debugging, subject to change.
-     */ 
-    public String toString()
-    {
-        StringBuffer sb = new StringBuffer();
-        sb.append("QNameSetBuilder");
-        sb.append(_inverted ? "-(" : "+(");
-        for (Iterator i = _includedURIs.iterator(); i.hasNext(); )
-        {
-            sb.append("+*@");
-            sb.append(i.next());
-            sb.append(", ");
-        }
-        for (Iterator i = _excludedQNames.iterator(); i.hasNext(); )
-        {
-            sb.append("-");
-            sb.append(prettyQName((QName)i.next()));
-            sb.append(", ");
-        }
-        for (Iterator i = _includedQNames.iterator(); i.hasNext(); )
-        {
-            sb.append("+");
-            sb.append(prettyQName((QName)i.next()));
-            sb.append(", ");
-        }
-        int index = sb.lastIndexOf(", ");
-        if (index > 0)
-            sb.setLength(index);
-        sb.append(')');
-        return sb.toString();
-    }
-    
-    /**
-     * Returns a {@link QNameSet} equivalent to the current state of this
-     * QNameSetBuilder.
-     */ 
-    public QNameSet toQNameSet()
-    {
-        return QNameSet.forSpecification(this);
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/QNameSetSpecification.java b/v1/src/xmlpublic/org/apache/xmlbeans/QNameSetSpecification.java
deleted file mode 100644
index ec93ffb..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/QNameSetSpecification.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-import java.util.Set;
-
-/**
- * Represents a lattice of finite and infinite sets of QNames.
- * 
- * @see QNameSet
- */
-public interface QNameSetSpecification
-{
-    /**
-     * True if the set contains the given QName.
-     *
-     * Roughly equivalent to:
-     *    (includedURIs() == null ?
-     *           excludedURIs().contains(namespace) :
-     *           includedURIs().contains(namespace)
-     *    ) ?
-     *        !excludedQNamesInIncludedURIs().contains(name) :
-     *         includedQNamesInExcludedURIs().contains(name)
-     */
-    boolean contains(QName name);
-
-    /**
-     * True if the set is the set of all QNames.
-     */
-    boolean isAll();
-
-    /**
-     * True if the set is empty.
-     */
-    boolean isEmpty();
-
-    /**
-     * True if the parameter is a subset of this set.
-     */ 
-    boolean containsAll(QNameSetSpecification set);
-    
-    /**
-     * True if is disjoint from the specified set.
-     */
-    boolean isDisjoint(QNameSetSpecification set);
-
-    /**
-     * Returns the intersection with another QNameSet.
-     */
-    QNameSet intersect(QNameSetSpecification set);
-
-    /**
-     * Returns the union with another QNameSet.
-     */
-    QNameSet union(QNameSetSpecification set);
-
-    /**
-     * Return the inverse of this QNameSet. That is the QNameSet which
-     * contains all the QNames not contained in this set. In other words
-     * for which set.contains(name) != set.inverse().contains(name) for
-     * all names.
-     */
-    QNameSet inverse();
-
-    /**
-     * The finite set of namespace URIs that are almost completely excluded from
-     * the set (that is, each namespace URI that included in the set with with
-     * a finite number of QName exceptions). Null if the set of namespaceURIs
-     * that are almost completely included is infinite.
-     * <p>
-     * Null (meaning almost all URIs excluded) if includedURIs() is non-null;
-     * non-null otherwise.
-     * <p>
-     * The same set as inverse().includedURIs().
-     */
-    Set excludedURIs();
-
-    /**
-     * The finite set of namespace URIs that are almost completely included in
-     * the set (that is, each namespace URI that included in the set with with
-     * a finite number of QName exceptions). Null if the set of namespaceURIs
-     * that are almost completely included is infinite.
-     * <p>
-     * Null (meaning almost all URIs included) if excludedURIs() is non-null;
-     * non-null otherwise.
-     * <p>
-     * The same as inverse.excludedURIs().
-     */
-    Set includedURIs();
-
-    /**
-     * The finite set of QNames that are excluded from the set within namespaces
-     * that are otherwise included. Should only contain QNames within namespace
-     * that are within the set includedURIs() (or any URI, if includedURIs()
-     * is null, which means that all URIs are almost completely included).
-     * <p>
-     * Never null.
-     * <p>
-     * The same set as inverse().includedQNames().
-     */
-    Set excludedQNamesInIncludedURIs();
-
-    /**
-     * The finite set of QNames that are included in the set within namespaces
-     * that are otherwise excluded. Should only contain QNames within namespace
-     * that are within the set excludedURIs() (or any URI, if excludedURIs()
-     * is null, which means that all URIs are almost completely excluded).
-     * <p>
-     * Never null.
-     * <p>
-     * The same as inverse().excludedQNames().
-     */
-    Set includedQNamesInExcludedURIs();
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaAttributeGroup.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaAttributeGroup.java
deleted file mode 100644
index e51100e..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaAttributeGroup.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-/**
- * Represents an attribute group.
- * <p>
- * An attribute group is a syntactic construct, not a part
- * of the logical model. For example, types declared within an
- * attribute group become local to the type that uses the group -
- * they're not local to the attribute group itself. Therefore
- * in the logical model of a schema type system, an attribute
- * group doesn't represent anything. Its contents are merged
- * into the logical model at parse time.
- * 
- * @see SchemaTypeLoader#findAttributeGroup
- */
-public interface SchemaAttributeGroup extends SchemaComponent
-{
-    /**
-     * Returns SchemaComponent.ATTRIBUTE_GROUP.
-     */
-    int getComponentType();
-
-    /**
-     * The name of the model group.
-     */
-    QName getName();
-
-    /**
-     * Used to allow on-demand loading of attribute groups.
-     * 
-     * @exclude
-     */
-    public final static class Ref extends SchemaComponent.Ref
-    {
-        public Ref(SchemaAttributeGroup attributeGroup)
-            { super(attributeGroup); }
-
-        public Ref(SchemaTypeSystem system, String handle)
-            { super(system, handle); }
-
-        public final int getComponentType()
-            { return SchemaComponent.ATTRIBUTE_GROUP; }
-
-        public final SchemaAttributeGroup get()
-            { return (SchemaAttributeGroup)getComponent(); }
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaAttributeModel.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaAttributeModel.java
deleted file mode 100644
index 3f6332d..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaAttributeModel.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-/**
- * Represents the attribute structure allowed on a complex type.
- * 
- * @see SchemaType#getAttributeModel
- */ 
-public interface SchemaAttributeModel
-{
-    /**
-     * Returns an array containing all the attributes in the model.
-     */
-    SchemaLocalAttribute[] getAttributes();
-
-    /**
-     * Returns the attribute with the given name.
-     */
-    SchemaLocalAttribute getAttribute(QName name);
-
-    /**
-     * QNameSet representing the attribute wildcard specification.
-     */
-    QNameSet getWildcardSet();
-
-    /**
-     * Returns the processing code ({@link #STRICT}, {@link #LAX}, {@link #SKIP}).
-     * Returns 0 ({@link #NONE}) if no wildcard specified.
-     */
-    int getWildcardProcess();
-
-    /** See {@link #getWildcardProcess} */
-    static final int NONE = 0;
-    /** Strict wildcard processing. See {@link #getWildcardProcess} */
-    static final int STRICT = 1;
-    /** Lax wildcard processing. See {@link #getWildcardProcess} */
-    static final int LAX = 2;
-    /** Skip wildcard processing. See {@link #getWildcardProcess} */
-    static final int SKIP = 3;
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaComponent.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaComponent.java
deleted file mode 100644
index c0dda3a..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaComponent.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-/**
- * Represents a global Schema Component.  That is, a type, element, attribute,
- * model group, attribute group, or identity constraint.
- * <p>
- * Note that not all types, elements, and attributes are global; local
- * types, element, and attributes do not appear in the global lookup table.
- * Also note that other information items such as particles, facets, and
- * so on are not globally indexed, so are not SchemaComponents.
- * 
- * @see SchemaType
- * @see SchemaGlobalElement
- * @see SchemaGlobalAttribute
- * @see SchemaAttributeGroup
- * @see SchemaModelGroup
- * @see SchemaIdentityConstraint
- */
-public interface SchemaComponent
-{
-    /** A type definition.  See {@link #getComponentType} */
-    static final int TYPE = 0;
-    /** An element definition.  See {@link #getComponentType} */
-    static final int ELEMENT = 1;
-    /** An attribute definition.  See {@link #getComponentType} */
-    static final int ATTRIBUTE = 3;
-    /** An attribute group definition.  See {@link #getComponentType} */
-    static final int ATTRIBUTE_GROUP = 4;
-    /** An identity constraint definition.  See {@link #getComponentType} */
-    static final int IDENTITY_CONSTRAINT = 5;
-    /** A model group definition.  See {@link #getComponentType} */
-    static final int MODEL_GROUP = 6;
-    /** A notation definition.  See {@link #getComponentType} */
-    static final int NOTATION = 7;
-
-    /**
-     * Returns the type code for the schema object, either {@link #TYPE},
-     * {@link #ELEMENT}, {@link #ATTRIBUTE}, {@link #ATTRIBUTE_GROUP},
-     * {@link #MODEL_GROUP}, {@link #IDENTITY_CONSTRAINT}, or {@link #NOTATION}.
-     */
-    int getComponentType();
-
-    /**
-     * Returns the typesystem within which this component definition resides
-     */
-    SchemaTypeSystem getTypeSystem();
-
-    /**
-     * The name of the schema component
-     */
-    QName getName();
-
-    /**
-     * A lazy reference to a component. Used by SchemaTypeLoaders to
-     * avoid loading components until they are actually needed.
-     * 
-     * @exclude
-     */
-    public static abstract class Ref
-    {
-        protected Ref(SchemaComponent schemaComponent)
-            { _schemaComponent = schemaComponent; }
-
-        protected Ref(SchemaTypeSystem schemaTypeSystem, String handle)
-            { assert(handle != null); _schemaTypeSystem = schemaTypeSystem; _handle = handle; }
-
-        private SchemaComponent _schemaComponent;
-        private SchemaTypeSystem _schemaTypeSystem;
-        public String _handle;
-
-        public abstract int getComponentType();
-
-        public final SchemaTypeSystem getTypeSystem()
-            { return _schemaTypeSystem; }
-
-        public final SchemaComponent getComponent()
-        {
-            if (_schemaComponent == null && _handle != null)
-                _schemaComponent = _schemaTypeSystem.resolveHandle(_handle);
-
-            return _schemaComponent;
-        }
-    }
-    
-    /**
-     * Used for on-demand loading of schema components.
-     */ 
-    public Ref getComponentRef();
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaField.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaField.java
deleted file mode 100644
index 33f852c..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaField.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-import java.math.BigInteger;
-
-/**
- * Represents an element or an attribute declaration.
- * 
- * @see SchemaType#getContainerField
- * @see SchemaLocalElement
- * @see SchemaLocalAttribute
- */ 
-public interface SchemaField
-{
-    /**
-     * Returns the form-unqualified-or-qualified name.
-     */
-    QName getName();
-
-    /**
-     * True if this use is an attribute
-     */
-    boolean isAttribute();
-
-    /**
-     * True if nillable; always false for attributes.
-     */
-    boolean isNillable();
-
-    /**
-     * Returns the type of this use.
-     */
-    SchemaType getType();
-
-    /**
-     * Returns the minOccurs value for this particle.
-     * If it is not specified explicitly, this defaults to BigInteger.ONE.
-     */
-    BigInteger getMinOccurs();
-
-    /**
-     * Returns the maxOccurs value for this particle, or null if it
-     * is unbounded.
-     * If it is not specified explicitly, this defaults to BigInteger.ONE.
-     */
-    BigInteger getMaxOccurs();
-
-    /**
-     * The default value as plain text. See {@link #isDefault} and {@link #isFixed}.
-     */
-    String getDefaultText();
-    
-    /**
-     * The default value as a strongly-typed value.  See {@link #isDefault} and {@link #isFixed}.
-     */
-    XmlAnySimpleType getDefaultValue();
-
-    /**
-     * True if a default is supplied. If {@link #isFixed}, then isDefault is always true.
-     */
-    boolean isDefault();
-
-    /**
-     * True if the value is fixed.
-     */
-    boolean isFixed();
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaGlobalAttribute.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaGlobalAttribute.java
deleted file mode 100644
index 195680f..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaGlobalAttribute.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Represents a global attribute definition
- * 
- * @see SchemaTypeLoader#findAttribute
- */ 
-public interface SchemaGlobalAttribute extends SchemaLocalAttribute, SchemaComponent
-{
-    /**
-     * The name of the source .xsd file within which this attribute was defined
-     */ 
-    String getSourceName();
-
-    /**
-     * Used to allow on-demand loading of elements.
-     * 
-     * @exclude
-     */
-    public final static class Ref extends SchemaComponent.Ref
-    {
-        public Ref(SchemaGlobalAttribute element)
-            { super(element); }
-
-        public Ref(SchemaTypeSystem system, String handle)
-            { super(system, handle); }
-
-        public final int getComponentType()
-            { return SchemaComponent.ATTRIBUTE; }
-
-        public final SchemaGlobalAttribute get()
-            { return (SchemaGlobalAttribute)getComponent(); }
-    }
-
-    /**
-     * Retruns a SchemaGlobalElement.Ref pointing to this element itself.
-     */
-    public Ref getRef();
-
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaGlobalElement.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaGlobalElement.java
deleted file mode 100644
index 976b345..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaGlobalElement.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-/**
- * Represents a global element definition.
- * 
- * @see SchemaTypeLoader#findElement
- */
-public interface SchemaGlobalElement extends SchemaLocalElement, SchemaComponent
-{
-    /**
-     * The name of the source .xsd file within which this attribute was defined
-     */ 
-    String getSourceName();
-
-    /**
-     * Set of QNames for elements that are the members of the
-     * substitution group for which this element is the head,
-     * not including this element.
-     */
-    QName[] substitutionGroupMembers();
-
-    /**
-     * The element that is the head of this element's substitution
-     * group, or <code>null</code> if this element is not a member
-     * of a substitution group.
-     */
-    SchemaGlobalElement substitutionGroup();
-
-    /**
-     * True if using this element as the head of a substitution
-     * group for a substitution via type extension is prohibited.
-     * If both finalExtension and finalRestriction are true, this
-     * element cannot be head of a substitution group.
-     * Sensible only for global elements.
-     */
-    public boolean finalExtension();
-
-    /**
-     * True if using this element as the head of a substitution
-     * group for a substitution via type restriction is prohibited.
-     * If both finalExtension and finalRestriction are true, this
-     * element cannot be head of a substitution group.
-     * Sensible only for global elements.
-     */
-    public boolean finalRestriction();
-
-    /**
-     * Used to allow on-demand loading of elements.
-     * 
-     * @exclude
-     */
-    public final static class Ref extends SchemaComponent.Ref
-    {
-        public Ref(SchemaGlobalElement element)
-            { super(element); }
-
-        public Ref(SchemaTypeSystem system, String handle)
-            { super(system, handle); }
-
-        public final int getComponentType()
-            { return SchemaComponent.ELEMENT; }
-
-        public final SchemaGlobalElement get()
-            { return (SchemaGlobalElement)getComponent(); }
-    }
-
-    /**
-     * Retruns a SchemaGlobalElement.Ref pointing to this element itself.
-     */
-    public Ref getRef();
-
-
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaIdentityConstraint.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaIdentityConstraint.java
deleted file mode 100644
index 9c3d046..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaIdentityConstraint.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-import java.util.Map;
-
-/**
- * Represents an identity constraint definition.
- */ 
-public interface SchemaIdentityConstraint extends SchemaComponent
-{
-    /**
-     * Return the selector xpath as a string.
-     */
-    String getSelector();
-
-    /**
-     * Return a compiled xpath object for the selector.
-     */
-    Object getSelectorPath();
-
-    /**
-     * Return (a copy of) the xpaths for all the fields.
-     */
-    String[] getFields();
-
-    /**
-     * Return a compiled xpath object for the field.
-     */
-    Object getFieldPath(int index);
-
-    /**
-     * Return a read-only copy of the namespace map. This is the 
-     * set of prefix to URI mappings that were in scope in the
-     * schema at the point at which this constraint was declared
-     */
-    Map getNSMap();
-
-    /** A <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-key">xs:key</a> constraint.  See {@link #getConstraintCategory}. */
-    public static final int CC_KEY = 1;
-    /** A <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-key">xs:keyRef</a> constraint.  See {@link #getConstraintCategory}. */
-    public static final int CC_KEYREF = 2;
-    /** A <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-key">xs:unique</a> constraint.  See {@link #getConstraintCategory}. */
-    public static final int CC_UNIQUE = 3;
-
-    /**
-     * Return the constraint category. Either {@link #CC_KEY}, {@link #CC_KEYREF},
-     * or {@link #CC_UNIQUE}.
-     */
-    int getConstraintCategory();
-
-    /**
-     * Returns the key that a key ref refers to. Only valid for
-     * keyrefs.
-     */
-    SchemaIdentityConstraint getReferencedKey();
-
-    /**
-     * Used to allow on-demand loading of identity constraints.
-     * 
-     * @exclude
-     */
-    public static final class Ref extends SchemaComponent.Ref
-    {
-        public Ref(SchemaIdentityConstraint idc)
-            { super(idc); }
-
-        public Ref(SchemaTypeSystem system, String handle)
-            { super(system, handle); }
-
-        public final int getComponentType()
-            { return SchemaComponent.IDENTITY_CONSTRAINT; }
-
-        public final SchemaIdentityConstraint get()
-            { return (SchemaIdentityConstraint)getComponent(); }
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaLocalAttribute.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaLocalAttribute.java
deleted file mode 100644
index f1a2908..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaLocalAttribute.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Represents a local or global attribute definition.
- */ 
-public interface SchemaLocalAttribute extends SchemaField
-{
-    /**
-     * Returns {@link #PROHIBITED}, {@link #OPTIONAL}, or {@link #REQUIRED}.
-     * (Actually, never returns PROHIBITED because the schema specificaion
-     * states that a prohibited attribute is equivalent to no attribute
-     * at all, so a prohibited attribute will never be present in the compiled
-     * model.)
-     */
-    int getUse();
-
-    /** A prohibited attribute.  See {@link #getUse}. */
-    static final int PROHIBITED = 1;
-    /** An optional attribute.  See {@link #getUse}. */
-    static final int OPTIONAL = 2;
-    /** A required attribute.  See {@link #getUse}. */
-    static final int REQUIRED = 3;
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaLocalElement.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaLocalElement.java
deleted file mode 100644
index 64068dc..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaLocalElement.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Represents a local or global element definition.
- */ 
-public interface SchemaLocalElement extends SchemaField
-{
-    /**
-     * True if extension is blocked.
-     */
-    boolean blockExtension();
-    /**
-     * True if restriction is blocked.
-     */
-    boolean blockRestriction();
-    /**
-     * True if element substitution is blocked.
-     */
-    boolean blockSubstitution();
-
-    /**
-     * True if this element is prohibited in content. Only
-     * sensible if this is the head of a substitution group;
-     * then only substitution group members can appear.<P>
-     * 
-     * Although local elements cannot be abstract, if an element 
-     * use is a ref to a global element, then the flag from the 
-     * global element is copied in to the local element where the 
-     * use occurs.
-     */
-    boolean isAbstract();
-
-    /**
-     * Returns all the Key, KeyRef, and Unique constraints
-     * on this element.
-     */
-    SchemaIdentityConstraint[] getIdentityConstraints();
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaModelGroup.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaModelGroup.java
deleted file mode 100644
index d7d2d75..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaModelGroup.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-/**
- * Represents a model group.
- * <p>
- * A model group is a syntactic construct, not a part of
- * the logical model. For example, types declared within a
- * model group become local to the type that uses the group -
- * they're not local to the model group itself. Therefore in
- * the logical model of a schema type system, a model group
- * doesn't represent anything. Its contents are merged into
- * the logical model at parse time.
- */
-public interface SchemaModelGroup extends SchemaComponent
-{
-    /**
-     * Returns SchemaComponent.GROUP.
-     */
-    int getComponentType();
-
-    /**
-     * The name of the model group.
-     */
-    QName getName();
-
-    /**
-     * Used to allow on-demand loading of model groups.
-     * 
-     * @exclude
-     */
-    public final static class Ref extends SchemaComponent.Ref
-    {
-        public Ref(SchemaModelGroup modelGroup)
-            { super(modelGroup); }
-
-        public Ref(SchemaTypeSystem system, String handle)
-            { super(system, handle); }
-
-        public final int getComponentType()
-            { return SchemaComponent.MODEL_GROUP; }
-
-        public final SchemaModelGroup get()
-            { return (SchemaModelGroup)getComponent(); }
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaParticle.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaParticle.java
deleted file mode 100644
index 12a85a0..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaParticle.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.math.BigInteger;
-
-import javax.xml.namespace.QName;
-
-/**
- * Represents a Schema particle definition.
- * <p>
- * The content model of a complex type is a tree of particles.  Each
- * particle is either an {@link #ALL}, {@link #CHOICE}, {@link #SEQUENCE},
- * {@link #ELEMENT}, or {@link #WILDCARD}.
- * All, choice and sequence particles are groups that can have child
- * particles; elements and wildcards are always leaves of the particle tree.
- * <p>
- * The tree of particles available on a schema type is minimized, that
- * is, it already has removed "pointless" particles such as empty
- * sequences, nonrepeating sequences with only one item, and so on.
- * (<a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#cos-particle-restrict">Pointless particles</a>
- * are defined precisely in the XML Schema specification.)
- * 
- * @see SchemaType#getContentModel
- */
-public interface SchemaParticle
-{
-    /**
-     * Returns the particle type ({@link #ALL}, {@link #CHOICE},
-     * {@link #SEQUENCE}, {@link #ELEMENT}, or {@link #WILDCARD}). 
-     */ 
-    int getParticleType();
-    
-    /**
-     * An <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-contentModel">xs:all</a> group.
-     * See {@link #getParticleType}.
-     */ 
-    static final int ALL = 1;
-    /**
-     * A <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-contentModel">xs:choice</a> group.
-     * See {@link #getParticleType}.
-     */ 
-    static final int CHOICE = 2;
-    /**
-     * A <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-contentModel">xs:sequence</a> group.
-     * See {@link #getParticleType}.
-     */ 
-    static final int SEQUENCE = 3;
-    /**
-     * An <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-element">xs:element</a> particle.
-     * This code means the particle can be coerced to {@link SchemaLocalElement}.
-     * See {@link #getParticleType}.
-     */ 
-    static final int ELEMENT = 4;
-    /**
-     * An <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-openness">xs:any</a> particle,
-     * also known as an element wildcard.
-     * See {@link #getParticleType}.
-     */ 
-    static final int WILDCARD = 5;
-
-    /**
-     * Returns the minOccurs value for this particle.
-     * If it's not specified explicitly, this returns BigInteger.ONE.
-     */
-    BigInteger getMinOccurs();
-
-    /**
-     * Returns the maxOccurs value for this particle, or null if it
-     * is unbounded.
-     * If it's not specified explicitly, this returns BigInteger.ONE.
-     */
-    BigInteger getMaxOccurs();
-
-    /**
-     * Returns the minOccurs value, pegged to a 32-bit int for
-     * convenience of a validating state machine that doesn't count
-     * higher than MAX_INT anyway.
-     */
-    public int getIntMinOccurs();
-
-    /**
-     * Returns the maxOccurs value, pegged to a 32-bit int for
-     * convenience of a validating state machine that doesn't count
-     * higher than MAX_INT anyway. Unbounded is given as MAX_INT.
-     */
-    public int getIntMaxOccurs();
-
-
-    /**
-     * One if minOccurs == maxOccurs == 1.
-     */
-    boolean isSingleton();
-
-    /**
-     * Applies to sequence, choice, and all particles only: returns an array
-     * of all the particle children in order.
-     */
-    SchemaParticle[] getParticleChildren();
-
-    /**
-     * Another way to access the particle children.
-     */
-    SchemaParticle getParticleChild(int i);
-
-    /**
-     * The number of children.
-     */
-    int countOfParticleChild();
-
-    /**
-     * True if this particle can start with the given element
-     * (taking into account the structure of all child particles
-     * of course).
-     */
-    boolean canStartWithElement(QName name);
-
-    /**
-     * Returns the QNameSet of element names that can be
-     * accepted at the beginning of this particle.
-     */
-    QNameSet acceptedStartNames();
-
-    /**
-     * True if this particle can be skipped (taking into account
-     * both the minOcurs as well as the structure of all the
-     * child particles)
-     */
-    boolean isSkippable();
-
-    /**
-     * For wildcards, returns a QNameSet representing the wildcard.
-     */
-    QNameSet getWildcardSet();
-
-    /**
-     * For wildcards, returns the processing code ({@link #STRICT}, {@link #LAX}, {@link #SKIP}).
-     */
-    int getWildcardProcess();
-
-    /** <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#Wildcard_details">Strict wildcard</a> processing. See {@link #getWildcardProcess} */
-    static final int STRICT = 1;
-    /** <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#Wildcard_details">Lax wildcard</a> processing. See {@link #getWildcardProcess} */
-    static final int LAX = 2;
-    /** <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#Wildcard_details">Skip wildcard</a> processing. See {@link #getWildcardProcess} */
-    static final int SKIP = 3;
-
-    /**
-     * For elements only: the QName for the element use.
-     * May be unqualified version of referenced element's name.
-     */
-    QName getName();
-    
-    /**
-     * For elements only: returns the type of the element.
-     */
-    SchemaType getType();
-
-    /**
-     * For elements only: true if nillable.
-     */
-    boolean isNillable();
-
-    /**
-     * For elements only: returns the default (or fixed) text value
-     */
-    String getDefaultText();
-    
-    /**
-     * For elements only: returns the default (or fixed) strongly-typed value
-     */
-    XmlAnySimpleType getDefaultValue();
-
-    /**
-     * For elements only: True if has default. If isFixed, then isDefault is always true.
-     */
-    boolean isDefault();
-
-    /**
-     * For elements only: true if is fixed value.
-     */
-    boolean isFixed();
-    
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaProperty.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaProperty.java
deleted file mode 100644
index 14caeef..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaProperty.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.math.BigInteger;
-
-import javax.xml.namespace.QName;
-
-/**
- * Represents a summary of similar SchemaFields in a complex type.
- * <p>
- * In a schema type, every element with the same name must have the
- * same type.  Therefore, all together, elements with the same name
- * form a coherent collection of similar elements.  Similarly, attributes
- * can only be defined once, so each attribute obviously is a coherent
- * group on its own.
- * <p>
- * A SchemaProperty represents a summary of the the elements with a
- * given name or the attribute with a given name.  It represents the
- * summary cardinality of the fields, the summary default and fixed
- * values, and so on.  When inferring information about an element
- * or attribute, it is typically easier to consult then SchemaProperty
- * than to hunt for the exact SchemaField in the particle tree or
- * attribute model.
- * 
- * @see SchemaType#getProperties
- * @see SchemaType#getAttributeProperties
- * @see SchemaType#getElementProperties
- * @see SchemaType#getAttributeProperty
- * @see SchemaType#getElementProperty
- */
-public interface SchemaProperty
-{
-    /**
-     * The type within which this property appears
-     */ 
-    SchemaType getContainerType();
-    
-    /**
-     * The name of this element or attribute
-     */ 
-    QName getName();
-
-    /**
-     * For element properties the set of names that are accepted for this property
-     * if this element is the head of a substitution group. This will always
-     * have at least one element, ie, the property's name.
-     */
-    QName[] acceptedNames();
-    
-    /**
-     * The Java name for this property.  For example, if the method to
-     * access this property is called getFirstName, then this method
-     * returns the string "FirstName".  May be null if the schema type
-     * has not been compiled to Java.
-     */ 
-    String getJavaPropertyName();
-    
-    /**
-     * True for read-only properties.
-     */ 
-    boolean isReadOnly();
-
-    /**
-     * True for attributes.
-     */ 
-    boolean isAttribute();
-
-    /**
-     * The schema type for the property.
-     */ 
-    SchemaType getType();
-
-    // note that in the inheritance hierarchy, if the array getter shows up first,
-    // then the singelton getter is never allowed to show up.
-
-    /**
-     * The schema type returned from the Java getter for this property.
-     * Applies only to types that have been code generated to Java; may
-     * be a base type of getType().
-     */ 
-    public SchemaType javaBasedOnType(); // Java property type based on this base type
-    
-    /**
-     * True if there is a Java getter that returns a singleton.
-     */ 
-    boolean extendsJavaSingleton(); // has singleton getter
-    
-    /**
-     * True if there is an Java isSet method that tests for presence.
-     */ 
-    boolean extendsJavaOption();    // has isSet tester
-    
-    /**
-     * True if there is a Java getter that returns an array.
-     */ 
-    boolean extendsJavaArray();     // has array getter (called -Array, if singleton is present)
-    
-    /**
-     * Returns the natural Java type for this property.  Returns either
-     * XML_OBJECT (for complex types) or one of the JAVA_* constants described
-     * in this interface.
-     */ 
-    int getJavaTypeCode();
-    
-    /**
-     * Returns the set of element names which should appear strictly after all
-     * occurences of the elements described by this property. For element properties only.
-     */ 
-    QNameSet getJavaSetterDelimiter();
-
-    /**
-     * Returns a summarized minimum occurrance number.
-     * For example, a sequence containing a nonoptional singleton element repeated twice will
-     * result in a property getMinOccurs() of 2.
-     */ 
-    BigInteger getMinOccurs();
-    
-    /**
-     * Returns a summarized minimum occurrance number.
-     * For example, a sequence containing a nonoptional singleton element repeated twice will
-     * result in a property getMaxOccurs() of 2.
-     */ 
-    BigInteger getMaxOccurs();
-
-    /**
-     * Returns {@link #NEVER}, {@link #VARIABLE}, or {@link #CONSISTENTLY} nillable, depending on the
-     * nillability of the elements in this property. 
-     */
-    int hasNillable();
-
-    /**
-     * Returns {@link #NEVER}, {@link #VARIABLE}, or {@link #CONSISTENTLY} defaulted, depending on the
-     * defaults present in the elements in this property. 
-     */
-    int hasDefault();
-
-    /**
-     * Returns {@link #NEVER}, {@link #VARIABLE}, or {@link #CONSISTENTLY} fixed, depending on the
-     * fixed constraints present in the elements in this property. 
-     */
-    int hasFixed();
-
-    /** Applies to no elements for this property.  See {@link #hasNillable}, {@link #hasDefault}, {@link #hasFixed} */
-    static final int NEVER = 0;
-    /** Applies to some, but not other elements for this property.  See {@link #hasNillable}, {@link #hasDefault}, {@link #hasFixed} */
-    static final int VARIABLE = 1;
-    /** Applies to all elements for this property.  See {@link #hasNillable}, {@link #hasDefault}, {@link #hasFixed} */
-    static final int CONSISTENTLY = 2;
-
-    /** An XML Bean type that inherits from {@link XmlObject}. See {@link #getJavaTypeCode}. */
-    static final int XML_OBJECT = 0;
-
-    /** Java primitive type codes (for non-nullable Java types) are between JAVA_FIRST_PRIMITIVE and JAVA_LAST_PRIMITIVE, inclusive. */
-    static final int JAVA_FIRST_PRIMITIVE = 1;
-
-    /** A Java boolean. See {@link #getJavaTypeCode}. */
-    static final int JAVA_BOOLEAN = 1;
-    /** A Java float. See {@link #getJavaTypeCode}. */
-    static final int JAVA_FLOAT = 2;
-    /** A Java double. See {@link #getJavaTypeCode}. */
-    static final int JAVA_DOUBLE = 3;
-    /** A Java byte. See {@link #getJavaTypeCode}. */
-    static final int JAVA_BYTE = 4;
-    /** A Java short. See {@link #getJavaTypeCode}. */
-    static final int JAVA_SHORT = 5;
-    /** A Java int. See {@link #getJavaTypeCode}. */
-    static final int JAVA_INT = 6;
-    /** A Java long. See {@link #getJavaTypeCode}. */
-    static final int JAVA_LONG = 7;
-
-    /** Java primitive type codes (for non-nullable Java types) are between JAVA_FIRST_PRIMITIVE and JAVA_LAST_PRIMITIVE, inclusive. */
-    static final int JAVA_LAST_PRIMITIVE = 7;
-
-    /** A {@link java.math.BigDecimal}. See {@link #getJavaTypeCode}. */
-    static final int JAVA_BIG_DECIMAL = 8;
-    /** A {@link java.math.BigInteger}. See {@link #getJavaTypeCode}. */
-    static final int JAVA_BIG_INTEGER = 9;
-    /** A {@link String}. See {@link #getJavaTypeCode}. */
-    static final int JAVA_STRING = 10;
-    /** A byte[]. See {@link #getJavaTypeCode}. */
-    static final int JAVA_BYTE_ARRAY = 11;
-    /** A {@link GDate}. See {@link #getJavaTypeCode}. */
-    static final int JAVA_GDATE = 12;
-    /** A {@link GDuration}. See {@link #getJavaTypeCode}. */
-    static final int JAVA_GDURATION = 13;
-    /** A {@link java.util.Date}. See {@link #getJavaTypeCode}. */
-    static final int JAVA_DATE = 14;
-    /** A {@link javax.xml.namespace.QName}. See {@link #getJavaTypeCode}. */
-    static final int JAVA_QNAME = 15;
-    /** A {@link java.util.List}. See {@link #getJavaTypeCode}. */
-    static final int JAVA_LIST = 16;
-    /** A {@link java.util.Calendar}. See {@link #getJavaTypeCode}. */
-    static final int JAVA_CALENDAR = 17;
-
-    /** A generated {@link StringEnumAbstractBase} subclass. See {@link #getJavaTypeCode}. */
-    static final int JAVA_ENUM = 18;
-    /** A {@link java.lang.Object}, used for some simple type unions. See {@link #getJavaTypeCode}. */
-    static final int JAVA_OBJECT = 19; // for some unions
-
-    /**
-     * Returns the default or fixed value,
-     * if it is consistent. If it is not consistent,
-     * then returns null.
-     * See {@link #hasDefault} and {@link #hasFixed}.
-     */
-    String getDefaultText();
-    
-    /**
-     * Returns the default or fixed value as a strongly-typed value,
-     * if it is consistent. If it is not consistent,
-     * then returns null.
-     * See {@link #hasDefault} and {@link #hasFixed}.
-     */
-    XmlAnySimpleType getDefaultValue();
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaStringEnumEntry.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaStringEnumEntry.java
deleted file mode 100644
index 359f54f..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaStringEnumEntry.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Describes a code-generated string enumeration
- * 
- * @see SchemaType#getStringEnumEntries
- */ 
-public interface SchemaStringEnumEntry
-{
-    /**
-     * The enumerated string value
-     */ 
-    public String getString();
-    
-    /**
-     * An integer to represent this choice in the enumeration
-     */ 
-    public int getIntValue();
-    
-    /**
-     * A capitalized name to use for the enumeration constant name
-     */ 
-    public String getEnumName();
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaType.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaType.java
deleted file mode 100644
index e918f27..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaType.java
+++ /dev/null
@@ -1,905 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-/**
- * Represents a schema type.
- * <p>
- * SchemaType is the metadata "type" class for {@link XmlObject}, and it plays the
- * analogous role for {@link XmlObject} that {@link java.lang.Class} plays for
- * {@link java.lang.Object}.
- * <p>
- * Every XML Bean class corresponds to a singleton SchemaType object
- * obtainable by ClassName.type (e.g., {@link XmlNonPositiveInteger#type}), and
- * every XML Bean instance has an actual SchemaType, obtainable by
- * {@link XmlObject#schemaType}.  The ClassName.type and schemaType() mechanisms are
- * analogous to the ordinary Java ClassName.class and obj.getClass() mechanisms.
- * <p>
- * All schema types are represented by a SchemaType, this includes all types
- * regardless of whether they are built-in or user-defined, compiled or
- * uncompiled, simple or complex.
- * <p>
- * In addition, a compiled XML Bean type system includes special "document" schema types
- * each representing a document containing nothing but a single element for each
- * global element, and special "attribute" schema types each representing
- * a fragment containing nothing but a single global attribute for global
- * attribute.
- * <p>
- * Do not confuse Schema Types with other types of Schema Components such as
- * {@link SchemaGlobalElement Global Elements}, {@link SchemaGlobalAttribute Global Attributes},
- * {@link SchemaModelGroup Named Model Groups}, or {@link SchemaAttributeGroup Attribute Groups}.
- * SchemaType represents a Type component, not any of the other kinds of components.
- * There are different kinds of metadata objects for the different Schema components. 
- * <p>
- * The space of SchemaTypes is divided as follows:
- * 
- * <ul>
- * <li>First, there is the universal base type and the universal
- *     subtype.  These are {@link XmlObject#type}
- *     (corresponding to xs:anyType) and {@link XmlBeans#NO_TYPE},
- *     respectively.  The first type is a base type of all other
- *     types.  The other type indicates the absence of type information
- *     and, at least in set-theoretic terms, is a subtype of all other types.
- * <li>There is another universal base type that is the base type
- *     for all simple types.  This is the {@link XmlAnySimpleType#type},
- *     corresponding to xs:anySimpleType.   Only XmlObject.type and
- *     XmlAnySimpleType.type return <code>true</code> for {@link #isURType}, and
- *     only XmlBeans.NO_TYPE returns <code>true</code> for {@link #isNoType}.
- * <li>The two "special" kinds of types that are generated that
- *     do not formally exist in the actual Schema specification are
- *     document types and global attribute types (corresponding to
- *     documents that contain a global element, or fragments that
- *     contain a global attribute).  They can be detected using
- *     {@link #isDocumentType} and {@link #isAttributeType}. Other
- *     than their anonymity (lack of a type name) and their appearance
- *     only at the root of an instance, they are otherwise just like
- *     ordinary complex types.
- * <li>Simple types can be detected using {@link #isSimpleType}.
- *     Complex types are consdered to be all the types that are
- *     not simple.
- * <li>Simple types are divided into three varieties: atomic types,
- *     list types, and union types.  Which variety of simple type
- *     you have can be discoverd using {@link #getSimpleVariety}.
- *     It will return either {@link #ATOMIC}, {@link #LIST}, or
- *     {@link #UNION}.
- * <li>An {@link #ATOMIC} simple type is always based on one of the
- *     20 built-in primitive schema types.  You can determine
- *     the underlying primitive type for an atomic simple type
- *     by calling {@link #getPrimitiveType}.  An atomic type
- *     may add facet restrictions on top of the primitive type,
- *     and these facets can be explored using {@link #getFacet},
- *     {@link #getWhiteSpaceRule}, {@link #matchPatternFacet},
- *     {@link #getEnumerationValues}, and related methods.
- * <li>A {@link #LIST} simple type is always based on another non-list
- *     simple type.  The underlying list item type can be obtained
- *     by using {@link #getListItemType}.
- * <li>A {@link #UNION} simple type is always composed out of a number of
- *     other simple types.  The direct members of the union can
- *     be obtained by {@link #getUnionMemberTypes}.  When unions
- *     consist of other unions, it is useful to know useful to know
- *     the "leaves of the union tree", so the
- *     set of non-union types making up the union can be obtained
- *     by {@link #getUnionConstituentTypes}.  The closure of the
- *     entire "union tree" is {@link #getUnionSubTypes} (this includes
- *     the type itself).  For
- *     simple unions that do not consist of other unions, all three
- *     of these sets are the same.
- * <li>Complex types have nested structure.  They are divided into
- *     four content types: empty content, simple content, element-only
- *     content, and mixed content.  All kinds of complex types may
- *     have attributes.  The content type for a complex type can
- *     be dermined using {@link #getContentType}.  This will return
- *     {@link #EMPTY_CONTENT}, {@link #SIMPLE_CONTENT},
- *     {@link #ELEMENT_CONTENT}, or {@link #MIXED_CONTENT}.
- * <li>If a complex type has {@link #EMPTY_CONTENT}, the content model will be null.
- * <li>If a complex type has {@link #SIMPLE_CONTENT}, then it will extend the
- *     simple type that describes the content.  In addition, the type
- *     may impose additional simple type facet restrictions; these can 
- *     be determined in the same way they are for a simple type.
- * <li>If a complex type has {@link #ELEMENT_CONTENT} or {@link #MIXED_CONTENT}, then
- *     the detailed content model can be determined by examining
- *     the particle tree (which may be null for MIXED_CONTENT).
- *     The particle tree can be obtained via {@link #getContentModel}.
- * <li>When working with a complex type, most users will find it
- *     sufficient to discover the summarized shape of the content model
- *     and attribute model using {@link #getElementProperties},
- *     {@link #getAttributeProperties}, and related methods rather than
- *     examining the particle tree and attribute model directly.
- * </ul>
- * 
- * @see SchemaTypeLoader
- * @see XmlObject#schemaType
- * @see SimpleValue#instanceType
- */ 
-public interface SchemaType extends SchemaComponent
-{
-    /**
-     * The name used to describe the type in the schema.
-     * Null if the type is anonymous (nested), or if it is a document type.
-     */
-    public abstract QName getName();
-
-    /**
-     * The parent schema element.
-     * Null for top-level (named) types and document types.
-     */
-    public abstract SchemaField getContainerField();
-
-    /**
-     * True if this is a document type.
-     * <p>
-     * Document types are generated for every global element. A document
-     * type is an unnamed complex type that contains exactly one element:
-     * we define these types, because they are the types of the "documents"
-     * which contain the defined global elements, and they all turn into
-     * Java types. (Named ElementnameDocument.)
-     */
-    public boolean isDocumentType();
-
-    /**
-     * True if this is a attribute type.
-     * <p>
-     * Attribute types are generated for every global attribute. An attribute
-     * type is an unnamed complex type that contains exactly one attribute:
-     * we define these types, because they are the types of the "attribute documents"
-     * which contain the defined global attribute, and they all turn into
-     * Java types. (Named AttributenameAttribute.)
-     */
-    public boolean isAttributeType();
-
-
-    /**
-     * Returns the document element name if this is a document type,
-     * or null otherwise.
-     */
-    public QName getDocumentElementName();
-
-    /**
-     * Returns the attribute qname if this is a attribute type,
-     * or null otherwise.
-     */
-    public QName getAttributeTypeAttributeName();
-
-    /**
-     * The outer schema type.
-     * Null for top-level (named) types.
-     */
-    public abstract SchemaType getOuterType();
-
-    /**
-     * True if this anonymous type has no corresponding Java type. True for
-     * anonymous types nested within simple type restrictions.
-     */
-    public abstract boolean isSkippedAnonymousType();
-
-    /**
-     * True if this schema type was compiled to have a corresponding
-     * Java class.
-     */
-    public abstract boolean isCompiled();
-
-    /**
-     * The fully-qualified Java type name of the class.
-     */
-    public abstract String getFullJavaName();
-
-    /**
-     * The short unqualfiied Java name for the class.
-     */
-    public abstract String getShortJavaName();
-
-    /**
-     * The fully-qualified Java type name of the implementation class.
-     */
-    public abstract String getFullJavaImplName();
-
-    /**
-     * The short unqualfiied Java name for the implementation class.
-     */
-    public abstract String getShortJavaImplName();
-
-    /**
-     * The Java class corresponding to this schema type.
-     */
-    public abstract Class getJavaClass();
-
-    /**
-     * The Java class corresponding to the enumeration type for this schema type,
-     * if applicable (or null if not an enumeration).
-     */
-    public abstract Class getEnumJavaClass();
-
-    /**
-     * True if the Xsd type is anonymous (i.e., not top-level).
-     */
-    public abstract boolean isAnonymousType();
-
-    /**
-     * True for any of the 40+ built-in types.
-     */
-    public abstract boolean isBuiltinType();
-
-    /**
-     * True for the anySimpleType and any restrictions/unions/lists.
-     */
-    public abstract boolean isSimpleType();
-
-    /**
-     * Returns base restriction or extension type. Unions and lists
-     * return the anySimpleType.
-     */
-    public abstract SchemaType getBaseType();
-
-    /**
-     * Returns common base type with the given type. The returned
-     * type is the most specific declared base type of both types.
-     */
-    public abstract SchemaType getCommonBaseType(SchemaType type);
-
-    /**
-     * True if the specified type derives from this type (or if
-     * it is the same type).
-     *
-     * Note that XmlObject.type (the anyType) is assignable
-     * from all type, and the XmlBeans.noType (the absence of
-     * a type) is assignable to all types.
-     */
-    public abstract boolean isAssignableFrom(SchemaType type);
-
-    /**
-     * Returns an integer for the derivation type, either 
-     * {@link #DT_EXTENSION}, {@link #DT_RESTRICTION}, {@link #DT_NOT_DERIVED}.
-     */
-    public int getDerivationType();
-    
-    /** Not derived.  True for XmlObject.type only. See {@link #getDerivationType}. */
-    public static final int DT_NOT_DERIVED = 0;
-    /** Derived by restriction. See {@link #getDerivationType}. */
-    public static final int DT_RESTRICTION = 1;
-    /** Derived by extension. See {@link #getDerivationType}. */
-    public static final int DT_EXTENSION = 2;
-
-    /**
-     * Returns an integer for builtin types that can be used
-     * for quick comparison.
-     */
-    public abstract int getBuiltinTypeCode();
-
-    /** Not a builtin type */ 
-    public static final int BTC_NOT_BUILTIN = 0;
-    /** xs:anyType, aka {@link XmlObject#type} */ 
-    public static final int BTC_ANY_TYPE = 1;
-    
-    /** The primitive types have codes between BTC_FIRST_PRIMITIVE and BTC_LAST_PRIMITIVE inclusive */
-    public static final int BTC_FIRST_PRIMITIVE = 2;
-
-    /** xs:anySimpleType, aka {@link XmlAnySimpleType#type} */ 
-    public static final int BTC_ANY_SIMPLE = 2;
-
-    /** xs:boolean, aka {@link XmlBoolean#type} */ 
-    public static final int BTC_BOOLEAN = 3;
-    /** xs:base64Binary, aka {@link XmlBase64Binary#type} */ 
-    public static final int BTC_BASE_64_BINARY = 4;
-    /** xs:hexBinary, aka {@link XmlBase64Binary#type} */ 
-    public static final int BTC_HEX_BINARY = 5;
-    /** xs:anyURI, aka {@link XmlAnyURI#type} */ 
-    public static final int BTC_ANY_URI = 6;
-    /** xs:QName, aka {@link XmlQName#type} */ 
-    public static final int BTC_QNAME = 7;
-    /** xs:NOTATION, aka {@link XmlNOTATION#type} */ 
-    public static final int BTC_NOTATION = 8;
-    /** xs:float, aka {@link XmlFloat#type} */ 
-    public static final int BTC_FLOAT = 9;
-    /** xs:double, aka {@link XmlDouble#type} */ 
-    public static final int BTC_DOUBLE = 10;
-    /** xs:decimal, aka {@link XmlDecimal#type} */ 
-    public static final int BTC_DECIMAL = 11;
-    /** xs:string, aka {@link XmlString#type} */ 
-    public static final int BTC_STRING = 12;
-
-    /** xs:duration, aka {@link XmlDuration#type} */ 
-    public static final int BTC_DURATION = 13;
-    /** xs:dateTime, aka {@link XmlDateTime#type} */ 
-    public static final int BTC_DATE_TIME = 14;
-    /** xs:time, aka {@link XmlTime#type} */ 
-    public static final int BTC_TIME = 15;
-    /** xs:date, aka {@link XmlDate#type} */ 
-    public static final int BTC_DATE = 16;
-    /** xs:gYearMonth, aka {@link XmlGYearMonth#type} */ 
-    public static final int BTC_G_YEAR_MONTH = 17;
-    /** xs:gYear, aka {@link XmlGYear#type} */ 
-    public static final int BTC_G_YEAR = 18;
-    /** xs:gMonthDay, aka {@link XmlGMonthDay#type} */ 
-    public static final int BTC_G_MONTH_DAY = 19;
-    /** xs:gDay, aka {@link XmlGDay#type} */ 
-    public static final int BTC_G_DAY = 20;
-    /** xs:gMonth, aka {@link XmlGMonth#type} */ 
-    public static final int BTC_G_MONTH = 21;
-
-    /** The primitive types have codes between BTC_FIRST_PRIMITIVE and BTC_LAST_PRIMITIVE inclusive */
-    public static final int BTC_LAST_PRIMITIVE = 21;
-
-    // derived numerics
-    /** xs:integer, aka {@link XmlInteger#type} */ 
-    public static final int BTC_INTEGER = 22;
-    /** xs:long, aka {@link XmlLong#type} */ 
-    public static final int BTC_LONG = 23;
-    /** xs:int, aka {@link XmlInt#type} */ 
-    public static final int BTC_INT = 24;
-    /** xs:short, aka {@link XmlShort#type} */ 
-    public static final int BTC_SHORT = 25;
-    /** xs:byte, aka {@link XmlByte#type} */ 
-    public static final int BTC_BYTE = 26;
-    /** xs:nonPositiveInteger, aka {@link XmlNonPositiveInteger#type} */ 
-    public static final int BTC_NON_POSITIVE_INTEGER = 27;
-    /** xs:NegativeInteger, aka {@link XmlNegativeInteger#type} */ 
-    public static final int BTC_NEGATIVE_INTEGER = 28;
-    /** xs:nonNegativeInteger, aka {@link XmlNonNegativeInteger#type} */ 
-    public static final int BTC_NON_NEGATIVE_INTEGER = 29;
-    /** xs:positiveInteger, aka {@link XmlPositiveInteger#type} */ 
-    public static final int BTC_POSITIVE_INTEGER = 30;
-    /** xs:unsignedLong, aka {@link XmlUnsignedLong#type} */
-    public static final int BTC_UNSIGNED_LONG = 31;
-    /** xs:unsignedInt, aka {@link XmlUnsignedInt#type} */
-    public static final int BTC_UNSIGNED_INT = 32;
-    /** xs:unsignedShort, aka {@link XmlUnsignedShort#type} */
-    public static final int BTC_UNSIGNED_SHORT = 33;
-    /** xs:unsignedByte, aka {@link XmlUnsignedByte#type} */
-    public static final int BTC_UNSIGNED_BYTE = 34;
-
-    // derived strings
-    /** xs:normalizedString, aka {@link XmlNormalizedString#type} */
-    public static final int BTC_NORMALIZED_STRING = 35;
-    /** xs:token, aka {@link XmlToken#type} */
-    public static final int BTC_TOKEN = 36;
-    /** xs:Name, aka {@link XmlName#type} */
-    public static final int BTC_NAME = 37;
-    /** xs:NCName, aka {@link XmlNCName#type} */
-    public static final int BTC_NCNAME = 38;
-    /** xs:language, aka {@link XmlLanguage#type} */
-    public static final int BTC_LANGUAGE = 39;
-    /** xs:ID, aka {@link XmlID#type} */
-    public static final int BTC_ID = 40;
-    /** xs:IDREF, aka {@link XmlIDREF#type} */
-    public static final int BTC_IDREF = 41;
-    /** xs:IDREFS, aka {@link XmlIDREFS#type} */
-    public static final int BTC_IDREFS = 42;
-    /** xs:ENTITY, aka {@link XmlENTITY#type} */
-    public static final int BTC_ENTITY = 43;
-    /** xs:ENTITIES, aka {@link XmlENTITIES#type} */
-    public static final int BTC_ENTITIES = 44;
-    /** xs:NMTOKEN, aka {@link XmlNMTOKEN#type} */
-    public static final int BTC_NMTOKEN = 45;
-    /** xs:NMTOKENS, aka {@link XmlNMTOKENS#type} */
-    public static final int BTC_NMTOKENS = 46;
-
-    public static final int BTC_LAST_BUILTIN = 46;
-
-    /**
-     * True for anyType and anySimpleType.
-     */
-    public boolean isURType();
-
-    /**
-     * True for the type object that represents a the absence of a determined type.
-     * XML Objects whose type isNoType() are never valid.
-     */
-    public boolean isNoType();
-
-    /**
-     * Returns the SchemaTypeLoader in which this type was defined.
-     * Complex types are defined and used in exactly one schema type
-     * system, but simple types are defined in one type system and can
-     * be used in any number of type systems. The most common case is
-     * the builtin types, which are defined in the builtin type system
-     * and used elsewhere.
-     */
-    public SchemaTypeSystem getTypeSystem();
-
-    /**
-     * Returns the filename for the XSD file from which this type
-     * was loaded. Intended for use when debugging.
-     */
-    public String getSourceName();
-
-    /** True if this type cannot be used directly in instances */
-    public boolean isAbstract();
-
-    /** True if other types cannot extend this type (only for complex types) */
-    public boolean finalExtension();
-
-    /** True if other types cannot restrict this type */
-    public boolean finalRestriction();
-
-    /** True if list derivation of this type is prohibited (only for simple types) */
-    public boolean finalList();
-
-    /** True if union derivation of this type is prohibited (only for simple types) */
-    public boolean finalUnion();
-
-    /** True if extensions of this type cannot be substituted for this type */
-    public boolean blockExtension();
-
-    /** True if restrictions of this type cannot be substituted for this type */
-    public boolean blockRestriction();
-
-    /**
-     * Returns {@link #EMPTY_CONTENT}, {@link #SIMPLE_CONTENT}, {@link #ELEMENT_CONTENT}, or
-     * {@link #MIXED_CONTENT} for complex types. For noncomplex types, returns
-     * {@link #NOT_COMPLEX_TYPE}.
-     */
-    public abstract int getContentType();
-    
-    /** Not a complex type.  See {@link #getContentType()}. */
-    public static final int NOT_COMPLEX_TYPE = 0;
-    /** Empty content.  See {@link #getContentType()}. */
-    public static final int EMPTY_CONTENT = 1;
-    /** Simple content.  See {@link #getContentType()}. */
-    public static final int SIMPLE_CONTENT = 2;
-    /** Element-only content.  See {@link #getContentType()}. */
-    public static final int ELEMENT_CONTENT = 3;
-    /** Mixed content.  See {@link #getContentType()}. */
-    public static final int MIXED_CONTENT = 4;
-
-
-    /**
-     * The array of inner (anonymous) types defined
-     * within this type.
-     */
-    public abstract SchemaType[] getAnonymousTypes();
-
-    /**
-     * Returns a SchemaProperty corresponding to an element within this
-     * complex type by looking up the element name.
-     */
-    public abstract SchemaProperty getElementProperty(QName eltName);
-
-    /**
-     * Returns all the SchemaProperties corresponding to elements.
-     */
-    public abstract SchemaProperty[] getElementProperties();
-
-    /**
-     * Returns a SchemaProperty corresponding to an attribute within this
-     * complex type by looking up the attribute name.
-     */
-    public abstract SchemaProperty getAttributeProperty(QName attrName);
-
-    /**
-     * Returns all the SchemaProperties corresponding to attributes.
-     */
-    public abstract SchemaProperty[] getAttributeProperties();
-
-    /**
-     * Returns all the SchemaProperties within this complex type,
-     * elements followed by attributes.
-     */
-    public abstract SchemaProperty[] getProperties();
-
-    /**
-     * Returns the SchemaProperties defined by this complex type,
-     * exclusive of the base type (if any).
-     */
-    SchemaProperty[] getDerivedProperties();
-
-    /**
-     * Returns the attribute model for this complex type (with simple or complex content).
-     */
-    public abstract SchemaAttributeModel getAttributeModel();
-
-    /**
-     * True if this type permits wildcard attributes. See the attribute model for
-     * more information about which wildcards are allowed.
-     */
-    public abstract boolean hasAttributeWildcards();
-
-    /**
-     * Returns the complex content model for this complex type (with complex content).
-     */
-    public abstract SchemaParticle getContentModel();
-
-    /**
-     * True if this type permits element wildcards. See the content model for
-     * more information about which wildcards are allowed, and where.
-     */
-    public abstract boolean hasElementWildcards();
-
-    /**
-     * For document types, true if the given name can be substituted for the
-     * document element name.
-     */
-    public boolean isValidSubstitution(QName name);
-
-    /**
-     * True if the complex content model for this complex type is an "all" group.
-     */
-    public abstract boolean hasAllContent();
-
-    /**
-     * True if particles have same defaults, nillability, etc, that are
-     * invariant when order changes. Computed only for Javaized types.
-     */
-    public abstract boolean isOrderSensitive();
-
-    /**
-     * Returns the type of a child element based on the element name and
-     * an xsi:type attribute (and the type system within which names are
-     * resolved).
-     */
-    public abstract SchemaType getElementType(QName eltName, QName xsiType, SchemaTypeLoader wildcardTypeLoader);
-
-    /**
-     * Returns the type of an attribute based on the attribute name and
-     * the type system within which (wildcard) names are resolved.
-     */
-    public abstract SchemaType getAttributeType(QName eltName, SchemaTypeLoader wildcardTypeLoader);
-
-    /*************************************************************/
-    /* SIMPLE TYPE MODEL BELOW                                   */
-    /*************************************************************/
-
-    /** xs:length facet */
-    public static final int FACET_LENGTH = 0;
-    /** xs:minLength facet */
-    public static final int FACET_MIN_LENGTH = 1;
-    /** xs:maxLength facet */
-    public static final int FACET_MAX_LENGTH = 2;
-    /** xs:minExclusive facet */
-    public static final int FACET_MIN_EXCLUSIVE = 3;
-    /** xs:minInclusive facet */
-    public static final int FACET_MIN_INCLUSIVE = 4;
-    /** xs:maxInclusive facet */
-    public static final int FACET_MAX_INCLUSIVE = 5;
-    /** xs:maxExclusive facet */
-    public static final int FACET_MAX_EXCLUSIVE = 6;
-    /** xs:totalDigits facet */
-    public static final int FACET_TOTAL_DIGITS = 7;
-    /** xs:fractionDigits facet */
-    public static final int FACET_FRACTION_DIGITS = 8;
-
-    public static final int LAST_BASIC_FACET = 8;
-
-    /** xs:whiteSpace facet - use {@link #getWhiteSpaceRule} instead */
-    public static final int FACET_WHITE_SPACE = 9;
-    /** xs:pattern facet - use {@link #matchPatternFacet} instead */
-    public static final int FACET_PATTERN = 10;
-    /** xs:enumeration facet - use {@link #getEnumerationValues} instead */
-    public static final int FACET_ENUMERATION = 11;
-
-    /** The last ordinary facet code */ 
-    public static final int LAST_FACET = 11;
-    
-    /** @see #ordered */
-    public static final int PROPERTY_ORDERED = 12;
-    /** @see #isBounded */
-    public static final int PROPERTY_BOUNDED = 13;
-    /** @see #isFinite */
-    public static final int PROPERTY_CARDINALITY = 14;
-    /** @see #isNumeric */
-    public static final int PROPERTY_NUMERIC = 15;
-    
-    /** The last property code */
-    public static final int LAST_PROPERTY = 15;
-
-
-    /**
-     * Returns the value of the given facet, or null if
-     * none is set.
-     */
-    public abstract XmlAnySimpleType getFacet(int facetCode);
-
-    /**
-     * True if the given facet is fixed.
-     */
-    public abstract boolean isFacetFixed(int facetCode);
-
-    /**
-     * True if ordered.  Returns either {@link #UNORDERED},
-     * {@link #PARTIAL_ORDER}, or {@link #TOTAL_ORDER}.
-     */
-    public abstract int ordered();
-
-    /** Unordered. See {@link #ordered}. */
-    public static int UNORDERED = 0;
-    /** Partially ordered. See {@link #ordered}. */
-    public static int PARTIAL_ORDER = 1;
-    /** Totally ordered. See {@link #ordered}. */
-    public static int TOTAL_ORDER = 2;
-
-    /**
-     * True if bounded.
-     */
-    public abstract boolean isBounded();
-
-    /**
-     * True if finite.
-     */
-    public abstract boolean isFinite();
-
-    /**
-     * True if numeric.
-     */
-    public abstract boolean isNumeric();
-
-    /**
-     * True if there are regex pattern facents
-     */
-    public abstract boolean hasPatternFacet();
-    
-    /**
-     * True 
-     */
-    public abstract String[] getPatterns();
-
-    /**
-     * True if the given string matches the pattern facets.
-     * Always true if there are no pattern facets.
-     */
-    public abstract boolean matchPatternFacet(String s);
-
-    /**
-     * Returns the array of valid objects from the
-     * enumeration facet, null if no enumeration defined.
-     */
-    public abstract XmlAnySimpleType[] getEnumerationValues();
-
-    /**
-     * True if this is a string enum where an integer
-     * is assigned to each enumerated value.
-     */
-    public abstract boolean hasStringEnumValues();
-
-    /**
-     * If this is a string enumeration, returns the most basic base schema
-     * type that this enuemration is based on. Otherwise returns null.
-     */
-    public abstract SchemaType getBaseEnumType();
-
-    /**
-     * Returns the array of SchemaStringEnumEntries for this type: this
-     * array includes information about the java constant names used for
-     * each string enum entry.
-     */
-    public SchemaStringEnumEntry[] getStringEnumEntries();
-
-    /**
-     * Returns the string enum entry corresponding to the given enumerated
-     * string, or null if there is no match or this type is not
-     * a string enumeration.
-     */
-    public SchemaStringEnumEntry enumEntryForString(String s);
-
-    /**
-     * Returns the string enum value corresponding to the given enumerated
-     * string, or null if there is no match or this type is not
-     * a string enumeration.
-     */
-    public abstract StringEnumAbstractBase enumForString(String s);
-
-    /**
-     * Returns the string enum value corresponding to the given enumerated
-     * string, or null if there is no match or this type is not
-     * a string enumeration.
-     */
-    public abstract StringEnumAbstractBase enumForInt(int i);
-
-    /**
-     * True for any of the 20 primitive types (plus anySimpleType)
-     */
-    public abstract boolean isPrimitiveType();
-
-    /**
-     * Returns whether the simple type is ATOMIC, UNION, or LIST.
-     * Returns {@link #NOT_SIMPLE}, {@link #ATOMIC}, {@link #UNION},
-     * or {@link #LIST}.
-     */
-    public abstract int getSimpleVariety();
-    
-    /** Not a simple type or simple content. See {@link #getSimpleVariety}. */
-    public static final int NOT_SIMPLE = 0;
-    /** Atomic type.  See {@link #getSimpleVariety} */
-    public static final int ATOMIC = 1;
-    /** Union type.  See {@link #getSimpleVariety} */
-    public static final int UNION = 2;
-    /** Simple list type.  See {@link #getSimpleVariety} */
-    public static final int LIST = 3;
-
-
-    /**
-     * For atomic types only: get the primitive type underlying this one.
-     * <p>
-     * Returns null if this is not an atomic type.
-     */
-    public abstract SchemaType getPrimitiveType();
-
-    /**
-     * For atomic numeric restrictions of decimal only: the
-     * numeric size category. Takes into account min and max
-     * restrictions as well as totalDigits and fractionDigits
-     * facets.
-     * <p>
-     * Returns either {@link #NOT_DECIMAL},
-     * {@link #SIZE_BYTE}, {@link #SIZE_SHORT}, {@link #SIZE_INT},
-     * {@link #SIZE_LONG}, {@link #SIZE_BIG_INTEGER}, or
-     * {@link #SIZE_BIG_DECIMAL}.
-     */
-    public abstract int getDecimalSize();
-
-    /** Not a decimal restriction. See {@link #getDecimalSize}. */
-    public static final int NOT_DECIMAL = 0;
-    /** Fits in a byte. See {@link #getDecimalSize}. */
-    public static final int SIZE_BYTE = 8;
-    /** Fits in a short. See {@link #getDecimalSize}. */
-    public static final int SIZE_SHORT = 16;
-    /** Fits in an int. See {@link #getDecimalSize}. */
-    public static final int SIZE_INT = 32;
-    /** Fits in a long. See {@link #getDecimalSize}. */
-    public static final int SIZE_LONG = 64;
-    /** Fits in a {@link java.math.BigInteger}. See {@link #getDecimalSize}. */
-    public static final int SIZE_BIG_INTEGER = 1000000; // "millions"
-    /** Fits in a {@link java.math.BigDecimal}. See {@link #getDecimalSize}. */
-    public static final int SIZE_BIG_DECIMAL = 1000001; // "even more"
-
-    /**
-     * For union types only: get the shallow member types. This
-     * returns the declared member types of the union, so, for
-     * example if the type contains another union, the nested
-     * members of that union are NOT returned here.
-     * <p>
-     * Returns null if this type is not a union.
-     */
-    public abstract SchemaType[] getUnionMemberTypes();
-
-    /**
-     * For union types only: gets the full tree of member types.
-     * This computes the closure of the set returned by
-     * getUnionMemberTypes(), so, for example, it returns
-     * all the types nested within unions of unions as well
-     * as the top-level members; the set also includes the
-     * type itself. If you are seeking only the basic
-     * non-union consituents, use getUnionConstituentTypes.
-     * <p>
-     * Returns null if this type is not a union.
-     */
-    public abstract SchemaType[] getUnionSubTypes();
-
-    /**
-     * For union types only: get the constituent member types. This
-     * returns only non-union types, so, for example, for unions of
-     * unions, this returns the flattened list of individual member
-     * types within the innermost unions.
-     * <p>
-     * Returns null if this type is not a union.
-     */
-    public abstract SchemaType[] getUnionConstituentTypes();
-
-    /**
-     * For union types only: get the most specific common base
-     * type of the constituent member types. May return a UR type.
-     * <p>
-     * Returns null if this type is not a union.
-     */
-    public abstract SchemaType getUnionCommonBaseType();
-
-    /**
-     * For anonymous types defined inside a union only: gets
-     * the integer indicating the declaration order of this
-     * type within the outer union type, or zero if this is
-     * not applicable. The first anonymous union member within
-     * a union type is numbered "1". Used to differentiate
-     * between different anonymous types.
-     */
-    public abstract int getAnonymousUnionMemberOrdinal();
-
-    /**
-     * For list types only: get the item type. This is the atomic
-     * or union type that is the type of every entry in the list.
-     * <p>
-     * Returns null if this type is not a list.
-     */
-    public abstract SchemaType getListItemType();
-
-    /**
-     * For nonunion simple types: get the whitespace rule. This is
-     * either {@link #WS_PRESERVE}, {@link #WS_REPLACE}, or
-     * {@link #WS_COLLAPSE}. Returns {@link #WS_UNSPECIFIED}
-     * for unions and complex types.
-     */
-    public abstract int getWhiteSpaceRule();
-
-    /** Whitespace rule unspecified.  See {@link #getWhiteSpaceRule}. */
-    public static final int WS_UNSPECIFIED = 0;
-    /** Whitespace preserved.  See {@link #getWhiteSpaceRule}. */
-    public static final int WS_PRESERVE = 1;
-    /** Whitespace replaced by ordinary space.  See {@link #getWhiteSpaceRule}. */
-    public static final int WS_REPLACE = 2;
-    /** Whitespace collapsed and trimmed.  See {@link #getWhiteSpaceRule}. */
-    public static final int WS_COLLAPSE = 3;
-
-    /**
-     * Creates an immutable simple type value that does not reside in a tree.
-     */
-    public abstract XmlAnySimpleType newValue(Object v);
-    
-
-    /**
-     * Used to allow on-demand loading of types.
-     * 
-     * @exclude
-     */
-    public final static class Ref extends SchemaComponent.Ref
-    {
-        public Ref(SchemaType type)
-            { super(type); }
-
-        public Ref(SchemaTypeSystem system, String handle)
-            { super(system, handle); }
-
-        public final int getComponentType()
-            { return SchemaComponent.TYPE; }
-
-        public final SchemaType get()
-            { return (SchemaType)getComponent(); }
-    }
-
-    /**
-     * Retruns a SchemaType.Ref pointing to this schema type itself.
-     */
-    public Ref getRef();
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaTypeLoader.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaTypeLoader.java
deleted file mode 100644
index fe7b059..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaTypeLoader.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLStreamException;
-
-import java.io.File;
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.Reader;
-import java.net.URL;
-
-import org.w3c.dom.Node;
-
-/**
- * Represents a searchable set of XML Schema component definitions.
- * <p>
- * SchemaTypeLoader is somewhat analogous to {@link java.lang.ClassLoader},
- * because it is responsible for finding {@link SchemaComponent} definitions
- * by name, yet it is not responsible for being able to enumerate all the
- * component definitons available. (If you wish to enumerate component
- * definitions, see {@link SchemaTypeSystem}.) There are some ways in which
- * SchemaTypeSystems are dissimilar from ClassLoaders, however.
- * Since XML Schema has a number of instance-oriented typing mechanisms
- * (such as wildcards) that do not exist in Java, a SchemaTypeLoader is
- * not associated with a type; instead, a SchemaTypeLoader is associated
- * with each XML instance.
- * <p>
- * Every XML instance is loaded within the context of a SchemaTypeLoader;
- * the SchemaTypeLoader for an instance is used to resolve all type definitions
- * within the instance and for applying type-sensitive methods such as
- * {@link XmlObject#validate}.
- * <p>
- * Normally the SchemaTypeLoader being used for all instances is the
- * context type loader (that is, the SchemaTypeLoader returned from
- * {@link XmlBeans#getContextTypeLoader()}).  The context type loader
- * consults the thread's context ClassLoader (see {@link Thread#getContextClassLoader()})
- * to find schema type defintions that are available on the classpath.
- * The net result is that you can use schema types simply by putting
- * their compiled schema JARs on your classpath.
- * If you wish to load instances using a different SchemaTypeLoader, then you must
- * call {@link #parse} methods on the SchemaTypeLoader instance explicitly
- * rather than using the normal convenient Factory methods.
- * <p>
- * A SchemaTypeLoader can be obtained by dynamically loading XSD files
- * using {@link XmlBeans#loadXsd}, or by assembling other SchemaTypeLoaders
- * or SchemaTypeSystems on a path using {@link XmlBeans#typeLoaderUnion}.
- * 
- * @see XmlBeans#loadXsd
- * @see XmlBeans#getContextTypeLoader
- * @see XmlBeans#typeLoaderUnion
- * @see SchemaTypeSystem
- */ 
-public interface SchemaTypeLoader
-{
-    /** Returns the type with the given name, or null if none. */
-    public SchemaType findType(QName name);
-
-    /** Returns the document type rooted at the given element name, or null if none. */
-    public SchemaType findDocumentType(QName name);
-    
-    /** Returns the attribute type containing the given attribute name, or null if none. */
-    public SchemaType findAttributeType(QName name);
-
-    /** Returns the global element defintion with the given name, or null if none. */
-    public SchemaGlobalElement findElement(QName name);
-
-    /** Returns the global attribute defintion with the given name, or null if none. */
-    public SchemaGlobalAttribute findAttribute(QName name);
-    
-    /** Returns the model group defintion with the given name, or null if none. */
-    public SchemaModelGroup findModelGroup(QName name);
-    
-    /** Returns the attribute group defintion with the given name, or null if none. */
-    public SchemaAttributeGroup findAttributeGroup(QName name);
-
-    /** True if the typeloader contains any definitions in the given namespace. */
-    public boolean isNamespaceDefined(String namespace);
-
-    /** Used for on-demand loading. */
-    public SchemaType.Ref findTypeRef(QName name);
-
-    /** Used for on-demand loading. */
-    public SchemaType.Ref findDocumentTypeRef(QName name);
-    
-    /** Used for on-demand loading. */
-    public SchemaType.Ref findAttributeTypeRef(QName name);
-
-    /** Used for on-demand loading. */
-    public SchemaGlobalElement.Ref findElementRef(QName name);
-
-    /** Used for on-demand loading. */
-    public SchemaGlobalAttribute.Ref findAttributeRef(QName name);
-    
-    /** Used for on-demand loading. */
-    public SchemaModelGroup.Ref findModelGroupRef(QName name);
-    
-    /** Used for on-demand loading. */
-    public SchemaAttributeGroup.Ref findAttributeGroupRef(QName name);
-
-    /** Used for on-demand loading. */
-    public SchemaIdentityConstraint.Ref findIdentityConstraintRef(QName name);
-
-    /** Finds a type for a given signature string */
-    public SchemaType typeForSignature(String signature);
-
-    /** Finds a type for a given fully-qualified XML Bean classname */
-    public SchemaType typeForClassname(String classname);
-
-    /** Loads original XSD source as a stream.  See {@link SchemaType#getSourceName}. */
-    public InputStream getSourceAsStream(String sourceName);
-    
-    /** Compiles an XPath */
-    public String compilePath(String pathExpr, XmlOptions options) throws XmlException;
-
-    /** Compiles an XQuery */
-    public String compileQuery(String queryExpr, XmlOptions options) throws XmlException;
-
-    /** Creates an instance of the given type. */
-    public XmlObject newInstance ( SchemaType type, XmlOptions options );
-    /** Parses an instance of the given type. */
-    public XmlObject parse ( String xmlText, SchemaType type, XmlOptions options ) throws XmlException;
-    /** Parses an instance of the given type. */
-    public XmlObject parse ( File file, SchemaType type, XmlOptions options ) throws XmlException, IOException;
-    /** Parses an instance of the given type. */
-    public XmlObject parse ( URL file, SchemaType type, XmlOptions options ) throws XmlException, IOException;
-    /** Parses an instance of the given type. */
-    public XmlObject parse ( InputStream jiois, SchemaType type, XmlOptions options ) throws XmlException, IOException;
-    /** Parses an instance of the given type. */
-    public XmlObject parse ( Reader jior, SchemaType type, XmlOptions options ) throws XmlException, IOException;
-    /** Parses an instance of the given type. */
-    public XmlObject parse ( Node node, SchemaType type, XmlOptions options ) throws XmlException;
-    /** Parses an instance of the given type.
-     * @deprecated Superceded by JSR 173
-     */
-    public XmlObject parse ( XMLInputStream xis, SchemaType type, XmlOptions options ) throws XmlException, XMLStreamException;
-    /** Returns an XmlSaxHandler that can parse an instance of the given type. */
-    public XmlSaxHandler newXmlSaxHandler ( SchemaType type, XmlOptions options );
-    /** Returns a validating XMLInputStream that will throw an exception if the XML is not valid 
-     * @deprecated Superceded by JSR 173
-     */
-    public XMLInputStream newValidatingXMLInputStream ( XMLInputStream xis, SchemaType type, XmlOptions options ) throws XmlException, XMLStreamException;
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaTypeLoaderException.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaTypeLoaderException.java
deleted file mode 100644
index 4f4b2bd..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaTypeLoaderException.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * An exception that is thrown if there is corruption or a version mismatch
- * in a compiled schema type system.
- */ 
-public class SchemaTypeLoaderException extends XmlRuntimeException
-{
-    private int _code;
-    
-    /** Constructs an exception with the given message, filename, extension, and code */
-    public SchemaTypeLoaderException(String message, String name, String handle, int code)
-    {
-        super(message + " (" + name + "." + handle + ") - code " + code);
-        _code = code;
-    }
-
-    /** Constructs an exception with the given message, filename, extension, code, and cause */
-    public SchemaTypeLoaderException(String message, String name, String handle, int code, Exception cause)
-    {
-        super(message + " (" + name + "." + handle + ") - code " + code);
-        _code = code;
-        initCause(cause);
-    }
-
-    /** Returns the reason for the failure, given by one of the numeric constants in this class */
-    public int getCode()
-    {
-        return _code;
-    }
-
-    /* See {@link #getCode}. */
-    public static final int NO_RESOURCE = 0;
-    /* See {@link #getCode}. */
-    public static final int WRONG_MAGIC_COOKIE = 1;
-    /* See {@link #getCode}. */
-    public static final int WRONG_MAJOR_VERSION = 2;
-    /* See {@link #getCode}. */
-    public static final int WRONG_MINOR_VERSION = 3;
-    /* See {@link #getCode}. */
-    public static final int WRONG_FILE_TYPE = 4;
-    /* See {@link #getCode}. */
-    public static final int UNRECOGNIZED_INDEX_ENTRY = 5;
-    /* See {@link #getCode}. */
-    public static final int WRONG_PROPERTY_TYPE = 6;
-    /* See {@link #getCode}. */
-    public static final int MALFORMED_CONTENT_MODEL = 7;
-    /* See {@link #getCode}. */
-    public static final int WRONG_SIMPLE_VARIETY = 8;
-    /* See {@link #getCode}. */
-    public static final int IO_EXCEPTION = 9;
-    /* See {@link #getCode}. */
-    public static final int INT_TOO_LARGE = 10;
-    /* See {@link #getCode}. */
-    public static final int BAD_PARTICLE_TYPE = 11;
-    /* See {@link #getCode}. */
-    public static final int NOT_WRITEABLE = 12;
-    /* See {@link #getCode}. */
-    public static final int BAD_HANDLE = 13;
-    /* See {@link #getCode}. */
-    public static final int NESTED_EXCEPTION = 14;
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaTypeSystem.java b/v1/src/xmlpublic/org/apache/xmlbeans/SchemaTypeSystem.java
deleted file mode 100644
index 3e20f5e..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SchemaTypeSystem.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.io.File;
-
-/**
- * A finite set of XML Schema component definitions.
- * <p>
- * Every {@link SchemaComponent} such as a {@link SchemaType},
- * {@link SchemaGlobalElement}, {@link SchemaGlobalAttribute},
- * {@link SchemaModelGroup}, {@link SchemaAttributeGroup}, or
- * {@link SchemaIdentityConstraint}, is defined in exactly one
- * SchemaTypeSystem.  (See {@link SchemaComponent#getTypeSystem()}.)
- * A single SchemaTypeSystem can include definitions
- * from any number of namespaces; one SchemaTypeSystem consists simply
- * of a set of component definitions that were compiled together.
- * <p>
- * Since every component is defined in a single SchemaTypeSystem, no
- * SchemaTypeSystem other than {@link XmlBeans#getBuiltinTypeSystem()}
- * includes any of the the built-in types.  That means
- * you cannot ordinarily load instances using a single
- * SchemaTypeSystem by itself. Instead, you will want to combine a path of
- * SchemaTypeSystems together using {@link XmlBeans#typeLoaderUnion}
- * to form a SchemaTypeLoader that can be used for loading instances.
- * <p>
- * For example, the following code compiles the schema in myXSDFile
- * in the presence of only the minimal builtin type system.
- * The resulting SchemaTypeSystem <code>sts</code> contains only the definitions
- * from myXSD file.  In order to load and validate an instance within
- * the context of those types, we must next construct a
- * {@link SchemaTypeLoader} <code>stl</code> that contains both
- * the builtin type system and the types defined within the myXSD file.
- * <pre>
- * SchemaTypeSystem sts = XmlBeans.compileXsd(new XmlObject[]
- *    { XmlObject.Factory.parse(myXSDFile) },
- *    XmlBeans.getBuiltinTypeSystem(),
- *    null);
- * SchemaTypeLoader stl = XmlBeans.typeLoaderUnion(new SchemaTypeLoader[]
- *    { sts, XmlBeans.getBuiltinTypeSystem() });
- * XmlObject mydoc = stl.parse(instanceFile, null, null);
- * System.out.println("Document valid: " + mydoc.validate());
- * </pre>
- * <p>
- * As you can see, for working with instances, you typically want to
- * work with a SchemaTypeLoader constructed from a path rather than
- * a solitary SchemaTypeSystem.  See {@link XmlBeans#loadXsd} for
- * a convenient alternative to {@link XmlBeans#compileXsd}.
- * <p>
- * A SchemaTypeSystem is useful when you need to enumerate the exact set
- * of component definitions derived from a set of XSD files, for example,
- * when you are analyzing the contents of the XSD files themselves.
- * Here is how to use a SchemaTypeSystem to inspect a set of schema
- * definitions:
- * <ol>
- * <li>First, use {@link XmlBeans#compileXsd} to compile any number
- *     of schema files.  If the schema files are valid, result will
- *     be a SchemaTypeSystem that contains all the component definitions
- *     from those files.  It will contain no other component definitions.
- * <li>Alternatively, call {@link SchemaComponent#getTypeSystem} on
- *     a precompiled schema component to discover the SchemaTypeSystem
- *     within which that component was originally compiled.
- * <li>Once you have a SchemaTypeSystem, call:
- *   <ul>
- *   <li> {@link #globalTypes()} for all the global type definitions.
- *   <li> {@link #globalElements()} for all the global element definitions.
- *   <li> {@link #globalAttributes()} for all the global attribute definitions.
- *   <li> {@link #modelGroups()} for all the named model group definitions.
- *   <li> {@link #attributeGroups()} for all the attribute group definitions.
- *   </ul>
- * <li>In addition, there are special types generated for XML Beans thare
- *     are not formally part of the Schema specification:
- *   <ul>
- *   <li> {@link #documentTypes()} returns all the document types.
- *   <li> {@link #attributeTypes()} returns all the attribute types.
- *   </ul>
- * </ol>
- * 
- * <p>
- * A document type is a type that contains a single global element; there
- * is one document type for each global element definition in a
- * SchemaTypeSystem.  In an instance document, only the root XmlObject
- * can have a document type as its type.
- * <p>
- * Similarly, an attribute type is a type that contains a single global
- * attribute, and there is one attribute type for each global attribute
- * definition in a SchemaTypeSystem.  It is possible to have a root
- * XmlObject representing a fragment whose type is an attribute type,
- * but attribute types are present mainly for symmetry and to simplify
- * code such as the type-tree-walking code below.
- * <p>
- * The global component methods above only provide a view of the top-level
- * components of a SchemaTypeSystem and do not include any nested
- * definitions.  To view all the nested definitions, you will want to
- * traverse the entire tree of {@link SchemaType} defintions within a
- * SchemaTypeSystem by examining the {@link SchemaType#getAnonymousTypes()}
- * within each {@link SchemaType} recursively.
- * <p>The following code is a standard treewalk that visits every
- * {@link SchemaType} in the SchemaTypeSystem once, including nested
- * definitions.
- * <pre>
- * List allSeenTypes = new ArrayList();
- * allSeenTypes.addAll(Arrays.asList(typeSystem.documentTypes()));
- * allSeenTypes.addAll(Arrays.asList(typeSystem.attributeTypes()));
- * allSeenTypes.addAll(Arrays.asList(typeSystem.globalTypes()));
- * for (int i = 0; i < allSeenTypes.size(); i++)
- * {
- *     SchemaType sType = (SchemaType)allSeenTypes.get(i);
- *     System.out.prinlnt("Visiting " + sType.toString());
- *     allSeenTypes.addAll(Arrays.asList(sType.getAnonymousTypes()));
- * }
- * </pre>
- *
- * @see SchemaType 
- * @see SchemaTypeLoader 
- * @see XmlBeans#compileXsd
- * @see XmlBeans#typeLoaderUnion
- * @see XmlBeans#getBuiltinTypeSystem
- */ 
-public interface SchemaTypeSystem extends SchemaTypeLoader
-{
-    /**
-     * Returns the name of this loader.
-     */
-    public String getName();
-
-    /**
-     * Returns the global types defined in this loader.
-     */
-    public org.apache.xmlbeans.SchemaType[] globalTypes();
-
-    /**
-     * Returns the document types defined in this loader.
-     */
-    public org.apache.xmlbeans.SchemaType[] documentTypes();
-
-    /**
-     * Returns the attribute types defined in this loader.
-     */
-    public org.apache.xmlbeans.SchemaType[] attributeTypes();
-
-    /**
-     * Returns the global elements defined in this loader.
-     */
-    public SchemaGlobalElement[] globalElements();
-
-    /**
-     * Returns the global attributes defined in this loader.
-     */
-    public SchemaGlobalAttribute[] globalAttributes();
-
-    /**
-     * Returns the model groups defined in this loader.
-     */
-    public SchemaModelGroup[] modelGroups();
-
-    /**
-     * Returns the attribute groups defined in this loader.
-     */
-    public SchemaAttributeGroup[] attributeGroups();
-
-    /**
-     * Initializes a type system (resolves all handles within the type system).
-     */
-    public void resolve();
-
-    /**
-     * Locates a type, element, or attribute using the handle.
-     */
-    public SchemaComponent resolveHandle(String handle);
-
-    /**
-     * Locates a type, element, or attribute using the handle.
-     */
-    public SchemaType typeForHandle(String handle);
-
-    /**
-     * Returns the classloader used by this loader for resolving types.
-     */
-    public ClassLoader getClassLoader();
-
-    /**
-     * Saves this type to a directory.
-     */
-    public void saveToDirectory(File classDir);
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/SimpleValue.java b/v1/src/xmlpublic/org/apache/xmlbeans/SimpleValue.java
deleted file mode 100644
index 449bca7..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/SimpleValue.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-import java.util.List;
-import java.util.Date;
-import java.util.Calendar;
-import java.math.BigInteger;
-import java.math.BigDecimal;
-
-/**
- * All XmlObject implementations can be coerced to SimpleValue.
- * For any given schema type, only a subset of the conversion
- * methods will work.  Others will throw an exception.
- * <p>
- * SimpleValue is useful for declaring variables which can hold
- * more than one similar schema type that may not happen to
- * have a common XML base type, for example, two list types,
- * or two unrelated integer restrictions that happen to fit
- * into an int.
- */
-public interface SimpleValue extends XmlObject
-{
-    /**
-     * The same as getSchemaType unless this is a union instance
-     * or nil value.
-     * <p>
-     * For unions, this returns the non-union consituent type of
-     * this instance. This type may change if setters are called
-     * that cause the instance to change to another constituent
-     * type of the union.
-     * <p>
-     * For nil values, this returns null.
-     */
-    SchemaType instanceType();
-
-    /** Returns the value as a {@link String}. */
-    String getStringValue();
-    /** Returns the value as a boolean. */
-    boolean getBooleanValue();
-    /** Returns the value as a byte. */
-    public byte getByteValue();
-    /** Returns the value as a short. */
-    public short getShortValue();
-    /** Returns the value as an int. */
-    public int getIntValue();
-    /** Returns the value as a long. */
-    public long getLongValue();
-    /** Returns the value as a {@link BigInteger}. */
-    public BigInteger getBigIntegerValue();
-    /** Returns the value as a {@link BigDecimal}. */
-    public BigDecimal getBigDecimalValue();
-    /** Returns the value as a float. */
-    public float getFloatValue();
-    /** Returns the value as a double. */
-    public double getDoubleValue();
-    /** Returns the value as a byte array. */
-    byte[] getByteArrayValue();
-    /** Returns the value as a {@link StringEnumAbstractBase}. */
-    StringEnumAbstractBase getEnumValue();
-    /** Returns the value as a {@link Calendar}. */
-    Calendar getCalendarValue();
-    /** Returns the value as a {@link Date}. */
-    Date getDateValue();
-    /** Returns the value as a {@link GDate}. */
-    GDate getGDateValue();
-    /** Returns the value as a {@link GDuration}. */
-    GDuration getGDurationValue();
-    /** Returns the value as a {@link QName}. */
-    QName getQNameValue();
-    /** Returns the value as a {@link List} of friendly Java objects (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration). */
-    List getListValue();
-    /** Returns the value as a {@link List} of XmlAnySimpleType objects. */
-    List xgetListValue();
-
-    /** Returns a union value as a its natural friendly Java object (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration). */
-    Object getObjectValue();
-
-    // following are simple type value setters
-
-    /** Sets the value as a {@link String}. */
-    void setStringValue(String obj);
-    /** Sets the value as a boolean. */
-    void setBooleanValue(boolean v);
-    /** Sets the value as a byte. */
-    void setByteValue(byte v);
-    /** Sets the value as a short. */
-    void setShortValue(short v);
-    /** Sets the value as an int. */
-    void setIntValue(int v);
-    /** Sets the value as a long. */
-    void setLongValue(long v);
-    /** Sets the value as a {@link BigInteger}. */
-    void setBigIntegerValue(BigInteger obj);
-    /** Sets the value as a {@link BigDecimal}. */
-    void setBigDecimalValue(BigDecimal obj);
-    /** Sets the value as a float. */
-    void setFloatValue(float v);
-    /** Sets the value as a double. */
-    void setDoubleValue(double v);
-    /** Sets the value as a byte array. */
-    void setByteArrayValue(byte[] obj);
-    /** Sets the value as a {@link StringEnumAbstractBase}. */
-    void setEnumValue(StringEnumAbstractBase obj);
-    /** Sets the value as a {@link Calendar}. */
-    void setCalendarValue(Calendar obj);
-    /** Sets the value as a {@link Date}. */
-    void setDateValue(Date obj);
-    /** Sets the value as a {@link GDate}. */
-    void setGDateValue(GDate obj);
-    /** Sets the value as a {@link GDuration}. */
-    void setGDurationValue(GDuration obj);
-    /** Sets the value as a {@link QName}. */
-    void setQNameValue(QName obj);
-    /** Sets the value as a {@link List}. */
-    void setListValue(List obj);
-    /** Sets the value as an arbitrary {@link Object}. */
-    void setObjectValue(Object obj);
-
-    /**
-     * Returns the value as a {@link String}. *
-     * @deprecated replaced with {@link #getStringValue}
-     */
-    String stringValue();
-    /**
-     * Returns the value as a boolean. *
-     * @deprecated replaced with {@link #getBooleanValue}
-     */
-    boolean booleanValue();
-    /**
-     * Returns the value as a byte. *
-     * @deprecated replaced with {@link #getByteValue}
-     */
-    public byte byteValue();
-    /**
-     * Returns the value as a short. *
-     * @deprecated replaced with {@link #getShortValue}
-     */
-    public short shortValue();
-    /**
-     * Returns the value as an int. *
-     * @deprecated replaced with {@link #getIntValue}
-     */
-    public int intValue();
-    /**
-     * Returns the value as a long. *
-     * @deprecated replaced with {@link #getLongValue}
-     */
-    public long longValue();
-    /**
-     * Returns the value as a {@link BigInteger}. *
-     * @deprecated replaced with {@link #getBigIntegerValue}
-     */
-    public BigInteger bigIntegerValue();
-    /**
-     * Returns the value as a {@link BigDecimal}. *
-     * @deprecated replaced with {@link #getBigDecimalValue}
-     */
-    public BigDecimal bigDecimalValue();
-    /**
-     * Returns the value as a float. *
-     * @deprecated replaced with {@link #getFloatValue}
-     */
-    public float floatValue();
-    /**
-     * Returns the value as a double. *
-     * @deprecated replaced with {@link #getDoubleValue}
-     */
-    public double doubleValue();
-    /**
-     * Returns the value as a byte array. *
-     * @deprecated replaced with {@link #getByteArrayValue}
-     */
-    byte[] byteArrayValue();
-    /**
-     * Returns the value as a {@link StringEnumAbstractBase}. *
-     * @deprecated replaced with {@link #getEnumValue}
-     */
-    StringEnumAbstractBase enumValue();
-    /**
-     * Returns the value as a {@link Calendar}. *
-     * @deprecated replaced with {@link #getCalendarValue}
-     */
-    Calendar calendarValue();
-    /**
-     * Returns the value as a {@link Date}. *
-     * @deprecated replaced with {@link #getDateValue}
-     */
-    Date dateValue();
-    /**
-     * Returns the value as a {@link GDate}. *
-     * @deprecated replaced with {@link #getGDateValue}
-     */
-    GDate gDateValue();
-    /**
-     * Returns the value as a {@link GDuration}. *
-     * @deprecated replaced with {@link #getGDurationValue}
-     */
-    GDuration gDurationValue();
-    /**
-     * Returns the value as a {@link QName}. *
-     * @deprecated replaced with {@link #getQNameValue}
-     */
-    QName qNameValue();
-    /**
-     * Returns the value as a {@link List} of friendly Java objects (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration). *
-     * @deprecated replaced with {@link #getListValue}
-     */
-    List listValue();
-    /**
-     * Returns the value as a {@link List} of XmlAnySimpleType objects. *
-     * @deprecated replaced with {@link #getListValue}
-     */
-    List xlistValue();
-    
-    /**
-     * Returns a union value as a its natural friendly Java object (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration). *
-     * @deprecated replaced with {@link #getObjectValue}
-     */
-    Object objectValue();
-
-    // following are simple type value setters
-
-    /**
-     * Sets the value as a {@link String}. *
-     * @deprecated replaced with {@link #setStringValue}
-     */
-    void set(String obj);
-    /**
-     * Sets the value as a boolean. *
-     * @deprecated replaced with {@link #setBooleanValue}
-     */
-    void set(boolean v);
-    /**
-     * Sets the value as a byte.
-     * @deprecated replaced with {@link #setByteValue}
-     **/
-    void set(byte v);
-    /**
-     * Sets the value as a short.
-     * @deprecated replaced with {@link #setShortValue}
-     **/
-    void set(short v);
-    /**
-     * Sets the value as an int.
-     * @deprecated replaced with {@link #setIntValue}
-     **/
-    void set(int v);
-    /**
-     * Sets the value as a long.
-     * @deprecated replaced with {@link #setLongValue}
-     **/
-    void set(long v);
-    /**
-     * Sets the value as a {@link BigInteger}.
-     * @deprecated replaced with {@link #setBigIntegerValue}
-     **/
-    void set(BigInteger obj);
-    /**
-     * Sets the value as a {@link BigDecimal}
-     * @deprecated replaced with {@link #setBigDecimalValue}
-     **/
-    void set(BigDecimal obj);
-    /**
-     * Sets the value as a float.
-     * @deprecated replaced with {@link #setFloatValue}
-     **/
-    void set(float v);
-    /**
-     * Sets the value as a double.
-     * @deprecated replaced with {@link #setDoubleValue}
-     **/
-    void set(double v);
-    /**
-     * Sets the value as a byte array.
-     * @deprecated replaced with {@link #setByteArrayValue}
-     **/
-    void set(byte[] obj);
-    /**
-     * Sets the value as a {@link StringEnumAbstractBase}.
-     * @deprecated replaced with {@link #setEnumValue}
-     **/
-    void set(StringEnumAbstractBase obj);
-    /**
-     * Sets the value as a {@link Calendar}.
-     * @deprecated replaced with {@link #setCalendarValue}
-     **/
-    void set(Calendar obj);
-    /**
-     * Sets the value as a {@link Date}.
-     * @deprecated replaced with {@link #setDateValue}
-     **/
-    void set(Date obj);
-    /**
-     * Sets the value as a {@link GDate}.
-     * @deprecated replaced with {@link #setGDateValue}
-     **/
-    void set(GDateSpecification obj);
-    /**
-     * Sets the value as a {@link GDuration}.
-     * @deprecated replaced with {@link #setGDurationValue}
-     **/
-    void set(GDurationSpecification obj);
-    /**
-     * Sets the value as a {@link QName}.
-     * @deprecated replaced with {@link #setQNameValue}
-     **/
-    void set(QName obj);
-    /**
-     * Sets the value as a {@link List}.
-     * @deprecated replaced with {@link #setListValue}
-     **/
-    void set(List obj);
-    /**
-     * Sets the value as an arbitrary {@link Object}.
-     * @deprecated replaced with {@link #setObjectValue}
-     **/
-    void objectSet(Object obj);
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/StringEnumAbstractBase.java b/v1/src/xmlpublic/org/apache/xmlbeans/StringEnumAbstractBase.java
deleted file mode 100644
index bc8e130..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/StringEnumAbstractBase.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.List;
-import java.util.ArrayList;
-
-/**
- * The base class for code-generated string enumeration value classes.
- * <p>
- * Subclasses are intended to be final types with a finite set of
- * singleton instances.  Each instance has a string value, which
- * it returns via {@link #toString}, and an int value for the purpose
- * of switching in case statements, returned via {@link #intValue}.
- * <p>
- * Each subclass manages an instance of {@link StringEnumAbstractBase.Table},
- * which holds all the singleton instances for the subclass. A Table
- * can return a singleton instance given a String or an integer code.
- */ 
-public class StringEnumAbstractBase implements java.io.Serializable
-{
-    private static final long serialVersionUID = 1L;
-    
-    private String _string;
-    private int _int;
-
-    /**
-     * Singleton instances should only be created by subclasses.
-     */ 
-    protected StringEnumAbstractBase(String s, int i)
-        { _string = s; _int = i; }
-
-    /** Returns the underlying string value */
-    public final String toString()
-        { return _string; }
-    /** Returns an int code that can be used for switch statements */
-    public final int intValue()
-        { return _int; }
-    /** Returns the hash code of the underlying string */
-    public final int hashCode()
-        { return _string.hashCode(); }
-
-    /**
-     * Used to manage singleton instances of enumerations.
-     * Each subclass of StringEnumAbstractBase has an instance
-     * of a table to hold the singleton instances.
-     */ 
-    public static final class Table
-    {
-        private Map _map;
-        private List _list;
-        public Table(StringEnumAbstractBase[] array)
-        {
-            _map = new HashMap(array.length);
-            _list = new ArrayList(array.length + 1);
-            for (int i = 0; i < array.length; i++)
-            {
-                _map.put(array[i].toString(), array[i]);
-                int j = array[i].intValue();
-                while (_list.size() <= j)
-                    _list.add(null);
-                _list.set(j, array[i]);
-            }
-        }
-        
-        /** Returns the singleton for a {@link String}, or null if none. */
-        public StringEnumAbstractBase forString(String s)
-        {
-            return (StringEnumAbstractBase)_map.get(s);
-        }
-        /** Returns the singleton for an int code, or null if none. */
-        public StringEnumAbstractBase forInt(int i)
-        {
-            if (i < 0 || i > _list.size())
-                return null;
-            return (StringEnumAbstractBase)_list.get(i);
-        }
-        /** Returns the last valid int code (the first is 1; zero is not used). */
-        public int lastInt()
-        {
-            return _list.size() - 1;
-        }
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XMLStreamValidationException.java b/v1/src/xmlpublic/org/apache/xmlbeans/XMLStreamValidationException.java
deleted file mode 100644
index 21a93a1..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XMLStreamValidationException.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import weblogic.xml.stream.XMLStreamException;
-
-/**
- * An exception thrown from a validating XMLInputStream.
- * 
- * @see XmlObject.Factory#newValidatingXMLInputStream
- * @see SchemaTypeLoader#newValidatingXMLInputStream
- * @deprecated Superceded by JSR 173
- */
-public class XMLStreamValidationException extends XMLStreamException
-{
-    public XMLStreamValidationException ( XmlError xmlError )
-    {
-        super( xmlError.toString() );
-        
-        _xmlError = xmlError;
-    }
-
-    public XmlError getXmlError ( )
-    {
-        return _xmlError;
-    }
-
-    private XmlError _xmlError;
-}
\ No newline at end of file
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlAnySimpleType.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlAnySimpleType.java
deleted file mode 100644
index f9fe8ca..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlAnySimpleType.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#Simple_Type_Definition">xs:anySimpleType</a> type.
- * <p>
- * All simple types are convertible to {@link String}. 
- */ 
-public interface XmlAnySimpleType extends XmlObject
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_anySimpleType");
-    
-    /**
-     * Returns the value as a {@link String}
-     * @deprecated replaced by {@link #getStringValue}
-     **/
-    String stringValue();
-    /**
-     * Sets the value as a {@link String}
-     * @deprecated replaced by {@link #setStringValue}
-     **/
-    void set(String s);
-
-    /**
-     * Returns the value as a {@link String}
-     **/
-    String getStringValue();
-
-    /**
-     * Sets the value as a {@link String}
-     **/
-    void setStringValue(String s);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlAnySimpleType}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlAnySimpleType} */
-        public static XmlAnySimpleType newInstance() {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlAnySimpleType} */
-        public static XmlAnySimpleType newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlAnySimpleType} value */
-        public static XmlAnySimpleType newValue(Object obj) {
-          return type.newValue( obj ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from a String. For example: "<code>&lt;xml-fragment&gt;anything&lt;/xml-fragment&gt;</code>". */
-        public static XmlAnySimpleType parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from a String. For example: "<code>&lt;xml-fragment&gt;anything&lt;/xml-fragment&gt;</code>". */
-        public static XmlAnySimpleType parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from a File. */
-        public static XmlAnySimpleType parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from a File. */
-        public static XmlAnySimpleType parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from a URL. */
-        public static XmlAnySimpleType parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlAnySimpleType} fragment from a URL. */
-        public static XmlAnySimpleType parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlAnySimpleType} fragment from an InputStream. */
-        public static XmlAnySimpleType parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from an InputStream. */
-        public static XmlAnySimpleType parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from a Reader. */
-        public static XmlAnySimpleType parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from a Reader. */
-        public static XmlAnySimpleType parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from a DOM Node. */
-        public static XmlAnySimpleType parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from a DOM Node. */
-        public static XmlAnySimpleType parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlAnySimpleType parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlAnySimpleType} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlAnySimpleType parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlAnySimpleType) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlAnyURI.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlAnyURI.java
deleted file mode 100644
index c9212d9..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlAnyURI.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#anyURI">xs:anyURI</a> type.
- * <p>
- * Convertible to {@link String}. 
- */ 
-public interface XmlAnyURI extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_anyURI");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlAnyURI}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlAnyURI} */
-        public static XmlAnyURI newInstance() {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlAnyURI} */
-        public static XmlAnyURI newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlAnyURI} value */
-        public static XmlAnyURI newValue(Object obj) {
-          return (XmlAnyURI) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from a String. For example: "<code>&lt;xml-fragment&gt;http://www.w3.org/&lt;/xml-fragment&gt;</code>". */
-        public static XmlAnyURI parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from a String. For example: "<code>&lt;xml-fragment&gt;http://www.w3.org/&lt;/xml-fragment&gt;</code>". */
-        public static XmlAnyURI parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from a File. */
-        public static XmlAnyURI parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from a File. */
-        public static XmlAnyURI parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from a URL. */
-        public static XmlAnyURI parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlAnyURI} fragment from a URL. */
-        public static XmlAnyURI parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlAnyURI} fragment from an InputStream. */
-        public static XmlAnyURI parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from an InputStream. */
-        public static XmlAnyURI parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from a Reader. */
-        public static XmlAnyURI parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from a Reader. */
-        public static XmlAnyURI parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from a DOM Node. */
-        public static XmlAnyURI parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from a DOM Node. */
-        public static XmlAnyURI parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlAnyURI parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlAnyURI} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlAnyURI parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlAnyURI) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlBase64Binary.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlBase64Binary.java
deleted file mode 100644
index eb2cd86..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlBase64Binary.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#base64Binary">xs:base64Binary</a> type.
- * <p>
- * Convertible to a byte array. 
- */ 
-public interface XmlBase64Binary extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_base64Binary");
-    
-    /**
-     * Returns this value as a byte array.
-     * @deprecated replaced by {@link #getByteArrayValue}
-     **/
-    byte[] byteArrayValue();
-
-    /**
-     * Sets this value as a byte array.
-     * @deprecated replaced by {@link #setByteArrayValue}
-     **/
-    void set(byte[] ba);
-
-    /** Returns this value as a byte array. **/
-    byte[] getByteArrayValue();
-    /** Sets this value as a byte array. */
-    void setByteArrayValue(byte[] ba);
-
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlBase64Binary}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlBase64Binary} */
-        public static XmlBase64Binary newInstance() {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlBase64Binary} */
-        public static XmlBase64Binary newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlBase64Binary} value */
-        public static XmlBase64Binary newValue(Object obj) {
-          return (XmlBase64Binary) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from a String. For example: "<code>&lt;xml-fragment&gt;VGhpcyBzdHJp&lt;/xml-fragment&gt;</code>". */
-        public static XmlBase64Binary parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from a String. For example: "<code>&lt;xml-fragment&gt;VGhpcyBzdHJp&lt;/xml-fragment&gt;</code>". */
-        public static XmlBase64Binary parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from a File. */
-        public static XmlBase64Binary parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from a File. */
-        public static XmlBase64Binary parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from a URL. */
-        public static XmlBase64Binary parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlBase64Binary} fragment from a URL. */
-        public static XmlBase64Binary parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlBase64Binary} fragment from an InputStream. */
-        public static XmlBase64Binary parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from an InputStream. */
-        public static XmlBase64Binary parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from a Reader. */
-        public static XmlBase64Binary parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from a Reader. */
-        public static XmlBase64Binary parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from a DOM Node. */
-        public static XmlBase64Binary parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from a DOM Node. */
-        public static XmlBase64Binary parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlBase64Binary parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlBase64Binary} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlBase64Binary parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlBase64Binary) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlBeans.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlBeans.java
deleted file mode 100644
index 40552db..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlBeans.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-/**
- * Provides an assortment of utilities
- * for managing XML Bean types, type systems, QNames, paths,
- * and queries.
- */
-public final class XmlBeans
-{
-    /**
-     * Thread local QName cache for general use
-     */
-    private static final ThreadLocal _threadLocalLoaderQNameCache =
-        new ThreadLocal()
-        {
-            protected Object initialValue()
-            {
-                return new QNameCache( 32 );
-            }
-        };
-
-    /**
-     * Returns a thread local QNameCache
-     */
-    public static QNameCache getQNameCache ( )
-    {
-        return (QNameCache) _threadLocalLoaderQNameCache.get();
-    }
-
-    /**
-     * Obtains a name from the thread local QNameCache
-     */
-    public static QName getQName ( String localPart )
-    {
-        return getQNameCache().getName( "",  localPart );
-    }
-
-    /**
-     * Obtains a name from the thread local QNameCache
-     */
-
-    public static QName getQName ( String namespaceUri, String localPart )
-    {
-        return getQNameCache().getName( namespaceUri,  localPart );
-    }
-
-    private static final Method _getContextTypeLoaderMethod = buildGetContextTypeLoaderMethod();
-    private static final Method _getBuiltinSchemaTypeSystemMethod = buildGetBuiltinSchemaTypeSystemMethod();
-    private static final Method _getNoTypeMethod = buildGetNoTypeMethod();
-    private static final Method _typeLoaderBuilderMethod = buildTypeLoaderBuilderMethod();
-    private static final Method _compilationMethod = buildCompilationMethod();
-
-    private static RuntimeException causedException(RuntimeException e, Throwable cause)
-    {
-        e.initCause(cause);
-        return e;
-    }
-
-    private static XmlException wrappedException(Throwable e)
-    {
-        if (e instanceof XmlException)
-            return (XmlException) e;
-
-        return new XmlException( e.getMessage(), e );
-    }
-
-    private static Method buildGetContextTypeLoaderMethod()
-    {
-        try
-        {
-            return Class.forName("org.apache.xmlbeans.impl.schema.SchemaTypeLoaderImpl", false, XmlBeans.class.getClassLoader()).getMethod("getContextTypeLoader", new Class[0]);
-        }
-        catch (Exception e)
-        {
-            throw causedException(new IllegalStateException("Cannot load SchemaTypeLoaderImpl: verify that xbean.jar is on the classpath"), e);
-        }
-    }
-
-
-    private static final Method buildGetBuiltinSchemaTypeSystemMethod()
-    {
-        try
-        {
-            return Class.forName("org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem", false, XmlBeans.class.getClassLoader()).getMethod("get", new Class[0]);
-        }
-        catch (Exception e)
-        {
-            throw causedException(new IllegalStateException("Cannot load BuiltinSchemaTypeSystem: verify that xbean.jar is on the classpath"), e);
-        }
-    }
-
-    private static final Method buildGetNoTypeMethod()
-    {
-        try
-        {
-            return Class.forName("org.apache.xmlbeans.impl.schema.BuiltinSchemaTypeSystem", false, XmlBeans.class.getClassLoader()).getMethod("getNoType", new Class[0]);
-        }
-        catch (Exception e)
-        {
-            throw causedException(new IllegalStateException("Cannot load BuiltinSchemaTypeSystem: verify that xbean.jar is on the classpath"), e);
-        }
-    }
-
-
-    private static final Method buildTypeLoaderBuilderMethod()
-    {
-        try
-        {
-            Class resourceLoaderClass = Class.forName("org.apache.xmlbeans.impl.schema.ResourceLoader", false, XmlBeans.class.getClassLoader());
-            return Class.forName("org.apache.xmlbeans.impl.schema.SchemaTypeLoaderImpl", false, XmlBeans.class.getClassLoader()).getMethod("build", new Class[] { SchemaTypeLoader[].class, resourceLoaderClass, ClassLoader.class });
-        }
-        catch (Exception e)
-        {
-            throw causedException(new IllegalStateException("Cannot load SchemaTypeLoaderImpl: verify that xbean.jar is on the classpath"), e);
-        }
-    }
-
-
-    private static final Method buildCompilationMethod()
-    {
-        try
-        {
-            return Class.forName("org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl", false, XmlBeans.class.getClassLoader()).getMethod("forSchemaXml", new Class[] { XmlObject[].class, SchemaTypeLoader.class, XmlOptions.class });
-        }
-        catch (Exception e)
-        {
-            throw causedException(new IllegalStateException("Cannot load SchemaTypeSystemImpl: verify that xbean.jar is on the classpath"), e);
-        }
-    }
-
-    /**
-     * Compiles an XPath, returning a String equal to that which was passed,
-     * but whose identity is that of one which has been precompiled and cached.
-     */
-    public static String compilePath ( String pathExpr ) throws XmlException
-    {
-        return compilePath( pathExpr, null );
-    }
-    
-    /**
-     * Compiles an XPath, returning a String equal to that which was passed,
-     * but whose identity is that of one which has been precompiled and cached; 
-     * takes an option for specifying text that indicates the name of context node.
-     * The default is "this", as in "$this".
-     * 
-     * @param  options  Options for the path. For example, you can call 
-     * the {@link XmlOptions#setXqueryCurrentNodeVar(String) XmlOptions.setXqueryCurrentNodeVar(String)}
-     * method to specify a particular name for the expression 
-     * variable that indicates the context node.
-     */
-    public static String compilePath ( String pathExpr, XmlOptions options )
-        throws XmlException
-    {
-        return getContextTypeLoader().compilePath( pathExpr, options );
-    }
-    
-    /**
-     * Compiles an XQuery, returning a String equal to that which was passed,
-     * but whose identity is that of one which has been precompiled and cached.
-     */
-    public static String compileQuery ( String queryExpr ) throws XmlException
-    {
-        return compileQuery( queryExpr, null );
-    }
-    
-    /**
-     * Compiles an XQuery, returning a String equal to that which was passed,
-     * but whose identity is that of one which has been precompiled and cached;
-     * takes an option for specifying text that indicates the context node.
-     * 
-     * @param  options  Options for the query. For example, you can call 
-     * the {@link XmlOptions#setXqueryCurrentNodeVar(String) XmlOptions.setXqueryCurrentNodeVar(String)}
-     * method to specify a particular name for the expression 
-     * variable that indicates the context node.
-     */
-    public static String compileQuery ( String queryExpr, XmlOptions options )
-        throws XmlException
-    {
-        return getContextTypeLoader().compileQuery( queryExpr, options );
-    }
-    
-    /**
-     * Gets the SchemaTypeLoader based on the current thread's context
-     * ClassLoader. This is the SchemaTypeLoader that is used to assign
-     * schema types to XML documents by default. The SchemaTypeLoader is
-     * also consulted to resolve wildcards and xsi:type attributes.
-     * <p>
-     * The "parse" methods of XmlBeans all delegate to the
-     * "parseInstance" methods of the context type loader.
-     */
-    public static SchemaTypeLoader getContextTypeLoader()
-    {
-        try
-        {
-            return (SchemaTypeLoader)_getContextTypeLoaderMethod.invoke(null, null);
-        }
-        catch (IllegalAccessException e)
-        {
-            throw causedException(new IllegalStateException("No access to SchemaTypeLoaderImpl.getContextTypeLoader(): verify that version of xbean.jar is correct"), e);
-        }
-        catch (InvocationTargetException e)
-        {
-            throw causedException(new IllegalStateException(e.getMessage()), e.getCause());
-        }
-    }
-
-    /**
-     * Returns the builtin type system. This SchemaTypeSystem contains
-     * only the 46 builtin types defined by the XML Schema specification.
-     */
-    public static SchemaTypeSystem getBuiltinTypeSystem()
-    {
-        try
-        {
-            return (SchemaTypeSystem)_getBuiltinSchemaTypeSystemMethod.invoke(null, null);
-        }
-        catch (IllegalAccessException e)
-        {
-            throw causedException(new IllegalStateException("No access to BuiltinSchemaTypeSystem.get(): verify that version of xbean.jar is correct"), e);
-        }
-        catch (InvocationTargetException e)
-        {
-            throw causedException(new IllegalStateException(e.getMessage()), e.getCause());
-        }
-    }
-
-    /**
-     * Returns the SchemaTypeSystem that results from compiling the XML
-     * schema definitions passed.
-     * <p>
-     * Just like compileTypeSystem, but uses the context type loader for
-     * linking, and returns a unioned typeloader that is suitable for
-     * creating instances.
-     */
-    public static SchemaTypeLoader loadXsd(XmlObject[] schemas) throws XmlException
-    {
-        return loadXsd(schemas, null);
-    }
-    
-    /**
-     * <p>Returns the SchemaTypeSystem that results from compiling the XML
-     * schema definitions passed in <em>schemas</em>.</p>
-     * 
-     * <p>This is just like compileTypeSystem, but uses the context type loader for
-     * linking, and returns a unioned typeloader that is suitable for
-     * creating instances.</p>
-     * 
-     * <p>Use the <em>options</em> parameter to specify one or both of the following:</p>
-     * 
-     * <ul>
-     * <li>A collection instance that should be used as an error listener during
-     * compilation, as described in {@link XmlOptions#setErrorListener}.</li>
-     * <li>Whether validation should not be done when building the SchemaTypeSystem,
-     * as described in {@link XmlOptions#setCompileNoValidation}.</li>
-     * </ul>
-     * 
-     * @param schemas The schema definitions from which to build the schema type system.
-     * @param options Options specifying an error listener and/or validation behavior.
-     */
-    public static SchemaTypeLoader loadXsd(XmlObject[] schemas, XmlOptions options) throws XmlException
-    {
-        try
-        {
-            SchemaTypeSystem sts =
-                (SchemaTypeSystem)
-                    _compilationMethod.invoke(
-                        null, new Object[] { schemas, getContextTypeLoader(), options });
-
-            if (sts == null)
-                return null;
-            
-            return
-                typeLoaderUnion(
-                    new SchemaTypeLoader[] { sts, getContextTypeLoader() } );
-        }
-        catch (IllegalAccessException e)
-        {
-            throw causedException(new IllegalStateException("No access to SchemaTypeLoaderImpl.forSchemaXml(): verify that version of xbean.jar is correct"), e);
-        }
-        catch (InvocationTargetException e)
-        {
-            throw wrappedException(e.getCause());
-        }
-    }
-    
-    /**
-     * <p>Returns the SchemaTypeSystem that results from compiling the XML
-     * schema definitions passed.</p>
-     * 
-     * <p>The XmlObjects passed in should be w3c &lt;schema&gt; elements whose type
-     * is org.w3c.x2001.xmlSchema.Schema. (That is, schema elements in
-     * the XML namespace http://www.w3c.org/2001/XMLSchema.)  Also
-     * org.w3c.x2001.xmlSchema.SchemaDocument is permitted.</p>
-     * 
-     * <p>The optional second argument is a SchemaTypeLoader which will be
-     * consulted for already-compiled schema types which may be linked
-     * while processing the given schemas.</p>
-     * 
-     * <p>The SchemaTypeSystem that is returned should be combined
-     * (via {@link #typeLoaderUnion}) with the typepath typeloader in order
-     * to create a typeloader that can be used for creating and validating
-     * instances.</p>
-     * 
-     * <p>Use the <em>options</em> parameter to specify the following:</p>
-     * 
-     * <ul>
-     * <li>A collection instance that should be used as an error listener during
-     * compilation, as described in {@link XmlOptions#setErrorListener}.</li>
-     * <li>Whether validation should not be done when building the SchemaTypeSystem,
-     * as described in {@link XmlOptions#setCompileNoValidation}.</li>
-     * </ul>
-     * 
-     * @param schemas The schema definitions from which to build the schema type system.
-     * @param typepath The path to already-compiled schema types for linking while processing.
-     * @param options Options specifying an error listener and/or validation behavior.
-     */
-    public static SchemaTypeSystem compileXsd(XmlObject[] schemas, SchemaTypeLoader typepath, XmlOptions options) throws XmlException
-    {
-        if (typepath == null)
-            throw new IllegalArgumentException("Must supply a SchemaTypeLoader for compiletime linking");
-
-        try
-        {
-            return (SchemaTypeSystem)_compilationMethod.invoke(null, new Object[] { schemas, typepath, options });
-        }
-        catch (IllegalAccessException e)
-        {
-            throw new IllegalStateException("No access to SchemaTypeLoaderImpl.forSchemaXml(): verify that version of xbean.jar is correct");
-        }
-        catch (InvocationTargetException e)
-        {
-            throw wrappedException(e.getCause());
-        }
-    }
-    
-    /**
-     * Returns the union of a list of typeLoaders. The returned
-     * SchemaTypeLoader searches the given list of SchemaTypeLoaders
-     * in order from first to last.
-     */
-    public static SchemaTypeLoader typeLoaderUnion(SchemaTypeLoader[] typeLoaders)
-    {
-        try
-        {
-            if (typeLoaders.length == 1)
-                return typeLoaders[0];
-
-            return (SchemaTypeLoader)_typeLoaderBuilderMethod.invoke(null, new Object[] {typeLoaders, null, null});
-        }
-        catch (IllegalAccessException e)
-        {
-            throw causedException(new IllegalStateException("No access to SchemaTypeLoaderImpl: verify that version of xbean.jar is correct"), e);
-        }
-        catch (InvocationTargetException e)
-        {
-            throw causedException(new IllegalStateException(e.getMessage()), e.getCause());
-        }
-    }
-
-    /**
-     * Returns a SchemaTypeLoader that searches for compiled schema types
-     * in the given ClassLoader.
-     */
-    public static SchemaTypeLoader typeLoaderForClassLoader(ClassLoader loader)
-    {
-        try
-        {
-            return (SchemaTypeLoader)_typeLoaderBuilderMethod.invoke(null, new Object[] {null, null, loader});
-        }
-        catch (IllegalAccessException e)
-        {
-            throw causedException(new IllegalStateException("No access to SchemaTypeLoaderImpl: verify that version of xbean.jar is correct"), e);
-        }
-        catch (InvocationTargetException e)
-        {
-            throw causedException( new IllegalStateException(e.getMessage()), e );
-        }
-    }
-
-    /**
-     * Returns the SchemaType from a corresponding XmlObject subclass,
-     * or null if none.
-     */
-    public static SchemaType typeForClass(Class c)
-    {
-        if (c == null || !XmlObject.class.isAssignableFrom(c))
-            return null;
-
-        try
-        {
-            Field typeField = c.getField("type");
-            
-            if (typeField == null)
-                return null;
-
-            return (SchemaType)typeField.get(null);
-        }
-        catch (Exception e)
-        {
-            return null;
-        }
-    }
-
-    private static SchemaType getNoType()
-    {
-        try
-        {
-            return (SchemaType)_getNoTypeMethod.invoke(null, null);
-        }
-        catch (IllegalAccessException e)
-        {
-            throw causedException(new IllegalStateException("No access to SchemaTypeLoaderImpl.getContextTypeLoader(): verify that version of xbean.jar is correct"), e);
-        }
-        catch (InvocationTargetException e)
-        {
-            throw causedException(new IllegalStateException(e.getMessage()), e.getCause());
-        }
-    }
-
-    /**
-     * The SchemaType object given to an XmlObject instance when
-     * no type can be determined.
-     * <p>
-     * The NO_TYPE is the universal derived type.  That is, it is
-     * derived from all other schema types, and no instances of the
-     * NO_TYPE are valid. (It is not to be confused with the anyType,
-     * which is the universal base type from which all other types
-     * can be derived, and of which all instances are valid.)
-     */
-    public static SchemaType NO_TYPE = getNoType();
-
-    private XmlBeans ( ) { }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlBoolean.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlBoolean.java
deleted file mode 100644
index c9063c1..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlBoolean.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#boolean">xs:boolean</a> type.
- * <p>
- * Naturally, convertible to Java boolean. 
- */ 
-public interface XmlBoolean extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_boolean");
-    
-    /**
-     * Returns this value as a boolean
-     * @deprecated replaced by {@link #getBooleanValue}
-     **/
-    boolean booleanValue();
-    /**
-     * Sets this value as a boolean
-     * @deprecated replaced by {@link #setBooleanValue}
-     **/
-    void set(boolean v);
-
-    /** Returns this value as a boolean */
-    boolean getBooleanValue();
-    /** Sets this value as a boolean */
-    void setBooleanValue(boolean v);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlBoolean}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlBoolean} */
-        public static XmlBoolean newInstance() {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlBoolean} */
-        public static XmlBoolean newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlBoolean} value */
-        public static XmlBoolean newValue(Object obj) {
-          return (XmlBoolean) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from a String. For example: "<code>&lt;xml-fragment&gt;true&lt;/xml-fragment&gt;</code>". */
-        public static XmlBoolean parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from a String. For example: "<code>&lt;xml-fragment&gt;true&lt;/xml-fragment&gt;</code>". */
-        public static XmlBoolean parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from a File. */
-        public static XmlBoolean parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from a File. */
-        public static XmlBoolean parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from a URL. */
-        public static XmlBoolean parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlBoolean} fragment from a URL. */
-        public static XmlBoolean parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlBoolean} fragment from an InputStream. */
-        public static XmlBoolean parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from an InputStream. */
-        public static XmlBoolean parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from a Reader. */
-        public static XmlBoolean parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from a Reader. */
-        public static XmlBoolean parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from a DOM Node. */
-        public static XmlBoolean parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from a DOM Node. */
-        public static XmlBoolean parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlBoolean parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlBoolean} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlBoolean parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlBoolean) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlByte.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlByte.java
deleted file mode 100644
index d0aa4db..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlByte.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#byte">xs:byte</a> type.
- * <p>
- * Naturally, convertible to Java byte. 
- */ 
-public interface XmlByte extends XmlShort
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_byte");
-    
-    /**
-     * Returns this value as a byte
-     * @deprecated replaced by {@link #getByteValue}
-     **/
-    public byte byteValue();
-    /**
-     * Sets this value as a byte
-     * @deprecated replaced by {@link #setByteValue}
-     **/
-    public void set(byte s);
-
-    /** Returns this value as a byte */
-    public byte getByteValue();
-    /** Sets this value as a byte */
-    public void setByteValue(byte s);
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlByte}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlByte} */
-        public static XmlByte newInstance() {
-          return (XmlByte) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlByte} */
-        public static XmlByte newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlByte) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlByte} value */
-        public static XmlByte newValue(Object obj) {
-          return (XmlByte) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlByte} fragment from a String. For example: "<code>&lt;xml-fragment&gt;123&lt;/xml-fragment&gt;</code>". */
-        public static XmlByte parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlByte} fragment from a String. For example: "<code>&lt;xml-fragment&gt;123&lt;/xml-fragment&gt;</code>". */
-        public static XmlByte parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlByte} fragment from a File. */
-        public static XmlByte parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlByte} fragment from a File. */
-        public static XmlByte parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlByte} fragment from a URL. */
-        public static XmlByte parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlByte} fragment from a URL. */
-        public static XmlByte parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlByte} fragment from an InputStream. */
-        public static XmlByte parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlByte} fragment from an InputStream. */
-        public static XmlByte parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlByte} fragment from a Reader. */
-        public static XmlByte parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlByte} fragment from a Reader. */
-        public static XmlByte parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlByte} fragment from a DOM Node. */
-        public static XmlByte parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlByte} fragment from a DOM Node. */
-        public static XmlByte parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlByte} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlByte parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlByte} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlByte parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlByte) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlCalendar.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlCalendar.java
deleted file mode 100644
index a4b0c9e..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlCalendar.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.GregorianCalendar;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.TimeZone;
-import java.math.BigDecimal;
-
-/**
- * An XML Schema compatible subclass of {@link java.util.GregorianCalendar GregorianCalendar}.
- * XmlCalendar modifies several key details in the behavior of
- * GregorianCalendar to make it more useful when dealing with XML dates.
- * <p>
- * It is easy to convert between XmlCalendar and {@link GDate}, or to
- * parse or emit an XmlCalendar using a standard XML Schema
- * lexical representation.
- * <ol>
- * <li>
- * To match XML Schema dates, this XmlCalendar is a fully proleptic
- * Gregorian calendar by default, which means that Gregorian calendar
- * rules are applied backwards in time as if they had always been in
- * effect, actual historical circumstances concerning the observance
- * of the 1582 decree of Pope Gregory XIII notwithstanding.
- * </li>
- * <li>
- * In order to better support partially-specified dates for XML Schema,
- * this implementation provides a stable get(field) method
- * that does not modify the instance if you are acessing a field right
- * after it was explicitly set: a set followed by a get will always
- * return the same thing and will not fill in any other fields. However,
- * if you get a field that was not explicitly set, then all the fields
- * are still automatically filled and normalized for you, just like a
- * regular GregorianCalendar. If you wish to force the completion and
- * defaulting of all the fields (without hunting to get one that happens
- * to be unset), you can always do so by calling getTime().
- * </li>
- * <li>
- * When a year is unspecified and needs to be filled in automatically
- * (for example when using a .get or .getTime method as discussed above),
- * the year is defaulted to year 0 (also known as 1 BC).  This is different
- * from {@link GregorianCalendar}, which chooses 1970. The reason 0 is preferable
- * is that it is a leap year and so it permits the date --2-29 to be specified
- * stably. A different default year can be chosen via the static method
- * {@link #setDefaultYear(int) XmlCalendar.setDefaultYear()}, or by setting the 
- * system property "user.defaultyear". If you do change this value, you should 
- * pick another leap year such as 2000 and avoid non-leap years such as 1900.
- * </li>
- * <li>
- * When constructing an XmlCalendar from an XML Schema
- * formatted date or time string or GDate object, the timezone
- * for the calendar is taken from the string if it is present, or
- * taken to be {@link java.util.TimeZone#getDefault() TimeZone.getDefault()} if not.
- * <p>
- *     For example, the XML timezone "Z" is translated to "GMT";
- *     the XML timezone "+05:00" is translated to "GMT+05:00".
- * </p>
- * </li>
- * <li>
- * Finally, this implementation provides a String constructor and a
- * toString() method that comply with the XML Schema conventions
- * for formatting a date. If only a subset of fields have been
- * explicitly set, toString() produces a string with the proper subset
- * of information.
- * </li>
- * </ol>
- */ 
-public class XmlCalendar extends GregorianCalendar
-{
-    /**
-     * Constructs an XmlCalendar for a standard XML
-     * schema formatted date string.
-     * 
-     * The parser accepts any of the following formats:
-     * 
-     * YYYY-MM-DDThh:mm:ss          - dateTime
-     * YYYY-MM-DD                   - date
-     *            hh:mm:ss          - time
-     * YYYY                         - gYear
-     *    --MM                      - gMonth
-     *      ---DD                   - gDay
-     * 
-     * The parser actually accepts all 16 combinations of subsets of
-     * fields (Y, M, D, T) using the same scheme, even for combinations
-     * that are not defined as types in the schema spec, such as
-     * year, day, and time:
-     * 
-     * YYYY--DDThh:mm:ss            - [everything but month specified]
-     * 
-     * In the string, each field must be padded to its full width, for
-     * example, January must be --01, not just --1.
-     * 
-     * In particular, a year must be padded to at least four digits, so
-     * "98" is not a valid year, although "1998" and "0098" are both valid
-     * years, unambiguously 19 centuries separated from each other.  A year
-     * may also be preceded by a minus symbol: 0000 is 1 BC and -0001 is
-     * 2 BC.
-     *
-     * Finally a timezone is always allowed (yet optional) at the end.
-     * Timezones must be either "Z" (UTC, which we translate to GMT),
-     * or simple offsets from UTC in the range "-14:00" to "+14:00",
-     * for example: "14:30:00-05:00" specifies 2:30 PM in the
-     * afternoon at UTC-05:00, which is the same as EST.
-     * 
-     * If a timezone is not specified, the default TimeZone is used.
-     */ 
-    public XmlCalendar(String xmlSchemaDateString)
-    {
-        this(new GDate(xmlSchemaDateString)); // use GDate to parse
-    }
-    
-    /**
-     * Constructs an XmlCalendar from a GDate.
-     * 
-     * If the instance is not completed, you can round-trip to an
-     * equivalent GDate by writing "new GDate(new XmlCalendar(gdate))".
-     * However, if you access any of the unset fields of the calendar, all
-     * the fields will be automatically filled in, so partial dates
-     * without timezones or other fields will not round-trip after access.
-     */ 
-    public XmlCalendar(GDateSpecification date)
-    {
-        this(GDate.timeZoneForGDate(date), date);
-    }
-    
-    private XmlCalendar(TimeZone tz, GDateSpecification date)
-    {
-        super(tz);
-        setGregorianChange(_beginningOfTime); // proleptic
-        clear();
-        
-        if (date.hasYear())
-        {
-            int y = date.getYear();
-            if (y > 0)
-            {
-                set(Calendar.ERA, GregorianCalendar.AD);
-            }
-            else
-            {
-                set(Calendar.ERA, GregorianCalendar.BC);
-                y = 1 - y;
-            }
-            set(Calendar.YEAR, y);
-        }
-        if (date.hasMonth())
-            set(Calendar.MONTH, date.getMonth() - 1); // note!!
-        if (date.hasDay())
-            set(Calendar.DAY_OF_MONTH, date.getDay());
-        if (date.hasTime())
-        {
-            set(Calendar.HOUR_OF_DAY, date.getHour());
-            set(Calendar.MINUTE, date.getMinute());
-            set(Calendar.SECOND, date.getSecond());
-            if (date.getFraction().scale() > 0)
-                set(Calendar.MILLISECOND, date.getMillisecond());
-        }
-        if (date.hasTimeZone())
-        {
-            set(Calendar.ZONE_OFFSET, date.getTimeZoneSign() * 1000 * 60 * (date.getTimeZoneHour() * 60 + date.getTimeZoneMinute()));
-            set(Calendar.DST_OFFSET, 0); // note!!  if we don't do this, then GregorianCalendar will pick up DST from the time zone
-        }
-    }
-    
-    /**
-     * Constructs an XmlCalendar from a Date.
-     * 
-     * The default TimeZone is used for computing the various fields.
-     */
-    public XmlCalendar(Date date)
-    {
-        this(TimeZone.getDefault(), new GDate(date));
-        complete();
-    }
-    
-    /**
-     * Constructs an XmlCalendar with the specified year, month, day,
-     * hours, minutes, seconds, and optional fractional seconds, in
-     * the default timezone.
-     */
-    public XmlCalendar(
-            int year,
-            int month,
-            int day,
-            int hour,
-            int minute,
-            int second,
-            BigDecimal fraction)
-    {
-        this(TimeZone.getDefault(), new GDate(year, month, day, hour, minute, second, fraction));
-    }
-    
-    /**
-     * Constructs an XmlCalendar with the specified year, month, day,
-     * hours, minutes, seconds, and optional fractional seconds, in
-     * the specified timezone.
-     */
-    public XmlCalendar(
-            int year,
-            int month,
-            int day,
-            int hour,
-            int minute,
-            int second,
-            BigDecimal fraction,
-            int tzSign,
-            int tzHour,
-            int tzMinute)
-    {
-        this(new GDate(year, month, day, hour, minute, second, fraction, tzSign, tzHour, tzMinute));
-    }
-    
-
-    /**
-     * Gets the value for a given time field.
-     * 
-     * Unlike the GregorianCalendar implementation, the get() does not
-     * force a complete of all fields.  If you wish to force a completion
-     * of all the fields, call getTime() first.
-     */
-    public int get(int field)
-    {
-        if (!isSet(field) || isTimeSet)
-            return super.get(field); // forces a complete
-        else
-            return internalGet(field); // does not force a complete.
-    }
-
-    /**
-     * Constructs an empty instance with no fields set.
-     */ 
-    public XmlCalendar()
-    {
-        setGregorianChange(_beginningOfTime); // proleptic
-        clear();
-    }
-    
-    private static int defaultYear = Integer.MIN_VALUE;
-    private static final int DEFAULT_DEFAULT_YEAR = 0; 
-    
-    /**
-     * Returns the default year that is used when no year is specified.
-     */ 
-    public static int getDefaultYear()
-    {
-        if (defaultYear == Integer.MIN_VALUE)
-        {
-            try
-            {
-                String yearstring = System.getProperty("user.defaultyear");
-                if (yearstring != null)
-                    defaultYear = Integer.parseInt(yearstring);
-                else
-                    defaultYear = DEFAULT_DEFAULT_YEAR;
-            }
-            catch (Throwable t)
-            {
-                defaultYear = DEFAULT_DEFAULT_YEAR;
-            }
-        }
-        return defaultYear;
-    }
-    
-    /**
-     * Sets the default year to be used when no year is specified.
-     */ 
-    public static void setDefaultYear(int year)
-    {
-        defaultYear = year;
-    }
-    
-    /**
-     * Overrides GregorianCalendar.computeTime to apply a different
-     * default year.  (It must be a leap year.)
-     */ 
-    protected void computeTime()
-    {
-        boolean unsetYear = !isSet(YEAR);
-        if (unsetYear)
-            set(YEAR, getDefaultYear());
-        try
-        {
-            super.computeTime();
-        }
-        finally
-        {
-            if (unsetYear)
-                clear(YEAR);
-        }
-    }
-        
-    private static Date _beginningOfTime = new Date(Long.MIN_VALUE);
-    
-    /**
-     * Prints the XmlCalendar using a standard XML Schema
-     * format, as described in XmlCalendar(String s).
-     */
-    public String toString()
-    {
-        return (new GDate(this)).toString(); // use GDate to print
-    }
-
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlCursor.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlCursor.java
deleted file mode 100644
index af9b10e..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlCursor.java
+++ /dev/null
@@ -1,1811 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.lang.ref.Reference;
-import java.lang.ref.WeakReference;
-import java.util.Collection;
-import java.util.Map;
-import javax.xml.namespace.QName;
-
-/**
- * Represents a position between two logical tokens in an XML document. 
- * 
- * The tokens themselves are not exposed as objects, but their type and properties
- * are discoverable through methods on the cursor.  In particular, the general
- * category of token is represented by a {@link XmlCursor.TokenType TokenType}.<br/><br/>
- * 
- * You use an XmlCursor instance to navigate through and manipulate an XML 
- * instance document. 
- * Once you obtain an XML document, you can create a cursor to represent 
- * a specific place in the XML. Because you can use a cursor with or 
- * without a schema corresponding to the XML, cursors are an ideal 
- * way to handle XML without a schema. You can create a new cursor by
- * calling the {@link XmlTokenSource#newCursor() newCursor} method 
- * exposed by an object representing
- * the XML, whether it was parsed into a strong type compiled from 
- * schema or an {@link XmlObject XmlObject} (as in the no-schema case).<br/><br/>
- * 
- * With an XmlCursor, you can also: <br/><br/>
- * 
- * <ul>
- * <li>Execute XQuery and XPath expressions against the XML with the
- * execQuery and selectPath methods.</li>
- * 
- * <li>Edit and reshape the document by inserting, moving, copying, and removing
- * XML.</li>
- * 
- * <li>Insert bookmarks that "stick" to the XML at the cursor's
- * position even if the cursor or XML moves.</li>
-
- * <li>Get and set values for containers (elements and whole documents),
- * attributes, processing instructions, and comments.</li>
- * </ul>
- * 
- * A cursor moves through XML by moving past tokens. A
- * token represents a category of XML markup, such as the start of an element, 
- * its end, an attribute, comment, and so on. XmlCursor methods such as
- * toNextToken, toNextSibling, toParent, and so on move the cursor 
- * among tokens. Each token's category is of a particular <em>type</em>, represented 
- * by one of the nine types defined by the {@link XmlCursor.TokenType TokenType} class. <br/><br/>
- * 
- * When you get a new cursor for a whole instance document, the cursor is
- * intially located before the STARTDOC token. This token, which has no analogy
- * in the XML specification, is present in this logical model of XML
- * so that you may distinguish between the document as a whole
- * and the content of the document. Terminating the document is an ENDDOC
- * token. This token is also not part of the XML specification. A cursor 
- * located immediately before this token is at the very end of the document. 
- * It is not possible to position the cursor after the ENDDOC token. 
- * Thus, the STARTDOC and ENDDOC tokens are effectively "bookends" for the content of 
- * the document.<br/><br/>
- * 
- * For example, for the following XML, if you were the navigate a cursor
- * through the XML document using toNextToken(), the list of token types that 
- * follows represents the token sequence you would encounter. <br/><br/>
- * 
- * <pre>
- * &lt;sample x='y'&gt;
- *     &lt;value&gt;foo&lt;/value&gt;
- * &lt;/sample&gt;
- * </pre>
- * 
- * STARTDOC <br/>
- * START (sample) <br/>
- * ATTR (x='y') <br/>
- * TEXT ("\n    ") <br/>
- * START (value) <br/>
- * TEXT ("foo") <br/>
- * END (value) <br/>
- * TEXT ("\n") <br/>
- * END (sample)<br/>
- * ENDDOC <br/><br/>
- *
- * When there are no more tokens available, hasNextToken() returns
- * false and toNextToken() returns the special token type NONE and does not move
- * the cursor.
- * <br/><br/>
- * 
- * The {@link #currentTokenType() currentTokenType()} method 
- * will return the type of the token that is immediately after the cursor. 
- * You can also use a number of convenience methods that test for a particular 
- * token type. These include the methods isStart(), 
- * isStartdoc(), isText(), isAttr(), and so on. Each returns a boolean 
- * value indicating whether the token that follows the cursor is the type 
- * in question. 
- * <br/><br/>
- * 
- * A few other methods determine whether the token is of a kind that may include 
- * multiple token types. The isAnyAttr() method, for example, returns true if
- * the token immediately following the cursor is any kind of attribute, 
- * including those of the ATTR token type and xmlns attributes.
- * <br/><br/>
- * 
- * Legitimate sequences of tokens for an XML document are described
- * by the following Backus-Naur Form (BNF): <br/>
- * 
- * <pre>
- * &lt;doc&gt; ::= STARTDOC &lt;attributes&gt; &lt;content&gt; ENDDOC
- * &lt;element&gt; ::= START &lt;attributes&gt; &lt;content&gt; END
- * &lt;attributes&gt; ::= ( ATTR | NAMESPACE ) *
- * &lt;content&gt; ::= ( COMMENT | PROCINST | TEXT | &lt;element&gt; ) *
- * </pre>
- * 
- * Note that a legitimate sequence is STARTDOC ENDDOC, the result of 
- * creating a brand new instance of an empty document. Also note that 
- * attributes may only follow container tokens (STARTDOC or START)
- */
-public interface XmlCursor extends XmlTokenSource
-{
-    /**
-     * An enumeration that identifies the type of an XML token.
-     */
-    public static final class TokenType
-    {
-        public String toString ( ) { return _name;  }
-
-        /**
-         * Returns one of the INT_ values defined in this class.
-         */
-        public int intValue ( ) { return _value; }
-        
-        /** No token.  See {@link #intValue}. */ 
-        public static final int INT_NONE      = 0;
-        /** The start-document token.  See {@link #intValue}. */ 
-        public static final int INT_STARTDOC  = 1;
-        /** The end-document token.  See {@link #intValue}. */ 
-        public static final int INT_ENDDOC    = 2;
-        /** The start-element token.  See {@link #intValue}. */ 
-        public static final int INT_START     = 3;
-        /** The end-element token.  See {@link #intValue}. */ 
-        public static final int INT_END       = 4;
-        /** The text token.  See {@link #intValue}. */ 
-        public static final int INT_TEXT      = 5;
-        /** The attribute token.  See {@link #intValue}. */ 
-        public static final int INT_ATTR      = 6;
-        /** The namespace declaration token.  See {@link #intValue}. */ 
-        public static final int INT_NAMESPACE = 7;
-        /** The comment token.  See {@link #intValue}. */ 
-        public static final int INT_COMMENT   = 8;
-        /** The processing instruction token.  See {@link #intValue}. */ 
-        public static final int INT_PROCINST  = 9;
-        
-        /** True if no token. */
-        public boolean isNone      ( ) { return this == NONE;      }
-        /** True if is start-document token. */
-        public boolean isStartdoc  ( ) { return this == STARTDOC;  }
-        /** True if is end-document token. */
-        public boolean isEnddoc    ( ) { return this == ENDDOC;    }
-        /** True if is start-element token. */
-        public boolean isStart     ( ) { return this == START;     }
-        /** True if is end-element token. */
-        public boolean isEnd       ( ) { return this == END;       }
-        /** True if is text token. */
-        public boolean isText      ( ) { return this == TEXT;      }
-        /** True if is attribute token. */
-        public boolean isAttr      ( ) { return this == ATTR;      }
-        /** True if is namespace declaration token. */
-        public boolean isNamespace ( ) { return this == NAMESPACE; }
-        /** True if is comment token. */
-        public boolean isComment   ( ) { return this == COMMENT;   }
-        /** True if is processing instruction token. */
-        public boolean isProcinst  ( ) { return this == PROCINST;  }
-
-        /** True if is start-document or start-element token */
-        public boolean isContainer ( ) { return this == STARTDOC  || this == START; }
-        /** True if is end-document or end-element token */
-        public boolean isFinish    ( ) { return this == ENDDOC    || this == END;   }
-        /** True if is attribute or namespace declaration token */
-        public boolean isAnyAttr   ( ) { return this == NAMESPACE || this == ATTR;  }
-
-        /** The singleton no-token type */
-        public static final TokenType NONE      = new TokenType( "NONE",      INT_NONE      );
-        /** The singleton start-document token type */
-        public static final TokenType STARTDOC  = new TokenType( "STARTDOC",  INT_STARTDOC  );
-        /** The singleton start-document token type */
-        public static final TokenType ENDDOC    = new TokenType( "ENDDOC",    INT_ENDDOC    );
-        /** The singleton start-element token type */
-        public static final TokenType START     = new TokenType( "START",     INT_START     );
-        /** The singleton end-element token type */
-        public static final TokenType END       = new TokenType( "END",       INT_END       );
-        /** The singleton text token type */
-        public static final TokenType TEXT      = new TokenType( "TEXT",      INT_TEXT      );
-        /** The singleton attribute token type */
-        public static final TokenType ATTR      = new TokenType( "ATTR",      INT_ATTR      );
-        /** The singleton namespace declaration token type */
-        public static final TokenType NAMESPACE = new TokenType( "NAMESPACE", INT_NAMESPACE );
-        /** The singleton comment token type */
-        public static final TokenType COMMENT   = new TokenType( "COMMENT",   INT_COMMENT   );
-        /** The singleton processing instruction token type */
-        public static final TokenType PROCINST  = new TokenType( "PROCINST",  INT_PROCINST  );
-
-        private TokenType ( String name, int value )
-        {
-            _name = name;
-            _value = value;
-        }
-        
-        private String _name;
-        private int    _value;
-    }
-
-    /**
-     * Deallocates resources needed to manage the cursor, rendering this cursor
-     * inoperable. Because cursors are managed by a mechanism which stores the 
-     * XML, simply letting a cursor go out of scope and having the garbage collector
-     * attempt to reclaim it may not produce desirable performance.<br/><br/>
-     *
-     * So, explicitly disposing a cursor allows the underlying implementation
-     * to release its responsibility of maintaining its position.<br/><br/>
-     *
-     * After a cursor has been disposed, it may not be used again.  It can
-     * throw IllegalStateException or NullPointerException if used after
-     * disposal.<br/><br/>
-     */
-
-    void dispose ( );
-    
-    /**
-     * Moves this cursor to the same position as the moveTo cursor.  if the
-     * moveTo cursor is in a different document from this cursor, this cursor
-     * will not be moved, and false returned.
-     * 
-     * @param  moveTo  The cursor at the location to which this cursor
-     * should be moved.
-     * @return  true if the cursor moved; otherwise, false.
-     */
-
-    boolean toCursor ( XmlCursor moveTo );
-    
-    /**
-     * Saves the current location of this cursor on an internal stack of saved
-     * positions (independent of selection). This location may be restored
-     * later by calling the pop() method.
-     */
-
-    void push ( );
-
-    /**
-     * Restores the cursor location most recently saved with the push() method.
-     * 
-     * @return  true if there was a location to restore; otherwise, false.
-     */
-
-    boolean pop ( );
-
-    /**
-     * Executes the specified XPath expression against the XML that this 
-     * cursor is in.  The cursors position does not change.  To navigate to the
-     * selections, use hasNextSelection and toNextSelection (similar to
-     * java.util.Iterator).<br/><br/>
-     * 
-     * The root referred to by the expression should be given as 
-     * a dot. The following is an example path expression:
-     * <pre>
-     * cursor.selectPath("./purchase-order/line-item[price <= 20.00]");
-     * </pre>
-     * 
-     * @param  path  The path expression to execute.
-     * @throws  XmlRuntimeException  If the query expression is invalid.
-     */
-    void selectPath ( String path );
-
-    /**
-     * Executes the specified XPath expression against the XML that this 
-     * cursor is in. The cursor's position does not change.  To navigate to the
-     * selections, use hasNextSelection and toNextSelection (similar to
-     * java.util.Iterator).<br/><br/>
-     * 
-     * The root referred to by the expression should be given as 
-     * a dot. The following is an example path expression:
-     * <pre>
-     * cursor.selectPath("./purchase-order/line-item[price <= 20.00]");
-     * </pre>
-     * 
-     * @param  path  The path expression to execute.
-     * @param  options  Options for the query. For example, you can call 
-     * the {@link XmlOptions#setXqueryCurrentNodeVar(String) XmlOptions.setXqueryCurrentNodeVar(String)}
-     * method to specify a particular name for the query expression 
-     * variable that indicates the context node.
-     * @throws  XmlRuntimeException  If the query expression is invalid.
-     */
-    void selectPath ( String path, XmlOptions options );
-
-    /**
-     * Returns whether or not there is a next selection.
-     * 
-     * @return  true if there is a next selection; otherwise, false.
-     */
-
-    boolean hasNextSelection ( );
-    
-    /**
-     * Moves this cursor to the next location in the selection, 
-     * if any. See the selectPath() and addToSelection() methods.
-     * 
-     * @return  true if the cursor moved; otherwise, false.
-     */
-
-    boolean toNextSelection ( );
-   
-    /**
-     * Moves this cursor to the specified location in the selection. 
-     * If i is less than zero or greater than or equal to the selection
-     * count, this method returns false.
-     *  
-     * See also the selectPath() and addToSelection() methods.
-     * 
-     * @param  i  The index of the desired location.
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toSelection ( int i );
-    
-    /**
-     * Returns the count of the current selection. See also the selectPath() 
-     * and addToSelection() methods.
-     * 
-     * You may experience better performance if you use the iteration
-     * model using the toNextSelection method, rather than 
-     * the indexing model using the getSelectionCount and 
-     * toSelection methods.
-     * 
-     * @return  A number indicating the size of the current selection.
-     */
-
-    int getSelectionCount ( );
-
-    
-    /**
-     * Appends the current location of the cursor to the selection.  
-     * See also the selectPath() method. You can use this as an 
-     * alternative to calling the selectPath method when you want
-     * to define your own selection.
-     */
-
-    void addToSelection ( );
-    
-    /**
-     * Clears this cursor's selection, but does not modify the document.
-     */
-    void clearSelections ( );    
-    
-    /**
-     * Moves this cursor to the same position as the bookmark.  If the
-     * bookmark is in a different document from this cursor or if the 
-     * bookmark is orphaned, this cursor
-     * will not be moved, and false will be returned.
-     * 
-     * @param  bookmark  The bookmark at the location to which this
-     * cursor should be moved.
-     * @return  true if the cursor moved; otherwise, false.
-     */
-
-    boolean toBookmark ( XmlBookmark bookmark );
-
-    /**
-     * Moves this cursor to the location after its current position
-     * where a bookmark with the given key exists.  Returns false if no
-     * such bookmark exists.
-     * 
-     * @param  key  The key held by the next bookmark at the location to 
-     * which this cursor should be moved.
-     * @return  The next corresponding bookmark, if it exists; null if there
-     * is no next bookmark with the specified key.
-     */
-
-    XmlBookmark toNextBookmark ( Object key );
-    
-    /**
-     * Moves this cursor to the location before its current position
-     * where a bookmark with the given key exists.  Returns false if no
-     * such bookmark exists.
-     * 
-     * @param  key  The key held by the previous bookmark at the location to 
-     * which this cursor should be moved.
-     * @return  The previous corresponding bookmark, if it exists; null if 
-     * there is no previous bookmark with the specified key.
-     */
-
-    XmlBookmark toPrevBookmark ( Object key );
-    
-    /**
-     * Returns the name of the current token. Names may be associated with
-     * START, ATTR, NAMESPACE or PROCINST. Returns null if there is no
-     * name associated with the current token. For START and ATTR, the 
-     * name returned identifies the name of the element or attribute. 
-     * For NAMESPACE, the local part of the name is the prefix, while 
-     * the URI is the namespace defined. For PROCINST, the local part 
-     * is the target and the uri is "".
-     * 
-     * @return  The name of the XML at this cursor's location; null if there
-     * is no name.
-     */
-
-    QName getName ( );
-    
-    /**
-     * Sets the name of the current token. This token can be START, NAMESPACE,
-     * ATTR or PROCINST.
-     * 
-     * @param  name  The new name for the current token.
-     */
-
-    void setName ( QName name );
-    
-    /**
-     * Returns the namespace URI indicated by the given prefix. The current
-     * context must be at a START or STARTDOC. Namespace prefix mappings
-     * are queried for the mappings defined at the current container first,
-     * then parents are queried. The prefix can be "" or null to indicate
-     * a search for the default namespace.<br/><br/>.
-     * 
-     * Note that this queries the current state of the document. When the 
-     * document is persisted, the saving mechanism may synthesize namespaces 
-     * (ns1, ns2, and so on) for the purposes of persistence. These namepaces are 
-     * only present in the serialized form, and are not reflected back into 
-     * the document being saved.
-     * 
-     * @param  prefix  The namespace prefix for the requested namespace.
-     * @return  The URI for corresponding to the specified prefix if it
-     * exists; otherwise, null.
-     */
-    String namespaceForPrefix ( String prefix );
-
-    /**
-     * Returns a prefix that can be used to indicate a namespace URI.  The
-     * current context must be at a START or STARTDOC.  If there is an
-     * existing prefix that indicates the URI in the current context, that
-     * prefix may be returned. Otherwise, a new prefix for the URI will be
-     * defined by adding an xmlns attribute to the current container or a
-     * parent container.
-     * 
-     * Note that this queries the current state of the document. When the 
-     * document is persisted, the saving mechanism may synthesize namespaces 
-     * (ns1, ns2, and so on) for the purposes of persistence. These namepaces are 
-     * only present in the serialized form, and are not reflected back into 
-     * the document being saved.
-     * 
-     * @param  namespaceURI  The namespace URI corresponding to the requested
-     * prefix.
-     * @return  The prefix corresponding to the specified URI if it exists; 
-     * otherwise, a newly generated prefix.
-     */
-    String prefixForNamespace ( String namespaceURI );
-    
-    /**
-     * Adds to the specified map, all the namespaces in scope at the container
-     * where this cursor is positioned. This method is useful for 
-     * container tokens only.
-     * 
-     * @param  addToThis  The Map to add the namespaces to.
-     */
-
-    void getAllNamespaces ( Map addToThis );
-
-    /**
-     * Returns the strongly-typed XmlObject at the current START,
-     * STARTDOC, or ATTR. <br/><br/>
-     * 
-     * The strongly-typed object can be cast to the strongly-typed
-     * XBean interface corresponding to the XML Schema Type given
-     * by result.getSchemaType().<br/><br/>
-     *
-     * If a more specific type cannot be determined, an XmlObject
-     * whose schema type is anyType will be returned.
-     * 
-     * @return  The strongly-typed object at the cursor's current location;
-     * null if the current location is not a START, STARTDOC, or ATTR.
-     */
-
-    XmlObject getObject ( );
-    
-    /**
-     * Returns the type of the current token. By definition, the current
-     * token is the token immediately to the right of the cursor. 
-     * If you're in the middle of text, before a character, you get TEXT.
-     * You can't dive into the text of an ATTR, COMMENT or PROCINST.<br/><br/>
-     * 
-     * As an alternative, it may be more convenient for you to use one of the 
-     * methods that test for a particular token type. These include the methods 
-     * isStart(), isStartdoc(), isText(), isAttr(), and so on. Each returns a boolean 
-     * value indicating whether the token that follows the cursor is the type 
-     * in question. 
-     * <br/><br/>
-     *
-     * @return  The TokenType instance for the token at the cursor's current
-     * location.
-     */
-
-    TokenType currentTokenType ( );
-    
-    /**
-     * True if the current token is a STARTDOC token type, meaning 
-     * at the very root of the document.
-     * 
-     * @return  true if this token is a STARTDOC token type; 
-     * otherwise, false.
-     */
-
-    boolean isStartdoc ( );
-    
-    /**
-     * True if this token is an ENDDOC token type, meaning 
-     * at the very end of the document.
-     * 
-     * @return  true if this token is an ENDDOC token type; 
-     * otherwise, false.
-     */
-
-    boolean isEnddoc ( );
-    
-    /**
-     * True if this token is a START token type, meaning 
-     * just before an element's start.
-     * 
-     * @return  true if this token is a START token type; 
-     * otherwise, false.
-     */
-
-    boolean isStart ( );
-    
-    /**
-     * True if this token is an END token type, meaning 
-     * just before an element's end.
-     * 
-     * @return  true if this token is an END token type; 
-     * otherwise, false.
-     */
-
-    boolean isEnd ( );
-    
-    /**
-     * True if the this token is a TEXT token type, meaning 
-     * just before or inside text.
-     * 
-     * @return  true if this token is a TEXT token type; 
-     * otherwise, false.
-     */
-
-    boolean isText ( );
-    
-    /**
-     * True if this token is an ATTR token type, meaning 
-     * just before an attribute.
-     * 
-     * @return  true if this token is an ATTR token type; 
-     * otherwise, false.
-     */
-
-    boolean isAttr ( );
-    
-    /**
-     * True if this token is a NAMESPACE token type, meaning 
-     * just before a namespace declaration.
-     * 
-     * @return  true if this token is a NAMESPACE token type; 
-     * otherwise, false.
-     */
-
-    boolean isNamespace ( );
-    
-    /**
-     * True if this token is a COMMENT token type, meaning 
-     * just before a comment.
-     * 
-     * @return  true if this token is a COMMENT token type; 
-     * otherwise, false.
-     */
-
-    boolean isComment ( );
-    
-    /**
-     * True if this token is a PROCINST token type, meaning 
-     * just before a processing instruction.
-     * 
-     * @return  true if this token is a PROCINST token type; 
-     * otherwise, false.
-     */
-
-    boolean isProcinst ( );
-    
-    /**
-     * True if this token is a container token. The STARTDOC and START 
-     * token types are containers. Containers, including documents and elements,
-     * have the same content model. In other words, a document and an element 
-     * may have the same contents. For example, a document may contain attributes 
-     * or text, without any child elements.
-     * 
-     * @return  true if this token is a container token; otherwise, false.
-     */
-
-    boolean isContainer ( );
-    
-    /**
-     * True if this token is a finish token. A finish token can be an ENDDOC
-     * or END token type.
-
-     * @return  true if this token is a finish token; otherwise, false.
-     */
-
-    boolean isFinish ( );
-    
-    /**
-     * True if this token is any attribute. This includes an ATTR token type and
-     * the NAMESPACE token type attribute.
-     * 
-     * @return  true if the current cursor is at any attribute; otherwise, false.
-     */
-
-    boolean isAnyAttr ( );
-    
-    /**
-     * Returns the type of the previous token. By definition, the previous
-     * token is the token immediately to the left of the cursor.<br/><br/>
-     *
-     * If you're in the middle of text, after a character, you get TEXT.
-     * 
-     * @return  The TokenType instance for the token immediately before the 
-     * token at the cursor's current location.
-     */
-
-    TokenType prevTokenType ( );
-    
-    /**
-     * True if there is a next token. When this is false, as when the cursor is
-     * at the ENDDOC token, the toNextToken() method returns NONE and does not 
-     * move the cursor.
-     * 
-     * @return  true if there is a next token; otherwise, false.
-     */
-
-    boolean hasNextToken ( );
-
-
-    /**
-     * True if there is a previous token. When this is false, toPrevToken
-     * returns NONE and does not move the cursor.
-     * 
-     * @return  true if there is a previous token; otherwise, false.
-     */
-
-    boolean hasPrevToken ( );
-    
-    /**
-     * Moves the cursor to the next token. When there are no more tokens 
-     * available, hasNextToken returns false and toNextToken() returns 
-     * NONE and does not move the cursor. Returns the token type 
-     * of the token to the right of the cursor upon a successful move.
-     * 
-     * @return  The token type for the next token if the cursor was moved;
-     * otherwise, NONE.
-     */
-
-    TokenType toNextToken ( );
-
-    /**
-     * Moves the cursor to the previous token. When there is no
-     * previous token, returns NONE, otherwise returns the token
-     * to the left of the new position of the cursor.
-     * 
-     * @return  The token type for the previous token if the cursor was moved;
-     * otherwise, NONE.
-     */
-
-    TokenType toPrevToken ( );
-    
-    /**
-     * Moves the cursor to the first token in the content of the current
-     * START or STARTDOC. That is, the first token after all ATTR and NAMESPACE
-     * tokens associated with this START.<br/><br/>
-     *
-     * If the current token is not a START or STARTDOC, the cursor is not
-     * moved and NONE is returned. If the current START or STARTDOC
-     * has no content, the cursor is moved to the END or ENDDOC token.<br/><br/>
-     * 
-     * @return  The new current token type.
-     */
-
-    TokenType toFirstContentToken ( );
-
-
-    /**
-     * Moves the cursor to the END or ENDDOC token corresponding to the
-     * current START or STARTDOC, and returns END or ENDDOC. <br/><br/>
-     *
-     * If the current token is not a START or STARTDOC, the cursor is not
-     * moved and NONE is returned.
-     * 
-     * @return  The new current token type.
-     */
-
-    TokenType toEndToken ( );
-    
-    /**
-     * Moves the cursor forward by the specified number of characters, and
-     * stops at the next non-TEXT token. Returns the number of characters
-     * actually moved across, which is guaranteed to be less than or equal to  
-     * <em>maxCharacterCount</em>. If there is no further text, or if 
-     * there is no text at all, returns zero.<br/><br/>
-     *
-     * Note this does not dive into attribute values, comment contents,
-     * processing instruction contents, etc., but only content text.<br/><br/>
-     *
-     * You can pass maxCharacterCount &lt; 0 to move over all the text to the 
-     * right. This has the same effect as toNextToken, but returns the amount 
-     * of text moved over.
-     *
-     * @param  maxCharacterCount  The maximum number of characters by which
-     * the cursor should be moved.
-     * @return  The actual number of characters by which the cursor was moved; 
-     * 0 if the cursor was not moved.
-     */
-
-    int toNextChar ( int maxCharacterCount );
-    
-    /**
-     * Moves the cursor backwards by the number of characters given.  Has
-     * similar characteristics to the {@link #toNextChar(int) toNextChar} method.
-     * 
-     * @param  maxCharacterCount  The maximum number of characters by which
-     * the cursor should be moved.
-     * @return  The actual number of characters by which the cursor was moved; 
-     * 0 if the cursor was not moved.
-     */
-
-    int toPrevChar ( int maxCharacterCount );
-
-    /**
-     * Moves the cursor to the next sibling element, or returns
-     * false and does not move the cursor if there is no next sibling
-     * element. (By definition the position of an element is the same
-     * as the position of its START token.)
-     *
-     * If the current token is not s START, the cursor will be 
-     * moved to the next START without moving out of the scope of the 
-     * current element.
-     * 
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toNextSibling ( );
-    
-    /**
-     * Moves the cursor to the previous sibling element, or returns
-     * false and does not move the cursor if there is no previous sibling
-     * element. (By definition the position of an element is the same
-     * as the position of its START token.)
-     * 
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toPrevSibling ( );
-
-    /**
-     * Moves the cursor to the parent element or STARTDOC, or returns
-     * false and does not move the cursor if there is no parent.<br/><br/>
-     *
-     * Works if you're in attributes or content. Returns false only if at
-     * STARTDOC. Note that the parent of an END token is the corresponding
-     * START token.
-     * 
-     * @return  true if the cursor was moved; false if the cursor is at the STARTDOC
-     * token.
-     */
-
-    boolean toParent ( );
-
-    /**
-     * Moves the cursor to the first child element, or returns false and
-     * does not move the cursor if there are no element children. <br/><br/>
-     *
-     * If the cursor is not currently in an element, it moves into the 
-     * first child element of the next element.
-     * 
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toFirstChild ( );
-    
-    /**
-     * Moves the cursor to the last element child, or returns false and
-     * does not move the cursor if there are no element children.
-     * 
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toLastChild ( );
-    
-    /**
-     * Moves the cursor to the first child element of the specified name in 
-     * no namespace.
-     * 
-     * @param  name  The name of the element to move the cursor to.
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toChild ( String name );
-    
-    /**
-     * Moves the cursor to the first child element of the specified name in the 
-     * specified namespace.
-     * 
-     * @param  namespace  The namespace URI for the element to move the cursor 
-     * to.
-     * @param  name  The name of the element to move to.
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toChild ( String namespace, String name );
-
-    /**
-     * Moves the cursor to the first child element of the specified qualified name.
-     * 
-     * @param  name  The name of the element to move the cursor to.
-     */
-
-    boolean toChild ( QName name );
-
-    /**
-     * Moves the cursor to the child element specified by <em>index</em>.
-     * 
-     * @param  index  The position of the element in the sequence of child 
-     * elements.
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toChild ( int index );
-    
-    /**
-     * Moves the cursor to the specified <em>index</em> child element of the 
-     * specified name, where that element is the .
-     * 
-     * @param  name  The name of the child element to move the cursor to.
-     * @param  index  The position of the element in the sequence of child
-     * elements.
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toChild ( QName name, int index );
-    
-    /**
-     * Moves the cursor to the next sibling element of the specified name in no
-     * namespace.
-     * 
-     * @param  name  The name of the element to move the cursor to.
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toNextSibling ( String name );
-    
-    /**
-     * Moves the cursor to the next sibling element of the specified name 
-     * in the specified namespace.
-     * 
-     * @param  namespace  The namespace URI for the element to move the cursor
-     * to.
-     * @param  name  The name of the element to move the cursor to.
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toNextSibling ( String namespace, String name );
-
-    
-    /**
-     * Moves the cursor to the next sibling element of the specified 
-     * qualified name.
-     * 
-     * @param  name  The name of the element to move the cursor to.
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toNextSibling ( QName name );
-
-    /**
-     * Moves the cursor to the first attribute of this element, or
-     * returns false and does not move the cursor if there are no
-     * attributes. The order of attributes is arbitrary, but stable.<br/><br/>
-     *
-     * xmlns attributes (namespace declarations) are not considered 
-     * attributes by this function.<br/><br/>
-     *
-     * The cursor must be on a START or STARTDOC for this method to
-     * succeed.
-     * 
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toFirstAttribute ( );
-    
-    /**
-     * Moves the cursor to the last attribute of this element, or
-     * returns false and does not move the cursor if there are no
-     * attributes. The order of attributes is arbitrary, but stable.<br/><br/>
-     *
-     * xmlns attributes (namespace declarations) are not considered 
-     * attributes by this function.<br/><br/>
-     *
-     * The cursor must be on a START or STARTDOC for this method
-     * to succeed.
-     * 
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toLastAttribute ( );
-
-    /**
-     * Moves the cursor to the next sibling attribute, or returns
-     * false and does not move the cursor if there is no next
-     * sibling attribute. The order of attributes is arbitrary, but stable.<br/><br/>
-     * 
-     * xmlns attributes (namespace declarations) are not considered 
-     * attributes by this function.<br/><br/>
-     *
-     * The cursor must be on an attribute for this method to succeed.
-     * 
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toNextAttribute ( );
-
-    /**
-     * Moves the cursor to the previous sibling attribute, or returns
-     * false and does not move the cursor if there is no previous
-     * sibling attribute. The order of attributes is arbitrary, but stable.<br/><br/>
-     * 
-     * xmlns attributes (namespace declarations) are not considered 
-     * attributes by this function.<br/><br/>
-     *
-     * The cursor must be on an attribute for this method to succeed.
-     * 
-     * @return  true if the cursor was moved; otherwise, false.
-     */
-
-    boolean toPrevAttribute ( );
-    
-    /**
-     * When at a START or STARTDOC, returns the attribute text for the given
-     * attribute. When not at a START or STARTDOC or the attribute does not
-     * exist, returns null.  
-     * 
-     * @param  attrName  The name of the attribute whose value is requested.
-     * @return  The attribute's value if it has one; otherwise, null.
-     */
-
-    String getAttributeText ( QName attrName );
-    
-    /**
-     * When at a START or STARTDOC, sets the attribute text for the given
-     * attribute. When not at a START or STARTDOC returns false.
-     * If the attribute does not exist, one is created.
-     * 
-     * @param  attrName  The name of the attribute whose value is being set.
-     * @param  value  The new value for the attribute.
-     * @return  true if the new value was set; otherwise, false.
-     */
-
-    boolean setAttributeText ( QName attrName, String value );
-  
-    /**
-     * When at a START or STARTDOC, removes the attribute with the given name.
-     * 
-     * @param  attrName  The name of the attribute that should be removed.
-     * @return  true if the attribute was removed; otherwise, false.
-     */
-
-    boolean removeAttribute ( QName attrName );
-
-    /**
-     * Gets the text value of the current document, element, attribute,
-     * comment, procinst or text token. <br/><br/>
-     *
-     * When getting the text value of an element, non-text content such
-     * as comments and processing instructions are ignored and text is concatenated.
-     * For elements that have nested element children, this
-     * returns the concatenated text of all mixed content and the
-     * text of all the element children, recursing in first-to-last
-     * depthfirst order.<br/><br/>
-     *
-     * For attributes, this returns the attribute value.<br/><br/>
-     *
-     * For comments and processing instructions, this returns the text contents 
-     * of the comment or PI, not including the delimiting sequences &lt;!-- --&gt;, &lt;? ?&gt;.
-     *<br/><br/>
-     * If the current token is not a START, STARTDOC, TEXT, ATTR, COMMENT, or
-     * PROCINST, this returns null. The value of an empty tag is the
-     * empty string.
-     * 
-     * @return  The text value of the current token, if the token's type is
-     * START, STARTDOC, TEXT, ATTR, COMMENT, or PROCINST; null if the type is
-     * END, ENDDOC, NONE, or NAMESPACE.
-     */
-
-    String getTextValue ( );
-    
-    /**
-     * Copies the text value of the current document, element, attribute,
-     * comment, processing instruction or text token, counting right from 
-     * this cursor's location up to <em>maxCharacterCount</em>,
-     * and copies the returned text into <em>returnedChars</em>. <br/><br/>
-     * 
-     * When getting the text value of an element, non-text content such
-     * as comments and processing instructions are ignored and text is concatenated.
-     * For elements that have nested element children, this
-     * returns the concatenated text of all mixed content and the
-     * text of all the element children, recursing in first-to-last
-     * depthfirst order.<br/><br/>
-     *
-     * For attributes, this returns the attribute value.<br/><br/>
-     *
-     * For comments and processing instructions, this returns the text contents 
-     * of the comment or PI, not including the delimiting sequences &lt;!-- --&gt;, &lt;? ?&gt;.
-     * <br/><br/>
-     * 
-     * If the current token is END, ENDDOC, or NAMESPACE, this returns 0. 
-     * The value of an empty tag is the empty string.
-     * 
-     * @param  returnedChars  A character array to hold the returned characters.
-     * @param  offset  The position within returnedChars to which the first of the 
-     * returned characters should be copied.
-     * @param  maxCharacterCount  The maximum number of characters after this cursor's 
-     * location to copy.
-     * @return  The actual number of characters copied; 0 if no characters 
-     * were copied.
-     */
-
-    int getTextValue ( char[] returnedChars, int offset, int maxCharacterCount );
-    
-    /**
-     * Returns the characters of the current TEXT token.  If the current token
-     * is not TEXT, returns "".  If in the middle of a TEXT token, returns
-     * those chars to the right of the cursor of the TEXT token.
-     * 
-     * @return  The requested text; an empty string if the current token type is
-     * not TEXT.
-     */
-
-    /**
-     * Sets the text value of the XML at this cursor's location if that XML's
-     * token type is START, STARTDOC, ATTR, COMMENT or PROCINST. <br/><br/>
-     *
-     * For elements that have nested children this first removes all
-     * the content of the element and replaces it with the given text.
-     * 
-     * @param  text  The text to use as a new value.
-     * @throws  java.lang.IllegalStateException  If the token type at this
-     * cursor's location is not START, STARTDOC, ATTR, COMMENT or
-     * PROCINST.
-     */
-    void setTextValue ( String text );
-    
-    /**
-     * Sets the text value of the XML at this cursor's location (if that XML's
-     * token type is START, STARTDOC, ATTR, COMMENT or PROCINST) to the 
-     * contents of the specified character array. <br/><br/>
-     *
-     * For elements that have nested children this first removes all
-     * the content of the element and replaces it with the given text.
-     * 
-     * @param  sourceChars  A character array containing the XML's new value.
-     * @param  offset  The position within sourceChars from which the first of 
-     * the source characters should be copied.
-     * @param  length  The maximum number of characters to set as the XML's new
-     * value.
-     * @throws  java.lang.IllegalArgumentException  If the token type at this
-     * cursor's location is not START, STARTDOC, ATTR, COMMENT or
-     * PROCINST.
-     */
-    void setTextValue ( char[] sourceChars, int offset, int length );
-
-    /**
-     * Returns characters to the right of the cursor up to the next token.
-     */
-    String getChars ( );
-    
-    /**
-     * Copies characters up to the specified maximum number, counting right from 
-     * this cursor's location to the character at <em>maxCharacterCount</em>.  The 
-     * returned characters are added to <em>returnedChars</em>, with the first
-     * character copied to the <em>offset</em> position. The <em>maxCharacterCount</em> 
-     * parameter should be less than or equal to the length of <em>returnedChars</em> 
-     * minus <em>offset</em>. Copies a number of characters, which is 
-     * either <em>maxCharacterCount</em> or the number of characters up to the next token, 
-     * whichever is less.
-     * 
-     * @param  returnedChars  A character array to hold the returned characters.
-     * @param  offset  The position within returnedChars at which the first of the 
-     * returned characters should be added.
-     * @param  maxCharacterCount  The maximum number of characters after this cursor's 
-     * location to return.
-     * @return  The actual number of characters returned; 0 if no characters 
-     * were returned or if the current token is not TEXT. 
-     */
-
-    int getChars ( char[] returnedChars, int offset, int maxCharacterCount );
-    
-    /**
-     * Moves the cursor to the STARTDOC token, which is the 
-     * root of the document.
-     */
-
-    void toStartDoc ( );
-    
-    /**
-     * Moves the cursor to the ENDDOC token, which is the end
-     * of the document.
-     */
-
-    void toEndDoc ( );
-    
-    /**
-     * Determines if the specified cursor is in the same document as
-     * this cursor.
-     * 
-     * @param  cursor  The cursor that may be in the same document
-     * as this cursor.
-     * @return  true if the specified cursor is in the same document;
-     * otherwise, false.
-     */
-
-    boolean isInSameDocument ( XmlCursor cursor );
-
-    /**
-     * Returns an integer indicating whether this cursor is before, 
-     * after, or at the same position as the specified cursor. <br/><br/>
-     * 
-     * <code>a.comparePosition(b) < 0</code> means a is to the left of b.<br/>
-     * <code>a.comparePosition(b) == 0</code> means a is at the same position as b.<br/>
-     * <code>a.comparePosition(b) > 0</code> means a is to the right of b.<br/><br/>
-     *
-     * The sort order of cursors in the document is the token order.
-     * For example, if cursor "a" is at a START token and the cursor "b"
-     * is at a token within the contents of the same element, then
-     * a.comparePosition(b) will return -1, meaning that the position
-     * of a is before b.
-     * 
-     * @param  cursor  The cursor whose position should be compared
-     * with this cursor.
-     * @return  1 if this cursor is after the specified cursor; 0 if 
-     * this cursor is at the same position as the specified cursor; 
-     * -1 if this cursor is before the specified cursor.
-     * @throws  java.lang.IllegalArgumentException  If the specified
-     * cursor is not in the same document as this cursor.
-     */
-
-    int comparePosition ( XmlCursor cursor );
-    
-    /**
-     * Determines if this cursor is to the left of (or before)
-     * the specified cursor. Note that this is the same as 
-     * <code>a.comparePosition(b) &lt; 0 </code>
-     * 
-     * @param  cursor  The cursor whose position should be compared
-     * with this cursor.
-     * @return  true if this cursor is to the left of the specified
-     * cursor; otherwise, false.
-     */
-
-    boolean isLeftOf ( XmlCursor cursor );
-    
-    /**
-     * Determines if this cursor is at the same position as
-     * the specified cursor. Note that this is the same as 
-     * <code>a.comparePosition(b) == 0 </code>
-     * 
-     * @param  cursor  The cursor whose position should be compared
-     * with this cursor.
-     * @return  true if this cursor is at the same position as 
-     * the specified cursor; otherwise, false.
-     */
-
-    boolean isAtSamePositionAs ( XmlCursor cursor );
-    
-    /**
-     * Determines if this cursor is to the right of (or after)
-     * the specified cursor. Note that this is the same as 
-     * <code>a.comparePosition(b) &gt; 0 </code>
-     * 
-     * @param  cursor  The cursor whose position should be compared
-     * with this cursor.
-     * @return  true if this cursor is to the right of the specified
-     * cursor; otherwise, false.
-     */
-
-    boolean isRightOf ( XmlCursor cursor );
-    
-    /**
-     * Executes the specified XQuery expression against the XML this
-     * cursor is in. <br/><br/>
-     * 
-     * The query may be a String or a compiled query. You can precompile
-     * an XQuery expression using the XmlBeans.compileQuery method. <br/><br>
-     * 
-     * The root referred to by the expression should be given as 
-     * a dot. The following is an example path expression:
-     * <pre>
-     * XmlCursor results = cursor.execQuery("purchase-order/line-item[price &lt;= 20.00]");
-     * </pre>
-     * 
-     * @param  query  The XQuery expression to execute.
-     * @return  A cursor containing the results of the query.
-     * @throws  XmlRuntimeException  If the query expression is invalid.
-     */
-
-    XmlCursor execQuery ( String query );
-    
-    /**
-     * Executes the specified XQuery expression against the XML this
-     * cursor is in, and using the specified options. <br/><br/>
-     * 
-     * @param  query  The XQuery expression to execute.
-     * @param  options  Options for the query. For example, you can call 
-     * the {@link XmlOptions#setXqueryCurrentNodeVar(String) XmlOptions.setXqueryCurrentNodeVar(String)}
-     * method to specify a particular name for the query expression 
-     * variable that indicates the context node.
-     * @throws  XmlRuntimeException  If the query expression is invalid.
-     */
-
-    XmlCursor execQuery ( String query, XmlOptions options );
-    
-    /**
-     * Represents the state of a dcoument at a particular point
-     * in time.  It is used to determine if a document has been changed
-     * since that point in time.
-     */
-    interface ChangeStamp
-    {
-        /**
-         * Returns whether or not the document assoiated with this ChangeStamp
-         * has been altered since the ChangeStamp had been created.
-         */
-        public boolean hasChanged ( );
-    }
-    
-    /**
-     * Returns the current change stamp for the document the current cursor is in. 
-     * This change stamp can be queried at a later point in time to find out
-     * if the document has changed.
-     * 
-     * @return  The change stamp for the document the current cursor is in.
-     */
-    ChangeStamp getDocChangeStamp ( );
-    
-    /**
-     * Subclasses of XmlBookmark can be used to annotate an XML document.
-     * This class is abstract to prevent parties from inadvertently 
-     * interfering with each others' bookmarks without explicitly
-     * sharing a bookmark class.
-     */
-
-    abstract class XmlBookmark
-    {
-        /**
-         * Constructs a strongly-referenced bookmark.
-         */ 
-        public XmlBookmark ( ) { this( false ); }
-        
-        /**
-         * Constructs a bookmark.
-         * @param weak true if the document's reference to the bookmark should be a WeakReference
-         */ 
-        public XmlBookmark ( boolean weak )
-        {
-            _ref = weak ? new WeakReference( this ) : null;
-        }
-        
-        /**
-         * Call the createCursor method to create a new cursor which is
-         * positioned at the same splace as the bookmark.  It is much more
-         * efficient to call toBookmark on an existing cursor than it
-         * is to create a new cursor.  However, toBookmark may fail if the
-         * bookmark is in a different document than the cursor.  It is
-         * under these circumstances where createCursor needs to be called
-         * on the bookmark.  Subsequent navigations to bookmark
-         * positions should attempt to reuse the last cursor to
-         * improve performace.
-         */
-        public final XmlCursor createCursor ( )
-        {
-            return _currentMark == null ? null : _currentMark.createCursor();
-        }
-
-        /**
-         * Moves the given cursor to this bookmark, and returns it.
-         */ 
-        public final XmlCursor toBookmark ( XmlCursor c )
-        {
-            return c == null || !c.toBookmark( this ) ? createCursor() : c;
-        }
-
-        /**
-         * The default key for bookmarks is the class which implements
-         * them.  This way, multiple parties using bookmarks in the
-         * same instance document will not interfere with eachother.
-         * One can, however, override getKey() to use a key other than
-         * the class.
-         */
-        public Object getKey ( )
-        {
-            return this.getClass();
-        }
-        
-        /**
-         * The mark is set by the host document; it is capable of
-         * returning an XmlCursor implementation at the location of
-         * the bookmark.
-         */ 
-        public       XmlMark   _currentMark;
-        
-        /**
-         * If non-null, the ref is used by the host document
-         * to maintain a reference to the bookmark.  If it is a weak
-         * reference, the host document will not prevent the Bookmark
-         * from being garbage collected.
-         */ 
-        public final Reference _ref;
-    }
-
-    /**
-     * An abstract {@link XmlCursor} factory.
-     * Implementations of XmlCursor implement XmlMark to be able to
-     * reconstitute a cursor from a bookmark. When content moves between
-     * implementations, the XmlMark is set to the implmentation's which
-     * recieves the new content.
-     */
-
-    interface XmlMark
-    {
-        XmlCursor createCursor ( );
-    }
-
-    /**
-     * Sets a bookmark to the document at this cursor's location.
-     *
-     * The bookmark is attached to the token in the tree immediately 
-     * after the cursor. If the tree is manipulated to move
-     * that object to a different place, the bookmark moves with it.
-     * If the tree is manipulated to delete that token from the
-     * tree, the bookmark is orphaned. Copy operations do not copy
-     * bookmarks.
-     * 
-     * @param  bookmark  The bookmark to set.
-     */
-
-    void setBookmark ( XmlBookmark bookmark );
-    
-    /**
-     * Retrieves the bookmark with the specified key 
-     * at this cursor's location. If there is no bookmark whose key is 
-     * given by the specified key at the current position, null is returned. 
-     * If the {@link XmlCursor.XmlBookmark#getKey() getKey} method is not overridden on 
-     * the bookmark, then the bookmark's class is used as the key.
-     * 
-     * @param  key  The key for the bookmark to retrieve.
-     * @return  The requested bookmark; null if there is no bookmark
-     * corresponding to the specified key.
-     */
-
-    XmlBookmark getBookmark ( Object key );
-    
-    /**
-     * Clears the bookmark whose key is specified, if the bookmark
-     * exists at this cursor's location.
-     * 
-     * @param  key  The for the bookmark to clear.
-     */
-
-    void clearBookmark ( Object key );
-
-    /**
-     * Retrieves all the bookmarks at this location, adding them to
-     * the specified collection. Bookmarks held by weak references are
-     * added to this collection as Weak referenced objects pointing to the
-     * bookmark.
-     * 
-     * @param  listToFill  The collection that will contain bookmarks
-     * returned by this method.
-     */
-
-    void getAllBookmarkRefs ( Collection listToFill );
-
-    /**
-     * Removes the XML that is immediately after this cursor.
-     * 
-     * For the TEXT, ATTR, NAMESPACE, COMMENT and PROCINST tokens, a single 
-     * token is removed. For a START token, the corresponding element and all 
-     * of its contents are removed. For all other tokens, this is a no-op. 
-     * You cannot remove a STARTDOC.
-     * 
-     * The cursors located in the XML that was removed all collapse to the 
-     * same location. All bookmarks in this XML will be orphaned.
-     * 
-     * @return true if anything was removed; false only if the cursor is 
-     * just before END or ENDDOC token.
-     * @throws java.lang.IllegalArgumentException  If the cursor is at a 
-     * STARTDOC token.
-     */
-
-    boolean removeXml ( );
-
-    /**
-     * Moves the XML immediately after this cursor to the location
-     * specified by the <em>toHere</em> cursor, shifting XML at that location 
-     * to the right to make room. For the TEXT, ATTR, NAMESPACE, 
-     * COMMENT and PROCINST tokens, a single token is moved. For a start token, the
-     * element and all of its contents are moved. For all other tokens, this
-     * is a no-op.
-     * 
-     * The bookmarks located in the XML that was moved also move to the
-     * new location; the cursors don't move with the content.
-     * 
-     * @param  toHere  The cursor at the location to which the XML should
-     * be moved.
-     * @return true if anything was moved; false only if the cursor is 
-     * just before END or ENDDOC token.
-     * @throws java.lang.IllegalArgumentException  If the operation is not allowed
-     * at the cursor's location.
-     */
-
-    boolean moveXml ( XmlCursor toHere );
-    
-    /**
-     * Copies the XML immediately after this cursor to the location
-     * specified by the <em>toHere</em> cursor. For the TEXT, ATTR, NAMESPACE, 
-     * COMMENT and PROCINST tokens, a single token is copied.  For a start token, 
-     * the element and all of its contents are copied. For all other tokens, this
-     * is a no-op.
-     * 
-     * The cursors and bookmarks located in the XML that was copied are also copied 
-     * to the new location.
-     * 
-     * @param  toHere  The cursor at the location to which the XML should
-     * be copied.
-     * @return true if anything was copied; false if the token supports the operation,
-     * but nothing was copied.
-     * @throws java.lang.IllegalArgumentException  If the operation is not allowed
-     * at the cursor's location.
-     */
-
-    boolean copyXml ( XmlCursor toHere );
-    
-    /**
-     * Removes the contents of the container (STARTDOC OR START) immediately after
-     * this cursor. For all other situations, returns false. Does
-     * not remove attributes or namspaces.
-     * 
-     * @return true if anything was copied; otherwise, false.
-     */
-
-    boolean removeXmlContents ( );
-
-    /**
-     * Moves the contents of the container (STARTDOC OR START) immediately after
-     * this cursor to the location specified by the <em>toHere</em> cursor.
-     * For all other situations, returns false. Does not move attributes or
-     * namespaces.
-     * 
-     * @param  toHere  The cursor at the location to which the XML should be moved.
-     * @return true if anything was moved; otherwise, false.
-     */
-    boolean moveXmlContents ( XmlCursor toHere );
-    
-    /**
-     * Copies the contents of the container (STARTDOC OR START) immediately to
-     * the right of the cursor to the location specified by the <em>toHere</em> cursor.
-     * For all other situations, returns false.  Does not copy attributes or
-     * namespaces.
-     * 
-     * @param  toHere  The cursor at the location to which the XML should
-     * be copied.
-     * @return true if anything was copied; otherwise, false.
-     */
-    boolean copyXmlContents ( XmlCursor toHere );
-    
-    /**
-     * Removes characters up to the specified maximum number, counting right from 
-     * this cursor's location to the character at <em>maxCharacterCount</em>. The 
-     * space remaining from removing the characters collapses up to this cursor.
-     * 
-     * @param  maxCharacterCount  The maximum number of characters after this cursor's 
-     * location to remove.
-     * @return  The actual number of characters removed.
-     * @throws java.lang.IllegalArgumentException  If the operation is not allowed
-     * at the cursor's location.
-     */
-
-    int removeChars ( int maxCharacterCount );
-
-    /**
-     * Moves characters immediately after this cursor to the position immediately 
-     * after the specified cursor. Characters are counted to the right up to the
-     * specified maximum number. XML after the destination cursor is 
-     * shifted to the right to make room. The space remaining from moving the 
-     * characters collapses up to this cursor.
-     * 
-     * @param  maxCharacterCount  The maximum number of characters after this cursor's 
-     * location to move.
-     * @param  toHere  The cursor to which the characters should be moved.
-     * @return  The actual number of characters moved.
-     * @throws java.lang.IllegalArgumentException  If the operation is not allowed
-     * at the cursor's location.
-     */
-
-    int moveChars ( int maxCharacterCount, XmlCursor toHere );
-
-    /**
-     * Copies characters to the position immediately after the specified cursor.
-     * Characters are counted to the right up to the specified maximum number. 
-     * XML after the destination cursor is shifted to the right to make room.
-     * 
-     * @param  maxCharacterCount  The maximum number of characters after this cursor's 
-     * location to copy.
-     * @param  toHere  The cursor to which the characters should be copied.
-     * @return  The actual number of characters copied.
-     * @throws java.lang.IllegalArgumentException  If the operation is not allowed
-     * at the cursor's location.
-     */
-
-    int copyChars ( int maxCharacterCount, XmlCursor toHere );
-
-    /**
-     * Inserts the specified text immediately before this cursor's location.
-     * 
-     * @param  text  The text to insert.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertChars ( String text );
-    
-    /**
-     * Inserts an element immediately before this cursor's location, giving 
-     * the element the specified qualified name.
-     * 
-     * @param  name  The qualified name for the element.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertElement ( QName name );
-
-    /**
-     * Inserts an element immediately before this cursor's location, giving 
-     * the element the specified local name.
-     * 
-     * @param  localName  The local name for the new element.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertElement ( String localName );
-
-    /**
-     * Inserts a new element immediately before this cursor's location, giving the
-     * element the specified local name and associating it with specified namespace 
-     * 
-     * @param  localName  The local name for the new element.
-     * @param  uri  The URI for the new element's namespace.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertElement ( String localName, String uri );
-    
-    /**
-     * Inserts a new element around this cursor, giving the element the specified 
-     * qualified name. After the element is inserted, this cursor is between its start 
-     * and end. This cursor can then be used to insert additional XML into 
-     * the new element.
-     * 
-     * @param  name  The qualified name for the new element.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void beginElement ( QName name );
-
-    /**
-     * Inserts a new element around this cursor, giving the element the specified 
-     * local name. After the element is inserted, this cursor is between its start 
-     * and end. This cursor can then be used to insert additional XML into 
-     * the new element.
-     * 
-     * @param  localName  The local name for the new element.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void beginElement ( String localName );
-
-    /**
-     * Inserts a new element around this cursor, giving the element the specified 
-     * local name and associating it with the specified namespace. After the element 
-     * is inserted, this cursor is between its start and end. This cursor 
-     * can then be used to insert additional XML into the new element.
-     * 
-     * @param  localName  The local name for the new element.
-     * @param  uri  The URI for the new element's namespace.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void beginElement ( String localName, String uri );
-    
-    /**
-     * Inserts a new element immediately before this cursor's location, giving the
-     * element the specified qualified name and content.
-     * 
-     * @param  name  The qualified name for the new element.
-     * @param  text  The content for the new element.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertElementWithText ( QName name, String text );
-
-    /**
-     * Inserts a new element immediately before this cursor's location, giving the
-     * element the specified local name and content.
-     * 
-     * @param  localName  The local name for the new element.
-     * @param  text  The content for the new element.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertElementWithText ( String localName, String text );
-
-    /**
-     * Inserts a new element immediately before this cursor's location, giving the
-     * element the specified local name, associating it with the specified namespace, 
-     * and giving it the specified content.
-     * 
-     * @param  localName  The local name for the new element.
-     * @param  uri  The URI for the new element's namespace.
-     * @param  text  The content for the new element.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertElementWithText ( String localName, String uri, String text );
-    
-    /**
-     * Inserts a new attribute immediately before this cursor's location, giving it
-     * the specified local name.
-     * 
-     * @param  localName  The local name for the new attribute.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertAttribute ( String localName );
-
-    /**
-     * Inserts a new attribute immediately before this cursor's location, giving it
-     * the specified local name and associating it with the specified namespace.
-     * 
-     * @param  localName  The local name for the new attribute.
-     * @param  uri  The URI for the new attribute's namespace.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertAttribute ( String localName, String uri );
-
-    /**
-     * Inserts a new attribute immediately before this cursor's location, giving it
-     * the specified name.
-     * 
-     * @param  name  The local name for the new attribute.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertAttribute ( QName name );
-
-    /**
-     * Inserts a new attribute immediately before this cursor's location, giving it
-     * the specified value and name.
-     * 
-     * @param  Name  The local name for the new attribute.
-     * @param  value  The value for the new attribute.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertAttributeWithValue ( String Name, String value );
-
-    /**
-     * Inserts an attribute immediately before the cursor's location, giving it
-     * the specified name and value, and associating it with the specified namespace.
-     * 
-     * @param  name  The name for the new attribute.
-     * @param  uri  The URI for the new attribute's namespace.
-     * @param  value  The value for the new attribute.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertAttributeWithValue ( String name, String uri, String value );
-
-    /**
-     * Inserts an attribute immediately before the cursor's location, giving it
-     * the specified name and value.
-     * 
-     * @param  name  The name for the new attribute.
-     * @param  value  The value for the new attribute.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertAttributeWithValue ( QName name, String value );
-    
-    /**
-     * Inserts a namespace declaration immediately before the cursor's location, 
-     * giving it the specified prefix and URI.
-     * 
-     * @param  prefix  The prefix for the namespace.
-     * @param  namespace  The URI for the namespace.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertNamespace ( String prefix, String namespace );
-    
-    /**
-     * Inserts an XML comment immediately before the cursor's location, 
-     * giving it the specified content.
-     * 
-     * @param  text  The new comment's content.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertComment ( String text );
-
-    /**
-     * Inserts an XML processing instruction immediately before the cursor's location, 
-     * giving it the specified target and text.
-     * 
-     * @param  target  The target for the processing instruction.
-     * @param  text  The new processing instruction's text.
-     * @throws java.lang.IllegalArgumentException  If the insertion is not allowed
-     * at the cursor's location.
-     */
-
-    void insertProcInst ( String target, String text );
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDate.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlDate.java
deleted file mode 100644
index a102e36..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDate.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.Date;
-import java.util.Calendar;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#date">xs:date</a> type.
- * <p>
- * Convertible to {@link Calendar}, {@link Date}, and {@link GDate}.
- * 
- * @see XmlCalendar
- * @see GDate
- */ 
-public interface XmlDate extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_date");
-
-
-    /**
-     * Returns this value as a {@link Calendar}
-     * @deprecated replaced with {@link #getCalendarValue}
-     **/
-    Calendar calendarValue();
-    /**
-     * Sets this value as a {@link Calendar}
-     * @deprecated replaced with {@link #setCalendarValue}
-     **/
-    void set(Calendar c);
-    /**
-     * Returns this value as a {@link GDate}
-     * @deprecated replaced with {@link #getGDateValue}
-     **/
-    GDate gDateValue();
-    /**
-     * Sets this value as a {@link GDateSpecification}
-     * @deprecated replaced with {@link #setGDateValue}
-     **/
-    void set(GDateSpecification gd);
-    /**
-     * Returns this value as a {@link Date}
-     * @deprecated replaced with {@link #getDateValue}
-     **/
-    Date dateValue();
-    /**
-     * Sets this value as a {@link Date}
-     * @deprecated replaced with {@link #setDateValue}
-     **/
-    void set(Date d);
-
-    /** Returns this value as a {@link Calendar} */
-    Calendar getCalendarValue();
-    /** Sets this value as a {@link Calendar} */
-    void setCalendarValue(Calendar c);
-    /** Returns this value as a {@link GDate} */
-    GDate getGDateValue();
-    /** Sets this value as a {@link GDateSpecification} */
-    void setGDateValue(GDate gd);
-    /** Returns this value as a {@link Date} */
-    Date getDateValue();
-    /** Sets this value as a {@link Date} */
-    void setDateValue(Date d);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlDate}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlDate} */
-        public static XmlDate newInstance() {
-          return (XmlDate) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlDate} */
-        public static XmlDate newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlDate) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlDate} value */
-        public static XmlDate newValue(Object obj) {
-          return (XmlDate) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlDate} fragment from a String. For example: "<code>&lt;xml-fragment&gt;2003-06-14&lt;/xml-fragment&gt;</code>". */
-        public static XmlDate parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlDate} fragment from a String. For example: "<code>&lt;xml-fragment&gt;2003-06-14&lt;/xml-fragment&gt;</code>". */
-        public static XmlDate parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlDate} fragment from a File. */
-        public static XmlDate parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlDate} fragment from a File. */
-        public static XmlDate parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlDate} fragment from a URL. */
-        public static XmlDate parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlDate} fragment from a URL. */
-        public static XmlDate parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlDate} fragment from an InputStream. */
-        public static XmlDate parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlDate} fragment from an InputStream. */
-        public static XmlDate parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlDate} fragment from a Reader. */
-        public static XmlDate parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlDate} fragment from a Reader. */
-        public static XmlDate parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlDate} fragment from a DOM Node. */
-        public static XmlDate parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlDate} fragment from a DOM Node. */
-        public static XmlDate parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlDate} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlDate parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlDate} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlDate parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlDate) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDateTime.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlDateTime.java
deleted file mode 100644
index 563c965..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDateTime.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.Date;
-import java.util.Calendar;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#dateTime">xs:dateTime</a> type.
- * <p>
- * Convertible to {@link Calendar}, {@link Date}, and {@link GDate}.
- * 
- * @see XmlCalendar
- * @see GDate
- */ 
-public interface XmlDateTime extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_dateTime");
-    
-    /**
-     * Returns this value as a {@link Calendar}
-     * @deprecated replaced with {@link #getCalendarValue}
-     **/
-    Calendar calendarValue();
-    /**
-     * Sets this value as a {@link Calendar}
-     * @deprecated replaced with {@link #setCalendarValue}
-     **/
-    void set(Calendar c);
-    /**
-     * Returns this value as a {@link GDate}
-     * @deprecated replaced with {@link #getGDateValue}
-     **/
-    GDate gDateValue();
-    /**
-     * Sets this value as a {@link GDateSpecification}
-     * @deprecated replaced with {@link #setGDateValue}
-     **/
-    void set(GDateSpecification gd);
-    /**
-     * Returns this value as a {@link Date}
-     * @deprecated replaced with {@link #getDateValue}
-     **/
-    Date dateValue();
-    /**
-     * Sets this value as a {@link Date}
-     * @deprecated replaced with {@link #setDateValue}
-     **/
-    void set(Date d);
-
-    /** Returns this value as a {@link Calendar} */
-    Calendar getCalendarValue();
-    /** Sets this value as a {@link Calendar} */
-    void setCalendarValue(Calendar c);
-    /** Returns this value as a {@link GDate} */
-    GDate getGDateValue();
-    /** Sets this value as a {@link GDateSpecification} */
-    void setGDateValue(GDate gd);
-    /** Returns this value as a {@link Date} */
-    Date getDateValue();
-    /** Sets this value as a {@link Date} */
-    void setDateValue(Date d);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlDateTime}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlDateTime} */
-        public static XmlDateTime newInstance() {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlDateTime} */
-        public static XmlDateTime newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlDateTime} value */
-        public static XmlDateTime newValue(Object obj) {
-          return (XmlDateTime) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from a String. For example: "<code>&lt;xml-fragment&gt;2003-06-14T12:00:00&lt;/xml-fragment&gt;</code>". */
-        public static XmlDateTime parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from a String. For example: "<code>&lt;xml-fragment&gt;2003-06-14T12:00:00&lt;/xml-fragment&gt;</code>". */
-        public static XmlDateTime parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from a File. */
-        public static XmlDateTime parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from a File. */
-        public static XmlDateTime parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from a URL. */
-        public static XmlDateTime parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlDateTime} fragment from a URL. */
-        public static XmlDateTime parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlDateTime} fragment from an InputStream. */
-        public static XmlDateTime parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from an InputStream. */
-        public static XmlDateTime parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from a Reader. */
-        public static XmlDateTime parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from a Reader. */
-        public static XmlDateTime parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from a DOM Node. */
-        public static XmlDateTime parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from a DOM Node. */
-        public static XmlDateTime parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlDateTime parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlDateTime} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlDateTime parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlDateTime) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDecimal.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlDecimal.java
deleted file mode 100644
index 450cee0..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDecimal.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.math.BigDecimal;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a> type.
- * <p>
- * Convertible to {@link BigDecimal}.
- */ 
-public interface XmlDecimal extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_decimal");
-    
-    /** Returns this value as a {@link BigDecimal} */
-    BigDecimal getBigDecimalValue();
-    /** Sets this value as a {@link BigDecimal} */
-    void setBigDecimalValue(BigDecimal bd);
-
-    /**
-     * Returns this value as a {@link BigDecimal}
-     * @deprecated replaced with {@link #getBigDecimalValue}
-     **/
-    BigDecimal bigDecimalValue();
-    /**
-     * Sets this value as a {@link BigDecimal}
-     * @deprecated replaced with {@link #setBigDecimalValue}
-     **/
-    void set(BigDecimal bd);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlDecimal}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlDecimal} */
-        public static XmlDecimal newInstance() {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlDecimal} */
-        public static XmlDecimal newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlDecimal} value */
-        public static XmlDecimal newValue(Object obj) {
-          return (XmlDecimal) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234.56789&lt;/xml-fragment&gt;</code>". */
-        public static XmlDecimal parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234.56789&lt;/xml-fragment&gt;</code>". */
-        public static XmlDecimal parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from a File. */
-        public static XmlDecimal parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from a File. */
-        public static XmlDecimal parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from a URL. */
-        public static XmlDecimal parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlDecimal} fragment from a URL. */
-        public static XmlDecimal parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlDecimal} fragment from an InputStream. */
-        public static XmlDecimal parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from an InputStream. */
-        public static XmlDecimal parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from a Reader. */
-        public static XmlDecimal parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from a Reader. */
-        public static XmlDecimal parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from a DOM Node. */
-        public static XmlDecimal parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from a DOM Node. */
-        public static XmlDecimal parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlDecimal parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlDecimal} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlDecimal parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlDecimal) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDocumentProperties.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlDocumentProperties.java
deleted file mode 100644
index ce495ff..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDocumentProperties.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * This class is used to attach arbitrary information to an XML
- * document.  It also defines several well-known types of
- * information that can be attached or found on a document.
- * <p>
- * For example, suppose you wanted to associate a filename
- * with the document containing an xml object "xobj".  This
- * could be done via the following code:
- * <p>
- * tokenSource.documentProperties().set(XmlDocumentProperties.NAME, "MyFilename.xml");
- * <p>
- * To fetch the filename later, given an xobj2 anywhere in the
- * same document, you can write:
- * <p>
- * filename = (String)tokenSource.documentProperties().get(XmlDocumentProperties.NAME);
- */
-public abstract class XmlDocumentProperties
-{
-    /**
-     * Sets the name of the XML document file.  Typically a URL, but may
-     * be any String.
-     * @param sourceName the name to set
-     * @see XmlOptions#setDocumentSourceName
-    */ 
-    public void   setSourceName ( String sourceName ) { put( SOURCE_NAME, sourceName ); }
-    /**
-     * Returns the name of the XML document file.  Typically a URL, but may
-     * be any String.
-     * @see XmlOptions#setDocumentSourceName
-     */ 
-    public String getSourceName ( ) { return (String) get( SOURCE_NAME ); }
-    
-    /**
-     * Sets the encoding to use for the XML document.  Should be a valid
-     * XML encoding string.
-     * @param encoding the ISO encoding name
-     * @see XmlOptions#setCharacterEncoding
-     */ 
-    public void   setEncoding ( String encoding ) { put( ENCODING, encoding ); }
-    /**
-     * Returns the encoding used for the XML document, as an ISO encoding name.
-     * @see XmlOptions#setCharacterEncoding
-     */ 
-    public String getEncoding ( ) { return (String) get( ENCODING ); }
-    
-    /**
-     * Sets the XML version string to use in the &lt&#63;xml&#63;&gt; declaration.
-     * (The XML specification is quite stable at "1.0".)
-     * @param version the XML version string
-     */ 
-    public void   setVersion ( String version ) { put( VERSION, version ); }
-    /**
-     * Returns the XML version string used in the &lt&#63;xml&#63;&gt; declaration.
-     */ 
-    public String getVersion ( ) { return (String) get( VERSION ); }
-    
-    /**
-     * Sets the DOCTYPE name use in the &lt&#33;DOCTYPE&gt; declaration.
-     * @param doctypename the doctypename
-     */ 
-    public void   setDoctypeName ( String doctypename ) { put( DOCTYPE_NAME, doctypename ); }
-    /**
-     * Returns the DOCTYPE name used in the &lt&#33;DOCTYPE&gt; declaration.
-     */ 
-    public String getDoctypeName ( ) { return (String) get( DOCTYPE_NAME ); }
-    
-    /**
-     * Sets the DOCTYPE public ID to use in the &lt&#33;DOCTYPE&gt; declaration.
-     * @param publicid the public ID
-     */ 
-    public void   setDoctypePublicId ( String publicid ) { put( DOCTYPE_PUBLIC_ID, publicid ); }
-    /**
-     * Returns the DOCTYPE public ID used in the &lt&#33;DOCTYPE&gt; declaration.
-     */ 
-    public String getDoctypePublicId ( ) { return (String) get( DOCTYPE_PUBLIC_ID ); }
-    
-    /**
-     * Sets the DOCTYPE system ID to use in the &lt&#33;DOCTYPE&gt; declaration.
-     * @param systemid the system ID
-     */ 
-    public void   setDoctypeSystemId ( String systemid ) { put( DOCTYPE_SYSTEM_ID, systemid ); }
-    /**
-     * Returns the DOCTYPE system ID used in the &lt&#33;DOCTYPE&gt; declaration.
-     */
-    public String getDoctypeSystemId ( ) { return (String) get( DOCTYPE_SYSTEM_ID ); }
-
-    /**
-     * Sets the message digest used to summarize the document.
-     * @param digest the bytes of the digest
-     * 
-     * @see XmlOptions#setLoadMessageDigest
-     */ 
-    public void   setMessageDigest( byte[] digest ) { put( MESSAGE_DIGEST, digest ); }
-    /**
-     * Returns the message digest used to summarize the document.
-     * 
-     * @see XmlOptions#setLoadMessageDigest
-     */ 
-    public byte[] getMessageDigest( ) { return (byte[]) get( MESSAGE_DIGEST ); }
-    
-    /**
-     * Used to store the original name (a String) for
-     * the source from which the XML document was loaded.
-     * This name, if present, is used to identify the
-     * document when reporting validation or comilation errors.
-     *
-     * XmlObject.Factory.parse(File) and SchemaTypeLoader.loadInstance(File)
-     * both automatically set this value to the filename.
-     */
-    public static final Object SOURCE_NAME = new Object();
-    
-    /**
-     * Document encoding
-     */
-    public static final Object ENCODING = new Object();
-    
-    /**
-     * Document version
-     */
-    public static final Object VERSION = new Object();
-    
-    /**
-     * Doc type name
-     */
-    public static final Object DOCTYPE_NAME = new Object();
-    
-    /**
-     * Doc type public id
-     */
-    public static final Object DOCTYPE_PUBLIC_ID = new Object();
-    
-    /**
-     * Doc type system id
-     */
-    public static final Object DOCTYPE_SYSTEM_ID = new Object();
-    
-    /**
-     * SHA message digest
-     */
-    public static final Object MESSAGE_DIGEST = new Object();
-
-    /**
-     * Attaches a value to the root of the document containing
-     * the given token source.
-     *
-     * @param key   The key: there can be one value for each key.
-     * @param value The value to attach to the document.
-     */
-    public abstract Object put ( Object key, Object value );
-    
-    /**
-     * Returns a value previously attached to a document using set.
-     *
-     * @param key   The key: this is the key that was previously
-     *              passed to set to store the value.
-     * @return      The saved value, or null if none is found.
-     */
-    public abstract Object get ( Object key );
-
-    /**
-     * Removes a value previously attached to a document using set.
-     *
-     * @param key   The key: this is the key that was previously
-     *              passed to set to store the value.
-     */
-    public abstract Object remove ( Object key );
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDouble.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlDouble.java
deleted file mode 100644
index 0c0780b..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDouble.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#double">xs:double</a> type.
- * <p>
- * Naturally, convertible to a Java double.
- */ 
-public interface XmlDouble extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_double");
-    
-    /** Returns this value as a double */
-    double getDoubleValue();
-    /** Sets this value as a double */
-    void setDoubleValue(double v);
-
-    /**
-     * Returns this value as a double
-     * @deprecated replaced with {@link #getDoubleValue}
-     **/
-    double doubleValue();
-    /**
-     * Sets this value as a double
-     * @deprecated replaced with {@link #setDoubleValue}
-     **/
-    void set(double v);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlDouble}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlDouble} */
-        public static XmlDouble newInstance() {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlDouble} */
-        public static XmlDouble newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlDouble} value */
-        public static XmlDouble newValue(Object obj) {
-          return (XmlDouble) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlDouble} fragment from a String. For example: "<code>&lt;xml-fragment&gt;123.34e+57&lt;/xml-fragment&gt;</code>". */
-        public static XmlDouble parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlDouble} fragment from a String. For example: "<code>&lt;xml-fragment&gt;123.34e+57&lt;/xml-fragment&gt;</code>". */
-        public static XmlDouble parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlDouble} fragment from a File. */
-        public static XmlDouble parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlDouble} fragment from a File. */
-        public static XmlDouble parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlDouble} fragment from a URL. */
-        public static XmlDouble parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlDouble} fragment from a URL. */
-        public static XmlDouble parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlDouble} fragment from an InputStream. */
-        public static XmlDouble parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlDouble} fragment from an InputStream. */
-        public static XmlDouble parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlDouble} fragment from a Reader. */
-        public static XmlDouble parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlDouble} fragment from a Reader. */
-        public static XmlDouble parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlDouble} fragment from a DOM Node. */
-        public static XmlDouble parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlDouble} fragment from a DOM Node. */
-        public static XmlDouble parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlDouble} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlDouble parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlDouble} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlDouble parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlDouble) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDuration.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlDuration.java
deleted file mode 100644
index ba1b513..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlDuration.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#duration">xs:duration</a> type.
- * <p>
- * Convertible to a {@link GDuration}.
- * 
- * @see GDuration
- */ 
-public interface XmlDuration extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_duration");
-    
-    /** Returns this value as a {@link GDuration} */
-    GDuration getGDurationValue();
-    /** Sets this value as a {@link GDuration} */
-    void setGDurationValue(GDuration gd);
-
-    /**
-     * Returns this value as a {@link GDuration}
-     * @deprecated replaced with {@link #getGDurationValue}
-     **/
-    GDuration gDurationValue();
-    /**
-     * Sets this value as a {@link GDuration}
-     * @deprecated replaced with {@link #setGDurationValue}
-     **/
-    void set(GDurationSpecification gd);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlDuration}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlDuration} */
-        public static XmlDuration newInstance() {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlDuration} */
-        public static XmlDuration newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlDuration} value */
-        public static XmlDuration newValue(Object obj) {
-          return (XmlDuration) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlDuration} fragment from a String. For example: "<code>&lt;xml-fragment&gt;P1Y2MT2H&lt;/xml-fragment&gt;</code>". */
-        public static XmlDuration parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlDuration} fragment from a String. For example: "<code>&lt;xml-fragment&gt;P1Y2MT2H&lt;/xml-fragment&gt;</code>". */
-        public static XmlDuration parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlDuration} fragment from a File. */
-        public static XmlDuration parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlDuration} fragment from a File. */
-        public static XmlDuration parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlDuration} fragment from a URL. */
-        public static XmlDuration parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlDuration} fragment from a URL. */
-        public static XmlDuration parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlDuration} fragment from an InputStream. */
-        public static XmlDuration parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlDuration} fragment from an InputStream. */
-        public static XmlDuration parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlDuration} fragment from a Reader. */
-        public static XmlDuration parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlDuration} fragment from a Reader. */
-        public static XmlDuration parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlDuration} fragment from a DOM Node. */
-        public static XmlDuration parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlDuration} fragment from a DOM Node. */
-        public static XmlDuration parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlDuration} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlDuration parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlDuration} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlDuration parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlDuration) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlENTITIES.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlENTITIES.java
deleted file mode 100644
index feb654e..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlENTITIES.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.List;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#ENTITIES">xs:ENTITIES</a> type,
- * a list type.
- * <p>
- * A list type.
- */ 
-public interface XmlENTITIES extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_ENTITIES");
-    
-    /** Returns the value as a {@link List} of {@link String} values */
-    List getListValue();
-    /** Returns the value as a {@link List} of {@link XmlENTITY} values **/
-    List xgetListValue();
-    /** Sets the value as a {@link List} */
-    void setListValue(List l);
-
-    /**
-     * Returns the value as a {@link List} of {@link String} values
-     * @deprecated replaced by {@link #getListValue}
-     **/
-    List listValue();
-    /**
-     * Returns the value as a {@link List} of {@link XmlENTITY} values
-     * @deprecated replaced by {@link #getListValue}
-     **/
-    List xlistValue();
-    /**
-     * Sets the value as a {@link List}
-     * @deprecated replaced by {@link #getListValue}
-     **/
-    void set(List l);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlENTITIES}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlENTITIES} */
-        public static XmlENTITIES newInstance() {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlENTITIES} */
-        public static XmlENTITIES newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlENTITIES} value */
-        public static XmlENTITIES newValue(Object obj) {
-          return (XmlENTITIES) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from a String. */
-        public static XmlENTITIES parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from a String. */
-        public static XmlENTITIES parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from a File. */
-        public static XmlENTITIES parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from a File. */
-        public static XmlENTITIES parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from a URL. */
-        public static XmlENTITIES parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlENTITIES} fragment from a URL. */
-        public static XmlENTITIES parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlENTITIES} fragment from an InputStream. */
-        public static XmlENTITIES parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from an InputStream. */
-        public static XmlENTITIES parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from a Reader. */
-        public static XmlENTITIES parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from a Reader. */
-        public static XmlENTITIES parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from a DOM Node. */
-        public static XmlENTITIES parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from a DOM Node. */
-        public static XmlENTITIES parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlENTITIES parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlENTITIES} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlENTITIES parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlENTITIES) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlENTITY.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlENTITY.java
deleted file mode 100644
index 1fe68df..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlENTITY.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#ENTITY">xs:ENTITY</a> type.
- * <p>
- * Convertible to {@link String}.
- */ 
-public interface XmlENTITY extends XmlNCName
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_ENTITY");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlENTITY}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlENTITY} */
-        public static XmlENTITY newInstance() {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlENTITY} */
-        public static XmlENTITY newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlENTITY} value */
-        public static XmlENTITY newValue(Object obj) {
-          return (XmlENTITY) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from a String. */
-        public static XmlENTITY parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from a String. */
-        public static XmlENTITY parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from a File. */
-        public static XmlENTITY parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from a File. */
-        public static XmlENTITY parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from a URL. */
-        public static XmlENTITY parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlENTITY} fragment from a URL. */
-        public static XmlENTITY parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlENTITY} fragment from an InputStream. */
-        public static XmlENTITY parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from an InputStream. */
-        public static XmlENTITY parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from a Reader. */
-        public static XmlENTITY parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from a Reader. */
-        public static XmlENTITY parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from a DOM Node. */
-        public static XmlENTITY parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from a DOM Node. */
-        public static XmlENTITY parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlENTITY parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlENTITY} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlENTITY parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlENTITY) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlError.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlError.java
deleted file mode 100644
index 797d44d..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlError.java
+++ /dev/null
@@ -1,453 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.io.File;
-
-/**
- * Represents a message at a specific XML location.
- * <p>
- * The message can be an error, warning, or simple information, and
- * it may optionally be associated with a specific location in
- * an XML document.  The class includes methods for extracting
- * the location as a line number, XmlCursor, or XmlObject, as
- * well as for obtaining and message and severity of the
- * error. 
- * 
- * @see XmlOptions#setErrorListener
- * @see XmlException
- */
-public class XmlError implements java.io.Serializable
-{
-    private static final long serialVersionUID = 1L;
-
-    private String _message;
-    private String _source;
-    private int    _severity = SEVERITY_ERROR;
-    private int    _line = -1;
-    private int    _column = -1;
-    private int    _offset = -1;
-    
-    private transient XmlCursor _cursor;
-    
-    /**
-     * Copy constructor.
-     * @param src The original XmlError to copy.
-     */
-    public XmlError(XmlError src)
-    {
-        _message = src.getMessage();
-        _severity = src.getSeverity();
-        _source = src.getSourceName();
-        _line = src.getLine();
-        _column = src.getColumn();
-        _offset = src.getOffset();
-        _cursor = src.getCursorLocation();
-    }
-
-    /**
-     * The static factory methods should be used instead of
-     * this constructor.
-     */
-    private XmlError(String message, int severity, String source, int line, int column, int offset, XmlCursor cursor)
-    {
-        _message = message;
-        _severity = severity;
-        _source = source;
-        _line = line;
-        _column = column;
-        _offset = offset;
-        _cursor = cursor;
-    }
-
-    /**
-     * Returns an XmlError for the given message, with no location and {@link #SEVERITY_ERROR}.
-     * @param message the error message
-     */ 
-    public static XmlError forMessage(String message)
-    {
-        return forMessage(message, SEVERITY_ERROR);
-    }
-
-    /**
-     * Returns an XmlError for the given message, with no location and the given severity.
-     * @param message the error message
-     * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
-     */ 
-    public static XmlError forMessage(String message, int severity)
-    {
-        return forSource(message, severity, null);
-    }
-
-    /**
-     * Returns an XmlError for the given message, located in the given file and {@link #SEVERITY_ERROR}.
-     * @param message the error message
-     * @param sourceName the URL or other name for the file
-     */ 
-    public static XmlError forSource(String message, String sourceName)
-    {
-        return forLocation(message, SEVERITY_ERROR, sourceName, -1, -1, -1);
-    }
-
-    /**
-     * Returns an XmlError for the given message, with the given severity, located in the given file.
-     * @param message the error message
-     * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
-     * @param sourceName the URL or other name for the file
-     */ 
-    public static XmlError forSource(String message, int severity, String sourceName)
-    {
-        return forLocation(message, severity, sourceName, -1, -1, -1);
-    }
-
-    /**
-     * Returns an XmlError for the given message, located at a specific point in the given file and {@link #SEVERITY_ERROR}.
-     * @param message the error message
-     * @param sourceName the URL or other name for the file
-     * @param line the 1-based line number, or -1 if not known
-     * @param column the 1-based column number, or -1 if not known
-     * @param offset the 0-base file character offset, or -1 if not known
-     */ 
-    public static XmlError forLocation(String message, String sourceName, int line, int column, int offset)
-    {
-        return new XmlError(message, SEVERITY_ERROR, sourceName, line, column, offset, null);
-    }
-
-    /**
-     * Returns an XmlError for the given message, with the given severity, located at a specific point in the given file.
-     * @param message the error message
-     * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
-     * @param sourceName the URL or other name for the file
-     * @param line the 1-based line number, or -1 if not known
-     * @param column the 1-based column number, or -1 if not known
-     * @param offset the 0-base file character offset, or -1 if not known
-     */ 
-    public static XmlError forLocation(String message, int severity, String sourceName, int line, int column, int offset)
-    {
-        return new XmlError(message, severity, sourceName, line, column, offset, null);
-    }
-
-    /**
-     * Returns an XmlError for the given message, with the given severity, located at the given physcial location and XmlCursor.
-     * @param message the error message
-     * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
-     * @param sourceName the URL or other name for the file
-     * @param line the 1-based line number, or -1 if not known
-     * @param column the 1-based column number, or -1 if not known
-     * @param offset the 0-base file character offset, or -1 if not known
-     * @param cursor the XmlCursor representing the location of the error
-     */ 
-    public static XmlError forLocationAndCursor(String message, int severity, String sourceName, int line, int column, int offset, XmlCursor cursor)
-    {
-        return new XmlError(message, severity, sourceName, line, column, offset, cursor);
-    }
-
-    /**
-     * Returns an XmlError for the given message, located at the XmlObject, with {@link #SEVERITY_ERROR}.
-     * @param message the error message
-     * @param xobj the XmlObject representing the location of the error
-     */
-    public static XmlError forObject(String message, XmlObject xobj)
-    {
-        return forObject(message, SEVERITY_ERROR, xobj);
-    }
-
-    /**
-     * Returns an XmlError for the given message, with the given severity, located at the XmlObject.
-     * @param message the error message
-     * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
-     * @param xobj the XmlObject representing the location of the error
-     */
-    public static XmlError forObject(String message, int severity, XmlObject xobj)
-    {
-        if (xobj == null)
-            return forMessage(message, severity);
-
-        XmlCursor cur = xobj.newCursor();
-        XmlError result = forCursor(message, severity, cur);
-        if (cur != null)
-            cur.dispose();
-        return result;
-    }
-
-    /**
-     * Returns an XmlError for the given message, located at the XmlCursor, with {@link #SEVERITY_ERROR}.
-     * @param message the error message
-     * @param cursor the XmlCursor representing the location of the error
-     */
-    public static XmlError forCursor(String message, XmlCursor cursor)
-    {
-        return forCursor(message, SEVERITY_ERROR, cursor);
-    }
-
-    /**
-     * Returns an XmlError for the given message, with the given severity, located at the XmlCursor.
-     * @param message the error message
-     * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
-     * @param cursor the XmlCursor representing the location of the error
-     */
-    public static XmlError forCursor(String message, int severity, XmlCursor cursor)
-    {
-        if (cursor == null)
-            return forMessage(message, severity);
-
-        // Hunt down the line/column/offset
-
-        int line = -1;
-        int column = -1;
-        int offset = -1;
-        String source = null;
-
-        source = cursor.documentProperties().getSourceName();
-
-        XmlCursor c = cursor.newCursor();
-
-        XmlLineNumber ln =
-            (XmlLineNumber) c.getBookmark( XmlLineNumber.class );
-
-        if (ln == null)
-            ln = (XmlLineNumber) c.toPrevBookmark( XmlLineNumber.class );
-
-        if (ln != null)
-        {
-            line = ln.getLine();
-            column = ln.getColumn();
-            offset = ln.getOffset();
-        }
-
-        c.dispose();
-
-        return new XmlError(message, severity, source, line, column, offset, cursor);
-    }
-
-    /**
-     * Tries to produce a nicely formatted filename from the given string.
-     */
-    protected static String formattedFileName(String rawString, URI base)
-    {
-        if (rawString == null)
-            return null;
-
-        URI uri = null;
-
-        try
-        {
-            // if it looks like an absolute URI, treat it as such
-            uri = new URI(rawString);
-
-            // otherwise, treat it like a filename
-            if (!uri.isAbsolute())
-                uri = null;
-        }
-        catch (URISyntaxException e)
-        {
-            uri = null;
-        }
-
-        // looks like a filename; convert it to uri for relativization
-        if (uri == null)
-            uri = new File(rawString).toURI();
-
-        if (base != null)
-            uri = base.relativize(uri);
-
-        // filenames get their file: stripped off and their /'s turned into \'s (MSDOS)
-        if (uri.isAbsolute() ? uri.getScheme().compareToIgnoreCase("file") == 0 :
-            base != null && base.isAbsolute() && base.getScheme().compareToIgnoreCase("file") == 0)
-        {
-            try
-            {
-                return (new File(uri)).toString();
-            }
-            catch (Exception e) {};
-        }
-
-        return uri.toString();
-    }
-
-    /**
-     * An error. See {@link #getSeverity}.
-     */ 
-    public static final int SEVERITY_ERROR   = 0;
-    /**
-     * A warning. See {@link #getSeverity}.
-     */ 
-    public static final int SEVERITY_WARNING = 1;
-    /**
-     * An informational message. See {@link #getSeverity}.
-     */ 
-    public static final int SEVERITY_INFO    = 2;
-
-    /**
-     * Returns the severity.  Either {@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO}.
-     */ 
-    public int    getSeverity   ( ) { return _severity; }
-    
-    /**
-     * Returns the error message without location information.
-     */ 
-    public String getMessage    ( ) { return _message; }
-    
-    /**
-     * Returns the URL (or other name) of the file with the error, if available.
-     */ 
-    public String getSourceName ( ) { return _source; }
-    
-    /**
-     * Returns the line number of the error, if available, -1 if not.
-     */ 
-    public int    getLine       ( ) { return _line; }
-    
-    /**
-     * Returns the column number of the error, if available, -1 if not.
-     */ 
-    public int    getColumn     ( ) { return _column; }
-    
-    /**
-     * Returns the file character offset of the error, if available, -1 if not.
-     */ 
-    public int    getOffset     ( ) { return _offset; }
-    
-    /**
-     * Returns a location object of the given type.  XmlCursor.class and
-     * XmlObject.class can be passed, for example.  Null if not available.
-     */ 
-    public Object getLocation ( Object type )
-    {
-        if (type == XmlCursor.class)
-            return _cursor;
-        if (type == XmlObject.class && _cursor != null)
-            return _cursor.getObject();
-        return null;
-    }
-
-    /**
-     * Returns a location of the error as an {@link XmlCursor}, null if
-     * not available.
-     */ 
-    public XmlCursor getCursorLocation ( )
-    {
-        return (XmlCursor) getLocation( XmlCursor.class );
-    }
-
-    /**
-     * Returns a location of the error as an {@link XmlObject}, null if
-     * not available.
-     */ 
-    public XmlObject getObjectLocation ( )
-    {
-        return (XmlObject) getLocation( XmlObject.class );
-    }
-
-    /**
-     * Produces a standard string for the error message, complete with
-     * filename and location offsets if available.
-     */
-    public String toString ( )
-    {
-        return toString( null );
-    }
-
-    /**
-     * Produces a standard string with the error message.  If a non-null
-     * URI is supplied, source names are relativized against the given
-     * URI.
-     */
-    public String toString ( URI base )
-    {
-        // modified to carefully match the IDE's
-        // workshop.workspace.ant.AntLogger regex
-        // which also matches javac (davidbau)
-
-        StringBuffer sb = new StringBuffer();
-
-        String source = formattedFileName(getSourceName(), base);
-
-        if ( source != null )
-        {
-            sb.append( source );
-            int line = getLine();
-            if ( line < 0 )
-                line = 0;
-
-            sb.append( ':' );
-            sb.append( line );
-            sb.append( ':' );
-            if (getColumn() > 0)
-            {
-                sb.append( getColumn() );
-                sb.append( ':' );
-            }
-            sb.append(" ");
-        }
-
-        switch ( getSeverity() )
-        {
-            case SEVERITY_ERROR   : sb.append( "error: " );   break;
-            case SEVERITY_WARNING : sb.append( "warning: " ); break;
-            case SEVERITY_INFO : break;
-        }
-
-        String msg = getMessage();
-
-        sb.append( msg == null ? "<Unspecified message>" : msg );
-
-        return sb.toString();
-    }
-}
\ No newline at end of file
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlException.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlException.java
deleted file mode 100644
index 866f19d..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlException.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.List;
-import java.util.Collections;
-import java.util.Collection;
-import java.util.ArrayList;
-
-/**
- * A checked exception that can be thrown while processing,
- * parsing, or compiling XML.  May contain any number of {@link XmlError}
- * objects.
- * <p>
- * @see XmlError
- * @see XmlRuntimeException
- */
-public class XmlException extends Exception
-{
-    private static final long serialVersionUID = 1L;
-    
-    /**
-     * Constructs an XmlException from a message.
-     */ 
-    public XmlException ( String m              ) { super( m );    }
-    
-    /**
-     * Constructs an XmlException from a message and a cause.
-     */ 
-    public XmlException ( String m, Throwable t ) { super( m, t ); }
-    
-    /**
-     * Constructs an XmlException from a cause.
-     */ 
-    public XmlException ( Throwable t           ) { super( t );    }
-    
-    /**
-     * Constructs an XmlException from an {@link XmlError}.
-     */ 
-    public XmlException ( XmlError error )
-    {
-        this( error.toString(), null, error );
-    }
-
-    /**
-     * Constructs an XmlException from a message, a cause, and an {@link XmlError}.
-     */ 
-    public XmlException ( String m, Throwable t, XmlError error )
-    {
-        this( m, t, Collections.singletonList( error ) );
-    }
-    
-    /**
-     * Constructs an XmlException from a message, a cause, and a collection of {@link XmlError XmlErrors}.
-     */ 
-    public XmlException ( String m, Throwable t, Collection errors )
-    {
-        super( m, t );
-
-        if (errors != null)
-            _errors = Collections.unmodifiableList( new ArrayList( errors ) );
-    }
-
-    /**
-     * Constructs an XmlException from an {@link XmlRuntimeException}.
-     */ 
-    public XmlException ( XmlRuntimeException xmlRuntimeException )
-    {
-        super(
-            xmlRuntimeException.getMessage(), xmlRuntimeException.getCause() );
-
-        Collection errors = xmlRuntimeException.getErrors();
-
-        if (errors != null)
-            _errors = Collections.unmodifiableList( new ArrayList( errors ) );
-    }
-    
-    /**
-     * Returns the first {@link XmlError XmlErrors} that caused the exception, if any.
-     */ 
-    public XmlError getError ( )
-    {
-        if (_errors == null || _errors.size() == 0)
-            return null;
-
-        return (XmlError) _errors.get( 0 );
-    }
-    
-    /**
-     * Returns the collection of {@link XmlError XmlErrors} that caused the exception, if any.
-     */ 
-    public Collection getErrors ( )
-    {
-        return _errors;
-    }
-
-    private List _errors;
-}
\ No newline at end of file
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlFactoryHook.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlFactoryHook.java
deleted file mode 100644
index 6f95512..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlFactoryHook.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import org.w3c.dom.Node;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLStreamException;
-
-/**
- * A hook for the XML Bean Factory mechanism.
- * Provided for advanced users who wish to provide their own
- * implementation of the Factory.parse methods. This is used, for example,
- * to defer reading XML streams until needed.
- * <p>
- * To use the hook, call XmlFactoryHook.ThreadContext.setHook(), passing
- * your own XmlFactoryHook implementation.  Then every call to a Factory
- * method will be delgated to your hook.
- *
- * <pre>
- * MyHook hook = new MyHook();
- * XmlFactoryHook.ThreadContext.setHook(hook);
- * // this results in a call to hook.parse(...)
- * XmlObject.Factory.parse(new File("test.xml"));
- * </pre>
- * 
- * If the hook needs to turn around and invoke the built-in parsers, then
- * it should do so by calling the appropriate method on the passed
- * SchemaTypeLoader.  Since SchemaTypeLoader.parse() methods delegate
- * to the registered hook, a hook that wishes to actually invoke the
- * default parser without having itself called back again should
- * unregister itself before calling loader.parse(), and then re-register
- * itself again after the call.
- * <pre>
- * void parse(SchemaTypeLoader loader, ...)
- * {
- *     XmlFactoryHook remember = XmlFactoryHook.ThreadContext.getHook();
- *     XmlFactoryHook.ThreadContext.setHook(null);
- *     loader.parse(...); // isn't hooked.
- *     XmlFactoryHook.ThreadContext.setHook(remember);
- * }
- * </pre>
- */
-public interface XmlFactoryHook
-{
-    /** Hooks Factory.newInstance calls */
-    public XmlObject newInstance ( SchemaTypeLoader loader, SchemaType type, XmlOptions options );
-    /** Hooks Factory.parse calls */
-    public XmlObject parse ( SchemaTypeLoader loader, String xmlText, SchemaType type, XmlOptions options ) throws XmlException;
-    /** Hooks Factory.parse calls */
-    public XmlObject parse ( SchemaTypeLoader loader, InputStream jiois, SchemaType type, XmlOptions options ) throws XmlException, IOException;
-    /** Hooks Factory.parse calls */
-    public XmlObject parse ( SchemaTypeLoader loader, Reader jior, SchemaType type, XmlOptions options ) throws XmlException, IOException;
-    /** Hooks Factory.parse calls */
-    public XmlObject parse ( SchemaTypeLoader loader, Node node, SchemaType type, XmlOptions options ) throws XmlException;
-    /** Hooks Factory.parse calls */
-    public XmlObject parse ( SchemaTypeLoader loader, XMLInputStream xis, SchemaType type, XmlOptions options ) throws XmlException, XMLStreamException;
-    /** Hooks Factory.newXmlSaxHandler calls */
-    public XmlSaxHandler newXmlSaxHandler ( SchemaTypeLoader loader, SchemaType type, XmlOptions options );
-
-    /**
-     * Used to manage the XmlFactoryHook for the current thread.
-     */ 
-    public final static class ThreadContext
-    {
-        private static ThreadLocal threadHook = new ThreadLocal();
-        
-        /**
-         * Returns the current thread's hook, or null if none.
-         */ 
-        public static XmlFactoryHook getHook()
-        {
-            return (XmlFactoryHook)threadHook.get();
-        }
-
-        /**
-         * Sets the hook for the current thread.
-         */ 
-        public static void setHook(XmlFactoryHook hook)
-        {
-            threadHook.set(hook);
-        }
-
-        // provided to prevent unwanted construction
-        private ThreadContext()
-        {
-        }
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlFloat.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlFloat.java
deleted file mode 100644
index 2bb5e1a..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlFloat.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#float">xs:float</a> type.
- * <p>
- * Naturally, convertible to a Java float.
- */ 
-public interface XmlFloat extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_float");
-    
-    /** Returns this value as a float */
-    float getFloatValue();
-    /** Sets this value as a float */
-    void setFloatValue(float v);
-
-    /**
-     * Returns this value as a float
-     * @deprecated replaced by {@link #getFloatValue}
-     **/
-    float floatValue();
-    /**
-     * Sets this value as a float
-     * @deprecated replaced by {@link #setFloatValue}
-     **/
-    void set(float v);
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlFloat}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlFloat} */
-        public static XmlFloat newInstance() {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlFloat} */
-        public static XmlFloat newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlFloat} value */
-        public static XmlFloat newValue(Object obj) {
-          return (XmlFloat) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlFloat} fragment from a String. For example: "<code>&lt;xml-fragment&gt;12.34e+5&lt;/xml-fragment&gt;</code>". */
-        public static XmlFloat parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlFloat} fragment from a String. For example: "<code>&lt;xml-fragment&gt;12.34e+5&lt;/xml-fragment&gt;</code>". */
-        public static XmlFloat parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlFloat} fragment from a File. */
-        public static XmlFloat parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlFloat} fragment from a File. */
-        public static XmlFloat parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlFloat} fragment from a URL. */
-        public static XmlFloat parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlFloat} fragment from a URL. */
-        public static XmlFloat parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlFloat} fragment from an InputStream. */
-        public static XmlFloat parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlFloat} fragment from an InputStream. */
-        public static XmlFloat parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlFloat} fragment from a Reader. */
-        public static XmlFloat parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlFloat} fragment from a Reader. */
-        public static XmlFloat parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlFloat} fragment from a DOM Node. */
-        public static XmlFloat parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlFloat} fragment from a DOM Node. */
-        public static XmlFloat parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlFloat} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlFloat parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlFloat} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlFloat parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlFloat) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlGDay.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlGDay.java
deleted file mode 100644
index 71e2a5e..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlGDay.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.Calendar;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#gDay">xs:gDay</a> type.
- * A gDay specifies only a day-of-month.
- * <p>
- * Convertible to {@link Calendar}, {@link GDate}, or an int.
- * 
- * @see XmlCalendar
- * @see GDate
- */ 
-public interface XmlGDay extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_gDay");
-    
-    /** Returns this value as a {@link Calendar} */
-    Calendar getCalendarValue();
-    /** Sets this value as a {@link Calendar} */
-    void setCalendarValue(Calendar c);
-    /** Returns this value as a {@link GDate} */
-    GDate getGDateValue();
-    /** Sets this value as a {@link GDateSpecification} */
-    void setGDateValue(GDate gd);
-    /** Returns this value as an int from 1-31 */
-    int getIntValue();
-    /** Sets this value as an int from 1-31 */
-    void setIntValue(int v);
-
-    /**
-     * Returns this value as a {@link Calendar}
-     * @deprecated replaced with {@link #getCalendarValue}
-     **/
-    Calendar calendarValue();
-    /**
-     * Sets this value as a {@link Calendar}
-     * @deprecated replaced with {@link #setCalendarValue}
-     **/
-    void set(Calendar c);
-    /**
-     * Returns this value as a {@link GDate}
-     * @deprecated replaced with {@link #getGDateValue}
-     **/
-    GDate gDateValue();
-    /**
-     * Sets this value as a {@link GDateSpecification}
-     * @deprecated replaced with {@link #setGDateValue}
-     **/
-    void set(GDateSpecification gd);
-    /**
-     * Returns this value as an int from 1-31
-     * @deprecated replaced with {@link #getIntValue}
-     **/
-    int intValue();
-    /**
-     * Sets this value as an int from 1-31
-     * @deprecated replaced with {@link #setIntValue}
-     **/
-    void set(int v);
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlGDay}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlGDay} */
-        public static XmlGDay newInstance() {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlGDay} */
-        public static XmlGDay newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlGDay} value */
-        public static XmlGDay newValue(Object obj) {
-          return (XmlGDay) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlGDay} fragment from a String. For example: "<code>&lt;xml-fragment&gt;---14&lt;/xml-fragment&gt;</code>". */
-        public static XmlGDay parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlGDay} fragment from a String. For example: "<code>&lt;xml-fragment&gt;---14&lt;/xml-fragment&gt;</code>". */
-        public static XmlGDay parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlGDay} fragment from a File. */
-        public static XmlGDay parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlGDay} fragment from a File. */
-        public static XmlGDay parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlGDay} fragment from a URL. */
-        public static XmlGDay parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlGDay} fragment from a URL. */
-        public static XmlGDay parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlGDay} fragment from an InputStream. */
-        public static XmlGDay parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlGDay} fragment from an InputStream. */
-        public static XmlGDay parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlGDay} fragment from a Reader. */
-        public static XmlGDay parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlGDay} fragment from a Reader. */
-        public static XmlGDay parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlGDay} fragment from a DOM Node. */
-        public static XmlGDay parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlGDay} fragment from a DOM Node. */
-        public static XmlGDay parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlGDay} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlGDay parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlGDay} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlGDay parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlGDay) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlGMonth.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlGMonth.java
deleted file mode 100644
index e0765c8..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlGMonth.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.Calendar;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#gMonth">xs:gMonth</a> type.
- * A gMonth specifies only a month-of-year.
- * <p>
- * Convertible to {@link Calendar}, {@link GDate}, or an int.
- * 
- * @see XmlCalendar
- * @see GDate
- */ 
-public interface XmlGMonth extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_gMonth");
-    
-    /** Returns this value as a {@link Calendar} */
-    Calendar getCalendarValue();
-    /** Sets this value as a {@link Calendar} */
-    void setCalendarValue(Calendar c);
-    /** Returns this value as a {@link GDate} */
-    GDate getGDateValue();
-    /** Sets this value as a {@link GDateSpecification} */
-    void setGDateValue(GDate gd);
-    /** Returns this value as an int from 1-12 */
-    int getIntValue();
-    /** Sets this value as an int from 1-12 */
-    void setIntValue(int v);
-
-    /**
-     * Returns this value as a {@link Calendar}
-     * @deprecated replaced with {@link #getCalendarValue}
-     **/
-    Calendar calendarValue();
-    /**
-     * Sets this value as a {@link Calendar}
-     * @deprecated replaced with {@link #setCalendarValue}
-     **/
-    void set(Calendar c);
-    /**
-     * Returns this value as a {@link GDate}
-     * @deprecated replaced with {@link #getGDateValue}
-     **/
-    GDate gDateValue();
-    /**
-     * Sets this value as a {@link GDateSpecification}
-     * @deprecated replaced with {@link #setGDateValue}
-     **/
-    void set(GDateSpecification gd);
-    /**
-     * Returns this value as an int from 1-12
-     * @deprecated replaced with {@link #getIntValue}
-     **/
-    int intValue();
-    /**
-     * Sets this value as an int from 1-12
-     * @deprecated replaced with {@link #setIntValue}
-     **/
-    void set(int v);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlGMonth}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlGMonth} */
-        public static XmlGMonth newInstance() {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlGMonth} */
-        public static XmlGMonth newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlGMonth} value */
-        public static XmlGMonth newValue(Object obj) {
-          return (XmlGMonth) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from a String. For example: "<code>&lt;xml-fragment&gt;--06&lt;/xml-fragment&gt;</code>". */
-        public static XmlGMonth parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from a String. For example: "<code>&lt;xml-fragment&gt;--06&lt;/xml-fragment&gt;</code>". */
-        public static XmlGMonth parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from a File. */
-        public static XmlGMonth parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from a File. */
-        public static XmlGMonth parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from a URL. */
-        public static XmlGMonth parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlGMonth} fragment from a URL. */
-        public static XmlGMonth parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlGMonth} fragment from an InputStream. */
-        public static XmlGMonth parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from an InputStream. */
-        public static XmlGMonth parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from a Reader. */
-        public static XmlGMonth parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from a Reader. */
-        public static XmlGMonth parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from a DOM Node. */
-        public static XmlGMonth parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from a DOM Node. */
-        public static XmlGMonth parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlGMonth parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlGMonth} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlGMonth parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlGMonth) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlGMonthDay.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlGMonthDay.java
deleted file mode 100644
index 7f0ddff..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlGMonthDay.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.Calendar;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#gMonthDay">xs:gMonthDay</a> type.
- * A gMonthDay specifies a day of a specific month without specifying the year.
- * <p>
- * Convertible to {@link Calendar} or {@link GDate}.
- * 
- * @see XmlCalendar
- * @see GDate
- */ 
-public interface XmlGMonthDay extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_gMonthDay");
-    
-    /** Returns this value as a {@link Calendar} */
-    Calendar getCalendarValue();
-    /** Sets this value as a {@link Calendar} */
-    void setCalendarValue(Calendar c);
-    /** Returns this value as a {@link GDate} */
-    GDate getGDateValue();
-    /** Sets this value as a {@link GDateSpecification} */
-    void setGDateValue(GDate gd);
-
-    /**
-     * Returns this value as a {@link Calendar}
-     * @deprecated replaced with {@link #getCalendarValue}
-     **/
-    Calendar calendarValue();
-    /**
-     * Sets this value as a {@link Calendar}
-     * @deprecated replaced with {@link #setCalendarValue}
-     **/
-    void set(Calendar c);
-    /**
-     * Returns this value as a {@link GDate}
-     * @deprecated replaced with {@link #getGDateValue}
-     **/
-    GDate gDateValue();
-    /**
-     * Sets this value as a {@link GDateSpecification}
-     * @deprecated replaced with {@link #setGDateValue}
-     **/
-    void set(GDateSpecification gd);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlGMonthDay}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlGMonthDay} */
-        public static XmlGMonthDay newInstance() {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlGMonthDay} */
-        public static XmlGMonthDay newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlGMonthDay} value */
-        public static XmlGMonthDay newValue(Object obj) {
-          return (XmlGMonthDay) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from a String. For example: "<code>&lt;xml-fragment&gt;--06-14&lt;/xml-fragment&gt;</code>". */
-        public static XmlGMonthDay parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from a String. For example: "<code>&lt;xml-fragment&gt;--06-14&lt;/xml-fragment&gt;</code>". */
-        public static XmlGMonthDay parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from a File. */
-        public static XmlGMonthDay parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from a File. */
-        public static XmlGMonthDay parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from a URL. */
-        public static XmlGMonthDay parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlGMonthDay} fragment from a URL. */
-        public static XmlGMonthDay parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlGMonthDay} fragment from an InputStream. */
-        public static XmlGMonthDay parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from an InputStream. */
-        public static XmlGMonthDay parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from a Reader. */
-        public static XmlGMonthDay parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from a Reader. */
-        public static XmlGMonthDay parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from a DOM Node. */
-        public static XmlGMonthDay parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from a DOM Node. */
-        public static XmlGMonthDay parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlGMonthDay parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlGMonthDay} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlGMonthDay parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlGMonthDay) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlGYear.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlGYear.java
deleted file mode 100644
index b2bc525..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlGYear.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.Calendar;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#gYear">xs:gYear</a> type.
- * A gYear specifies a Gregorian year (AD).
- * <p>
- * Convertible to {@link Calendar}, {@link GDate}, or an int.
- * 
- * @see XmlCalendar
- * @see GDate
- */ 
-public interface XmlGYear extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_gYear");
-    
-    /** Returns this value as a {@link Calendar} */
-    Calendar getCalendarValue();
-    /** Sets this value as a {@link Calendar} */
-    void setCalendarValue(Calendar c);
-    /** Returns this value as a {@link GDate} */
-    GDate getGDateValue();
-    /** Sets this value as a {@link GDateSpecification} */
-    void setGDateValue(GDate gd);
-    /** Returns this value as an int from 1-31 */
-    int getIntValue();
-    /** Sets this value as an int from 1-31 */
-    void setIntValue(int v);
-
-    /**
-     * Returns this value as a {@link Calendar}
-     * @deprecated replaced with {@link #getCalendarValue}
-     **/
-    Calendar calendarValue();
-    /**
-     * Sets this value as a {@link Calendar}
-     * @deprecated replaced with {@link #setCalendarValue}
-     **/
-    void set(Calendar c);
-    /**
-     * Returns this value as a {@link GDate}
-     * @deprecated replaced with {@link #getGDateValue}
-     **/
-    GDate gDateValue();
-    /**
-     * Sets this value as a {@link GDateSpecification}
-     * @deprecated replaced with {@link #setGDateValue}
-     **/
-    void set(GDateSpecification gd);
-    /**
-     * Returns this value as an int from 1-31
-     * @deprecated replaced with {@link #getIntValue}
-     **/
-    int intValue();
-    /**
-     * Sets this value as an int from 1-31
-     * @deprecated replaced with {@link #setIntValue}
-     **/
-    void set(int v);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlGYear}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlGYear} */
-        public static XmlGYear newInstance() {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlGYear} */
-        public static XmlGYear newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlGYear} value */
-        public static XmlGYear newValue(Object obj) {
-          return (XmlGYear) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlGYear} fragment from a String. For example: "<code>&lt;xml-fragment&gt;2003&lt;/xml-fragment&gt;</code>". */
-        public static XmlGYear parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlGYear} fragment from a String. For example: "<code>&lt;xml-fragment&gt;2003&lt;/xml-fragment&gt;</code>". */
-        public static XmlGYear parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlGYear} fragment from a File. */
-        public static XmlGYear parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlGYear} fragment from a File. */
-        public static XmlGYear parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlGYear} fragment from a URL. */
-        public static XmlGYear parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlGYear} fragment from a URL. */
-        public static XmlGYear parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlGYear} fragment from an InputStream. */
-        public static XmlGYear parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlGYear} fragment from an InputStream. */
-        public static XmlGYear parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlGYear} fragment from a Reader. */
-        public static XmlGYear parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlGYear} fragment from a Reader. */
-        public static XmlGYear parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlGYear} fragment from a DOM Node. */
-        public static XmlGYear parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlGYear} fragment from a DOM Node. */
-        public static XmlGYear parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlGYear} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlGYear parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlGYear} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlGYear parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlGYear) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlGYearMonth.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlGYearMonth.java
deleted file mode 100644
index 838edad..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlGYearMonth.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.Date;
-import java.util.Calendar;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#gYearMonth">xs:gYearMonth</a> type.
- * A gYearMonth specifies a month in a specific year.
- * <p>
- * Convertible to {@link Calendar}, {@link GDate}.
- * 
- * @see XmlCalendar
- * @see GDate
- */ 
-public interface XmlGYearMonth extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_gYearMonth");
-    
-    /** Returns this value as a {@link Calendar} */
-    Calendar getCalendarValue();
-    /** Sets this value as a {@link Calendar} */
-    void setCalendarValue(Calendar c);
-    /** Returns this value as a {@link GDate} */
-    GDate getGDateValue();
-    /** Sets this value as a {@link GDateSpecification} */
-    void setGDateValue(GDate gd);
-
-    /**
-     * Returns this value as a {@link Calendar}
-     * @deprecated replaced with {@link #getCalendarValue}
-     **/
-    Calendar calendarValue();
-    /**
-     * Sets this value as a {@link Calendar}
-     * @deprecated replaced with {@link #setCalendarValue}
-     **/
-    void set(Calendar c);
-    /**
-     * Returns this value as a {@link GDate}
-     * @deprecated replaced with {@link #getGDateValue}
-     **/
-    GDate gDateValue();
-    /**
-     * Sets this value as a {@link GDateSpecification}
-     * @deprecated replaced with {@link #setGDateValue}
-     **/
-    void set(GDateSpecification gd);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlGYearMonth}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlGYearMonth} */
-        public static XmlGYearMonth newInstance() {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlGYearMonth} */
-        public static XmlGYearMonth newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlGYearMonth} value */
-        public static XmlGYearMonth newValue(Object obj) {
-          return (XmlGYearMonth) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from a String. For example: "<code>&lt;xml-fragment&gt;2003-06&lt;/xml-fragment&gt;</code>". */
-        public static XmlGYearMonth parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from a String. For example: "<code>&lt;xml-fragment&gt;2003-06&lt;/xml-fragment&gt;</code>". */
-        public static XmlGYearMonth parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from a File. */
-        public static XmlGYearMonth parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from a File. */
-        public static XmlGYearMonth parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from a URL. */
-        public static XmlGYearMonth parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlGYearMonth} fragment from a URL. */
-        public static XmlGYearMonth parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlGYearMonth} fragment from an InputStream. */
-        public static XmlGYearMonth parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from an InputStream. */
-        public static XmlGYearMonth parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from a Reader. */
-        public static XmlGYearMonth parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from a Reader. */
-        public static XmlGYearMonth parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from a DOM Node. */
-        public static XmlGYearMonth parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from a DOM Node. */
-        public static XmlGYearMonth parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlGYearMonth parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlGYearMonth} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlGYearMonth parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlGYearMonth) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlHexBinary.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlHexBinary.java
deleted file mode 100644
index ca0ab10..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlHexBinary.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#hexBinary">xs:hexBinary</a> type.
- * <p>
- * Convertible to a byte array. 
- */ 
-public interface XmlHexBinary extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_hexBinary");
-    
-    /**
-     * Returns this value as a byte array.
-     * @deprecated replaced by {@link #getByteArrayValue}
-     **/
-    byte[] byteArrayValue();
-
-    /**
-     * Sets this value as a byte array.
-     * @deprecated replaced by {@link #setByteArrayValue}
-     **/
-    void set(byte[] ba);
-
-    /** Returns this value as a byte array. **/
-    byte[] getByteArrayValue();
-    /** Sets this value as a byte array. */
-    void setByteArrayValue(byte[] ba);
-
-
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlHexBinary}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlHexBinary} */
-        public static XmlHexBinary newInstance() {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlHexBinary} */
-        public static XmlHexBinary newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlHexBinary} value */
-        public static XmlHexBinary newValue(Object obj) {
-          return (XmlHexBinary) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from a String. For example: "<code>&lt;xml-fragment&gt;68656c6c6f&lt;/xml-fragment&gt;</code>". */
-        public static XmlHexBinary parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from a String. For example: "<code>&lt;xml-fragment&gt;68656c6c6f&lt;/xml-fragment&gt;</code>". */
-        public static XmlHexBinary parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from a File. */
-        public static XmlHexBinary parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from a File. */
-        public static XmlHexBinary parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from a URL. */
-        public static XmlHexBinary parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlHexBinary} fragment from a URL. */
-        public static XmlHexBinary parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlHexBinary} fragment from an InputStream. */
-        public static XmlHexBinary parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from an InputStream. */
-        public static XmlHexBinary parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from a Reader. */
-        public static XmlHexBinary parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from a Reader. */
-        public static XmlHexBinary parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from a DOM Node. */
-        public static XmlHexBinary parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from a DOM Node. */
-        public static XmlHexBinary parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlHexBinary parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlHexBinary} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlHexBinary parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlHexBinary) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlID.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlID.java
deleted file mode 100644
index e70243c..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlID.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#ID">xs:ID</a> type.
- * <p>
- * When validated, IDs must be unique within a document.  An element
- * may not have more than one attribute whose type is ID.
- * <p>
- * Convertible to a {@link String}. 
- */ 
-public interface XmlID extends XmlNCName
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_ID");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlID}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlID} */
-        public static XmlID newInstance() {
-          return (XmlID) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlID} */
-        public static XmlID newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlID) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlID} value */
-        public static XmlID newValue(Object obj) {
-          return (XmlID) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlID} fragment from a String. For example: "<code>&lt;xml-fragment&gt;n1&lt;/xml-fragment&gt;</code>". */
-        public static XmlID parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlID} fragment from a String. For example: "<code>&lt;xml-fragment&gt;n1&lt;/xml-fragment&gt;</code>". */
-        public static XmlID parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlID} fragment from a File. */
-        public static XmlID parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlID} fragment from a File. */
-        public static XmlID parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlID} fragment from a URL. */
-        public static XmlID parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlID} fragment from a URL. */
-        public static XmlID parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlID} fragment from an InputStream. */
-        public static XmlID parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlID} fragment from an InputStream. */
-        public static XmlID parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlID} fragment from a Reader. */
-        public static XmlID parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlID} fragment from a Reader. */
-        public static XmlID parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlID} fragment from a DOM Node. */
-        public static XmlID parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlID} fragment from a DOM Node. */
-        public static XmlID parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlID} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlID parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlID} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlID parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlID) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlIDREF.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlIDREF.java
deleted file mode 100644
index 0220dee..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlIDREF.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#IDREF">xs:IDREF</a> type.
- * <p>
- * When validated, IDREF values must match an ID value that is present within
- * the document. This rule is only verified when a whole document is validated
- * at once.
- * <p>
- * Convertible to a {@link String}. 
- */ 
-public interface XmlIDREF extends XmlNCName
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_IDREF");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlIDREF}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlIDREF} */
-        public static XmlIDREF newInstance() {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlIDREF} */
-        public static XmlIDREF newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlIDREF} value */
-        public static XmlIDREF newValue(Object obj) {
-          return (XmlIDREF) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from a String. */
-        public static XmlIDREF parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from a String. */
-        public static XmlIDREF parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from a File. */
-        public static XmlIDREF parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from a File. */
-        public static XmlIDREF parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from a URL. */
-        public static XmlIDREF parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlIDREF} fragment from a URL. */
-        public static XmlIDREF parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlIDREF} fragment from an InputStream. */
-        public static XmlIDREF parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from an InputStream. */
-        public static XmlIDREF parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from a Reader. */
-        public static XmlIDREF parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from a Reader. */
-        public static XmlIDREF parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from a DOM Node. */
-        public static XmlIDREF parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from a DOM Node. */
-        public static XmlIDREF parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlIDREF parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlIDREF} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlIDREF parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlIDREF) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlIDREFS.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlIDREFS.java
deleted file mode 100644
index 37fccdf..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlIDREFS.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.List;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#IDREFS">xs:IDREFS</a> type,
- * a list type.
- * <p>
- * When validated, IDREF values must match an ID value that is present within
- * the document. This rule is only verified when a whole document is validated
- * at once.
- * <p>
- * Convertible to a {@link List}. 
- */ 
-public interface XmlIDREFS extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_IDREFS");
-    
-    /** Returns the value as a {@link List} of {@link String} values */
-    List getListValue();
-    /** Returns the value as a {@link List} of {@link XmlIDREF} values */
-    List xgetListValue();
-    /** Sets the value as a {@link List} */
-    void setListValue(List l);
-
-    /**
-     * Returns the value as a {@link List} of {@link String} values
-     * @deprecated replaced by {@link #getListValue}
-     **/
-    List listValue();
-    /**
-     * Returns the value as a {@link List} of {@link XmlIDREF} values
-     * @deprecated replaced by {@link #getListValue}
-     **/
-    List xlistValue();
-    /**
-     * Sets the value as a {@link List}
-     * @deprecated replaced by {@link #getListValue}
-     **/
-    void set(List l);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlIDREFS}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlIDREFS} */
-        public static XmlIDREFS newInstance() {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlIDREFS} */
-        public static XmlIDREFS newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlIDREFS} value */
-        public static XmlIDREFS newValue(Object obj) {
-          return (XmlIDREFS) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from a String. */
-        public static XmlIDREFS parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from a String. */
-        public static XmlIDREFS parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from a File. */
-        public static XmlIDREFS parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from a File. */
-        public static XmlIDREFS parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from a URL. */
-        public static XmlIDREFS parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlIDREFS} fragment from a URL. */
-        public static XmlIDREFS parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlIDREFS} fragment from an InputStream. */
-        public static XmlIDREFS parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from an InputStream. */
-        public static XmlIDREFS parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from a Reader. */
-        public static XmlIDREFS parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from a Reader. */
-        public static XmlIDREFS parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from a DOM Node. */
-        public static XmlIDREFS parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from a DOM Node. */
-        public static XmlIDREFS parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlIDREFS parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlIDREFS} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlIDREFS parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlIDREFS) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlInt.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlInt.java
deleted file mode 100644
index 880ef3d..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlInt.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#int">xs:int</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * Naturally, convertible to a Java int.
- */ 
-public interface XmlInt extends XmlLong
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_int");
-    
-    /** Returns this value as an int */
-    int getIntValue();
-    /** Sets this value as an int */
-    void setIntValue(int v);
-
-    /**
-     * Returns this value as an int
-     * @deprecated replaced with {@link #getIntValue}
-     **/
-    int intValue();
-    /**
-     * Sets this value as an int
-     * @deprecated replaced with {@link #setIntValue}
-     **/
-    void set(int v);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlInt}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlInt} */
-        public static XmlInt newInstance() {
-          return (XmlInt) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlInt} */
-        public static XmlInt newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlInt) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlInt} value */
-        public static XmlInt newValue(Object obj) {
-          return (XmlInt) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlInt} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234567&lt;/xml-fragment&gt;</code>". */
-        public static XmlInt parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlInt} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234567&lt;/xml-fragment&gt;</code>". */
-        public static XmlInt parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlInt} fragment from a File. */
-        public static XmlInt parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlInt} fragment from a File. */
-        public static XmlInt parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlInt} fragment from a URL. */
-        public static XmlInt parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlInt} fragment from a URL. */
-        public static XmlInt parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlInt} fragment from an InputStream. */
-        public static XmlInt parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlInt} fragment from an InputStream. */
-        public static XmlInt parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlInt} fragment from a Reader. */
-        public static XmlInt parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlInt} fragment from a Reader. */
-        public static XmlInt parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlInt} fragment from a DOM Node. */
-        public static XmlInt parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlInt} fragment from a DOM Node. */
-        public static XmlInt parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlInt} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlInt parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlInt} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlInt parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlInt) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlInteger.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlInteger.java
deleted file mode 100644
index 331f52c..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlInteger.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.math.BigInteger;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#integer">xs:integer</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * This type should not be confused with <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#int">xs:int</a>
- * or Java {@link Integer}.  This type represents an arbitrary-precision integer with
- * any number of digits, while a Java int or an xs:int is a 32-bit finite-precision integer.
- * <p>
- * Convertible to a Java {@link BigInteger}.
- */ 
-public interface XmlInteger extends XmlDecimal
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_integer");
-    
-    /** Returns this value as a {@link BigInteger} */
-    BigInteger getBigIntegerValue();
-    /** Sets this value as a {@link BigInteger} */
-    void setBigIntegerValue(BigInteger bi);
-
-    /**
-     * Returns this value as a {@link BigInteger}
-     * @deprecated replaced with {@link #getBigIntegerValue}
-     **/
-    BigInteger bigIntegerValue();
-    /**
-     * Sets this value as a {@link BigInteger}
-     * @deprecated replaced with {@link #setBigIntegerValue}
-     **/
-    void set(BigInteger bi);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlInteger}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlInteger} */
-        public static XmlInteger newInstance() {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlInteger} */
-        public static XmlInteger newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlInteger} value */
-        public static XmlInteger newValue(Object obj) {
-          return (XmlInteger) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlInteger} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234567890&lt;/xml-fragment&gt;</code>". */
-        public static XmlInteger parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlInteger} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234567890&lt;/xml-fragment&gt;</code>". */
-        public static XmlInteger parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlInteger} fragment from a File. */
-        public static XmlInteger parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlInteger} fragment from a File. */
-        public static XmlInteger parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlInteger} fragment from a URL. */
-        public static XmlInteger parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlInteger} fragment from a URL. */
-        public static XmlInteger parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlInteger} fragment from an InputStream. */
-        public static XmlInteger parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlInteger} fragment from an InputStream. */
-        public static XmlInteger parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlInteger} fragment from a Reader. */
-        public static XmlInteger parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlInteger} fragment from a Reader. */
-        public static XmlInteger parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlInteger} fragment from a DOM Node. */
-        public static XmlInteger parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlInteger} fragment from a DOM Node. */
-        public static XmlInteger parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlInteger} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlInteger parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlInteger} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlInteger parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlInteger) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlLanguage.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlLanguage.java
deleted file mode 100644
index 4c82614..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlLanguage.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#language">xs:language</a> type.
- * <p>
- * This type is intended to represent an standard ISO language code string.
- * <p>
- * Convertible to a Java {@link String}.
- */ 
-public interface XmlLanguage extends XmlToken
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_language");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlLanguage}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlLanguage} */
-        public static XmlLanguage newInstance() {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlLanguage} */
-        public static XmlLanguage newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlLanguage} value */
-        public static XmlLanguage newValue(Object obj) {
-          return (XmlLanguage) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from a String. For example: "<code>&lt;xml-fragment&gt;en-us&lt;/xml-fragment&gt;</code>". */
-        public static XmlLanguage parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from a String. For example: "<code>&lt;xml-fragment&gt;en-us&lt;/xml-fragment&gt;</code>". */
-        public static XmlLanguage parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from a File. */
-        public static XmlLanguage parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from a File. */
-        public static XmlLanguage parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from a URL. */
-        public static XmlLanguage parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlLanguage} fragment from a URL. */
-        public static XmlLanguage parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlLanguage} fragment from an InputStream. */
-        public static XmlLanguage parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from an InputStream. */
-        public static XmlLanguage parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from a Reader. */
-        public static XmlLanguage parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from a Reader. */
-        public static XmlLanguage parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from a DOM Node. */
-        public static XmlLanguage parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from a DOM Node. */
-        public static XmlLanguage parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlLanguage parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlLanguage} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlLanguage parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlLanguage) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlLineNumber.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlLineNumber.java
deleted file mode 100644
index 2d64240..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlLineNumber.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import org.apache.xmlbeans.XmlCursor.XmlBookmark;
-
-/**
- * A subclass of XmlBookmark that holds line number information.
- * If a document is parsed with line numbers
- * enabled, these bookmarks will be placed at appropriate locations
- * within the document.
- * 
- * @see XmlOptions#setLoadLineNumbers 
- */
-public class XmlLineNumber extends XmlBookmark
-{
-    /**
-     * Constructs a line number with no column or offset information.
-     * @param line the line number - the first line is 1
-     */ 
-    public XmlLineNumber ( int line ) { this( line, -1, -1 ); }
-    
-    /**
-     * Constructs a line number and column with no file offset information.
-     * @param line the line number - the first line is 1
-     * @param line the column number - the first column is 1
-     */
-    public XmlLineNumber ( int line, int column ) { this( line, column, -1 ); }
-    
-    /**
-     * Constructs a line number and column with no file offset information.
-     * @param line the line number - the first line is 1
-     * @param line the column number - the first column is 1
-     * @param line the file character offset - the first character in the file is 0
-     */
-    public XmlLineNumber ( int line, int column, int offset )
-    {
-        super( false );
-        
-        _line = line;
-        _column = column;
-        _offset = offset;
-    }
-    
-    /**
-     * Returns the 1-based line number, or -1 if not known.
-     */ 
-    public int getLine   ( ) { return _line;   }
-    
-    /**
-     * Returns the 1-based column number, or -1 if not known.
-     */ 
-    public int getColumn ( ) { return _column; }
-    
-    /**
-     * Returns the 0-based file offset number, or -1 if not known.
-     */ 
-    public int getOffset ( ) { return _offset; }
-
-    private int _line, _column, _offset;
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlLong.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlLong.java
deleted file mode 100644
index 2db6847..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlLong.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#long">xs:long</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * Naturally, convertible to a Java long.
- */ 
-public interface XmlLong extends XmlInteger
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_long");
-    
-    /** Returns this value as a long */
-    long getLongValue();
-    /** Sets this value as a long */
-    void setLongValue(long v);
-
-    /**
-     * Returns this value as a long
-     * @deprecated replaced with {@link #getLongValue}
-     **/
-    long longValue();
-    /**
-     * Sets this value as a long
-     * @deprecated replaced with {@link #setLongValue}
-     **/
-    void set(long v);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlLong}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlLong} */
-        public static XmlLong newInstance() {
-          return (XmlLong) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlLong} */
-        public static XmlLong newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlLong) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlLong} value */
-        public static XmlLong newValue(Object obj) {
-          return (XmlLong) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlLong} fragment from a String. For example: "<code>&lt;xml-fragment&gt;123456789&lt;/xml-fragment&gt;</code>". */
-        public static XmlLong parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlLong} fragment from a String. For example: "<code>&lt;xml-fragment&gt;123456789&lt;/xml-fragment&gt;</code>". */
-        public static XmlLong parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlLong} fragment from a File. */
-        public static XmlLong parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlLong} fragment from a File. */
-        public static XmlLong parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlLong} fragment from a URL. */
-        public static XmlLong parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlLong} fragment from a URL. */
-        public static XmlLong parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlLong} fragment from an InputStream. */
-        public static XmlLong parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlLong} fragment from an InputStream. */
-        public static XmlLong parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlLong} fragment from a Reader. */
-        public static XmlLong parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlLong} fragment from a Reader. */
-        public static XmlLong parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlLong} fragment from a DOM Node. */
-        public static XmlLong parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlLong} fragment from a DOM Node. */
-        public static XmlLong parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlLong} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlLong parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlLong} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlLong parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlLong) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNCName.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlNCName.java
deleted file mode 100644
index 1a67816..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNCName.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#Name">xs:Name</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#string">xs:string</a>.
- * <p>
- * This kind of string is the same as the non-colonized strings that are used
- * for XML localnames and prefixes, "my-href.2".  It is just a physical
- * string, however, and it should NOT be confused with {@link XmlQName},
- * which is a logical combination of localname and namespace URI.
- * <p>
- * Convertible to {@link String}.
- */ 
-public interface XmlNCName extends XmlName
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_NCName");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlNCName}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlNCName} */
-        public static XmlNCName newInstance() {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlNCName} */
-        public static XmlNCName newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlNCName} value */
-        public static XmlNCName newValue(Object obj) {
-          return (XmlNCName) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlNCName} fragment from a String. For example: "<code>&lt;xml-fragment&gt;My-Name&lt;/xml-fragment&gt;</code>". */
-        public static XmlNCName parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlNCName} fragment from a String. For example: "<code>&lt;xml-fragment&gt;My-Name&lt;/xml-fragment&gt;</code>". */
-        public static XmlNCName parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlNCName} fragment from a File. */
-        public static XmlNCName parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlNCName} fragment from a File. */
-        public static XmlNCName parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlNCName} fragment from a URL. */
-        public static XmlNCName parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlNCName} fragment from a URL. */
-        public static XmlNCName parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlNCName} fragment from an InputStream. */
-        public static XmlNCName parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlNCName} fragment from an InputStream. */
-        public static XmlNCName parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlNCName} fragment from a Reader. */
-        public static XmlNCName parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlNCName} fragment from a Reader. */
-        public static XmlNCName parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlNCName} fragment from a DOM Node. */
-        public static XmlNCName parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlNCName} fragment from a DOM Node. */
-        public static XmlNCName parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlNCName} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNCName parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlNCName} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNCName parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNCName) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNMTOKEN.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlNMTOKEN.java
deleted file mode 100644
index 2a2e654..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNMTOKEN.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#NMTOKEN">xs:NMTOKEN</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#string">xs:string</a>.
- * <p>
- * An NMTOKEN is XML's closest concept to an "identifier"; for example,
- * it does not permit spaces and only limited punctuation.  So NMTOKEN is
- * commonly used to describe a single token or enumerated string value.
- * <p>
- * Convertible to {@link String}.
- */ 
-public interface XmlNMTOKEN extends XmlToken
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_NMTOKEN");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlNMTOKEN}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlNMTOKEN} */
-        public static XmlNMTOKEN newInstance() {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlNMTOKEN} */
-        public static XmlNMTOKEN newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlNMTOKEN} value */
-        public static XmlNMTOKEN newValue(Object obj) {
-          return (XmlNMTOKEN) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from a String. For example: "<code>&lt;xml-fragment&gt;sample-1.2&lt;/xml-fragment&gt;</code>". */
-        public static XmlNMTOKEN parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from a String. For example: "<code>&lt;xml-fragment&gt;sample-1.2&lt;/xml-fragment&gt;</code>". */
-        public static XmlNMTOKEN parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from a File. */
-        public static XmlNMTOKEN parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from a File. */
-        public static XmlNMTOKEN parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from a URL. */
-        public static XmlNMTOKEN parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlNMTOKEN} fragment from a URL. */
-        public static XmlNMTOKEN parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlNMTOKEN} fragment from an InputStream. */
-        public static XmlNMTOKEN parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from an InputStream. */
-        public static XmlNMTOKEN parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from a Reader. */
-        public static XmlNMTOKEN parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from a Reader. */
-        public static XmlNMTOKEN parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from a DOM Node. */
-        public static XmlNMTOKEN parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from a DOM Node. */
-        public static XmlNMTOKEN parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNMTOKEN parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKEN} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNMTOKEN parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNMTOKEN) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNMTOKENS.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlNMTOKENS.java
deleted file mode 100644
index 2a0be84..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNMTOKENS.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.List;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#NMTOKENS">xs:NMTOKENS</a> type,
- * a list type.
- * <p>
- * Convertible to {@link List}.
- */ 
-public interface XmlNMTOKENS extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_NMTOKENS");
-    
-    /** Returns the value as a {@link List} of {@link String} values */
-    List getListValue();
-    /** Returns the value as a {@link List} of {@link XmlNMTOKEN} values */
-    List xgetListValue();
-    /** Sets the value as a {@link List} */
-    void setListValue(List l);
-
-    /**
-     * Returns the value as a {@link List} of {@link String} values
-     * @deprecated replaced by {@link #getListValue}
-     **/
-    List listValue();
-    /**
-     * Returns the value as a {@link List} of {@link XmlNMTOKEN} values
-     * @deprecated replaced by {@link #getListValue}
-     **/
-    List xlistValue();
-    /**
-     * Sets the value as a {@link List}
-     * @deprecated replaced by {@link #getListValue}
-     **/
-    void set(List l);
-
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlNMTOKENS}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlNMTOKENS} */
-        public static XmlNMTOKENS newInstance() {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlNMTOKENS} */
-        public static XmlNMTOKENS newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlNMTOKENS} value */
-        public static XmlNMTOKENS newValue(Object obj) {
-          return (XmlNMTOKENS) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from a String. For example: "<code>&lt;xml-fragment&gt;sample-1.1 sample-1.2 sample-1.3&lt;/xml-fragment&gt;</code>". */
-        public static XmlNMTOKENS parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from a String. For example: "<code>&lt;xml-fragment&gt;sample-1.1 sample-1.2 sample-1.3&lt;/xml-fragment&gt;</code>". */
-        public static XmlNMTOKENS parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from a File. */
-        public static XmlNMTOKENS parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from a File. */
-        public static XmlNMTOKENS parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from a URL. */
-        public static XmlNMTOKENS parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlNMTOKENS} fragment from a URL. */
-        public static XmlNMTOKENS parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlNMTOKENS} fragment from an InputStream. */
-        public static XmlNMTOKENS parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from an InputStream. */
-        public static XmlNMTOKENS parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from a Reader. */
-        public static XmlNMTOKENS parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from a Reader. */
-        public static XmlNMTOKENS parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from a DOM Node. */
-        public static XmlNMTOKENS parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from a DOM Node. */
-        public static XmlNMTOKENS parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNMTOKENS parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlNMTOKENS} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNMTOKENS parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNMTOKENS) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNOTATION.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlNOTATION.java
deleted file mode 100644
index b663919..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNOTATION.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#NOTATION">xs:NOTATION</a> type.
- * <p>
- * NOTATIONs are a mechanism in XML Schema that is provided
- * for partial backward compatibility with NOTATIONs in DTDs.  XML Schema
- * users should almost never have any reason to use this data type.
- * <p>
- * Convertible to {@link String}.
- */ 
-public interface XmlNOTATION extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_NOTATION");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlNOTATION}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlNOTATION} */
-        public static XmlNOTATION newInstance() {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlNOTATION} */
-        public static XmlNOTATION newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlNOTATION} value */
-        public static XmlNOTATION newValue(Object obj) {
-          return (XmlNOTATION) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from a String. */
-        public static XmlNOTATION parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from a String. */
-        public static XmlNOTATION parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from a File. */
-        public static XmlNOTATION parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from a File. */
-        public static XmlNOTATION parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from a URL. */
-        public static XmlNOTATION parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlNOTATION} fragment from a URL. */
-        public static XmlNOTATION parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlNOTATION} fragment from an InputStream. */
-        public static XmlNOTATION parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from an InputStream. */
-        public static XmlNOTATION parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from a Reader. */
-        public static XmlNOTATION parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from a Reader. */
-        public static XmlNOTATION parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from a DOM Node. */
-        public static XmlNOTATION parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from a DOM Node. */
-        public static XmlNOTATION parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNOTATION parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlNOTATION} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNOTATION parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNOTATION) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlName.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlName.java
deleted file mode 100644
index 9e82dda..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlName.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#Name">xs:Name</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#string">xs:string</a>.
- * <p>
- * This kind of string is the same as the lexical representation used for XML 1.0
- * element and attribute names, e.g., "pre:a-b.cdef".  It is just a physical
- * string, however, and it should NOT be confused with {@link XmlQName},
- * which is a logical combination of localname and namespace URI.
- * <p>
- * Convertible to {@link String}.
- */ 
-public interface XmlName extends XmlToken
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_Name");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlName}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlName} */
-        public static XmlName newInstance() {
-          return (XmlName) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlName} */
-        public static XmlName newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlName) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlName} value */
-        public static XmlName newValue(Object obj) {
-          return (XmlName) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlName} fragment from a String. For example: "<code>&lt;xml-fragment&gt;My:Name&lt;/xml-fragment&gt;</code>". */
-        public static XmlName parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlName} fragment from a String. For example: "<code>&lt;xml-fragment&gt;My:Name&lt;/xml-fragment&gt;</code>". */
-        public static XmlName parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlName} fragment from a File. */
-        public static XmlName parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlName} fragment from a File. */
-        public static XmlName parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlName} fragment from a URL. */
-        public static XmlName parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlName} fragment from a URL. */
-        public static XmlName parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlName} fragment from an InputStream. */
-        public static XmlName parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlName} fragment from an InputStream. */
-        public static XmlName parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlName} fragment from a Reader. */
-        public static XmlName parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlName} fragment from a Reader. */
-        public static XmlName parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlName} fragment from a DOM Node. */
-        public static XmlName parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlName} fragment from a DOM Node. */
-        public static XmlName parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlName} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlName parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlName} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlName parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlName) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNegativeInteger.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlNegativeInteger.java
deleted file mode 100644
index 3205fee..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNegativeInteger.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#negativeInteger">xs:negativeInteger</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * Verified to be negative when validating.
- * <p>
- * Convertible to {@link java.math.BigInteger}.
- */ 
-public interface XmlNegativeInteger extends XmlNonPositiveInteger
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_negativeInteger");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlNegativeInteger}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlNegativeInteger} */
-        public static XmlNegativeInteger newInstance() {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlNegativeInteger} */
-        public static XmlNegativeInteger newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlNegativeInteger} value */
-        public static XmlNegativeInteger newValue(Object obj) {
-          return (XmlNegativeInteger) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from a String. For example: "<code>&lt;xml-fragment&gt;-1234567890&lt;/xml-fragment&gt;</code>". */
-        public static XmlNegativeInteger parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from a String. For example: "<code>&lt;xml-fragment&gt;-1234567890&lt;/xml-fragment&gt;</code>". */
-        public static XmlNegativeInteger parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from a File. */
-        public static XmlNegativeInteger parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from a File. */
-        public static XmlNegativeInteger parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from a URL. */
-        public static XmlNegativeInteger parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlNegativeInteger} fragment from a URL. */
-        public static XmlNegativeInteger parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlNegativeInteger} fragment from an InputStream. */
-        public static XmlNegativeInteger parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from an InputStream. */
-        public static XmlNegativeInteger parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from a Reader. */
-        public static XmlNegativeInteger parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from a Reader. */
-        public static XmlNegativeInteger parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from a DOM Node. */
-        public static XmlNegativeInteger parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from a DOM Node. */
-        public static XmlNegativeInteger parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNegativeInteger parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlNegativeInteger} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNegativeInteger parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNegativeInteger) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNonNegativeInteger.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlNonNegativeInteger.java
deleted file mode 100644
index 65334cf..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNonNegativeInteger.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger">xs:nonNegativeInteger</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * Verified to be zero or positive when validating.
- * <p>
- * Convertible to {@link java.math.BigInteger}.
- */ 
-public interface XmlNonNegativeInteger extends XmlInteger
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_nonNegativeInteger");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlNonNegativeInteger}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlNonNegativeInteger} */
-        public static XmlNonNegativeInteger newInstance() {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlNonNegativeInteger} */
-        public static XmlNonNegativeInteger newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlNonNegativeInteger} value */
-        public static XmlNonNegativeInteger newValue(Object obj) {
-          return (XmlNonNegativeInteger) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234567890&lt;/xml-fragment&gt;</code>". */
-        public static XmlNonNegativeInteger parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234567890&lt;/xml-fragment&gt;</code>". */
-        public static XmlNonNegativeInteger parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from a File. */
-        public static XmlNonNegativeInteger parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from a File. */
-        public static XmlNonNegativeInteger parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from a URL. */
-        public static XmlNonNegativeInteger parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlNonNegativeInteger} fragment from a URL. */
-        public static XmlNonNegativeInteger parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlNonNegativeInteger} fragment from an InputStream. */
-        public static XmlNonNegativeInteger parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from an InputStream. */
-        public static XmlNonNegativeInteger parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from a Reader. */
-        public static XmlNonNegativeInteger parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from a Reader. */
-        public static XmlNonNegativeInteger parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from a DOM Node. */
-        public static XmlNonNegativeInteger parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from a DOM Node. */
-        public static XmlNonNegativeInteger parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNonNegativeInteger parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlNonNegativeInteger} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNonNegativeInteger parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNonNegativeInteger) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNonPositiveInteger.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlNonPositiveInteger.java
deleted file mode 100644
index 20c02c9..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNonPositiveInteger.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger">xs:nonPositiveInteger</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * Verified to be zero or negative when validating.
- * <p>
- * Convertible to {@link java.math.BigInteger}.
- */ 
-public interface XmlNonPositiveInteger extends XmlInteger
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_nonPositiveInteger");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlNonPositiveInteger}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlNonPositiveInteger} */
-        public static XmlNonPositiveInteger newInstance() {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlNonPositiveInteger} */
-        public static XmlNonPositiveInteger newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlNonPositiveInteger} value */
-        public static XmlNonPositiveInteger newValue(Object obj) {
-          return (XmlNonPositiveInteger) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from a String. For example: "<code>&lt;xml-fragment&gt;-1234567890&lt;/xml-fragment&gt;</code>". */
-        public static XmlNonPositiveInteger parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from a String. For example: "<code>&lt;xml-fragment&gt;-1234567890&lt;/xml-fragment&gt;</code>". */
-        public static XmlNonPositiveInteger parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from a File. */
-        public static XmlNonPositiveInteger parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from a File. */
-        public static XmlNonPositiveInteger parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from a URL. */
-        public static XmlNonPositiveInteger parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlNonPositiveInteger} fragment from a URL. */
-        public static XmlNonPositiveInteger parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlNonPositiveInteger} fragment from an InputStream. */
-        public static XmlNonPositiveInteger parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from an InputStream. */
-        public static XmlNonPositiveInteger parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from a Reader. */
-        public static XmlNonPositiveInteger parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from a Reader. */
-        public static XmlNonPositiveInteger parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from a DOM Node. */
-        public static XmlNonPositiveInteger parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from a DOM Node. */
-        public static XmlNonPositiveInteger parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNonPositiveInteger parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlNonPositiveInteger} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNonPositiveInteger parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNonPositiveInteger) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNormalizedString.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlNormalizedString.java
deleted file mode 100644
index 3973ee1..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlNormalizedString.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#normalizedString">xs:normalizedString</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#string">xs:string</a>.
- * <p>
- * An normalizedString simply is a string where all the carriage return,
- * linefeed, and tab characters have been normalized (switched to) ordinary
- * space characters.  Use normalizedString for long strings to make them
- * insensitive to line breaking.  If you wish to often be insensitive to
- * runs of whitespace (as is often the case), use
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#token">xs:token</a>
- * (aka {@link XmlToken}) instead.
- * <p>
- * Convertible to {@link String}.  When obtaining the stringValue, the
- * whitespace-normalized value is returned.
- */ 
-public interface XmlNormalizedString extends XmlString
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_normalizedString");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlNormalizedString}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlNormalizedString} */
-        public static XmlNormalizedString newInstance() {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlNormalizedString} */
-        public static XmlNormalizedString newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlNormalizedString} value */
-        public static XmlNormalizedString newValue(Object obj) {
-          return (XmlNormalizedString) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from a String. For example: "<code>&lt;xml-fragment&gt; string to normalize &lt;/xml-fragment&gt;</code>". */
-        public static XmlNormalizedString parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from a String. For example: "<code>&lt;xml-fragment&gt; string to normalize &lt;/xml-fragment&gt;</code>". */
-        public static XmlNormalizedString parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from a File. */
-        public static XmlNormalizedString parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from a File. */
-        public static XmlNormalizedString parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from a URL. */
-        public static XmlNormalizedString parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlNormalizedString} fragment from a URL. */
-        public static XmlNormalizedString parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlNormalizedString} fragment from an InputStream. */
-        public static XmlNormalizedString parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from an InputStream. */
-        public static XmlNormalizedString parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from a Reader. */
-        public static XmlNormalizedString parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from a Reader. */
-        public static XmlNormalizedString parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from a DOM Node. */
-        public static XmlNormalizedString parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from a DOM Node. */
-        public static XmlNormalizedString parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNormalizedString parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlNormalizedString} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlNormalizedString parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlNormalizedString) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlObject.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlObject.java
deleted file mode 100644
index f42e69c..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlObject.java
+++ /dev/null
@@ -1,766 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLStreamException;
-
-import org.w3c.dom.Node;
-
-import java.io.InputStream;
-import java.io.File;
-import java.io.Reader;
-import java.io.IOException;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#key-urType">xs:anyType</a>,
- * the base type for all XML Beans.
- * <p>
- * Since all XML Schema types are translated into corresponding XML Bean
- * classes, and all Schema type derivation corresponds to Java class
- * inheritance, the fact that all Schema types derive from xs:anyType means
- * that all XML Bean classes derive from XmlObject.
- * <p>
- * On this base class you will find a number of common facilities that
- * all XML Bean classes provide:
- * <p>
- * <ul>
- * <li>Every XML Bean class has an inner Factory class for creating and parsing
- *     instances, including XmlObject. Use {@link XmlObject.Factory} itself
- *     to produce untyped XML trees or XML trees that implement specific
- *     subtypes of XmlObject depending on a recognized root document element.
- *     If you depend on the automatic type inference, you will want to understand
- *     the type inference issues described below.
- * <li>To write out an accurate XML file for the XML tree under this
- *     XmlObject, use one of the {@link #save} methods,
- *     or {@link #newInputStream} or {@link #newReader}.
- *     Use {@link #toString} to produce a pretty-printed representation of the
- *     XML subtree under this XML Object.  If you save interior portions of
- *     an XML document, you will want to understand the inner contents
- *     versus outer container issues described below.
- * <li>It is also simple to copy an XmlObject instance to or from a standard
- *     DOM tree or SAX stream.  Use {@link XmlObject.Factory#parse(Node)},
- *     for example, to load from DOM; use {@link XmlObject.Factory#newXmlSaxHandler}
- *     to load from SAX; use {@link #newDomNode()} to save to DOM; and use 
- *     {@link #save(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler)}
- *     to save to SAX.
- * <li>Use {@link #validate} to validate the subtree of XML under this
- *     XML Object.  If you wish to get information about the location
- *     and reason for validation errors, see {@link XmlOptions#setErrorListener},
- *     and use {@link #validate(XmlOptions)}.
- * <li>Use {@link #newCursor} to access the full XML infoset, for example,
- *     if you need to determine interleaved element order or manipulate
- *     annotations, comments, or mixed content.  See {@link XmlCursor}.
- * <li>Use {@link #selectPath} to find other XmlObjects in the subtree underneath
- *     this XmlObject using relative XPaths.  (In selectPath, "." indicates
- *     the current element or attribute.)
- * </ul>
- * <p>
- * Type inference.  When using {@link XmlObject.Factory} to parse XML documents,
- * the actual document type is not {@link XmlObject#type} itself, but a subtype
- * based on the contents of the parsed document.  If the parsed document
- * contains a recognized root document element, then the actual type of the
- * loaded instance will be the matching Document type.  For example:
- * <pre>
- * XmlObject xobj = XmlObject.Factory.parse(myDocument);
- * if (xobj instanceof MyOrderDocument) // starts w/ &lt;my-order&gt;
- * {
- *     MyOrderDocument mydoc = (MyOrderDocument)xobj;
- *     if (!xobj.validate())
- *         System.out.println("Not a valid my-order document");
- * }
- * else
- * {
- *     System.out.println("Not a my-order document");
- * }
- * </pre>
- * Every XML Bean class has its own inner Factory class,
- * so if you actually know exactly which XML Bean document type
- * you want to load as in the example above, you should use the
- * the specific XML Bean Factory class instead. For example:
- * <pre>
- * MyOrderDocument mydoc = MyOrderDocument.Factory.parse(myDocument);
- * </pre>
- * The code above will throw an exception if the parsed document
- * does not begin with the proper (my-order) element.
- * <p>
- * Inner versus outer.  An XmlObject represents the
- * <em>contents</em> of an element or attribute, <em>not</em> the element
- * or attribute itself.  So when you validate or save an XmlObject, you
- * are validating or saving its contents, not its container.  For example,
- * if the XmlObject represents the contents of an element which happens
- * to itself be in the wrong order relative to its siblings, validate will
- * not complain about the misplacement of the element itself.  On the other hand, if
- * elements <em>within</em> the XmlObject are in the wrong order, validate
- * will complain.  Similarly, when saving the contents of an interior
- * XmlObject, it is the contents of an element, not the element itself,
- * which is saved by default.
- * <p>
- * Reading and writing fragments. When reading or writing the contents of a
- * whole XML document, the standard XML reprentation for a document is used.
- * However, there is no standard concrete XML representation for "just the
- * contents" of an interior element or attribute. So when one is needed,
- * the tag &lt;xml-fragment&gt; is used to wrap the contents.  This tag is used
- * can also be used to load just the contents for an XmlObject document fragment
- * of arbitrary type. If you wish to save out the XmlObject's container element
- * along with its contents, use {@link XmlOptions#setSaveOuter}.
- * <p>
- * Implementing XmlObject.  The XMLBeans library does not support arbitrary
- * implementations of XmlObject - in almost all cases, you should only use
- * the implementations of XmlObject provided by the XMLBeans compiler itself.
- * If you need to implement XmlObject yourself, you should subclass
- * FilterXmlObject in order to delegate to another underlying XmlObject
- * implementation. This technique will allow you to use your code unchanged
- * with future versions of XMLBeans that add additional methods on XmlObject. 
- */ 
-public interface XmlObject extends XmlTokenSource
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_anyType");
-
-    /**
-     * The schema type for this instance. This is a permanent,
-     * unchanging property of the instance.
-     */
-    SchemaType schemaType();
-
-    /**
-     * Returns true if the contents of this object are valid
-     * accoring to schemaType().
-     * <p>
-     * Does a deep validation of the entire subtree under the
-     * object, but does not validate the parents or siblings
-     * of the object if the object is in the interior of an xml
-     * tree.
-     */
-    boolean validate();
-    
-    /**
-     * <p>Just like validate(), but with options.</p>
-     * <p>If you wish to collect error messages and locations while validating,
-     * use the {@link XmlOptions#setErrorListener} method. With that method,
-     * you can specify an object in which to store messages related to validation.
-     * The following is a simple example.</p>
-     * 
-     * <pre>
-     * // Create an XmlOptions instance and set the error listener.
-     * XmlOptions validateOptions = new XmlOptions();
-     * ArrayList errorList = new ArrayList();
-     * validateOptions.setErrorListener(errorList);
-     * 
-     * // Validate the XML.
-     * boolean isValid = newEmp.validate(validateOptions);
-     * 
-     * // If the XML isn't valid, loop through the listener's contents,
-     * // printing contained messages.
-     * if (!isValid)
-     * {
-     *      for (int i = 0; i < errorList.size(); i++)
-     *      {
-     *          XmlError error = (XmlError)errorList.get(i);
-     *          
-     *          System.out.println("\n");
-     *          System.out.println("Message: " + error.getMessage() + "\n");
-     *          System.out.println("Location of invalid XML: " + 
-     *              error.getCursorLocation().xmlText() + "\n");
-     *      }
-     * }
-     * </pre>
-     * 
-     * @param options An object that implements the {@link java.util.Collection 
-     * Collection} interface.
-     */
-    boolean validate(XmlOptions options);
-
-    /**
-     * Selects a path.  Path can be a string or precompiled path String.
-     * <p>
-     * The path must be a relative path, where "." represents the
-     * element or attribute containg this XmlObject, and it must select
-     * only other elements or attributes.  If a non-element or non-attribute
-     * is selected, an unchecked exception is thrown.
-     * <p>
-     * The array that is returned contains all the selected
-     * XmlObjects, within the same document, listed in document
-     * order.  The actual array type of the result is inferred
-     * from the closest common base type of selected results.
-     * <p>
-     * Here is an example of usage.  Suppose we have a global
-     * element definition for "owner" whose type is "person":
-     * <pre>
-     *   &lt;schema targetNamespace="http://openuri.org/sample">
-     *      &lt;element name="owner" type="person"/>
-     *      &lt;complexType name="person">
-     *         [...]
-     *      &lt;/complexType>
-     *   &lt;/schema>
-     * </pre>
-     * and suppose "owner" tags can be scattered throughout the
-     * document.  Then we can write the following code to find
-     * them all:
-     * <pre>
-     * import org.openuri.sample.Person;
-     * import org.apache.xmlbeans.*;
-     * [...]
-     *   XmlObject xobj = XmlObject.Factory.parse(myFile);
-     *   Person[] results;
-     *   results = (Person[])xobj.selectPath(
-     *      "declare namespace s='http://www.openuri.org/sample' " +
-     *      ".//s:owner");
-     * </pre>
-     * Notice the way in which namespace declarations are done in XPath 2.0.
-     * Since XPath can only navigate within an XML document - it cannot
-     * construct new XML - the resulting XmlObjects all reside in
-     * the same XML document as this XmlObject itself.
-     */
-    XmlObject[] selectPath ( String path );
-
-    /**
-     * Selects a path, applying options.
-     * 
-     * @see #selectPath(String)
-     */
-    XmlObject[] selectPath ( String path, XmlOptions options );
-    
-
-    /**
-     * Executes a query.  Query can be a string or precompiled query String.
-     * <p>
-     * An XQuery is very similar to an XPath, except that it also permits
-     * construction of new XML.  As a result, the XmlObjects that are
-     * returned from execQuery are in newly created documents, separate
-     * from the XmlObject on which the query is executed.
-     * <p>
-     * Syntax and usage is otherwise similar to selectPath.
-     * <p>
-     * @see #selectPath(String)
-     */
-    XmlObject[] execQuery ( String query );
-
-    /**
-     * Executes a query with options.
-     * 
-     * Use the <em>options</em> parameter to specify the following:</p>
-     * 
-     * <table>
-     * <tr><th>To specify this</th><th>Use this method</th></tr>
-     * <tr>
-     *  <td>The document type for the root element.</td>
-     *  <td>{@link XmlOptions#setDocumentType}</td>
-     * </tr>
-     * <tr>
-     *  <td>To replace the document element with the specified QName when constructing the
-     *  resulting document.</td>
-     *  <td>{@link XmlOptions#setLoadReplaceDocumentElement}</td>
-     * </tr>
-     * <tr>
-     *  <td>To strip all insignificant whitespace when constructing a document.</td>
-     *  <td>{@link XmlOptions#setLoadStripWhitespace}</td>
-     * </tr>
-     * <tr>
-     *  <td>To strip all comments when constructing a document.</td>
-     *  <td>{@link XmlOptions#setLoadStripComments}</td>
-     * </tr>
-     * <tr>
-     *  <td>To strip all processing instructions when constructing a document.</td>
-     *  <td>{@link XmlOptions#setLoadStripProcinsts}</td>
-     * </tr>
-     * <tr>
-     *  <td>A map of namespace URI substitutions to use when constructing a document.</td>
-     *  <td>{@link XmlOptions#setLoadSubstituteNamespaces}</td>
-     * </tr>
-     * <tr>
-     *  <td>Additional namespace mappings to be added when constructing a document.</td>
-     *  <td>{@link XmlOptions#setLoadAdditionalNamespaces}</td>
-     * </tr>
-     * <tr>
-     *  <td>To trim the underlying XML text buffer immediately after constructing 
-     *  a document, resulting in a smaller memory footprint.</td>
-     *  <td>{@link XmlOptions#setLoadTrimTextBuffer}</td>
-     * </tr>
-     * <tr>
-     *  <td>Whether value facets should be checked as they are set.</td>
-     *  <td>{@link XmlOptions#setValidateOnSet}</td>
-     * </tr>
-     * </table> 
-     * 
-     * @param query The XQuery expression.
-     * @param options Options as described.
-     * 
-     * @see #execQuery(String)
-     */
-    XmlObject[] execQuery ( String query, XmlOptions options );
-    
-
-    /**
-     * Changes the schema type associated with this data and
-     * returns a new XmlObject instance whose schemaType is the
-     * new type.
-     * <p>
-     * Returns null if the type change is not allowed. Certain
-     * type changes may be prohibited on the interior of an xml
-     * tree due to schema type system constraints (that is, due
-     * to a parent container within which the newly specified
-     * type is not permissible), but there are no constraints
-     * at the roottype changes are never
-     * prohibited at the root of an xml tree.
-     * <p>
-     * If the type change is allowed, then the new XmlObject should
-     * be used rather than the old one. The old XmlObject instance and
-     * any other XmlObject instances in the subtree are permanently
-     * invalidated and should not be used. (They will return
-     * InvalidStateException if you try to use them.)
-     *
-     * If a type change is done on the interior of an Xml
-     * tree, then xsi:type attributes are updated as needed.
-     */
-    XmlObject changeType(SchemaType newType);
-
-
-    /**
-     * True if the value is nil. Note that in order to be nil,
-     * the value must be in an element, and the element containing
-     * the value must be marked as nillable in the schema.
-     */
-    boolean isNil();
-
-    /**
-     * Sets the value to nil. The element containing the value must
-     * be marked as nillable in the schema.
-     */
-    void setNil();
-
-
-    /**
-     * Returns an XML string for this XML object.
-     * <p>
-     * The string is pretty-printed.  If you want a non-pretty-printed
-     * string, or if you want to control options precisely, use the
-     * xmlText() methods.
-     * <p>
-     * Note that when producing XML any object other than very root of the
-     * document, then you are guaranteed to be looking at only a fragment
-     * of XML, i.e., just the contents of an element or attribute, and
-     * and we will produce a string that starts with an <code>&lt;xml-fragment&gt;</code> tag.
-     * The XmlOptions.setSaveOuter() option on xmlText can be used to produce
-     * the actual element name above the object if you wish.
-     */
-    String toString();
-
-    /**
-     * True if the value is an immutable value. Immutable values do not
-     * have a position in a tree; rather, they are stand-alone simple type
-     * values. If the object is immutable, the equals() methods tests for
-     * value equality, and the object can be used as the key for a hash.
-     */
-    boolean isImmutable();
-
-    /**
-     * Set the value/type of this XmlObject to be a copy of the source
-     * XmlObject.  Because the type of the source may be different than this
-     * target, this XmlObject may become defunct.  In this case the new
-     * XmlObject is returned.  If no type change happens, the same this will be
-     * returned.
-     */
-    XmlObject set(XmlObject srcObj);
-    
-    /**
-     * Returns a deep copy of this XmlObject.  The returned object has the
-     * same type as the current object, and has all the content of
-     * the XML document underneath the current object.  Note that
-     * any parts of the XML document above or outside this XmlObject are
-     * not copied.
-     */
-    XmlObject copy();
-
-    /**
-     * True if the xml values are equal. Two different objects
-     * (which are distinguished by equals(obj) == false) may of
-     * course have equal values (valueEquals(obj) == true).
-     * <p>
-     * Usually this method can be treated as an ordinary equvalence
-     * relation, but actually it is not is not transitive.
-     * Here is a precise specification:
-     * <p>
-     * There are two categories of XML object: objects with a known
-     * instance type, and objects whose only known type is one of the
-     * ur-types (either AnyType or AnySimpleType). The first category
-     * is compared in terms of logical value spaces, and the second
-     * category is compared lexically.
-     * <p>
-     * Within each of these two categories, valueEquals is a well-behaved
-     * equivalence relation. However, when comparing an object of known
-     * type with an object with ur-type, the comparison is done by attempting
-     * to convert the lexical form of the ur-typed object into the other
-     * type, and then comparing the results. Ur-typed objects are therefore
-     * treated as lexical wildcards and may be equal to objects in different
-     * value spaces, even though the objects in different value spaces are
-     * not equal to each other.
-     * <p>
-     * For example, the anySimpleType value "1" will compare as an
-     * equalValue to the string "1", the float value "1.0", the double
-     * value "1.0", the decimal "1", and the GYear "1", even though
-     * all these objects will compare unequal to each other since they
-     * lie in different value spaces.
-     */
-    boolean valueEquals(XmlObject obj);
-
-    int valueHashCode();
-
-    /**
-     * Impelements the Comparable interface by comparing two simple
-     * xml values based on their standard XML schema ordering.
-     * Throws a ClassCastException if no standard ordering applies,
-     * or if the two values are incomparable within a partial order.
-     */
-    int compareTo(Object obj);
-
-    /**
-     * This comparison method is similar to compareTo, but rather
-     * than throwing a ClassCastException when two values are incomparable,
-     * it returns the number 2. The result codes are -1 if this object
-     * is less than obj, 1 if this object is greater than obj, zero if
-     * the objects are equal, and 2 if the objects are incomparable.
-     */
-    int compareValue(XmlObject obj);
-    
-    /** LESS_THAN is -1. See {@link #compareValue}. */
-    static final int LESS_THAN = -1;
-    /** EQUAL is 0. See {@link #compareValue}. */
-    static final int EQUAL = 0;
-    /** GREATER_THAN is 1. See {@link #compareValue}. */
-    static final int GREATER_THAN = 1;
-    /** NOT_EQUAL is 2. See {@link #compareValue}. */
-    static final int NOT_EQUAL = 2;
-
-    /**
-     * Static factory class for creating new instances.  Note that if
-     * a type can be inferred from the XML being loaded (for example,
-     * by recognizing the document element QName), then the instance
-     * returned by a factory will have the inferred type.  Otherwise
-     * the Factory will returned an untyped document.
-     */
-    public static final class Factory
-    {
-        /**
-         * Creates a new, completely empty instance.
-         */ 
-        public static XmlObject newInstance ( ) {
-          return XmlBeans.getContextTypeLoader().newInstance( null, null ); }
-        
-        /**
-         * <p>Creates a new, completely empty instance, specifying options
-         * for the root element's document type and/or whether to validate
-         * value facets as they are set.</p>
-         * 
-         * Use the <em>options</em> parameter to specify the following:</p>
-         * 
-         * <table>
-         * <tr><th>To specify this</th><th>Use this method</th></tr>
-         * <tr>
-         *  <td>The document type for the root element.</td>
-         *  <td>{@link XmlOptions#setDocumentType}</td>
-         * </tr>
-         * <tr>
-         *  <td>Whether value facets should be checked as they are set.</td>
-         *  <td>{@link XmlOptions#setValidateOnSet}</td>
-         * </tr>
-         * </table> 
-         * 
-         * @param options Options specifying root document type and/or value facet 
-         * checking.
-         * @return A new, empty instance of XmlObject.</li>
-         */ 
-        public static XmlObject newInstance ( XmlOptions options ) {
-          return XmlBeans.getContextTypeLoader().newInstance( null, options ); }
-        
-        /**
-         * Creates a new immutable value.
-         */ 
-        /** Creates an immutable {@link XmlObject} value */
-        public static XmlObject newValue ( Object obj ) {
-          return type.newValue( obj ); }
-        
-        /**
-         * Parses the given {@link String} as XML.
-         */ 
-        public static XmlObject parse ( String s ) throws XmlException {
-          return XmlBeans.getContextTypeLoader().parse( s, null, null ); }
-        
-        /**
-         * Parses the given {@link String} as XML.
-         * 
-         * Use the <em>options</em> parameter to specify the following:</p>
-         * 
-         * <table>
-         * <tr><th>To specify this</th><th>Use this method</th></tr>
-         * <tr>
-         *  <td>The document type for the root element.</td>
-         *  <td>{@link XmlOptions#setDocumentType}</td>
-         * </tr>
-         * <tr>
-         *  <td>To place line number annotations in the store when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadLineNumbers}</td>
-         * </tr>
-         * <tr>
-         *  <td>To replace the document element with the specified QName when parsing.</td>
-         *  <td>{@link XmlOptions#setLoadReplaceDocumentElement}</td>
-         * </tr>
-         * <tr>
-         *  <td>To strip all insignificant whitespace when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadStripWhitespace}</td>
-         * </tr>
-         * <tr>
-         *  <td>To strip all comments when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadStripComments}</td>
-         * </tr>
-         * <tr>
-         *  <td>To strip all processing instructions when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadStripProcinsts}</td>
-         * </tr>
-         * <tr>
-         *  <td>A map of namespace URI substitutions to use when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadSubstituteNamespaces}</td>
-         * </tr>
-         * <tr>
-         *  <td>Additional namespace mappings to be added when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadAdditionalNamespaces}</td>
-         * </tr>
-         * <tr>
-         *  <td>To trim the underlying XML text buffer immediately after parsing 
-         *  a document, resulting in a smaller memory footprint.</td>
-         *  <td>{@link XmlOptions#setLoadTrimTextBuffer}</td>
-         * </tr>
-         * </table> 
-         * 
-         * @param s The string to parse.
-         * @param options Options as specified.
-         * @return A new instance containing the specified XML.
-         */ 
-        public static XmlObject parse ( String s, XmlOptions options ) throws XmlException {
-          return XmlBeans.getContextTypeLoader().parse( s, null, options ); }
-        
-        /**
-         * Parses the given {@link File} as XML.
-         */ 
-        public static XmlObject parse ( File f ) throws XmlException, IOException {
-          return XmlBeans.getContextTypeLoader().parse( f, null, null ); }
-
-        /**
-         * Parses the given {@link File} as XML.
-         */ 
-        public static XmlObject parse ( File f, XmlOptions options ) throws XmlException, IOException {
-          return XmlBeans.getContextTypeLoader().parse( f, null, options ); }
-        
-        /**
-         * Downloads the given {@link java.net.URL} as XML.
-         */ 
-        public static XmlObject parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return XmlBeans.getContextTypeLoader().parse( u, null, null ); }
-
-        /**
-         * Downloads the given {@link java.net.URL} as XML.
-         */ 
-        public static XmlObject parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return XmlBeans.getContextTypeLoader().parse( u, null, options ); }
-
-        /**
-         * Decodes and parses the given {@link InputStream} as XML.
-         */ 
-        public static XmlObject parse ( InputStream is ) throws XmlException, IOException {
-          return XmlBeans.getContextTypeLoader().parse( is, null, null ); }
-        
-        /**
-         * Decodes and parses the given {@link InputStream} as XML.
-         * 
-         * Use the <em>options</em> parameter to specify the following:</p>
-         * 
-         * <table>
-         * <tr><th>To specify this</th><th>Use this method</th></tr>
-         * <tr>
-         *  <td>The character encoding to use when parsing or writing a document.</td>
-         *  <td>{@link XmlOptions#setCharacterEncoding}</td>
-         * </tr>
-         * <tr>
-         *  <td>The document type for the root element.</td>
-         *  <td>{@link XmlOptions#setDocumentType}</td>
-         * </tr>
-         * <tr>
-         *  <td>Place line number annotations in the store when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadLineNumbers}</td>
-         * </tr>
-         * <tr>
-         *  <td>Replace the document element with the specified QName when parsing.</td>
-         *  <td>{@link XmlOptions#setLoadReplaceDocumentElement}</td>
-         * </tr>
-         * <tr>
-         *  <td>Strip all insignificant whitespace when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadStripWhitespace}</td>
-         * </tr>
-         * <tr>
-         *  <td>Strip all comments when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadStripComments}</td>
-         * </tr>
-         * <tr>
-         *  <td>Strip all processing instructions when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadStripProcinsts}</td>
-         * </tr>
-         * <tr>
-         *  <td>Set a map of namespace URI substitutions to use when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadSubstituteNamespaces}</td>
-         * </tr>
-         * <tr>
-         *  <td>Set additional namespace mappings to be added when parsing a document.</td>
-         *  <td>{@link XmlOptions#setLoadAdditionalNamespaces}</td>
-         * </tr>
-         * <tr>
-         *  <td>Trim the underlying XML text buffer immediately after parsing 
-         *  a document, resulting in a smaller memory footprint.</td>
-         *  <td>{@link XmlOptions#setLoadTrimTextBuffer}</td>
-         * </tr>
-         * </table> 
-         */ 
-        public static XmlObject parse ( InputStream is, XmlOptions options ) throws XmlException, IOException {
-          return XmlBeans.getContextTypeLoader().parse( is, null, options ); }
-        
-        /**
-         * Parses the given {@link Reader} as XML.
-         */ 
-        public static XmlObject parse ( Reader r ) throws XmlException, IOException {
-          return XmlBeans.getContextTypeLoader().parse( r, null, null ); }
-        
-        /**
-         * Parses the given {@link Reader} as XML.
-         */ 
-        public static XmlObject parse ( Reader r, XmlOptions options ) throws XmlException, IOException {
-          return XmlBeans.getContextTypeLoader().parse( r, null, options ); }
-        
-        /**
-         * Converts the given DOM {@link Node} into an XmlObject.
-         */ 
-        public static XmlObject parse ( Node node ) throws XmlException {
-          return XmlBeans.getContextTypeLoader().parse( node, null, null ); }
-        
-        /**
-         * Converts the given DOM {@link Node} into an XmlObject.
-         */ 
-        public static XmlObject parse ( Node node, XmlOptions options ) throws XmlException {
-          return XmlBeans.getContextTypeLoader().parse( node, null, options ); }
-        
-        /**
-         * Loads the given {@link XMLInputStream} into an XmlObject.
-         * @deprecated Superceded by JSR 173
-         */ 
-        public static XmlObject parse ( XMLInputStream xis ) throws XmlException, XMLStreamException {
-          return XmlBeans.getContextTypeLoader().parse( xis, null, null ); }
-        
-        /**
-         * Loads the given {@link XMLInputStream} into an XmlObject.
-         * @deprecated Superceded by JSR 173
-         */ 
-        public static XmlObject parse ( XMLInputStream xis, XmlOptions options ) throws XmlException, XMLStreamException {
-          return XmlBeans.getContextTypeLoader().parse( xis, null, options ); }
-
-        /**
-         * Returns an {@link XmlSaxHandler} that can load an XmlObject from SAX events.
-         */ 
-        public static XmlSaxHandler newXmlSaxHandler ( ) {
-          return XmlBeans.getContextTypeLoader().newXmlSaxHandler( null, null ); }
-            
-        /**
-         * Returns an {@link XmlSaxHandler} that can load an XmlObject from SAX events.
-         */ 
-        public static XmlSaxHandler newXmlSaxHandler ( XmlOptions options ) {
-          return XmlBeans.getContextTypeLoader().newXmlSaxHandler( null, options ); }
-            
-        /**
-         * Returns a new validating {@link XMLInputStream} that throws exceptions when the input is not valid.
-         * @deprecated Superceded by JSR 173
-         */ 
-        public static XMLInputStream newValidatingXMLInputStream ( XMLInputStream xis ) throws XmlException, XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, null, null ); }
-        
-        /**
-         * Returns a new validating {@link XMLInputStream} that throws exceptions 
-         * when the input is not valid, specifying options
-         * for the root element's document type and/or the collection object to use
-         * as an error listener while validating.</p>
-         * 
-         * <p>Use the <em>options</em> parameter to specify the following:</p>
-         * 
-         * <ul>
-         * <li>A collection instance that should be used as an error listener during
-         * compilation, as described in {@link XmlOptions#setErrorListener}.</li>
-         * <li>The document type for the root element, as described in 
-         * {@link XmlOptions#setDocumentType(SchemaType)}.</li>
-         * </ul>
-         * 
-         * @param xis The basis for the new XMLInputStream.
-         * @param options Options specifying root document type and/or an error listener.
-         * @return A new validating XMLInputStream.
-         * @deprecated Superceded by JSR 173
-         */ 
-        public static XMLInputStream newValidatingXMLInputStream ( XMLInputStream xis, XmlOptions options ) throws XmlException, XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, null, options ); }
-        
-        /**
-         * Instances cannot be created.
-         */ 
-        private Factory() { }
-    }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlOptions.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlOptions.java
deleted file mode 100644
index 02bbe00..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlOptions.java
+++ /dev/null
@@ -1,698 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import org.xml.sax.EntityResolver;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Set;
-import javax.xml.namespace.QName;
-
-/**
- * Used to supply options for loading, saving, and compiling, and validating.
- * <p>
- * There are two styles for using XmlOptions: multiline setup, and single-line use.
- * Here are two examples.  First, multiline style:
- * <pre>
- * XmlOptions opts = new XmlOptions();
- * opts.setSavePrettyPrint();
- * opts.setSavePrettyPrintIndent(4);
- * System.out.println(xobj.xmlText(opts));
- * </pre>
- * 
- * The alternative is single-line usage:
- * <pre>
- * System.out.println(xobj.xmlText(
- *     new XmlOptions().setSavePrettyPrint().setSavePrettyPrintIndent(4)));
- * </pre>
- */
-public class XmlOptions implements java.io.Serializable
-{
-    private static final long serialVersionUID = 1L;
-    
-    private Map _map = new HashMap();
-
-
-    /**
-     * Construct a new blank XmlOptions.
-     */
-    public XmlOptions ( ) { }
-
-    /**
-     * Construct a new XmlOptions, copying the options.
-     */
-    public XmlOptions (XmlOptions other) {
-        if (other != null) _map.putAll(other._map);
-    }
-            
-    //
-    // Handy-dandy helper methods for setting some options
-    //
-
-    /**
-     * This option will cause the saver to save namespace attributes first.
-     * 
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setSaveNamespacesFirst() { 
-        return set( SAVE_NAMESPACES_FIRST ); 
-    }
-    /**
-     * This option will cause the saver to reformat white space for easier reading.
-     * 
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setSavePrettyPrint() { 
-        return set( SAVE_PRETTY_PRINT ); 
-    }
-
-    /**
-     * When used with <code>setSavePrettyPrint</code> this sets the indent
-     * amount to use.
-     * 
-     * @param indent the indent amount to use
-     * @see #setSavePrettyPrint
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setSavePrettyPrintIndent(int indent) { 
-        return set( SAVE_PRETTY_PRINT_INDENT, indent ); 
-    }
-
-    /**
-     * When used with <code>setSavePrettyPrint</code> this sets the offset
-     * amount to use.
-     * 
-     * @param offset the offset amount to use
-     * @see #setSavePrettyPrint
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setSavePrettyPrintOffset(int offset) { 
-        return set( SAVE_PRETTY_PRINT_OFFSET, offset ); 
-    }
-
-    /**
-     * When parsing or writing a document, this sets the character
-     * encoding to use.
-     * 
-     * @param encoding the character encoding
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     */
-    public XmlOptions setCharacterEncoding(String encoding) { 
-        return set( CHARACTER_ENCODING, encoding ); 
-    }
-
-    /**
-     * When parsing a document, this sets the type of the root
-     * element. If this is set, the parser will not try to guess
-     * the type based on the document's <code>QName</code>.
-     * 
-     * @param type The root element's document type.
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     */
-    public XmlOptions setDocumentType(SchemaType type) {
-        return set( DOCUMENT_TYPE, type ); 
-    }
-
-    /**
-     * <p>Sets a collection object for collecting {@link XmlError} objects 
-     * during parsing, validation, and compilation. When set, the collection 
-     * will contain all the errors after the operation takes place.  Notice that
-     * the errors will only have line numbers if the document was
-     * loaded with line numbers enabled.</p>
-     * 
-     * <p>The following simple example illustrates using an error listener
-     * during validation.</p>
-     * 
-     * <pre>
-     * // Create an XmlOptions instance and set the error listener.
-     * XmlOptions validateOptions = new XmlOptions();
-     * ArrayList errorList = new ArrayList();
-     * validateOptions.setErrorListener(errorList);
-     * 
-     * // Validate the XML.
-     * boolean isValid = newEmp.validate(validateOptions);
-     * 
-     * // If the XML isn't valid, loop through the listener's contents,
-     * // printing contained messages.
-     * if (!isValid)
-     * {
-     *      for (int i = 0; i < errorList.size(); i++)
-     *      {
-     *          XmlError error = (XmlError)errorList.get(i);
-     *          
-     *          System.out.println("\n");
-     *          System.out.println("Message: " + error.getMessage() + "\n");
-     *          System.out.println("Location of invalid XML: " + 
-     *              error.getCursorLocation().xmlText() + "\n");
-     *      }
-     * }
-     * </pre>
-     * 
-     * @param c A collection that will be filled with {@link XmlError} objects 
-     * via {@link Collection#add}
-     * 
-     * @see XmlError
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     * @see XmlObject#validate(XmlOptions)
-     * @see XmlBeans#compileXsd
-     * @see XmlOptions#setLoadLineNumbers
-     */
-    public XmlOptions setErrorListener (Collection c) { 
-        return set( ERROR_LISTENER, c ); 
-    }
-
-    /**
-     * Causes the saver to reduce the number of namespace prefix declarations.
-     * The saver will do this by passing over the document twice, first to
-     * collect the set of needed namespace declarations, and then second
-     * to actually save the document with the declarations collected
-     * at the root.
-     * 
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setSaveAggresiveNamespaces() { 
-        return set( SAVE_AGGRESSIVE_NAMESPACES ); 
-    }
-
-    /**
-     * This option causes the saver to wrap the current fragment in
-     * an element with the given name.
-     * 
-     * @param name the name to use for the top level element
-     * 
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setSaveSyntheticDocumentElement (QName name) { 
-        return set( SAVE_SYNTHETIC_DOCUMENT_ELEMENT, name ); 
-    }
-
-    /**
-     * If this option is set, the saver will try to use the default
-     * namespace for the most commonly used URI. If it is not set
-     * the saver will always created named prefixes.
-     * 
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setUseDefaultNamespace () { 
-        return set( SAVE_USE_DEFAULT_NAMESPACE ); 
-    }
-
-    /**
-     * If namespaces have already been declared outside the scope of the
-     * fragment being saved, this allows those mappings to be passed
-     * down to the saver, so the prefixes are not re-declared.
-     * 
-     * @param implicitNamespaces a map of prefixes to uris that can be
-     *  used by the saver without being declared
-     * 
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */ 
-    public XmlOptions setSaveImplicitNamespaces (Map implicitNamespaces) { 
-        return set( SAVE_IMPLICIT_NAMESPACES, implicitNamespaces ); 
-    }
-
-    /**
-     * A map of hints to pass to the saver for which prefixes to use
-     * for which namespace URI.
-     * 
-     * @param suggestedPrefixes a map from URIs to prefixes
-     * 
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setSaveSuggestedPrefixes (Map suggestedPrefixes) { 
-        return set( SAVE_SUGGESTED_PREFIXES, suggestedPrefixes ); 
-    }
-
-    /**
-     * This option causes the saver to filter a Processing Instruction
-     * with the given target
-     * 
-     * @param filterProcinst the name of a Processing Instruction to filter
-     *   on save
-     * 
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setSaveFilterProcinst (String filterProcinst) { 
-        return set( SAVE_FILTER_PROCINST, filterProcinst ); 
-    }
-
-    /**
-     * When saving a fragment, this option changes the qname of the synthesized
-     * root element.  Normally &lt;xml-fragment&gt; is used.
-     * 
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setSaveUseOpenFrag () { 
-        return set( SAVE_USE_OPEN_FRAGMENT ); 
-    }
-
-    /**
-     * This option controls whether saving begins on the element or its contents
-     * 
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setSaveOuter () { 
-        return set( SAVE_OUTER ); 
-    }
-
-    /**
-     * This option controls whether saving begins on the element or its contents
-     * 
-     * @see XmlTokenSource#save(java.io.File, XmlOptions)
-     * @see XmlTokenSource#xmlText(XmlOptions)
-     */
-    public XmlOptions setSaveInner () { 
-        return set( SAVE_INNER ); 
-    }
-
-    /**
-     * If this option is set, the document element is replaced with the
-     * given QName when parsing.  If null is supplied, the document element
-     * is removed.
-     * 
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     */
-    public XmlOptions setLoadReplaceDocumentElement ( QName replacement ) { 
-        return set( LOAD_REPLACE_DOCUMENT_ELEMENT, replacement ); 
-    }
-
-    /**
-     * If this option is set, all insignificant whitespace is stripped
-     * when parsing a document.  Can be used to save memory on large
-     * documents when you know there is no mixed content.
-     * 
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     */
-    public XmlOptions setLoadStripWhitespace () { 
-        return set( LOAD_STRIP_WHITESPACE); 
-    }
-
-    /**
-     * If this option is set, all comments are stripped when parsing
-     * a document.
-     * 
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     */
-    public XmlOptions setLoadStripComments() {
-        return set( LOAD_STRIP_COMMENTS ); 
-    }
-
-    /**
-     * If this option is set, all processing instructions 
-     * are stripped when parsing a document.
-     * 
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     */
-    public XmlOptions setLoadStripProcinsts () { 
-        return set( LOAD_STRIP_PROCINSTS ); 
-    }
-
-    /**
-     * If this option is set, line number annotations are placed
-     * in the store when parsing a document.  This is particularly
-     * useful when you want {@link XmlError} objects to contain
-     * line numbers.
-     * 
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     * @see XmlError
-     */
-    public XmlOptions setLoadLineNumbers () { 
-        return set( LOAD_LINE_NUMBERS ); 
-    }
-
-    /**
-     * This option sets a map of namespace uri substitutions that happen
-     * when parsing a document.
-     * <p>
-     * This is particularly useful if you
-     * have documents that use no namespace, but you wish to avoid
-     * the name collision problems that occur when you introduce
-     * schema definitions without a target namespace.
-     * <p>
-     * By mapping the empty string "" (the absence of a URI) to a specific
-     * namespace, you can force the parser to behave as if a no-namespace
-     * document were actually in the specified namespace. This allows you
-     * to type the instance according to a schema in a nonempty namespace,
-     * and therefore avoid the problematic practice of using schema
-     * definitions without a target namespace.
-     * 
-     * @param substNamespaces a map of document URIs to replacement URIs
-     * 
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     */
-    public XmlOptions setLoadSubstituteNamespaces (Map substNamespaces) { 
-        return set( LOAD_SUBSTITUTE_NAMESPACES, substNamespaces ); 
-    }
-
-    /**
-     * If this option is set, the underlying xml text buffer is trimmed
-     * immediately after parsing a document resulting in a smaller memory
-     * footprint.  Use this option if you are loading a large number
-     * of unchanging documents that will stay in memory for some time.
-     * 
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     */
-    public XmlOptions setLoadTrimTextBuffer () { 
-        return set( LOAD_TRIM_TEXT_BUFFER ); 
-    }
-
-    /**
-     * Set additional namespace mappings to be added when parsing
-     * a document.
-     * 
-     * @param nses additional namespace mappings
-     * 
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     */
-    public XmlOptions setLoadAdditionalNamespaces (Map nses) { 
-        return set( LOAD_ADDITIONAL_NAMESPACES, nses ); 
-    }
-
-    /**
-     * If this option is set when loading from an InputStream or File, then
-     * the loader will compute a 160-bit SHA-1 message digest of the XML
-     * file while loading it and make it available via
-     * XmlObject.documentProperties().getMessageDigest();
-     * <br>
-     * The schema compiler uses message digests to detect and eliminate
-     * duplicate imported xsd files.
-     * 
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     */
-    public XmlOptions setLoadMessageDigest () { 
-        return set( LOAD_MESSAGE_DIGEST ); 
-    }
-
-    /**
-     * Sets the name of the variable that represents
-     * the current node in a query expression.
-     * 
-     * @param varName The new variable name to use for the query.
-     * 
-     * @see XmlObject#execQuery
-     * @see XmlCursor#execQuery
-     */
-    public XmlOptions setXqueryCurrentNodeVar (String varName) { 
-        return set( XQUERY_CURRENT_NODE_VAR, varName ); 
-    }
-
-    /**
-     * This option sets the document source name into the xml store
-     * when parsing a document.  If a document is parsed from a
-     * File or URI, it is automatically set to the URI of the
-     * source; otherwise, for example, when parsing a String,
-     * you can use this option to specify the source name yourself. 
-     * 
-     * @see XmlObject.Factory#parse(java.lang.String, XmlOptions)
-     */
-    public XmlOptions setDocumentSourceName (String documentSourceName) { 
-        return set( DOCUMENT_SOURCE_NAME, documentSourceName ); 
-    }
-
-    /**
-     * This option allows for <code>QName</code> substitution during schema compilation.
-     * 
-     * @param nameMap a map from <code>QName</code>s to substitute <code>QName</code>s.
-     * 
-     * @see XmlBeans#compileXsd
-     */
-    public XmlOptions setCompileSubstituteNames (Map nameMap) { 
-        return set( COMPILE_SUBSTITUTE_NAMES, nameMap ); 
-    }
-    
-    /**
-     * If this option is set, validation is not done on the Schema XmlBeans
-     * when building a <code>SchemaTypeSystem</code>
-     * 
-     * @see XmlBeans#compileXsd
-     */
-    public XmlOptions setCompileNoValidation () { 
-        return set( COMPILE_NO_VALIDATION ); 
-    }
-
-    /**
-     * If this option is set, the unique particle attribution rule is not
-     * enforced when building a <code>SchemaTypeSystem</code>. See
-     * <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#non-ambig">Appendix H of the XML Schema specification</a>
-     * for information on the UPA rule.
-     * 
-     * @see XmlBeans#compileXsd
-     */
-    public XmlOptions setCompileNoUpaRule () { 
-        return set( COMPILE_NO_UPA_RULE ); 
-    }
-    
-    /**
-     * If this option is set, the particle valid (restriciton) rule is not
-     * enforced when building a <code>SchemaTypeSystem</code>. See
-     * <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#cos-particle-restrict">Section 3.9.6 of the XML Schema specification</a>
-     * for information on the PVR rule.
-     * 
-     * @see XmlBeans#compileXsd
-     */
-    public XmlOptions setCompileNoPvrRule () { 
-        return set( COMPILE_NO_PVR_RULE ); 
-    }
-    
-    /**
-     * If this option is set, then the schema compiler will try to download
-     * schemas that appear in imports and includes from network based URLs.
-     * 
-     * @see XmlBeans#compileXsd
-     */
-    public XmlOptions setCompileDownloadUrls () { 
-        return set( COMPILE_DOWNLOAD_URLS); 
-    }
-    
-    /**
-     * If this option is set, then the schema compiler will permit and
-     * ignore multiple definitions of the same component (element, attribute,
-     * type, etc) names in the given namespaces.  If multiple definitions
-     * with the same name appear, the definitions that happen to be processed
-     * last will be ignored.
-     * 
-     * @param mdefNamespaces a set of namespace URIs as Strings
-     * 
-     * @see XmlBeans#compileXsd
-     */ 
-    public XmlOptions setCompileMdefNamespaces(Set mdefNamespaces)
-    {
-        return set( COMPILE_MDEF_NAMESPACES, mdefNamespaces );
-    }
-
-    /**
-     * If this option is set when an instance is created, then value
-     * facets will be checked on each call to a setter or getter
-     * method on instances of XmlObject within the instance document.
-     * If the facets are not satisfied, then an unchecked exception is
-     * thrown immediately.  This option is useful for finding code that
-     * is introducing invalid values in an XML document, but it
-     * slows performance.
-     * 
-     * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
-     */
-    public XmlOptions setValidateOnSet() {
-        return set( VALIDATE_ON_SET );
-    }
-
-    /**
-     * If this option is set when compiling a schema, then the given
-     * EntityResolver will be consulted in order to resolve any
-     * URIs while downloading imported schemas.
-     *
-     * EntityResolvers are currently only used by compileXsd; they
-     * are not consulted by other functions, for example, parse.
-     * This will likely change in the future.
-     * 
-     * @see XmlBeans#compileXsd
-     */
-    public XmlOptions setEntityResolver(EntityResolver resolver) {
-        return set( ENTITY_RESOLVER, resolver );
-    }
-
-
-    //
-    // Complete set of XmlOption's
-    //
-            
-    // TODO - Add selectPath option to track the seletion (deault is to clean selections fast). 
-    
-    /** @exclude */
-    public static final String SAVE_NAMESPACES_FIRST           =  "SAVE_NAMESPACES_FIRST";
-    /** @exclude */
-    public static final String SAVE_SYNTHETIC_DOCUMENT_ELEMENT =  "SAVE_SYNTHETIC_DOCUMENT_ELEMENT";
-    /** @exclude */
-    public static final String SAVE_PRETTY_PRINT               =  "SAVE_PRETTY_PRINT";
-    /** @exclude */
-    public static final String SAVE_PRETTY_PRINT_INDENT        =  "SAVE_PRETTY_PRINT_INDENT";
-    /** @exclude */
-    public static final String SAVE_PRETTY_PRINT_OFFSET        =  "SAVE_PRETTY_PRINT_OFFSET";
-    /** @exclude */
-    public static final String SAVE_AGGRESSIVE_NAMESPACES      =  "SAVE_AGGRESSIVE_NAMESPACES";
-    /** @exclude */
-    public static final String SAVE_USE_DEFAULT_NAMESPACE      =  "SAVE_USE_DEFAULT_NAMESPACE";
-    /** @exclude */
-    public static final String SAVE_IMPLICIT_NAMESPACES        =  "SAVE_IMPLICIT_NAMESPACES";
-    /** @exclude */
-    public static final String SAVE_SUGGESTED_PREFIXES         =  "SAVE_SUGGESTED_PREFIXES";
-    /** @exclude */
-    public static final String SAVE_FILTER_PROCINST            =  "SAVE_FILTER_PROCINST";
-    /** @exclude */
-    public static final String SAVE_USE_OPEN_FRAGMENT          =  "SAVE_USE_OPEN_FRAGMENT";
-    /** @exclude */
-    public static final String SAVE_OUTER                      =  "SAVE_OUTER";
-    /** @exclude */
-    public static final String SAVE_INNER                      =  "SAVE_INNER";
-    
-    /** @exclude */
-    public static final String LOAD_REPLACE_DOCUMENT_ELEMENT   =  "LOAD_REPLACE_DOCUMENT_ELEMENT";
-    /** @exclude */
-    public static final String LOAD_STRIP_WHITESPACE           =  "LOAD_STRIP_WHITESPACE";
-    /** @exclude */
-    public static final String LOAD_STRIP_COMMENTS             =  "LOAD_STRIP_COMMENTS";
-    /** @exclude */
-    public static final String LOAD_STRIP_PROCINSTS            =  "LOAD_STRIP_PROCINSTS";
-    /** @exclude */
-    public static final String LOAD_LINE_NUMBERS               =  "LOAD_LINE_NUMBERS";
-    /** @exclude */
-    public static final String LOAD_SUBSTITUTE_NAMESPACES      =  "LOAD_SUBSTITUTE_NAMESPACES";
-    /** @exclude */
-    public static final String LOAD_TRIM_TEXT_BUFFER           =  "LOAD_TRIM_TEXT_BUFFER";
-    /** @exclude */
-    public static final String LOAD_ADDITIONAL_NAMESPACES      =  "LOAD_ADDITIONAL_NAMESPACES";
-    /** @exclude */
-    public static final String LOAD_MESSAGE_DIGEST             =  "LOAD_MESSAGE_DIGEST";
-
-    /** @exclude */
-    public static final String XQUERY_CURRENT_NODE_VAR         =  "XQUERY_CURRENT_NODE_VAR";
-
-    /** @exclude */
-    public static final String CHARACTER_ENCODING              =  "CHARACTER_ENCODING";
-    /** @exclude */
-    public static final String ERROR_LISTENER                  =  "ERROR_LISTENER";
-    /** @exclude */
-    public static final String DOCUMENT_TYPE                   =  "DOCUMENT_TYPE";
-    /** @exclude */
-    public static final String DOCUMENT_SOURCE_NAME            =  "DOCUMENT_SOURCE_NAME";
-    /** @exclude */
-    public static final String COMPILE_SUBSTITUTE_NAMES        =  "COMPILE_SUBSTITUTE_NAMES";
-    /** @exclude */
-    public static final String COMPILE_NO_VALIDATION           =  "COMPILE_NO_VALIDATION";
-    /** @exclude */
-    public static final String COMPILE_NO_UPA_RULE             =  "COMPILE_NO_UPA_RULE";
-    /** @exclude */
-    public static final String COMPILE_NO_PVR_RULE             =  "COMPILE_NO_PVR_RULE";
-    /** @exclude */
-    public static final String COMPILE_DOWNLOAD_URLS           =  "COMPILE_DOWNLOAD_URLS";
-    /** @exclude */
-    public static final String COMPILE_MDEF_NAMESPACES         =  "COMPILE_MDEF_NAMESPACES";
-    /** @exclude */
-    public static final String VALIDATE_ON_SET                 =  "VALIDATE_ON_SET";
-    /** @exclude */
-    public static final String ENTITY_RESOLVER                 =  "ENTITY_RESOLVER";
-    
-
-    private static final XmlOptions EMPTY_OPTIONS;
-    static {
-        EMPTY_OPTIONS = new XmlOptions();
-        EMPTY_OPTIONS._map = Collections.unmodifiableMap(EMPTY_OPTIONS._map);
-    }
-
-    /** If passed null, returns an empty options object.  Otherwise, returns its argument. */
-    public static XmlOptions maskNull(XmlOptions o) {
-        return (o == null) ? EMPTY_OPTIONS : o;
-    }
-
-    
-    /** Used to set a generic option */
-    public void  put ( Object option               ) { put( option, null ); }
-    /** Used to set a generic option */
-    public void  put ( Object option, Object value ) { _map.put(option, value); }
-    /** Used to set a generic option */
-    public void put  ( Object option, int value    ) { put( option, new Integer( value ) ); }
-
-    private XmlOptions set(Object option)               { return set(option, null); }
-    private XmlOptions set(Object option, Object value) { _map.put(option, value); return this;}
-    private XmlOptions set(Object option, int value)    { return set(option, new Integer(value)); }
-
-    /** Used to test a generic option */
-    public boolean hasOption   ( Object option ) { return _map.containsKey( option ); }
-    /** Used to get a generic option */
-    public Object  get         ( Object option ) { return _map.get( option ); }
-
-    /** Used to test a generic option on an options object that may be null */
-    public static Object safeGet(XmlOptions o, Object option) {
-        return o == null ? null : o.get(option);
-    }
-
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlPositiveInteger.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlPositiveInteger.java
deleted file mode 100644
index 19f2af1..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlPositiveInteger.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#positiveInteger">xs:positiveInteger</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * Verified to be positive when validating.
- * <p>
- * Convertible to {@link java.math.BigInteger}.
- */ 
-public interface XmlPositiveInteger extends XmlNonNegativeInteger
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_positiveInteger");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlPositiveInteger}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlPositiveInteger} */
-        public static XmlPositiveInteger newInstance() {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlPositiveInteger} */
-        public static XmlPositiveInteger newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlPositiveInteger} value */
-        public static XmlPositiveInteger newValue(Object obj) {
-          return (XmlPositiveInteger) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234567890&lt;/xml-fragment&gt;</code>". */
-        public static XmlPositiveInteger parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234567890&lt;/xml-fragment&gt;</code>". */
-        public static XmlPositiveInteger parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from a File. */
-        public static XmlPositiveInteger parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from a File. */
-        public static XmlPositiveInteger parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from a URL. */
-        public static XmlPositiveInteger parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlPositiveInteger} fragment from a URL. */
-        public static XmlPositiveInteger parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlPositiveInteger} fragment from an InputStream. */
-        public static XmlPositiveInteger parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from an InputStream. */
-        public static XmlPositiveInteger parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from a Reader. */
-        public static XmlPositiveInteger parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from a Reader. */
-        public static XmlPositiveInteger parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from a DOM Node. */
-        public static XmlPositiveInteger parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from a DOM Node. */
-        public static XmlPositiveInteger parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlPositiveInteger parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlPositiveInteger} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlPositiveInteger parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlPositiveInteger) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlQName.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlQName.java
deleted file mode 100644
index d9dc423..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlQName.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import javax.xml.namespace.QName;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#QName">xs:QName</a> type.
- * <p>
- * A QName is the logical combination of an XML namespace URI and a localName.
- * Although in an XML instance document, a QName appears as "prefix:localName",
- * the logical value of a QName does NOT contain any information about the
- * prefix, only the namespace URI to which the prefix maps.  For example,
- * two QNames "a:hello" and "b:hello" are perfectly equivalent if "a:" in
- * the first instance maps to the same URI as "b:" in the second instance.
- * <p>
- * Convertible to {@link javax.xml.namespace.QName}.
- */ 
-public interface XmlQName extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_QName");
-    
-    /** Returns this value as a {@link QName} */
-    QName getQNameValue();
-    /** Sets this value as a {@link QName} */
-    void setQNameValue(QName name);
-
-    /**
-     * Returns this value as a {@link QName}
-     * @deprecated replaced with {@link #getQNameValue}
-     **/
-    QName qNameValue();
-    /**
-     * Sets this value as a {@link QName}
-     * @deprecated replaced with {@link #setQNameValue}
-     **/
-    void set(QName name);
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlQName}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlQName} */
-        public static XmlQName newInstance() {
-          return (XmlQName) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlQName} */
-        public static XmlQName newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlQName) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlQName} value */
-        public static XmlQName newValue(Object obj) {
-          return (XmlQName) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlQName} fragment from a String. For example: "<code>&lt;xml-fragment xmlns:x="http://openuri.org/"&gt;x:sample&lt;/xml-fragment&gt;</code>". */
-        public static XmlQName parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlQName} fragment from a String. For example: "<code>&lt;xml-fragment xmlns:x="http://openuri.org/"&gt;x:sample&lt;/xml-fragment&gt;</code>". */
-        public static XmlQName parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlQName} fragment from a File. */
-        public static XmlQName parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlQName} fragment from a File. */
-        public static XmlQName parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlQName} fragment from a URL. */
-        public static XmlQName parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlQName} fragment from a URL. */
-        public static XmlQName parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlQName} fragment from an InputStream. */
-        public static XmlQName parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlQName} fragment from an InputStream. */
-        public static XmlQName parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlQName} fragment from a Reader. */
-        public static XmlQName parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlQName} fragment from a Reader. */
-        public static XmlQName parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlQName} fragment from a DOM Node. */
-        public static XmlQName parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlQName} fragment from a DOM Node. */
-        public static XmlQName parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlQName} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlQName parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlQName} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlQName parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlQName) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlRuntimeException.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlRuntimeException.java
deleted file mode 100644
index 11f58e6..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlRuntimeException.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.List;
-import java.util.Collections;
-import java.util.Collection;
-import java.util.ArrayList;
-
-/**
- * An unchecked XML exception.
- * May contain any number of {@link XmlError} objects.
- * 
- * @see XmlError
- * @see XmlException
- */ 
-public class XmlRuntimeException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-    
-    /**
-     * Constructs an XmlRuntimeException from a message.
-     */ 
-    public XmlRuntimeException ( String m              ) { super( m );    }
-    
-    /**
-     * Constructs an XmlRuntimeException from a message and a cause.
-     */ 
-    public XmlRuntimeException ( String m, Throwable t ) { super( m, t ); }
-    
-    /**
-     * Constructs an XmlRuntimeException from a cause.
-     */ 
-    public XmlRuntimeException ( Throwable t           ) { super( t );    }
-    
-    /**
-     * Constructs an XmlRuntimeException from a message, a cause, and a collection of XmlErrors.
-     */ 
-    public XmlRuntimeException ( String m, Throwable t, Collection errors )
-    {
-        super( m, t );
-
-        if (errors != null)
-            _errors = Collections.unmodifiableList( new ArrayList(errors) );
-    }
-
-    /**
-     * Constructs an XmlRuntimeException from an XmlError.
-     */ 
-    public XmlRuntimeException ( XmlError error )
-    {
-        this( error.toString(), null, error );
-    }
-
-    /**
-     * Constructs an XmlRuntimeException from a message, a cause, and an XmlError.
-     */ 
-    public XmlRuntimeException ( String m, Throwable t, XmlError error )
-    {
-        this( m, t, Collections.singletonList( error ) );
-    }
-    
-    /**
-     * Constructs an XmlRuntimeException from an {@link XmlException}.
-     */ 
-    public XmlRuntimeException ( XmlException xmlException )
-    {
-        super( xmlException.getMessage(), xmlException.getCause() );
-
-        Collection errors = xmlException.getErrors();
-
-        if (errors != null)
-            _errors = Collections.unmodifiableList( new ArrayList( errors ) );
-    }
-    
-    /**
-     * Returns the first {@link XmlError} that caused this exception, if any.
-     */ 
-    public XmlError getError ( )
-    {
-        if (_errors == null || _errors.size() == 0)
-            return null;
-
-        return (XmlError) _errors.get( 0 );
-    }
-    
-    /**
-     * Returns the collection of {@link XmlError XmlErrors} that caused this exception, if any.
-     */ 
-    public Collection getErrors ( )
-    {
-        return _errors;
-    }
-
-    private List _errors;
-}
\ No newline at end of file
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlSaxHandler.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlSaxHandler.java
deleted file mode 100644
index 74bdf29..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlSaxHandler.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-
-/**
- * A holder for a SAX {@link ContentHandler} and {@link LexicalHandler} that are
- * capable of loading an {@link XmlObject} instance.  Once all the SAX events are pushed
- * to the handlers, call {@link #getObject()} to get the loaded XmlObject.
- * 
- * @see XmlObject.Factory#newXmlSaxHandler
- * @see SchemaTypeLoader#newXmlSaxHandler
- */
-public interface XmlSaxHandler
-{
-    /**
-     * The ContentHandler expecting SAX content events.
-     * @see ContentHandler
-     */ 
-    ContentHandler getContentHandler ( );
-    /**
-     * The LexicalHandler expecting SAX lexical events.
-     * @see LexicalHandler
-     */ 
-    LexicalHandler getLexicalHandler ( );
-    
-    /** Returns the loaded XmlObject after all the SAX events have been finished */
-    XmlObject getObject ( ) throws XmlException;
-}
\ No newline at end of file
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlShort.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlShort.java
deleted file mode 100644
index 2ddf4ad..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlShort.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#short">xs:short</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * Naturally, convertible to a Java short.
- */ 
-public interface XmlShort extends XmlInt
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_short");
-    
-    /** Returns this value as a short */
-    public short getShortValue();
-    /** Sets this value as a short */
-    public void setShortValue(short s);
-
-    /**
-     * Returns this value as a short
-     * @deprecated replaced with {@link #getShortValue}
-     **/
-    public short shortValue();
-    /**
-     * Sets this value as a short
-     * @deprecated replaced with {@link #setShortValue}
-     **/
-    public void set(short s);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlShort}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlShort} */
-        public static XmlShort newInstance() {
-          return (XmlShort) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlShort} */
-        public static XmlShort newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlShort) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlShort} value */
-        public static XmlShort newValue(Object obj) {
-          return (XmlShort) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlShort} fragment from a String. For example: "<code>&lt;xml-fragment&gt;12345&lt;/xml-fragment&gt;</code>". */
-        public static XmlShort parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlShort} fragment from a String. For example: "<code>&lt;xml-fragment&gt;12345&lt;/xml-fragment&gt;</code>". */
-        public static XmlShort parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlShort} fragment from a File. */
-        public static XmlShort parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlShort} fragment from a File. */
-        public static XmlShort parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlShort} fragment from a URL. */
-        public static XmlShort parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlShort} fragment from a URL. */
-        public static XmlShort parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlShort} fragment from an InputStream. */
-        public static XmlShort parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlShort} fragment from an InputStream. */
-        public static XmlShort parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlShort} fragment from a Reader. */
-        public static XmlShort parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlShort} fragment from a Reader. */
-        public static XmlShort parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlShort} fragment from a DOM Node. */
-        public static XmlShort parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlShort} fragment from a DOM Node. */
-        public static XmlShort parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlShort} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlShort parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlShort} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlShort parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlShort) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlSimpleList.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlSimpleList.java
deleted file mode 100644
index cd256d4..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlSimpleList.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.Iterator;
-import java.util.Collection;
-import java.util.List;
-import java.util.ListIterator;
-
-/**
- * The immutable {@link List} returned for XML simple list values.
- * 
- * XmlSimpleList implements an equals() and hashCode() that compare list
- * contents, so two XmlSimpleLists are the same if they have the same
- * values in the same order.
- */ 
-public class XmlSimpleList implements List, java.io.Serializable
-{
-    private static final long serialVersionUID = 1L;
-    
-	private List underlying;
-    
-    /**
-     * Constructs an immutable XmlSimpleList that wraps (does not copy)
-     * the given {@link List}.  All non-mutating methods delegate to
-     * the underlying List instance.
-     */ 
-	public XmlSimpleList(List list)     { this.underlying = list; }
-    
-    /** Returns the number of elements in this list. */
-    public int size() 		            { return underlying.size(); }
-    /** True if the list is empty. */
-    public boolean isEmpty() 	        { return underlying.isEmpty(); }
-    /** True if the list is contains an object equal to o. */
-    public boolean contains(Object o)   { return underlying.contains(o); }
-    /** True if the list is contains all the objects in the given collection. */
-    public boolean containsAll(Collection coll) { return underlying.containsAll(coll); }
-    /** Copies the collection to an array. */
-    public Object[] toArray() 	        { return underlying.toArray(); }
-    /** Copies the collection to an array of a specified type. */
-    public Object[] toArray(Object[] a) { return underlying.toArray(a); }
-    
-    /** Unsupported because this list is immutable. */
-    public boolean add(Object o)        { throw new UnsupportedOperationException(); }
-    /** Unsupported because this list is immutable. */
-    public boolean addAll(Collection coll) { throw new UnsupportedOperationException(); }
-    /** Unsupported because this list is immutable. */
-    public boolean remove(Object o)     { throw new UnsupportedOperationException(); }
-    /** Unsupported because this list is immutable. */
-    public boolean removeAll(Collection coll) { throw new UnsupportedOperationException(); }
-    /** Unsupported because this list is immutable. */
-    public boolean retainAll(Collection coll) { throw new UnsupportedOperationException(); }
-    /** Unsupported because this list is immutable. */
-    public void clear()                 { throw new UnsupportedOperationException(); }
-
-    /** Returns the object at the specified position in this list. */
-    public Object get(int index)        { return underlying.get(index); }
-    /** Unsupported because this list is immutable. */
-    public Object set(int index, Object element) { throw new UnsupportedOperationException(); }
-    /** Unsupported because this list is immutable. */
-    public void add(int index, Object element) { throw new UnsupportedOperationException(); }
-    /** Unsupported because this list is immutable. */
-    public Object remove(int index)     { throw new UnsupportedOperationException(); }
-    /** Returns index of the first occurance of an object equal to o. */
-    public int indexOf(Object o)        { return underlying.indexOf(o); }
-    /** Returns index of the last occurance of an object equal to o. */
-    public int lastIndexOf(Object o)    { return underlying.lastIndexOf(o); }
-    /** Unsupported because this list is immutable. */
-    public boolean addAll(int index, Collection c) { throw new UnsupportedOperationException(); }
-    /** Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. */
-    public List subList(int from, int to) { return new XmlSimpleList(underlying.subList(from, to)); }
-
-    /** Returns an iterator over the elements in this list in proper sequence. */
-    public Iterator iterator()
-    { 
-        return new Iterator()
-        { 
-            Iterator i = underlying.iterator();
-            public boolean hasNext()    { return i.hasNext(); }
-            public Object next() 	    { return i.next(); }
-            public void remove()        { throw new UnsupportedOperationException(); }
-        };
-    }
-
-    /** Returns a list iterator of the elements in this list in proper sequence. */
-    public ListIterator listIterator() 	{ return listIterator(0); }
-    /** Returns a list iterator of the elements in this list in proper sequence, starting at the specified position in this list. */
-    public ListIterator listIterator(final int index)
-    { 
-        return new ListIterator()
-        { 
-            ListIterator i = underlying.listIterator(index);
-    
-            public boolean hasNext()    { return i.hasNext(); }
-            public Object next()        { return i.next(); }
-            public boolean hasPrevious(){ return i.hasPrevious(); }
-            public Object previous()    { return i.previous(); }
-            public int nextIndex()      { return i.nextIndex(); }
-            public int previousIndex()  { return i.previousIndex(); }
-    
-            public void remove()        { throw new UnsupportedOperationException(); }
-            public void set(Object o)   { throw new UnsupportedOperationException(); }
-            public void add(Object o)   { throw new UnsupportedOperationException(); }
-        };
-    }
-    
-    private String stringValue(Object o)
-    {
-        if (o instanceof SimpleValue)
-            return ((SimpleValue)o).stringValue();
-        return o.toString();
-    }
-    
-    /**
-     * Returns a space-separated list of the string representations of all
-     * the items in the list.  For most lists, this is a valid xml lexical
-     * value for the list. (The notable exception is a list of QNames.)
-     */ 
-    public String toString()
-    {
-        int size = underlying.size();
-        if (size == 0)
-            return "";
-        String first = stringValue(underlying.get(0));
-        if (size == 1)
-            return first;
-        StringBuffer result = new StringBuffer(first);
-        for (int i = 1; i < size; i++)
-        {
-            result.append(' ');
-            result.append(stringValue(underlying.get(i)));
-        }
-        return result.toString();
-    }
-    
-    /**
-     * Two XmlSimpleLists are equal if all their items are equal.
-     * (They must have the same number of items, and the items must be in
-     * the same order.)
-     */ 
-    public boolean equals(Object o)
-    { 
-        if (this == o) return true;
-        if (!(o instanceof XmlSimpleList)) return false;
-        final XmlSimpleList xmlSimpleList = (XmlSimpleList)o;
-        List underlying2 = xmlSimpleList.underlying;
-        int size = underlying.size();
-        if (size != underlying2.size())
-            return false;
-        for (int i = 0; i < size; i++)
-        { 
-            Object item = underlying.get(i);
-            Object item2 = underlying2.get(i);
-            if (item == null ? item2 != null : !item.equals(item2))
-                return false;
-        }
-        return true;
-    }
-    
-    /**
-     * Combines the hash codes of all the list items.
-     */ 
-    public int hashCode()
-    { 
-        int size = underlying.size();
-        int hash = 0;
-        for (int i = 0; i < size; i++)
-        { 
-            Object item = underlying.get(i);
-            hash *= 19;
-            hash += item.hashCode();
-        }
-        return hash;
-     }
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlString.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlString.java
deleted file mode 100644
index 767a780..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlString.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#string">xs:string</a> type.
- * <p>
- * A basic string in XML schema is not whitespace normalized.  If you
- * want your string type to be insensitive to variations in runs of
- * whitespace, consider using 
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#token">xs:token</a>
- * (aka {@link XmlToken}) instead.
- * To forbid whitespace and permit just alphanumeric and other
- * common identifier characters consider
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#NMTOKEN">xs:NMTOKEN</a>
- * (aka {@link XmlNMTOKEN}) instead.
- * <p>
- * Convertible to {@link String}.
- */ 
-public interface XmlString extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_string");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlString}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlString} */
-        public static XmlString newInstance() {
-          return (XmlString) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlString} */
-        public static XmlString newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlString) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlString} value */
-        public static XmlString newValue(Object obj) {
-          return (XmlString) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlString} fragment from a String. For example: "<code>&lt;xml-fragment&gt; arbitrary string &lt;/xml-fragment&gt;</code>". */
-        public static XmlString parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlString} fragment from a String. For example: "<code>&lt;xml-fragment&gt; arbitrary string &lt;/xml-fragment&gt;</code>". */
-        public static XmlString parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlString} fragment from a File. */
-        public static XmlString parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlString} fragment from a File. */
-        public static XmlString parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlString} fragment from a URL. */
-        public static XmlString parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlString} fragment from a URL. */
-        public static XmlString parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlString} fragment from an InputStream. */
-        public static XmlString parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlString} fragment from an InputStream. */
-        public static XmlString parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlString} fragment from a Reader. */
-        public static XmlString parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlString} fragment from a Reader. */
-        public static XmlString parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlString} fragment from a DOM Node. */
-        public static XmlString parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlString} fragment from a DOM Node. */
-        public static XmlString parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlString} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlString parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlString} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlString parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlString) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlTime.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlTime.java
deleted file mode 100644
index 8e0b83b..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlTime.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.util.Calendar;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#time">xs:time</a> type.
- * A gDay specifies only a day-of-month.
- * <p>
- * Convertible to {@link Calendar} or {@link GDate}.
- * 
- * @see XmlCalendar
- * @see GDate
- */ 
-public interface XmlTime extends XmlAnySimpleType
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_time");
-    
-    /** Returns this value as a {@link Calendar} */
-    Calendar getCalendarValue();
-    /** Sets this value as a {@link Calendar} */
-    void setCalendarValue(Calendar c);
-    /** Returns this value as a {@link GDate} */
-    GDate getGDateValue();
-    /** Sets this value as a {@link GDateSpecification} */
-    void setGDateValue(GDate gd);
-
-    /**
-     * Returns this value as a {@link Calendar}
-     * @deprecated replaced with {@link #getCalendarValue}
-     **/
-    Calendar calendarValue();
-    /**
-     * Sets this value as a {@link Calendar}
-     * @deprecated replaced with {@link #setCalendarValue}
-     **/
-    void set(Calendar c);
-    /**
-     * Returns this value as a {@link GDate}
-     * @deprecated replaced with {@link #getGDateValue}
-     **/
-    GDate gDateValue();
-    /**
-     * Sets this value as a {@link GDateSpecification}
-     * @deprecated replaced with {@link #setGDateValue}
-     **/
-    void set(GDateSpecification gd);
-
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlTime}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlTime} */
-        public static XmlTime newInstance() {
-          return (XmlTime) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlTime} */
-        public static XmlTime newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlTime) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlTime} value */
-        public static XmlTime newValue(Object obj) {
-          return (XmlTime) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlTime} fragment from a String. For example: "<code>&lt;xml-fragment&gt;12:00:00&lt;/xml-fragment&gt;</code>". */
-        public static XmlTime parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlTime} fragment from a String. For example: "<code>&lt;xml-fragment&gt;12:00:00&lt;/xml-fragment&gt;</code>". */
-        public static XmlTime parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlTime} fragment from a File. */
-        public static XmlTime parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlTime} fragment from a File. */
-        public static XmlTime parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlTime} fragment from a URL. */
-        public static XmlTime parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlTime} fragment from a URL. */
-        public static XmlTime parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlTime} fragment from an InputStream. */
-        public static XmlTime parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlTime} fragment from an InputStream. */
-        public static XmlTime parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlTime} fragment from a Reader. */
-        public static XmlTime parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlTime} fragment from a Reader. */
-        public static XmlTime parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlTime} fragment from a DOM Node. */
-        public static XmlTime parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlTime} fragment from a DOM Node. */
-        public static XmlTime parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlTime} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlTime parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlTime} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlTime parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlTime) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlToken.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlToken.java
deleted file mode 100644
index d66649d..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlToken.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#token">xs:token</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#string">xs:string</a>.
- * <p>
- * A token is XML's best representation for a "whitespace insensitive string."
- * All carriage returns, linefeeds, and tabs are converted to ordinary space
- * characters (as with <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#normalizedString">xs:normalizedString</a>),
- * and furthermore, all contiguous runs of space are collapsed to single spaces,
- * and leading and trailing spaces are trimmed.
- * <p>
- * If you want <code>"&nbsp;&nbsp;high&nbsp;&nbsp;priority&nbsp;&nbsp;"</code>
- * to be equivalent to <code>"high priority"</code>, you should consider
- * using xs:token or a subtype of xs:token.
- * <p>
- * When the {@link #stringValue} is obtained from an XmlToken, the normalized,
- * trimmed, whitespace collapsed value is returned.
- * <p>
- * Convertible to {@link String}.
- */ 
-public interface XmlToken extends XmlNormalizedString
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_token");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlToken}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlToken} */
-        public static XmlToken newInstance() {
-          return (XmlToken) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlToken} */
-        public static XmlToken newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlToken) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlToken} value */
-        public static XmlToken newValue(Object obj) {
-          return (XmlToken) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlToken} fragment from a String. For example: "<code>&lt;xml-fragment&gt;string to collapse&lt;/xml-fragment&gt;</code>". */
-        public static XmlToken parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlToken} fragment from a String. For example: "<code>&lt;xml-fragment&gt;string to collapse&lt;/xml-fragment&gt;</code>". */
-        public static XmlToken parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlToken} fragment from a File. */
-        public static XmlToken parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlToken} fragment from a File. */
-        public static XmlToken parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlToken} fragment from a URL. */
-        public static XmlToken parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlToken} fragment from a URL. */
-        public static XmlToken parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlToken} fragment from an InputStream. */
-        public static XmlToken parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlToken} fragment from an InputStream. */
-        public static XmlToken parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlToken} fragment from a Reader. */
-        public static XmlToken parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlToken} fragment from a Reader. */
-        public static XmlToken parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlToken} fragment from a DOM Node. */
-        public static XmlToken parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlToken} fragment from a DOM Node. */
-        public static XmlToken parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlToken} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlToken parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlToken} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlToken parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlToken) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlTokenSource.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlTokenSource.java
deleted file mode 100644
index 3519947..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlTokenSource.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import weblogic.xml.stream.XMLInputStream;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.Writer;
-import java.io.File;
-import java.io.IOException;
-
-import org.w3c.dom.Node;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.SAXException;
-
-/**
- * Represents a holder of XML that can return an {@link XmlCursor}
- * or copy itself to various media such as
- * {@link Writer Writers} or {@link File Files}.
- * Both {@link XmlObject}
- * (and thus all XML Beans) and {@link XmlCursor} are
- * XmlTokenSource implementations.
- * 
- * @see XmlObject
- * @see XmlCursor
- */ 
-public interface XmlTokenSource
-{
-    /**
-     * Returns the synchronization object for the document.  If concurrent
-     * multithreaded access to a document is required, the access should should
-     * be protected by synchronizing on this monitor() object.  There is one
-     * monitor per XML document tree.
-     */
-    Object monitor();
-    
-    /**
-     * Returns the XmlDocumentProperties object for the document this token
-     * source is associated with.
-     */
-    XmlDocumentProperties documentProperties();
-
-    /**
-     * Returns a new XML cursor.
-     *
-     * A cursor provides random access to all the tokens in the XML
-     * data, plus the ability to extract strongly-typed XmlObjects
-     * for the data. If the data is not read-only, the XML cursor
-     * also allows modifications to the data.
-     *
-     * Using a cursor for the first time typically forces the XML
-     * document into memory.
-     */
-    XmlCursor newCursor();
-
-    /**
-     * Returns a new XmlInputStream.
-     *
-     * The stream starts at the current begin-tag or begin-document
-     * position and ends at the matching end-tag or end-document.
-     *
-     * This is a fail-fast stream, so if the underlying data is changed
-     * while the stream is being read, the stream throws a
-     * ConcurrentModificationException.
-     *
-     * Throws an IllegalStateException if the XmlTokenSource is not
-     * positioned at begin-tag or begin-document (e.g., if it is at
-     * an attribute).
-     * @deprecated Superceded by JSR 173
-     */
-    XMLInputStream newXMLInputStream();
-    
-    /**
-     * Returns standard XML text.
-     *
-     * The text returned represents the document contents starting at
-     * the current begin-tag or begin-document and ending at the matching
-     * end-tag or end-document. This is same content as newReader, but
-     * it is returned as a single string.
-     *
-     * Throws an IllegalStateException if the XmlTokenSource is not
-     * positioned at begin-tag or begin-document (e.g., if it is at
-     * an attribute).
-     */
-    String xmlText();
-
-    /**
-     * Returns a new stream containing standard XML text, encoded
-     * according to the given encoding.
-     *
-     * The byte stream contains contents starting at the current
-     * begin-tag or begin-document and ending at the matching
-     * end-tag or end-document.  The specified encoding is used
-     * and also emitted in a PI at the beginning of the stream.
-     *
-     * This is a fail-fast stream, so if the underlying data is changed
-     * while the stream is being read, the stream throws a
-     * ConcurrentModificationException.
-     *
-     * Throws an IllegalStateException if the XmlTokenSource is not
-     * positioned at begin-tag or begin-document (e.g., if it is at
-     * an attribute).
-     */
-    InputStream newInputStream();
-
-    /**
-     * Returns a new character reader containing XML text.
-     *
-     * The contents of the reader represents the document contents
-     * starting at the current begin-tag or begin-document and ending at
-     * the matching end-tag or end-document.  No encoding annotation
-     * will be made in the text itself.
-     *
-     * This is a fail-fast reader, so if the underlying data is changed
-     * while the reader is being read, the reader throws a
-     * ConcurrentModificationException.
-     *
-     * Throws an IllegalStateException if the XmlTokenSource is not
-     * positioned at begin-tag or begin-document (e.g., if it is at
-     * an attribute).
-     */
-    Reader newReader();
-    
-    /**
-     * Returns a W3C DOM Node containing the XML
-     * represented by this source.  This is a copy of the XML, it is
-     * not a live with the underlying store of this token source.
-     * If this is the document node, then a Document is returned, else
-     * a DocumentFragment is returned.
-     */
-    Node newDomNode();
-
-//    /**
-//     * Returns a W3C DOM Node containing the XML represented by this source.
-//     * This is a live DOM node, not a copy.  Any changes made through this node
-//     * are immediately reflected in the document associated with this token
-//     * source.  Depending on the kind of token this XmlTokenSource represents,
-//     * an appropriate node will be returned.
-//     */
-//    Node getDomNode();
-
-    /**
-     * Writes the XML represented by this source to the given SAX content and
-     * lexical handlers.
-     */
-    void save ( ContentHandler ch, LexicalHandler lh ) throws SAXException;
-    
-    /**
-     * Writes the XML represented by this source to the given File.
-     */
-    void save ( File file ) throws IOException;
-    
-    /**
-     * Writes the XML represented by this source to the given output stream.
-     */
-    void save ( OutputStream os ) throws IOException;
-
-    /**
-     * Writes the XML represented by this source to the given writer.
-     */
-    void save ( Writer w ) throws IOException;
-
-    /**
-     * <p>Just like newXMLInputStream() but with any of a number of options. Use the 
-     * <em>options</em> parameter to specify the following:</p>
-     * 
-     * <table>
-     * <tr><th>To specify this</th><th>Use this method</th></tr>
-     * <tr>
-     *  <td>The character encoding to use when converting the character
-     *  data in the XML to bytess.</td>
-     *  <td>{@link XmlOptions#setCharacterEncoding}</td>
-     * </tr>
-     * <tr>
-     *  <td>Prefix-to-namespace mappings that should be assumed
-     *  when saving this XML. This is useful when the resulting
-     *  XML will be part of a larger XML document, ensuring that this 
-     *  inner document will take advantage of namespaces defined in 
-     *  the outer document.</td>
-     *  <td>{@link XmlOptions#setSaveImplicitNamespaces}</td>
-     * </tr>
-     * <tr>
-     *  <td>Suggested namespace prefixes to use when saving. Used only
-     *  when a namespace attribute needs to be synthesized.</td>
-     *  <td>{@link XmlOptions#setSaveSuggestedPrefixes}</td>
-     * </tr>
-     * <tr>
-     *  <td>That namespace attributes should occur first in elements when
-     * the XML is saved. By default, they occur last.</td>
-     *  <td>{@link XmlOptions#setSaveNamespacesFirst}</td>
-     * </tr>
-     * <tr>
-     *  <td>The XML should be pretty printed when saved. Note that this 
-     *  should only be used for debugging.</td>
-     *  <td>{@link XmlOptions#setSavePrettyPrint}</td>
-     * </tr>
-     * <tr>
-     *  <td>The number of spaces to use when indenting for pretty printing. 
-     *  The default is 2.</td>
-     *  <td>{@link XmlOptions#setSavePrettyPrintIndent}</td>
-     * </tr>
-     * <tr>
-     *  <td>The additional number of spaces indented from the left
-     *  for pretty printed XML.</td>
-     *  <td>{@link XmlOptions#setSavePrettyPrintOffset}</td>
-     * </tr>
-     * <tr>
-     *  <td>To minimize the number of namespace attributes generated for the 
-     *  saved XML. Note that this can reduce performance significantly.</td>
-     *  <td>{@link XmlOptions#setSaveAggresiveNamespaces}</td>
-     * </tr>
-     * <tr>
-     *  <td>To reduce the size of the saved document
-     *  by allowing the use of the default namespace. Note that this can 
-     *  potentially change the semantic meaning of the XML if unprefixed QNames are 
-     *  present as the value of an attribute or element.</td>
-     *  <td>{@link XmlOptions#setUseDefaultNamespace}</td>
-     * </tr>
-     * <tr>
-     *  <td>To filter out processing instructions with the specified target name.</td>
-     *  <td>{@link XmlOptions#setSaveFilterProcinst}</td>
-     * </tr>
-     * <tr>
-     *  <td>Change the QName of the synthesized root element when saving. This 
-     *  replaces "xml-fragment" with "fragment" in the namespace 
-     *  http://www.openuri.org/fragment</td>
-     *  <td>{@link XmlOptions#setSaveUseOpenFrag}</td>
-     * </tr>
-     * <tr>
-     *  <td>Saving should begin on the element's contents.</td>
-     *  <td>{@link XmlOptions#setSaveInner}</td>
-     * </tr>
-     * <tr>
-     *  <td>Saving should begin on the element, rather than its contents.</td>
-     *  <td>{@link XmlOptions#setSaveOuter}</td>
-     * </tr>
-     * <tr>
-     *  <td>To rename the document element, or to specify the document element
-     *  for this XML.</td>
-     *  <td>{@link XmlOptions#setSaveSyntheticDocumentElement}</td>
-     * </tr>
-     * </table>
-     * 
-     * @see XmlOptions
-     * 
-     * @param options Any of the described options.
-     * @return A new validating XMLInputStream.
-     * @deprecated Superceded by JSR 173
-     */
-    XMLInputStream newXMLInputStream(XmlOptions options);
-
-    /**
-     * Just like xmlText() but with options.
-     * Options map may be null.
-     * @see XmlOptions
-     */
-    String xmlText(XmlOptions options);
-    
-    /**
-     *
-     * Just like newInputStream(String encoding) but with options.
-     * Options map may be null.
-     * @see XmlOptions
-     */
-    InputStream newInputStream(XmlOptions options);
-    
-    /**
-     * Just like newReader() but with options.
-     * Options map may be null.
-     * @see XmlOptions
-     */
-    Reader newReader(XmlOptions options);
-    
-    /**
-     * Just like newDomNode() but with options.
-     * Options map may be null.
-     * @see XmlOptions
-     */
-
-    Node newDomNode(XmlOptions options);
-    
-    /**
-     * Writes the XML represented by this source to the given SAX content and
-     * lexical handlers.
-     */
-    void save ( ContentHandler ch, LexicalHandler lh, XmlOptions options ) throws SAXException;
-    
-    /**
-     * Writes the XML represented by this source to the given File.
-     */
-    void save ( File file, XmlOptions options ) throws IOException;
-    
-    /**
-     * Writes the XML represented by this source to the given output stream.
-     */
-    void save ( OutputStream os, XmlOptions options ) throws IOException;
-
-    /**
-     * Writes the XML represented by this source to the given writer.
-     */
-    void save ( Writer w, XmlOptions options ) throws IOException;
-}
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedByte.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedByte.java
deleted file mode 100644
index 76bfde5..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedByte.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#unsignedByte">xs:unsignedByte</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * Verified to be in the range 0..255 when validating.
- * <p>
- * As suggested by JAXB, convertible to Java short.
- */ 
-public interface XmlUnsignedByte extends XmlUnsignedShort
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_unsignedByte");
-    
-    /** Returns this value as a short */
-    public short getShortValue();
-    /** Sets this value as a short */
-    public void setShortValue(short s);
-
-    /**
-     * Returns this value as a short
-     * @deprecated replaced with {@link #getShortValue}
-     **/
-    public short shortValue();
-    /**
-     * Sets this value as a short
-     * @deprecated replaced with {@link #setShortValue}
-     **/
-    public void set(short s);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlUnsignedByte}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlUnsignedByte} */
-        public static XmlUnsignedByte newInstance() {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlUnsignedByte} */
-        public static XmlUnsignedByte newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlUnsignedByte} value */
-        public static XmlUnsignedByte newValue(Object obj) {
-          return (XmlUnsignedByte) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from a String. For example: "<code>&lt;xml-fragment&gt;123&lt;/xml-fragment&gt;</code>". */
-        public static XmlUnsignedByte parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from a String. For example: "<code>&lt;xml-fragment&gt;123&lt;/xml-fragment&gt;</code>". */
-        public static XmlUnsignedByte parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from a File. */
-        public static XmlUnsignedByte parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from a File. */
-        public static XmlUnsignedByte parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from a URL. */
-        public static XmlUnsignedByte parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlUnsignedByte} fragment from a URL. */
-        public static XmlUnsignedByte parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlUnsignedByte} fragment from an InputStream. */
-        public static XmlUnsignedByte parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from an InputStream. */
-        public static XmlUnsignedByte parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from a Reader. */
-        public static XmlUnsignedByte parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from a Reader. */
-        public static XmlUnsignedByte parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from a DOM Node. */
-        public static XmlUnsignedByte parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from a DOM Node. */
-        public static XmlUnsignedByte parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlUnsignedByte parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedByte} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlUnsignedByte parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlUnsignedByte) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedInt.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedInt.java
deleted file mode 100644
index a5d393b..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedInt.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#unsignedInt">xs:unsignedInt</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * Verified to be in the range 0..4294967295 when validating.
- * <p>
- * Convertible to Java long.
- */ 
-public interface XmlUnsignedInt extends XmlUnsignedLong
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_unsignedInt");
-    
-    /** Returns this value as a long */
-    long getLongValue();
-    /** Sets this value as a long */
-    void setLongValue(long v);
-
-    /**
-     * Returns this value as a long
-     * @deprecated replaced with {@link #getLongValue}
-     **/
-    long longValue();
-    /**
-     * Sets this value as a long
-     * @deprecated replaced with {@link #setLongValue}
-     **/
-    void set(long v);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlUnsignedInt}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlUnsignedInt} */
-        public static XmlUnsignedInt newInstance() {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlUnsignedInt} */
-        public static XmlUnsignedInt newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlUnsignedInt} value */
-        public static XmlUnsignedInt newValue(Object obj) {
-          return (XmlUnsignedInt) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234567&lt;/xml-fragment&gt;</code>". */
-        public static XmlUnsignedInt parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from a String. For example: "<code>&lt;xml-fragment&gt;1234567&lt;/xml-fragment&gt;</code>". */
-        public static XmlUnsignedInt parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from a File. */
-        public static XmlUnsignedInt parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from a File. */
-        public static XmlUnsignedInt parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from a URL. */
-        public static XmlUnsignedInt parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlUnsignedInt} fragment from a URL. */
-        public static XmlUnsignedInt parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlUnsignedInt} fragment from an InputStream. */
-        public static XmlUnsignedInt parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from an InputStream. */
-        public static XmlUnsignedInt parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from a Reader. */
-        public static XmlUnsignedInt parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from a Reader. */
-        public static XmlUnsignedInt parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from a DOM Node. */
-        public static XmlUnsignedInt parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from a DOM Node. */
-        public static XmlUnsignedInt parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlUnsignedInt parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedInt} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlUnsignedInt parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlUnsignedInt) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedLong.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedLong.java
deleted file mode 100644
index 700af97..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedLong.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-import java.math.BigInteger;
-
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#unsignedLong">xs:unsignedLong</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * Verified to be in the range 0..2<super>64</super>-1 when validating.
- * <p>
- * Convertible to {@link BigInteger}.
- */ 
-public interface XmlUnsignedLong extends XmlNonNegativeInteger
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_unsignedLong");
-    
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlUnsignedLong}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlUnsignedLong} */
-        public static XmlUnsignedLong newInstance() {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlUnsignedLong} */
-        public static XmlUnsignedLong newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlUnsignedLong} value */
-        public static XmlUnsignedLong newValue(Object obj) {
-          return (XmlUnsignedLong) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from a String. For example: "<code>&lt;xml-fragment&gt;123456789&lt;/xml-fragment&gt;</code>". */
-        public static XmlUnsignedLong parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from a String. For example: "<code>&lt;xml-fragment&gt;123456789&lt;/xml-fragment&gt;</code>". */
-        public static XmlUnsignedLong parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from a File. */
-        public static XmlUnsignedLong parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from a File. */
-        public static XmlUnsignedLong parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from a URL. */
-        public static XmlUnsignedLong parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlUnsignedLong} fragment from a URL. */
-        public static XmlUnsignedLong parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlUnsignedLong} fragment from an InputStream. */
-        public static XmlUnsignedLong parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from an InputStream. */
-        public static XmlUnsignedLong parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from a Reader. */
-        public static XmlUnsignedLong parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from a Reader. */
-        public static XmlUnsignedLong parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from a DOM Node. */
-        public static XmlUnsignedLong parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from a DOM Node. */
-        public static XmlUnsignedLong parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlUnsignedLong parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedLong} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlUnsignedLong parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlUnsignedLong) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedShort.java b/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedShort.java
deleted file mode 100644
index 90d8c1e..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/XmlUnsignedShort.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans;
-
-/**
- * Corresponds to the XML Schema
- * <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#unsignedShort">xs:unsignedShort</a> type.
- * One of the derived types based on <a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#decimal">xs:decimal</a>.
- * <p>
- * Verified to be in the range 0..65535 when validating.
- * <p>
- * Convertible to a Java int.
- */ 
-public interface XmlUnsignedShort extends XmlUnsignedInt
-{
-    /** The constant {@link SchemaType} object representing this schema type. */
-    public static final SchemaType type = XmlBeans.getBuiltinTypeSystem().typeForHandle("_BI_unsignedShort");
-    
-    /** Returns this value as an int */
-    int getIntValue();
-    /** Sets this value as an int */
-    void setIntValue(int v);
-
-    /**
-     * Returns this value as an int
-     * @deprecated replaced with {@link #getIntValue}
-     **/
-    int intValue();
-    /**
-     * Sets this value as an int
-     * @deprecated replaced with {@link #setIntValue}
-     **/
-    void set(int v);
-
-    /**
-     * A class with methods for creating instances
-     * of {@link XmlUnsignedShort}.
-     */
-    public static final class Factory
-    {
-        /** Creates an empty instance of {@link XmlUnsignedShort} */
-        public static XmlUnsignedShort newInstance() {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().newInstance( type, null ); }
-        
-        /** Creates an empty instance of {@link XmlUnsignedShort} */
-        public static XmlUnsignedShort newInstance(org.apache.xmlbeans.XmlOptions options) {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().newInstance( type, options ); }
-        
-        /** Creates an immutable {@link XmlUnsignedShort} value */
-        public static XmlUnsignedShort newValue(Object obj) {
-          return (XmlUnsignedShort) type.newValue( obj ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from a String. For example: "<code>&lt;xml-fragment&gt;12345&lt;/xml-fragment&gt;</code>". */
-        public static XmlUnsignedShort parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( s, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from a String. For example: "<code>&lt;xml-fragment&gt;12345&lt;/xml-fragment&gt;</code>". */
-        public static XmlUnsignedShort parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( s, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from a File. */
-        public static XmlUnsignedShort parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( f, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from a File. */
-        public static XmlUnsignedShort parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( f, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from a URL. */
-        public static XmlUnsignedShort parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( u, type, null ); }
-
-        /** Parses a {@link XmlUnsignedShort} fragment from a URL. */
-        public static XmlUnsignedShort parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( u, type, options ); }
-
-        /** Parses a {@link XmlUnsignedShort} fragment from an InputStream. */
-        public static XmlUnsignedShort parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( is, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from an InputStream. */
-        public static XmlUnsignedShort parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( is, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from a Reader. */
-        public static XmlUnsignedShort parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( r, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from a Reader. */
-        public static XmlUnsignedShort parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( r, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from a DOM Node. */
-        public static XmlUnsignedShort parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( node, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from a DOM Node. */
-        public static XmlUnsignedShort parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( node, type, options ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlUnsignedShort parse(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
-        
-        /** Parses a {@link XmlUnsignedShort} fragment from an XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static XmlUnsignedShort parse(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return (XmlUnsignedShort) XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
-        
-        /** Returns a validating XMLInputStream.
-         * @deprecated Superceded by JSR 173 */
-        public static weblogic.xml.stream.XMLInputStream newValidatingXMLInputStream(weblogic.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, weblogic.xml.stream.XMLStreamException {
-          return XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
-        
-        private Factory() { } // No instance of this class allowed
-    }
-}
-
diff --git a/v1/src/xmlpublic/org/apache/xmlbeans/package.html b/v1/src/xmlpublic/org/apache/xmlbeans/package.html
deleted file mode 100644
index 7276a85..0000000
--- a/v1/src/xmlpublic/org/apache/xmlbeans/package.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-</head>
-<body bgcolor="white">
-
-Provides classes for XML Beans schema, infoset, xpath, and xquery handling.
-
-<p>
-The XML Beans API is designed to work with the XML Beans <em>schema compiler</em>.
-The schema compiler produces XML Bean classes that extend and interact
-with the basic XML Bean classes and interfaces in this package.  It is
-also possible to use XML Beans without the schema compiler to manipulate
-and validate XML in a late-bound way (with no types, or with
-runtime-loaded types only).
-
-<p>
-This package contains:
-<ol>
-<li>All the built-in XML Bean classes 
-such as {@link org.apache.xmlbeans.XmlObject}, {@link org.apache.xmlbeans.XmlAnySimpleType}, and
-{@link org.apache.xmlbeans.XmlInt}
-(one for each of the 
-<a target="_blank" href="http://www.w3.org/TR/xmlschema-2/#built-in-datatypes">46 built-in XML Schema types</a>).
-<li>Support for full XML infoset, XPath, and XQuery
-(via {@link org.apache.xmlbeans.XmlCursor}, {@link org.apache.xmlbeans.XmlObject#selectPath} and related methods).
-<li>Support for computation using XML Schema data types (via datatype
-classes such as {@link org.apache.xmlbeans.GDuration}).
-<li>Support for working with XML Schema type metadata itself
-(via {@link org.apache.xmlbeans.SchemaType}, {@link org.apache.xmlbeans.SchemaTypeSystem}, and related classes).
-</ol>
-
-<p>
-The place to begin when working with the XML Beans API is the following
-fundamental classes:
-
-<ol>
-<li>{@link org.apache.xmlbeans.XmlObject} is the base class for all XML Beans.
-<li>{@link org.apache.xmlbeans.XmlObject.Factory} is used to load and create XML Bean instances.
-Each XML Bean class has its own nested factory class.
-<li>{@link org.apache.xmlbeans.XmlCursor} is an efficient treewalking API for the full XML infoset.
-<li>{@link org.apache.xmlbeans.SchemaType} is the type metadata interface for XML Schema types
-<li>{@link org.apache.xmlbeans.XmlBeans} provides a collection of utility functions.
-</ol>
-
-</body>
-</html>
diff --git a/v1/src/xmlschema/schema/XML.xsd b/v1/src/xmlschema/schema/XML.xsd
deleted file mode 100644
index ff8add9..0000000
--- a/v1/src/xmlschema/schema/XML.xsd
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
-<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
-
- <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.
-  </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/2001/03/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.  In other words, if the XML Schema namespace changes, the version
-   of this document at
-   http://www.w3.org/2001/xml.xsd will change
-   accordingly; the version at
-   http://www.w3.org/2001/03/xml.xsd will not change.
-  </xs:documentation>
- </xs:annotation>
-
- <xs:attribute name="lang" type="xs:language">
-  <xs:annotation>
-   <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
-         codes as the enumerated possible values . . .</xs:documentation>
-  </xs:annotation>
- </xs:attribute>
-
- <xs:attribute name="space" default="preserve">
-  <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: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/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Cursor.java b/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Cursor.java
deleted file mode 100644
index 19ad33a..0000000
--- a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Cursor.java
+++ /dev/null
@@ -1,3370 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.store;
-
-import org.apache.xmlbeans.impl.common.XMLChar;
-import org.apache.xmlbeans.impl.common.GlobalLock;
-import org.apache.xmlbeans.impl.store.Root.ChangeListener;
-import org.apache.xmlbeans.impl.store.Saver.XmlInputStreamImpl;
-import org.apache.xmlbeans.impl.store.Splay.Annotation;
-import org.apache.xmlbeans.impl.store.Splay.Attr;
-import org.apache.xmlbeans.impl.store.Splay.Begin;
-import org.apache.xmlbeans.impl.store.Splay.Comment;
-import org.apache.xmlbeans.impl.store.Splay.CursorGoober;
-import org.apache.xmlbeans.impl.store.Splay.Goober;
-import org.apache.xmlbeans.impl.store.Splay.Procinst;
-import org.apache.xmlbeans.impl.store.Splay.Xmlns;
-import org.apache.xmlbeans.XmlCursor.ChangeStamp;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlDocumentProperties;
-import org.apache.xmlbeans.XmlRuntimeException;
-
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.File;
-import java.io.Writer;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-import javax.xml.namespace.QName;
-import org.w3c.dom.Node;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.SAXException;
-import weblogic.xml.stream.XMLInputStream;
-
-public final class Cursor implements XmlCursor, ChangeListener
-{
-    Cursor ( Root r, Splay s )        { assert s != null; _goober = new CursorGoober( r ); set( s ); }
-    Cursor ( Root r, Splay s, int p ) { assert s != null; _goober = new CursorGoober( r ); set( s, p ); }
-
-    protected void finalize ( )
-    {
-        Splay s = getSplay();
-        
-        if (s != null)
-        {
-            dispose();
-        }
-    }
-
-    //
-    //
-    //
-
-    public Object monitor()
-    {
-        return getRoot();
-    }
-
-    Root  getRoot ( ) { return _goober.getRoot(); }
-
-    Splay getSplay ( ) { return _goober.getSplay(); }
-    int   getPos   ( ) { return _goober.getPos(); }
-    
-    void set ( Splay s, int p ) { _goober.set( s, p ); }
-    void set ( Splay s        ) { _goober.set( s, 0 ); }
-    void set ( int p          ) { _goober.set( p ); }
-    void set ( Goober g       ) { _goober.set( g ); }
-
-    int getPostCch ( )
-    {
-        int p = getPos();
-
-        if (p == 0)
-            return 0;
-
-        Splay s = getSplay();
-        
-        int pa = s.getPosAfter();
-
-        assert p >= pa || s.isLeaf();
-        
-        return p >= pa ? s.getCchAfter() - p + pa : s.getPosLeafEnd() - p;
-    }
-    
-    int getPreCch ( )
-    {
-        // TODO - quick and dirty impl, improve
-
-        Splay sOrig = getSplay();
-        int   pOrig = getPos();
-
-        int n = toPrevChar( -1 );
-
-        set( sOrig, pOrig );
-
-        return n;
-    }
-    
-    private void checkDisposed ( )
-    {
-        checkDisposed( this );
-    }
-    
-    private static void checkDisposed ( Cursor c )
-    {
-        if (c.isDisposed())
-            throw new IllegalStateException( "Cursor has been disposed" );
-    }
-    
-    boolean isDisposed ( )
-    {
-        return getSplay() == null;
-    }
-
-    //
-    // XmlCursor Methods
-    //
-
-    public void dispose ( )
-    {
-        synchronized ( monitor() )
-        {
-            if (!isDisposed())
-            {
-                clearSelections();
-    
-                if (_stack != null)
-                    _stack.dispose();
-    
-                set( (Splay) null );
-            }
-        }
-    }
-
-    public XmlObject getObject ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            Root r = getRoot();
-            
-            if (getPos() > 0)
-                return null;
-    
-            Splay s = getSplay();
-    
-            if (!s.isTypeable())
-                return null;
-    
-            Type t = s.getType( r );
-    
-            assert t != null;
-    
-            XmlObject result = t.getXmlObject();
-            assert result != null;
-            return result;
-        }
-    }
-    
-    public boolean toCursor ( XmlCursor moveTo )
-    {
-        if (moveTo == null)
-            throw new IllegalArgumentException( "Invalid destination cursor" );
-
-        if (monitor() == moveTo.monitor())
-        {
-            synchronized ( monitor() )
-            {
-                return toCursorImpl( moveTo );
-            }
-        }
-        else
-        {
-            boolean acquired = false;
-            try
-            {
-                GlobalLock.acquire();
-                acquired = true;
-                synchronized ( monitor() )
-                {
-                    synchronized (moveTo.monitor())
-                    {
-                        GlobalLock.release();
-                        acquired = false;
-                        
-                        return toCursorImpl( moveTo );
-                    }
-                }
-            }
-            catch (InterruptedException e)
-            {
-                throw new XmlRuntimeException(e.getMessage(), e);
-            }
-            finally
-            {
-                if (acquired)
-                    GlobalLock.release();
-            }
-        }
-    }
-    
-    private boolean toCursorImpl ( XmlCursor moveTo )
-    {
-        checkDisposed();
-        
-        Cursor c = null;
-        
-        if (moveTo instanceof Cursor)
-        {
-            c = (Cursor) moveTo;
-
-            checkDisposed( c );
-            
-            if (c.getRoot() != getRoot())
-                c = null;
-        }
-        
-        if (c == null)
-            return false;
-
-        set( c._goober );
-
-        return true;
-    }
-    
-    public XmlDocumentProperties documentProperties ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            return getRoot().documentProperties();
-        }
-    }
-    
-    public XmlCursor newCursor ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            return new Cursor( getRoot(), getSplay(), getPos() );
-        }
-    }
-    
-    public boolean toBookmark ( XmlBookmark bm )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            if (bm == null)
-                return false;
-    
-            if (!(bm._currentMark instanceof Annotation))
-                return false;
-    
-            Annotation a = (Annotation) bm._currentMark;
-    
-            if (a.getRoot() != getRoot())
-                return false;
-    
-            assert a.getSplay() != null;
-    
-            set( a );
-    
-            return true;
-        }
-    }
-    
-    public XmlBookmark toNextBookmark ( Object key )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (key == null)
-                return null;
-    
-            Splay sOrig = getSplay();
-            int   pOrig = getPos();
-    
-            TokenType tt = currentTokenType();
-    
-            // Advance the cursor past the current spot by the minimun amount
-    
-            if (tt.isText())
-            {
-                toNextChar( 1 );
-                tt = currentTokenType();
-            }
-            else if ((tt = toNextToken()).isNone())
-            {
-                set( sOrig, pOrig );
-                return null;
-            }
-    
-            for ( ; ; )
-            {
-                XmlBookmark bm = getBookmark( key );
-    
-                if (bm != null)
-                    return bm;
-    
-                int postCch;
-    
-                if (tt.isText() && (postCch = getPostCch()) > 1)
-                {
-                    Splay s = getSplay();
-                    int   p = getPos();
-                    int   d = postCch;
-    
-                    for ( Goober g = s.firstGoober() ; g != null ;
-                          g = s.nextGoober( g ) )
-                    {
-                        int dist;
-                        XmlBookmark mark;
-    
-                        if (g.isAnnotation() && (dist = g.getPos() - p) > 1 &&
-                                dist < d && (mark = g.getBookmark()) != null &&
-                                    mark.getKey().equals( key ))
-                        {
-                            bm = mark;
-                            d = dist;
-                        }
-                    }
-    
-                    if (bm != null)
-                    {
-                        set( s, p + d );
-                        return bm;
-                    }
-                }
-                
-                if ((tt = toNextToken()).isNone())
-                {
-                    set( sOrig, pOrig );
-                    return null;
-                }
-            }
-        }
-    }
-
-    public XmlBookmark toPrevBookmark ( Object key )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (key == null)
-                return null;
-    
-            Splay sOrig = getSplay();
-            int   pOrig = getPos();
-    
-            TokenType tt = prevTokenType();
-    
-            // Retreat the cursor past the current spot by the minimun amount
-    
-            if (tt.isText())
-            {
-                toPrevChar( 1 );
-                tt = prevTokenType();
-            }
-            else if (toPrevToken().isNone())
-            {
-                set( sOrig, pOrig );
-                return null;
-            }
-            else
-                tt = prevTokenType();
-    
-            for ( ; ; )
-            {
-                XmlBookmark bm = getBookmark( key );
-    
-                if (bm != null)
-                    return bm;
-    
-                int preCch;
-    
-                if (tt.isText() && (preCch = getPreCch()) > 1)
-                {
-                    Splay s;
-                    int   p;
-    
-                    if (getPos() == 0)
-                    {
-                        s = getSplay().prevNonAttrSplay();
-                        p = s.getEndPos();
-                    }
-                    else
-                    {
-                        s = getSplay();
-                        p = getPos();
-                    }
-                    
-                    int d = preCch;
-    
-                    for ( Goober g = s.firstGoober() ; g != null ;
-                          g = s.nextGoober( g ) )
-                    {
-                        int dist;
-                        XmlBookmark mark;
-    
-                        if (g.isAnnotation() && (dist = p - g.getPos()) > 1 &&
-                                dist < d && (mark = g.getBookmark()) != null &&
-                                    mark.getKey().equals( key ))
-                        {
-                            bm = mark;
-                            d = dist;
-                        }
-                    }
-    
-                    if (bm != null)
-                    {
-                        set( s, p - d );
-                        return bm;
-                    }
-                }
-    
-                if (tt.isText())
-                {
-                    toPrevChar( -1 );
-                    tt = prevTokenType();
-                }
-                else if (toPrevToken().isNone())
-                {
-                    set( sOrig, pOrig );
-                    return null;
-                }
-                else
-                    tt = prevTokenType();
-            }
-        }
-    }
-    
-    public TokenType currentTokenType ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            return getSplay().getTokenType( getPos() );
-        }
-    }
-    
-    public boolean isStartdoc  ( ) { return currentTokenType().isStartdoc(); }
-    public boolean isEnddoc    ( ) { return currentTokenType().isEnddoc(); }
-    public boolean isStart     ( ) { return currentTokenType().isStart(); }
-    public boolean isEnd       ( ) { return currentTokenType().isEnd(); }
-    public boolean isText      ( ) { return currentTokenType().isText(); }
-    public boolean isAttr      ( ) { return currentTokenType().isAttr(); }
-    public boolean isNamespace ( ) { return currentTokenType().isNamespace(); }
-    public boolean isComment   ( ) { return currentTokenType().isComment(); }
-    public boolean isProcinst  ( ) { return currentTokenType().isProcinst(); }
-    public boolean isContainer ( ) { return currentTokenType().isContainer(); }
-    public boolean isFinish    ( ) { return currentTokenType().isFinish(); }
-    public boolean isAnyAttr   ( ) { return currentTokenType().isAnyAttr(); }
-    
-    public TokenType prevTokenType ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            // TODO - quick and dirty implementation, improve
-    
-            Splay sOrig = getSplay();
-            int   pOrig = getPos();
-    
-            TokenType tt;
-    
-            if (toPrevChar( 1 ) == 1)
-                tt = TokenType.TEXT;
-            else if (!(tt = toPrevToken()).isNone())
-                tt = currentTokenType();
-    
-            set( sOrig, pOrig );
-    
-            return tt;
-        }
-    }
-    
-    public TokenType toNextToken ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            Splay os = getSplay(); // Orignal splay
-            Splay s = os;
-            int   p = getPos();
-    
-            if (p == 0)
-            {
-                if (s.isRoot())
-                    return TokenType.NONE;
-    
-                //
-                // Look see if there is an attr we should visit before visiting
-                // any following content in this container.
-                //
-                
-                if (s.isContainer())
-                {
-                    Splay t = s.nextSplay();
-    
-                    if (t.isAttr())
-                    {
-                        set( t, 0 );
-                        return currentTokenType();
-                    }
-                        
-                    //
-                    // Now we're going into the content of this container.  Flush
-                    // out any cached type value.
-                    //
-    
-                    s.ensureContentValid();
-                }
-    
-                if (s.getMaxPos() > 0)
-                    p = 1;
-                else
-                {
-                    s = s.nextSplay();
-                    p = 0;
-                }
-            }
-            else
-            {
-                assert p > 0;
-                assert !s.isRoot();
-                
-                if (p >= s.getPosAfter() && s.getCchAfter() > 0)
-                {
-                    s = s.nextSplay();
-                    p = 0;
-                }
-                else
-                {
-                    assert s.isLeaf();
-                    assert p < s.getPosAfter();
-    
-                    if (p != s.getPosLeafEnd())
-                        p = s.getPosLeafEnd();
-                    else if (s.getCchAfter() > 0)
-                        p = s.getPosAfter();
-                    else
-                    {
-                        s = s.nextSplay();
-                        p = 0;
-                    }
-                }
-            }
-    
-            //
-            // If we are transitioning from an attr to a non attr, see if there
-            // is content in a DOC or BEGIN which needs to be visited after
-            // the attributes.
-            //
-            // Also, if we are transitioning from an attr container (BEGIN or
-            // DOC) to an attr, where the attr container has interior content,
-            // we have already visited the attrs and must skip them now.
-            //
-            // Also, if we are transitioning from pos 0 to pos 1 on an attr
-            // container, we need to visit any attributes before visiting the
-            // interior content of the attr container.
-            //
-    
-            if (p == 0)
-            {
-                if (!s.isAttr() && os.isAttr())
-                {
-                    Splay t = os.prevNonAttrSplay();
-    
-                    assert t.isContainer();
-    
-                    //
-                    // We're navigating to the content of a container.  Flush
-                    // out any cached type value.
-                    //
-                    
-                    t.ensureContentValid();
-    
-                    if (t.getMaxPos() > 0)
-                    {
-                        s = t;
-                        p = 1;
-                    }
-                }
-                else if (s.isAttr() && !os.isAttr() && os.getMaxPos() > 0)
-                {
-                    assert os.isContainer();
-    
-                    s = s.nextNonAttrSplay();
-                }
-            }
-    
-            set( s, p );
-    
-            return currentTokenType();
-        }
-    }
-
-    public TokenType toPrevToken ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-    // TODO - This code is not as compact as it can be, there is some redundancy
-    // -- rethink it later ...
-    
-            Splay s = getSplay();
-            int   p = getPos();
-    
-            if (p == 1 && s.isInvalid())
-            {
-                assert s.isLeaf();
-                p += s.ensureContentValid();
-            }
-    
-            if (p == 1 && s.isContainer())
-            {
-                Splay t = s.nextSplay();
-    
-                if (t.isAttr())
-                {
-                    s = t;
-                    
-                    for ( t = t.nextSplay() ; t.isAttr() ; t = t.nextSplay() )
-                        s = t;
-    
-                    set( s, 0 );
-                    
-                    return currentTokenType();
-                }
-            }
-    
-            if (p == 0 && !s.isAttr())
-            {
-                if (s.isDoc())
-                    return TokenType.NONE;
-    
-                Splay t = s.prevSplay();
-    
-                if (t.isAttr())
-                {
-                    t = t.prevNonAttrSplay();
-    
-                    assert t.isContainer();
-    
-                    if (t.isDoc())
-                        t.ensureContentValid();
-    
-                    if (t.getMaxPos() > 0)
-                    {
-                        set(
-                            t,
-                            t.getCchAfter() > 0 ? t.getPosAfter() : t.getMaxPos() );
-    
-                        return currentTokenType();
-                    }
-                }
-            }
-    
-            if (s.isAttr())
-            {
-                assert p == 0;
-    
-                Splay t = s.prevSplay();
-    
-                if (!t.isAttr())
-                {
-                    assert t.isContainer();
-    
-                    set( t, 0 );
-                    return currentTokenType();
-                }
-            }
-    
-            if (p == 0)
-            {
-                if (s.isDoc())
-                    return TokenType.NONE;
-    
-                s = s.prevSplay();
-    
-                if (s.isDoc())
-                    s.ensureContentValid();
-    
-                p = s.getCchAfter() > 0 ? s.getPosAfter() : s.getMaxPos();
-            }
-            else
-            {
-                assert p > 0;
-                assert !s.isRoot();
-    
-                int posAfter = s.getPosAfter();
-    
-                if (p >= posAfter)
-                {
-                    assert s.getCchAfter() > 0;
-                    p = posAfter - 1;
-                }
-                else
-                {
-                    assert s.isValid();
-                    assert s.isLeaf();
-                    
-                    p = p > 1 && p == posAfter - 1 ? 1 : 0;
-                }
-            }
-    
-            set( s, p );
-    
-            return currentTokenType();
-        }
-    }
-
-    public void insertChars ( String text )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            Splay s = getSplay();
-            int   p = getPos();
-            
-            if (p == 0)
-            {
-                if (s.isDoc() || s.isAttr())
-                    throw new IllegalStateException( "Invalid location for text" );
-    
-                s = s.prevNonAttrSplay();
-                p = s.getEndPos();
-            }
-    
-            if (text == null)
-                return;
-    
-            int cch = text.length();
-    
-            if (cch > 0)
-                s.insertChars( p, getRoot(), text, 0, cch );
-        }
-    }
-
-    private static void validateLocalName ( QName name )
-    {
-        if (name == null)
-            throw new IllegalArgumentException( "QName is null" );
-        
-        validateLocalName( name.getLocalPart() );
-    }
-
-    private static void validateLocalName ( String name )
-    {
-        if (name == null)
-            throw new IllegalArgumentException( "Name is null" );
-
-        if (name.length() == 0)
-            throw new IllegalArgumentException( "Name is empty" );
-
-        if (!XMLChar.isValidNCName( name ))
-            throw new IllegalArgumentException( "Name is not valid" );
-    }
-
-    private static void validatePrefix ( String name )
-    {
-        if (name == null)
-            throw new IllegalArgumentException( "Prefix is null" );
-
-        if (name.length() == 0)
-            throw new IllegalArgumentException( "Prefix is empty" );
-
-        if (Splay.beginsWithXml( name ))
-            throw new IllegalArgumentException( "Prefix begins with 'xml'" );
-
-        if (!XMLChar.isValidNCName( name ))
-            throw new IllegalArgumentException( "Prefix is not valid" );
-    }
-
-    private void insertAttribute ( QName name, String value )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            insert( new Attr( name ), value );
-        }
-    }
-
-    public void insertAttribute ( String name )
-    {
-        insertAttributeWithValue( name, null, null );
-    }
-
-    public void insertAttribute ( String name, String uri )
-    {
-        insertAttributeWithValue( name, uri, null );
-    }
-
-    public void insertAttributeWithValue ( String name, String value )
-    {
-        insertAttributeWithValue( name, null, value );
-    }
-
-    public void insertAttributeWithValue (
-        String name, String uri, String value )
-    {
-        validateLocalName( name );
-
-        insertAttribute( new QName( uri, name ), value );
-    }
-
-    public void insertAttribute ( QName name )
-    {
-        validateLocalName( name );
-
-        insertAttribute( name, null );
-    }
-
-    public void insertAttributeWithValue ( QName name, String value )
-    {
-        validateLocalName( name );
-
-        insertAttribute( name, value );
-    }
-
-    public void insertNamespace ( String prefix, String namespace )
-    {
-        synchronized ( monitor() )
-        {
-            if (prefix == null)
-                prefix = "";
-            else if (prefix.length() > 0)
-                validatePrefix( prefix );
-    
-            if (namespace == null)
-                namespace = "";
-    
-            if (namespace.length() == 0 && prefix.length() > 0)
-            {
-                throw
-                    new IllegalArgumentException(
-                        "Can't map a prefix to no namespace" );
-            }
-    
-            insert( new Xmlns( new QName( namespace, prefix ) ), null );
-        }
-    }
-
-    public void insertComment ( String value )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            insert( new Comment(), value );
-        }
-    }
-
-    public void insertProcInst ( String target, String value )
-    {
-        validatePrefix( target ); // used becuase "<?xml...?> is disallowed
-    
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            insert( new Procinst( target ), value );
-        }
-    }
-
-    public void insertElement ( String name )
-    {
-        insertElementWithText( name, null, null );
-    }
-
-    public void insertElementWithText ( String name, String text )
-    {
-        insertElementWithText( name, null, text );
-    }
-
-    public void insertElement ( String name, String uri )
-    {
-        insertElementWithText( name, uri, null );
-    }
-    
-    public void insertElement ( QName name )
-    {
-        insertElementWithText( name, null );
-    }
-    
-    public void beginElement ( QName name )
-    {
-        insertElement( name );
-        toPrevToken();
-    }
-    
-    public void beginElement ( String name )
-    {
-        insertElement( name );
-        toPrevToken();
-    }
-    
-    public void beginElement ( String name, String uri )
-    {
-        insertElement( name, uri );
-        toPrevToken();
-    }
-
-    public void insertElementWithText ( QName name, String text )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            validateLocalName( name.getLocalPart() );
-    
-            Begin b = new Begin( name, null );
-            
-            b.toggleIsLeaf();
-            
-            insert( b, text );
-        }
-    }
-    
-    public void insertElementWithText ( String name, String uri, String text )
-    {
-        insertElementWithText( new QName( uri, name ), text );
-    }
-
-    void insert ( Splay sInsert, String value )
-    {
-        assert !isDisposed();
-        assert Root.dv > 0 || sInsert.getRootSlow() == null;
-        assert sInsert.getCch() == 0;
-
-        if (value != null)
-            sInsert.adjustCch( value.length() );
-
-        Splay s = getSplay();
-        int   p = getPos();
-
-        sInsert.checkInsertionValidity( 0, s, p, false );
-
-        if (value != null)
-            s.insert( getRoot(), p, sInsert, value, 0, value.length(), true );
-        else
-            s.insert( getRoot(), p, sInsert, null, 0, 0, true );
-
-        assert validate();
-    }
-
-    public String getTextValue ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-    
-            if (getPos() > 0 || s.isFinish() || s.isXmlns())
-            {
-                throw new IllegalStateException(
-                    "Can't get text value, current token can have no text value" );
-            }
-    
-            return getSplay().getText( getRoot() );
-        }
-    }
-
-    public int getTextValue ( char[] buf, int off, int cch )
-    {
-//        synchronized ( monitor() )
-//        {
-//            checkDisposed();
-//    
-//            Splay s = getSplay();
-//    
-//            if (getPos() > 0 || s.isFinish() || s.isXmlns())
-//            {
-//                throw new IllegalStateException(
-//                    "Can't get text value, current token can have no text value" );
-//            }
-//    
-//            return getSplay().getText( getRoot() );
-//        }
-
-        // Hack impl for now
-        
-        String s = getTextValue();
-
-        int n = s.length();
-
-        if (n > cch)
-            n = cch;
-
-        if (n <= 0)
-            return 0;
-
-        s.getChars( 0, n, buf, off );
-
-        return n;
-    }
-    
-    public void setTextValue ( String text )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-            int   p = getPos();
-    
-            if (p > 0 || s.isXmlns() || s.isFinish())
-            {
-                throw new IllegalStateException(
-                    "Can't set text value, current token can have no text value" );
-            }
-    
-    
-            s.setText( getRoot(), text, 0, text == null ? 0 : text.length() );
-        }
-    }
-
-    public void setTextValue ( char[] buf, int off, int len )
-    {
-        setTextValue( String.copyValueOf( buf, off, len ) );
-    }
-    
-    public String getChars ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            int cch = -1;
-    
-            int postCch = getPostCch();
-    
-            if (cch < 0 || cch > postCch)
-                cch = postCch;
-    
-            return
-                getRoot()._text.fetch(
-                    getSplay().getCpForPos( getRoot(), getPos() ), cch );
-        }
-    }
-
-    public int getChars ( char[] buf, int off, int cch )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            int postCch = getPostCch();
-    
-            if (cch < 0 || cch > postCch)
-                cch = postCch;
-    
-            if (buf == null || off >= buf.length)
-                return 0;
-    
-            if (buf.length - off < cch)
-                cch = buf.length - off;
-    
-            getRoot()._text.fetch(
-                buf, off, getSplay().getCpForPos( getRoot(), getPos() ), cch );
-    
-            return cch;
-        }
-    }
-
-    public void setBookmark ( XmlBookmark annotation )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (annotation == null)
-                return;
-    
-            clearBookmark( annotation.getKey() );
-    
-            Annotation a = new Annotation( getRoot(), annotation );
-    
-            if (a._key == null)
-                throw new IllegalArgumentException( "Annotation key is null" );
-    
-            a.set( _goober );
-            annotation._currentMark = a;
-        }
-    }
-
-    public XmlBookmark getBookmark ( Object key )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (key == null)
-                return null;
-    
-            Splay s = getSplay();
-            int   p = getPos();
-    
-            for ( Goober g = s.firstGoober() ; g != null ; g = s.nextGoober( g ) )
-            {
-                if (g.getKind() == Splay.ANNOTATION && g.getPos() == p)
-                {
-                    Annotation a = (Annotation) g;
-    
-                    XmlBookmark xa = a.getXmlBookmark();
-    
-                    if (xa != null && a._key.equals( key ))
-                        return xa;
-                }
-            }
-    
-            return null;
-        }
-    }
-
-    public void clearBookmark ( Object key )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (key == null)
-                return;
-    
-            Splay s = getSplay();
-            int   p = getPos();
-    
-            for ( Goober g = s.firstGoober() ; g != null ; g = s.nextGoober( g ) )
-            {
-                if (g.getKind() == Splay.ANNOTATION && g.getPos() == p)
-                {
-                    Annotation a = (Annotation) g;
-    
-                    XmlBookmark xa = a.getXmlBookmark();
-    
-                    if (xa != null && a._key.equals( key ))
-                    {
-                        g.set( null, 0 );
-                        return;
-                    }
-                }
-            }
-        }
-    }
-
-    public void getAllBookmarkRefs ( Collection listToFill )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (listToFill == null)
-                return;
-    
-            Splay s = getSplay();
-            int   p = getPos();
-    
-            for ( Goober g = s.firstGoober() ; g != null ; g = s.nextGoober( g ) )
-            {
-                if (g.getKind() == Splay.ANNOTATION && g.getPos() == p)
-                    listToFill.add( ((Annotation) g).getXmlBookmark() );
-            }
-        }
-    }
-
-    public boolean hasNextToken ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            assert !getSplay().isRoot() || getPos() == 0;
-            return !getSplay().isRoot();
-        }
-    }
-
-    public boolean hasPrevToken ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-
-            return !getSplay().isDoc() || getPos() > 0;
-        }
-    }
-
-    public QName getName ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (getPos() > 0)
-                return null;
-    
-            Splay s = getSplay();
-    
-            switch ( s.getKind() )
-            {
-            case Splay.BEGIN :
-            case Splay.ATTR :
-            case Splay.PROCINST :
-                return s.getName();
-            }
-    
-            return null;
-        }
-    }
-
-    public void setName ( QName name )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (name == null)
-                throw new IllegalArgumentException( "Name is null" );
-            
-            Splay s = getSplay();
-            
-            if (getPos() > 0 || !(s.isBegin() || s.isAttr() || s.isProcinst()))
-            {
-                throw
-                    new IllegalStateException(
-                        "Can't set name here: " + currentTokenType() );
-            }
-    
-            if (s.isProcinst())
-            {
-                validatePrefix( name.getLocalPart() );
-    
-                if (name.getNamespaceURI().length() > 0)
-                {
-                    throw
-                        new IllegalArgumentException(
-                            "Procinst name must have no URI" );
-                }
-            }
-            else if (s.isXmlns())
-            {
-                if (name.getLocalPart().length() > 0)
-                    validatePrefix( name.getLocalPart() );
-            }
-            else
-                validateLocalName( name.getLocalPart() );
-    
-            s.setName( getRoot(), name );
-        }
-    }
-    
-    public int toNextChar ( int cch )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-            int   p = getPos();
-    
-            int maxCch = getPostCch();
-    
-            if (maxCch == 0 || cch == 0)
-                return 0;
-    
-            if (cch < 0 || cch > maxCch)
-                cch = maxCch;
-    
-            assert p + cch <= s.getEndPos();
-    
-            if (p + cch == s.getEndPos())
-                toNextToken();
-            else
-                set( p + cch );
-    
-            return cch;
-        }
-    }
-
-    public int toPrevChar ( int cch )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-            int   p = getPos();
-    
-            Splay sText = s;  // The splay and pos where the text exists
-            int   pText = p;
-            int   maxCch = 0; // Max chars to move over
-    
-            if (p == 0)
-            {
-                if (!s.isDoc() && !s.isAttr())
-                {
-                    sText = s.prevNonAttrSplay();
-                    pText = sText.getEndPos();
-                    maxCch = sText.getCchAfter();
-                }
-            }
-            else if (s.isLeaf() && p <= s.getPosLeafEnd())
-            {
-                int dCch = s.ensureContentValid();
-                p += dCch;
-                pText = p;
-                maxCch = p - 1;
-            }
-            else
-                maxCch = p - s.getPosAfter();
-    
-            assert pText <= sText.getEndPos();
-    
-            if (maxCch == 0 || cch == 0)
-                return 0;
-    
-            if (cch < 0 || cch > maxCch)
-                cch = maxCch;
-    
-            set( sText, pText - cch );
-    
-            return cch;
-        }
-    }
-
-    public void toEndDoc ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            set( getRoot(), 0 );
-        }
-    }
-
-    public void toStartDoc ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            set( getRoot()._doc, 0 );
-        }
-    }
-
-    public TokenType toFirstContentToken ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-    
-            if (getPos() > 0 || !s.isContainer())
-                return TokenType.NONE;
-    
-            s.ensureContentValid();
-    
-            if (s.getCch() > 0 || s.isLeaf())
-                set( 1 );
-            else
-                set( s.nextNonAttrSplay(), 0 );
-    
-            return currentTokenType();
-        }
-    }
-
-    public TokenType toEndToken ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-    
-            if (getPos() > 0 || !s.isContainer())
-                return TokenType.NONE;
-    
-            if (s.isLeaf())
-                set( s.getPosLeafEnd() );
-            else
-                set( s.getFinishSplay() );
-    
-            return currentTokenType();
-        }
-    }
-
-    public boolean toParent ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-            int   p = getPos();
-    
-            if (p == 0 && s.isDoc())
-                return false;
-    
-            set( s.getContainer( p ), 0 );
-    
-            return true;
-        }
-    }
-
-    public boolean toNextSibling ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-            int   p = getPos();
-    
-            if (p == 0)
-            {
-                if (s.isDoc())
-                    return false;
-    
-                if (s.isBegin())
-                    s = s.getFinishSplay().nextSplay();
-            }
-            else
-            {
-                if (s.isLeaf() && p <= s.getPosLeafEnd())
-                    return false;
-    
-                s = s.nextSplay();
-            }
-    
-            for ( ; !s.isBegin() ; s = s.nextSplay() )
-            {
-                if (s.isFinish())
-                    return false;
-            }
-    
-            set( s, 0 );
-    
-            return true;
-        }
-    }
-
-    public boolean toNextSibling ( String name )
-    {
-        return toNextSibling( new QName( name ) );
-    }
-
-    public boolean toNextSibling ( String namespace, String name )
-    {
-        return toNextSibling( new QName( namespace, name ) );
-    }
-
-    public boolean toNextSibling ( QName name )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            Splay sOriginal = getSplay();
-            int   pOriginal = getPos();
-            
-            for ( ; ; )
-            {
-                if (!toNextSibling())
-                    break;
-    
-                if (getName().equals( name ))
-                    return true;
-            }
-            
-            set( sOriginal, pOriginal );
-            
-            return false;
-        }
-    }
-    
-    public boolean toPrevSibling ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-            int   p = getPos();
-    
-            if (p == 0)
-            {
-                if (s.isDoc() || s.isAttr())
-                    return false;
-    
-                s = s.prevSplay();
-            }
-            else
-            {
-                assert p > 0;
-    
-                if (s.isContainer())
-                {
-                    if (s.isLeaf())
-                    {
-                        if (p <= s.getPosLeafEnd())
-                            return false;
-    
-                        set( 0 );
-    
-                        return true;
-                    }
-    
-                    return false;
-                }
-            }
-    
-            for ( ; ; )
-            {
-                if (s.isEnd())
-                {
-                    s = s.getContainer();
-                    break;
-                }
-    
-                if (s.isLeaf())
-                    break;
-    
-                if (s.isContainer())
-                    return false;
-    
-                s = s.prevSplay();
-            }
-    
-            set( s, 0 );
-    
-            return true;
-        }
-    }
-
-    private Splay getStart ( )
-    {
-        checkDisposed();
-
-        Splay s = getSplay();
-
-        if (!s.isContainer() || getPos() != 0)
-        {
-            push();
-
-            if (toNextSibling())
-                s = getSplay();
-            else
-                s = null;
-
-            pop();
-        }
-
-        return s;
-    }
-
-    public boolean toFirstChild ( )
-    {
-        return toChild( (QName) null );
-    }
-
-    public boolean toChild ( String name )
-    {
-        return toChild( new QName( name ) );
-    }
-
-    public boolean toChild ( String namespace, String name )
-    {
-        return toChild( new QName( namespace, name ) );
-    }
-
-    public boolean toChild ( QName name )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getRoot().findNthBegin( getStart(), name, null, 0 );
-    
-            if (s == null)
-                return false;
-    
-            set( s, 0 );
-    
-            return true;
-        }
-    }
-
-    public boolean toChild ( int n )
-    {
-        return toChild( null, n );
-    }
-
-    public boolean toChild ( QName name, int n )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getRoot().findNthBegin( getStart(), name, null, n );
-    
-            if (s == null)
-                return false;
-    
-            set( s, 0 );
-    
-            return true;
-        }
-    }
-
-    public boolean toLastChild ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay sOriginal = getSplay();
-            int   pOriginal = getPos();
-            
-            if (!sOriginal.isContainer() || pOriginal != 0)
-            {
-                if (!toNextSibling())
-                    return false;
-            }
-    
-            if (!toEndToken().isNone() && toPrevSibling())
-                return true;
-    
-            set( sOriginal, pOriginal );
-            
-            return false;
-        }
-    }
-
-    public boolean toFirstAttribute ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay sOriginal = getSplay();
-            int   pOriginal = getPos();
-            
-            if (!sOriginal.isContainer() || pOriginal != 0)
-                return false;
-    
-            for ( Splay s = sOriginal.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-            {
-                if (s.isNormalAttr())
-                {
-                    set( s, 0 );
-                    return true;
-                }
-            }
-    
-            set( sOriginal, pOriginal );
-            return false;
-        }
-    }
-
-    public boolean toLastAttribute ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay sOriginal = getSplay();
-            int   pOriginal = getPos();
-            
-            if (!sOriginal.isContainer() || pOriginal != 0)
-                return false;
-    
-            Splay lastNormalAttr = null;
-    
-            for ( Splay s = sOriginal.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-            {
-                if (s.isNormalAttr())
-                    lastNormalAttr = s;
-            }
-    
-            if (lastNormalAttr != null)
-            {
-                set( lastNormalAttr, 0 );
-                return true;
-            }
-    
-            set( sOriginal, pOriginal );
-            return false;
-        }
-    }
-
-    public boolean toNextAttribute ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-    
-            if (!s.isAttr())
-                return false;
-    
-            for ( s = s.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-            {
-                if (s.isNormalAttr())
-                {
-                    set( s, 0 );
-                    return true;
-                }
-            }
-    
-            return false;
-        }
-    }
-
-    public boolean toPrevAttribute ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-    
-            if (!s.isAttr())
-                return false;
-    
-            for ( s = s.prevSplay() ; s.isAttr() ; s = s.prevSplay() )
-            {
-                if (s.isNormalAttr())
-                {
-                    set( s, 0 );
-                    return true;
-                }
-            }
-    
-            return false;
-        }
-    }
-
-    public String getAttributeText ( QName attrName )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (attrName == null)
-                throw new IllegalArgumentException( "Attr name is null" );
-    
-            if (getPos() > 0)
-                return null;
-    
-            Splay s = getSplay().getAttr( attrName );
-    
-            return s == null ? null : s.getText( getRoot() );
-        }
-    }
-
-    public boolean setAttributeText ( QName attrName, String value )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (attrName == null)
-                throw new IllegalArgumentException( "Attr name is null" );
-    
-            validateLocalName( attrName.getLocalPart() );
-            
-            if (getPos() > 0)
-                return false;
-    
-            Splay s = getSplay();
-    
-            if (!s.isContainer())
-                return false;
-    
-            if (value == null)
-                value = "";
-    
-            s = getSplay().getAttr( attrName );
-    
-            if (s == null)
-            {
-                XmlCursor c = newCursor();
-    
-                try
-                {
-                    // Insert the new attr at the end
-                    
-                    do {
-                        c.toNextToken();
-                    } while ( c.isAnyAttr() );
-                    
-                    c.insertAttributeWithValue( attrName, value );
-                }
-                finally
-                {
-                    c.dispose();
-                }
-            }
-            else
-                s.setText( getRoot(), value, 0, value.length() );
-    
-            return true;
-        }
-    }
-
-    public boolean removeAttribute ( QName attrName )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (attrName == null)
-                throw new IllegalArgumentException( "Attr name is null" );
-    
-            if (getPos() > 0)
-                return false;
-    
-            boolean removed = false;
-            
-            for ( ; ; )
-            {
-                Splay s = getSplay().getAttr( attrName );
-    
-                if (s == null)
-                    break;
-                
-                s.remove( getRoot(), true );
-    
-                removed = true;
-            }
-    
-            return removed;
-        }
-    }
-
-    public int removeChars ( int cch )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            int postCch = getPostCch();
-    
-            if (postCch == 0 || cch == 0)
-                return 0;
-    
-            if (cch < 0 || cch > postCch)
-                cch = postCch;
-    
-            return getSplay().removeChars( getRoot(), getPos(), cch );
-        }
-    }
-    
-    public int moveChars ( int cch, XmlCursor dst )
-    {
-        if (dst == null)
-            throw new IllegalArgumentException( "Destination is null" );
-            
-        if (monitor() == dst.monitor())
-        {
-            synchronized ( monitor() )
-            {
-                return moveCharsImpl( cch, dst );
-            }
-        }
-        else
-        {
-            boolean acquired = false;
-            try
-            {
-                GlobalLock.acquire();
-                acquired = true;
-                synchronized ( monitor() )
-                {
-                    synchronized (dst.monitor())
-                    {
-                        GlobalLock.release();
-                        acquired = false;
-                        
-                        return moveCharsImpl( cch, dst );
-                    }
-                }
-            }
-            catch (InterruptedException e)
-            {
-                throw new XmlRuntimeException(e.getMessage(), e);
-            }
-            finally
-            {
-                if (acquired)
-                    GlobalLock.release();
-            }
-        }
-    }
-    
-    private int moveCharsImpl ( int cch, XmlCursor dst )
-    {
-        checkDisposed();
-
-        if (dst == null || !(dst instanceof Cursor))
-            throw new IllegalArgumentException( "Invalid destination cursor" );
-
-        Cursor cDst = (Cursor) dst;
-
-        checkDisposed( cDst );
-
-        Root  rDst = cDst.getRoot();
-        Splay sDst = cDst.getSplay();
-        int   pDst = cDst.getPos();
-
-        if (pDst == 0 && (sDst.isDoc() || sDst.isAttr()))
-            throw new IllegalArgumentException( "Invalid destination" );
-
-        return
-            getSplay().moveChars(
-                getRoot(), getPos(), cch, rDst, sDst, pDst, false );
-    }
-
-    public int copyChars ( int cch, XmlCursor dst )
-    {
-        if (dst == null)
-            throw new IllegalArgumentException( "Destination is null" );
-        
-        if (dst.monitor() == monitor())
-        {
-            synchronized ( monitor() )
-            {
-                return copyCharsImpl( cch, dst );
-            }
-        }
-        else
-        {
-            boolean acquired = false;
-            try
-            {
-                GlobalLock.acquire();
-                acquired = true;
-                synchronized ( monitor() )
-                {
-                    synchronized (dst.monitor())
-                    {
-                        GlobalLock.release();
-                        acquired = false;
-                        
-                        return copyCharsImpl( cch, dst );
-                    }
-                }
-            }
-            catch (InterruptedException e)
-            {
-                throw new XmlRuntimeException(e.getMessage(), e);
-            }
-            finally
-            {
-                if (acquired)
-                    GlobalLock.release();
-            }
-        }
-    }
-    
-    private int copyCharsImpl ( int cch, XmlCursor dst )
-    {
-        checkDisposed();
-
-        if (dst == null || !(dst instanceof Cursor))
-            throw new IllegalArgumentException( "Invalid destination cursor" );
-
-        Cursor cDst = (Cursor) dst;
-
-        checkDisposed( cDst );
-
-        Root  rDst = cDst.getRoot();
-        Splay sDst = cDst.getSplay();
-        int   pDst = cDst.getPos();
-
-        if (pDst == 0)
-        {
-            if (sDst.isDoc() || sDst.isAttr())
-                throw new IllegalArgumentException( "Invalid destination" );
-            
-            sDst = sDst.prevNonAttrSplay();
-            pDst = sDst.getEndPos();
-        }
-
-        return
-            getSplay().copyChars( getRoot(), getPos(), cch, rDst, sDst, pDst );
-    }
-
-    public String namespaceForPrefix ( String prefix )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-    
-            if (getPos() > 0 || !s.isContainer())
-                throw new IllegalStateException( "Not on a container" );
-    
-            return s.namespaceForPrefix( prefix );
-        }
-    }
-
-    public String prefixForNamespace ( String ns )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (ns == null || ns.length() == 0)
-                throw new IllegalArgumentException( "Must specify a namespace" );
-    
-            Splay s = getSplay();
-    
-            if (getPos() > 0 || !s.isContainer())
-                throw new IllegalStateException( "Not on a container" );
-    
-            String result = s.prefixForNamespace( getRoot(), ns, null, true);
-
-            assert result != null;
-
-            return result;
-        }
-    }
-
-    public void getAllNamespaces ( Map addToThis )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            Splay s = getSplay();
-    
-            if (getPos() > 0 || !s.isContainer())
-                throw new IllegalStateException( "Not on a container" );
-    
-            // Do this with cursor for now...
-            
-            XmlCursor c = newCursor();
-    
-            do
-            {
-                assert c.isContainer();
-    
-                QName cName = c.getName();
-                
-                while ( !c.toNextToken().isNone() && c.isAnyAttr() )
-                {
-                    if (c.isNamespace())
-                    {
-                        String prefix = c.getName().getLocalPart();
-                        String uri    = c.getName().getNamespaceURI();
-    
-                        // Here I check to see if there is a default namespace
-                        // mapping which is not empty on a non root container which
-                        // is in a namespace.  This this case, I do not want to add
-                        // this mapping because it could not be persisted out this
-                        // way.
-                        
-                        if (prefix.length() == 0 && uri.length() > 0 &&
-                                cName != null && cName.getNamespaceURI().length()>0)
-                        {
-                            continue;
-                        }
-    
-                        if (!addToThis.containsKey( prefix ))
-                            addToThis.put( prefix, uri );
-                    }
-                }
-    
-                c.toParent();
-            }
-            while ( c.toParent() );
-    
-            c.dispose();
-        }
-    }
-    
-    /**
-     * Returns:
-     *
-     *   -1 is this is left of that
-     *    0 is this is left is at same position as that
-     *    1 is this is right of that
-     */
-
-    public int comparePosition ( XmlCursor xthat )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            if (xthat == null || !(xthat instanceof Cursor))
-                throw new IllegalArgumentException( "Invalid that cursor" );
-    
-            Cursor that = (Cursor) xthat;
-            
-            Root r = getRoot();
-    
-            if (r != that.getRoot())
-                throw new IllegalArgumentException( "Cursors not in same document" );
-    
-            checkDisposed( that );
-    
-            return
-                getSplay().compare( r, getPos(), that.getSplay(), that.getPos() );
-        }
-    }
-    
-    public boolean isLeftOf ( XmlCursor that )
-    {
-        return comparePosition( that ) < 0;
-    }
-    
-    public boolean isAtSamePositionAs ( XmlCursor that )
-    {
-        return comparePosition( that ) == 0;
-    }
-    
-    public boolean isRightOf ( XmlCursor that )
-    {
-        return comparePosition( that ) > 0;
-    }
-
-    public InputStream newInputStream ( XmlOptions options )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            return
-                new Saver.InputStreamSaver(
-                    getRoot(), getSplay(), getPos(), options );
-        }
-    }
-    
-    public InputStream newInputStream ( )
-    {
-        return newInputStream( null );
-    }
-
-    public Reader newReader ( )
-    {
-        return newReader( null );
-    }
-    
-    public Reader newReader ( XmlOptions options )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            return new Saver.TextReader( getRoot(), getSplay(), getPos(), options );
-        }
-    }
-    
-    public XMLInputStream newXMLInputStream ( XmlOptions options )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            return
-                new XmlInputStreamImpl( getRoot(), getSplay(), getPos(), options );
-        }
-    }
-    
-    public XMLInputStream newXMLInputStream ( )
-    {
-        return newXMLInputStream( null );
-    }
-    
-    private static final XmlOptions _toStringOptions =
-        buildPrettyOptions();
-
-    static final XmlOptions buildPrettyOptions ( )
-    {
-        XmlOptions options = new XmlOptions();
-        options.put( XmlOptions.SAVE_PRETTY_PRINT );
-        options.put( XmlOptions.SAVE_AGGRESSIVE_NAMESPACES );
-        options.put( XmlOptions.SAVE_USE_DEFAULT_NAMESPACE );
-        return options;
-    }
-
-    public String toString (  )
-    {
-        return xmlText( _toStringOptions );
-    }
-    
-    public String xmlText (  )
-    {
-        return xmlText( null );
-    }
-    
-    public String xmlText ( XmlOptions options )
-    {
-        Saver.TextSaver saver;
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            saver = new Saver.TextSaver(
-                    getRoot(), getSplay(), getPos(), options, null );
-        }
-        return saver.saveToString();
-    }
-
-    static class ChangeStampImpl implements ChangeStamp
-    {
-        ChangeStampImpl ( Root r )
-        {
-            _root = r;
-            _versionStamp = _root.getVersion();
-        }
-
-        public boolean hasChanged ( )
-        {
-            return _versionStamp != _root.getVersion();
-        }
-
-        private final Root _root;
-        private final long _versionStamp;
-    }
-    
-    public ChangeStamp getDocChangeStamp ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-        
-            return new ChangeStampImpl( getRoot() );
-        }
-    }
-    
-    public boolean removeXml ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            Splay s = getSplay();
-            int   p = getPos();
-    
-            assert p < s.getEndPos();
-    
-            if (p > 0)
-            {
-                if (s.isLeaf() && p == s.getPosLeafEnd())
-                    return false;
-    
-                int cchRemove = removeChars( getPostCch() );
-    
-                assert cchRemove > 0;
-    
-                return true;
-            }
-            else if (s.isDoc())
-            {
-                throw
-                    new IllegalStateException(
-                        "Can't remove a whole document." );
-            }
-            else if (s.isFinish())
-                return false;
-    
-            s.remove( getRoot(), true );
-    
-            return true;
-        }
-    }
-    
-    public boolean moveXml ( XmlCursor dst )
-    {
-        if (dst == null)
-            throw new IllegalArgumentException( "Destination is null" );
-        
-        if (dst.monitor() == monitor())
-        {
-            synchronized ( monitor() )
-            {
-                return moveXmlImpl( dst );
-            }
-        }
-        else
-        {
-            boolean acquired = false;
-            try
-            {
-                GlobalLock.acquire();
-                acquired = true;
-                synchronized ( monitor() )
-                {
-                    synchronized (dst.monitor())
-                    {
-                        GlobalLock.release();
-                        acquired = false;
-                        
-                        return moveXmlImpl ( dst );
-                    }
-                }
-            }
-            catch (InterruptedException e)
-            {
-                throw new XmlRuntimeException(e.getMessage(), e);
-            }
-            finally
-            {
-                if (acquired)
-                    GlobalLock.release();
-            }
-        }
-    }
-    
-    private boolean moveXmlImpl  ( XmlCursor dst )
-    {
-        checkDisposed();
-                    
-        if (dst == null || !(dst instanceof Cursor))
-        {
-            throw
-                new IllegalArgumentException(
-                    "Can't move to a foreign document" );
-        }
-            
-        Cursor cDst = (Cursor) dst;
-                    
-        checkDisposed( cDst );
-                    
-        Root  rDst = cDst.getRoot();
-        Splay sDst = cDst.getSplay();
-        int   pDst = cDst.getPos();
-            
-        Root  rSrc = getRoot();
-        Splay sSrc = getSplay();
-        int   pSrc = getPos();
-            
-        if (sSrc.checkInsertionValidity( pSrc, sDst, pDst, true ))
-        {
-            return
-                sSrc.moveChars(
-                    rSrc, pSrc, getPostCch(), rDst, sDst, pDst, false ) > 0;
-        }
-                    
-        assert pSrc == 0;
-            
-        // Check for a movement of stuff into itself!  This case is basically
-        // a no-op
-            
-        if (rSrc == rDst && sDst.between( rDst, pDst, sSrc ))
-        {
-// TODO - I might have to orphan types in the range here ....
-            return false;
-        }
-            
-        assert pSrc == 0;
-            
-        sSrc.move( rSrc, cDst.getRoot(), cDst.getSplay(), cDst.getPos(), true );
-            
-        return true;
-    }
-    
-    public boolean copyXml ( XmlCursor dst )
-    {
-        if (dst == null)
-            throw new IllegalArgumentException( "Destination is null" );
-        
-        if (dst.monitor() == monitor())
-        {
-            synchronized ( monitor() )
-            {
-                return copyXmlImpl( dst );
-            }
-        }
-        else
-        {
-            boolean acquired = false;
-            try
-            {
-                GlobalLock.acquire();
-                acquired = true;
-                synchronized ( monitor() )
-                {
-                    synchronized (dst.monitor())
-                    {
-                        GlobalLock.release();
-                        acquired = false;
-                        
-                        return copyXmlImpl( dst );
-                    }
-                }
-            }
-            catch (InterruptedException e)
-            {
-                throw new XmlRuntimeException(e.getMessage(), e);
-            }
-            finally
-            {
-                if (acquired)
-                    GlobalLock.release();
-            }
-        }
-    }
-    
-    private boolean copyXmlImpl ( XmlCursor dst )
-    {
-        checkDisposed();
-                    
-        if (dst == null || !(dst instanceof Cursor))
-        {
-            throw
-                new IllegalArgumentException( "Can't copy to a foreign document" );
-        }
-            
-        Cursor cDst = (Cursor) dst;
-                    
-        checkDisposed( cDst );
-            
-        Splay sDst = cDst.getSplay();
-        int   pDst = cDst.getPos();
-                    
-        Splay s = getSplay();
-        int   p = getPos();
-            
-        if (s.checkInsertionValidity( p, sDst, pDst, true ))
-            return copyCharsImpl( getPostCch(), dst ) > 0;
-            
-        assert p == 0;
-            
-        // Need to make a splay copy before getting the text because the copy
-        // will validate invalid contents/values
-                    
-        Root r = getRoot();
-        Root rDst = cDst.getRoot();
-                    
-        Splay copy = s.copySplay();
-
-        Object txt = r._text;
-        int cp = r.getCp( s );
-        int cch = copy.getCchLeft() + copy.getCch();
-
-        //
-        // Remove text after which might be between leaf value and first attr value
-        //
-        
-        if (s.isLeaf() && s.getCchAfter() > 0)
-        {
-            int cchValue = s.getCchValue();
-            int cchAfter = s.getCchAfter();
-            
-            if (cchValue == 0)
-                cp += cchAfter;
-            else if (s.nextSplay().isAttr())
-            {
-                char[] buf = new char [ cch ];
-                r._text.fetch( buf, 0, cp, cchValue );
-                r._text.fetch( buf, cchValue, cp + cchValue + cchAfter, cch - cchValue );
-
-                txt = buf;
-                cp = 0;
-            }
-        }
-            
-        sDst.insert( rDst, pDst, copy, txt, cp, cch, true );
-            
-        return true;
-    }
-    
-    public boolean removeXmlContents ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            // TODO - should implement this with internals
-            
-            if (!isContainer())
-                return false;
-    
-            TokenType tt = toFirstContentToken();
-            assert !tt.isNone();
-    
-            boolean removed = !isFinish();
-            
-            try
-            {
-                while ( !isFinish() )
-                {
-                    boolean b = removeXml();
-                    assert b;
-                }
-            }
-            finally
-            {
-                toParent();
-            }
-    
-            return removed;
-        }
-    }
-
-    private boolean contains ( XmlCursor dst )
-    {
-        if (isInSameDocument( dst ))
-        {
-            dst.push();
-
-            for ( ; ; )
-            {
-                if (dst.isAtSamePositionAs( this ))
-                {
-                    dst.pop();
-                    return true;
-                }
-
-                if (!dst.toParent())
-                    break;
-            }
-
-            dst.pop();
-        }
-
-        return false;
-    }
-    
-    public boolean moveXmlContents ( XmlCursor dst )
-    {
-        if (dst == null)
-            throw new IllegalArgumentException( "Destination is null" );
-        
-        if (dst.monitor() == monitor())
-        {
-            synchronized ( monitor() )
-            {
-                return moveXmlContentsImpl( dst );
-            }
-        }
-        else
-        {
-            boolean acquired = false;
-            try
-            {
-                GlobalLock.acquire();
-                acquired = true;
-                synchronized ( monitor() )
-                {
-                    synchronized (dst.monitor())
-                    {
-                        GlobalLock.release();
-                        acquired = false;
-                        
-                        return moveXmlContentsImpl( dst );
-                    }
-                }
-            }
-            catch (InterruptedException e)
-            {
-                throw new XmlRuntimeException(e.getMessage(), e);
-            }
-            finally
-            {
-                if (acquired)
-                    GlobalLock.release();
-            }
-        }
-    }
-    
-    private boolean moveXmlContentsImpl ( XmlCursor dst )
-    {
-        checkDisposed();
-                    
-        if (!isContainer())
-            return false;
-            
-        // Check to see if dst is in src!  In this case, there is nothing to
-        // do.
-                    
-        if (contains( dst ))
-            return false;
-            
-        TokenType tt = toFirstContentToken();
-        assert !tt.isNone();
-                    
-        boolean moved = !isFinish();
-                    
-        try
-        {
-            if (!moveXmlImpl( dst ))
-                return false;
-                        
-            while ( !isFinish() )
-            {
-                boolean b = moveXmlImpl( dst );
-                assert b;
-            }
-        }
-        finally
-        {
-            toParent();
-        }
-            
-        return moved;
-    }
-
-    public boolean copyXmlContents ( XmlCursor dst )
-    {
-        if (dst == null)
-            throw new IllegalArgumentException( "Destination is null" );
-        
-        if (dst.monitor() == monitor())
-        {
-            synchronized ( monitor() )
-            {
-                return copyXmlContentsImpl( dst );
-            }
-        }
-        else
-        {
-            boolean acquired = false;
-            try
-            {
-                GlobalLock.acquire();
-                acquired = true;
-                synchronized ( monitor() )
-                {
-                    synchronized (dst.monitor())
-                    {
-                        GlobalLock.release();
-                        acquired = false;
-                        
-                        return copyXmlContentsImpl( dst );
-                    }
-                }
-            }
-            catch (InterruptedException e)
-            {
-                throw new XmlRuntimeException(e.getMessage(), e);
-            }
-            finally
-            {
-                if (acquired)
-                    GlobalLock.release();
-            }
-        }
-    }
-    
-    private boolean copyXmlContentsImpl ( XmlCursor dst )
-    {
-        checkDisposed();
-                    
-        if (!isContainer())
-            return false;
-            
-        // Check to see if dst is in src!  In this case, copy the src to a new
-        // document and then move the copied contents to the destination.
-            
-        if (contains( dst ))
-        {
-            XmlCursor cTmp = XmlObject.Factory.newInstance().newCursor();
-            
-            cTmp.toNextToken();
-            
-            if (!copyXmlContentsImpl( cTmp ))
-            {
-                cTmp.dispose();
-                return false;
-            }
-            
-            cTmp.toStartDoc();
-            ((Cursor)cTmp).moveXmlContentsImpl( dst );
-            cTmp.dispose();
-            return true;
-        }
-            
-        TokenType tt = toFirstContentToken();
-        assert !tt.isNone();
-                    
-        boolean copied = !isFinish();
-                    
-        try
-        {
-            if (!copyXmlImpl( dst ))
-                return false;
-            
-            for ( ; ; )
-            {
-                if (isStart())
-                    toEndToken();
-                            
-                toNextToken();
-                            
-                if (isFinish())
-                    break;
-            
-                boolean b = copyXmlImpl( dst );
-                assert b;
-            }
-        }
-        finally
-        {
-            toParent();
-        }
-            
-        return copied;
-    }
-
-    public boolean isInSameDocument ( XmlCursor xthat )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (xthat == null || !(xthat instanceof Cursor))
-                return false;
-    
-            Cursor that = (Cursor) xthat;
-    
-            checkDisposed( that );
-            
-            return getRoot() == that.getRoot();
-        }
-    }
-
-    public void push ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            if (_stack == null)
-                _stack = new Selections();
-    
-            _stack.add( getRoot(), getSplay(), getPos() );
-    
-            getRoot().registerForChange( this );
-        }
-    }
-
-    public boolean pop ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            if (_stack == null || _stack.size() == 0)
-                return false;
-    
-            _stack.setCursor( this, _stack.size() - 1 );
-    
-            _stack.pop();
-    
-            return true;
-        }
-    }
-    
-    public int getSelectionCount ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            return _selections == null ? 0 : _selections.size();
-        }
-    }
-    
-    public boolean toSelection ( int i )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (_selections != null && i >= 0 && _selections.setCursor( this, i ))
-            {
-                _currentSelection = i;
-                return true;
-            }
-    
-            return false;
-        }
-    }
-    
-    public boolean hasNextSelection ( )
-    {
-        synchronized ( monitor() )
-        {
-            push();
-            int currentSelection = _currentSelection;
-    
-            try
-            {
-                return toNextSelection();
-            }
-            finally
-            {
-                pop();
-                _currentSelection = currentSelection;
-            }
-        }
-    }
-    
-    public boolean toNextSelection ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (_selections == null || _currentSelection < -1)
-                return false;
-    
-            int nextSelection = _currentSelection + 1;
-    
-            if (!_selections.setCursor( this, nextSelection ))
-            {
-                _currentSelection = -2;
-                return false;
-            }
-    
-            _currentSelection = nextSelection;
-    
-            return true;
-        }
-    }
-
-    public void clearSelections (  )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            if (_selections != null)
-                _selections.dispose();
-            
-            _currentSelection = -2;
-        }
-    }
-
-    public void addToSelection ( )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            if (_selections == null)
-                _selections = Path.newSelections();
-    
-            // Force any selection engine to search all...
-            _selections.size();
-    
-            _selections.add( getRoot(), getSplay(), getPos() );
-    
-            getRoot().registerForChange( this );
-        }
-    }
-    
-    public void changeNotification ( )
-    {
-        if (_selections != null)
-        {
-            _selections.size();  // Force a full selection
-            _selections.cursify( getRoot() );
-        }
-
-        if (_stack != null)
-            _stack.cursify( getRoot() );
-    }
-    
-    public void selectPath ( String path, XmlOptions options )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            if (_selections == null)
-                _selections = Path.newSelections();
-            else
-                _selections.dispose();
-    
-            _selections.init( 
-                Path.select( getRoot(), getSplay(), getPos(), path, options ) );
-    
-            push();
-    
-            if (_selections.setCursor( this, 0 ))
-            {
-                getRoot().registerForChange( this );
-                _currentSelection = -1;
-            }
-            else
-                _currentSelection = -2;
-    
-            pop();
-        }
-    }
-    
-    public void selectPath ( String path )
-    {
-        selectPath( path, null );
-    }
-    
-    public XmlCursor execQuery ( String queryExpr, XmlOptions options )
-    {
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-    
-            return Path.query( this, queryExpr, options );
-        }
-    }
-    
-    public XmlCursor execQuery ( String query )
-    {
-        return execQuery( query, null );
-    }
-
-    public Node newDomNode ( )
-    {
-        return newDomNode( null );
-    }
-    
-    public Node newDomNode ( XmlOptions options )
-    {
-        try
-        {
-            Saver.DomSaver saver;
-            
-            synchronized ( monitor() )
-            {
-                checkDisposed();
-                
-                saver = new Saver.DomSaver(
-                    getRoot(), getSplay(), getPos(), !isFragment(), options );
-            }
-            
-            return saver.exportDom();
-        }
-        catch ( Exception e )
-        {
-            if (e instanceof RuntimeException)
-                throw (RuntimeException) e;
-            
-            throw new RuntimeException( e.getMessage(), e );
-        }
-    }
-    
-    private boolean isFragment()
-    {
-        if (! isStartdoc())
-            return true;
-
-        boolean seenElement = false;
-
-        XmlCursor c = newCursor();
-        int token = c.toNextToken().intValue();
-
-        try {
-
-            LOOP:
-            while (true)
-            {
-                SWITCH:
-                switch (token)
-                {
-                    case TokenType.INT_START:
-                        if (seenElement) return true;
-                        seenElement = true;
-                        token = c.toEndToken().intValue();
-                        break SWITCH;
-
-                    case TokenType.INT_TEXT:
-                        if (! Splay.isWhiteSpace(c.getChars()))
-                            return true;
-                        token = c.toNextToken().intValue();
-                        break SWITCH;
-
-
-                    case TokenType.INT_NONE:
-                    case TokenType.INT_ENDDOC:
-                        break LOOP;
-
-
-                    case TokenType.INT_ATTR:
-                    case TokenType.INT_NAMESPACE:
-                        return true;
-
-                    case TokenType.INT_END:
-                    case TokenType.INT_COMMENT:
-                    case TokenType.INT_PROCINST:
-                        token = c.toNextToken().intValue();
-                        break SWITCH;
-
-                    case TokenType.INT_STARTDOC:
-                        assert false;
-                        break LOOP;
-
-                }
-
-            }
-        }
-
-        finally {
-            c.dispose();
-        }
-
-        return ! seenElement;
-
-    }
-
-    public void save ( ContentHandler ch, LexicalHandler lh )
-        throws SAXException
-    {
-        save( ch, lh, null );
-    }
-    
-    public void save ( File file ) throws IOException
-    {
-        save( file, null );
-    }
-    
-    public void save ( OutputStream os ) throws IOException
-    {
-        save( os, null );
-    }
-
-    public void save ( Writer w ) throws IOException
-    {
-        save( w, null );
-    }
-
-    public void save ( ContentHandler ch, LexicalHandler lh, XmlOptions options)
-        throws SAXException
-    {
-        // todo: don't hold the monitor all this long.
-        // Ideally, we'd release the monitor each time we're about to call the
-        // ch or lh objects.  However, the saver code isn't _quite_ structure
-        // just right to do that.  So instead, the current version will hold
-        // the monitor for the duration of the entire SAX save.
-        synchronized ( monitor() )
-        {
-            checkDisposed();
-            
-            new Saver.SaxSaver( getRoot(), getSplay(), getPos(), options, ch, lh );
-        }
-    }
-    
-    public void save ( File file, XmlOptions options ) throws IOException
-    {
-        OutputStream os = new FileOutputStream( file );
-
-        try
-        {
-            save( os, options );
-        }
-        finally
-        {
-            os.close();
-        }
-    }
-    
-    public void save ( OutputStream os, XmlOptions options ) throws IOException
-    {
-        // note that we do not hold the monitor for the duration of a save.
-        // Instead, a concurrent modification exception is thrown if the
-        // document is modified while the save is in progress. If the user
-        // wishes to protect against this, he can synchronize on the monitor
-        // himself.
-        InputStream is = newInputStream( options );
-
-        try
-        {
-            byte[] bytes = new byte[ 8192 ];
-
-            for ( ; ; )
-            {
-                int n = is.read( bytes );
-
-                if (n < 0)
-                    break;
-
-                os.write( bytes, 0, n );
-            }
-        }
-        finally
-        {
-            is.close();
-        }
-    }
-    
-    public void save ( Writer w, XmlOptions options ) throws IOException
-    {
-        Reader r = newReader( options );
-
-        try
-        {
-            char[] chars = new char[ 8192 ];
-
-            for ( ; ; )
-            {
-                int n = r.read( chars );
-
-                if (n < 0)
-                    break;
-
-                w.write( chars, 0, n );
-            }
-        }
-        finally
-        {
-            r.close();
-        }
-    }
-
-    //
-    //
-    //
-    
-    private boolean validate ( )
-    {
-        assert _goober.getRoot().validate();
-        return true;
-    }
-
-    public void dump ( ) { _goober.getRoot().dump(); }
-    public void dump ( boolean verbose ) { _goober.getRoot().dump( verbose ); }
-
-    interface PathEngine
-    {
-        boolean next ( Selections selections );
-    }
-
-    static class Selections
-    {
-        void init ( PathEngine pathEngine )
-        {
-            dispose();
-            
-            _pathEngine = pathEngine;
-        }
-        
-        void add ( Root r, Splay s )
-        {
-            add( r, s, 0 );
-        }
-        
-        void add ( Root r, Splay s, int p )
-        {
-            assert s.getRootSlow() == r;
-            
-            if (_cursors != null)
-            {
-                CursorGoober g = new CursorGoober( r );
-
-                g.set( s, p );
-                
-                _cursors.add( g );
-
-                return;
-            }
-            
-            if (_splays == null)
-            {
-                assert _count == 0;
-                _splays = new Splay [ 16 ];
-                _positions = new int [ 16 ];
-            }
-            else if (_count == _splays.length)
-            {
-                Splay[] newSplays = new Splay [ _count * 2 ];
-                int[]   newPositions = new int [ _count * 2 ];
-                
-                System.arraycopy( _splays, 0, newSplays, 0, _count );
-                System.arraycopy( _positions, 0, newPositions, 0, _count );
-                
-                _splays = newSplays;
-                _positions = newPositions;
-            }
-
-            _splays[ _count ] = s;
-            _positions[ _count ] = p;
-
-            _count++;
-        }
-
-        void pop ( )
-        {
-            assert size() > 0;
-
-            if (_cursors != null)
-            {
-                int i = _cursors.size() - 1;
-                ((CursorGoober) _cursors.get( i )).set( null, 0 );
-                _cursors.remove( i );
-            }
-            else
-                _count--;
-        }
-
-        void cursify ( Root r )
-        {
-            if (_cursors != null || _count <= 0)
-                return;
-
-            _cursors = new ArrayList();
-            
-            for ( int i = 0 ; i < _count ; i++ )
-            {
-                CursorGoober g = new CursorGoober( r );
-
-                g.set( _splays[ i ], _positions[ i ] );
-                
-                _cursors.add( g );
-            }
-
-            _count = 0;
-        }
-
-        int size ( )
-        {
-            if (_pathEngine != null)
-            {
-                while ( _pathEngine.next( this ) )
-                    ;
-
-                _pathEngine = null;
-            }
-
-            return currentSize();
-        }
-
-        int currentSize ( )
-        {
-            return _cursors != null ? _cursors.size() : _count;
-        }
-
-        boolean setCursor ( Cursor c, int i )
-        {
-            assert i >= 0;
-
-            while ( _pathEngine != null && currentSize() <= i )
-            {
-                if (!_pathEngine.next( this ))
-                    _pathEngine = null;
-            }
-
-            if (i >= currentSize())
-                return false;
-            
-            if (_cursors != null)
-            {
-                assert i < _cursors.size();
-                c.set( (CursorGoober) _cursors.get( i ) );
-            }
-            else
-            {
-                assert i < _count;
-                c.set( _splays[ i ], _positions[ i ] );
-            }
-
-            return true;
-        }
-
-        void dispose ( )
-        {
-            if (_cursors != null)
-            {
-                for ( int i = 0 ; i < _cursors.size() ; i++ )
-                    ((CursorGoober) _cursors.get( i )).set( null, 0 );
-                
-                _cursors.clear();
-                
-                _cursors = null;
-            }
-            
-            _count = 0;
-                
-            // TODO - cache unused Seleciton objects for later reuse
-        }
-
-        private Splay[] _splays;
-        private int[]   _positions;
-        private int     _count;
-
-        private ArrayList _cursors;
-
-        private PathEngine _pathEngine;
-    }
-    
-    //
-    //
-    //
-
-    final CursorGoober _goober;
-
-    private Selections _stack;
-    
-    private Selections _selections;
-    private int        _currentSelection;
-}
diff --git a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Goobers.java b/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Goobers.java
deleted file mode 100644
index d4e3f3c..0000000
--- a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Goobers.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.store;
-
-import org.apache.xmlbeans.impl.store.Splay.Goober;
-
-public class Goobers
-{
-    Goober _goobers;
-}
diff --git a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Path.java b/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Path.java
deleted file mode 100644
index ca5279b..0000000
--- a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Path.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.store;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import org.apache.xmlbeans.impl.store.Splay.CursorGoober;
-import org.apache.xmlbeans.impl.store.Cursor.Selections;
-import org.apache.xmlbeans.impl.store.Cursor.PathEngine;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.impl.common.XPath;
-import org.apache.xmlbeans.impl.values.TypeStore;
-
-/**
- * Represents a precompiled path expression
- */
-
-public abstract class Path
-{
-    static Selections newSelections ( )
-    {
-        return new Selections();
-    }
-
-    static PathEngine select (
-        Root r, Splay s, int p, String pathExpr, XmlOptions options )
-    {
-        Path path = getPath( pathExpr, options );
-        return (path == null) ? null : path.execute( r, s, p, options );
-    }
-
-    public static String _useXqrlForXpath = "use xqrl for xpath";
-
-    public static String _useXbeanForXpath = "use xbean for xpath";
-
-    public static Path getPath ( String pathExpr )
-    {
-        return getPath( pathExpr, false, null );
-    }
-    
-    public static Path getPath ( String pathExpr, XmlOptions options )
-    {
-        return
-            getPath(
-                pathExpr,
-                XmlOptions.maskNull( options ).hasOption( _useXqrlForXpath ),
-                options );
-    }
-
-    public static Path getPath ( String pathExpr, boolean xqrl, XmlOptions options )
-    {
-        Object path = null;
-        
-        synchronized ( _xbeanPathCache )
-        {
-            if (!xqrl)
-                path = _xbeanPathCache.get( pathExpr );
-
-            if (path == null)
-                path = _xqrlPathCache.get( pathExpr );
-
-            if (path == null)
-            {
-                String pathStr = getCompiledPath( pathExpr, xqrl, options );
-                
-                path =
-                    (pathStr == null)
-                        ? null
-                        : getPath( pathExpr, xqrl, options );
-            }
-        }
-
-        return (Path) path;
-    }
-    
-    public static String getCompiledPath ( String pathExpr, XmlOptions options )
-    {
-        return getCompiledPath( pathExpr, false, options );
-    }
-
-    private static String getCurrentNodeVar ( XmlOptions options )
-    {
-        String currentNodeVar = "this";
-
-        options = XmlOptions.maskNull( options );
-        
-        if (options.hasOption( XmlOptions.XQUERY_CURRENT_NODE_VAR ))
-        {
-            currentNodeVar = (String) options.get( XmlOptions.XQUERY_CURRENT_NODE_VAR );
-
-            if (currentNodeVar.startsWith( "$" ))
-            {
-                throw
-                    new IllegalArgumentException(
-                        "Omit the '$' prefix for the current node variable" );
-            }
-        }
-
-        return currentNodeVar;
-    }
-    
-    public static String getCompiledPath ( String pathExpr, boolean xqrl, XmlOptions options )
-    {
-        Path path = null;
-        
-        options = XmlOptions.maskNull( options );
-        
-        String currentNodeVar = getCurrentNodeVar( options );
-
-        synchronized ( _xbeanPathCache )
-        {
-            assert (xqrl |= options.hasOption( _useXqrlForXpath )) || true;
-
-            if (!xqrl || options.hasOption( _useXbeanForXpath ))
-            {
-                path = (Path) _xbeanPathCache.get( pathExpr );
-
-                if (path == null)
-                {
-                    path = XbeanPathImpl.create( pathExpr, currentNodeVar );
-
-                    if (path != null)
-                        _xbeanPathCache.put( path.getPathExpr(), path );
-                }
-            }
-
-            if (path == null)
-            {
-                assert ! options.hasOption( _useXbeanForXpath );
-
-                path = (Path) _xqrlPathCache.get( pathExpr );
-
-                if (path == null)
-                {
-                    path = XqrlPathImpl.create( pathExpr, currentNodeVar );
-
-                    if (path != null)
-                        _xqrlPathCache.put( path.getPathExpr(), path );
-                }
-            }
-        }
-
-        return path == null ? null : path.getPathExpr();
-    }
-
-    public interface Query
-    {
-        PathEngine  executePath  ( Root r, Splay s, int p, XmlOptions options );
-        XmlCursor   executeQuery ( Cursor c, XmlOptions options );
-        XmlObject[] executeQuery ( Type type, XmlOptions options );
-        String      getQueryExpr ( );
-    }
-
-//    public static Query getQuery ( String queryExpr )
-//    {
-//        return getQuery( queryExpr, null );
-//    }
-    
-    public static Query getQuery ( String queryExpr, XmlOptions options )
-    {
-        Object query = null;
-        
-        synchronized ( _xqrlQueryCache )
-        {
-            query = _xqrlQueryCache.get( queryExpr );
-
-            if (query == null)
-            {
-                String queryStr = getCompiledQuery( queryExpr, options );
-                
-                query =
-                    (queryStr == null) ? null : getQuery( queryExpr, options );
-            }
-        }
-
-        return (Query) query;
-    }
-    
-    public static String getCompiledQuery ( String queryExpr, XmlOptions options )
-    {
-        Query query = null;
-        String currentNodeVar = getCurrentNodeVar( options );
-        
-        synchronized ( _xqrlQueryCache )
-        {
-            query = (Query) _xqrlQueryCache.get( queryExpr );
-
-            if (query == null)
-            {
-                query = XqrlDelegate.compileQuery( queryExpr, currentNodeVar );
-
-                if (query != null)
-                    _xqrlQueryCache.put( query.getQueryExpr(), query );
-            }
-        }
-
-        return query == null ? null : query.getQueryExpr();
-    }
-
-    public static XmlCursor query (
-        Cursor c, String queryExpr, XmlOptions options )
-    {
-        Query query = getQuery( queryExpr, options );
-        return (query == null) ? null : query.executeQuery( c, options );
-    }
-
-    public static XmlObject[] query (
-        Type type, String queryExpr, XmlOptions options )
-    {
-        Query query = getQuery( queryExpr, options );
-        return (query == null) ? null : query.executeQuery( type, options );
-    }
-
-    protected abstract PathEngine execute (
-        Root r, Splay s, int p, XmlOptions options );
-
-    protected abstract String getPathExpr ( );
-
-    private static class XqrlPathImpl extends Path
-    {
-        private XqrlPathImpl ( String pathExpr, Query compiledPath )
-        {
-            _pathExpr = pathExpr;
-            _compiledPath = compiledPath;
-        }
-
-        private String _pathExpr;
-        private Query  _compiledPath;
-
-        static Path create ( String pathExpr, String currentNodeVar )
-        {
-            return new XqrlPathImpl(
-                pathExpr,
-                XqrlDelegate.compilePath( pathExpr, currentNodeVar ) );
-        }
-
-        protected PathEngine execute (
-            Root r, Splay s, int p, XmlOptions options )
-        {
-            return _compiledPath.executePath( r, s, p, options );
-        }
-        
-        protected String getPathExpr ( ) { return _pathExpr; }
-    }
-
-    //
-    //
-    //
-
-    private static final class XbeanPathImpl extends Path
-    {
-        private XbeanPathImpl (
-            XPath xpath, String pathExpr, String currentNodeVar )
-        {
-            _pathExpr = pathExpr;
-            _xpath = xpath;
-            _currentNodeVar = currentNodeVar;
-        }
-
-//            try
-//            {
-//                String currentNodeVar = "this";
-//                
-//                if (XmlOptions.XQUERY_CURRENT_NODE_VAR.has( options ))
-//                {
-//                    currentNodeVar =
-//                        "$" + XmlOptions.XQUERY_CURRENT_NODE_VAR.get( options );
-//
-//                    if (currentNodeVar.startsWith( "$$" ))
-//                    {
-//                        throw
-//                            new IllegalArgumentException(
-//                                "Omit the '$p' refix for the current " +
-//                                    "node variable" );
-//                    }
-//                }
-
-        static Path create ( String pathExpr, String currentNodeVar )
-        {
-            assert !currentNodeVar.startsWith( "$" );
-
-            try
-            {
-                return
-                    new XbeanPathImpl(
-                        XPath.compileXPath( pathExpr, currentNodeVar ),
-                        pathExpr, currentNodeVar );
-            }
-            catch ( XPath.XPathCompileException e )
-            {
-                return null;
-            }
-        }
-
-        protected String getPathExpr ( ) { return _pathExpr; }
-        
-        protected PathEngine execute (
-            Root r, Splay s, int p, XmlOptions options )
-        {
-            // The builtin XPath engine works only on containers.  Delegate to
-            // xqrl otherwise.  Also, if the path had a //. at the end, the
-            // simple xpath engine can't do the generate case, it only handles
-            // attrs and elements.
-
-            if (p != 0 || !s.isContainer() || _xpath.sawDeepDot())
-            {
-                // If the xbean path compiler could could handle the path, then
-                // the xqrl compiler better be able to!
-
-                try
-                {
-                    return
-                        getPath( _pathExpr, true, null ).
-                            execute( r, s, p, options );
-                }
-                catch ( Throwable e )
-                {
-                    throw new RuntimeException( "Can't compile path", e );
-                }
-            }
-
-            return new XBeanPathEngine( _xpath, r, s );
-        }
-
-// TODO - because this xpath engine does not use a saver, any attributes in the
-// path which refer to namesapce attributes will require us to run the XQRL
-// path engine which is based on the saver.
-
-        private static class XBeanPathEngine
-            extends XPath.ExecutionContext implements PathEngine
-        {
-            XBeanPathEngine ( XPath xpath, Root r, Splay s )
-            {
-                assert s.isContainer();
-
-                _root = r;
-                _curr = _top = s;
-                _version = r.getVersion();
-
-                init( xpath );
-            }
-
-            public boolean next ( Selections selections )
-            {
-                int initialSize = selections.currentSize();
-
-                for ( ; ; )
-                {
-                    if (_root.getVersion() != _version)
-                        throw new IllegalStateException( "Document changed" );
-
-                    if (_curr == null)
-                        return false;
-
-                    advance( selections );
-
-                    if (initialSize < selections.currentSize())
-                        return true;
-                }
-            }
-
-            private Splay doAttrs ( int ret, Splay s, Selections selections )
-            {
-                if ((ret & ATTRS) == 0)
-                    return null;
-
-                for ( s = _curr.nextSplay() ; s.isAttr() ;
-                      s = s.nextSplay() )
-                {
-                    if (s.isNormalAttr() && attr( s.getName() ))
-                        selections.add( _root, s );
-                }
-
-                return s;
-            }
-
-            private void advance ( Selections selections )
-            {
-                if (_curr == _top)
-                {
-                    int ret = start();
-
-                    if ((ret & HIT) != 0)
-                        selections.add( _root, _curr );
-
-                    Splay s = doAttrs( ret, _curr, selections );
-
-                    if ((ret & DESCEND) == 0 || _curr.isLeaf())
-                        _curr = null;
-                    else
-                        _curr = s == null ? _curr.nextNonAttrSplay() : s;
-
-                    return;
-                }
-
-                for ( ; ; )
-                {
-                    if (_curr.isFinish())
-                    {
-                        if (_curr.getContainer() == _top)
-                            _curr = null;
-                        else
-                        {
-                            end();
-                            _curr = _curr.nextSplay();
-                        }
-
-                        return;
-                    }
-
-                    if (_curr.isBegin())
-                    {
-                        int ret = element( _curr.getName() );
-
-                        if ((ret & HIT) != 0)
-                            selections.add( _root, _curr );
-
-                        Splay s = doAttrs( ret, _curr, selections );
-
-                        if (_curr.isLeaf())
-                        {
-                            end();
-                            _curr = s == null ? _curr.nextNonAttrSplay() : s;
-                        }
-                        else if ((ret & DESCEND) == 0)
-                            _curr = ((Splay.Container) _curr).getFinish();
-                        else
-                            _curr = s == null ? _curr.nextNonAttrSplay() : s;
-
-                        return;
-                    }
-
-                    _curr = _curr.nextSplay();
-                }
-            }
-
-            private Root  _root;
-            private long  _version;
-            private Splay _top;
-            private Splay _curr;
-        }
-
-        private String _pathExpr;
-        private XPath  _xpath;
-        private String _currentNodeVar;
-    }
-
-    private static HashMap _xqrlPathCache = new HashMap();
-    private static HashMap _xbeanPathCache = new HashMap();
-    private static HashMap _xqrlQueryCache = new HashMap();
-}
diff --git a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Root.java b/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Root.java
deleted file mode 100644
index 6658b09..0000000
--- a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Root.java
+++ /dev/null
@@ -1,3460 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.store;
-
-import java.lang.reflect.Method;
-
-import org.apache.xmlbeans.impl.common.EncodingMap;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.common.XMLNameHelper;
-import org.apache.xmlbeans.impl.store.Splay.Finish;
-import org.apache.xmlbeans.impl.values.NamespaceManager;
-import org.apache.xmlbeans.impl.values.XmlStore;
-import org.apache.xmlbeans.impl.values.TypeStoreFactory;
-import org.apache.xmlbeans.QNameCache;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlCursor.XmlBookmark;
-import org.apache.xmlbeans.XmlDocumentProperties;
-import org.apache.xmlbeans.XmlError;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlLineNumber;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlRuntimeException;
-import org.apache.xmlbeans.XmlSaxHandler;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.ext.LexicalHandler;
-import weblogic.xml.stream.Attribute;
-import weblogic.xml.stream.AttributeIterator;
-import weblogic.xml.stream.CharacterData;
-import weblogic.xml.stream.Location;
-import weblogic.xml.stream.ProcessingInstruction;
-import weblogic.xml.stream.Space;
-import weblogic.xml.stream.StartDocument;
-import weblogic.xml.stream.StartElement;
-import weblogic.xml.stream.XMLEvent;
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLName;
-import weblogic.xml.stream.XMLStreamException;
-
-import javax.xml.namespace.QName;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.parsers.SAXParser;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.HashMap;
-import java.util.Map;
-
-public final class Root extends Finish implements XmlStore
-{
-    public Root ( SchemaTypeLoader stl, SchemaType type, XmlOptions options )
-    {
-        super( ROOT );
-
-        assert stl != null;
-
-        _schemaTypeSystem = stl;
-
-        _leftOnly = true;
-
-        _props = new DocProps();
-
-        _doc = new Doc( this, null );
-
-        _leftSplay = _doc;
-        _doc._parentSplay = this;
-        adjustCdocBeginLeft( _doc.getCdocBegin() );
-
-        _text = new Text();
-
-        SchemaType sType = null;
-
-        options = XmlOptions.maskNull( options );
-        
-        if (options.hasOption( XmlOptions.DOCUMENT_TYPE ))
-            sType = (SchemaType) options.get( XmlOptions.DOCUMENT_TYPE );
-
-        if (sType == null)
-            sType = type;
-
-        if (sType == null)
-            sType = XmlObject.type;
-
-        _validateOnSet = options.hasOption( XmlOptions.VALIDATE_ON_SET );
-
-        _factory = (TypeStoreFactory) options.get( TypeStoreFactory.KEY );
-
-        _doc.setType( this, sType );
-    }
-
-    public static XmlStore newStore ( SchemaTypeLoader stl, SchemaType type, XmlOptions options )
-    {
-        return new Root( stl, type, options );
-    }
-
-    public XmlDocumentProperties documentProperties ( )
-    {
-        return _props;
-    }
-
-    public XmlCursor createCursor ( )
-    {
-        assert validate();
-        return new Cursor( this, _doc );
-    }
-
-    Container getContainer ( ) { return _doc; }
-
-    boolean validateOnSet ( ) { return _validateOnSet; }
-
-    public XmlObject getObject ( )
-    {
-        Type t = _doc.peekType();
-
-        return t == null ? null : t.getXmlObject();
-    }
-
-    public SchemaTypeLoader getSchemaTypeLoader ( )
-    {
-        return _schemaTypeSystem;
-    }
-
-    boolean isEmpty ( )
-    {
-        return _leftSplay == _doc && _doc._rightSplay == null && _doc.isValid();
-    }
-
-    boolean isLeftOnly ( ) { return _leftOnly; }
-
-    void ensureEmpty ( )
-    {
-        if (!isEmpty())
-            _doc.removeContent( this, true );
-
-        assert isEmpty();
-        assert validate();
-        assert _leftOnly;
-        assert getCchLeft() == 0;
-        assert _text.length() == 0;
-        assert getCdocBeginLeft() == 1;
-        assert _doc != null && _leftSplay == _doc;
-    }
-
-    void updateCch ( Splay s, int deltaCch )
-    {
-        assert !s.isRoot();
-
-        if (deltaCch != 0)
-        {
-            s.splay( this, this );
-
-            s.adjustCch( deltaCch );
-            adjustCchLeft( deltaCch );
-        }
-    }
-
-    int getCp ( Splay s )
-    {
-        //
-        // A left only tree has the nice property that _cchLeft is
-        // also the cp!
-        //
-
-        if (!_leftOnly && s != this)
-            s.splay( this, this );
-
-        return s.getCchLeft();
-    }
-
-    int getDocBeginIndex ( Splay s )
-    {
-        //
-        // A left only tree has the nice property that cdocBeginLeft is
-        // also the pos!
-        //
-
-        if (!_leftOnly)
-            s.splay( this, this );
-
-        return s.getCdocBeginLeft();
-    }
-    
-    Begin findNthBegin ( Splay parent, QName name, QNameSet set, int n )
-    {
-        // only one of (set or name) is not null
-        // or both are null for a wildcard
-        assert ( name == null || set == null );
-        assert n >= 0;
-
-        if (parent == null || parent.isLeaf())
-            return null;
-
-        int da = _nthCache_A.distance( parent, name, set, n );
-        int db = _nthCache_B.distance( parent, name, set, n );
-
-        Begin b =
-            da <= db
-                ? _nthCache_A.fetch( parent, name, set, n )
-                : _nthCache_B.fetch( parent, name, set, n );
-
-        if (da == db)
-        {
-            nthCache temp = _nthCache_A;
-            _nthCache_A = _nthCache_B;
-            _nthCache_B = temp;
-        }
-
-        return b;
-    }
-
-    int count ( Container parent, QName name, QNameSet set )
-    {
-        Splay s = findNthBegin( parent, name, set, 0 );
-
-        if (s == null)
-            return 0;
-
-        int n = 0;
-
-        for ( ; ; s = s.nextSplay() )
-        {
-            if (s.isFinish())
-                break;
-
-            if (!s.isBegin())
-                continue;
-
-            if (set == null)
-            {
-                if (s.getName().equals(name))
-                    n++;
-            }
-            else
-            {
-                if (set.contains(s.getName()))
-                    n++;
-            }
-
-            s = s.getFinishSplay();
-        }
-
-        return n;
-    }
-
-    /**
-     * Set up strong type information based on this schema type system.
-     */
-
-    private boolean namespacesSame ( QName n1, QName n2 )
-    {
-        if (n1 == n2)
-            return true;
-
-        if (n1 == null || n2 == null)
-            return false;
-
-        if (n1.getNamespaceURI() == n2.getNamespaceURI())
-            return true;
-
-        if (n1.getNamespaceURI() == null || n2.getNamespaceURI() == null)
-            return false;
-
-        return n1.getNamespaceURI().equals( n2.getNamespaceURI() );
-    }
-
-    private void addNamespace ( StringBuffer sb, QName name )
-    {
-        if (name.getNamespaceURI() == null)
-            sb.append( "<no namespace>" );
-        else
-        {
-            sb.append( "\"" );
-            sb.append( name.getNamespaceURI() );
-            sb.append( "\"" );
-        }
-    }
-
-    XmlObject autoTypedDocument (
-        SchemaType factoryType, XmlOptions options )
-            throws XmlException
-    {
-        // The type in the options has highest precidence because it is
-        // supplied by the user.
-        
-        SchemaType overrideType =
-            (SchemaType) XmlOptions.safeGet( options, XmlOptions.DOCUMENT_TYPE );
-
-        // precedence is given to the override above all
-        
-        SchemaType theType = overrideType;
-
-        // Document and attribute types have no name
-        
-        if (theType == null &&
-                (factoryType == null ||
-                    (!factoryType.isDocumentType() &&
-                        !factoryType.isAttributeType())))
-        {
-            // infer type from xsi:type
-            QName typeName = _doc.getXsiTypeName( this );
-
-            SchemaType sniffedType =
-                typeName == null
-                    ? null
-                    : _schemaTypeSystem.findType( typeName );
-
-            if (factoryType == null ||
-                    factoryType.isAssignableFrom( sniffedType ))
-            {
-                theType = sniffedType;
-            }
-        }
-
-        // todo:
-        // use the following when implementing subst groups:
-        //     factoryType == null || expectedType.isDocumentType()
-
-        if (factoryType == null || factoryType.isDocumentType())
-        {
-            if (theType == null)
-            {
-                // infer type based on root elt
-
-                QName docElemName = null;
-
-                XmlCursor c = createCursor();
-
-                if (c.toFirstChild() && !c.toNextSibling())
-                    docElemName = c.getName();
-
-                c.dispose();
-
-                if (docElemName != null)
-                    theType = _schemaTypeSystem.findDocumentType( docElemName );
-
-                // verify elt inheritance when implementing subst groups
-                if (factoryType != null && theType != null)
-                {
-                    QName factoryElemName = factoryType.getDocumentElementName();
-
-                    if (!factoryElemName.equals(docElemName) &&
-                        !factoryType.isValidSubstitution(docElemName))
-
-                        throw new XmlException("Element " + QNameHelper.pretty(docElemName) +
-                            " is not a valid " + QNameHelper.pretty(factoryElemName) +
-                            " document or a valid substitution.");
-                }
-
-            }
-
-            if (theType == null)
-            {
-                // infer type based on root attr
-
-                QName attrName = null;
-
-                XmlCursor c = createCursor();
-
-                if (c.toFirstAttribute() && !c.toNextAttribute())
-                    attrName = c.getName();
-
-                c.dispose();
-
-                if (attrName != null)
-                    theType = _schemaTypeSystem.findAttributeType( attrName );
-            }
-        }
-
-        // sniffing doesn't say anything: assume the expected type
-        if (theType == null)
-            theType = factoryType;
-
-        // Still nothing: the no type.
-        if (theType == null)
-            theType = XmlBeans.NO_TYPE;
-
-        // assign type
-        _doc.setType( this, theType );
-
-        // todo: Have a similar attribute type check
-        if (factoryType != null)
-        {
-            if (theType.isDocumentType())
-                verifyDocumentType( theType.getDocumentElementName() );
-            else if (theType.isAttributeType())
-                verifyAttributeType( theType.getAttributeTypeAttributeName() );
-        }
-
-        //
-        // If a type was passed in, usually from generated code which needs the
-        // type to be something specific because of a pending cast, then check
-        // the resulting type and throw a nice exception.
-        //
-
-        if (factoryType != null && !factoryType.isAssignableFrom(theType))
-        {
-            /*
-            System.out.println("Factory type = " + factoryType);
-            System.out.println("The type = " + theType);
-            System.out.println("basetype of the type = " + theType.getBaseType());
-            */
-
-            throw
-                new XmlException( "XML object is not of type " + factoryType );
-        }
-
-        return getObject();
-    }
-
-    private void verifyDocumentType ( QName docElemName )
-        throws XmlException
-    {
-        XmlCursor c = createCursor();
-
-        try
-        {
-            StringBuffer sb = null;
-
-            if (!c.toFirstChild() || c.toNextSibling())
-            {
-                sb = new StringBuffer();
-
-                sb.append( "The document is not a " );
-                sb.append( QNameHelper.pretty( docElemName ) );
-
-                if (c.currentTokenType().isStartdoc())
-                    sb.append( ": no document element" );
-                else
-                    sb.append( ": multiple document elements" );
-            }
-            else
-            {
-                QName name = c.getName();
-
-                if (!name.equals( docElemName ))
-                {
-                    sb = new StringBuffer();
-
-                    sb.append( "The document is not a " );
-                    sb.append( QNameHelper.pretty( docElemName ) );
-
-                    if (docElemName.getLocalPart().equals( name.getLocalPart() ))
-                    {
-                        sb.append( ": document element namespace mismatch " );
-                        sb.append( "expected " );
-                        addNamespace( sb, docElemName );
-                        sb.append( " got " );
-                        addNamespace(sb,  name );
-                    }
-                    else if (namespacesSame( docElemName, name ))
-                    {
-                        sb.append( ": document element local name mismatch " );
-                        sb.append( "expected " + docElemName.getLocalPart() );
-                        sb.append( " got " + name.getLocalPart() );
-                    }
-                    else
-                    {
-                        sb.append( ": document element mismatch " );
-                        sb.append( "got " );
-                        sb.append( QNameHelper.pretty( name ) );
-                    }
-                }
-            }
-
-            if (sb != null)
-            {
-                XmlError err = XmlError.forCursor(sb.toString(), c.newCursor());
-                throw new XmlException( err.toString(), null, err );
-            }
-        }
-        finally
-        {
-            c.dispose();
-        }
-    }
-
-    private void verifyAttributeType ( QName attrName )
-        throws XmlException
-    {
-        XmlCursor c = createCursor();
-
-        try
-        {
-            StringBuffer sb = null;
-
-            if (!c.toFirstAttribute() || c.toNextAttribute())
-            {
-                sb = new StringBuffer();
-
-                sb.append( "The document is not a " );
-                sb.append( QNameHelper.pretty( attrName ) );
-
-                if (c.currentTokenType().isStartdoc())
-                    sb.append( ": no attributes" );
-                else
-                    sb.append( ": multiple attributes" );
-            }
-            else
-            {
-                QName name = c.getName();
-
-                if (!name.equals( attrName ))
-                {
-                    sb = new StringBuffer();
-
-                    sb.append( "The document is not a " );
-                    sb.append( QNameHelper.pretty( attrName ) );
-
-                    if (attrName.getLocalPart().equals( name.getLocalPart() ))
-                    {
-                        sb.append( ": attribute namespace mismatch " );
-                        sb.append( "expected " );
-                        addNamespace( sb, attrName );
-                        sb.append( " got " );
-                        addNamespace(sb,  name );
-                    }
-                    else if (namespacesSame( attrName, name ))
-                    {
-                        sb.append( ": attribute local name mismatch " );
-                        sb.append( "expected " + attrName.getLocalPart() );
-                        sb.append( " got " + name.getLocalPart() );
-                    }
-                    else
-                    {
-                        sb.append( ": attribute element mismatch " );
-                        sb.append( "got " );
-                        sb.append( QNameHelper.pretty( name ) );
-                    }
-                }
-            }
-
-            if (sb != null)
-            {
-                XmlError err = XmlError.forCursor(sb.toString(), c.newCursor());
-                throw new XmlException( err.toString(), null, err );
-            }
-        }
-        finally
-        {
-            c.dispose();
-        }
-    }
-
-    //
-    //
-    //
-
-    private static ThreadLocal tl_SaxLoaders =
-        new ThreadLocal()
-        {
-            protected Object initialValue()
-            {
-                SaxLoader sl = PiccoloSaxLoader.newInstance();
-
-                if (sl == null)
-                    sl = DefaultSaxLoader.newInstance();
-
-                if (sl == null)
-                    throw new RuntimeException( "Can't find an XML parser" );
-
-                return sl;
-            }
-        };
-
-    private static SaxLoader getSaxLoader ( )
-    {
-        return (SaxLoader) tl_SaxLoaders.get();
-    }
-    
-
-    private static class PiccoloSaxLoader extends SaxLoader
-    {
-        public static SaxLoader newInstance ( )
-        {
-            try
-            {
-                Class pc = Class.forName( "com.bluecast.xml.Piccolo" );
-                
-                XMLReader xr = (XMLReader) pc.newInstance();
-
-                Method m_getEncoding     = pc.getMethod( "getEncoding", null );
-                Method m_getVersion      = pc.getMethod( "getVersion", null );
-                Method m_getStartLocator = pc.getMethod( "getStartLocator", null );
-
-                Locator startLocator =
-                    (Locator) m_getStartLocator.invoke( xr, null );
-
-                return new PiccoloSaxLoader( xr, startLocator, m_getEncoding, m_getVersion );
-            }
-            catch ( ClassNotFoundException e )
-            {
-                return null;
-            }
-            catch ( Exception e )
-            {
-                throw new RuntimeException( e.getMessage(), e );
-            }
-        }
-        
-        protected void postLoad ( Root r )
-        {
-            try
-            {
-                r._props.setEncoding( (String) _m_getEncoding.invoke( _xr, null ) );
-                r._props.setVersion ( (String) _m_getVersion .invoke( _xr, null ) );
-            }
-            catch ( Exception e )
-            {
-                throw new RuntimeException( e.getMessage(), e );
-            }
-        }
-        
-        private PiccoloSaxLoader (
-            XMLReader xr, Locator startLocator, Method m_getEncoding, Method m_getVersion )
-        {
-            super( xr, startLocator );
-
-            _m_getEncoding = m_getEncoding;
-            _m_getVersion = m_getVersion;
-        }
-
-        private Method _m_getEncoding;
-        private Method _m_getVersion;
-    }
-    
-    private static class DefaultSaxLoader extends SaxLoader
-    {
-        public static SaxLoader newInstance ( )
-        {
-            try
-            {
-                return
-                    new DefaultSaxLoader(
-                        SAXParserFactory.newInstance().newSAXParser().getXMLReader() );
-            }
-            catch ( Throwable e )
-            {
-                throw new RuntimeException( e.getMessage(), e );
-            }
-        }
-
-        private DefaultSaxLoader ( XMLReader xr )
-        {
-            super( xr, null );
-        }
-    }
-
-    private static class SaxLoader
-        implements ContentHandler, LexicalHandler, ErrorHandler, EntityResolver
-    {
-        protected SaxLoader ( XMLReader xr, Locator startLocator )
-        {
-            _xr = xr;
-            _startLocator = startLocator;
-
-            if (xr != null)
-            {
-                try
-                {
-                    xr.setFeature( "http://xml.org/sax/features/namespace-prefixes", true );
-                    xr.setFeature( "http://xml.org/sax/features/namespaces", true );
-                    xr.setFeature( "http://xml.org/sax/features/validation", false );
-
-
-                    xr.setProperty( "http://xml.org/sax/properties/lexical-handler", this );
-                    xr.setContentHandler( this );
-                    xr.setErrorHandler( this );
-                    xr.setEntityResolver( this );
-                }
-                catch ( Throwable e )
-                {
-                    throw new RuntimeException( e.getMessage(), e );
-                }
-            }
-        }
-
-        protected void setContext ( LoadContext context, XmlOptions options )
-        {
-            _context = context;
-
-            _wantLineNumbers =
-                XmlOptions.maskNull(
-                    options ).hasOption( XmlOptions.LOAD_LINE_NUMBERS ) &&
-                    _startLocator != null;
-        }
-
-        protected void postLoad ( Root r )
-        {
-        }
-
-        public void load ( Root r, InputSource inputSource, XmlOptions options )
-            throws IOException, XmlException
-        {
-            LoadContext context = new LoadContext( r, options );
-            
-            setContext( context, options );
-            
-            try
-            {
-                assert r.disableStoreValidation();
-
-                _xr.parse( inputSource );
-
-                postLoad( r );
-
-//                // Piccolo specific access to encoding and version
-//                _props.setEncoding( piccolo.getEncoding() );
-//                _props.setVersion( piccolo.getVersion() );
-
-                context.finish();
-
-                r.associateSourceName( options );
-            }
-            catch ( XmlRuntimeException e )
-            {
-                context.abort();
-                throw new XmlException( e );
-            }
-            catch ( SAXParseException e )
-            {
-                context.abort();
-
-                XmlError err =
-                    XmlError.forLocation(
-                        e.getMessage(),
-                        (String) XmlOptions.safeGet( options, XmlOptions.DOCUMENT_SOURCE_NAME ),
-                        e.getLineNumber(), e.getColumnNumber(), -1 );
-
-                throw new XmlException( err.toString(), e, err );
-            }
-            catch ( SAXException e )
-            {
-                context.abort();
-                
-                XmlError err = XmlError.forMessage( e.getMessage() );
-                
-                throw new XmlException( err.toString(), e, err );
-            }
-            catch ( RuntimeException e )
-            {
-                context.abort();
-                throw e;
-            }
-            finally
-            {
-                assert r.enableStoreValidation();
-            }
-        }
-
-        // Sax ContentHandler
-
-        public void startDocument ( ) throws SAXException
-        {
-        }
-
-        public void endDocument ( ) throws SAXException
-        {
-            // Set context to null
-            // This prevents the handler (which is held in TLS from keeping
-            // the entire document in memory
-            _context = null;
-        }
-
-        public void startElement (
-            String namespaceURI, String localName,
-            String qName, Attributes atts )
-                throws SAXException
-        {
-            if (localName.length() == 0)
-                localName = qName;
-
-            // Out current parser (Piccolo) does not error when a
-            // namespace is used and not defined.  Check for these here
-
-            if (qName.indexOf( ':' ) >= 0 && namespaceURI.length() == 0)
-            {
-                XmlError err =
-                    XmlError.forMessage(
-                        "Use of undefined namespace prefix: " +
-                            qName.substring( 0, qName.indexOf( ':' ) ));
-
-                throw new XmlRuntimeException( err.toString(), null, err );
-            }
-
-            _context.begin( localName, namespaceURI );
-
-            // BUGBUG - do more of the following to get line number for
-            // as many parts of the XML as we can
-            if (_wantLineNumbers)
-            {
-                _context.lineNumberAnnotation(
-                    _startLocator.getLineNumber(),
-                    _startLocator.getColumnNumber(),
-                    -1 );
-            }
-
-            for ( int i = 0, len = atts.getLength() ; i < len ; i++ )
-            {
-                String aqn = atts.getQName( i );
-
-                if (aqn.equals( "xmlns" ))
-                {
-                    _context.xmlns( "", atts.getValue( i ) );
-                }
-                else if (aqn.startsWith( "xmlns:" ))
-                {
-                    String prefix = aqn.substring( 6 );
-
-                    if (prefix.length() == 0)
-                    {
-                        XmlError err =
-                            XmlError.forMessage( "Prefix not specified", XmlError.SEVERITY_ERROR );
-
-                        throw new XmlRuntimeException( err.toString(), null, err );
-                    }
-
-                    String uri = atts.getValue( i );
-
-                    if (uri.length() == 0)
-                    {
-                        XmlError err =
-                            XmlError.forMessage(
-                                "Prefix can't be mapped to no namespace: " + prefix,
-                                XmlError.SEVERITY_ERROR );
-
-                        throw new XmlRuntimeException( err.toString(), null, err );
-                    }
-
-                    _context.xmlns( prefix, uri );
-                }
-                else
-                {
-                    String attrUri = atts.getURI( i );
-                    String attrLocal = atts.getLocalName( i );
-
-                    if (attrLocal.length() == 0)
-                        attrLocal = aqn;
-
-// given the doc <a x:y='z'/>, piccolo will report the uri of the y
-// attribute as 'x'!  Bad Piccolo.  Thus, I can't perform the undefined
-// prefix check here.
-//
-//                    if (aqn.indexOf( ':' ) >= 0 && attrUri.length() == 0)
-//                    {
-//                        XmlError err =
-//                            new CursorXmlError(
-//                                "Use of undefined namespace prefix: " +
-//                                    aqn.substring( 0, aqn.indexOf( ':' ) ),
-//                                XmlError.SEVERITY_ERROR,
-//                                null );
-//
-//                        throw
-//                            new XmlRuntimeException(
-//                                err.toString(), null, err );
-//                    }
-
-                    _context.attr( attrLocal, attrUri, atts.getValue( i ) );
-                }
-            }
-        }
-
-        public void endElement (
-            String namespaceURI, String localName, String qName )
-                throws SAXException
-        {
-            _context.end();
-        }
-        public void characters ( char ch[], int start, int length )
-
-            throws SAXException
-        {
-            _context.text( ch, start, length );
-        }
-
-        public void ignorableWhitespace ( char ch[], int start, int length )
-            throws SAXException
-        {
-            _context.text( ch, start, length );
-        }
-
-        public void comment ( char ch[], int start, int length )
-            throws SAXException
-        {
-            _context.comment( ch, start, length );
-        }
-
-        public void processingInstruction ( String target, String data )
-            throws SAXException
-        {
-            _context.procinst( target, data );
-        }
-
-        public void startDTD ( String name, String publicId, String systemId )
-            throws SAXException
-        {
-            _context.doctype( name, publicId, systemId );
-        }
-
-        public void endDTD ( ) throws SAXException
-        {
-        }
-
-        // Error Handling
-        public void fatalError ( SAXParseException e ) throws SAXException
-        {
-            throw e;
-        }
-
-        public void error ( SAXParseException e ) throws SAXException
-        {
-            XmlError err =
-                XmlError.forMessage( "Error: " + e.getMessage(), XmlError.SEVERITY_ERROR );
-
-            throw new XmlRuntimeException( err.toString(), null, err );
-        }
-
-        public void warning ( SAXParseException e ) throws SAXException
-        {
-            // Throw away warings for now
-        }
-
-        // Entity Resolver
-        public InputSource resolveEntity( String publicId, String systemId )
-        {
-            // System.out.println("public id = " + publicId);
-            // System.out.println("system id = " + systemId);
-
-            return new InputSource( new StringReader( "" ) );
-        }
-
-        public void setDocumentLocator ( Locator locator )
-        {
-            _locator = locator;
-        }
-
-        public void startPrefixMapping ( String prefix, String uri )
-            throws SAXException
-        {
-            if (beginsWithXml( prefix ) &&
-                ! ( "xml".equals( prefix ) && _xml1998Uri.equals( uri ) ))
-            {
-                XmlError err =
-                    XmlError.forMessage(
-                        "Prefix can't begin with XML: " + prefix,
-                        XmlError.SEVERITY_ERROR );
-
-                throw
-                    new XmlRuntimeException(
-                        err.toString(), null, err );
-            }
-        }
-
-        // Ignored
-        public void endPrefixMapping ( String prefix ) throws SAXException {}
-        public void skippedEntity ( String name ) throws SAXException {}
-        public void startCDATA ( ) throws SAXException { }
-        public void endCDATA ( ) throws SAXException { }
-        public void startEntity ( String name ) throws SAXException { }
-        public void endEntity ( String name ) throws SAXException { }
-
-        protected XMLReader _xr;
-        
-        private Locator     _locator;
-        private LoadContext _context;
-        private boolean     _wantLineNumbers;
-        private Locator     _startLocator;
-    }
-    
-    //
-    //
-    //
-
-    public XmlObject loadXml ( InputStream in, SchemaType type, XmlOptions options )
-        throws IOException, XmlException
-    {
-        String encodingOverride =
-            (String) XmlOptions.safeGet( options, XmlOptions.CHARACTER_ENCODING );
-
-        if (encodingOverride != null)
-        {
-            String javaEncoding = EncodingMap.getIANA2JavaMapping( encodingOverride );
-
-            if (javaEncoding == null)
-                javaEncoding = encodingOverride;
-
-            return loadXml( new InputStreamReader( in, javaEncoding ), type, options );
-        }
-
-        return loadXml( new InputSource( in ), type, options );
-    }
-
-    public XmlObject loadXml ( Reader r, SchemaType type, XmlOptions options )
-        throws IOException, XmlException
-    {
-        return loadXml( new InputSource( r ), type, options );
-    }
-
-    public XmlObject loadXml ( InputSource is, SchemaType type, XmlOptions options )
-        throws IOException, XmlException
-    {
-        is.setSystemId( "file://" );
-
-        getSaxLoader().load( this, is, options );
-
-        return autoTypedDocument( type, options );
-    }
-    
-    public XmlObject loadXml ( String s, SchemaType type, XmlOptions options )
-        throws XmlException
-    {
-        Reader r = new StringReader( s );
-
-        try
-        {
-            return loadXml( r, type, options );
-        }
-        catch ( IOException e )
-        {
-            assert false: "StringReader should not throw IOException";
-            throw new XmlException( e.getMessage(), e );
-        }
-        finally
-        {
-            try { r.close(); } catch ( IOException e ) { }
-        }
-    }
-
-    private void associateSourceName ( XmlOptions options )
-    {
-        String sourceName =
-            (String) XmlOptions.safeGet(
-                options, XmlOptions.DOCUMENT_SOURCE_NAME );
-
-        if (sourceName != null)
-            _props.setSourceName( sourceName );
-    }
-
-    //
-    // XmlSaxHandler is returned to a user so that user may obtain the content
-    // and lexical handlers to push content and then get the XmlObject at the
-    // end of the parse push.
-    //
-
-    private class XmlSaxHandlerImpl extends SaxLoader implements XmlSaxHandler
-    {
-        XmlSaxHandlerImpl ( SchemaType type, XmlOptions options )
-        {
-            super( null, null );
-            
-            assert isEmpty();
-
-            _options = options;
-            _type = type;
-
-            _context = new LoadContext( Root.this, options );
-
-            setContext( _context, options );
-        }
-
-        public ContentHandler getContentHandler ( )
-        {
-            return _context == null ? null : this;
-        }
-
-        public LexicalHandler getLexicalHandler ( )
-        {
-            return _context == null ? null : this;
-        }
-
-        public XmlObject getObject ( ) throws XmlException
-        {
-            if (_context == null)
-                return null;
-
-            _context.finish();
-
-            _context = null;
-
-            Root.this.associateSourceName( _options );
-
-            return Root.this.autoTypedDocument( _type, _options );
-        }
-
-        private LoadContext _context;
-        private SchemaType  _type;
-        private XmlOptions  _options;
-    }
-
-    public XmlSaxHandler newSaxHandler ( SchemaType type, XmlOptions options )
-    {
-        return new XmlSaxHandlerImpl( type, options );
-    }
-
-    //
-    //
-    //
-
-    private void newParseSax ( InputSource in, XmlOptions options )
-    {
-        LoadContext context = new LoadContext( this, options );
-    }
-
-    //
-    // Helper object for creating documents in a "load" kinda way
-    //
-
-    static final class LoadContext
-    {
-        LoadContext ( Root root, XmlOptions options )
-        {
-            assert root != null;
-
-            _options = options = XmlOptions.maskNull( options );
-
-            _qnameCache = XmlBeans.getQNameCache();
-
-            if (options.hasOption( XmlOptions.LOAD_REPLACE_DOCUMENT_ELEMENT ))
-            {
-                QName name = (QName) options.get( XmlOptions.LOAD_REPLACE_DOCUMENT_ELEMENT );
-
-                if (name != null && name.getLocalPart().length() == 0)
-                {
-                    throw
-                        new IllegalArgumentException(
-                            "Load Replace Document Element: Invalid name, local part empty" );
-                }
-                
-                _discardDocElem = true;
-                _replaceDocElem = name;
-            }
-
-            _stripWhitespace = options.hasOption(XmlOptions.LOAD_STRIP_WHITESPACE);
-            _stripComments = options.hasOption(XmlOptions.LOAD_STRIP_COMMENTS);
-            _stripProcinsts = options.hasOption(XmlOptions.LOAD_STRIP_PROCINSTS);
-
-            _substituteNamespaces =
-                (Map) options.get(XmlOptions.LOAD_SUBSTITUTE_NAMESPACES);
-
-            _additionalNamespaces =
-                (Map) options.get(XmlOptions.LOAD_ADDITIONAL_NAMESPACES);
-
-            _root = root;
-            _root.ensureEmpty();
-
-            _lastNonAttr = _root._doc;
-            _lastSplay = _root._doc;
-            _lastPos = 0;
-
-            _frontier = _root._doc;
-        }
-
-        private Root getRoot ( )
-        {
-            return _root;
-        }
-
-        private int getCp ( Splay s )
-        {
-            assert _root.isLeftOnly();
-            assert dv > 0 || s.getCpSlow() == s.getCchLeft();
-            return s.getCchLeft();
-        }
-
-        private void adjustCch ( Splay s, int delta )
-        {
-            assert _root.isLeftOnly();
-
-            s.adjustCch( delta );
-
-            // There may be attrs after this splay which need their cchLeft's
-            // to be updated.  To avoid splaying, update them by hand.
-
-            for ( s = s.nextSplay() ; s != null ; s = s.nextSplay() )
-            {
-                assert s.isAttr() || s.isRoot();
-                s.adjustCchLeft( delta );
-            }
-        }
-
-        private void insert ( Splay s )
-        {
-            assert !_finished;
-            assert s.getCch() == 0;
-
-            _root.insertSplay( s, _root._leftSplay );
-
-            _lastSplay = s;
-            _lastPos = 0;
-
-            if (!s.isAttr())
-                _lastNonAttr = s;
-        }
-
-        private void insert ( Splay s, char[] buf, int off, int cch )
-        {
-            assert !_finished;
-            assert s.getCch() == 0;
-            insert( s );
-            _root._text.insert( getCp( s ), buf, off, cch );
-            adjustCch( s, cch );
-        }
-
-        private void insert ( Splay s, String text )
-        {
-            assert !_finished;
-            assert s.getCch() == 0;
-            insert( s );
-            _root._text.insert( getCp( s ), text );
-            adjustCch( s, text.length() );
-        }
-
-        private void stripLeadingWhitespace ( )
-        {
-            int cchAfter = _lastNonAttr.getCchAfter();
-
-            if (cchAfter > 0)
-            {
-                int cch = cchAfter;
-
-                int cpAfter =
-                    _lastNonAttr.getCpForPos(
-                        _root, _lastNonAttr.getPosAfter() );
-
-                int off = _root._text.unObscure( cpAfter, cch );
-
-                for ( ; cch > 0 ; cch-- )
-                {
-                    if (!isWhiteSpace( _root._text._buf[ off + cch - 1 ]))
-                        break;
-                }
-
-                int delta = cch - cchAfter;
-
-                if (delta < 0)
-                {
-                    _root._text.remove( cpAfter + cchAfter + delta, - delta );
-                    _lastNonAttr.adjustCchAfter( delta );
-                    adjustCch( _lastNonAttr, delta );
-                }
-            }
-        }
-
-        void abort ( )
-        {
-            // The shit must have hit the fan ...
-
-            // Close all elements
-
-            while ( _frontier != _root._doc )
-                end();
-
-            try
-            {
-                finish();
-            }
-            catch ( XmlException e )
-            {
-                assert false;
-            }
-        }
-
-        void finish ( ) throws XmlException
-        {
-            if (_stripWhitespace)
-                stripLeadingWhitespace();
-
-            // TODO: deal with unterminated begins here
-
-            if (_frontier != _root._doc)
-                throw new XmlException( "Document not ended" );
-
-            assert _root._leftOnly;
-
-            _finished = true;
-
-            _lastSplay = _root;
-            _lastPos = 0;
-
-            if (_options.hasOption(XmlOptions.LOAD_TRIM_TEXT_BUFFER))
-                _root._text.trim();
-
-            // If we have additional namespaces, add them now, making sure we
-            // done over ride exisitng ones.
-
-            if (_additionalNamespaces != null)
-            {
-                Splay s = _root._doc;
-
-                while ( !s.isRoot() && !s.isBegin() )
-                    s = s.nextSplay();
-
-                if (s.isBegin())
-                {
-                    java.util.Iterator i =
-                        _additionalNamespaces.keySet().iterator();
-
-                    while ( i.hasNext() )
-                    {
-                        String prefix = (String) i.next();
-
-                        // Usually, this is the predefined xml namespace
-                        if (prefix.toLowerCase().startsWith( "xml" ))
-                            continue;
-
-                        String namespace =
-                            (String) _additionalNamespaces.get( prefix );
-
-                        if (s.namespaceForPrefix( prefix ) == null)
-                        {
-                            _root.insertSingleSplaySansSplayInLeftOnlyTree(
-                                new Xmlns( new QName( namespace, prefix ) ),
-                                s );
-
-                            // The above insert should not splay the tree
-                            assert _root.isLeftOnly();
-                        }
-                    }
-                }
-            }
-
-            // For most of loading, I don't invalidate the document
-            // version because nothing should be sensitive to it while
-            // loading.  When finished loading, bump it.
-
-            _root.invalidateVersion();
-
-            assert _root.isLeftOnly();
-        }
-
-        private QName checkName ( String local, String uri )
-        {
-            if (_substituteNamespaces != null)
-            {
-                String substituteUri =
-                    (String) _substituteNamespaces.get( uri );
-
-                if (substituteUri != null)
-                    return _qnameCache.getName( substituteUri, local );
-            }
-
-            return _qnameCache.getName( uri, local );
-        }
-
-        private QName checkName ( QName name )
-        {
-            if (_substituteNamespaces != null)
-            {
-                String substituteUri =
-                    (String)
-                        _substituteNamespaces.get( name.getNamespaceURI() );
-
-                if (substituteUri != null)
-                {
-                    name =
-                        _qnameCache.getName(
-                            substituteUri, name.getLocalPart() );
-                }
-            }
-
-            return name;
-        }
-
-        private QName checkNameAttr ( String local, String uri )
-        {
-            if (_substituteNamespaces != null && uri.length() > 0)
-            {
-                String substituteUri =
-                    (String) _substituteNamespaces.get( uri );
-
-                if (substituteUri != null)
-                    return _qnameCache.getName( substituteUri, local );
-            }
-
-            return _qnameCache.getName( uri, local );
-        }
-
-        private QName checkNameAttr ( QName name )
-        {
-            if (_substituteNamespaces != null && name.getNamespaceURI().length() > 0 )
-            {
-                String substituteUri =
-                    (String)
-                        _substituteNamespaces.get( name.getNamespaceURI() );
-
-                if (substituteUri != null)
-                {
-                    name =
-                        _qnameCache.getName(
-                            substituteUri, name.getLocalPart() );
-                }
-            }
-
-            return name;
-        }
-
-        void doctype ( String name, String publicID, String systemID )
-        {
-            _root._props.setDoctypeName( name );
-            _root._props.setDoctypePublicId( publicID );
-            _root._props.setDoctypeSystemId( systemID );
-        }
-
-        private void insertBegin ( QName name )
-        {
-            if (_stripWhitespace)
-                stripLeadingWhitespace();
-
-            if (_frontier.isDoc() && !_docElemDiscarded &&
-                    (_discardDocElem || isXmlFragment( name )))
-            {
-                _docElemDiscarded = true;
-
-                if (_replaceDocElem == null)
-                    return;
-
-                name = _replaceDocElem;
-            }
-
-            insert( _frontier = new Begin( name, _frontier ) );
-        }
-
-        void begin ( String local, String uri )
-        {
-            insertBegin( checkName( local, uri ) );
-        }
-
-        void begin ( QName name )
-        {
-            insertBegin( checkName( name ) );
-        }
-
-        void end ( )
-        {
-            if (_stripWhitespace)
-                stripLeadingWhitespace();
-
-            if (_frontier.isDoc())
-            {
-                if (!_docElemDiscarded)
-                    throw new IllegalStateException( "Too many end elements" );
-            }
-            else
-            {
-                assert !_finished;
-                assert _frontier.isBegin();
-                assert !_frontier.isLeaf();
-
-                if (_lastNonAttr == _frontier)
-                {
-                    _lastSplay = _frontier;
-                    _lastPos = 1 + _frontier.getCch();
-                    _frontier.toggleIsLeaf();
-                    int cch = _frontier.getCchAfter();
-                    _frontier.adjustCchAfter( - cch );
-                }
-                else
-                {
-                    Begin b = (Begin) _frontier;
-                    End e = new End( b );
-                    b._end = e;
-                    insert( e );
-                }
-
-                _frontier = _frontier.getContainer();
-            }
-        }
-
-        void attr ( QName name, char[] buf, int off, int cch )
-        {
-            insert( new Attr( checkNameAttr( name ) ), buf, off, cch );
-        }
-
-        void attr ( QName name, String value )
-        {
-            insert( new Attr( checkNameAttr( name ) ), value );
-        }
-
-        void attr ( String local, String uri, String value )
-        {
-            insert( new Attr( checkNameAttr( local, uri ) ), value );
-        }
-
-        private boolean discardXmlns ( QName name )
-        {
-            return
-                _docElemDiscarded && _frontier.isDoc() &&
-                    name.getNamespaceURI().equals( _openFragUri );
-        }
-
-        void xmlns ( String prefix, String uri )
-        {
-            QName name = checkName( prefix, uri );
-
-            if (!discardXmlns( name ))
-                insert( new Xmlns( name ) );
-        }
-
-        void xmlns ( QName name )
-        {
-            name = checkName( name );
-
-            if (!discardXmlns( name ))
-                insert( new Xmlns( name ) );
-        }
-
-        void comment ( char[] buf, int off, int cch )
-        {
-            if (!_stripComments)
-                insert( new Comment(), buf, off, cch );
-        }
-
-        void comment ( String value )
-        {
-            if (!_stripComments)
-                insert( new Comment(), value );
-        }
-
-        void procinst ( String target, char[] buf, int off, int cch )
-        {
-            if (!_stripProcinsts)
-                insert( new Procinst( target ), buf, off, cch );
-        }
-
-        void procinst ( String target, String value )
-        {
-            if (!_stripProcinsts)
-                insert( new Procinst( target ), value );
-        }
-
-        //
-        // returns the cp where new text should go.
-        //
-
-        int preText ( )
-        {
-            assert !_finished;
-
-            return getCp( _lastNonAttr ) + _lastNonAttr.getCch();
-        }
-
-        //
-        // New text has been placed, adjust...
-        //
-
-        void postText ( int cp, int cch )
-        {
-            if (_stripWhitespace && _lastNonAttr.getCchAfter() == 0)
-            {
-                int off = _root._text.unObscure( cp, cch );
-
-                int i = 0;
-
-                while ( i < cch && isWhiteSpace( _root._text._buf[ off + i ] ) )
-                    i++;
-
-                if (i > 0)
-                {
-                    _root._text.remove( cp, i );
-                    cch -= i;
-                }
-            }
-
-            if (cch > 0)
-            {
-                _lastSplay = _lastNonAttr;
-                _lastPos = _lastNonAttr.getEndPos();
-                _lastNonAttr.adjustCchAfter( cch );
-
-                adjustCch( _lastNonAttr, cch );
-            }
-        }
-
-        void text ( char[] buf, int off, int cch )
-        {
-            assert !_finished;
-
-            int start = off;
-            int end = off + cch;
-
-            if (_stripWhitespace && _lastNonAttr.getCchAfter() == 0)
-            {
-                while ( start < end && isWhiteSpace( buf[ start ] ) )
-                    start++;
-            }
-
-            int cchText = end - start;
-
-            if (cchText > 0)
-            {
-                _lastSplay = _lastNonAttr;
-                _lastPos = _lastNonAttr.getEndPos();
-
-                _root._text.insert(
-                    getCp( _lastNonAttr ) + _lastNonAttr.getCch(),
-                    buf, start, cchText );
-
-                _lastNonAttr.adjustCchAfter( cchText );
-                adjustCch( _lastNonAttr, cchText );
-            }
-        }
-
-        void text ( String text )
-        {
-            assert !_finished;
-
-            int start = 0;
-            int end = text.length();
-
-            if (_stripWhitespace && _lastNonAttr.getCchAfter() == 0)
-            {
-                while ( start < end && isWhiteSpace( text.charAt( start ) ) )
-                    start++;
-            }
-
-            int cchText = end - start;
-
-            if (cchText > 0)
-            {
-                _lastSplay = _lastNonAttr;
-                _lastPos = _lastNonAttr.getEndPos();
-
-                _root._text.insert(
-                    getCp( _lastNonAttr ) + _lastNonAttr.getCch(),
-                    text, start, cchText );
-
-                _lastNonAttr.adjustCchAfter( cchText );
-                adjustCch( _lastNonAttr, cchText );
-            }
-        }
-
-        // Annotates the last thing inserted
-        void annotate ( XmlBookmark xmlBookmark )
-        {
-            new Annotation( _root, xmlBookmark ).
-                set( _lastSplay, _lastPos );
-        }
-
-        void lineNumberAnnotation ( int line, int column, int offset )
-        {
-            annotate( new XmlLineNumber( line, column, offset ) );
-        }
-
-        void lineNumberAnnotation ( XMLEvent xe )
-        {
-            Location loc = xe.getLocation();
-
-            if (loc != null)
-            {
-                lineNumberAnnotation(
-                    loc.getLineNumber(), loc.getColumnNumber(), -1 );
-            }
-        }
-
-        void javelinAnnotation ( XmlCursor.XmlBookmark ja )
-        {
-            if (ja != null)
-               annotate( ja );
-        }
-
-        private Root       _root;
-        private Splay      _lastNonAttr;
-        private Container  _frontier;
-        private Splay      _lastSplay;
-        private int        _lastPos;
-        private boolean    _finished;
-        private boolean    _discardDocElem;
-        private QName      _replaceDocElem;
-        private boolean    _stripWhitespace;
-        private boolean    _stripComments;
-        private boolean    _stripProcinsts;
-        private boolean    _docElemDiscarded;
-        private Map        _substituteNamespaces;
-        private Map        _additionalNamespaces;
-        private QNameCache _qnameCache;
-        private XmlOptions _options;
-    }
-
-    private void loadNodeChildren ( Node n, LoadContext context )
-    {
-        for ( Node c = n.getFirstChild() ; c != null ; c = c.getNextSibling() )
-            loadNode( c, context );
-    }
-
-    private void loadNode ( Node n, LoadContext context )
-    {
-        switch ( n.getNodeType() )
-        {
-        case Node.DOCUMENT_NODE :
-        case Node.DOCUMENT_FRAGMENT_NODE :
-        case Node.ENTITY_REFERENCE_NODE :
-        {
-            loadNodeChildren( n, context );
-
-            break;
-        }
-        case Node.ELEMENT_NODE :
-        {
-            context.begin( n.getLocalName(), n.getNamespaceURI() );
-
-            NamedNodeMap attrs = n.getAttributes();
-
-            for ( int i = 0 ; i < attrs.getLength() ; i++ )
-            {
-                Node a = attrs.item( i );
-
-                String uri = a.getNamespaceURI();
-                String local = a.getLocalName();
-                String value = a.getNodeValue();
-
-                if (uri != null && uri.equals( _xmlnsUri ))
-                {
-                    if (local.equals( "xmlns" ))
-                        context.xmlns( "", value );
-                    else
-                        context.xmlns( local, value );
-                }
-                else
-                {
-                    context.attr( local, uri, value );
-                }
-            }
-
-            loadNodeChildren( n, context );
-
-            context.end();
-
-            break;
-        }
-        case Node.TEXT_NODE :
-        case Node.CDATA_SECTION_NODE :
-        {
-            context.text( n.getNodeValue() );
-            break;
-        }
-        case Node.COMMENT_NODE :
-        {
-            context.comment( n.getNodeValue() );
-            break;
-        }
-        case Node.PROCESSING_INSTRUCTION_NODE :
-        {
-            context.procinst( n.getNodeName(), n.getNodeValue() );
-            break;
-        }
-        case Node.DOCUMENT_TYPE_NODE :
-        case Node.ENTITY_NODE :
-        case Node.NOTATION_NODE :
-        case Node.ATTRIBUTE_NODE :
-        {
-            throw new RuntimeException( "Unexpected node" );
-        }
-        }
-    }
-
-    public XmlObject loadXml ( Node node, SchemaType type, XmlOptions options )
-        throws XmlException
-    {
-        LoadContext context = new LoadContext( this, options );
-
-        loadNode( node, context );
-
-        associateSourceName( options );
-
-        return autoTypedDocument( type, options );
-    }
-
-    public XmlObject loadXml (
-        XMLInputStream xis, SchemaType type, XmlOptions options )
-            throws XMLStreamException, XmlException
-    {
-        loadXmlInputStream( xis, options );
-
-        return autoTypedDocument( type, options );
-    }
-
-    public void loadXmlInputStream ( XMLInputStream xis, XmlOptions options )
-        throws XMLStreamException, XmlException
-    {
-        options = XmlOptions.maskNull( options );
-
-        XMLEvent x = xis.peek();
-        
-        if (x != null && x.getType() == XMLEvent.START_ELEMENT)
-        {
-            Map nsMap = ((StartElement) x).getNamespaceMap();
-
-            if (nsMap != null && nsMap.size() > 0)
-            {
-                Map namespaces = new HashMap();
-                
-                namespaces.putAll( nsMap );
-
-                options = new XmlOptions( options );
-
-                options.put( XmlOptions.LOAD_ADDITIONAL_NAMESPACES, namespaces );
-            }
-        }
-
-        LoadContext context = new LoadContext( this, options );
-
-        boolean lineNums = options.hasOption( XmlOptions.LOAD_LINE_NUMBERS );
-
-        events:
-        for ( XMLEvent xe = xis.next() ; xe != null ; xe = xis.next() )
-        {
-            switch ( xe.getType() )
-            {
-            case XMLEvent.START_DOCUMENT :
-                // BUGBUG (ericvas) 12258 - FIXED below
-                StartDocument doc = (StartDocument) xe;
-
-//                context.doctype(
-//                    doc.getname().getLocalName(),
-//                    "", doc.getPublicId()
-
-                _props.setDoctypeSystemId( doc.getSystemId() );
-//                _publicID = doc.getPublicId();
-                _props.setEncoding( doc.getCharacterEncodingScheme() );
-                _props.setVersion( doc.getVersion() );
-                _standAlone = doc.isStandalone();
-
-                if (lineNums)
-                    context.lineNumberAnnotation( xe );
-
-                break;
-
-            case XMLEvent.END_DOCUMENT :
-                if (lineNums)
-                    context.lineNumberAnnotation( xe );
-
-                break events;
-
-            case XMLEvent.NULL_ELEMENT :
-                if (!xis.hasNext())
-                    break events;
-                break;
-
-            case XMLEvent.START_ELEMENT :
-                context.begin( XMLNameHelper.getQName( xe.getName() ) );
-
-                if (lineNums)
-                    context.lineNumberAnnotation( xe );
-
-                for ( AttributeIterator ai = ((StartElement) xe).getAttributes()
-                      ; ai.hasNext() ; )
-                {
-                    Attribute attr = ai.next();
-
-                    context.attr(
-                        XMLNameHelper.getQName( attr.getName() ),
-                        attr.getValue() );
-                }
-
-                for ( AttributeIterator ai = ((StartElement) xe).getNamespaces()
-                      ; ai.hasNext() ; )
-                {
-                    Attribute attr = ai.next();
-
-                    XMLName name = attr.getName();
-                    String local = name.getLocalName();
-
-                    if (name.getPrefix() == null && local.equals( "xmlns" ))
-                        local = "";
-
-                    context.xmlns( local, attr.getValue() );
-                }
-
-                break;
-
-            case XMLEvent.END_ELEMENT :
-                context.end();
-
-                if (lineNums)
-                    context.lineNumberAnnotation( xe );
-
-                break;
-
-            case XMLEvent.SPACE :
-                if (((Space) xe).ignorable())
-                    break;
-
-                // Fall through
-
-            case XMLEvent.CHARACTER_DATA :
-                CharacterData cd = (CharacterData) xe;
-
-                if (cd.hasContent())
-                {
-                    context.text( cd.getContent() );
-
-                    if (lineNums)
-                        context.lineNumberAnnotation( xe );
-                }
-
-                break;
-
-            case XMLEvent.COMMENT :
-                weblogic.xml.stream.Comment comment =
-                    (weblogic.xml.stream.Comment) xe;
-
-                if (comment.hasContent())
-                {
-                    context.comment( comment.getContent() );
-
-                    if (lineNums)
-                        context.lineNumberAnnotation( xe );
-                }
-
-                break;
-
-            case XMLEvent.PROCESSING_INSTRUCTION :
-                ProcessingInstruction procInstr = (ProcessingInstruction) xe;
-
-                context.procinst( procInstr.getTarget(), procInstr.getData() );
-
-                if (lineNums)
-                    context.lineNumberAnnotation( xe );
-
-                break;
-
-            // These are ignored
-            case XMLEvent.ENTITY_REFERENCE :
-            case XMLEvent.START_PREFIX_MAPPING :
-            case XMLEvent.END_PREFIX_MAPPING :
-            case XMLEvent.CHANGE_PREFIX_MAPPING :
-            case XMLEvent.XML_EVENT :
-                break;
-
-            default :
-                throw new RuntimeException(
-                    "Unhandled xml event type: " + xe.getTypeAsString() );
-            }
-        }
-
-        context.finish();
-
-        associateSourceName( options );
-
-        assert validate();
-        assert isLeftOnly();
-    }
-
-    public static void dump ( XmlObject x )
-    {
-        dump( x, System.out );
-    }
-
-    public static void dump ( XmlObject x, PrintStream ps )
-    {
-        XmlCursor xc = x.newCursor();
-        Root r = ((Cursor) xc).getRoot();
-        r.dump( ps, null, ((Cursor) xc).getSplay(), false );
-        xc.dispose();
-    }
-
-    public static void dump ( XmlCursor xc )
-    {
-        dump( xc, System.out );
-    }
-
-    public static void dump ( XmlCursor xc, PrintStream ps )
-    {
-        Root r = ((Cursor) xc).getRoot();
-        r.dump( ps, null, ((Cursor) xc).getSplay(), false );
-    }
-
-    //
-    //
-    //
-
-    private void dumpText ( PrintStream ps, int cp, int cch, Splay s, int p )
-    {
-        if (cp >= 0 && cp + cch <= _text.length())
-            dumpString( ps, _text.fetch( cp, cch ), s, p );
-        else
-            ps.print( "[string: cp=" + cp + ", cch=" + cch + " ]" );
-    }
-
-    private void dumpText ( PrintStream ps, int cp, int cch )
-    {
-        if (cp >= 0 && cp + cch <= _text.length())
-            dumpString( ps, _text.fetch( cp, cch ), null, 0 );
-        else
-            ps.print( "[string: cp=" + cp + ", cch=" + cch + " ]" );
-    }
-
-    private void dumpString ( PrintStream ps, String s )
-    {
-        dumpString( ps, s, null, 0 );
-    }
-
-    private void dumpGoobersInline ( PrintStream ps, Splay s, int p )
-    {
-        for ( Goober g = s.firstGoober() ; g != null ;
-              g = s.nextGoober( g ) )
-        {
-            if (g.getKind() == CURSOR && g.getPos() == p)
-            {
-                CursorGoober cg = (CursorGoober) g;
-
-                ps.print( "[" + ((CursorGoober) g).getDebugId() + "]" );
-            }
-        }
-    }
-
-    private void dumpString ( PrintStream ps, String str, Splay s, int p )
-    {
-        for ( int i = 0 ; i < str.length() ; i++ )
-        {
-            if (s != null)
-                dumpGoobersInline( ps, s, i + p );
-
-            if (i == 36)
-            {
-                ps.print( "..." );
-                break;
-            }
-
-            char ch = str.charAt( i );
-
-            if (ch == '\n')
-                ps.print( "\\n" );
-            else if (ch == '\r')
-                ps.print( "\\r" );
-            else if (ch == '\t')
-                ps.print( "\\t" );
-            else if (ch == '\"')
-                ps.print( "\\\"" );
-            else
-                ps.print( ch );
-        }
-    }
-
-    private void dumpGoobers ( PrintStream ps, Goober g )
-    {
-        if (g == null)
-            return;
-
-        if (g.getKind() == AGGREGATE)
-        {
-            ps.print( " {" );
-            dumpGoobers( ps, g._goobers );
-            ps.print( "}" );
-        }
-        else
-            ps.print( " - " + g.getKindName() + " pos: " + g.getPos() );
-
-        if (g.getKind() == CURSOR)
-            ps.print( " id: " + ((CursorGoober) g).getDebugId() );
-
-        if (g._next != g._parent._goobers)
-            dumpGoobers( ps, g._next );
-    }
-
-    private void dumpSplayTree( Splay s, PrintStream ps )
-    {
-        if (s == null)
-            return;
-
-        if (s._rightSplay != null)
-            dumpSplayTree( s._rightSplay, ps );
-
-        for ( Splay t = s._parentSplay ; t != null ; t = t._parentSplay )
-            ps.print( "  " );
-
-        ps.print( "[" + s.getDebugId() );
-        ps.print( " c:" + s.getCchLeft() + "(" + s.getCch() + ")");
-        ps.print( " b:" + s.getCdocBeginLeft() + "(" + s.getCdocBegin() + ")");
-
-        if (s._parentSplay != null)
-        {
-            ps.print( " p:" + s._parentSplay.getDebugId() );
-            ps.print( s._parentSplay._leftSplay == s ? "L" : "R" );
-        }
-
-        ps.println( "]" );
-
-        if (s._leftSplay != null)
-            dumpSplayTree( s._leftSplay, ps );
-    }
-
-    public static void dump ( XmlCursor c, boolean verbose )
-    {
-        ((Cursor) c).dump( verbose );
-    }
-
-    public void dump ( )
-    {
-        dump( System.out, null, this, false );
-    }
-
-    public void dump ( boolean verbose )
-    {
-        dump( System.out, null, this, verbose );
-    }
-
-    public void dump ( PrintStream ps )
-    {
-        dump( ps, null, this, false );
-    }
-
-    public void dump ( PrintStream ps, String msg, Object src, boolean verbose )
-    {
-        // Under IntelliJ, if you call a function from the expression
-        // evaluator and it produces too much output, IntelliJ will not
-        // show you the output of the function.  So, I dump to a file
-        // here as well and the given print stream!
-
-        File f = new File( "c:\\" );
-
-        if (f.exists())
-        {
-            f = new File( f, "xbean.dmp" );
-
-            OutputStream os = null;
-            PrintStream ps2 = null;
-
-            try
-            {
-                os = new FileOutputStream( f );
-                ps2 = new PrintStream( os );
-
-                doDump( ps2, msg, src, verbose );
-            }
-            catch ( Throwable t )
-            {
-                if (ps2 != null)
-                {
-                    ps2.println( "Exception during dump." );
-                    t.printStackTrace( ps2 );
-                }
-            }
-
-            if (os != null)
-            {
-                try { os.close(); } catch ( Exception e ) { }
-            }
-        }
-
-        try
-        {
-            doDump( ps, msg, src, verbose );
-        }
-        catch ( Throwable t )
-        {
-            System.out.println( "Exception during dump." );
-            t.printStackTrace( System.out );
-        }
-    }
-
-    static class DumpNsManager implements NamespaceManager
-    {
-        DumpNsManager ( PrintStream ps )
-        {
-            this.ps = ps;
-        }
-
-        public String find_prefix_for_nsuri ( String uri, String suggestion )
-        {
-            String prefix = "debug_prefix_" + i++;
-
-            ps.print( " [find_prefix_for_nsuri: " );
-            ps.print( "\"" + uri + "\" (" + suggestion + ") -> " + prefix );
-            ps.print( "]" );
-
-            return prefix;
-        }
-
-        public String getNamespaceForPrefix ( String prefix )
-        {
-            if (prefix != null && prefix.equals( "xml" ))
-                return _xml1998Uri;
-
-            String uri = "debug_ns_" + i++;
-
-            ps.print( " [lookup_nsuri_for_prefix: " );
-            ps.print( prefix + " -> \"" + uri + "\"" );
-            ps.print( "]" );
-
-            return uri;
-        }
-
-        PrintStream ps;
-
-        private int i = 1;
-    }
-
-    public void doDump (
-        PrintStream ps, String msg, Object src, boolean verbose )
-    {
-        if (!_assertEnabled)
-        {
-            ps.println( "No dump produced (assert needs to be enabled)" );
-            return;
-        }
-
-        NamespaceManager nsm = new DumpNsManager( ps );
-
-        if (msg != null)
-            ps.println( msg );
-        else
-            ps.println( "Dump:" );
-
-        if (src != null)
-        {
-            if (src instanceof Cursor)
-            {
-                ps.println(
-                    "  from cursor " + ((CursorGoober)((Cursor) src)._goober).getDebugId() );
-            }
-            else if (src instanceof Splay)
-                ps.println( "  from splay " + ((Splay) src).getDebugId() );
-            else
-                ps.println( "  from src " + src );
-        }
-
-        int depth = 0;
-
-        for ( Splay s = _doc ; s != null ; s = s.nextSplay() )
-        {
-            int kind = s.getKind();
-
-            String ids = "" + s.getDebugId();
-            ids = "        ".substring( 0, 6 - ids.length() ) + ids;
-            ps.print( ids + ": " );
-
-            if (kind == END)
-                depth--;
-
-            if (!s.isRoot())
-            {
-                for ( int i = 0 ; i < depth ; i++ )
-                    ps.print( "  " );
-            }
-
-            dumpGoobersInline( ps, s, 0 );
-
-            switch ( kind )
-            {
-            case DOC :
-                ps.print( "DOC" );
-                break;
-
-            case BEGIN :
-            {
-                Begin b = (Begin) s;
-
-                if (!b.isLeaf())
-                    depth++;
-
-                ps.print( "<" );
-                ps.print( s.getName().toString() );
-                ps.print( ">" );
-
-                if (b.isLeaf())
-                {
-                    if (b.getCchValue() > 0)
-                    {
-                        ps.print( "\"" );
-                        dumpText( ps, s.getCpSlow(), b.getCchValue(), s, 1 );
-                        ps.print( "\"" );
-                    }
-
-                    dumpGoobersInline( ps, s, s.getPosLeafEnd() );
-
-                    ps.print( "</" );
-                    ps.print( s.getName().getLocalPart() );
-                    ps.print( "/>" );
-                }
-
-                break;
-            }
-
-            case ATTR :
-            {
-                if (s.isXmlns())
-                {
-                    ps.print( "#xmlns:" );
-                    ps.print( s.getName().getLocalPart() );
-                    ps.print( "=\"" );
-                    ps.print( s.getName().getNamespaceURI() );
-                    ps.print( "\"" );
-                }
-                else
-                {
-                    ps.print( "@" );
-                    ps.print( s.getName() );
-                    ps.print( "=\"" );
-                    dumpText( ps, s.getCpSlow(), s.getCchValue() );
-                    ps.print( "\"" );
-                }
-
-                break;
-            }
-
-            case END :
-            {
-                End es = (End) s;
-                Begin b = es._begin;
-
-                ps.print( "</" );
-                ps.print( b.getName().getLocalPart() );
-                ps.print( "/>" );
-
-                break;
-            }
-
-            case COMMENT :
-            {
-                if (s.isFragment())
-                {
-                    ps.print( "FRAG" );
-                }
-                else
-                {
-                    ps.print( "<!--" );
-                    dumpText( ps, s.getCpSlow(), s.getCchValue() );
-                    ps.print( "-->" );
-                }
-                break;
-            }
-
-            case PROCINST :
-            {
-                ps.print( "<?" );
-                ps.print( s.getLocal() );
-                ps.print( " " );
-                dumpText( ps, s.getCpSlow(), s.getCchValue() );
-                ps.print( "?>" );
-                break;
-            }
-
-            case ROOT :
-            {
-                ps.print( "ROOT" );
-                break;
-            }
-
-            default:
-                throw new RuntimeException( "Unknown splay kind" );
-            }
-
-            if (s.getCchAfter() > 0)
-            {
-                ps.print( "\"" );
-
-                dumpText(
-                    ps, s.getCpSlow() + s.getCchValue(), s.getCchAfter(),
-                    s, s.getPosAfter() );
-
-                ps.print( "\"" );
-            }
-
-            dumpGoobersInline( ps, s, s.getEndPos() );
-
-            if (s.isInvalid())
-            {
-                String value = s.peekType().build_text( nsm );
-
-                ps.print( " [invalid:" );
-                ps.print( "\"" );
-                dumpString( ps, value );
-                ps.print( "\"" );
-                ps.print( "]" );
-            }
-
-            dumpGoobers( ps, s._goobers );
-
-            if (verbose)
-            {
-                switch ( kind )
-                {
-                case BEGIN :
-                {
-                    Begin b = (Begin) s;
-
-                    if (b.getFinish() != null)
-                    {
-                        ps.print( " [end: " );
-                        ps.print( b.getFinish().getDebugId() );
-                        ps.print( "]" );
-                    }
-
-                    if (b.getContainer() != null)
-                    {
-                        ps.print(
-                            " [container: " +
-                                b.getContainer().getDebugId() + "]" );
-                    }
-
-                    break;
-                }
-
-                case END :
-                {
-                    End es = (End) s;
-                    Begin b = es._begin;
-
-                    ps.print( " [begin: " + b.getDebugId() + "]" );
-
-                    break;
-                }
-                }
-            }
-
-            ps.println();
-        }
-
-        ps.println();
-
-        if (getCchLeft() > _text.length())
-        {
-            ps.println(
-                "Text buffer has too few characters (" +
-                    (getCchLeft() - _text.length()) + ")" );
-        }
-        else if (getCchLeft() < _text.length())
-        {
-            ps.println(
-                "Text buffer has too many characters (" +
-                    (_text.length() - getCchLeft()) + "): " );
-
-            dumpString(
-                ps,
-                _text.fetch( getCchLeft(), _text.length() - getCchLeft() ) );
-        }
-
-        if (verbose)
-        {
-            ps.println( "Splay tree:" );
-
-            ps.println( "  isLeftOnly: " + _leftOnly );
-            ps.println( "  version: " + getVersion() );
-            ps.println( "  first: " + _doc.getDebugId() );
-
-            ps.println();
-            dumpSplayTree( this, ps );
-            ps.println();
-            ps.println();
-        }
-
-        ps.println();
-    }
-
-    /**
-     * Insert a splay (or splays) into the tree.  This is a low level
-     * operation, and operates only on the splay aspect of the tree.
-     * Any invalidation maintenance must be handled by callers.
-     */
-
-    void insertSplay ( Splay s, Splay a )
-    {
-        assert s != null;
-        assert !s.isRoot();
-        assert a != null;
-        assert Root.dv > 0 || validateSplayTree();
-        assert !a.isRoot();
-        assert Root.dv > 0 || a.getRootSlow() == this;
-        assert s._parentSplay == null;
-        assert s._rightSplay == null;
-        assert s._leftSplay != null || s.getCchLeft() == 0;
-        assert s._leftSplay != null || s.getCdocBeginLeft() == 0;
-
-        int cch = s.getCch();
-        int cbegin = s.getCdocBegin();
-
-        if (s._leftSplay != null)
-        {
-            cch += s.getCchLeft();
-            cbegin += s.getCdocBeginLeft();
-            _leftOnly = false;
-        }
-
-        if (_leftOnly && a == _leftSplay)
-        {
-            s._leftSplay = _leftSplay;
-            s._parentSplay = this;
-
-            assert s.getCchLeft() == 0;
-            s.adjustCchLeft(
-                _leftSplay.getCchLeft() + _leftSplay.getCch() );
-
-            assert s.getCdocBeginLeft() == 0;
-            s.adjustCdocBeginLeft(
-                _leftSplay.getCdocBeginLeft() + _leftSplay.getCdocBegin() );
-
-            _leftSplay._parentSplay = s;
-            _leftSplay = s;
-
-            adjustCchLeft( cch );
-            adjustCdocBeginLeft( cbegin );
-        }
-        else if (_leftOnly && cch == 0 && cbegin == 0)
-        {
-            //
-            // If the splay to insert has no cch or cbegin, then when
-            // the tree is left only children, I need not splay.
-            //
-
-            s._parentSplay = a._parentSplay;
-            s._leftSplay = a;
-            a._parentSplay = s;
-            s._parentSplay._leftSplay = s;
-
-            s.adjustCchLeft( a.getCchLeft() + a.getCch() );
-
-            s.adjustCdocBeginLeft(
-                a.getCdocBeginLeft() + a.getCdocBegin() );
-        }
-        else
-        {
-            Splay p;
-
-            if (a._rightSplay == null)
-            {
-                (p = a)._rightSplay = s;
-                _leftOnly = false;
-            }
-            else
-            {
-                for ( p = a._rightSplay ; p._leftSplay != null ; )
-                    p = p._leftSplay;
-
-                p._leftSplay = s;
-            }
-
-            s._parentSplay = p;
-
-            for ( p = s ; ; )
-            {
-                Splay t = p._parentSplay;
-
-                if (t == null)
-                    break;
-
-                if (t._leftSplay == p)
-                {
-                    t.adjustCchLeft( cch );
-                    t.adjustCdocBeginLeft( cbegin );
-                }
-
-                p = t;
-            }
-
-            s.splay( this, this );
-        }
-
-        assert validateSplayTree();
-    }
-
-    /**
-     * Special insert to insert a single splay into a leftonly tree without
-     * causing the tree to go non left only.  Because this does not splay,
-     * doing this too many times can be very inefficient.
-     */
-    
-    void insertSingleSplaySansSplayInLeftOnlyTree ( Splay s, Splay a )
-    {
-        assert _leftOnly;
-        assert s._rightSplay == null;
-        assert s._leftSplay == null;
-
-        s._leftSplay = a;
-        s._parentSplay = a._parentSplay;
-        a._parentSplay._leftSplay = s;
-        a._parentSplay = s;
-
-        s.adjustCchLeft( a.getCchLeft() + a.getCch() );
-        s.adjustCdocBeginLeft( a.getCdocBeginLeft() + a.getCdocBegin() );
-        
-        int cch = s.getCch();
-        int cbegin = s.getCdocBegin();
-        
-        for ( Splay p = s._parentSplay ; p != null ; p = p._parentSplay )
-        {
-            p.adjustCchLeft( cch );
-            p.adjustCdocBeginLeft( cbegin );
-        }
-    }
-            
-    /**
-     * Remove [ first, last ) splays from total sequence:
-     *
-     *     A - first - B - x - last - C
-     *
-     * where first, last and x are individual splays and A, B and C are
-     * multiple, intervening splays.  Return the result with x at the top
-     * and first his left child.  This allows x to have the splay
-     * characteristics for the whole removed tree.
-     */
-
-    Splay removeSplays ( Splay first, Splay last )
-    {
-        assert validateSplayTree();
-        assert first != last;;
-        assert !first.isRoot();
-        assert !first.isDoc();
-        assert Root.dv > 0 || first.getRootSlow() == this;
-        assert Root.dv > 0 || last.getRootSlow() == this;
-        assert Root.dv > 0 || first.compareSlow( last ) == -1;
-        assert !last.isRoot() || last == this;
-
-        Splay x = last.prevSplay();
-
-        if (x == first)
-            return x.removeSplay( this );
-
-        // Make the dog leg!
-
-        if (last != this)
-            last.splay( this, this );
-
-        x.splay( this, last );
-        first.splay( this, x );
-
-        assert this == last || this._leftSplay == last;
-        assert last._leftSplay == x;
-        assert x._leftSplay == first;
-        assert x._rightSplay == null;
-        assert first._leftSplay != null;
-
-        int firstCchLeft = first.getCchLeft();
-        int firstCbeginLeft = first.getCdocBeginLeft();
-
-        int deltaCchLeft = firstCchLeft - last.getCchLeft();
-        int deltaCbeginLeft = firstCbeginLeft - last.getCdocBeginLeft();
-
-        last.adjustCchLeft( deltaCchLeft );
-        last.adjustCdocBeginLeft( deltaCbeginLeft );
-
-        if (last != this)
-        {
-            adjustCchLeft( deltaCchLeft );
-            adjustCdocBeginLeft( deltaCbeginLeft );
-        }
-
-        x.adjustCchLeft( - firstCchLeft );
-        x.adjustCdocBeginLeft( - firstCbeginLeft );
-
-        first.adjustCchLeft( - firstCchLeft );
-        first.adjustCdocBeginLeft( - firstCbeginLeft );
-
-        assert first.getCchLeft() == 0;
-        assert first.getCdocBeginLeft() == 0;
-
-        assert x.getCchLeft() + deltaCchLeft + x.getCch() == 0;
-        assert x.getCdocBeginLeft() + deltaCbeginLeft + x.getCdocBegin() == 0;
-
-        first._leftSplay._parentSplay = last;
-        last._leftSplay = first._leftSplay;
-        x._parentSplay = null;
-
-        first._leftSplay = null;
-        first._parentSplay = null;
-
-        assert validateSplayTree();
-
-        return x;
-    }
-
-    public static synchronized boolean disableStoreValidation ( )
-        { dv++; return true; }
-
-    public static synchronized boolean enableStoreValidation  ( )
-        { dv--; return true; }
-
-    public static int dv;
-
-    {
-        if (!"true".equals( System.getProperty( "treeasserts" )))
-            disableStoreValidation();
-    }
-
-    public boolean validate ( )
-    {
-        if (dv != 0)
-            return true;
-
-        try
-        {
-            return doValidate();
-        }
-        catch ( RuntimeException rte )
-        {
-            System.out.println( "Document invalid: " + rte.getMessage() );
-            rte.printStackTrace();
-            dump( true );
-            throw rte;
-        }
-    }
-
-    //
-    // Recursive descent validation of the content of the document
-    //
-    // Grammer for valid content of a document
-    //
-    // <doc>        ::= DOC <attributes> <content> ROOT
-    // <attributes> ::= ( ATTR )*
-    // <content>    ::= ( ( COMMENT | PROCINST | <element>) )*
-    // <element>    ::= ( LEAF  <attributes> ) |
-    //                    ( BEGIN <attributes> <content> END )
-    //
-
-    private Splay validateAttributes ( Splay s )
-    {
-        while ( s.getKind() == ATTR )
-            s = s.nextSplay();
-
-        return s;
-    }
-
-    private Splay validateContent ( Splay s )
-    {
-        for ( ; ; )
-        {
-            int k = s.getKind();
-
-            if (k == COMMENT || k == PROCINST)
-                s = s.nextSplay();
-            else
-            {
-                Splay q = s;
-                s = validateElement( s );
-
-                if (q == s)
-                    break;
-            }
-        }
-
-        return s;
-    }
-
-    private Splay validateElement ( Splay s )
-    {
-        if (s.getKind() == BEGIN)
-        {
-            Splay b = s;
-
-            s = validateAttributes( s.nextSplay() );
-
-            if (!b.isLeaf())
-            {
-                s = validateContent( s );
-
-                assert s.isEnd(): "Missing END, splay: " + s.getDebugId();
-
-                s = s.nextSplay();
-            }
-        }
-
-        return s;
-    }
-
-    private boolean validateDoc ( )
-    {
-        Splay s = _doc.nextSplay();
-
-        s = validateAttributes( s );
-
-        s = validateContent( s );
-
-        assert s.isRoot(): "Expected root";
-
-        return true;
-    }
-
-    private static class ValidateContext
-    {
-        int _numSplayTypes;
-        int _cInvalidatableTypes;
-        int _cElemOrderSensitiveTypes;
-    }
-
-    private void validateGoober ( Goober g, Splay s, ValidateContext context )
-    {
-        if (g instanceof Type)
-        {
-            assert g.getKind() == TYPE;
-            assert s.isTypeable();
-
-            context._numSplayTypes++;
-
-            Type type = (Type) g;
-
-            if (type.uses_invalidate_value())
-                context._cInvalidatableTypes++;
-
-            if (type.is_child_element_order_sensitive())
-                context._cElemOrderSensitiveTypes++;
-        }
-        else
-        {
-            assert g.getKind() != TYPE;
-        }
-
-        assert g.getSplay() == s;
-        assert g.getRoot() == this;
-        assert g.getPos() >= 0;
-        assert g.getPos() <= s.getMaxPos();
-    }
-
-    private boolean doValidate ( )
-    {
-        assert validateDoc();
-        assert validateSplayTree();
-        assert getCchLeft() == _text.length();
-
-        validateChangeListenerState();
-
-// TODO: Validate that is the root type is null, there are no types in
-// tree at all
-
-// TODO: Check the invarient that if there is a Type anywhere
-// in the document, that there is an existing chain of types
-// all the way to the root and is_ok_element_user or is_ok_attribute_user,
-// depending on the case, returns ok.
-
-        ValidateContext context = new ValidateContext();
-
-        Container recentContainer = null;
-
-        for ( Splay s = _doc ; s != null ; s = s.nextSplay() )
-        {
-            if (s.isRoot())
-            {
-                assert s.getCchAfter() == 0;
-            }
-            else if (s.isBegin())
-            {
-                Begin b = (Begin) s;
-
-                assert b.getName() != null;
-
-                assert
-                    b.getFinish() == null ||
-                        b.getFinish().getContainer() == b;
-
-                if (b.isLeaf())
-                {
-                    assert b.getFinish() == null;
-                }
-                else
-                {
-                    assert b.getFinish() != null;
-                    assert b.getFinish().getContainer() == b;
-                    assert b.getCchValue() == 0;
-                }
-            }
-            else if (s.isAttr())
-            {
-                assert s.getName() != null;
-                assert s.getCchAfter() == 0;
-            }
-
-            if (s.isProcinst())
-            {
-                assert s.getName().getNamespaceURI() != null;
-                assert s.getName().getNamespaceURI().length() == 0;
-            }
-
-            if (s.isContainer())
-            {
-                assert s.getContainer() == recentContainer;
-
-                if (!s.isLeaf())
-                    recentContainer = (Container) s;
-            }
-            else if (s.isFinish())
-            {
-                assert s.getContainer() == recentContainer;
-                recentContainer = recentContainer.getContainer();
-            }
-
-            context._numSplayTypes = 0;
-
-            for ( Goober g = s.firstGoober() ; g != null ;
-                  g = s.nextGoober( g ) )
-            {
-                validateGoober( g, s, context );
-            }
-
-            if (isInvalid())
-            {
-                assert s.isTypeable();
-                assert s.peekType() != null;
-
-                assert context._numSplayTypes == 1;
-
-                if (s.isDoc())
-                {
-                    assert s.getCchAfter() == 0;
-                    Splay n = s.nextNonAttrSplay();
-
-                    assert n.isRoot();
-                }
-                else if (s.isBegin())
-                {
-                    assert s.isLeaf();
-                    assert s.getCchValue() == 0;
-                }
-                else if (s.isAttr())
-                {
-                    assert s.getCchValue() == 0;
-                }
-            }
-            else
-            {
-                assert context._numSplayTypes <= 1;
-            }
-        }
-
-        assert context._cInvalidatableTypes == _cInvalidatableTypes;
-        assert context._cElemOrderSensitiveTypes ==_cElemOrderSensitiveTypes;
-
-        // TODO: Validate indices
-
-        return true;
-    }
-
-    boolean validateSplayTree ( )
-    {
-        if (dv != 0)
-            return true;
-
-        try
-        {
-            return doValidateSplayTree();
-        }
-        catch ( RuntimeException rte )
-        {
-            System.out.println( "Splay tree invalid: " + rte );
-
-            dump( true );
-
-            throw rte;
-        }
-    }
-
-    private static class ValidateStats extends HashMap
-    {
-        int getCch ( Splay s )
-        {
-            return getStats( s )._cch;
-        }
-
-        void adjustCch ( Splay s, int cchDelta )
-        {
-            Stats stats = getStats( s );
-            stats._cch += cchDelta;
-        }
-
-        int getCbegin ( Splay s )
-        {
-            return getStats( s )._cbegin;
-        }
-
-        void adjustCbegin ( Splay s, int cbeginDelta )
-        {
-            Stats stats = getStats( s );
-            stats._cbegin += cbeginDelta;
-        }
-
-        private Stats getStats ( Splay s )
-        {
-            Stats stats = (Stats) get( s );
-
-            if (stats == null)
-                put( s, stats = new Stats() );
-
-            return stats;
-        }
-
-        private static class Stats
-        {
-            public int _cch;
-            public int _cbegin;
-        }
-    }
-
-    boolean doValidateSplayTree ( )
-    {
-        assertAssertEnabled();
-
-        ValidateStats stats = new ValidateStats();
-
-        assert _parentSplay == null;
-        assert _rightSplay  == null;
-        assert _doc._leftSplay == null;
-
-        Splay s = this;
-
-        if (s._leftSplay != null)
-        {
-            s = s._leftSplay;
-
-            while ( s != null && s._leftSplay != null )
-                s = s._leftSplay;
-        }
-
-        assert s == _doc;
-
-        loop:
-        for ( ; ; )
-        {
-            if (s._leftSplay == null && s._rightSplay == null)
-            {
-                stats.adjustCch( s, s.getCch() );
-                stats.adjustCbegin( s, s.getCdocBegin() );
-            }
-
-            if (s._rightSplay != null)
-            {
-                for ( s = s._rightSplay ; s._leftSplay != null ; )
-                    s = s._leftSplay;
-            }
-            else
-            {
-                for ( ; ; )
-                {
-                    Splay p = s._parentSplay;
-
-                    if (p == null)
-                        break loop;
-
-                    if (p._rightSplay == null || p._rightSplay == s)
-                    {
-                        s = p;
-
-                        stats.adjustCch( s, s.getCch() );
-                        stats.adjustCbegin( s, s.getCdocBegin() );
-
-                        if (s._leftSplay != null)
-                        {
-                            stats.adjustCch( s, stats.getCch( s._leftSplay ) );
-
-                            stats.adjustCbegin(
-                                s, stats.getCbegin( s._leftSplay ) );
-                        }
-
-                        if (s._rightSplay != null)
-                        {
-                            stats.adjustCch( s, stats.getCch( s._rightSplay ) );
-
-                            stats.adjustCbegin(
-                                s, stats.getCbegin( s._rightSplay ) );
-                        }
-                    }
-                    else
-                    {
-                        assert p._leftSplay == s;
-                        assert p._rightSplay != null;
-
-                        s = p._rightSplay;
-
-                        while ( s._leftSplay != null )
-                            s = s._leftSplay;
-
-                        break;
-                    }
-                }
-            }
-        }
-
-        for ( s = _doc ; s != null ; s = s.nextSplay() )
-        {
-            assert !_leftOnly || s._rightSplay == null: "" + s.getDebugId();
-            assert s._leftSplay  == null || s._leftSplay ._parentSplay == s;
-            assert s._rightSplay == null || s._rightSplay._parentSplay == s;
-
-            if (s._leftSplay == null)
-            {
-                assert s.getCchLeft() == 0;
-                assert s.getCdocBeginLeft() == 0;
-            }
-            else
-            {
-                assert
-                    s.getCchLeft() == stats.getCch( s._leftSplay ):
-                        "" + s.getDebugId();
-
-                assert s.getCdocBeginLeft() == stats.getCbegin( s._leftSplay );
-            }
-        }
-
-        return true;
-    }
-
-    //
-    //
-    //
-
-    interface ChangeListener
-    {
-        void changeNotification ( );
-    }
-
-    private static class ChangeClient
-    {
-        ChangeListener _listener;
-        ChangeClient   _next;
-    }
-
-    long getVersion ( )
-    {
-        return __version;
-    }
-
-    void invalidateVersion ( )
-    {
-        assert _changeClients == null;
-
-        __version++;
-
-        assert (_debugChangeVersion = __version) == 0 || true;
-    }
-
-    // Use this *only* if you know what you are doing!
-    void restoreVersion ( long oldVersion )
-    {
-        assert __version >= oldVersion;
-        __version = oldVersion;
-        assert (_debugChangeVersion = __version) == 0 || true;
-    }
-
-    boolean validateChangeStarted ( )
-    {
-        assert _changeClients == null;
-        return _changeClients == null;
-    }
-
-    boolean validateChangeListenerState ( )
-    {
-        assert _debugChangeVersion == __version;
-        return true;
-    }
-
-    void registerForChange ( ChangeListener listener )
-    {
-        assert validateChangeListenerState();
-
-        // See if this listener is the first one on the list.  Easy but not
-        // totally complete  optimization
-
-        if (_changeClients != null && _changeClients._listener == listener)
-            return;
-
-        ChangeClient client = new ChangeClient();
-
-        client._next = _changeClients;
-        client._listener = listener;
-        _changeClients = client;
-    }
-
-    void startChange ( )
-    {
-        assert validateChangeListenerState();
-
-        long currentVersion = 0;
-
-        assert (currentVersion = __version) == 0 || true;
-
-        while ( _changeClients != null )
-        {
-            _changeClients._listener.changeNotification();
-            _changeClients = _changeClients._next;
-        }
-
-        assert currentVersion == __version;
-    }
-
-    //
-    // Document properties
-    //
-
-    static class DocProps
-        extends XmlDocumentProperties
-    {
-        private HashMap _map = new HashMap();
-
-        public Object put ( Object key, Object value )
-        {
-            return _map.put( key, value );
-        }
-
-        public Object get ( Object key )
-        {
-            return _map.get( key );
-        }
-
-        public Object remove ( Object key )
-        {
-            return _map.remove( key );
-        }
-    }
-
-    class nthCache
-    {
-        private boolean namesSame ( QName pattern, QName name )
-        {
-            return pattern == null || pattern.equals( name );
-        }
-
-        private boolean setsSame ( QNameSet patternSet, QNameSet set)
-        {
-            // value equality is probably too expensive. Since the use case
-            // involves QNameSets that are generated by the compiler, we
-            // can use identity comparison.
-            return patternSet != null && patternSet == set;
-        }
-
-        private boolean nameHit(QName namePattern,  QNameSet setPattern, QName name)
-        {
-            if (setPattern == null)
-                return namesSame(namePattern, name);
-            else
-                return setPattern.contains(name);
-        }
-
-        private boolean cacheSame (QName namePattern,  QNameSet setPattern)
-        {
-            return setPattern == null ? namesSame(namePattern, _name) :
-                setsSame(setPattern, _set);
-        }
-
-        int distance ( Splay parent, QName name, QNameSet set, int n )
-        {
-            assert n >= 0;
-
-            if (_version != Root.this.getVersion())
-                return Integer.MAX_VALUE - 1;
-
-            if (parent != _parent || !cacheSame(name, set))
-                return Integer.MAX_VALUE;
-
-            return n > _n ? n - _n : _n - n;
-        }
-
-        Begin fetch ( Splay parent, QName name, QNameSet set, int n )
-        {
-            assert n >= 0;
-
-            if (_version != Root.this.getVersion() || _parent != parent ||
-                  ! cacheSame(name, set) || n == 0)
-            {
-                _version = Root.this.getVersion();
-                _parent = parent;
-                _name = name;
-                _child = null;
-                _n = -1;
-
-                if (!parent.isLeaf())
-                {
-                    loop:
-                    for ( Splay s = parent.nextSplay() ; ; s = s.nextSplay() )
-                    {
-                        switch ( s.getKind() )
-                        {
-                        case END  :
-                        case ROOT : break loop;
-
-                        case BEGIN :
-                            if (nameHit( name, set, s.getName() ))
-                            {
-                                _child = s;
-                                _n = 0;
-                                break loop;
-                            }
-
-                            s = s.getFinishSplay();
-                            break;
-                        }
-                    }
-                }
-            }
-
-            if (_n < 0)
-                return null;
-
-            if (n > _n)
-            {
-                while ( n > _n )
-                {
-                    for ( Splay s = _child.getFinishSplay().nextSplay() ; ;
-                          s = s.nextSplay() )
-                    {
-                        if (s.isFinish())
-                            return null;
-
-                        if (s.isBegin())
-                        {
-                            if (nameHit( name, set, s.getName() ))
-                            {
-                                _child = s;
-                                _n++;
-                                break;
-                            }
-
-                            s = s.getFinishSplay();
-                        }
-                    }
-                }
-            }
-            else if (n < _n)
-            {
-                while ( n < _n )
-                {
-                    Splay s = _child;
-
-                    for ( ; ; )
-                    {
-                        s = s.prevSplay();
-
-                        if (s.isLeaf() || s.isEnd())
-                        {
-                            if (s.isEnd())
-                                s = s.getContainer();
-
-                            if (nameHit( name, set, s.getName() ))
-                            {
-                                _child = s;
-                                _n--;
-                                break;
-                            }
-                        }
-                        else if (s.isContainer())
-                            return null;
-                    }
-                }
-            }
-
-            return (Begin) _child;
-        }
-
-        private long     _version;
-        private Splay    _parent;
-        private QName    _name;
-        private QNameSet _set;
-        
-        private Splay _child;
-        private int   _n;
-    }
-
-    //
-    // Da fields.  Da Bears.  Ditka is God.
-    //
-
-    boolean _leftOnly;
-    Doc     _doc;
-    Text    _text;
-    boolean _validateOnSet;
-
-    //
-    // Document version.  These numbers get incremented when the document
-    // changes in a variety of ways.
-    //
-
-    private long __version = 1;
-    private long _debugChangeVersion = 1; // Debug only
-
-    private ChangeClient _changeClients;
-
-    DocProps _props;
-
-    //
-    // XmlInputStream
-    //
-
-    boolean _standAlone;
-
-    //
-    //
-    //
-
-    final SchemaTypeLoader _schemaTypeSystem;
-
-    int _cInvalidatableTypes;
-    int _cElemOrderSensitiveTypes;
-
-    //
-    //
-    //
-
-    nthCache _nthCache_A = new nthCache();
-    nthCache _nthCache_B = new nthCache();
-    TypeStoreFactory _factory;
-}
diff --git a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Saver.java b/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Saver.java
deleted file mode 100644
index 661bd36..0000000
--- a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Saver.java
+++ /dev/null
@@ -1,4776 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.store;
-
-import org.apache.xmlbeans.impl.common.Chars;
-import org.apache.xmlbeans.impl.common.EncodingMap;
-import org.apache.xmlbeans.impl.common.GenericXmlInputStream;
-import org.apache.xmlbeans.impl.common.ValidatorListener;
-import org.apache.xmlbeans.impl.common.XmlEventBase;
-import org.apache.xmlbeans.impl.common.XmlNameImpl;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.impl.store.Splay.Container;
-import org.apache.xmlbeans.impl.store.Splay.Xmlns;
-import org.apache.xmlbeans.impl.values.NamespaceManager;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlOptions;
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.ConcurrentModificationException;
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilderFactory;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-import weblogic.xml.stream.Attribute;
-import weblogic.xml.stream.AttributeIterator;
-import weblogic.xml.stream.ChangePrefixMapping;
-import weblogic.xml.stream.CharacterData;
-import weblogic.xml.stream.Comment;
-import weblogic.xml.stream.EndDocument;
-import weblogic.xml.stream.EndElement;
-import weblogic.xml.stream.EndPrefixMapping;
-import weblogic.xml.stream.Location;
-import weblogic.xml.stream.ProcessingInstruction;
-import weblogic.xml.stream.StartDocument;
-import weblogic.xml.stream.StartElement;
-import weblogic.xml.stream.StartPrefixMapping;
-import weblogic.xml.stream.XMLEvent;
-import weblogic.xml.stream.XMLName;
-import weblogic.xml.stream.XMLStreamException;
-
-public abstract class Saver implements NamespaceManager
-{
-    //
-    //
-    //
-    
-    private final Object monitor()
-    {
-        return _root;
-    }
-
-    Saver ( Root r, Splay s, int p, XmlOptions options )
-    {
-        assert Root.dv > 0 || s.getRootSlow() == r;
-
-        // Input s and p must be normalized already
-        assert p < s.getEndPos();
-
-        _root = r;
-        _top = _splay = s;
-        _pos = p;
-        _version = r.getVersion();
-        _sb = new StringBuffer();
-        _attrs = new LinkedHashMap();
-        _attrNames = new HashSet();
-        _firstPush = true;
-        
-        _newLine = System.getProperty( "line.separator" );
-
-        if (_newLine == null)
-            _newLine = "\n";
-
-        // Initialize the state of the namespaces
-        _namespaceStack = new ArrayList();
-        _uriMap = new HashMap();
-        _prefixMap = new HashMap();
-
-        // Stops the synthesis of this namspace and make for better
-        // roundtripping 
-        addMapping( "xml", Splay._xml1998Uri );
-
-        // Check for implicit namespaces
-        
-        options = XmlOptions.maskNull( options );
-
-        if (options.hasOption( XmlOptions.SAVE_IMPLICIT_NAMESPACES ))
-        {
-            Map m = (Map) options.get( XmlOptions.SAVE_IMPLICIT_NAMESPACES );
-            
-            for ( Iterator i = m.keySet().iterator() ; i.hasNext() ; )
-            {
-                String prefix = (String) i.next();
-                addMapping( prefix, (String) m.get( prefix ) );
-            }
-        }
-
-        if (options.hasOption( XmlOptions.SAVE_SUGGESTED_PREFIXES ))
-            _suggestedPrefixes = (Map) options.get( XmlOptions.SAVE_SUGGESTED_PREFIXES);
-        
-        // If the default prefix has not been mapped, do so now
-        
-        if (getNamespaceForPrefix( "" ) == null)
-        {
-            _initialDefaultUri = new String( "" );
-            addMapping( "", _initialDefaultUri );
-        }
-
-        _saveNamespacesFirst = options.hasOption( XmlOptions.SAVE_NAMESPACES_FIRST );
-
-        if (_prettyPrint = options.hasOption( XmlOptions.SAVE_PRETTY_PRINT ))
-        {
-            _prettyIndent = 2;
-
-            if (options.hasOption( XmlOptions.SAVE_PRETTY_PRINT_INDENT ))
-            {
-                _prettyIndent =
-                    ((Integer) options.get( XmlOptions.SAVE_PRETTY_PRINT_INDENT )).intValue();
-            }
-
-            if (options.hasOption( XmlOptions.SAVE_PRETTY_PRINT_OFFSET ))
-            {
-                _prettyOffset =
-                    ((Integer) options.get( XmlOptions.SAVE_PRETTY_PRINT_OFFSET )).intValue();
-            }
-        }
-
-        if (options.hasOption( XmlOptions.SAVE_AGGRESSIVE_NAMESPACES ) &&
-                !(this instanceof SynthNamespaceSaver))
-        {
-            SynthNamespaceSaver saver =
-                new SynthNamespaceSaver( r, s, p, options );
-
-            while ( saver.process() )
-                ;
-
-            if (!saver._synthNamespaces.isEmpty())
-                _preComputedNamespaces = saver._synthNamespaces;
-        }
-        
-        _useDefaultNamespace =
-            options.hasOption( XmlOptions.SAVE_USE_DEFAULT_NAMESPACE );
-
-        if (options.hasOption( XmlOptions.SAVE_FILTER_PROCINST ))
-        {
-            _filterProcinst =
-                (String) options.get( XmlOptions.SAVE_FILTER_PROCINST );
-        }
-
-        if (options.hasOption( XmlOptions.SAVE_USE_OPEN_FRAGMENT ))
-            _fragment = Splay._openuriFragment;
-        else
-            _fragment = Splay._xmlFragment;
-
-        // Outer overrides inner
-        
-        _inner =
-            options.hasOption( XmlOptions.SAVE_INNER ) &&
-                !options.hasOption( XmlOptions.SAVE_OUTER );
-        
-        if (_inner && !_top.isDoc())
-            _synthElem = _fragment;
-        
-        else if (options.hasOption( XmlOptions.SAVE_SYNTHETIC_DOCUMENT_ELEMENT ))
-        {
-            _fragment = _synthElem =
-                (QName) options.get( XmlOptions.SAVE_SYNTHETIC_DOCUMENT_ELEMENT );
-
-            if (_synthElem == null)
-                throw new IllegalArgumentException( "Null synthetic element" );
-        }
-        
-        _preProcess = true;
-    }
-
-    protected final void checkVersion ( )
-    {
-        if (_version != _root.getVersion())
-            throw new ConcurrentModificationException( "Document changed during save" );
-    }
-
-    protected final Root getRoot ( ) { return _root; }
-    protected final Map  getUriMap ( ) { return _uriMap; }
-    protected final Map  getPrefixMap ( ) { return _prefixMap; }
-
-    // emitContainer will process leaf contents and the text after a
-    // start.  All other text is processed with emitTextAfter.
-
-    protected abstract void emitXmlnsFragment ( Splay s );
-    protected abstract void emitAttrFragment ( Splay s );
-    protected abstract void emitTextFragment ( Splay s, int p, int cch );
-    protected abstract void emitCommentFragment ( Splay s );
-    protected abstract void emitProcinstFragment ( Splay s );
-
-    protected abstract void emitDocType(
-        String doctypeName, String publicID, String systemID );
-    
-    protected abstract void emitComment ( Splay s );
-    protected abstract void emitTextAfter ( Splay s, int p, int cch );
-    protected abstract void emitEnd ( Splay s, QName name );
-    protected abstract void emitProcinst ( Splay s );
-    protected abstract void emitContainer ( Container c, QName name );
-
-    // Called when a synthetic prefix is created.
-    
-    protected void syntheticNamespace (
-        String prefix, String uri, boolean considerCreatingDefault ) { }
-
-    /*
-     * It is vital that the saver does not modify the tree in the process of
-     * saving.  So, when there is invalid content or attr values which need
-     * new namespace/prefix mappings, I compute the content/values by passing
-     * the NamespaceManager implemented by the saver which can cons up mappings
-     * just for the purposes of saving without modifying the tree by adding
-     * Xmlns splays.
-     *
-     * Thus, I must not, as a byproduct of saving, validate any content/values
-     * into the tree which call back for namespace mappings which need to be
-     * created.
-     *
-     * Also, I need to compute the valid text (if a splay is invalid) before
-     * I have closed the attribute list of the enclosing container because
-     * I will have to persist out these temporary meppings before they are
-     * referenced by the values which need them.
-     */
-
-    final String text ( )
-    {
-        assert _text != null;
-        
-        return _text.toString();
-    }
-
-    final boolean noText ( )
-    {
-        assert _text != null || _sb.length() == 0;
-        assert _text == null || _text == _sb;
-        
-        return _text == null;
-    }
-
-    final void clearText ( )
-    {
-        _text = null;
-        _sb.delete( 0, _sb.length() );
-    }
-
-    final static void spaces ( StringBuffer sb, int offset, int count )
-    {
-        while ( count-- > 0 )
-            sb.insert( offset, ' ' );
-    }
-
-    final static void trim ( StringBuffer sb )
-    {
-        int i;
-
-        for ( i = 0 ; i < sb.length() ; i++ )
-            if (!Splay.isWhiteSpace( sb.charAt( i ) ))
-                break;
-
-        sb.delete( 0, i );
-
-        for ( i = sb.length() ; i > 0 ; i-- )
-            if (!Splay.isWhiteSpace( sb.charAt( i - 1 ) ))
-                break;
-
-        sb.delete( i, sb.length() );
-    }
-
-    // Call process until it returns false to save everything.
-
-    protected final boolean process ( )
-    {
-        synchronized (monitor())
-        {
-            checkVersion();
-    
-            if (_preProcess)
-            {
-                _preProcess = false;
-    
-                Splay s = _splay;
-                int   p = _pos;
-    
-                _splay = null;
-                _pos = 0;
-    
-                // Check for position right before end token.  Effectively there
-                // is nothing to save here, so save out the empty fragment.
-    
-                if ((p == 0 && s.isFinish()) ||
-                      (s.isLeaf() && p == s.getPosLeafEnd()))
-                {
-                    assert _splay == null;
-                    processTextFragment( null, 0, 0 );
-                    return true;
-                }
-    
-                // Here, if p > 0, then we're saving some text
-    
-                if (p > 0)
-                {
-                    assert !s.isLeaf() || p != s.getPosLeafEnd();
-                    processTextFragment( s, p, s.getPostCch( p ) );
-                    assert _splay == null;
-                    return true;
-                }
-    
-                if (_inner && (s.isAttr() || s.isComment() || s.isProcinst()))
-                {
-                    processTextFragment( s, 0, s.getCchValue() );
-                    return true;
-                }
-    
-                if (s.isXmlns())
-                {
-                    processXmlnsFragment( s );
-                    return true;
-                }
-                
-                if (s.isAttr())
-                {
-                    processAttrFragment( s );
-                    return true;
-                }
-                
-                if (s.isComment())
-                {
-                    processCommentFragment( s );
-                    return true;
-                }
-                
-                if (s.isProcinst())
-                {
-                    if (_filterProcinst != null &&
-                          s.getLocal().equals( _filterProcinst ))
-                    {
-                        processTextFragment( null, 0, 0 );
-                        return true;
-                    }
-                    else
-                        processProcinstFragment( s );
-    
-                    return true;
-                }
-    
-                assert s.isContainer();
-    
-                _splay = s;
-                _endSplay = s.isContainer() ? s.getFinishSplay() : s;
-            }
-    
-            // I need to break the processing of a splay into two parts.  The
-            // first part is the processing of the splay and the second part is
-            // the post processing of the splay.  In particular, the post
-            // processing, among other things, pops the mapping stack.  This
-            // is done so stuff 'saved' during the first part (the pre-process)
-            // can use the mapping stack.  When the next process comes around,
-            // the mapping stack will then be updated.
-    
-            if (_postPop)
-            {
-                popMappings();
-                _postPop = false;
-            }
-    
-            if (_postProcess)
-            {
-                assert _splay != null;
-    
-                boolean emitted = false;
-    
-                if (_splay == _endSplay)
-                    _splay = null;
-                else
-                {
-                    Splay s = _splay;
-    
-                    _splay = _splay.nextNonAttrSplay();
-    
-                    if (_skipContainerFinish)
-                    {
-                        assert s.isBegin() && !s.isLeaf() && s.getCchAfter() ==0;
-                        assert _splay.isFinish();
-    
-                        _splay = _splay == _endSplay ? null : _splay.nextSplay();
-                    }
-    
-                    if (_skipContainerFinish || s.isLeaf())
-                    {
-                        assert !_postPop;
-                        _postPop = true;
-                    }
-    
-                    if (!s.isDoc())
-                    {
-                        assert noText();
-    
-                        int cchAfter = s.getCchAfter();
-    
-                        if (_prettyPrint)
-                        {
-                            _text = _sb;
-    
-                            if (cchAfter > 0)
-                            {
-                                Root r = getRoot();
-    
-                                r._text.fetch(
-                                    _text,
-                                    s.getCpForPos( r, s.getPosAfter() ), cchAfter );
-    
-                                trim( _text );
-                            }
-    
-                            Container stop = (Container) _top;
-    
-                            if (!stop.isDoc())
-                                stop = stop.getContainer();
-    
-                            Container c = s.getContainer( s.getPosAfter() );
-    
-                            if (_text.length() > 0)
-                            {
-                                Container p = c;
-    
-                                for ( ; p != stop ; p = p.getContainer() )
-                                    spaces( _text, 0, _prettyIndent );
-    
-                                if (_prettyIndent >= 0)
-                                {
-                                    _text.insert( 0, _newLine );
-                                    spaces( _text, 1, _prettyOffset );
-                                }
-                            }
-    
-                            if (_prettyIndent >= 0)
-                            {
-                                _text.append( _newLine );
-                                spaces( _text, _text.length(), _prettyOffset );
-                            }
-    
-                            Container p = c;
-    
-                            if (s.nextNonAttrSplay().isEnd())
-                                p = p.getContainer();
-    
-                            for ( ; p != null && p != stop; p = p.getContainer() )
-                                spaces( _text, _text.length(), _prettyIndent );
-                        }
-    
-                        if (_text == null ? cchAfter > 0 : _text.length() > 0)
-                        {
-                            emitTextAfter( s, s.getPosAfter(), cchAfter );
-                            emitted = true;
-                        }
-    
-                        clearText();
-                    }
-                }
-    
-                _postProcess = false;
-    
-                // Make sure I only return false if there is *really* nothing more
-                // to process
-    
-                if (emitted)
-                    return true;
-    
-                if (_postPop)
-                {
-                    popMappings();
-                    _postPop = false;
-                }
-            }
-    
-            if (_splay == null)
-                return false;
-    
-            if (_version != getRoot().getVersion())
-                throw new IllegalStateException( "Document changed" );
-    
-            _skipContainerFinish = false;
-    
-            switch ( _splay.getKind() )
-            {
-            case Splay.DOC :
-            case Splay.BEGIN :
-            {
-                processContainer( (Container) _splay );
-                break;
-            }
-            case Splay.ROOT :
-            case Splay.END  :
-            {
-                processEnd( _splay );
-                break;
-            }
-            case Splay.COMMENT :
-            {
-                emitComment( _splay );
-                break;
-            }
-            case Splay.PROCINST :
-            {
-                if (_filterProcinst == null ||
-                        !_splay.getLocal().equals( _filterProcinst ))
-                {
-                    emitProcinst( _splay );
-                }
-                break;
-            }
-            case Splay.ATTR :
-            default :
-            {
-                assert false: "Unexpected splay kind " + _splay.getKind();
-                return false;
-            }
-            }
-    
-            _postProcess = true;
-    
-            return true;
-        }
-    }
-
-    private final void processContainer ( Container c )
-    {
-        assert c.isDoc() || c.isBegin();
-
-        QName name =
-            _synthElem != null && c == _top
-                ? _synthElem
-                : c.isBegin() ? c.getName() : null;
-
-        String nameUri = name == null ? null : name.getNamespaceURI();
-
-        // See if there is a doctype to save out
-
-        if (c.isDoc() )
-        {
-            String systemId = _root._props.getDoctypeSystemId();
-            String docTypeName = _root._props.getDoctypeName();
-            
-            if (systemId != null || docTypeName != null)
-            {
-                if (docTypeName == null && name != null)
-                    docTypeName = name.getLocalPart();
-
-                if (docTypeName == null)
-                {
-                    XmlCursor xc = _root.createCursor();
-                    
-                    if (xc.toFirstChild())
-                        docTypeName = xc.getName().getLocalPart();
-                    
-                    xc.dispose();
-                }
-
-                if (docTypeName == null && _fragment != null)
-                    docTypeName = _fragment.getLocalPart();
-
-                String publicId = _root._props.getDoctypePublicId();
-                
-                emitDocType( docTypeName, publicId, systemId );
-            }
-        }
-
-        // Add a new entry to the frontier.  If this element has a name
-        // which has no namespace, then we must make sure that pushing
-        // the mappings causes the default namespace to be empty
-
-        boolean ensureDefaultEmpty = name != null && nameUri.length() == 0;
-
-        pushMappings( c, ensureDefaultEmpty );
-
-        //
-        // There are four things which use mappings:
-        //
-        //   1) The element name
-        //   2) The element value (qname based)
-        //   3) Attribute names
-        //   4) The attribute values (qname based)
-        //
-
-        // 1) The element name (not for starts)
-
-        if (name != null)
-            ensureMapping( nameUri, null, !ensureDefaultEmpty, false );
-
-        assert noText();
-
-        if (c.isInvalid())
-        {
-            // 2) The element value
-            _text = _sb.append( c.peekType().build_text( this ) );
-        }
-
-        _attrs.clear();
-        _attrNames.clear();
-
-        for ( Splay s = c.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-        {
-            if (s.isNormalAttr() &&
-                    (_wantDupAttrs || !_attrNames.contains( s.getName() )))
-            {
-                _attrNames.add( s.getName() );
-                
-                // 3) Attribute name
-                ensureMapping( s.getUri(), null, false, true );
-
-                String invalidValue = null;
-                
-                if (s.isInvalid())
-                    invalidValue = s.peekType().build_text( this ); // #4
-
-                _attrs.put( s, invalidValue );
-            }
-        }
-
-        // emitContainer handles text only for leaves and starts
-
-        if (_prettyPrint && (c.isDoc() || c.isLeaf()))
-        {
-            if (_text == null)
-            {
-                Root r = getRoot();
-
-                r._text.fetch(
-                    _text = _sb,
-                    r.getCp( c ),
-                    c.isLeaf() ? c.getCchValue() : c.getCch() );
-            }
-
-            trim( _text );
-
-            if (c.isDoc())
-            {
-                spaces( _text, 0, _prettyOffset );
-
-                if (_text.length() > _prettyOffset)
-                {
-                    if (_prettyIndent >= 0)
-                    {
-                        _text.insert( 0, _newLine );
-                        spaces( _text, 1, _prettyOffset );
-                        _text.append( _newLine );
-                        spaces( _text, _text.length(), _prettyOffset );
-                    }
-                }
-            }
-        }
-
-        // derived savers may want to test the stuff being stored to
-        // see if is well formed or not in order to save out a
-        // fragment.  Do this here when emitting the first container if
-        // that container is the root (if not the root, then we are
-        // well formed)
-
-        if (_wantFragTest && name == null)
-        {
-            if ((_text != null && !Splay.isWhiteSpace( _text )) ||
-                  !c.isAfterWhiteSpace( getRoot() ))
-            {
-                _needsFrag = true;
-            }
-            else
-            {
-                assert !c.isLeaf();
-                
-                Splay s = c.nextSplay();
-
-                // Check for leaf anyways -- sometimes it happens!
-                if (c.isLeaf() || s.isAttr() || hasMappings())
-                    _needsFrag = true;
-                else
-                {
-                    boolean sawBegin = false;
-                    Splay cEnd = c.getFinishSplay();
-
-                    for ( ; s != cEnd ; s = s.nextSplay() )
-                    {
-                        if (s.isBegin())
-                        {
-                            if (sawBegin)
-                            {
-                                _needsFrag = true;
-                                break;
-                            }
-
-                            sawBegin = true;
-                            s = s.getFinishSplay();
-                        }
-
-                        if (!s.isAfterWhiteSpace( getRoot() ))
-                        {
-                            _needsFrag = true;
-                            break;
-                        }
-                    }
-
-                    if (!sawBegin)
-                        _needsFrag = true;
-                }
-            }
-        }
-
-        // If I am doing aggressive namespaces and we're emitting a
-        // container which can contain content, add the namespaces
-        // we've computed.  Basically, I'm making sure the pre-computed
-        // namespaces are mapped on the first container which has a name.
-
-        if (_preComputedNamespaces != null && (name != null || _needsFrag))
-        {
-            for ( Iterator i = _preComputedNamespaces.keySet().iterator() ; i.hasNext() ; )
-            {
-                String uri = (String) i.next();
-                
-                ensureMapping(
-                    uri, null,
-                    _preComputedNamespaces.get( uri ) != null && !ensureDefaultEmpty, false );
-            }
-
-            // Set to null so we do this once at the top
-            _preComputedNamespaces = null;
-        }
-
-        if (_wantFragTest)
-        {
-            // See if I need to gen a fragment for the document
-
-            assert name != null || (c.isDoc() && _synthElem == null);
-
-            if (name == null)
-            {
-                if (_needsFrag)
-                {
-                    name = _fragment;
-                    ensureFragmentNamespace();
-                    _docElem = name;
-                }
-            }
-            else if (c.isDoc())
-                _docElem = name;
-        }
-
-        emitContainer( c, name );
-
-        clearText();
-    }
-
-    private void processEnd ( Splay s )
-    {
-        Container c = s.getContainer();
-        
-        QName name =
-            _synthElem != null && c == _top
-                ? _synthElem
-                : c.isBegin() ? c.getName() : null;
-        
-        if (_wantFragTest && name == null)
-        {
-            boolean isRoot = s.isRoot();
-
-            if (!isRoot || _docElem != null)
-            {
-                name = 
-                    isRoot
-                        ? _docElem
-                        : (s.isEnd() ? s.getContainer() : s ).getName();
-            }
-        }
-
-        emitEnd( _splay, name );
-
-        assert !_postPop;
-
-        _postPop = true;
-    }
-
-    private final void pushFragmentMappings ( Splay s )
-    {
-        // mask the initial frame to hide default mappings
-        
-        pushMappings(
-            s == null ? null : s.getContainer(),
-            _fragment.getNamespaceURI().length() == 0 );
-        
-        ensureFragmentNamespace();
-    }
-
-    private final void processXmlnsFragment ( Splay s )
-    {
-        // Saving a default xmlns mapping is dangerous, just spit out empty
-        // text
-        
-        if (s.getLocal().length() == 0)
-        {
-            pushFragmentMappings( null );
-            _text = _sb;
-            emitTextFragment( s, 0, 0 );
-        }
-        else
-        {
-            pushFragmentMappings( null );
-            ensureMapping( s.getUri(), s.getLocal(), false, true );
-            emitXmlnsFragment( s );
-        }
-    }
-
-    private final void processCommentFragment ( Splay s )
-    {
-        pushFragmentMappings( null );
-        emitCommentFragment( s );
-    }
-
-    private final void processProcinstFragment ( Splay s )
-    {
-        pushFragmentMappings( null );
-        emitProcinstFragment( s );
-    }
-    
-    /**
-     * This is called only when a single attr is being saved.  It is not called
-     * as a consequence of saving out a container.
-     */
-
-    private final void processAttrFragment ( Splay s )
-    {
-        assert s.isNormalAttr();
-
-        pushFragmentMappings( s );
-
-        ensureMapping( s.getUri(), null, false, true );
-
-        assert noText();
-
-        if (s.isInvalid())
-        {
-            // TODO - pass StringBuffer to buildText to save object creation
-            _text = _sb.append( s.peekType().build_text( this ) );
-        }
-
-        emitAttrFragment( s );
-
-        clearText();
-    }
-
-    /**
-     * This is called only when a single chunk of text is to be saved.
-     * It is not called as a consequence of saving out a container.
-     */
-
-    private final void processTextFragment ( Splay s, int p, int cch )
-    {
-        // Only need to save ancestor namespace mappings if there could be a
-        // qname here.  If the text is of length 0, then there is no qname.
-
-        Splay c = null;
-        
-        if ((_text != null && _text.length() > 0) || (s != null && cch > 0))
-            c = s.getContainer( p );
-        
-        pushFragmentMappings( c );
-
-        emitTextFragment( s, p, cch );
-    }
-
-    //
-    // Layout of namespace stack:
-    //
-    //    URI Undo
-    //    URI Rename
-    //    Prefix Undo
-    //    Mapping
-    //
-
-    boolean hasMappings ( )
-    {
-        int i = _namespaceStack.size();
-
-        return i > 0 && _namespaceStack.get( i - 1 ) != null;
-    }
-
-    void iterateMappings ( )
-    {
-        _currentMapping = _namespaceStack.size();
-
-        while ( _currentMapping > 0 &&
-                  _namespaceStack.get( _currentMapping - 1 ) != null )
-        {
-            _currentMapping -= 8;
-        }
-    }
-
-    boolean hasMapping ( )
-    {
-        return _currentMapping < _namespaceStack.size();
-    }
-
-    void nextMapping ( )
-    {
-        _currentMapping += 8;
-    }
-
-    String mappingPrefix ( )
-    {
-        assert hasMapping();
-        return (String) _namespaceStack.get( _currentMapping + 6 );
-    }
-
-    String mappingUri ( )
-    {
-        assert hasMapping();
-        return (String) _namespaceStack.get( _currentMapping + 7 );
-    }
-
-    String mappingPrevPrefixUri ( )
-    {
-        assert hasMapping();
-        return (String) _namespaceStack.get( _currentMapping + 5 );
-    }
-
-    //
-    //
-    //
-
-    private final void pushMappings ( Container c, boolean ensureDefaultEmpty )
-    {
-        _namespaceStack.add( null );
-
-        for ( ; c != null ; c = c.getContainer() )
-        {
-            namespaces:
-            for ( Splay s = c.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-            {
-                if (s.isXmlns())
-                {
-                    Xmlns x = (Xmlns) s;
-                    String prefix = x.getLocal();
-                    String uri = x.getUri();
-
-                    if (ensureDefaultEmpty &&
-                            prefix.length() == 0 && uri.length() > 0)
-                    {
-                        continue;
-                    }
-
-                    // Make sure the prefix is not already mapped in
-                    // this frame
-
-                    for ( iterateMappings() ; hasMapping() ; nextMapping() )
-                        if (mappingPrefix().equals( prefix ))
-                            continue namespaces;
-
-                    addMapping( prefix, uri );
-                }
-            }
-
-            // Push all ancestors the first time
-            
-            if (!_firstPush)
-                break;
-        }
-
-        if (ensureDefaultEmpty)
-        {
-            String defaultUri = (String) _prefixMap.get( "" );
-
-            // I map the default to "" at the very beginning
-            assert defaultUri != null;
-
-            if (defaultUri.length() > 0)
-                addMapping( "", "" );
-        }
-
-        _firstPush = false;
-    }
-
-    private final void dumpMappings ( )
-    {
-        for ( int i = _namespaceStack.size() ; i > 0 ; )
-        {
-            if (_namespaceStack.get( i - 1 ) == null)
-            {
-                System.out.println( "----------------" );
-                i--;
-                continue;
-            }
-
-            System.out.print( "Mapping: " );
-            System.out.print( _namespaceStack.get( i - 2 ) );
-            System.out.print( " -> " );
-            System.out.print( _namespaceStack.get( i - 1 ) );
-            System.out.println();
-
-            System.out.print( "Prefix Undo: " );
-            System.out.print( _namespaceStack.get( i - 4 ) );
-            System.out.print( " -> " );
-            System.out.print( _namespaceStack.get( i - 3 ) );
-            System.out.println();
-
-            System.out.print( "Uri Rename: " );
-            System.out.print( _namespaceStack.get( i - 5 ) );
-            System.out.print( " -> " );
-            System.out.print( _namespaceStack.get( i - 6 ) );
-            System.out.println();
-
-            System.out.print( "UriUndo: " );
-            System.out.print( _namespaceStack.get( i - 7 ) );
-            System.out.print( " -> " );
-            System.out.print( _namespaceStack.get( i - 8 ) );
-            System.out.println();
-
-            System.out.println();
-
-            i -= 8;
-        }
-    }
-
-    private final void addMapping ( String prefix, String uri )
-    {
-        assert uri != null;
-        assert prefix != null;
-
-        // If the prefix being mapped here is already mapped to a uri,
-        // that uri will either go out of scope or be mapped to another
-        // prefix.
-
-        String renameUri = (String) _prefixMap.get( prefix );
-        String renamePrefix = null;
-
-        if (renameUri != null)
-        {
-            // See if this prefix is already mapped to this uri.  If
-            // so, then add to the stack, but there is nothing to rename
-        
-            if (renameUri.equals( uri ))
-                renameUri = null;
-            else
-            {
-                int i = _namespaceStack.size();
-
-                while ( i > 0 )
-                {
-                    if (_namespaceStack.get( i - 1 ) == null)
-                    {
-                        i--;
-                        continue;
-                    }
-
-                    if (_namespaceStack.get( i - 7 ).equals( renameUri ))
-                    {
-                        renamePrefix = (String) _namespaceStack.get( i - 8 );
-
-                        if (renamePrefix == null ||
-                              !renamePrefix.equals( prefix ))
-                        {
-                            break;
-                        }
-                    }
-
-                    i -= 8;
-                }
-
-                assert i > 0;
-            }
-        }
-
-        _namespaceStack.add( _uriMap.get( uri ) );
-        _namespaceStack.add( uri );
-
-        if (renameUri != null)
-        {
-            _namespaceStack.add( _uriMap.get( renameUri ) );
-            _namespaceStack.add( renameUri );
-        }
-        else
-        {
-            _namespaceStack.add( null );
-            _namespaceStack.add( null );
-        }
-
-        _namespaceStack.add( prefix );
-        _namespaceStack.add( _prefixMap.get( prefix ) );
-
-        _namespaceStack.add( prefix );
-        _namespaceStack.add( uri );
-
-        _uriMap.put( uri, prefix );
-        _prefixMap.put( prefix, uri );
-
-        if (renameUri != null)
-            _uriMap.put( renameUri, renamePrefix );
-    }
-
-    private final void popMappings ( )
-    {
-        for ( ; ; )
-        {
-            int i = _namespaceStack.size();
-
-            if (i == 0)
-                break;
-
-            if (_namespaceStack.get( i - 1 ) == null)
-            {
-                _namespaceStack.remove( i - 1 );
-                break;
-            }
-
-            Object oldUri = _namespaceStack.get( i - 7 ); 
-            Object oldPrefix = _namespaceStack.get( i - 8 ); 
-
-            if (oldPrefix == null) 
-                _uriMap.remove( oldUri ); 
-            else 
-                _uriMap.put( oldUri, oldPrefix ); 
-
-            oldPrefix = _namespaceStack.get( i - 4 ); 
-            oldUri = _namespaceStack.get( i - 3 ); 
-
-            if (oldUri == null) 
-                _prefixMap.remove( oldPrefix ); 
-            else 
-                _prefixMap.put( oldPrefix, oldUri ); 
-
-            String uri = (String) _namespaceStack.get( i - 5 );
-
-            if (uri != null)
-                _uriMap.put( uri, _namespaceStack.get( i - 6 ) );
-
-            // Hahahahahaha -- :-(
-            _namespaceStack.remove( i - 1 );
-            _namespaceStack.remove( i - 2 );
-            _namespaceStack.remove( i - 3 );
-            _namespaceStack.remove( i - 4 );
-            _namespaceStack.remove( i - 5 );
-            _namespaceStack.remove( i - 6 );
-            _namespaceStack.remove( i - 7 );
-            _namespaceStack.remove( i - 8 );
-        }
-    }
-
-    protected final String getUriMapping ( String uri )
-    {
-        assert _uriMap.get( uri ) != null;
-        return (String) _uriMap.get( uri );
-    }
-
-    protected final boolean tryPrefix ( String prefix )
-    {
-        if (prefix == null || Splay.beginsWithXml( prefix ))
-            return false;
-
-        String existingUri = (String) _prefixMap.get( prefix );
-
-        // If the prefix is currently mapped, then try another prefix.  A
-        // special case is that of trying to map the default prefix ("").
-        // Here, there always exists a default mapping.  If this is the
-        // mapping we found, then remap it anyways. I use != to compare
-        // strings because I want to test for the specific initial default
-        // uri I added when I initialized the saver.
-
-        if (existingUri != null &&
-              (prefix.length() > 0 || existingUri != _initialDefaultUri))
-        {
-            return false;
-        }
-
-        return true;
-    }
-
-    protected final String ensureMapping (
-        String uri, String candidatePrefix,
-        boolean considerCreatingDefault, boolean mustHavePrefix )
-    {
-        assert uri != null;
-        assert candidatePrefix == null || candidatePrefix.length() > 0;
-
-        // Can be called for no-namespaced things
-
-        if (uri.length() == 0)
-            return null;
-
-        String prefix = (String) _uriMap.get( uri );
-
-        if (prefix != null && (prefix.length() > 0 || !mustHavePrefix))
-            return prefix;
-
-        //
-        // I try prefixes from a number of places, in order:
-        //
-        //  1) What was passed in
-        //  2) The optional suggestions (for uri's)
-        //  3) The default mapping is allowed
-        //  4) ns#++
-        //
-        
-        if (candidatePrefix == null || !tryPrefix( candidatePrefix ))
-        {
-            if (_suggestedPrefixes != null &&
-                    _suggestedPrefixes.containsKey( uri ) &&
-                        tryPrefix( (String) _suggestedPrefixes.get( uri ) ))
-            {
-                candidatePrefix = (String) _suggestedPrefixes.get( uri );
-            }
-            else if (considerCreatingDefault && _useDefaultNamespace && tryPrefix( "" ))
-                candidatePrefix = "";
-            else
-            {
-                String basePrefix = QNameHelper.suggestPrefix( uri );
-                candidatePrefix = basePrefix;
-                
-                for ( int i = 1 ; ; i++ )
-                {
-                    if (tryPrefix( candidatePrefix ))
-                        break;
-                    
-                    candidatePrefix = basePrefix + i;
-                }
-            }
-        }
-
-        assert candidatePrefix != null;
-
-        syntheticNamespace( candidatePrefix, uri, considerCreatingDefault );
-
-        addMapping( candidatePrefix, uri );
-
-        return candidatePrefix;
-    }
-
-    public final String find_prefix_for_nsuri ( String uri, String prefix )
-    {
-        assert uri != null;
-        assert prefix == null || prefix.length() > 0;
-
-        boolean emptyUri = uri.length() == 0;
-        
-        return ensureMapping( uri, prefix, emptyUri, !emptyUri );
-    }
-
-    public final String getNamespaceForPrefix ( String prefix )
-    {
-        if (prefix != null && prefix.equals( "xml" ))
-            return Splay._xml1998Uri;
-
-        return (String) _prefixMap.get( prefix );
-    }
-
-    protected final String ensureFragmentNamespace ( )
-    {
-        if (_fragment.getNamespaceURI().length() == 0)
-            return "";
-        
-        return ensureMapping( _fragment.getNamespaceURI(), "frag", false, false );
-    }
-
-    /**
-     * A Saver which records synthetic namespaces
-     */
-    
-    static final class SynthNamespaceSaver extends Saver
-    {
-        LinkedHashMap _synthNamespaces = new LinkedHashMap();
-        
-        SynthNamespaceSaver ( Root r, Splay s, int p, XmlOptions options )
-        {
-            super( r, s, p, options );
-        }
-        
-        protected void syntheticNamespace (
-            String prefix, String uri, boolean considerCreatingDefault )
-        {
-            _synthNamespaces.put( uri, considerCreatingDefault ? "useDefault" : null );
-        }
-        
-        protected void emitXmlnsFragment ( Splay s ) { }
-        protected void emitAttrFragment ( Splay s ) { }
-        protected void emitTextFragment ( Splay s, int p, int cch ) { }
-        protected void emitCommentFragment ( Splay s ) { }
-        protected void emitProcinstFragment ( Splay s ) { }
-        protected void emitComment ( Splay s ) { }
-        protected void emitTextAfter ( Splay s, int p, int cch ) { }
-        protected void emitEnd ( Splay s, QName name ) { }
-        protected void emitProcinst ( Splay s ) { }
-        protected void emitContainer ( Container c, QName name ) { }
-        
-        protected void emitDocType(
-            String doctypeName, String publicID, String systemID ) { }
-    }
-
-    /**
-     * A Saver which generates characters.
-     */
-
-    static final class TextSaver extends Saver
-    {
-        TextSaver (
-            Root r, Splay s, int p, XmlOptions options, String encoding )
-        {
-            super( r, s, p, options );
-
-            _wantFragTest = true;
-
-            if (encoding != null)
-            {
-                String version = r._props.getVersion();
-
-                if (version == null)
-                    version = "1.0";
-                
-                emit( "<?xml version=\"" );
-                emit( version );
-                emit( "\" encoding=\"" + encoding + "\"?>" + _newLine );
-            }
-        }
-
-        protected void emitContainer ( Container c, QName name )
-        {
-            if (c.isBegin())
-            {
-                emitContainerHelper( c, name, null, null, false );
-
-                if (c.isLeaf())
-                {
-                    int cch = _text == null ? c.getCchValue() : _text.length();
-
-                    if (cch > 0)
-                    {
-                        emit( '>' );
-
-                        if (_text == null)
-                            emit( getRoot().getCp( c ), cch );
-                        else
-                            emit( _text );
-
-                        entitizeContent();
-
-                        emit( "</" );
-                        emitName( name );
-                    }
-                    else
-                        emit( '/' );
-                }
-                else
-                {
-                    assert !c.isLeaf();
-
-                    if (c.getCchAfter() == 0 && c.nextNonAttrSplay().isEnd())
-                    {
-                        emit( '/' );
-                        _skipContainerFinish = true;
-                    }
-                }
-
-                emit( '>' );
-            }
-            else
-            {
-                assert c.isDoc();
-
-                if (name != null)
-                    emitContainerHelper( c, name, null, null, true );
-
-                if (_text == null)
-                    emit( getRoot().getCp( c ), c.getCch() );
-                else
-                    emit( _text );
-
-                entitizeContent();
-            }
-        }
-
-        private void emitAttrHelper ( Splay s, String invalidValue )
-        {
-            assert s.isNormalAttr();
-            
-            emit( ' ' );
-            emitName( s.getName() );
-            emit( "=\"" );
-
-            if (invalidValue != null)
-                emit( invalidValue );
-            else
-                emit( getRoot().getCp( s ), s.getCch() );
-
-            entitizeAttrValue();
-
-            emit( '"' );
-        }
-
-        private void emitNamespacesHelper ( )
-        {
-            for ( iterateMappings() ; hasMapping() ; nextMapping() )
-            {
-                emit( ' ' );
-                emitXmlns( mappingPrefix(), mappingUri() );
-            }
-        }
-                                     
-        private void emitContainerHelper (
-            Container c, QName name,
-            Splay extraAttr, StringBuffer extraAttrText,
-            boolean close )
-        {
-            assert name != null;
-
-            emit( '<' );
-            emitName( name );
-
-            if (_saveNamespacesFirst)
-                emitNamespacesHelper();
-
-            if (c != null)
-            {
-                for ( Iterator i = _attrs.keySet().iterator() ; i.hasNext() ; )
-                {
-                    Splay s = (Splay) i.next();
-                    emitAttrHelper( s, (String) _attrs.get( s ) );
-                }
-            }
-
-            if (extraAttr != null)
-            {
-                emitAttrHelper(
-                    extraAttr,
-                    extraAttrText == null ? null : extraAttrText.toString() );
-            }
-
-            if (!_saveNamespacesFirst)
-                emitNamespacesHelper();
-
-            if (close)
-                emit( '>' );
-        }
-
-        protected void emitText ( Splay s, int p, int cch )
-        {
-            emit( s.getCpForPos( getRoot(), p ), cch );
-            entitizeContent();
-        }
-
-        protected void emitTextAfter ( Splay s, int p, int cch )
-        {
-            if (_text == null)
-                emitText( s, p, cch );
-            else
-            {
-                emit( _text );
-                entitizeContent();
-            }
-        }
-
-        protected void emitTextFragment ( Splay s, int p, int cch )
-        {
-            emitContainerHelper( null, _fragment, null, null, false );
-
-            if (_text != null)
-            {
-                if (_text.length() > 0)
-                {
-                    emit( ">" );
-                    emit( _text );
-                    emitEndHelper( _fragment );
-                    return;
-                }
-            }
-            else if (s != null)
-            {
-                if (cch > 0)
-                {
-                    emit( ">" );
-                    emitText( s, p, cch );
-                    emitEndHelper( _fragment );
-                    return;
-                }
-            }
-            
-            emit( "/>" );
-        }
-
-        protected void emitAttrFragment ( Splay s )
-        {
-            emitContainerHelper( null, _fragment, s, _text, false );
-            emit( "/>" );
-        }
-
-        protected void emitXmlnsFragment ( Splay s )
-        {
-            emitContainerHelper( null, _fragment, null, null, false );
-            emit( "/>" );
-        }
-
-        protected void emitCommentFragment ( Splay s )
-        {
-            emitContainerHelper( null, _fragment, null, null, true );
-            emitComment( s );
-            emitEndHelper( _fragment );
-        }
-
-        protected void emitProcinstFragment ( Splay s )
-        {
-            emitContainerHelper( null, _fragment, null, null, true );
-            emitProcinst( s );
-            emitEndHelper( _fragment );
-        }
-
-        protected void emitXmlns ( String prefix, String uri )
-        {
-            assert prefix != null;
-            assert uri != null;
-
-            emit( "xmlns" );
-
-            if (prefix.length() > 0)
-            {
-                emit( ":" );
-                emit( prefix );
-            }
-
-            emit( "=\"" );
-
-            // TODO - must encode uri properly
-
-            emit( uri );
-            entitizeAttrValue();
-
-            emit( '"' );
-        }
-
-        protected void emitEndHelper ( QName name )
-        {
-            emit( "</" );
-            emitName( name );
-            emit( '>' );
-        }
-
-        protected void emitEnd ( Splay s, QName name )
-        {
-            if (name != null)
-                emitEndHelper( name );
-        }
-
-        private void emitLiteral ( String literal )
-        {
-            if (literal.indexOf( "\"" ) < 0)
-            {
-                emit( "\"" );
-                emit( literal );
-                emit( "\"" );
-            }
-            else
-            {
-                emit( "'" );
-                emit( literal );
-                emit( "'" );
-            }
-        }
-
-        protected void emitDocType(
-            String doctypeName, String publicID, String systemID )
-        {
-            assert doctypeName != null;
-            
-            emit( "<!DOCTYPE " );
-            emit( doctypeName );
-
-            if (publicID == null && systemID != null)
-            {
-                emit( " SYSTEM " );
-                emitLiteral( systemID );
-            }
-            else if (publicID != null)
-            {
-                emit( " PUBLIC " );
-                emitLiteral( publicID );
-                emit( " " );
-                emitLiteral( systemID );
-            }
-
-            emit( ">" + _newLine );
-        }
-        
-        protected void emitComment ( Splay s )
-        {
-            assert s.isComment();
-            emit( "<!--" );
-            emit( getRoot().getCp( s ), s.getCchValue() );
-            entitizeComment();
-            emit( "-->" );
-        }
-
-        protected void emitProcinst ( Splay s )
-        {
-            assert s.isProcinst();
-            emit( "<?" );
-            // TODO - encoding issues here?
-            emit( s.getLocal() );
-
-            if (s.getCchValue() > 0)
-            {
-                emit( " " );
-                emit( getRoot().getCp( s ), s.getCchValue() );
-                entitizeProcinst();
-            }
-
-            emit( "?>" );
-        }
-
-        /**
-         * Ensure that there are at least cch chars available in the buffer.
-         * Return the actual number of characters available.  If less than cch,
-         * then that's all which will ever become available.
-         */
-
-        private int ensure ( int cch )
-        {
-            // Even if we're asked to ensure nothing, still try to ensure
-            // atleast one character so we can determine if we're at the
-            // end of the stream.
-
-            if (cch <= 0)
-                cch = 1;
-
-            int available = getAvailable();
-
-            for ( ; available < cch ; available = getAvailable() )
-                if (!process())
-                    break;
-
-            assert available == getAvailable();
-
-            if (available == 0)
-                return 0;
-
-            return available;
-        }
-
-        private void emitName ( QName name )
-        {
-            assert name != null;
-
-            String uri = name.getNamespaceURI();
-
-            assert uri != null;
-
-            if (uri.length() != 0)
-            {
-                String prefix = getUriMapping( uri );
-
-                if (prefix.length() > 0)
-                {
-                    emit( prefix );
-                    emit( ":" );
-                }
-            }
-
-            assert name.getLocalPart().length() > 0;
-
-            emit( name.getLocalPart() );
-        }
-
-        private boolean preEmit ( int cch )
-        {
-            assert cch >= 0;
-            
-            _lastEmitCch = cch;
-
-            if (cch == 0)
-                return true;
-
-            if (_free < cch)
-                resize( cch, -1 );
-
-            assert cch <= _free;
-
-            int used = getAvailable();
-
-            // if we are about to emit and there is noting in the buffer, reset
-            // the buffer to be at the beginning so as to not grow it anymore
-            // than needed.
-            
-            if (used == 0)
-            {
-                assert _in == _out;
-                assert _free == _buf.length;
-                _in = _out = 0;
-            }
-
-            _lastEmitIn = _in;
-
-            _free -= cch;
-            
-            assert _free >= 0;
-
-            return false;
-        }
-
-        private void emit ( String s )
-        {
-            int cch = s == null ? 0 : s.length();
-
-            if (preEmit( cch ))
-                return;
-
-            int chunk;
-
-            if (_in <= _out || cch < (chunk = _buf.length - _in))
-            {
-                s.getChars( 0, cch, _buf, _in );
-                _in += cch;
-            }
-            else
-            {
-                s.getChars( 0, chunk, _buf, _in );
-                s.getChars( chunk, cch, _buf, 0 );
-                _in = (_in + cch) % _buf.length;
-            }
-        }
-
-        private void emit ( StringBuffer sb )
-        {
-            int cch = sb == null ? 0 : sb.length();
-
-            if (preEmit( cch ))
-                return;
-
-            int chunk;
-
-            if (_in <= _out || cch < (chunk = _buf.length - _in))
-            {
-                sb.getChars( 0, cch, _buf, _in );
-                _in += cch;
-            }
-            else
-            {
-                sb.getChars( 0, chunk, _buf, _in );
-                sb.getChars( chunk, cch, _buf, 0 );
-                _in = (_in + cch) % _buf.length;
-            }
-        }
-
-        private void emit ( int cp, int cch )
-        {
-            emit(
-                getRoot()._text._buf,
-                getRoot()._text.unObscure( cp, cch ),
-                cch );
-        }
-
-        private void emit ( char ch )
-        {
-            preEmit( 1 );
-
-            _buf[ _in ] = ch;
-
-            _in = (_in + 1) % _buf.length;
-        }
-
-        private void emit ( char[] buf, int off, int cch )
-        {
-            assert cch >= 0;
-
-            if (preEmit( cch ))
-                return;
-
-            int chunk;
-
-            if (_in <= _out || cch < (chunk = _buf.length - _in))
-            {
-                System.arraycopy( buf, off, _buf, _in, cch );
-                _in += cch;
-            }
-            else
-            {
-                System.arraycopy( buf, off, _buf, _in, chunk );
-                System.arraycopy( buf, off + chunk, _buf, 0, cch - chunk );
-                _in = (_in + cch) % _buf.length;
-            }
-        }
-
-        private void entitizeContent ( )
-        {
-            if (_lastEmitCch == 0)
-                return;
-
-            int i = _lastEmitIn;
-            final int n = _buf.length;
-
-            boolean hasOutOfRange = false;
-            
-            int count = 0;
-            for ( int cch = _lastEmitCch ; cch > 0 ; cch-- )
-            {
-                char ch = _buf[ i ];
-
-                if (ch == '<' || ch == '&')
-                    count++;
-                else if (isBadChar( ch ))
-                    hasOutOfRange = true;
-
-                if (++i == n)
-                    i = 0;
-            }
-
-            if (count == 0 && !hasOutOfRange)
-                return;
-
-            i = _lastEmitIn;
-
-            //
-            // Heuristic for knowing when to save out stuff as a CDATA.
-            //
-
-            if (_lastEmitCch > 32 && count > 5 &&
-                  count * 100 / _lastEmitCch > 1)
-            {
-                boolean lastWasBracket = _buf[ i ] == ']';
-
-                i = replace( i, "<![CDATA[" + _buf[ i ] );
-
-                boolean secondToLastWasBracket = lastWasBracket;
-
-                lastWasBracket = _buf[ i ] == ']';
-
-                if (++i == n)
-                    i = 0;
-
-                for ( int cch = _lastEmitCch ; cch > 0 ; cch-- )
-                {
-                    char ch = _buf[ i ];
-
-                    if (ch == '>' && secondToLastWasBracket && lastWasBracket)
-                        i = replace( i, "&gt;" );
-                    else if (isBadChar( ch ))
-                        i = replace( i, "?" );
-                    else
-                        i++;
-
-                    secondToLastWasBracket = lastWasBracket;
-                    lastWasBracket = ch == ']';
-
-                    if (i == n)
-                        i = 0;
-                }
-
-                emit( "]]>" );
-            }
-            else
-            {
-                for ( int cch = _lastEmitCch ; cch > 0 ; cch-- )
-                {
-                    char ch = _buf[ i ];
-
-                    if (ch == '<')
-                        i = replace( i, "&lt;" );
-                    else if (ch == '&')
-                        i = replace( i, "&amp;" );
-                    else if (isBadChar( ch ))
-                        i = replace( i, "?" );
-                    else
-                        i++;
-
-                    if (i == n)
-                        i = 0;
-                }
-            }
-        }
-
-        private void entitizeAttrValue ( )
-        {
-            if (_lastEmitCch == 0)
-                return;
-
-            int i = _lastEmitIn;
-            final int n = _buf.length;
-
-            for ( int cch = _lastEmitCch ; cch > 0 ; cch-- )
-            {
-                char ch = _buf[ i ];
-
-                if (ch == '<')
-                    i = replace( i, "&lt;" );
-                else if (ch == '&')
-                    i = replace( i, "&amp;" );
-                else if (ch == '"')
-                    i = replace( i, "&quot;" );
-                else
-                    i++;
-
-                if (i == n)
-                    i = 0;
-            }
-        }
-
-        private void entitizeComment ( )
-        {
-            if (_lastEmitCch == 0)
-                return;
-
-            int i = _lastEmitIn;
-            final int n = _buf.length;
-
-            boolean lastWasDash = false;
-
-            for ( int cch = _lastEmitCch ; cch > 0 ; cch-- )
-            {
-                char ch = _buf[ i ];
-
-                if (isBadChar( ch ))
-                    i = replace( i, "?" );
-                else if (ch == '-')
-                {
-                    if (lastWasDash)
-                    {
-                        // Replace "--" with "- " to make well formed
-                        i = replace( i, " " );
-                        lastWasDash = false;
-                    }
-                    else
-                    {
-                        lastWasDash = true;
-                        i++;
-                    }
-                }
-                else
-                {
-                    lastWasDash = false;
-                    i++;
-                }
-
-                if (i == n)
-                    i = 0;
-            }
-
-            // Because I have only replaced chars with single chars,
-            // _lastEmitIn will still be ok
-
-            if (_buf[ _lastEmitIn + _lastEmitCch - 1 ] == '-')
-                i = replace( _lastEmitIn + _lastEmitCch - 1, " " );
-        }
-
-        private void entitizeProcinst ( )
-        {
-            if (_lastEmitCch == 0)
-                return;
-
-            int i = _lastEmitIn;
-            final int n = _buf.length;
-
-            boolean lastWasQuestion = false;
-
-            for ( int cch = _lastEmitCch ; cch > 0 ; cch-- )
-            {
-                char ch = _buf[ i ];
-
-                if (isBadChar( ch ))
-                    i = replace( i, "?" );
-
-                if (ch == '>')
-                {
-    // TODO - Had to convert to a space here ... imples not well formed XML
-                    if (lastWasQuestion)
-                        i = replace( i, " " );
-                    else
-                        i++;
-
-                    lastWasQuestion = false;
-                }
-                else
-                {
-                    lastWasQuestion = ch == '?';
-                    i++;
-                }
-
-                if (i == n)
-                    i = 0;
-            }
-        }
-
-
-        /**
-         * Test if a character is valid in xml character content. See
-         * http://www.w3.org/TR/REC-xml#NT-Char
-         */
-        
-        private boolean isBadChar ( char ch )
-        {
-            return ! (
-                (ch >= 0x20 && ch <= 0xD7FF ) ||
-                (ch >= 0xE000 && ch <= 0xFFFD) ||
-                (ch >= 0x10000 && ch <= 0x10FFFF) ||
-                (ch == 0x9) || (ch == 0xA) || (ch == 0xD)
-                );
-        }
-
-        private int replace ( int i, String replacement )
-        {
-            assert replacement.length() > 0;
-
-            int dCch = replacement.length() - 1;
-
-            if (dCch == 0)
-            {
-                _buf[ i ] = replacement.charAt( 0 );
-                return i + 1;
-            }
-
-            assert _free >= 0;
-
-            if (dCch > _free)
-                i = resize( dCch, i );
-            
-            assert _free >= 0;
-
-            assert _free >= dCch;
-            assert getAvailable() > 0;
-
-            if (_out > _in && i >= _out)
-            {
-                System.arraycopy( _buf, _out, _buf, _out - dCch, i - _out );
-                _out -= dCch;
-                i -= dCch;
-            }
-            else
-            {
-                assert i < _in;
-                System.arraycopy( _buf, i, _buf, i + dCch, _in - i );
-                _in += dCch;
-            }
-
-            replacement.getChars( 0, dCch + 1, _buf, i );
-
-            _free -= dCch;
-            
-            assert _free >= 0;
-
-            return i + dCch + 1;
-        }
-
-        int getAvailable ( )
-        {
-            return _buf == null ? 0 : _buf.length - _free;
-        }
-
-        /**
-         * Make sure there is enough room for cch chars in the buffer
-         */
-
-        private int resize ( int cch, int i )
-        {
-            assert _free >= 0;
-            assert cch > 0;
-            assert cch > _free;
-
-            int newLen = _buf == null ? _initialBufSize : _buf.length * 2;
-            int used = getAvailable();
-
-            while ( newLen - used < cch )
-                newLen *= 2;
-
-            char[] newBuf = new char [ newLen ];
-
-            if (used > 0)
-            {
-                if (_in > _out)
-                {
-                    assert i == -1 || (i >= _out && i < _in);
-                    System.arraycopy( _buf, _out, newBuf, 0, used );
-                    i -= _out;
-                }
-                else
-                {
-                    assert i == -1 || (i >= _out || i < _in);
-                    System.arraycopy( _buf, _out, newBuf, 0, used - _in );
-                    System.arraycopy( _buf, 0, newBuf, used - _in, _in );
-                    i = i >= _out ? i - _out : i + _out;
-                }
-                
-                _out = 0;
-                _in = used;
-                _free += newBuf.length - _buf.length;
-            }
-            else
-            {
-                _free += newBuf.length;
-                assert _in == 0 && _out == 0;
-                assert i == -1;
-            }
-
-            _buf = newBuf;
-
-            assert _free >= 0;
-
-            return i;
-        }
-
-        public int read ( )
-        {
-            if (ensure( 1 ) == 0)
-                return -1;
-
-            assert getAvailable() > 0;
-
-            int ch = _buf[ _out ];
-
-            _out = (_out + 1) % _buf.length;
-            _free++;
-
-            return ch;
-        }
-
-        public int read ( char[] cbuf, int off, int len )
-        {
-            // Check for end of stream even if there is no way to return
-            // characters because the Reader doc says to return -1 at end of
-            // stream.
-
-            int n;
-
-            if ((n = ensure( len )) == 0)
-                return -1;
-
-            if (cbuf == null || len <= 0)
-                return 0;
-
-            if (n < len)
-                len = n;
-
-            if (_out < _in)
-            {
-                System.arraycopy( _buf, _out, cbuf, off, len );
-            }
-            else
-            {
-                int chunk = _buf.length - _out;
-
-                if (chunk >= len)
-                    System.arraycopy( _buf, _out, cbuf, off, len );
-                else
-                {
-                    System.arraycopy( _buf, _out, cbuf, off, chunk );
-                    System.arraycopy( _buf, 0, cbuf, off + chunk, len - chunk );
-                }
-            }
-
-            _out = (_out + len) % _buf.length;
-            _free += len;
-
-            assert _free >= 0;
-
-            return len;
-        }
-
-        public int write ( Writer writer, int cchMin )
-        {
-            while ( getAvailable() < cchMin)
-            {
-                if (!process())
-                    break;
-            }
-
-            int charsAvailable = getAvailable();
-
-            if (charsAvailable > 0)
-            {
-                // I don't want to deal with the circular cases
-
-                assert _out == 0;
-
-                try
-                {
-                    writer.write( _buf, 0, charsAvailable );
-                    writer.flush();
-                }
-                catch ( IOException e )
-                {
-                    throw new RuntimeException( e );
-                }
-
-                _free += charsAvailable;
-                
-                assert _free >= 0;
-                
-                _in = 0;
-            }
-
-            return charsAvailable;
-        }
-
-        /**
-         * Ensure all text and return it as a string.
-         */
-
-        public String saveToString ( )
-        {
-            // We're gonna build a string.  Instead of using StringBuffer, may
-            // as well use my buffer here.  Fill the whole sucker up and
-            // create a String!
-
-            while ( process() )
-                ;
-
-            assert _out == 0;
-
-            int available = getAvailable();
-
-            return available == 0 ? "" : new String( _buf, _out, available );
-        }
-
-        private static final int _initialBufSize = 4096;
-
-        private int _lastEmitIn;
-        private int _lastEmitCch;
-
-        private int    _free;
-        private int    _in;
-        private int    _out;
-        private char[] _buf;
-    }
-
-    /**
-     * A Reader which exposes the text of a part of the tree.
-     */
-
-    static final class TextReader extends Reader
-    {
-        TextReader ( Root r, Splay s, int p, XmlOptions options )
-        {
-            _textSaver = new TextSaver( r, s, p, options, null );
-        }
-
-        public void close ( ) throws IOException { }
-
-        public boolean ready ( ) throws IOException { return true; }
-
-        public int read ( ) throws IOException
-        {
-            return _textSaver.read();
-        }
-
-        public int read ( char[] cbuf ) throws IOException
-        {
-            return _textSaver.read( cbuf, 0, cbuf == null ? 0 : cbuf.length );
-        }
-
-        public int read ( char[] cbuf, int off, int len ) throws IOException
-        {
-            return _textSaver.read( cbuf, off, len );
-        }
-
-        private TextSaver _textSaver;
-    }
-
-    /**
-     *
-     */
-
-    static final class InputStreamSaver extends InputStream
-    {
-        InputStreamSaver (
-            Root r, Splay s, int p, XmlOptions options )
-        {
-            options = XmlOptions.maskNull(options);
-            _byteBuffer = new OutputStreamImpl();
-
-            String encoding = null;
-            
-            if (r._props.getEncoding() != null)
-            {
-                encoding =
-                    EncodingMap.getIANA2JavaMapping( r._props.getEncoding() );
-            }
-
-            if (options.hasOption(XmlOptions.CHARACTER_ENCODING))
-            {
-                encoding =
-                    (String) options.get(XmlOptions.CHARACTER_ENCODING);
-            }
-
-            if (encoding != null)
-            {
-                String ianaEncoding =
-                    EncodingMap.getJava2IANAMapping( encoding );
-
-                if (ianaEncoding != null)
-                    encoding = ianaEncoding;
-            }
-
-            if (encoding == null)
-                encoding = EncodingMap.getJava2IANAMapping( "UTF8" );
-
-            String javaEncoding = EncodingMap.getIANA2JavaMapping( encoding );
-
-            if (javaEncoding == null)
-            {
-                throw
-                    new IllegalStateException(
-                        "Unknown encoding: " + encoding );
-            }
-
-            try
-            {
-                _converter = new OutputStreamWriter( _byteBuffer, javaEncoding);
-            }
-            catch ( UnsupportedEncodingException e )
-            {
-                throw new RuntimeException( e );
-            }
-
-            _textSaver = new TextSaver( r, s, p, options, encoding );
-        }
-
-        public int read ( )
-        {
-            return _byteBuffer.read();
-        }
-
-        public int read ( byte[] bbuf, int off, int len )
-        {
-            return _byteBuffer.read ( bbuf, off, len );
-        }
-
-        private int ensure ( int cbyte )
-        {
-            // Even if we're asked to ensure nothing, still try to ensure
-            // atleast one byte so we can determine if we're at the
-            // end of the stream.
-
-            if (cbyte <= 0)
-                cbyte = 1;
-
-            int bytesAvailable = _byteBuffer.getAvailable();
-
-            for ( ; bytesAvailable < cbyte ;
-                  bytesAvailable = _byteBuffer.getAvailable() )
-            {
-                if (_textSaver.write( _converter, 2048 ) < 2048)
-                    break;
-            }
-
-            bytesAvailable = _byteBuffer.getAvailable();
-
-            if (bytesAvailable == 0)
-                return 0;
-
-            return bytesAvailable;
-        }
-
-        private final class OutputStreamImpl extends OutputStream
-        {
-            int read ( )
-            {
-                if (InputStreamSaver.this.ensure( 1 ) == 0)
-                    return -1;
-
-                assert getAvailable() > 0;
-
-                int bite = _buf[ _out ];
-
-                _out = (_out + 1) % _buf.length;
-                _free++;
-
-                return bite;
-            }
-
-            int read ( byte[] bbuf, int off, int len )
-            {
-                // Check for end of stream even if there is no way to return
-                // characters because the Reader doc says to return -1 at end of
-                // stream.
-
-                int n;
-
-                if ((n = ensure( len )) == 0)
-                    return -1;
-
-                if (bbuf == null || len <= 0)
-                    return 0;
-
-                if (n < len)
-                    len = n;
-
-                if (_out < _in)
-                {
-                    System.arraycopy( _buf, _out, bbuf, off, len );
-                }
-                else
-                {
-                    int chunk = _buf.length - _out;
-
-                    if (chunk >= len)
-                        System.arraycopy( _buf, _out, bbuf, off, len );
-                    else
-                    {
-                        System.arraycopy( _buf, _out, bbuf, off, chunk );
-
-                        System.arraycopy(
-                            _buf, 0, bbuf, off + chunk, len - chunk );
-                    }
-                }
-
-                _out = (_out + len) % _buf.length;
-                _free += len;
-
-                return len;
-            }
-
-            int getAvailable ( )
-            {
-                return _buf == null ? 0 : _buf.length - _free;
-            }
-
-            public void write ( int bite )
-            {
-                if (_free == 0)
-                    resize( 1 );
-
-                assert _free > 0;
-
-                _buf[ _in ] = (byte) bite;
-
-                _in = (_in + 1) % _buf.length;
-                _free--;
-            }
-
-            public void write ( byte[] buf, int off, int cbyte )
-            {
-                assert cbyte >= 0;
-
-                if (cbyte == 0)
-                    return;
-
-                if (_free < cbyte)
-                    resize( cbyte );
-
-                if (_in == _out)
-                {
-                    assert getAvailable() == 0;
-                    assert _free == _buf.length - getAvailable();
-                    _in = _out = 0;
-                }
-
-                int chunk;
-
-                if (_in <= _out || cbyte < (chunk = _buf.length - _in))
-                {
-                    System.arraycopy( buf, off, _buf, _in, cbyte );
-                    _in += cbyte;
-                }
-                else
-                {
-                    System.arraycopy( buf, off, _buf, _in, chunk );
-
-                    System.arraycopy(
-                        buf, off + chunk, _buf, 0, cbyte - chunk );
-
-                    _in = (_in + cbyte) % _buf.length;
-                }
-
-                _free -= cbyte;
-            }
-
-            void resize ( int cbyte )
-            {
-                assert cbyte > _free;
-
-                int newLen = _buf == null ? _initialBufSize : _buf.length * 2;
-                int used = getAvailable();
-
-                while ( newLen - used < cbyte )
-                    newLen *= 2;
-
-                byte[] newBuf = new byte [ newLen ];
-
-                if (used > 0)
-                {
-                    if (_out == _in)
-                        System.arraycopy( _buf, 0, newBuf, 0, used );
-                    else if (_in > _out)
-                        System.arraycopy( _buf, _out, newBuf, 0, used );
-                    else
-                    {
-                        System.arraycopy(
-                            _buf, _out, newBuf, 0, used - _in );
-
-                        System.arraycopy(
-                            _buf, 0, newBuf, used - _in, _in );
-                    }
-
-                    _out = 0;
-                    _in = used;
-                    _free += newBuf.length - _buf.length;
-                }
-                else
-                {
-                    _free += newBuf.length;
-                    assert _in == 0 && _out == 0;
-                }
-
-                _buf = newBuf;
-            }
-
-            private static final int _initialBufSize = 4096;
-
-            int    _free;
-            int    _in;
-            int    _out;
-            byte[] _buf;
-        }
-
-        private OutputStreamImpl   _byteBuffer;
-        private TextSaver          _textSaver;
-        private OutputStreamWriter _converter;
-    }
-
-    /**
-     *
-     */
-
-    static final class XmlInputStreamSaver extends Saver
-    {
-        XmlInputStreamSaver ( Root r, Splay s, int p, XmlOptions options )
-        {
-            super( r, s, p, options );
-        }
-
-        XMLEvent dequeue ( ) throws XMLStreamException
-        {
-            if (_out == null && !process())
-                return null;
-
-            if (_out == null)
-                return null;
-
-            XmlEventImpl e = _out;
-
-            if ((_out = _out._next) == null)
-                _in = null;
-
-            return e;
-        }
-
-        private void enqueue ( XmlEventImpl e )
-        {
-            assert e._next == null;
-
-            if (_in == null)
-            {
-                assert _out == null;
-                _out = _in = e;
-            }
-            else
-            {
-                _in._next = e;
-                _in = e;
-            }
-        }
-
-        //
-        //
-        //
-
-        protected void emitXmlnsFragment ( Splay s )
-        {
-            throw new IllegalStateException( "Can't stream an attribute" );
-        }
-
-        protected void emitText ( Splay s, int p, int cch )
-        {
-            assert cch > 0;
-            enqueue( new CharacterDataImpl( getRoot(), s, p, null ) );
-        }
-
-        protected void emitTextFragment ( Splay s, int p, int cch )
-        {
-            // BUGBUG - there could be namespaces pushed for this text, not
-            // sure how to communicate those, however
-
-            if (_text != null)
-            {
-                if (_text.length() > 0)
-                    emitText( s, p, cch );
-                
-                return;
-            }
-            
-            if (s != null && cch > 0)
-                emitText( s, p, cch );
-        }
-
-        protected void emitTextAfter ( Splay s, int p, int cch )
-        {
-            if (_text == null)
-                emitText( s, p, cch );
-            else
-                enqueue( new CharacterDataImpl( getRoot(), s, -1, text() ) );
-        }
-
-        protected void emitEndPrefixMappings ( )
-        {
-            Root r = getRoot();
-
-            for ( iterateMappings() ; hasMapping() ; nextMapping() )
-            {
-                String prevPrefixUri = mappingPrevPrefixUri();
-
-                if (prevPrefixUri == null)
-                    enqueue( new EndPrefixMappingImpl( r, mappingPrefix() ) );
-                else
-                {
-                    enqueue(
-                        new ChangePrefixMappingImpl(
-                            r, mappingPrefix(), mappingUri(), prevPrefixUri ) );
-                }
-            }
-        }
-
-        protected void emitEnd ( Splay s, QName name )
-        {
-            Root r = getRoot();
-
-            if (s.isRoot())
-                enqueue( new EndDocumentImpl( r, s ) );
-            else if (s.isEnd())
-                enqueue( new EndElementImpl( r, s, name, getUriMap() ) );
-            else
-            {
-                assert s.isLeaf();
-                enqueue( new EndElementImpl( r, s, name, getUriMap() ) );
-            }
-
-            emitEndPrefixMappings();
-        }
-
-        protected void emitCommentFragment ( Splay s )
-        {
-            emitComment( s );
-        }
-
-        protected void emitProcinstFragment ( Splay s )
-        {
-            emitProcinst( s );
-        }
-
-        protected void emitDocType(
-            String doctypeName, String publicID, String systemID )
-        {
-        }
-        
-        protected void emitComment ( Splay s )
-        {
-            enqueue( new CommentImpl( getRoot(), s ) );
-        }
-
-        protected void emitProcinst ( Splay s )
-        {
-            enqueue( new ProcessingInstructionImpl( getRoot(), s ) );
-        }
-
-        protected void emitAttrFragment ( Splay s )
-        {
-            throw new IllegalStateException( "Can't stream an attribute" );
-        }
-
-        protected void emitContainer ( Container c, QName name )
-        {
-            Root r = getRoot();
-
-            for ( iterateMappings() ; hasMapping() ; nextMapping() )
-            {
-                enqueue(
-                    new StartPrefixMappingImpl(
-                        r, mappingPrefix(), mappingUri() ) );
-            }
-
-            if (c.isDoc())
-                enqueue( new StartDocumentImpl( r, c ) );
-
-            if (name != null)
-            {
-                enqueue(
-                    new StartElementImpl( r, c, name, this ) );
-            }
-
-            if (c.isDoc())
-            {
-                assert c.isDoc();
-
-                if (_text != null)
-                {
-                    if (_text.length() > 0)
-                        enqueue( new CharacterDataImpl( r, c, -1, text() ) );
-                }
-                else if (c.getCch() > 0)
-                    enqueue( new CharacterDataImpl( r, c, 1, null ) );
-            }
-            else if (c.isLeaf())
-            {
-                if (_text != null)
-                {
-                    if (_text.length() > 0)
-                        enqueue( new CharacterDataImpl( r, c, -1, text() ));
-                }
-                else if (c.getCchValue() > 0)
-                    enqueue( new CharacterDataImpl( r, c, 1, null ) );
-
-                enqueue( new EndElementImpl( r, c, name, getUriMap() ) );
-
-                emitEndPrefixMappings();
-            }
-        }
-
-
-        //
-        //
-        //
-
-        private static XMLName computeName ( QName n, Map uriMap )
-        {
-            String uri = n.getNamespaceURI();
-
-            if (uri.length() == 0)
-                uri = null;
-
-            assert n.getLocalPart().length() > 0;
-
-            // The following assert may fire if someone computes a name
-            // of an element/attr too late (after other events have been
-            // enqueued and the uri map has been updated.  I check later
-            // to make sure we don't crash, however.
-
-            assert uri == null || uriMap.containsKey( uri ) : "Problem uri " + uri;
-
-            String prefix = null;
-
-            if (uri != null)
-            {
-                prefix = (String) uriMap.get( uri );
-
-                if (prefix != null && prefix.length() == 0)
-                    prefix = null;
-            }
-
-            return new XmlNameImpl( uri, n.getLocalPart(), prefix );
-        }
-
-        private static abstract class XmlEventImpl extends XmlEventBase
-        {
-            public Object monitor()
-            {
-                return _root;
-            }
-            
-            XmlEventImpl ( int type, Root r, Splay s )
-            {
-                super( type );
-                _root = r;
-                _splay = s;
-                _version = _root.getVersion();
-            }
-
-            public XMLName getName ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return null;
-                }
-            }
-
-            public XMLName getSchemaType ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    throw new RuntimeException( "NYI" );
-                }
-            }
-
-            public boolean hasName ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return false;
-                }
-            }
-
-            public final Location getLocation ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    // TODO - perhaps I can save a location goober sometimes?
-                    return null;
-                }
-            }
-
-            protected final void checkVersion ( )
-            {
-                if (_version != _root.getVersion())
-                    throw new ConcurrentModificationException( "Document changed" );
-            }
-
-            protected final Root getRoot ( )
-            {
-                return _root;
-            }
-
-            protected final Splay getSplay ( )
-            {
-                return _splay;
-            }
-
-            private Root  _root;
-            private Splay _splay;
-            private long  _version;
-
-            XmlEventImpl _next;
-        }
-
-        private static class StartDocumentImpl
-            extends XmlEventImpl implements StartDocument
-        {
-            StartDocumentImpl ( Root r, Splay s )
-            {
-                super( XMLEvent.START_DOCUMENT, r, s );
-            }
-
-            public String getSystemId ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return getRoot()._props.getDoctypeSystemId();
-                }
-            }
-
-            public String getCharacterEncodingScheme ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return getRoot()._props.getEncoding();
-                }
-            }
-
-            public boolean isStandalone ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return getRoot()._standAlone;
-                }
-            }
-
-            public String getVersion ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return getRoot()._props.getVersion();
-                }
-            }
-        }
-
-        private static class StartElementImpl
-            extends XmlEventImpl implements StartElement
-        {
-            StartElementImpl ( Root r, Splay s, QName name, Saver saver )
-            {
-                super( XMLEvent.START_ELEMENT, r, s );
-
-                _name = computeName( name, saver.getUriMap() );
-
-                _prefixMap = saver.getPrefixMap();
-
-                AttributeImpl lastAttr = null;
-
-                for ( Iterator i = saver._attrs.keySet().iterator() ;
-                      i.hasNext() ; )
-                {
-                    Splay a = (Splay) i.next();
-                    
-                    AttributeImpl attr =
-                        new NormalAttributeImpl(
-                            r, a, (String) saver._attrs.get( a ),
-                            saver.getUriMap() );
-                    
-                    if (_attributes == null)
-                        _attributes = attr;
-                    else
-                        lastAttr._next = attr;
-
-                    lastAttr = attr;
-                }
-
-                lastAttr = null;
-
-                for ( saver.iterateMappings() ;
-                      saver.hasMapping() ; saver.nextMapping() )
-                {
-                    AttributeImpl attr =
-                        new XmlnsAttributeImpl(
-                            r, saver.mappingPrefix(), saver.mappingUri(),
-                            saver.getUriMap() );
-
-                    if (_namespaces == null)
-                        _namespaces = attr;
-                    else
-                        lastAttr._next = attr;
-
-                    lastAttr = attr;
-                }
-            }
-
-            public boolean hasName()
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return true;
-                }
-            }
-
-            public XMLName getName ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return _name;
-                }
-            }
-
-            public AttributeIterator getAttributes ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-    
-                    return
-                        new AttributeIteratorImpl( getRoot(), _attributes, null );
-                }
-            }
-
-            public AttributeIterator getNamespaces ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-    
-                    return
-                        new AttributeIteratorImpl( getRoot(), null, _namespaces );
-                }
-            }
-
-            public AttributeIterator getAttributesAndNamespaces ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-    
-                    return
-                        new AttributeIteratorImpl(
-                            getRoot(), _attributes, _namespaces );
-                }
-            }
-
-            public Attribute getAttributeByName ( XMLName xmlName )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-    
-                    for ( AttributeImpl a = _attributes ; a != null ; a = a._next )
-                    {
-                        if (xmlName.equals( a.getName() ))
-                            return a;
-                    }
-    
-                    return null;
-                }
-            }
-
-            public String getNamespaceUri ( String prefix )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-    
-                    return
-                        (String) _prefixMap.get( prefix == null ? "" : prefix );
-                }
-            }
-
-            public Map getNamespaceMap ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-    
-                    return _prefixMap;
-                }
-            }
-
-            private static class AttributeIteratorImpl
-                implements AttributeIterator
-            {
-                public Object monitor()
-                {
-                    return _root;
-                }
-                
-                AttributeIteratorImpl (
-                    Root r, AttributeImpl attributes, AttributeImpl namespaces )
-                {
-                    _root = r;
-                    _version = r.getVersion();
-                    _attributes = attributes;
-                    _namespaces = namespaces;
-                }
-
-                public Attribute next ( )
-                {
-                    synchronized (monitor())
-                    {
-                        checkVersion();
-    
-                        AttributeImpl attr = null;
-    
-                        if (_attributes != null)
-                        {
-                            attr = _attributes;
-                            _attributes = attr._next;
-                        }
-                        else if (_namespaces != null)
-                        {
-                            attr = _namespaces;
-                            _namespaces = attr._next;
-                        }
-    
-                        return attr;
-                    }
-                }
-
-                public boolean hasNext ( )
-                {
-                    synchronized (monitor())
-                    {
-                        checkVersion();
-    
-                        return _attributes != null || _namespaces != null;
-                    }
-                }
-
-                public Attribute peek ( )
-                {
-                    synchronized (monitor())
-                    {
-                        checkVersion();
-    
-                        if (_attributes != null)
-                            return _attributes;
-                        else if (_namespaces != null)
-                            return _namespaces;
-    
-                        return null;
-                    }
-                }
-
-                public void skip ( )
-                {
-                    synchronized (monitor())
-                    {
-                        checkVersion();
-    
-                        if (_attributes != null)
-                            _attributes = _attributes._next;
-                        else if (_namespaces != null)
-                            _namespaces = _namespaces._next;
-                    }
-                }
-
-                private final void checkVersion ( )
-                {
-                    if (_version != _root.getVersion())
-                        throw new IllegalStateException( "Document changed" );
-                }
-
-                private Root          _root;
-                private long          _version;
-                private AttributeImpl _attributes;
-                private AttributeImpl _namespaces;
-            }
-
-            private static abstract class AttributeImpl implements Attribute
-            {
-                public Object monitor()
-                {
-                    return _root;
-                }
-                
-                AttributeImpl ( Root r )
-                {
-                    _root = r;
-                    _version = r.getVersion();
-                }
-
-                public XMLName getName ( )
-                {
-                    synchronized (monitor())
-                    {
-                        checkVersion();
-                        return _name;
-                    }
-                }
-
-                public String getType ( )
-                {
-                    synchronized (monitor())
-                    {
-                        checkVersion();
-    // TODO - Make sure throwing away this DTD info is ok.
-    // Is there schema info which can return more useful info?
-                        return "CDATA";
-                    }
-                }
-
-                public XMLName getSchemaType ( )
-                {
-                    synchronized (monitor())
-                    {
-                        checkVersion();
-    // TODO - Can I return something reasonable here?
-                        return null;
-                    }
-                }
-
-                protected final void checkVersion ( )
-                {
-                    if (_version != _root.getVersion())
-                        throw new IllegalStateException( "Document changed" );
-                }
-
-                AttributeImpl _next;
-
-                protected XMLName _name;
-
-                protected Root  _root;
-                private long  _version;
-            }
-
-            private static class XmlnsAttributeImpl extends AttributeImpl
-            {
-                XmlnsAttributeImpl (
-                    Root r, String prefix, String uri, Map uriMap )
-                {
-                    super( r );
-
-                    _uri = uri;
-
-                    String local;
-
-                    if (prefix.length() == 0)
-                    {
-                        prefix = null;
-                        local = "xmlns";
-                    }
-                    else
-                    {
-                        local = prefix;
-                        prefix = "xmlns";
-                    }
-
-                    _name = new XmlNameImpl( null, local, prefix );
-                }
-
-                public String getValue ( )
-                {
-                    synchronized (monitor())
-                    {
-                        checkVersion();
-                        return _uri;
-                    }
-                }
-
-                private String _uri;
-            }
-
-            private static class NormalAttributeImpl extends AttributeImpl
-            {
-                NormalAttributeImpl (
-                    Root r, Splay s, String value, Map uriMap )
-                {
-                    super( r );
-                    assert s.isNormalAttr();
-                    _splay = s;
-                    _value = value;
-                    _name = computeName( s.getName(), uriMap );
-                }
-
-                public String getValue ( )
-                {
-                    synchronized (monitor())
-                    {
-                        checkVersion();
-    
-                        return _value != null ? _value : _splay.getText( _root );
-                    }
-                }
-
-                private String _value; // If invalid in the store
-                private Splay _splay;
-            }
-
-            private XMLName _name;
-            private Map     _prefixMap;
-
-            private AttributeImpl _attributes;
-            private AttributeImpl _namespaces;
-        }
-
-        private static class StartPrefixMappingImpl
-            extends XmlEventImpl implements StartPrefixMapping
-        {
-            StartPrefixMappingImpl ( Root r, String prefix, String uri )
-            {
-                super( XMLEvent.START_PREFIX_MAPPING, r, null );
-
-                _prefix = prefix;
-                _uri = uri;
-            }
-
-            public String getNamespaceUri ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return _uri;
-                }
-            }
-
-            public String getPrefix ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return _prefix;
-                }
-            }
-
-            private String _prefix, _uri;
-        }
-
-        private static class ChangePrefixMappingImpl
-            extends XmlEventImpl implements ChangePrefixMapping
-        {
-            ChangePrefixMappingImpl (
-                Root r, String prefix, String oldUri, String newUri )
-            {
-                super( XMLEvent.CHANGE_PREFIX_MAPPING, r, null );
-
-                _oldUri = oldUri;
-                _newUri = newUri;
-                _prefix = prefix;
-            }
-
-            public String getOldNamespaceUri ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return _oldUri;
-                }
-            }
-
-            public String getNewNamespaceUri ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return _newUri;
-                }
-            }
-
-            public String getPrefix ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return _prefix;
-                }
-            }
-
-            private String _oldUri, _newUri, _prefix;
-        }
-
-        private static class EndPrefixMappingImpl
-            extends XmlEventImpl implements EndPrefixMapping
-        {
-            EndPrefixMappingImpl ( Root r, String prefix )
-            {
-                super( XMLEvent.END_PREFIX_MAPPING, r, null );
-                _prefix = prefix;
-            }
-
-            public String getPrefix ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return _prefix;
-                }
-            }
-
-            private String _prefix;
-        }
-
-        private static class CharacterDataImpl
-            extends XmlEventImpl implements CharacterData
-        {
-            CharacterDataImpl ( Root r, Splay s, int p, String charData )
-            {
-                super( XMLEvent.CHARACTER_DATA, r, s );
-
-                assert p > 0 || (charData != null && charData.length() > 0);
-
-                _pos = p;
-                _charData = charData;
-            }
-
-            public String getContent ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-    
-                    Splay s = getSplay();
-    
-                    if (_pos == -1)
-                        return _charData;
-    
-                    Root r = getRoot();
-    
-                    return
-                        r._text.fetch(
-                            s.getCpForPos( r, _pos ), s.getPostCch( _pos ) );
-                }
-            }
-
-            public boolean hasContent ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return true;
-                }
-            }
-
-            private int    _pos;
-            private String _charData;
-        }
-
-        private static class EndElementImpl
-            extends XmlEventImpl implements EndElement
-        {
-            EndElementImpl ( Root r, Splay s, QName name, Map uriMap )
-            {
-                super( XMLEvent.END_ELEMENT, r, s );
-
-                assert s.isLeaf() || s.isEnd();
-
-                if (name == null)
-                {
-                    if (s.isEnd())
-                        s = s.getContainer();
-                    
-                    name = s.getName();
-                }
-
-                _name = computeName( name, uriMap );
-            }
-
-            public boolean hasName ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return true;
-                }
-            }
-
-            public XMLName getName ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return _name;
-                }
-            }
-
-            private XMLName _name;
-        }
-
-        private static class EndDocumentImpl
-            extends XmlEventImpl implements EndDocument
-        {
-            EndDocumentImpl ( Root r, Splay s )
-            {
-                super( XMLEvent.END_DOCUMENT, r, s );
-            }
-        }
-
-        private static class CommentImpl
-            extends XmlEventImpl implements Comment
-        {
-            CommentImpl ( Root r, Splay s )
-            {
-                super( XMLEvent.COMMENT, r, s );
-                assert s.isComment();
-            }
-
-            public String getContent ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-    
-                    Splay s = getSplay();
-                    return s.getCch() == 0 ? null : s.getText( getRoot() );
-                }
-            }
-
-            public boolean hasContent ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-    
-                    return getSplay().getCch() > 0;
-                }
-            }
-        }
-
-        private static class ProcessingInstructionImpl
-            extends XmlEventImpl implements ProcessingInstruction
-        {
-            ProcessingInstructionImpl ( Root r, Splay s )
-            {
-                super( XMLEvent.PROCESSING_INSTRUCTION, r, s );
-                assert s.isProcinst();
-            }
-
-            public String getTarget ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    return getSplay().getLocal();
-                }
-            }
-
-            public String getData ( )
-            {
-                synchronized (monitor())
-                {
-                    checkVersion();
-                    Splay s = getSplay();
-                    return s.getCch() == 0 ? null : s.getText( getRoot() );
-                }
-            }
-        }
-
-        private XmlEventImpl _in, _out;
-    }
-
-    static final class XmlInputStreamImpl extends GenericXmlInputStream
-    {
-        XmlInputStreamImpl ( Root r, Splay s, int p, XmlOptions options )
-        {
-            _xmlInputStreamSaver =
-                new XmlInputStreamSaver( r, s, p, options );
-
-            // Make the saver grind away just a bit to throw any exceptions
-            // related to the inability to create a stream on this xml
-            
-            _xmlInputStreamSaver.process();
-        }
-
-        protected XMLEvent nextEvent ( ) throws XMLStreamException
-        {
-            return _xmlInputStreamSaver.dequeue();
-        }
-
-        private XmlInputStreamSaver _xmlInputStreamSaver;
-    }
-
-    //
-    //
-    //
-
-    static final class ValidatorSaver
-        extends Saver implements ValidatorListener.Event
-    {
-        ValidatorSaver (
-            Root r, Splay s, int p,
-            XmlOptions options, ValidatorListener vEventSink )
-        {
-            super( r, s, p, options );
-
-            _wantDupAttrs = true;
-
-            assert p == 0;
-
-            _startSplay = s;
-            _vEventSink = vEventSink;
-
-            while ( process() )
-                ;  // Empty
-        }
-
-        protected void emitXmlnsFragment ( Splay s )
-        {
-            throw new IllegalStateException();
-        }
-
-        protected void emitTextFragment ( Splay s, int p, int cch )
-        {
-            throw new IllegalStateException();
-        }
-
-        protected void emitCommentFragment ( Splay s )
-        {
-            throw new IllegalStateException();
-        }
-
-        protected void emitProcinstFragment ( Splay s )
-        {
-            throw new IllegalStateException();
-        }
-
-        protected void emitTextAfter ( Splay s, int p, int cch )
-        {
-            if (_text == null)
-            {
-                assert cch > 0;
-                emitEvent( ValidatorListener.TEXT, s, p, null, s, p );
-            }
-            else
-                emitEvent( ValidatorListener.TEXT, s, p, null, text() );
-        }
-
-        protected void emitEnd ( Splay s, QName name )
-        {
-            emitEvent( ValidatorListener.END, s, 0 );
-        }
-
-        protected void emitDocType(
-            String doctypeName, String publicID, String systemID )
-        {
-        }
-        
-        protected void emitComment ( Splay s )
-        {
-            if (s.getCchAfter() > 0)
-                emitEvent( ValidatorListener.TEXT, s, 0, null, s, 1 );
-        }
-
-        protected void emitProcinst ( Splay s )
-        {
-            if (s.getCchAfter() > 0)
-                emitEvent( ValidatorListener.TEXT, s, 0, null, s, 1 );
-        }
-
-        protected void emitAttrFragment ( Splay s )
-        {
-            emitEvent( ValidatorListener.BEGIN, s, 0, null );
-
-            if (_text != null)
-            {
-                if (_text.length() > 0)
-                    emitEvent( ValidatorListener.TEXT, s, 0, null, text() );
-            }
-            else if (s.getCch() > 0)
-                emitEvent( ValidatorListener.TEXT, s, 0, null, s, 0 );
-
-            emitEvent( ValidatorListener.END, s, 0 );
-        }
-
-        protected void emitContainer ( Container c, QName name )
-        {
-            assert _xsiNoLoc == null;
-            assert _xsiLoc == null;
-            assert _xsiType == null;
-            assert _xsiNil == null;
-
-            for ( Splay s = c.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-            {
-                if (s.isXsiAttr())
-                {
-                    String local = s.getLocal();
-
-                    if (local.equals( "type" ))
-                        _xsiType = s;
-                    else if (local.equals( "nil" ))
-                        _xsiNil = s;
-                    else if (local.equals( "schemaLocation" ))
-                        _xsiLoc = s;
-                    else if (local.equals( "noNamespaceSchemaLocation" ))
-                        _xsiNoLoc = s;
-                }
-            }
-
-            emitEvent(
-                ValidatorListener.BEGIN, c, 0,
-                c == _startSplay ? null : name );
-
-            _xsiNoLoc = _xsiLoc = _xsiType = _xsiNil = null;
-
-            for ( Iterator i = _attrs.keySet().iterator() ; i.hasNext() ; )
-            {
-                Splay s = (Splay) i.next();
-                
-                if (s.isXsiAttr())
-                {
-                    String local = s.getLocal();
-
-                    if (local.equals( "type" ) ||
-                        local.equals( "nil" ) ||
-                        local.equals( "schemaLocation" ) ||
-                        local.equals( "noNamespaceSchemaLocation" ))
-                    {
-                        continue;
-                    }
-                }
-
-                String invalidAttrValue = (String) _attrs.get( s );
-
-                if (invalidAttrValue == null)
-                {
-                    emitEvent(
-                        ValidatorListener.ATTR, s, 0, s.getName(), s, 0 );
-                }
-                else
-                {
-                    emitEvent(
-                        ValidatorListener.ATTR, s, 0, s.getName(),
-                        invalidAttrValue );
-                }
-            }
-
-            emitEvent( ValidatorListener.ENDATTRS, c, 0 );
-
-            if (c.isDoc())
-            {
-                assert c.isDoc();
-
-                if (_text != null)
-                {
-                    if (_text.length() > 0)
-                        emitEvent( ValidatorListener.TEXT, c, 1, null, text() );
-                }
-                else if (c.getCch() > 0)
-                    emitEvent( ValidatorListener.TEXT, c, 1, null, c, 1 );
-            }
-            else if (c.isLeaf())
-            {
-                int cch = _text != null ? _text.length() : c.getCchValue();
-
-                if (cch > 0)
-                {
-                    if (_text != null)
-                    {
-                        emitEvent(
-                            ValidatorListener.TEXT, c, 1, null, text() );
-                    }
-                    else
-                    {
-                        emitEvent(
-                            ValidatorListener.TEXT, c, 1, null, c, 1 );
-                    }
-                }
-
-                emitEvent( ValidatorListener.END, c, c.getPosLeafEnd() );
-            }
-        }
-
-        protected void emitEvent ( int kind, Splay sLoc, int pLoc )
-            { emitEvent( kind, sLoc, pLoc, null, null, 0, null ); }
-
-        protected void emitEvent ( int kind, Splay sLoc, int pLoc, QName name )
-            { emitEvent( kind, sLoc, pLoc, name, null, 0, null ); }
-
-        protected void emitEvent (
-            int kind, Splay sLoc, int pLoc, QName name, String text )
-                { emitEvent ( kind, sLoc, pLoc, name, null, 0, text ); }
-
-        protected void emitEvent (
-            int kind, Splay sLoc, int pLoc, QName name, Splay sText, int pText )
-                { emitEvent ( kind, sLoc, pLoc, name, sText, pText, null ); }
-
-        protected void emitEvent (
-            int kind, Splay sLoc, int pLoc, QName name,
-            Splay sText, int pText, String text )
-        {
-            if (kind == ValidatorListener.TEXT && _emittedText)
-                return;
-
-            boolean hasText = text != null || sText != null;
-
-            assert
-                !hasText ||
-                    (kind == ValidatorListener.ATTR ||
-                        kind == ValidatorListener.TEXT);
-
-            assert kind != ValidatorListener.ATTR || hasText;
-            assert kind != ValidatorListener.TEXT || hasText;
-
-            assert kind != ValidatorListener.ATTR || name != null;
-
-            _name = name;
-            _sText = sText;
-            _pText = pText;
-            _eventText = text;
-            _hasText = hasText;
-            _sLoc = sLoc;
-            _pLoc = pLoc;
-
-            _vEventSink.nextEvent( kind, this );
-
-            _emittedText = kind == ValidatorListener.TEXT;
-        }
-
-        //
-        //
-        //
-
-        public XmlCursor getLocationAsCursor ( )
-        {
-            checkVersion();
-            return new Cursor( getRoot(), _sLoc, _pLoc );
-        }
-
-        public boolean getXsiType ( Chars chars )
-        {
-            if (_xsiType == null)
-                return false;
-
-            setChars( chars, PRESERVE, null, _xsiType, 0 );
-
-            return true;
-        }
-
-        public boolean getXsiNil ( Chars chars )
-        {
-            if (_xsiNil == null)
-                return false;
-
-
-            setChars( chars, PRESERVE, null, _xsiNil, 0 );
-
-            return true;
-        }
-
-        public boolean getXsiLoc ( Chars chars )
-        {
-            if (_xsiLoc == null)
-                return false;
-
-            setChars( chars, PRESERVE, null, _xsiLoc, 0 );
-
-            return true;
-        }
-
-        public boolean getXsiNoLoc ( Chars chars )
-        {
-            if (_xsiNoLoc == null)
-                return false;
-
-            setChars( chars, PRESERVE, null, _xsiNoLoc, 0 );
-
-            return true;
-        }
-
-        public QName getName ( )
-        {
-            return _name;
-        }
-
-        private void setChars (
-            Chars chars, int wsr, String string, Splay sText, int pText )
-        {
-            assert string != null || sText != null;
-
-            checkVersion();
-
-            Root r = getRoot();
-
-            chars.buffer = null;
-            chars.string = null;
-
-            if (string != null)
-            {
-                chars.string = string;
-            }
-            else if (pText == 0)
-            {
-                chars.buffer = r._text._buf;
-                chars.length = sText.getCch();
-
-                chars.offset =
-                    r._text.unObscure(
-                        r.getCp( sText ), chars.length );
-            }
-            else if (pText == 1 && sText.isLeaf())
-            {
-                chars.buffer = r._text._buf;
-                chars.length = sText.getCchValue();
-
-                chars.offset =
-                    r._text.unObscure(
-                        r.getCp( sText ), chars.length );
-            }
-            else
-            {
-                assert pText == sText.getPosAfter();
-
-                boolean moreText = false;
-
-                for ( Splay t = sText.nextNonAttrSplay() ; ;
-                      t = t.nextSplay() )
-                {
-                    if (!t.isComment() && !t.isProcinst())
-                        break;
-
-                    if (t.getCchAfter() > 0)
-                    {
-                        moreText = true;
-                        break;
-                    }
-                }
-
-                if (!moreText)
-                {
-                    chars.buffer = r._text._buf;
-                    chars.length = sText.getCchAfter();
-
-                    chars.offset =
-                        r._text.unObscure(
-                            sText.getCpForPos( r, pText ),
-                            chars.length );
-                }
-                else
-                {
-                    StringBuffer sb = new StringBuffer();
-
-                    int cch = sText.getCchAfter();
-
-                    int off =
-                        r._text.unObscure(
-                            sText.getCpForPos( r, pText ), cch );
-
-                    sb.append( r._text._buf, off, cch );
-
-                    for ( Splay t = sText.nextNonAttrSplay() ; ;
-                          t = t.nextSplay() )
-                    {
-                        if (!t.isComment() && !t.isProcinst())
-                            break;
-
-                        if (t.getCchAfter() > 0)
-                        {
-                            cch = t.getCchAfter();
-
-                            off =
-                                r._text.unObscure(
-                                    t.getCpForPos( r, 1 ), cch );
-
-                            sb.append( r._text._buf, off, cch );
-                        }
-                    }
-
-                    chars.length = sb.length();
-                    chars.buffer = new char [ chars.length ];
-                    chars.offset = 0;
-
-                    sb.getChars( 0, chars.length, chars.buffer, 0 );
-                }
-            }
-
-            if (wsr != PRESERVE)
-            {
-                // TODO - this is quick, dirty and very inefficient
-                //        make it faster!
-
-                String str = chars.asString();
-                StringBuffer sb = new StringBuffer();
-                int state = -1, nSpaces = 0, cch = str.length();
-
-                for ( int i = 0 ; i < cch ; i++ )
-                {
-                    char ch = str.charAt( i );
-
-                    if (ch == '\n' || ch == '\r' || ch == '\t')
-                        ch = ' ';
-
-                    if (wsr == COLLAPSE)
-                    {
-                        if (ch == ' ')
-                        {
-                            if (state == -1)
-                                continue;
-
-                            nSpaces++;
-
-                            continue;
-                        }
-
-                        if (nSpaces > 1)
-                            nSpaces = 1;
-
-                        for ( ; nSpaces > 0 ; nSpaces-- )
-                            sb.append( ' ' );
-
-                        state = 0;
-                    }
-
-                    sb.append( ch );
-                }
-
-                chars.string = sb.toString();
-                chars.buffer = null;
-            }
-        }
-
-        public void getText ( Chars chars )
-        {
-            getText( chars, PRESERVE );
-        }
-
-        public void getText ( Chars chars, int wsr )
-        {
-            if (!_hasText)
-                throw new RuntimeException( "No text for this event");
-
-            setChars( chars, wsr, _eventText, _sText, _pText );
-        }
-
-        // TODO - rather expensive to make Chars and getText and get
-        // String
-        public boolean textIsWhitespace ( )
-        {
-            Chars chars = new Chars();
-            getText( chars );
-            String s = chars.asString();
-
-            for ( int i = 0 ; i < s.length() ; i++ )
-            {
-                switch ( s.charAt( i ) )
-                {
-                    case ' ':
-                    case '\n':
-                    case '\r':
-                    case '\t':
-                        break;
-
-                    default :
-                        return false;
-                }
-            }
-
-            return true;
-        }
-
-        private ValidatorListener _vEventSink;
-        private Splay             _startSplay;
-        private boolean           _emittedText;
-
-        private QName   _name;
-        private Splay   _xsiType;
-        private Splay   _xsiNil;
-        private Splay   _xsiLoc;
-        private Splay   _xsiNoLoc;
-        private String  _eventText;
-        private Splay   _sText;
-        private int     _pText;
-        private Splay   _sLoc;
-        private int     _pLoc;
-        private boolean _hasText;
-    }
-
-    //
-    //
-    //
-
-    static final class SaxSaver extends Saver
-    {
-        SaxSaver (
-            Root r, Splay s, int p, XmlOptions options,
-            ContentHandler contentHandler, LexicalHandler lexicalhandler )
-                throws SAXException
-        {
-            super( r, s, p, options );
-
-            _attributes = new AttributesImpl();
-            
-            _wantFragTest = true;
-            
-            _contentHandler = contentHandler;
-            _lexicalhandler = lexicalhandler;
-
-//            _contentHandler.setDocumentLocator( hhmmmm  );
-            
-            _contentHandler.startDocument();
-
-            try
-            {
-                while ( process() )
-                    ;
-            }
-            catch ( SaverSAXException e )
-            {
-                throw e._saxException;
-            }
-            
-            _contentHandler.endDocument();
-        }
-
-        private class SaverSAXException extends RuntimeException
-        {
-            SaverSAXException ( SAXException e )
-            {
-                _saxException = e;
-            }
-            
-            SAXException _saxException;
-        }
-
-        private void throwSaxException ( SAXException e )
-        {
-            throw new SaverSAXException( e );
-        }
-
-        protected void emitContainer ( Container c, QName name )
-        {
-            if (c.isBegin())
-            {
-                emitContainerHelper( c, name, null, null );
-
-                if (c.isLeaf())
-                {
-                    int cch = _text == null ? c.getCchValue() : _text.length();
-
-                    if (cch > 0)
-                    {
-                        if (_text == null)
-                            emitCharacters( c, 0, cch );
-                        else
-                            emitCharacters( _text );
-                    }
-                    
-                    emitEndElement( c.getName() );
-                }
-            }
-            else
-            {
-                assert c.isDoc();
-
-                if (name != null)
-                    emitContainerHelper( c, name, null, null );
-
-                if (_text == null)
-                    emitCharacters( c, 0, c.getCch() );
-                else
-                    emitCharacters( _text );
-            }
-        }
-
-        private void emitAttrHelper ( Splay s, String value )
-        {
-            assert s.isNormalAttr();
-            
-            String local = s.getLocal();
-            String uri = s.getUri();
-
-            _attributes.addAttribute(
-                s.getUri(), s.getLocal(),
-                getPrefixedName( s.getName() ),
-                "CDATA",
-                value == null ? s.getText( getRoot() ) : value );
-        }
-
-        private void addNamespaceAttr ( String prefix, String uri )
-        {
-            try
-            {
-                _contentHandler.startPrefixMapping( prefix, uri );
-            }
-            catch ( SAXException e )
-            {
-                throwSaxException( e );
-            }
-
-            if (prefix.length() == 0)
-                _attributes.addAttribute( "", "", "xmlns", "CDATA", uri );
-            else
-            {
-                _attributes.addAttribute(
-                    "", "", "xmlns:" + prefix, "CDATA", uri );
-            }
-        }
-        
-        private void emitNamespacesHelper ( )
-        {
-            for ( iterateMappings() ; hasMapping() ; nextMapping() )
-                addNamespaceAttr( mappingPrefix(), mappingUri() );
-        }
-
-        private void emitContainerHelper (
-            Container c, QName name,
-            Splay extraAttr, StringBuffer extraAttrText )
-        {
-            assert name != null;
-            
-            _attributes.clear();
-
-            if (_saveNamespacesFirst)
-                emitNamespacesHelper();
-
-            for ( Iterator i = _attrs.keySet().iterator() ; i.hasNext() ; )
-            {
-                Splay s = (Splay) i.next();
-                emitAttrHelper( s, (String) _attrs.get( s ) );
-            }
-
-            if (extraAttr != null)
-            {
-                emitAttrHelper(
-                    extraAttr,
-                    extraAttrText == null ? null : extraAttrText.toString() );
-            }
-
-            if (!_saveNamespacesFirst)
-                emitNamespacesHelper();
-            
-            emitElement( name, getPrefixedName( name ) );
-        }
-
-        private void emitCharacters ( char[] buf, int off, int cch )
-        {
-            try
-            {
-                _contentHandler.characters( buf, off, cch );
-            }
-            catch ( SAXException e )
-            {
-                throwSaxException( e );
-            }
-        }
-        
-        private void emitCharacters ( Splay s, int p, int cch )
-        {
-            emitCharacters( s.getCpForPos( getRoot(), p ), cch );
-        }
-        
-        private void emitCharacters ( int cp, int cch )
-        {
-            if (cch == 0)
-                return;
-
-            emitCharacters(
-                getRoot()._text._buf, getRoot()._text.unObscure( cp, cch ),
-                cch );
-        }
-        
-        private void emitCharacters ( StringBuffer sb )
-        {
-            if (sb.length() == 0)
-                return;
-            
-            String text = sb.toString(); // Inefficient, use a shared char[]
-            
-            emitCharacters( text.toCharArray(), 0, text.length() );
-        }
-        
-        private void emitEndElement ( QName name )
-        {
-            try
-            {
-                _contentHandler.endElement(
-                    name.getNamespaceURI(), name.getLocalPart(),
-                    getPrefixedName( name ) );
-            }
-            catch ( SAXException e )
-            {
-                throwSaxException( e );
-            }
-            
-            for ( iterateMappings() ; hasMapping() ; nextMapping() )
-            {
-                try
-                {
-                    _contentHandler.endPrefixMapping( mappingPrefix() );
-                }
-                catch ( SAXException e )
-                {
-                    throwSaxException( e );
-                }
-            }
-        }
-        
-        private void endNamespaces ( )
-        {
-            try
-            {
-                for ( int i = 0 ; i < _attributes.getLength() ; i ++ )
-                {
-                    String qn = _attributes.getQName( i );
-                    
-                    if (!qn.startsWith( "xmlns" ))
-                        continue;
-
-                    int j = qn.indexOf( ':' );
-
-                    if (j >= 0)
-                    {
-                        _contentHandler.endPrefixMapping(
-                            qn.substring( j + 1 ) );
-                    }
-                    else
-                        _contentHandler.endPrefixMapping( "" );
-                }
-            }
-            catch ( SAXException e )
-            {
-                throwSaxException( e );
-            }
-        }
-                
-        private String getPrefixedName ( QName name )
-        {
-            String ns = name.getNamespaceURI();
-            String lp = name.getLocalPart();
-
-            if (ns.length() == 0)
-                return lp;
-
-            String prefix = getUriMapping( ns );
-
-            if (prefix.length() == 0)
-                return lp;
-
-            return prefix + ":" + lp;
-        }
-
-        private void emitElement ( QName name, String prefixedName )
-        {
-            try
-            {
-                _contentHandler.startElement(
-                    name.getNamespaceURI(), name.getLocalPart(),
-                    getPrefixedName( name ), _attributes );
-            }
-            catch ( SAXException e )
-            {
-                throwSaxException( e );
-            }
-        }
-
-        protected void emitEnd ( Splay s, QName name )
-        {
-            if (name != null)
-                emitEndElement( name );
-        }
-
-        protected void emitTextAfter ( Splay s, int p, int cch )
-        {
-            if (_text == null)
-                emitCharacters( s, p, cch );
-            else
-                emitCharacters( _text );
-        }
-
-        protected void emitDocType(
-            String doctypeName, String publicID, String systemID )
-        {
-            if (_lexicalhandler != null)
-            {
-                try
-                {
-                    _lexicalhandler.startDTD( doctypeName, publicID, systemID );
-                    _lexicalhandler.endDTD();
-                }
-                catch ( SAXException e )
-                {
-                    throwSaxException( e );
-                }
-            }
-        }
-        
-        protected void emitComment ( Splay s )
-        {
-            if (_lexicalhandler != null)
-            {
-                int cp = getRoot().getCp( s );
-                int cch = s.getCchValue();
-
-                try
-                {
-                    _lexicalhandler.comment(
-                        getRoot()._text._buf,
-                        getRoot()._text.unObscure( cp, cch ),
-                        cch );
-                }
-                catch ( SAXException e )
-                {
-                    throwSaxException( e );
-                }
-            }
-        }
-
-        protected void emitProcinst ( Splay s )
-        {
-            try
-            {
-                _contentHandler.processingInstruction(
-                    s.getLocal(), s.getText( getRoot() ) );
-            }
-            catch ( SAXException e )
-            {
-                throwSaxException( e );
-            }
-        }
-
-        protected void emitTextFragment ( Splay s, int p, int cch )
-        {
-            emitContainerHelper( null, _fragment, null, null );
-            
-            if (_text != null)
-            {
-                if (_text.length() > 0)
-                    emitCharacters( _text );
-            }
-            else if (s != null && cch > 0)
-                emitCharacters( s, p, cch );
-
-            emitEndElement( _fragment );
-        }
-
-        protected void emitXmlnsFragment ( Splay s )
-        {
-            emitContainerHelper( null, _fragment, null, null );
-            emitEndElement( _fragment );
-        }
-
-        protected void emitAttrFragment ( Splay s )
-        {
-            emitContainerHelper( null, _fragment, s, _text );
-            emitEndElement( _fragment );
-        }
-
-        protected void emitCommentFragment ( Splay s )
-        {
-            emitContainerHelper( null, _fragment, null, null );
-            emitComment( s );
-            emitEndElement( _fragment );
-        }
-
-        protected void emitProcinstFragment ( Splay s )
-        {
-            emitContainerHelper( null, _fragment, null, null );
-            emitProcinst( s );
-            emitEndElement( _fragment );
-        }
-        
-        private AttributesImpl _attributes;
-
-        private SAXException _saxException;
-        
-        private ContentHandler _contentHandler;
-        private LexicalHandler _lexicalhandler;
-    }
-
-            
-    //
-    //
-    //
-
-    static final class DomSaver extends Saver
-    {
-        DomSaver ( Root r, Splay s, int p, boolean createDoc, XmlOptions options )
-        {
-            super( r, s, p, options );
-            _createDoc = createDoc;
-        }
-
-        Node exportDom ( )
-            throws Exception
-        {
-            // TODO - add an options which specifies a Document with which
-            // to create the fragment
-
-            _doc =
-                DocumentBuilderFactory.newInstance().
-                    newDocumentBuilder().newDocument();
-
-            Node result;
-
-            if (_createDoc)
-            {
-                result = _currentNode = _doc;
-            }
-            else
-            {
-                DocumentFragment frag = _doc.createDocumentFragment();
-                result = _currentNode = frag;
-            }
-
-            while ( process() )
-                ;
-
-            return result;
-        }
-
-        protected void emitContainer ( Container c, QName name )
-        {
-            Root r = getRoot();
-
-            if (c.isDoc())
-            {
-                if (hasMappings())
-                {
-                    throw new IllegalStateException(
-                        "Namespace attribute not associated with an element" );
-                }
-
-                for ( Splay s = c.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-                {
-                    if (s.isNormalAttr())
-                    {
-                        throw new IllegalStateException(
-                            "Attribute not associated with an element" );
-                    }
-                }
-
-                String text = null;
-
-                if (_text != null)
-                {
-                    if (_text.length() > 0)
-                        text = text();
-                }
-                else if (c.getCch() > 0)
-                    text = r._text.fetch( 0, c.getCch() );
-
-                if (text != null && _currentNode != _doc)
-                {
-                    _currentNode.insertBefore(
-                        _doc.createTextNode( text ), null );
-                }
-            }
-            else
-            {
-                assert c.isBegin();
-
-                String qname = c.getLocal();
-
-                if (c.getUri().length() > 0)
-                {
-                    String prefix = getUriMapping( c.getUri() );
-
-                    if (prefix.length() > 0)
-                        qname = prefix + ":" + qname;
-                }
-
-                Element e = _doc.createElementNS( c.getUri(), qname );
-
-                _currentNode.insertBefore( e, null );
-
-                for ( iterateMappings() ; hasMapping() ; nextMapping() )
-                {
-                    String prefix = mappingPrefix();
-
-                    if (prefix.length() == 0)
-                        qname = "xmlns";
-                    else
-                        qname = "xmlns:" + prefix;
-
-                    e.setAttributeNS( Splay._xmlnsUri, qname, mappingUri() );
-                }
-
-                for ( Iterator i = _attrs.keySet().iterator() ; i.hasNext() ; )
-                {
-                    Splay s = (Splay) i.next();
-                    
-                    qname = s.getLocal();
-
-                    if (s.getUri().length() > 0)
-                    {
-                        String prefix = getUriMapping( s.getUri() );
-
-                        if (prefix.length() > 0)
-                            qname = prefix + ":" + qname;
-                    }
-
-                    String invalidAttrValue = (String) _attrs.get( s );
-
-                    e.setAttributeNS(
-                        s.getUri(), qname,
-                        invalidAttrValue == null
-                            ? s.getText( r )
-                            : invalidAttrValue );
-                }
-
-                if (c.isLeaf())
-                {
-                    String text = null;
-
-                    if (_text != null)
-                    {
-                        if (_text.length() > 0)
-                            text = text();
-                    }
-                    else if (c.getCchValue() > 0)
-                    {
-                        text =
-                            r._text.fetch(
-                                c.getCpForPos( r, 1 ), c.getCchValue() );
-                    }
-
-                    if (text != null && _currentNode != _doc)
-                        e.insertBefore( _doc.createTextNode( text ), null );
-                }
-                else
-                {
-                    _currentNode = e;
-                }
-            }
-        }
-
-        protected void emitEnd ( Splay s, QName name )
-        {
-            _currentNode = _currentNode.getParentNode();
-        }
-
-        protected void emitTextAfter ( Splay s, int p, int cch )
-        {
-            assert cch > 0;
-
-            Root r = getRoot();
-
-            String text = null;
-
-            if (_text != null)
-            {
-                if (_text.length() > 0)
-                    text = text();
-            }
-            else if (cch > 0)
-                text = r._text.fetch( s.getCpForPos( r, p ), cch );
-
-            if (_currentNode != _doc)
-                _currentNode.insertBefore( _doc.createTextNode( text ), null );
-        }
-
-        protected void emitDocType(
-            String doctypeName, String publicID, String systemID )
-        {
-        }
-                
-        protected void emitComment ( Splay s )
-        {
-            Root r = getRoot();
-
-            _currentNode.insertBefore(
-                _doc.createComment(
-                    r._text.fetch(
-                        s.getCpForPos( r, 0 ), s.getCchValue() ) ), null );
-        }
-
-        protected void emitProcinst ( Splay s )
-        {
-            Root r = getRoot();
-
-            _currentNode.insertBefore(
-                _doc.createProcessingInstruction(
-                    s.getLocal(),
-                    r._text.fetch(
-                        s.getCpForPos( r, 0 ), s.getCchValue() ) ), null );
-        }
-
-        protected void emitXmlnsFragment ( Splay s )
-        {
-            throw new IllegalStateException(
-                "Cannot create a node for a namespace attribute" );
-        }
-
-        protected void emitAttrFragment ( Splay s )
-        {
-            throw new IllegalStateException(
-                "Cannot create a node for a attribute" );
-        }
-
-        protected void emitTextFragment ( Splay s, int p, int cch )
-        {
-            // BUGBUG - there could be namespaces pushed for this text, but not
-            // sure how to represent them here....  I should really put the
-            // fragment logic in the base saver and have the base saver
-            // synthesize well formed output...
-            
-            if (s != null)
-            {
-                Root r = getRoot();
-
-                _currentNode.insertBefore(
-                    _doc.createTextNode(
-                    _text != null
-                        ? _text.toString()
-                        : s != null
-                            ? r._text.fetch( s.getCpForPos( r, p ), cch )
-                                : "" ),
-                    null );
-            }
-        }
-
-        protected void emitCommentFragment ( Splay s )
-        {
-            Root r = getRoot();
-
-            _currentNode.insertBefore(
-                _doc.createComment(
-                    r._text.fetch(
-                        s.getCpForPos( r, 0 ), s.getCchValue() ) ), null );
-        }
-
-        protected void emitProcinstFragment ( Splay s )
-        {
-            Root r = getRoot();
-
-            _currentNode.insertBefore(
-                _doc.createProcessingInstruction(
-                    s.getLocal(),
-                    r._text.fetch(
-                        s.getCpForPos( r, 0 ), s.getCchValue() ) ), null );
-        }
-
-        Document _doc;
-        Node     _currentNode;
-        boolean  _createDoc;
-    }
-
-    //
-    //
-    //
-
-    protected StringBuffer  _text;
-    protected StringBuffer  _sb;
-    protected boolean       _skipContainerFinish;
-    protected LinkedHashMap _attrs;
-    
-    private HashSet _attrNames;
-
-    private final boolean _inner;
-    private final Root    _root;
-    private final Splay   _top;
-    private final long    _version;
-
-    protected boolean _wantDupAttrs;
-    protected boolean _wantFragTest;
-    protected boolean _needsFrag;
-    protected QName   _fragment;
-    protected QName   _docElem;
-    
-    protected QName _synthElem;
-
-    protected boolean _saveNamespacesFirst;
-    protected boolean _useDefaultNamespace;
-
-    private boolean _prettyPrint;
-    private int     _prettyIndent;
-    private int     _prettyOffset;
-
-    private Splay   _splay;
-    private int     _pos;
-    private boolean _preProcess;
-    private boolean _postProcess;
-    private boolean _postPop;
-    private Splay   _endSplay;
-
-    private ArrayList _namespaceStack;
-    private int       _currentMapping;
-    private HashMap   _uriMap;
-    private HashMap   _prefixMap;
-    private boolean   _firstPush;
-    private String    _initialDefaultUri;
-    
-    private HashMap _preComputedNamespaces;
-    private String  _filterProcinst;
-    private Map     _suggestedPrefixes;
-
-    protected String  _newLine;
-}
diff --git a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Splay.java b/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Splay.java
deleted file mode 100644
index 33b3de8..0000000
--- a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Splay.java
+++ /dev/null
@@ -1,4245 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.store;
-
-import org.apache.xmlbeans.impl.values.TypeStore;
-import org.apache.xmlbeans.impl.values.TypeStoreUser;
-import org.apache.xmlbeans.impl.common.QNameHelper;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlCursor.TokenType;
-import org.apache.xmlbeans.XmlCursor.XmlBookmark;
-import org.apache.xmlbeans.XmlCursor.XmlMark;
-import org.apache.xmlbeans.XmlCursor;
-import java.lang.ref.Reference;
-import java.lang.ref.WeakReference;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Iterator;
-import javax.xml.namespace.QName;
-
-public abstract class Splay extends Goobers
-{
-    //
-    // Can't change the kind of a base token
-    //
-
-    Splay ( int kind, boolean is )
-    {
-        _bits = kind;
-
-        if (is)
-            _bits += 0x8;
-    }
-
-    //
-    // Splay kinds
-    //
-
-    static final int DOC      =  0; // DOC must be 0
-    static final int BEGIN    =  1; // BEGIN must be 1
-    static final int ATTR     =  2;
-    static final int COMMENT  =  3;
-    static final int PROCINST =  4;
-    static final int ROOT     =  5; // ROOT must be second to last
-    static final int END      =  6; // END must be last
-
-    //
-    //
-    //
-
-    final int getKind ( ) { return _bits & 0x7; }
-
-    final boolean isDoc       ( ) { return getKind() == DOC;      }
-    final boolean isRoot      ( ) { return getKind() == ROOT;     }
-    final boolean isBegin     ( ) { return getKind() == BEGIN;    }
-    final boolean isEnd       ( ) { return getKind() == END;      }
-    final boolean isAttr      ( ) { return getKind() == ATTR;     }
-    final boolean isComment   ( ) { return getKind() == COMMENT;  }
-    final boolean isProcinst  ( ) { return getKind() == PROCINST; }
-    final boolean isContainer ( ) { return getKind() <= BEGIN;    }
-    final boolean isFinish    ( ) { return getKind() >= ROOT;     }
-
-    final int getCch           ( ) { return _cch;              }
-
-    final int getCdocBegin     ( ) { return 1;                 }
-    final int getCchLeft       ( ) { return _cchLeft;          }
-    final int getCdocBeginLeft ( ) { return _bits >> 5;        }
-    final int getCchAfter      ( ) { return _cchAfter;         }
-    final int getCchValue      ( ) { return _cch - _cchAfter;  }
-
-    QName  getName  ( ) { throw new IllegalStateException(); }
-    String getUri   ( ) { throw new IllegalStateException(); }
-    String getLocal ( ) { throw new IllegalStateException(); }
-
-    // Fourth bit in _bits has several meanings, depending on splay kind
-
-    final boolean isNormalAttr ( ) { return (_bits & 0xF) == (0x0 + ATTR); }
-    final boolean isXmlns      ( ) { return (_bits & 0xF) == (0x8 + ATTR); }
-    final boolean isLeaf       ( ) { return (_bits & 0xF) == (0x8 + BEGIN); }
-    final boolean isFragment   ( ) { return (_bits & 0xF) == (0x8 + COMMENT); }
-    final boolean isXsiAttr    ( ) { return isNormalAttr() && getUri().equals( _xsi ); }
-    final boolean isXsiNil     ( ) { return isNormalAttr() && getName().equals(_xsiNil ); }
-    final boolean isXsiType    ( ) { return isNormalAttr() && getName().equals( _xsiType ); }
-    final boolean isTypeable   ( ) { return isContainer() || isNormalAttr(); }
-
-    final void toggleIsLeaf ( )
-    {
-        assert isBegin();
-        _bits ^= 0x8;
-    }
-
-    final boolean isValid ( )
-    {
-        assert ((_bits & 0x10) == 0) || isTypeable();
-        return (_bits & 0x10) == 0;
-    }
-
-    final boolean isInvalid ( )
-    {
-        assert ((_bits & 0x10) == 0) || isTypeable();
-        return (_bits & 0x10) != 0;
-    }
-
-    final void toggleIsInvalid ( )
-    {
-        assert isTypeable();
-        _bits ^= 0x10;
-    }
-
-    final void adjustCch ( int delta )
-    {
-        _cch += delta;
-        assert _cch >= 0;
-    }
-
-    final void adjustCchAfter ( int delta )
-    {
-        _cchAfter += delta;
-        assert _cchAfter >= 0;
-    }
-
-    final void adjustCchLeft ( int delta )
-    {
-        _cchLeft += delta;
-        assert _cchLeft >= 0;
-    }
-
-    final void adjustCdocBeginLeft ( int d )
-    {
-        _bits += d * 32;
-        assert getCdocBeginLeft() >= 0;
-    }
-
-    final Splay getFinishSplay ( )
-    {
-        assert isContainer();
-        return isLeaf() ? this : ((Container) this).getFinish();
-    }
-
-    final int getPosAfter ( )
-    {
-        return getEndPos() - getCchAfter();
-    }
-
-    final int getPosLeafEnd ( )
-    {
-        assert isLeaf();
-        return 1 + getCchValue();
-    }
-
-    final int getCpForPos ( Root r, int p )
-    {
-        int cp = r.getCp( this );
-
-        if (p == 0)
-            return cp;
-
-        return
-            isLeaf()
-                ? p - (p <= getPosLeafEnd() ? 1 : 2) + cp
-                : p - 1 + getCchValue() + cp;
-    }
-
-    final int getPostCch ( int p )
-    {
-        assert p >= 0 && p <= getEndPos();
-
-        return
-            isLeaf() && p <= getPosLeafEnd()
-                ? getPosLeafEnd() - p
-                : getEndPos() - p;
-    }
-
-    static final String _xsi =
-        "http://www.w3.org/2001/XMLSchema-instance";
-
-    static final String _schema =
-        "http://www.w3.org/2001/XMLSchema";
-
-    static final String _openFragUri =
-        "http://www.openuri.org/fragment";
-
-    static final String _xml1998Uri =
-        "http://www.w3.org/XML/1998/namespace";
-
-    static final String _xmlnsUri =
-        "http://www.w3.org/2000/xmlns/";
-
-    static final QName _xsiNil  = new QName( _xsi, "nil" );
-    static final QName _xsiType = new QName( _xsi, "type" );
-    static final QName _openuriFragment = new QName( _openFragUri, "fragment" );
-    static final QName _xmlFragment = new QName( "", "xml-fragment" );
-
-    static final boolean isXmlFragment ( QName name )
-    {
-        return _openuriFragment.equals( name ) || _xmlFragment.equals( name );
-    }
-
-    static boolean beginsWithXml ( String name )
-    {
-        if (name.length() < 3)
-            return false;
-
-        char ch;
-
-        if (((ch = name.charAt( 0 )) == 'x' || ch == 'X') &&
-                ((ch = name.charAt( 1 )) == 'm' || ch == 'M') &&
-                ((ch = name.charAt( 2 )) == 'l' || ch == 'L'))
-        {
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * This returns the pos of the very end of the splay.  This is not
-     * generally a valid position to exist because in these cases, I
-     * force the position to be 0 on the next splay.
-     */
-
-    final int getEndPos ( )
-    {
-        return getMaxPos() + 1;
-    }
-
-    /**
-     * This returns the largest pos possible without actually being at
-     * the end of the splay.
-     */
-
-    final int getMaxPos ( )
-    {
-        switch ( getKind() )
-        {
-        case ATTR     :
-        case ROOT     : return 0;
-        case BEGIN    : return (isLeaf() ? 1 : 0) + getCch();
-        case DOC      :
-        case COMMENT  :
-        case PROCINST :
-        case END      : return getCchAfter();
-
-        default :
-            assert false: "Unexpected splay kind " +getKind();
-            return 0;
-        }
-    }
-
-    static final boolean isWhiteSpace ( char ch )
-    {
-        switch ( ch )
-        {
-            case ' ':
-            case '\t':
-            case '\n':
-            case '\r':
-                return true;
-            default:
-                return false;
-        }
-    }
-
-    static final boolean isWhiteSpace ( String s )
-    {
-        int l = s.length();
-
-        while ( l-- > 0)
-            if (!isWhiteSpace( s.charAt( l )))
-                  return false;
-
-        return true;
-    }
-
-    static final boolean isWhiteSpace ( StringBuffer sb )
-    {
-        int l = sb.length();
-
-        while ( l-- > 0)
-            if (!isWhiteSpace( sb.charAt( l )))
-                  return false;
-
-        return true;
-    }
-
-    final boolean isAfterWhiteSpace ( Root r )
-    {
-        int cchAfter = getCchAfter();
-
-        if (cchAfter == 0)
-            return true;
-
-        int off =
-            r._text.unObscure(
-                r.getCp( this ) + getCch() - cchAfter, cchAfter );
-
-        while ( cchAfter-- > 0 )
-            if (!isWhiteSpace( r._text._buf[ off + cchAfter ] ))
-                return false;
-
-        return true;
-    }
-
-    final void setName ( Root r, QName newName )
-    {
-        assert isBegin() || isAttr() || isProcinst();
-
-        // BUGBUG - deal with xsi:nil here too
-
-        QName oldName = getName();
-
-        if (!newName.equals( oldName ))
-        {
-            r.startChange();
-
-            ((QNameSplay) this).changeName( newName );
-
-            if (!isProcinst() && !isXmlns())
-            {
-                assert isAttr() || isBegin();
-
-                if (isBegin())
-                    disconnectTypes( r );
-
-                if (_xsiType.equals( oldName ) || _xsiType.equals( newName ))
-                    getContainer().disconnectTypes( r );
-                else if (_xsiNil.equals( oldName ) || _xsiNil.equals( newName ))
-                    getContainer().invalidateNil();
-                else
-                    disconnectTypes( r );
-            }
-
-            r.invalidateVersion();
-        }
-    }
-
-    /**
-     * If this is an invalid leaf, then refresh it's value and return the
-     * number of characters added.
-     */
-
-    final int ensureContentValid ( )
-    {
-        assert isContainer();
-
-        if (isValid())
-            return 0;
-
-        Type t = peekType();
-
-        return t.validateContent( this, t );
-    }
-
-    /**
-      * Ensure that the value (ATTR, COMMENT and PROCINST) is valid.  Really
-      * only does anything for attrs.
-      */
-
-    final void ensureValueValid ( )
-    {
-        assert isNormalAttr();
-
-        if (isInvalid())
-        {
-            Type t = peekType();
-            t.validateValue( this, t );
-        }
-    }
-
-    /**
-     * Given a position in this splay, return the TokenType associated with
-     * the content to the left of the position.
-     */
-
-    final TokenType getTokenType ( int p )
-    {
-        assert p >= 0 && p <= getMaxPos();
-
-        // No need to revalidate text value here because there can be no pos
-        // which could exists when this splay is invalid which could be on
-        // text.
-
-        // First, see if we're in/at the text after the splay
-
-        if (p >= getPosAfter())
-            return TokenType.TEXT;
-
-        switch ( getKind() )
-        {
-        case ATTR :
-            return isXmlns() ? TokenType.NAMESPACE : TokenType.ATTR;
-
-        case BEGIN :
-            if (p == 0)
-                return TokenType.START;
-
-            assert isLeaf();
-
-            return p == getPosLeafEnd() ? TokenType.END : TokenType.TEXT;
-
-        case ROOT     : return TokenType.ENDDOC;
-        case DOC      : return TokenType.STARTDOC;
-        case COMMENT  : return TokenType.COMMENT;
-        case PROCINST : return TokenType.PROCINST;
-        case END      : return TokenType.END;
-
-        default :
-            assert false: "Unexpected splay kind " + getKind();
-            return null;
-        }
-    }
-
-    /**
-     * Cause this splay to become a leaf.  This does not logically
-     * alter the document, but does alter the physical splay tree which
-     * demands that I issue a change notice.
-     */
-
-    final void foliate ( Root r )
-    {
-        assert isBegin();
-        assert !isLeaf();
-
-        Begin b = (Begin) this;
-        Splay e = b.getFinish();
-
-        assert b.nextNonAttrSplay() == e;
-        assert b._end == e;
-        assert e.isEnd();
-        assert !b.isLeaf();
-
-        // Caller must initiate change
-        assert r.validateChangeStarted();
-
-        int cchBefore = getCch();
-
-        e.saveTextAfter( r );
-
-        b._end = null;
-        b.toggleIsLeaf();
-
-        b.adjustCchAfter( - cchBefore );
-
-        // Move the goobers from the end to the begin
-
-        Goober nextGoober;
-        for ( Goober g = e.firstGoober() ; g != null ; g = nextGoober )
-        {
-            nextGoober = e.nextGoober( g );
-
-            assert g.getPos() == 0;
-            g.set( this, cchBefore + 1 );
-        }
-
-        for ( Goober g = firstGoober() ; g != null ; g = nextGoober )
-        {
-            nextGoober = nextGoober( g );
-
-            int gp = g.getPos();
-
-            if (gp > cchBefore + 1)
-                g.set( this, gp + 1 );
-        }
-
-        e.removeSplay( r );
-    }
-
-    final void defoliate ( Root r )
-    {
-        assert isLeaf();
-
-        // Caller must initiate change
-        assert r.validateChangeStarted();
-
-        // Caller must ensure leaf is valid
-        assert isValid();
-
-        Begin b = (Begin) this;
-
-        int posLeafEnd = getPosLeafEnd();
-        int cchAfter = getCchAfter();
-        int cchValue = getCchValue();
-
-        Splay a = this;
-
-        int cchAttr = 0;
-
-        for ( Splay t = nextSplay() ; t.isAttr() ; t = t.nextSplay() )
-        {
-            cchAttr += t.getCch();
-            a = t;
-        }
-
-        r.insertSplay( b._end = new End( (Begin) this ), a );
-
-        b.toggleIsLeaf();
-
-        b.adjustCchAfter( cchValue - cchAfter );
-        b._end.adjustCchAfter( cchAfter );
-
-        r.updateCch( b, - cchAfter );
-        r.updateCch( b._end, cchAfter );
-
-        if (cchAttr > 0)
-        {
-            int cp = r.getCp( b );
-
-            r._text.move(
-                cp + cchValue + cchAfter + cchAttr,
-                r._text, cp + cchValue, cchAfter );
-        }
-
-        Goober nextGoober;
-        for ( Goober g = firstGoober() ; g != null ; g = nextGoober )
-        {
-            nextGoober = nextGoober( g );
-
-            int gp = g.getPos();
-
-            if (gp >= posLeafEnd)
-                g.set( b._end, gp - posLeafEnd );
-        }
-
-        assert validate();
-    }
-
-    /**
-     * Remove the text after *this* splay.
-     * No validation is done, caller must do that
-     */
-
-    private final void removeTextAfter ( Root r )
-    {
-        assert r != null;
-        assert Root.dv > 0 || getRootSlow() == r;
-        assert !isRoot() && !isAttr();
-
-        // Caller must initiate change
-        assert r.validateChangeStarted();
-
-        int cchTextAfter = getCchAfter();
-
-        if (cchTextAfter == 0)
-            return;
-
-        int cpTextAfter = r.getCp( this ) + getCch() - cchTextAfter;
-        int posTextAfter = getPosAfter();
-
-        adjustCchAfter( - cchTextAfter );
-
-        r.updateCch( this, - cchTextAfter );
-
-        r._text.remove( cpTextAfter, cchTextAfter );
-
-        Goober nextGoober;
-        for ( Goober g = firstGoober() ; g != null ; g = nextGoober )
-        {
-            nextGoober = nextGoober( g );
-
-            int k = g.getKind();
-
-            if (g.getPos() >= posTextAfter)
-            {
-                if (k == ANNOTATION)
-                    g.disconnect( r );
-                else if (k == CURSOR)
-                    g.set( nextSplay(), 0 );
-            }
-        }
-
-        assert validate();
-    }
-
-    /**
-     * Transfers the text after this "node" to be after the "node" before it.
-     * No type invalidation is done here.  No checking for isInvalid is needed
-     * either.  No validation is done, caller must do that.
-     */
-
-    private final int saveTextAfter ( Root r )
-    {
-        assert r != null;
-        assert Root.dv > 0 || getRootSlow() == r;
-
-        // Caller must initiate change
-        assert r.validateChangeStarted();
-
-        Splay endText = this;
-
-        if (isBegin() && !isLeaf())
-            endText = getFinishSplay();
-
-        int cchEndText = endText.getCchAfter();
-
-        if (cchEndText == 0)
-            return 0;
-
-        assert !isRoot() && !isDoc() && !isAttr();
-
-        Splay getsText = prevNonAttrSplay();
-        int getsTextLastPos = getsText.getEndPos();
-
-        int cpGetsText = r.getCp( getsText ) + getsText.getCch();
-        int cpEndText = r.getCp( endText ) + endText.getCch() - cchEndText;
-
-        getsText.adjustCchAfter( cchEndText );
-        endText.adjustCchAfter( - cchEndText );
-
-        r.updateCch( getsText, cchEndText );
-        r.updateCch( endText, - cchEndText );
-
-        assert cpGetsText <= cpEndText;
-
-        if (cpGetsText != cpEndText)
-        {
-            r._text.insert( cpGetsText, r._text, cpEndText, cchEndText );
-            r._text.remove( cpEndText + cchEndText, cchEndText );
-        }
-
-        int posEndText = endText.getPosAfter();
-
-        Goober nextGoober;
-        for ( Goober g = endText.firstGoober() ; g != null ; g = nextGoober )
-        {
-            nextGoober = endText.nextGoober( g );
-
-            int gp = g.getPos();
-
-            if (gp >= posEndText)
-                g.set( getsText, getsTextLastPos + gp - posEndText );
-        }
-
-        assert validate();
-
-        return cchEndText;
-    }
-
-    /**
-     * Moves this splay, all of its content and attributes.  If no destination
-     * is provided, then only a removal is performed.
-     */
-
-    final void move (
-        Root r, Root rDst, Splay sDst, int pDst, boolean invalidate )
-    {
-        assert r != null;
-        assert Root.dv > 0 || getRootSlow() == r;
-        assert !isDoc() && !isFinish();
-
-        assert rDst == null || (r != rDst || !sDst.between( r, pDst, this ) );
-        assert rDst == null || sDst != null;
-        assert rDst == null || Root.dv > 0 || sDst.getRootSlow() == rDst;
-        assert rDst == null || pDst >= 0 && pDst < sDst.getEndPos();
-
-        assert
-            rDst == null ||
-                (true || checkInsertionValidity( 0, sDst, pDst, false ));
-
-        r.startChange();
-
-        if (rDst != null)
-            rDst.startChange();
-
-        // The text after the logical entity to move/remove is not part of
-        // this operation.  Transfer it to a previous splay.  No need to
-        // fret about invalidity here, because it's text *after*.
-
-        int cchSaved = saveTextAfter( r );
-
-        // If any text was saved, I need to move the cursors at the beginning
-        // of this splay to where the text was saved.  I do this because this
-        // content is going away and cursors need to collapse to the right
-        // location which, in this case, is before the after text.
-        //
-        // No need to deal with goobers other than cursor because annotations
-        // and types will be dealt with appropriately later.
-        //
-        // Also, update the target if it was in the moved text!
-        //
-        // TODO - if moving xsi:type or xsi:nil must do stuff
-
-        if (cchSaved > 0)
-        {
-            Splay gotText = prevNonAttrSplay();
-
-            Goober nextGoober;
-            for ( Goober g = firstGoober() ; g != null ; g = nextGoober )
-            {
-                nextGoober = nextGoober( g );
-
-                if (g.getKind() == CURSOR)
-                    g.set( gotText, gotText.getEndPos() - cchSaved );
-            }
-
-            if (rDst != null)
-            {
-                Splay hadText =
-                    isBegin() && !isLeaf() ? getFinishSplay() : this;
-
-                if (sDst == hadText && pDst >= hadText.getEndPos())
-                {
-                    sDst = gotText;
-
-                    pDst =
-                        gotText.getEndPos() -
-                            (cchSaved - (pDst - hadText.getEndPos()));
-                }
-            }
-        }
-
-        assert sDst != this;
-
-        // Compute the splay, up to which, I will remove
-
-        Splay last =
-            isBegin() ? getFinishSplay().nextNonAttrSplay() : nextSplay();
-
-        //
-        //
-        //
-
-        Container container = getContainer();
-
-        int cp = r.getCp( this );
-        int cch = 0;
-
-        for ( Splay s = this ; s != last ; s = s.nextSplay() )
-        {
-            // I'm going to blow away the Types here, make sure I have
-            // all the text.
-
-            if (s.isInvalid())
-            {
-                assert s.isLeaf() || s.isNormalAttr();
-
-                if (s.isNormalAttr())
-                    s.ensureValueValid();
-                else if (s.isLeaf())
-                    s.ensureContentValid();
-            }
-
-            cch += s.getCch();
-
-            Goober nextGoober;
-            for ( Goober g = s.firstGoober() ; g != null ; g = nextGoober )
-            {
-                nextGoober = s.nextGoober( g );
-
-                switch ( g.getKind() )
-                {
-                case TYPE :
-                    g.disconnect( r );
-                    break;
-
-                case ANNOTATION :
-                    if (rDst == null)
-                        g.disconnect( r );
-                    else
-                        g.set( rDst ); // Potential move to a new tree
-                    break;
-
-                case CURSOR :
-                    g.set( last, 0 );
-                    break;
-                }
-            }
-        }
-
-        // Remove the splays and the text.  Unfortunately, I need to remove
-        // the text here.  I can't think of a way to keep the tree valid and
-        // have the text moved in one copy .... Can you?
-
-        Splay sRemoved = r.removeSplays( this, last );
-
-        Splay first =
-            sRemoved._leftSplay == null ? sRemoved : sRemoved._leftSplay;
-
-        if (first.isBegin())
-            ((Begin) first)._container = null;
-
-        char[] textRemoved = rDst == null || cch == 0 ? null : new char [ cch ];
-
-        r._text.remove( cp, cch, textRemoved, 0 );
-
-        r.invalidateVersion();
-
-        if (rDst != null)
-        {
-            sDst.insert(
-                rDst, pDst, sRemoved, textRemoved, 0, cch, invalidate );
-        }
-
-        if (invalidate)
-        {
-            Type parentType = container.peekType();
-
-            if (parentType != null)
-            {
-                if (isBegin())
-                    parentType.invalidateElement( container, last );
-                else if (isAttr() && isXsiNil())
-                    parentType.invalidateNil();
-            }
-        }
-
-        assert r.validate();
-        assert rDst == null || rDst.validate();
-    }
-
-    /**
-     * Removes this splay, all of its content and attributes.
-     */
-
-    final void remove ( Root r, boolean invalidate )
-    {
-        move( r, null, null, 0, invalidate );
-    }
-
-    private final void complain ( String msg )
-    {
-        throw new IllegalArgumentException( msg );
-    }
-
-    /**
-     * Check to if the insertion of a "node" into the destination is allowed.
-     * This assumes that the source is a single piece of contents (like a node).
-     * Fragments are strings of content, not contained, and must not be
-     * validated by this function.
-     *
-     * Returns true if the src to copy is characters (potentially 0 chars too)
-     */
-
-    final boolean checkInsertionValidity (
-        int p, Splay sDst, int pDst, boolean endOk )
-    {
-        assert p >= 0;
-        assert p < getEndPos();
-        assert pDst >= 0;
-        assert pDst < sDst.getEndPos();
-
-        boolean srcChars = false;
-
-        if (p > 0)
-        {
-            if (!endOk && isLeaf() && p == getPosLeafEnd())
-                complain( "Can't move/copy/insert an end token." );
-
-            srcChars = true;
-
-            // valid text target will be tested for further down
-        }
-        else
-        {
-            if (isDoc())
-                complain( "Can't move/copy/insert a whole document." );
-
-            if (isFinish())
-            {
-                if (!endOk)
-                    complain( "Can't move/copy/insert an end token." );
-
-                srcChars = true;
-            }
-            else if (isFragment())
-                srcChars = true;
-        }
-
-        if (pDst == 0 && sDst.isDoc())
-            complain( "Can't insert before the start of the document." );
-
-        if (p > 0 && sDst.isAttr())
-            complain( "Can't insert text before an attribute." );
-
-        if (isAttr() && pDst > 0 && (!sDst.isContainer() || pDst != 1))
-            complain( "Can't insert an attribute in text." );
-
-        if (p <= 0 && pDst <= 0)
-        {
-            if (isAttr())
-            {
-                boolean isOk = sDst.isAttr();
-
-                if (!isOk)
-                {
-                    Splay t = sDst.prevNonAttrSplay();
-
-                    if (t.isContainer() && t.getCchAfter() == 0)
-                        isOk = true;
-                }
-
-                if (!isOk)
-                {
-                    complain(
-                        "Can only move/copy/insert attribute after another " +
-                          "attribute or start token." );
-                }
-            }
-            else if (sDst.isAttr())
-            {
-                complain(
-                    "Can't move/copy/insert a non-attribute before " +
-                        "an attribute." );
-            }
-        }
-
-        return srcChars;
-    }
-
-    /**
-     * Insert in this splay at position p whose root is r the splays rootInsert
-     * with text txt at offset cpTxt and length cchTxt
-     */
-
-    final void insert (
-        Root r, int p, Splay rootInsert,
-        Object txt, int offTxt, int cchTxt,
-        boolean invalidate )
-    {
-// BUGBUG - what is a new xsitype attr is inserted? -- must disconnect types
-
-        assert p < getEndPos();
-        assert cchTxt >= 0;
-        assert rootInsert != null;
-        assert rootInsert._parentSplay == null;
-        assert rootInsert.getCchLeft() + rootInsert.getCch() == cchTxt;
-
-        // We are inserting a tree here.  Get the first splay in the tree
-        // It must either be at the root or just to the left of the root.
-        // This is the "classic" dog leg pattern I use to pass splay trees.
-
-        assert
-            rootInsert._leftSplay == null ||
-                rootInsert._leftSplay._leftSplay == null;
-
-        r.startChange();
-
-        Splay sInsert =
-            rootInsert._leftSplay == null ? rootInsert : rootInsert._leftSplay;
-
-        assert !sInsert.isDoc() && !sInsert.isFinish();
-        assert Root.dv > 0 || getRootSlow() == r;
-
-        // When this member is called, we better be able to do the insert.
-
-        assert true || sInsert.checkInsertionValidity( 0, this, p, false );
-
-        // If there is a fragment, there better be text in it
-
-        assert !sInsert.isFragment() || sInsert.getCch() > 0;
-
-        //
-
-        Splay s = this;
-
-        assert Root.dv > 0 || sInsert.getRootSlow() == null;
-
-        Splay sOrig = null;
-        int   pOrig = 0;
-        int   cchBypassed = 0;
-
-        // Prepare for inserting into the middle of a splay
-
-        if (p > 0)
-        {
-            int ple;
-
-            if (s.isLeaf() && p <= (ple = s.getPosLeafEnd()))
-            {
-                if (s.isInvalid())
-                {
-                    assert ple == 1;
-                    assert p == 1;
-
-                    int cchValid = s.ensureContentValid();
-
-                    p += cchValid;
-                    ple += cchValid;
-                }
-
-                assert s.getFinishSplay() == s;
-
-                defoliate( r );
-
-                assert s.getFinishSplay() != s;
-
-                if (p == ple)
-                {
-                    s = getFinishSplay();
-                    p = 0;
-                }
-
-                s.insert( r, p, rootInsert, txt, offTxt, cchTxt, invalidate );
-
-                return;
-            }
-
-            // You can copy an attr to a dst where it is the first attr, or
-            // after all pre-exisitng attrs.  This these cases, p == 1 on
-            // the begin.  In this case, there is no need to move text later.
-
-            assert !sInsert.isAttr() || (p == 1 && s.isContainer());
-
-            sOrig = s;
-            pOrig = p;
-            cchBypassed = getEndPos() - p;
-
-            s = s.nextNonAttrSplay();
-            p = 0;
-        }
-
-        assert p == 0;
-        assert !s.isDoc();
-
-        // Get the container receiving all of this
-
-        Container c = s.getContainer();
-
-        // Run over the top level content, parenting any BEGINS.  Also,
-        // characterize the content being inserted for future invalidation.
-        // Only fragments will have multiple top level begins.
-
-        boolean insertingElements = false;
-        boolean insertingText = false;
-        boolean insertingNilAttr = false;
-        Splay   insertingFragment = null;
-
-        for ( Splay t = sInsert ; t != null ; t = t.nextSplay() )
-        {
-            if (t.isBegin())
-            {
-                insertingElements = true;
-
-                Begin b = (Begin) t;
-
-                assert b._container == null;
-
-                b._container = c;
-
-                t = t.getFinishSplay();
-            }
-            else if (t.isFragment())
-            {
-                assert insertingFragment == null;
-                insertingFragment = t;
-            }
-
-            if (t.isXsiNil())
-                insertingNilAttr = true;
-
-            if (t.getCchAfter() > 0)
-                insertingText = true;
-        }
-
-        // Now, insert the text (if any)
-
-        r._text.insert( r.getCp( s ), txt, offTxt, cchTxt );
-
-        // Insert the tree
-
-        r.insertSplay( rootInsert, s.prevSplay() );
-
-        // If the first splay to isnert was a fragment, remove it, leaving
-        // the text it carried in the tree.  Don't perform invalidation.
-
-        if (insertingFragment != null)
-            insertingFragment.remove( r, false );
-
-        // Invalidate the parent if requested
-
-        if (invalidate)
-        {
-            Type cType = c.peekType();
-
-            if (cType != null)
-            {
-                if (insertingElements)
-                {
-                    cType.invalidateElement( c, s );
-                    insertingText = true;
-                }
-
-                if (insertingText)
-                    cType.invalidateText();
-
-                if (insertingNilAttr)
-                    cType.invalidateNil();
-            }
-        }
-
-        // If there is post text to move, move it to the end of the stuff
-        // inserted.  Don't do this is if an attr was inserted because in this
-        // case, the attr is logically after the text to be moved anyways.
-
-        if (sOrig != null && !sInsert.isAttr())
-        {
-            int cchMoved = sOrig.moveChars( r, pOrig, -1, r, s, 0, true );
-            assert cchMoved > 0;
-            assert cchMoved == cchBypassed;
-        }
-
-        // build a leaf if possible
-
-        if (s.isEnd() && s.getContainer().nextNonAttrSplay() == s)
-            s.getContainer().foliate( r );
-
-        r.invalidateVersion();
-
-        assert r.validate();
-    }
-
-    /**
-     * Replaces the contents of this (attributes as well) with a copy of the
-     * contents of sSrc.  If preserveType is true, then the xsi:type attr
-     * of the source is not copied, and the xsi:type of the target (this)
-     * is not altered.
-     */
-
-    final void replaceContents (
-        Root r, Splay sSrc, Root rSrc,
-        boolean preserveType, boolean preserveNamespaces )
-    {
-        assert !isFinish() && !sSrc.isFinish();
-        assert Root.dv > 0 || getRootSlow() == r;
-        assert Root.dv > 0 || sSrc.getRootSlow() == rSrc;
-
-        // If the src and dst are the same splay, then there is nothing to do
-
-        if (this == sSrc)
-            return;
-
-        // If we are to preserve namespace mappings, make a copy of the
-        // namspaces in scope here
-
-        Map sourceNamespaces =
-            preserveNamespaces ? sSrc.lookupAllPrefixMappings() : null;
-
-        // If the destination is a simple container of text, then the content
-        // model is limited to text.  Handle this specially.
-
-        if (isAttr() || isComment() || isProcinst())
-        {
-            // TODO - Do this without creating a string?
-            String str = sSrc.getText( rSrc );
-            setText( r, str, 0, str.length() );
-        }
-        else
-        {
-            // No need to startChange() here, fcns I call will do it for me
-
-            assert isContainer();
-
-            // Make copy of source
-
-            CopyContext copyContext = sSrc.copySplayContents( rSrc );
-
-            // If we need to preserve the xsi:type attribute, then fetch it.
-            // If there is more than one, the first one wins.
-
-            String targetXsiType = null;
-
-            if (preserveType)
-            {
-                for ( Splay s = nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-                {
-                    if (s.isXsiType())
-                    {
-                        targetXsiType = s.getText( r );
-                        break;
-                    }
-                }
-            }
-
-            // Because I have removed the entire contents of the target, I can
-            // insert fragment or node.
-
-            removeContent( r, true );
-
-            assert isLeaf() || getFinishSplay() == nextSplay();
-            assert getCchValue() == 0;
-
-            Splay copy = copyContext.getTree();
-
-            if (copy != null)
-            {
-                // Need to compute a normalized splay/pos to insert at.  Only
-                // two cases, either we're inserting in a leaf or a
-                // container/finish pair.
-
-                Splay insertSplay = this;
-                int insertPos = 1;
-
-                if (!isLeaf())
-                {
-                    insertSplay = nextSplay();
-                    insertPos = 0;
-                }
-
-                char[] textCopy = copyContext.getText();
-
-                insertSplay.insert(
-                    r, insertPos, copy,
-                    textCopy, 0, textCopy == null ? 0 : textCopy.length, true );
-
-                // Now, go thorugh all the attrs, removing types and place the
-                // original back in.
-
-                if (preserveType)
-                {
-                    Splay next = nextSplay();
-
-                    for ( Splay s = next ; s.isAttr() ; s = next )
-                    {
-                        next = s.nextSplay();
-
-                        if (s.isXsiType())
-                            s.remove( r, true );
-                    }
-
-                    if (targetXsiType != null)
-                    {
-                        Attr a = new Attr( _xsiType );
-
-                        int cchType = targetXsiType.length();
-
-                        a.adjustCch( cchType );
-
-                        if (getEndPos() > 1)
-                            insert( r, 1, a, targetXsiType, 0, cchType, true );
-                        else
-                        {
-                            nextNonAttrSplay().insert(
-                                r, 0, a, targetXsiType, 0, cchType, true );
-                        }
-                    }
-                }
-            }
-        }
-
-        if (sourceNamespaces != null)
-            applyNamespaces( r, sourceNamespaces );
-    }
-
-    static final class CopyContext
-    {
-        void copyText ( char[] text )
-        {
-            _text = text;
-        }
-
-        void copySplay ( Splay s, boolean copyTextAfter )
-        {
-            assert !s.isDoc() && !s.isRoot();
-
-            Splay t;
-
-            switch ( s.getKind() )
-            {
-            case BEGIN :
-            {
-                s.ensureContentValid();
-
-                t = _frontier = new Begin( s.getName(), _frontier );
-
-                if (s.isLeaf())
-                {
-                    t.toggleIsLeaf();
-                    _frontier = _frontier.getContainer();
-                }
-
-                break;
-            }
-            case ATTR :
-            {
-                if (s.isXmlns())
-                    t = new Xmlns( s.getName() );
-                else
-                {
-                    s.ensureValueValid();
-                    t = new Attr( s.getName() );
-                }
-                break;
-            }
-            case COMMENT :
-            {
-                t = new Comment();
-                break;
-            }
-            case PROCINST :
-            {
-                t = new Procinst( s.getName() );
-                break;
-            }
-            case END :
-            {
-                Begin b = (Begin) _frontier;
-                t = b._end = new End( b );
-                _frontier = _frontier.getContainer();
-                break;
-            }
-            default :
-                throw new IllegalStateException();
-            }
-
-            assert s.isValid();
-
-            int cch = s.getCchValue();
-
-            if (copyTextAfter)
-            {
-                int cchAfter = s.getCchAfter();
-                cch += cchAfter;
-                t.adjustCchAfter( cchAfter );
-            }
-
-            if (cch > 0)
-                t.adjustCch( cch );
-
-            copy( t );
-        }
-
-        /**
-         * May be called once before any other copy
-         */
-
-        void copyFragment ( int cch )
-        {
-            assert cch > 0;
-
-            Splay s = new Fragment();
-
-            s.adjustCchAfter( cch );
-            s.adjustCch( cch );
-
-            copy( s );
-        }
-
-        Splay getTree ( )
-        {
-            assert _frontier == null;
-
-            if (_last == null)
-                return null;
-
-            if (_first != null)
-            {
-                _last.adjustCchLeft( _first.getCchLeft() + _first.getCch() );
-
-                _last.adjustCdocBeginLeft(
-                    _first.getCdocBeginLeft() + _first.getCdocBegin() );
-
-                _last._leftSplay = _first;
-                _first._parentSplay = _last;
-
-                if (_tail != null)
-                {
-                    _last.adjustCchLeft( _tail.getCchLeft() + _tail.getCch() );
-
-                    _last.adjustCdocBeginLeft(
-                        _tail.getCdocBeginLeft() + _tail.getCdocBegin() );
-
-                    _first._rightSplay = _tail;
-                    _tail._parentSplay = _first;
-                }
-            }
-
-            return _last;
-        }
-
-        char[] getText ( )
-        {
-            return _text;
-        }
-
-        private void copy ( Splay s )
-        {
-            //
-            // Here I make sure that the structure of the splay tree returned
-            // by the copy is such that the last splay copied is at the root,
-            // the first splay copied is the left child of the last copied,
-            // the second to last splay copied is the right child of the first,
-            // and the third through the second to last are a left only list
-            // off of the left child of the second!
-            //
-            // You may be asking your self, "Self, why all this madness?"
-            //
-            // Several reasons.  First, by making the first hang off the
-            // left child of the last and have the right child of last be null,
-            // the root will have the total splay statistics for the whole
-            // tree.  Second, you have quick access to the first splay copied.
-            // Third, building the third through the second to last do
-            // not require walking to update statictics.
-            //
-            // Ultimately, I do this to be consistent with the format of the
-            // tree when a range of splays are removed from a tree.  To avoid
-            // an additional splay, the removal of a sub tree is shaped like
-            // this.
-            //
-
-            if (_last != null)
-            {
-                if (_first == null)
-                    _first = _last;
-                else if (_tail == null)
-                    _tail = _last;
-                else
-                {
-                    _last.adjustCchLeft( _tail.getCchLeft() + _tail.getCch() );
-
-                    _last.adjustCdocBeginLeft(
-                        _tail.getCdocBeginLeft() + _tail.getCdocBegin() );
-
-                    _last._leftSplay = _tail;
-                    _tail._parentSplay = _last;
-                    _tail = _last;
-                }
-            }
-
-            _last = s;
-        }
-
-        private char[]    _text;
-        private Splay     _first;
-        private Splay     _tail;
-        private Splay     _last;
-        private Container _frontier;
-    }
-
-    /**
-     * Copies the contents of this splay (deeply).
-     * This will update any invalid content.
-     *
-     * Because this can return only text, if there is text at the beginning
-     * of the contents, I will create a FRAG as the first splay (after any
-     * attributes).
-     */
-
-    final CopyContext copySplayContents ( Root r )
-    {
-        assert !isFinish() && !isXmlns();
-
-        if (isContainer())
-            ensureContentValid();
-        else if (isNormalAttr())
-            ensureValueValid();
-
-        CopyContext copyContext = new CopyContext();
-
-        if (isContainer())
-        {
-            int cchAttrs = 0;
-
-            Splay t = nextSplay(), s = t;
-
-            for ( ; s.isAttr() ; s = s.nextSplay() )
-            {
-                copyContext.copySplay( s, false );
-                cchAttrs += s.getCch();
-            }
-
-            int cchValue = isLeaf() ? getCchValue() : getCchAfter();
-
-            if (cchValue > 0)
-                copyContext.copyFragment( cchValue );
-
-            int cchContents = 0;
-
-            if (!isLeaf())
-            {
-                Splay finish = getFinishSplay();
-
-                for ( Splay u = s ; u != finish ; u = u.nextSplay() )
-                {
-                    copyContext.copySplay( u, true );
-                    cchContents += u.getCch();
-                }
-            }
-
-            int cchAll = cchAttrs + cchValue + cchContents;
-
-            if (cchAll > 0)
-            {
-                char[] text = new char [ cchAll ];
-
-                int cp = r.getCp( this );
-                int cch = getCch();
-
-                if (cchAttrs > 0)
-                    r._text.fetch( text, 0, cp + cch, cchAttrs );
-
-                if (cchValue > 0)
-                    r._text.fetch( text, cchAttrs, cp, cchValue );
-
-                if (cchContents > 0)
-                {
-                    r._text.fetch(
-                        text, cchAttrs + cchValue,
-                        cp + cch + cchAttrs, cchContents );
-                }
-
-                copyContext.copyText( text );
-            }
-        }
-        else
-        {
-            assert isNormalAttr() || isComment() || isProcinst();
-
-            int cchValue = getCchValue();
-
-            if (cchValue > 0)
-            {
-                copyContext.copyFragment( cchValue );
-
-                char[] text = new char [ cchValue ];
-
-                r._text.fetch( text, 0, r.getCp( this ), cchValue );
-
-                copyContext.copyText( text );
-            }
-        }
-
-        return copyContext;
-    }
-
-    /**
-     * Copies this splay (deeply).  Also copies attributes after a begin
-     * This will update any invalid content.
-     */
-
-    final Splay copySplay ( )
-    {
-        assert !isDoc() && !isFinish();
-
-        // Compute splay to stop at (does not get copied).  Also compute
-        // a splay, to be copied, which should not have it's text after copied.
-
-        Splay stopHere, noTextAfter;
-
-        if (isBegin())
-        {
-            noTextAfter = getFinishSplay();
-            stopHere = noTextAfter.nextNonAttrSplay();
-        }
-        else
-        {
-            noTextAfter = null;
-            stopHere = nextSplay();
-        }
-
-        // Make the copy
-
-        CopyContext copyContext = new CopyContext();
-
-        for ( Splay next, s = this ; s != stopHere ; s = next )
-        {
-            next = s.nextSplay();
-
-            copyContext.copySplay( s, s != noTextAfter );
-        }
-
-        return copyContext.getTree();
-    }
-
-    final void removeAttributes ( Root r )
-    {
-        assert isContainer();
-
-        for ( ; ; )
-        {
-            Splay s = nextSplay();
-
-            if (!s.isAttr())
-                break;
-
-            s.remove( r, true );
-        }
-    }
-
-    /**
-     * Removes all content from splay.
-     * Begin will be a leaf upon exit.
-     */
-
-    final void removeContent ( Root r, boolean removeAttrs )
-    {
-        assert Root.dv > 0 || getRootSlow() == r;
-
-        r.startChange();
-
-        if (isInvalid())
-        {
-            toggleIsInvalid();
-
-            r.invalidateVersion();
-
-            if (isContainer() && removeAttrs)
-                removeAttributes( r );
-
-            return;
-        }
-
-        switch ( getKind() )
-        {
-        case DOC :
-            break;
-
-        case BEGIN :
-        {
-            if (isLeaf())
-            {
-                removeChars( r, 1, getCchValue() );
-
-                if (removeAttrs)
-                    removeAttributes( r );
-
-                return;
-            }
-
-            break;
-        }
-
-        case ATTR :
-        {
-            if (isXmlns())
-            {
-                assert false: "Unexpected kind for removeContent";
-            }
-
-            // Fall through
-        }
-
-        case COMMENT  :
-        case PROCINST :
-        {
-            int cchValue = getCchValue();
-
-            if (cchValue == 0)
-                return;
-
-            r._text.remove( r.getCp( this ), cchValue );
-
-            r.updateCch( this, - cchValue );
-
-            if (getKind() == ATTR)
-            {
-                invalidateText();
-
-                if (isXsiType())
-                    getContainer().disconnectTypes( r );
-            }
-
-            r.invalidateVersion();
-
-            return;
-        }
-
-        default :
-            assert false: "Unexpected kind for removeContent";
-        }
-
-        assert isDoc() || (isBegin() && !isLeaf());
-
-        Splay s = nextNonAttrSplay();
-
-        if (s.isRoot())
-        {
-            assert isDoc();
-        }
-        else
-        {
-            //
-            // Remove all the splays.  Inhibit invalidation on each remove to
-            // prevent a flood of invalidations to the parent type (if there).
-            //
-
-            Splay next;
-            for ( s = nextNonAttrSplay() ; !s.isFinish() ; s = next )
-            {
-                assert !s.isAttr();
-
-                if (s.isLeaf())
-                    next = s.nextNonAttrSplay();
-                else if (s.isBegin())
-                    next = s.getFinishSplay().nextSplay();
-                else
-                    next = s.nextSplay();
-
-                s.remove( r, false );
-            }
-
-            //
-            // Have to remove the text after this here because the above
-            // removes could have suuffled text to after this.
-            //
-
-            assert !isLeaf();
-
-            if (getCchAfter() > 0)
-                removeTextAfter( r );
-
-            //
-            // Tricky code.  Merge the END and the BEGIN to form a leaf.
-            //
-
-            if (isBegin())
-                foliate( r );
-
-            invalidateText();
-
-            r.invalidateVersion();
-        }
-
-// TODO - if removing text from xsi:type or nil must do stuff
-// TODO - if removing text from xsi:type or nil must do stuff
-// TODO - if removing text from xsi:type or nil must do stuff
-// TODO - if removing text from xsi:type or nil must do stuff
-// TODO - if removing text from xsi:type or nil must do stuff
-
-
-// TODO - if removing attribute xsi:type or xsi:nil, must do stuiff
-// TODO - if removing attribute xsi:type or xsi:nil, must do stuiff
-// TODO - if removing attribute xsi:type or xsi:nil, must do stuiff
-// TODO - if removing attribute xsi:type or xsi:nil, must do stuiff
-// TODO - if removing attribute xsi:type or xsi:nil, must do stuiff
-
-        if (removeAttrs)
-            removeAttributes( r );
-
-        // If the tree became empty, reset _leftOnly
-
-        if (r._leftSplay == r._doc && r._doc._rightSplay == null)
-            r._leftOnly = true;
-
-        assert validate();
-    }
-
-    final int copyChars (
-        Root r, int p, int cch, Root rDst, Splay sDst, int pDst )
-    {
-        assert pDst > 0 && pDst <= sDst.getEndPos();
-
-        int postCch = getPostCch( p );
-
-        if (p == 0 || cch == 0 || postCch == 0)
-            return 0;
-
-        if (cch < 0 || cch > postCch)
-            cch = postCch;
-
-        assert cch > 0;
-
-// TODO - uses string to avoid problems with source and dest from same buffer
-//        rewrite to not create string object
-
-        char[] chars = new char [ cch ];
-
-        r._text.fetch( chars, 0, getCpForPos( r, p ), cch );
-
-        sDst.insertChars( pDst, rDst, chars, 0, cch );
-
-        return cch;
-    }
-
-    /**
-     * Move cch chars from pos p on this splay to pos pDst on sDst.
-     * Source and destination can be different documents.  Normally cursors
-     * stay put when their char is moved, but moveCursors can cause cursors
-     * tomove with the chars (used internally).
-     */
-
-    final int moveChars (
-        Root r, int p, int cch, Root rDst, Splay sDst, int pDst,
-        boolean moveCursors )
-    {
-        if (p == 0)
-            return 0;
-
-        int postCch = getPostCch( p );
-
-        if (cch == 0 || postCch == 0)
-            return 0;
-
-        if (cch < 0 || cch > postCch)
-            cch = postCch;
-
-        r.startChange();
-        rDst.startChange();
-
-        assert cch > 0;
-
-        // I don't have to check the invalidity of the source because the
-        // only invalid text I would have to deal with is that in a leaf, and
-        // If the source is in a leaf here, then it must be positioned at the
-        // end (1) which is not sensitive to the invalidity.
-        //
-        // However, I much check the destination for validity because I may
-        // be appending text to an existing value.
-
-        if (sDst.isContainer() && pDst == 1)
-        {
-            int cchValid = sDst.ensureContentValid();
-
-            pDst += cchValid;
-
-            if (sDst == this && p == 1)
-                p += cchValid;
-        }
-
-        //
-
-        if (pDst == 0)
-        {
-            sDst = sDst.prevNonAttrSplay();
-            pDst = sDst.getEndPos();
-        }
-
-        // If the destination if in the range of the source, then this is
-        // effectively a no-op.
-
-// TODO - Probably should disconnect Types in the range
-
-        if (sDst == this && pDst >= p && pDst <= p + cch)
-            return cch;
-
-        assert pDst > 0;
-
-        Container cDst = sDst.getContainer( pDst );
-        Container c = getContainer( p );
-
-        // Move the text
-
-        rDst._text.move(
-            sDst.getCpForPos( rDst, pDst ), r._text, getCpForPos( r, p ), cch );
-
-        // Perform the "insertion" first
-
-        if (!sDst.isLeaf() || pDst > sDst.getPosLeafEnd())
-            sDst.adjustCchAfter( cch );
-
-        rDst.updateCch( sDst, cch );
-
-        for ( Goober g = sDst.firstGoober() ; g != null ;
-              g = sDst.nextGoober( g ) )
-        {
-            int gp = g.getPos();
-
-            if (gp >= pDst)
-                g.set( gp + cch );
-        }
-
-        assert sDst != this || pDst < p || pDst > p + cch;
-
-        if (sDst == this)
-        {
-            int pDstSave = pDst;
-
-            if (pDst > p + cch)
-                pDst -= cch;
-
-            if (p >= pDstSave)
-                p += cch;
-        }
-
-        // Then perform the "removal"
-
-        if (!isLeaf() || p > getPosLeafEnd())
-            adjustCchAfter( - cch );
-
-        r.updateCch( this, - cch );
-
-        Goober nextGoober;
-        for ( Goober g = firstGoober() ; g != null ; g = nextGoober )
-        {
-            nextGoober = nextGoober( g );
-
-            int gp = g.getPos();
-
-            if (gp >= p + cch)
-            {
-                g.set( gp - cch );
-            }
-            else if (gp >= p)
-            {
-                if (!moveCursors && g.getKind() == CURSOR)
-                {
-                    if (p == getEndPos())
-                        g.set( nextSplay(), 0 );
-                    else
-                        g.set( p );
-                }
-                else
-                    g.set( rDst, sDst, pDst + gp - p );
-            }
-        }
-
-        cDst.invalidateText();
-        c.invalidateText();
-
-        r.invalidateVersion();
-        rDst.invalidateVersion();
-
-        return cch;
-    }
-
-    /**
-     * Remove cch chars starting at position p on this splay.
-     */
-
-    final int removeChars ( Root r, int p, int cch )
-    {
-        int maxPos = getMaxPos();
-
-        assert p > 0 && p <= maxPos;
-
-        if (p == 0)
-            return 0;
-
-        r.startChange();
-
-// TODO - merge the two following chunks of code??????
-
-        if (isLeaf())
-        {
-            int ple = getPosLeafEnd();
-
-            if (p <= ple)
-            {
-                if (cch < 0 || ple - p < cch)
-                    cch = ple - p;
-
-                if (cch == 0)
-                    return 0;
-
-                r._text.remove( r.getCp( this ) + p - 1, cch );
-
-                r.updateCch( this, - cch );
-
-                Goober nextGoober;
-
-                for ( Goober g = firstGoober() ; g != null ; g = nextGoober )
-                {
-                    nextGoober = nextGoober( g );
-
-                    int k = g.getKind();
-                    int gp = g.getPos();
-
-                    if (gp >= p + cch)
-                        g.set( gp - cch );
-                    else if (gp >= p)
-                    {
-                        if (k == CURSOR)
-                            g.set( p );
-                        else
-                        {
-                            assert k == ANNOTATION;
-                            g.disconnect( r );
-                        }
-                    }
-                }
-
-                invalidateText();
-
-                r.invalidateVersion();
-
-                return cch;
-            }
-        }
-
-        int posAfter = getPosAfter();
-
-        assert p >= posAfter;
-
-        int maxCch = maxPos - p + 1;
-
-        assert maxCch >= 0;
-
-        if (cch < 0 || cch > maxCch)
-            cch = maxCch;
-
-        if (cch <= 0)
-            return 0;
-
-        Container c = getContainer( p );
-
-        r._text.remove( getCpForPos( r, p ), cch );
-
-        adjustCchAfter( - cch );
-
-        r.updateCch( this, - cch );
-
-        Goober nextGoober;
-        for ( Goober g = firstGoober() ; g != null ; g = nextGoober )
-        {
-            nextGoober = nextGoober( g );
-
-            int k = g.getKind();
-            int gp = g.getPos();
-
-            if (gp >= p)
-            {
-                if (k == CURSOR)
-                    g.set( nextNonAttrSplay(), 0 );
-                else
-                    g.disconnect( r );
-            }
-        }
-
-        c.invalidateText();
-
-        r.invalidateVersion();
-
-        assert validate();
-
-        return cch;
-    }
-
-    /**
-     * Insert text a position p in this splay
-     */
-
-    final void insertChars ( int p, Root r, Object txt, int off, int cch )
-    {
-        assert p > 0 && p <= getEndPos();
-
-        if (cch == 0)
-            return;
-
-        r.startChange();
-
-        Container container = getContainer( p );
-
-        if (isContainer() && p == 1)
-            p += ensureContentValid();
-
-        r._text.insert( getCpForPos( r, p ), txt, off, cch );
-
-        if (p >= getPosAfter())
-            adjustCchAfter( cch );
-
-        r.updateCch( this, cch );
-
-        for ( Goober g = firstGoober() ; g != null ; g = nextGoober( g ) )
-        {
-            int gp = g.getPos();
-
-            if (gp >= p)
-                g.set( gp + cch );
-        }
-
-        container.invalidateText();
-
-        r.invalidateVersion();
-
-        assert validate();
-    }
-
-    private static final int START_STATE = 0;
-    private static final int SPACE_SEEN_STATE = 1;
-    private static final int NOSPACE_STATE = 2;
-
-    public final int scrubText(
-        Text text, int ws, int cp, int cch, StringBuffer sb, int state )
-    {
-        assert text != null;
-
-        if (text._buf == null)
-        {
-            assert cch == 0;
-            assert cp == 0;
-            return state;
-        }
-
-        if (cch == 0)
-            return state;
-
-        boolean replace = false;
-        boolean collapse = false;
-
-        switch ( ws )
-        {
-        case TypeStore.WS_UNSPECIFIED :                            break;
-        case TypeStore.WS_PRESERVE    :                            break;
-        case TypeStore.WS_REPLACE     :            replace = true; break;
-        case TypeStore.WS_COLLAPSE    : collapse = replace = true; break;
-
-		default : assert false: "Unknown white space rule " +ws;
-        }
-
-        if (!replace && !collapse)
-        {
-            text.fetch(sb, cp, cch);
-            return state;
-        }
-
-        int off = text.unObscure( cp, cch );
-        int startpt = 0;
-
-        for ( int i = 0 ; i < cch ; i++ )
-        {
-            char ch = text._buf[ off + i ];
-
-            if (ch == ' ' || ch == '\n' || ch == '\r' || ch == '\t')
-            {
-                sb.append(text._buf, off + startpt, i - startpt);
-                startpt = i + 1;
-
-                if (collapse)
-                {
-                    if (state == NOSPACE_STATE)
-                        state = SPACE_SEEN_STATE;
-                }
-                else
-                    sb.append(' ');
-            }
-            else
-            {
-                if (state == SPACE_SEEN_STATE)
-                    sb.append( ' ' );
-
-                state = NOSPACE_STATE;
-            }
-        }
-
-        sb.append( text._buf, off + startpt, cch - startpt );
-
-        return state;
-    }
-
-    final String getText ( Root r )
-    {
-        return getText( r, TypeStore.WS_PRESERVE );
-    }
-
-//    final int getText ( Root r, char[] buf, int off, int len )
-//    {
-//        if (len <= 0)
-//            return 0;
-//
-//        if (isInvalid())
-//        {
-//            if (isNormalAttr())
-//                ensureValueValid();
-//            else if (isLeaf())
-//                ensureContentValid();
-//        }
-//
-//        int cp = r.getCp( this );
-//
-//        if (isNormalAttr() || isComment() || isProcinst() || isLeaf())
-//        {
-//            int cch = getCchValue();
-//
-//            if (cch == 0)
-//                return 0;
-//
-//            if (cch > len)
-//                cch = len;
-//
-//            r._text.fetch( buf, off, pos, cch );
-//
-//            return cch;
-//        }
-//
-//        if (!isContainer())
-//            return 0;
-//
-//        int originalLen = len;
-//        Splay last = getFinishSplay();
-//
-//        for ( Splay s = this ; len > 0 && s != last ; s = s.nextSplay() )
-//        {
-//            int srcCp, srcCch;
-//
-//            if (s.isBegin())
-//            {
-//                if (s.isInvalid())
-//                    s.ensureContentValid();
-//
-//                srcCp = cp;
-//                srcCch = s.getCch();
-//            }
-//            else
-//            {
-//                // It's ok for an attr to be invalid here, gets text after
-//
-//                srcCp = cp + s.getCchValue();
-//                srcCch = s.getCchAfter();
-//            }
-//
-//            if (srcCch > 0)
-//            {
-//                if (srcCch > len)
-//                    srcCch = len;
-//
-//                int srcOff = r._text.unObscure( srcCp, srcCch );
-//
-//                System.arrayCopy( r._text._buf, srcOff, buf, off, srcCch );
-//
-//                len -= srcCch;
-//                off += srcCch;
-//            }
-//
-//            cp += s.getCch();
-//        }
-//
-//        return sb.toString();
-//    }
-
-    final String getText ( Root r, int ws )
-    {
-        if (isInvalid())
-        {
-            if (isNormalAttr())
-                ensureValueValid();
-            else if (isLeaf())
-                ensureContentValid();
-        }
-
-        int cp = r.getCp( this );
-
-        if (isNormalAttr() || isComment() || isProcinst() || isLeaf())
-        {
-            int cch = getCchValue();
-
-            if (cch == 0)
-                return "";
-
-            if (ws == TypeStore.WS_PRESERVE || ws == TypeStore.WS_UNSPECIFIED)
-                return r._text.fetch( cp, cch );
-
-            StringBuffer sb = new StringBuffer();
-
-            scrubText( r._text, ws, cp, getCchValue(), sb, START_STATE );
-
-            return sb.toString();
-        }
-
-        if (!isContainer())
-            return null;
-
-        Splay last = getFinishSplay();
-
-        int scrubState = START_STATE;
-
-        StringBuffer sb = new StringBuffer();
-
-        for ( Splay s = this ; s != last ; s = s.nextSplay() )
-        {
-            if (s.isBegin())
-            {
-                if (s.isInvalid())
-                    s.ensureContentValid();
-
-                scrubState =
-                    scrubText(
-                        r._text, ws, cp, s.getCch(), sb, scrubState );
-            }
-            else
-            {
-                // It's ok for an attr to be invalid here, gets text after
-
-                int cchAfter = s.getCchAfter();
-
-                if (cchAfter > 0)
-                {
-                    scrubState =
-                        scrubText(
-                            r._text, ws, cp + s.getCchValue(),
-                            cchAfter, sb, scrubState );
-                }
-            }
-
-            cp += s.getCch();
-        }
-
-        return sb.toString();
-    }
-
-    /**
-     * Gets an attr splay for a given container, null otherwise.
-     */
-
-    Splay getAttr ( QName name )
-    {
-        assert name != null;
-
-        if (!isContainer())
-            return null;
-
-        for ( Splay s = nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-        {
-            if (s.isNormalAttr() && s.getName().equals( name ))
-                return s;
-        }
-
-        return null;
-    }
-
-    void setXsiNil ( Root r, boolean nil )
-    {
-        assert isContainer();
-
-        if (getXsiNil( r ) == nil)
-            return;
-
-        setAttr( r, _xsiNil, "true" );
-    }
-
-    boolean getXsiNil ( Root r )
-    {
-        assert isContainer();
-
-        Splay s;
-
-        for ( s = nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-        {
-            if (s.isXsiNil())
-                break;
-        }
-
-        if (!s.isAttr())
-            return false;
-
-        String value = s.getText( r, TypeStore.WS_COLLAPSE );
-
-        return value.equals( "true" ) ||value.equals( "1" );
-    }
-
-    QName getXsiTypeName ( Root r )
-    {
-        assert isContainer();
-
-        Splay s;
-
-        for ( s = nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-        {
-            if (s.isXsiType())
-                break;
-        }
-
-        if (!s.isAttr())
-            return null;
-
-        assert s.isXsiType();
-
-        String value = s.getText( r, TypeStore.WS_COLLAPSE );
-
-// TODO - unobscure the underlying text and use it directly
-// TODO - should I make sure the prefix is wqell formed? ie. just text
-
-        String prefix, localname;
-
-        int firstcolon = value.indexOf( ':' );
-
-        if (firstcolon >= 0)
-        {
-            prefix = value.substring( 0, firstcolon );
-            localname = value.substring( firstcolon + 1 );
-        }
-        else
-        {
-            prefix = "";
-            localname = value;
-        }
-
-        String uri = namespaceForPrefix( prefix );
-
-        if (uri == null)
-            return null; // no prefix definition found - that's illegal
-
-        return new QName( uri, localname );
-    }
-
-    void setXsiType ( Root r, QName typeName )
-    {
-        assert isContainer();
-
-        if (typeName == null)
-        {
-            removeAttr( r, _xsiType );
-            return;
-        }
-
-        String value = typeName.getLocalPart();
-
-        String ns = typeName.getNamespaceURI();
-
-        String prefix = prefixForNamespace( r, ns, null, true);
-
-        assert prefix != null : "Cannot establish prefix for " + ns;
-
-        if (prefix.length() > 0)
-            value = prefix + ":" + value;
-
-        boolean set = false;
-
-        setAttr( r, _xsiType, value );
-    }
-
-    void removeAttr ( Root r, QName attrName )
-    {
-        Splay next;
-        for ( Splay s = nextSplay() ; s.isAttr() ; s = next )
-        {
-            next = s.nextSplay();
-
-            if (s.getName().equals( attrName ))
-                s.remove( r, true );
-        }
-    }
-
-    void setAttr ( Root r, QName attrName, String value )
-    {
-        assert isContainer();
-        assert attrName != null;
-        assert value != null;
-
-        boolean set = false;
-
-        Splay next;
-        for ( Splay s = nextSplay() ; s.isAttr() ; s = next )
-        {
-            next = s.nextSplay();
-
-            if (s.getName().equals( attrName ))
-            {
-                if (set)
-                    s.remove( r, true );
-                else
-                {
-                    s.setText( r, value, 0, value.length() );
-                    set = true;
-                }
-            }
-        }
-
-        if (!set)
-        {
-            Splay sInsert = this;
-            int   pInsert = 1;
-
-            if (!isLeaf() && getCch() == 0)
-            {
-                sInsert = nextSplay();
-                pInsert = 0;
-            }
-
-            int cchValue = value.length();
-
-            Attr attr = new Attr( attrName );
-            attr.adjustCch( cchValue );
-
-            sInsert.insert( r, pInsert, attr, value, 0, cchValue, false );
-        }
-    }
-
-
-    /**
-     * Sets the content/value of this splay to the given text.
-     */
-
-    final void setText ( Root r, Object txt, int off, int cch )
-    {
-        removeContent( r, false );
-
-        if (txt == null || cch == 0)
-            return;
-
-        switch ( getKind() )
-        {
-        case DOC :
-        case BEGIN :
-        {
-            assert !isBegin() || isLeaf();
-            insertChars( 1, r, txt, off, cch );
-            break;
-        }
-        case ATTR :
-        {
-            if (isXmlns())
-            {
-                assert false: "Unexpected kind for setText";
-            }
-// TODO - if setting text of xsi:type or xsi:nil must do stuff
-// TODO - if setting text of xsi:type or xsi:nil must do stuff
-// TODO - if setting text of xsi:type or xsi:nil must do stuff
-// TODO - if setting text of xsi:type or xsi:nil must do stuff
-
-            // Fall through
-        }
-        case COMMENT  :
-        case PROCINST :
-        {
-            r.startChange();
-
-            assert getCchValue() == 0;
-
-            r._text.insert( r.getCp( this ), txt, off, cch );
-            r.updateCch( this, cch );
-
-            if (getKind() == ATTR)
-            {
-                invalidateText();
-
-                if (isXsiType())
-                    getContainer().disconnectTypes( r );
-            }
-
-            r.invalidateVersion();
-
-            break;
-        }
-        default :
-            assert false: "Unexpected kind for setText";
-        }
-
-        assert validate();
-    }
-
-    final Map lookupAllPrefixMappings ( )
-    {
-        Map mappings = null;
-
-        Splay container = this.isContainer() ? this : getContainer();
-
-        for ( ; container != null ; container = container.getContainer() )
-        {
-            for ( Splay s = container.nextSplay() ; s.isAttr() ;
-                  s = s.nextSplay() )
-            {
-                if (s.isXmlns())
-                {
-                    if (mappings == null)
-                        mappings = new HashMap();
-                    else if (mappings.containsKey( s.getLocal() ))
-                        continue;
-
-                    mappings.put( s.getLocal(), s.getUri() );
-                }
-            }
-        }
-
-        return mappings;
-    }
-
-    final void applyNamespaces ( Root r, Map namespaces )
-    {
-        if (namespaces == null)
-            return;
-
-        Splay container = this.isContainer() ? this : getContainer();
-
-        namespace_loop:
-        for ( Iterator i = namespaces.keySet().iterator() ; i.hasNext() ; )
-        {
-            String prefix = (String) i.next();
-
-            // Usually, this is the predefined xml namespace
-            if (prefix.toLowerCase().startsWith( "xml" ))
-                continue;
-
-            String namespace = (String) namespaces.get( prefix );
-
-            Splay candidate = container;
-
-            candidate_loop:
-            for ( Splay c = container.getContainer() ; c != null && !c.isDoc() ;
-                  c = c.getContainer() )
-            {
-                for ( Splay s = c.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-                {
-                    if (s.isXmlns() && prefix.equals( s.getLocal() ))
-                    {
-                        if (namespace.equals( s.getUri()))
-                              continue namespace_loop;
-
-                        break candidate_loop;
-                    }
-                }
-
-                candidate = c;
-            }
-
-            // Insert the new namespace at the end of the attr list after
-            // makeing sure all previous mappings are gone
-            QName qname = new QName( namespace, prefix );
-
-            removeAttr( r, qname );
-
-            candidate.nextNonAttrSplay().insert(
-                r, 0, new Xmlns( qname ), null, 0, 0, false );
-        }
-    }
-
-    /**
-     * Returns the prefix associated with this attr/element.
-     */
-    final String getPrefix ( Root r )
-    {
-        assert isBegin() || isAttr();
-
-        if (isXmlns())
-            return "xmlns";
-
-        // TODO - have a prefix goober to override the mapping on the frontier.
-        // Parser will add this when the natural prefix is not the real prefix.
-
-        Splay c = isBegin() ? this : getContainer();
-
-        // special case
-        String ns = getUri();
-
-        // last argument is false, which means, don't modify the tree
-        return prefixForNamespace( r, ns, null, false );
-    }
-
-    /**
-     * Given a prefix, returns the namespace corresponding to
-     * the prefix at this location, or null if there is no mapping
-     * for this prefix.
-     * <p>
-     * prefix="" indicates the absence of a prefix.  A return value
-     * of "" indicates the no-namespace, and should not be confused
-     * with a return value of null, which indicates an illegal
-     * state, where there is no mapping for the given prefix.
-     * <p>
-     * This function intercepts the built-in prefixes "xml" and
-     * "xmlns" and returns their well-known namespace URIs.
-     *
-     * @param prefix The prefix to look up.
-     * @return The mapped namespace URI ("" if no-namespace), or null if no mapping.
-     */
-    final String namespaceForPrefix ( String prefix )
-    {
-        // null same as "", means look up the default namespace
-        if (prefix == null)
-            prefix = "";
-
-        // handle built-in prefixes
-        if ("xml".equals(prefix))
-            return _xml1998Uri;
-        if ("xmlns".equals(prefix))
-            return _xmlnsUri;
-
-        assert isContainer();
-
-        // find an xmlns decl
-        for ( Container c = (Container) this ; c != null ; c = c.getContainer())
-        {
-            for ( Splay s = c.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-            {
-                if (s.isXmlns() && prefix.equals( s.getLocal() ))
-                    return s.getUri();
-            }
-        }
-
-        // no xmlns decl?  no problem for the default namespace
-        if (prefix.length() == 0)
-            return "";
-
-        // no namespace defn found: return null
-        return null;
-    }
-
-
-    /**
-     * Returns the prefix to use for a given namespace URI.  Can either
-     * be allowed to modify the tree to ensure such a mapping (if r
-     * is non-null), or can be told to return null if there is no
-     * existing mapping (if r is null).
-     * <p>
-     * For the case where the tree may be modified, a suggested prefix
-     * can be supplied.  The suggestion may be ignored for any reason,
-     * for example, if the prefix is already in-use.
-     * <p>
-     * Returns "xml" and "xmlns" for the well-known namespace URIs
-     * corresponding to those built-in prefixes.
-     *
-     * @param r       should be null if you don't want to modify the tree.
-     *                if a prefix can't be found, null will be returned
-     *                rather than introducing an xmlns.
-     * @param ns      the namespace to look for or introduce a mapping for.
-     *                careful with "", because it may have nonlocal effects
-     *                if somebody has overridden the default namespace.
-     * @param suggestion  a suggested prefix to try first; may be null.
-     *
-     * @param createIfMissing true (normally it's true) if you want to create
-     *                an xmlns declaration when one doesn't already exist for
-     *                your requested URI.  If you don't want to modify the tree,
-     *                pass false.
-     */
-    final String prefixForNamespace (  Root r, String ns, String suggestion,
-                                       boolean createIfMissing )
-    {
-        // null same as empty string, means no-namespace
-        if (ns == null)
-            ns = "";
-
-        // special cases
-        if (_xml1998Uri.equals( ns ))
-            return "xml";
-        if (_xmlnsUri.equals( ns ))
-            return "xmlns";
-
-        assert isContainer();
-
-        Container c;
-        Splay s;
-
-        //
-        // Special handling is ns is not specified (no namespace)
-        //
-
-        if (ns.length() == 0)
-        {
-            loop:
-            for ( c = (Container) this ; c != null ; c = c.getContainer() )
-            {
-                for ( s = c.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-                {
-                    if (s.isXmlns() && s.getLocal().length() == 0)
-                    {
-                        if (s.getUri().length() == 0)
-                            return s.getLocal();
-
-                        break loop;
-                    }
-                }
-            }
-
-            //
-            // If there is no overridden default namespace in scope,
-            // return "" - the default default namespace is the no-namepsace.
-            //
-
-            if ( c == null )
-                return "";
-
-            //
-            // If we found a problematic default namespace but cannot modify
-            // the tree, return null - no prefix available.
-            //
-
-            if ( !createIfMissing )
-                return null;
-
-            //
-            // There is a default namespace which maps to a 'real' namespace,
-            // create a default namespace on this container which is "".  This
-            // can screw attributes and such, but, oh well.
-            //
-
-            for ( s = nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-            {
-                if (s.isXmlns() && s.getLocal().length() == 0)
-                {
-                    s.setName( r, new QName( "", "" ) );
-                    return s.getLocal();
-                }
-            }
-
-            // this is an xmlns="" declaration
-
-            Attr a = new Xmlns( new QName( "", "" ) );
-
-            r.startChange();
-
-            r.insertSplay( a, this );
-
-            r.invalidateVersion();
-
-            return a.getLocal();
-        }
-
-        //
-        // the ordinary not-a-no-namespace case
-        //
-
-        assert ns != null && ns.length() > 0;
-
-        //
-        // look for an existing prefix for the requested URI
-        //
-
-        for ( c = (Container) this ; c != null ; c = c.getContainer() )
-        {
-            findxmlns: for ( s = c.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-            {
-                if (s.isXmlns() && s.getUri().equals( ns ))
-                {
-                    String result = s.getLocal();
-
-                    // now check to verify that the prefix isn't masked
-                    for ( Container c2 = (Container) this ; c2 != c ; c2 = c2.getContainer() )
-                    {
-                        for ( Splay s2 = c2.nextSplay() ; s2.isAttr() ; s2 = s2.nextSplay() )
-                        {
-                            if (s2.isXmlns() && s2.getLocal().equals(result))
-                                continue findxmlns;
-                        }
-                    }
-
-                    // not masked: OK.
-                    return result;
-                }
-            }
-        }
-
-        //
-        // We could not find an existing prefix in-scope that works.
-        // If !createIfMissing, don't modify the tree - return null instead.
-        //
-
-        if (!createIfMissing)
-            return null;
-
-        //
-        // We must add an xmlns:something="uri", so we must pick a prefix.
-        // We will use the suggestion if it's not already in scope and if
-        // it's not the empty string or an illegal prefix.
-        //
-
-        if (suggestion != null)
-        {
-            if (suggestion.length() == 0 || suggestion.toLowerCase().startsWith( "xml" ))
-                suggestion = null; // bad suggestion
-            else
-            {
-                for ( c = (Container) this ; c != null ; c = c.getContainer() )
-                {
-                    for ( s = c.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-                    {
-                        if (s.isXmlns() &&
-                                s.getLocal().equals( suggestion ))
-                        {
-                            suggestion = null;
-                            break;
-                        }
-                    }
-                }
-            }
-        }
-
-        //
-        // If no suggestion, come up with a safe prefix to use
-        //
-
-        if (suggestion == null)
-        {
-            String base = QNameHelper.suggestPrefix(ns);
-            suggestion = base;
-            for ( int i = 1 ; ; i++ )
-            {
-                loop:
-                for ( c = (Container) this ; c != null ; c = c.getContainer() )
-                {
-                    for ( s = c.nextSplay() ; s.isAttr() ; s = s.nextSplay() )
-                    {
-                        if (s.isXmlns() &&
-                              s.getLocal().equals( suggestion ))
-                        {
-                            suggestion = null;
-                            break loop;
-                        }
-                    }
-                }
-
-                if (suggestion != null)
-                    break;
-
-                suggestion = base + i;
-            }
-        }
-
-        Container target = null;
-        Container lastContainer = null;
-
-        for ( c = (Container) this ; c != null ; c = c.getContainer() )
-        {
-            lastContainer = c;
-
-            if (c.isBegin())
-                target = c;
-        }
-
-        if (target == null)
-            target = lastContainer;
-
-        Attr a = new Xmlns( new QName( ns, suggestion ) );
-
-        r.startChange();
-
-        r.insertSplay( a, target );
-
-        r.invalidateVersion();
-
-        return a.getLocal();
-    }
-
-    /**
-     * Gets the container associated with the content at pos in this
-     * splay.
-     */
-
-    final Container getContainer ( int p )
-    {
-        assert p >= 0 && p <= getEndPos();
-        assert p > 0 || !isDoc();
-
-        if (p == 0)
-            return getContainer();
-
-        if (isLeaf())
-            return p < getPosAfter() ? (Container) this : getContainer();
-
-        if (isContainer())
-            return (Container) this;
-
-        if (isFinish())
-            return getContainer().getContainer();
-
-        return getContainer();
-    }
-
-    /**
-     * Gets the splay which contains this splay.
-     */
-
-    abstract Container getContainer ( );
-
-    /**
-     * Helper fcn to locate the container this splay is container in.
-     * Should only be called by implementations of getContainer in
-     * cases where the container is not obviously computable.
-     */
-
-    Container findContainer ( )
-    {
-        assert !isContainer();
-        assert !isFinish();
-
-        Splay s = nextSplay();
-
-        while ( !s.isFinish() && !s.isBegin() )
-            s = s.nextSplay();
-
-        return s.getContainer();
-    }
-
-    final void invalidateText ( )
-    {
-        assert isValid();
-
-        Type t = peekType();
-
-        if (t != null)
-        {
-            assert isTypeable();
-
-            t.invalidateText();
-        }
-    }
-
-    final void invalidateNil ( )
-    {
-        assert isTypeable();
-
-        if (!isAttr())
-        {
-            Type t = peekType();
-
-            if (t != null)
-                t.invalidateNil();
-        }
-    }
-
-    protected final void disconnectTypes ( Root r )
-    {
-        disconnectTypes( r, false );
-    }
-    
-    protected final void disconnectTypes ( Root r, boolean disconnectDoc )
-    {
-        assert isTypeable();
-
-        Splay last = isAttr() ? this : getFinishSplay();
-
-        Splay s = this;
-
-        for ( ; ; )
-        {
-            Type t = null;
-
-            if (s.isNormalAttr() || s.isLeaf())
-            {
-                t = s.peekType();
-            }
-            else if (s.isFinish())
-            {
-                Container c = s.getContainer();
-
-                if (!c.isDoc() || disconnectDoc)
-                    t = c.peekType();
-            }
-
-            if (t != null)
-            {
-                Splay u = t.getSplay();
-
-                if (u.isInvalid())
-                {
-                    if (u.isAttr())
-                        t.validateValue( u, t );
-                    else
-                    {
-                        // The finish splay might get whacked
-                        Splay f = u.getFinishSplay();
-
-                        t.validateContent( u, t );
-
-                        if (f == last)
-                            last = f;
-                    }
-                }
-
-                t.disconnect( r );
-            }
-
-            if (s == last)
-                break;
-
-            if (s.isContainer() && !s.isLeaf() && s.peekType() == null)
-                s = s.getFinishSplay();
-            else
-                s = s.nextSplay();
-        }
-    }
-
-    /**
-     * Sets the type of of this
-     */
-
-    final void setType ( Root r, SchemaType sType )
-    {
-        setType( r, sType, true );
-    }
-    
-    final void setType ( Root r, SchemaType sType, boolean complain )
-    {
-        assert isTypeable();
-        assert sType != null;
-
-        //
-        // Is the current type already this type?
-        //
-
-        Type t = peekType();
-
-        if (t != null && t.get_schema_type() == sType)
-            return;
-
-        //
-        // Can always set an arbitrary type at the doc level
-        //
-
-        if (isDoc())
-        {
-            disconnectTypes( r, true );
-
-            assert peekType() == null;
-
-            new Type( r, sType, this );
-
-            assert validate();
-
-            return;
-        }
-
-        //
-        // Gotta get the parent type to do anything further.  If it
-        // can't be found, then barf
-        //
-
-        Type parentType = getContainer().getType( r );
-
-        assert parentType != null;
-
-        //
-        // You can set the attribute type, as long as it is the natural
-        // type.  Attributes cannot have xsi:type
-        //
-
-        if (isAttr())
-        {
-            if (parentType.get_attribute_type( getName() ) != sType && complain)
-            {
-                throw new IllegalArgumentException(
-                    "Can't set type of attribute to " + sType.toString() );
-            }
-
-            return;
-        }
-
-        assert isBegin();
-
-        //
-        // Now, for interior types, I have to deal with xsi:type and
-        // whether or not the type is allowed at this point.
-        //
-
-        // First check to see if this type can be here sans xsi:type.
-        // If so, make sure there is no xsi:type
-
-        if (parentType.get_element_type( getName(), null ) == sType)
-        {
-            setXsiType( r, null );
-
-            disconnectTypes( r );
-
-            assert validate();
-
-            return;
-        }
-
-        // If the desired type has no name, then it cannot be
-        // referenced via xsi:type
-
-        QName typeName = sType.getName();
-
-        if (typeName == null)
-        {
-            if (complain)
-            {
-                throw new IllegalArgumentException(
-                    "Can't set type of element, type is un-named" );
-            }
-
-            return;
-        }
-
-        if (parentType.get_element_type( getName(), typeName ) != sType)
-        {
-            if (complain)
-            {
-                throw new IllegalArgumentException(
-                    "Can't set type of element, invalid type" );
-            }
-
-            return;
-        }
-
-        setXsiType( r, typeName );
-
-        disconnectTypes( r );
-
-        assert validate();
-    }
-
-    /**
-     * Get the Type associated with this splay.  It does not attempt to create
-     * one and will return null is non exists.
-     */
-
-    final Type peekType ( )
-    {
-        assert isTypeable();
-
-        Type type = null;
-
-        if (_goobers != null)
-        {
-            for ( Goober g = firstGoober() ; g != null ; g = nextGoober( g ) )
-                if (g.getKind() == TYPE)
-                    return (Type) g;
-        }
-
-        assert type != null || isValid();
-
-        return type;
-    }
-
-    /**
-     * Get the Type associated with this splay.  If non exists, it attempts
-     * to create one.  Returns null if one could not be created.
-     */
-
-    final Type getType ( Root r )
-    {
-        assert isTypeable();
-
-        Type type = peekType();
-
-        if (!isDoc() && type == null)
-        {
-            Type parentType = getContainer().getType( r );
-
-            assert parentType != null;
-
-            // Defensive
-            if (parentType == null)
-                return null;
-
-            TypeStoreUser newUser;
-
-            if (isBegin())
-            {
-                newUser =
-                    parentType.create_element_user(
-                        getName(), getXsiTypeName( r ) );
-            }
-            else
-            {
-                assert isNormalAttr();
-
-                newUser = parentType.create_attribute_user( getName() );
-            }
-
-            assert newUser != null;
-
-            // Defensive
-            if (newUser == null)
-                return null;
-
-            type = new Type( r, newUser, this );
-        }
-
-        assert type != null;
-
-        return type;
-    }
-
-    /**
-     * Is this inside of the content of sRange?  Does an inclusive check.
-     */
-
-    final boolean between ( Root r, int pThis, Splay sRange )
-    {
-        assert Root.dv > 0 || getRootSlow() == r;
-        assert Root.dv > 0 || getRootSlow() == sRange.getRootSlow();
-
-        if (sRange.isDoc())
-            return true;
-
-        if (compare( r, pThis, sRange, 0 ) < 0)
-            return false;
-
-        Splay sEnd;
-        int   pEnd;
-
-        assert !sRange.isDoc();
-
-        if (sRange.isLeaf())
-        {
-            sEnd = sRange;
-            pEnd = sRange.getPosLeafEnd() + 1;
-        }
-        else if (sRange.isBegin())
-        {
-            sEnd = sRange.getFinishSplay();
-            pEnd = 1;
-        }
-        else
-        {
-            sEnd = sRange.nextSplay();
-            pEnd = 0;
-        }
-
-        return compare( r, pThis, sEnd, pEnd ) <= 0;
-    }
-
-    /**
-     * Compare two positions.  Attributes are a bitch.
-     */
-
-    final int compare ( Root r, int pThis, Splay sThat, int pThat )
-    {
-        Splay sThis = this;
-
-        assert Root.dv > 0 || sThis.getRootSlow() == r;
-        assert Root.dv > 0 || sThat.getRootSlow() == r;
-        assert pThis >= 0 && pThis <= sThis.getEndPos();
-        assert pThat >= 0 && pThat <= sThat.getEndPos();
-
-        // Normalize positions
-
-        if (pThis == sThis.getEndPos())
-        {
-            if (sThis.isAttr())
-            {
-                if ((sThis = sThis.nextSplay()).isAttr())
-                    pThis = 0;
-                else
-                {
-                    sThis = sThis.prevNonAttrSplay();
-                    pThis = 1;
-                }
-            }
-            else
-            {
-                sThis = sThis.nextNonAttrSplay();
-                pThis = 0;
-            }
-        }
-
-        if (pThat == sThat.getEndPos())
-        {
-            if (sThat.isAttr())
-            {
-                if ((sThat = sThat.nextSplay()).isAttr())
-                    pThat = 0;
-                else
-                {
-                    sThat = sThat.prevNonAttrSplay();
-                    pThat = 1;
-                }
-            }
-            else
-            {
-                sThat = sThat.nextNonAttrSplay();
-                pThat = 0;
-            }
-        }
-
-        assert pThis < sThis.getEndPos();
-        assert pThat < sThat.getEndPos();
-
-        if (sThis == sThat)
-            return pThis < pThat ? -1 : pThis > pThat ? 1 : 0;
-
-        //
-
-        if (sThis.isAttr())
-        {
-            if (sThat.isAttr())
-                return compare( r, sThat );
-
-            if (sThis.prevNonAttrSplay() != sThat)
-                return compare( r, sThat );
-
-            return pThat == 0 ? 1 : -1;
-        }
-        else if (sThat.isAttr())
-        {
-            assert !sThis.isAttr();
-
-            if (sThat.prevNonAttrSplay() != sThis)
-                return compare( r, sThat );
-
-            return pThis == 0 ? -1 : 1;
-        }
-        else
-        {
-            return compare( r, sThat );
-        }
-    }
-
-    private int compare ( Root r, Splay sThat )
-    {
-        Splay sThis = this;
-
-        if (sThis == sThat)
-            return 0;
-
-        if (r.isLeftOnly())
-        {
-            if (sThis.getCchLeft() < sThat.getCchLeft())
-                return -1;
-
-            if (sThis.getCchLeft() > sThat.getCchLeft())
-                return 1;
-
-            if (sThis.getCdocBeginLeft() < sThat.getCdocBeginLeft())
-                return -1;
-
-            if (sThis.getCdocBeginLeft() > sThat.getCdocBeginLeft())
-                return 1;
-
-            while ( sThis != r )
-            {
-                sThis = sThis.nextSplay();
-
-                if (sThis == sThat)
-                    return -1;
-
-                if (sThis.getCch() > 0 || sThis.getCdocBegin() > 0)
-                    break;
-            }
-
-            return 1;
-        }
-
-        if (sThat.isRoot())
-            return -1;
-
-        if (sThis.isRoot())
-            return 1;
-
-        sThis.splay( r, r );
-        sThat.splay( r, sThis );
-
-        assert sThis._leftSplay == sThat || sThis._rightSplay == sThat;
-
-        return sThis._leftSplay == sThat ? 1 : -1;
-    }
-
-    final Splay nextNonAttrSplay ( )
-    {
-        Splay s = nextSplay();
-
-        while ( s != null && s.isAttr() )
-            s = s.nextSplay();
-
-        return s;
-    }
-
-    final Splay prevNonAttrSplay ( )
-    {
-        Splay s = prevSplay();
-
-        while ( s != null && s.isAttr() )
-            s = s.prevSplay();
-
-        return s;
-    }
-
-    final Splay nextSplay ( )
-    {
-        Splay s = this;
-        Splay r = s._rightSplay;
-
-        if (r != null)
-        {
-            for ( Splay l = s = r ; (l = l._leftSplay) != null ; )
-                s = l;
-
-            return s;
-        }
-
-        for ( Splay p = s._parentSplay ; ; p = (s = p)._parentSplay )
-            if (p == null || p._leftSplay == s)
-                return p;
-    }
-
-    final Splay prevSplay ( )
-    {
-        Splay s = this;
-        Splay l = s._leftSplay;
-
-        if (l != null)
-        {
-            for ( Splay r = s = l ; (r = r._rightSplay) != null ; )
-                s = r;
-
-            return s;
-        }
-
-        for ( Splay p = s._parentSplay ; ; p = (s = p)._parentSplay )
-            if (p == null || p._rightSplay == s)
-                return p;
-    }
-
-    final void rotateRight ( )
-    {
-        assert _parentSplay._leftSplay == this;
-
-        Splay p = _parentSplay;
-        Splay g = p._parentSplay;
-
-        assert p != null;
-
-        p._leftSplay = _rightSplay;
-
-        if (_rightSplay != null)
-            _rightSplay._parentSplay = p;
-
-        _rightSplay = p;
-        p._parentSplay = this;
-        _parentSplay = g;
-
-        if (g != null)
-        {
-            if (g._leftSplay == p)
-                g._leftSplay = this;
-            else
-                g._rightSplay = this;
-        }
-
-        p.adjustCchLeft( - getCchLeft() - getCch() );
-        p.adjustCdocBeginLeft( - getCdocBeginLeft() - getCdocBegin() );
-    }
-
-    final void rotateLeft ( )
-    {
-        assert _parentSplay._rightSplay == this;
-
-        Splay p = _parentSplay;
-        Splay g = p._parentSplay;
-
-        assert p != null;
-
-        p._rightSplay = _leftSplay;
-
-        if (_leftSplay != null)
-            _leftSplay._parentSplay = p;
-
-        _leftSplay = p;
-        p._parentSplay = this;
-        _parentSplay = g;
-
-        if (g != null)
-        {
-            if (g._leftSplay == p)
-                g._leftSplay = this;
-            else
-                g._rightSplay = this;
-        }
-
-        adjustCchLeft( p.getCchLeft() + p.getCch() );
-        adjustCdocBeginLeft( p.getCdocBeginLeft() + p.getCdocBegin() );
-    }
-
-    //
-    // Splay this so that it's parent is pStop.
-    //
-    // This version of splay is capable of splaying this to the top.  There
-    // are two cases.  One is there r is this and this is splayed to be
-    // the left child of r.  The other case is where r is null.  In this case
-    // the tree this is in is detached from the main document, and this will be
-    // splayed to the top of that subtree such that it's parent will be null.
-    //
-
-    final void splay ( Root r, Splay pStop )
-    {
-        assert pStop != null;
-        assert this != pStop;
-        assert Root.dv > 0 || r == null || getRootSlow() == r;
-        assert Root.dv > 0 || r == null || pStop.getRootSlow() == r;
-        assert r == null || r.validateSplayTree();
-        assert !isRoot();
-
-        boolean rotated = false;
-
-        for ( ; ; )
-        {
-            assert _parentSplay != null;
-
-            Splay p = _parentSplay;
-
-            assert p != null;
-
-            // If this is a child of the stopper, then we are done
-
-            if (p == pStop)
-                break;
-
-            Splay g = p._parentSplay;
-
-            // If this is child of root, then simple rotate
-
-            rotated = true;
-
-            if (g == pStop)
-            {
-                if (p._leftSplay == this)
-                    rotateRight();
-                else
-                    rotateLeft();
-
-                break;
-            }
-
-            // Fancy splays
-
-            if (g._leftSplay == p)
-            {
-                if (p._leftSplay == this)
-                    p.rotateRight();
-                else
-                    rotateLeft();
-
-                rotateRight();
-            }
-            else
-            {
-                if (p._rightSplay == this)
-                    p.rotateLeft();
-                else
-                    rotateRight();
-
-                rotateLeft();
-            }
-        }
-
-        if (rotated && r != null)
-            r._leftOnly = false;
-
-        assert r == null || r.validateSplayTree();
-    }
-
-    /**
-     * Remove this splay where root is the splay root of the tree this splay.
-     * This may be a ROOT splay
-     */
-
-    final Splay removeSplay ( Splay r )
-    {
-        Root root = r.isRoot() ? (Root) r : null;
-
-        assert r._parentSplay == null;
-        assert root == null || root.validateSplayTree();
-        assert !isRoot();
-        assert !isDoc();
-        assert Root.dv > 0 || getSplayRootSlow() == r;
-
-        // If the splay to be removed has no cch or cbegin, then when the
-        // tree is left only children, we need not splay.
-
-        int cch = getCch();
-        int cbegin = getCdocBegin();
-
-        if (root != null && root._leftOnly && cch == 0 && cbegin == 0)
-        {
-            assert _rightSplay == null;
-            assert _parentSplay != null;
-
-            if ((_parentSplay._leftSplay = _leftSplay) != null)
-                _leftSplay._parentSplay = _parentSplay;
-        }
-        else
-        {
-            splay( root, r );
-
-            if (_leftSplay == null)
-            {
-                r.adjustCchLeft( - cch );
-                r.adjustCdocBeginLeft( - cbegin );
-
-                if ((r._leftSplay = _rightSplay) != null)
-                    _rightSplay._parentSplay = r;
-            }
-            else
-            {
-                Splay p = prevSplay();
-
-                p.splay( root, this );
-
-                assert p._rightSplay == null;
-
-                r._leftSplay = p;
-                p._parentSplay = r;
-                r.adjustCchLeft( - cch );
-                r.adjustCdocBeginLeft( - cbegin );
-                p._rightSplay = _rightSplay;
-
-                if (p._rightSplay != null)
-                    p._rightSplay._parentSplay = p;
-            }
-        }
-
-        _leftSplay = _rightSplay = _parentSplay = null;
-        adjustCchLeft( - getCchLeft() );
-        adjustCdocBeginLeft( - getCdocBeginLeft() );
-
-        assert root == null || root.validateSplayTree();
-
-        return this;
-    }
-
-    //
-    // The Zoo (more like a petting zoo now)
-    //
-
-    static abstract class QNameSplay extends Splay
-    {
-        QNameSplay ( int kind, boolean is, QName name )
-        {
-            super( kind, is );
-            _name = name;
-        }
-
-        final QName getName ( ) { return _name; }
-        final void  changeName ( QName name ) { _name = name; }
-
-        final String getUri   ( ) { return _name.getNamespaceURI(); }
-        final String getLocal ( ) { return _name.getLocalPart();    }
-
-        private QName _name;
-    }
-
-    static abstract class Container extends QNameSplay
-    {
-        Container ( int kind, boolean is, QName name )
-            { super( kind, is, name ); }
-
-        abstract Finish getFinish ( );
-    }
-
-    static final class Doc extends Container
-    {
-        Doc ( Root r, QName name )
-            { super( DOC, false, name ); _root = r; }
-
-        Container getContainer ( ) { return null; }
-        Finish    getFinish ( ) { return _root; }
-
-        Root _root;
-    }
-
-    static class Begin extends Container
-    {
-        Begin ( QName name, Container container )
-            { super( BEGIN, false, name ); _container = container; }
-
-        final Container getContainer ( ) { return _container; }
-        final Finish    getFinish    ( ) { return _end; }
-
-        End         _end;
-        Container   _container;
-    }
-
-    static abstract class Finish extends Splay
-    {
-        Finish ( int kind ) { super( kind, false ); }
-    }
-
-    static final class End extends Finish
-    {
-        End ( Begin begin ) { super( END ); _begin = begin; }
-
-        Container getContainer ( ) { return _begin; }
-
-        final Begin _begin;
-    }
-
-    static final class Comment extends Splay
-    {
-        Comment ( ) { super( COMMENT, false ); }
-
-        Container getContainer ( ) { return findContainer(); }
-    }
-
-    static final class Fragment extends Splay
-    {
-        Fragment ( ) { super( COMMENT, true ); }
-
-        Container getContainer ( ) { return null; }
-    }
-
-    static class Attr extends QNameSplay
-    {
-        Attr ( QName name ) { super( ATTR, false, name ); }
-
-        Attr ( QName name, boolean isXmlns )
-        {
-            super( ATTR, true, name );
-            assert isXmlns;
-        }
-
-        Container getContainer ( )
-        {
-            for ( Splay s = prevSplay() ; ; s = s.prevSplay() )
-                if (!s.isAttr())
-                    return (Container) s;
-        }
-    }
-
-    static final class Xmlns extends Attr
-    {
-        Xmlns ( QName name ) { super( name, true ); }
-    }
-
-    static final class Procinst extends QNameSplay
-    {
-        Procinst ( QName target )
-        {
-            super( PROCINST, false, target );
-        }
-
-        Procinst ( String target )
-        {
-            super( PROCINST, false, new QName( "", target ) );
-        }
-
-        Container getContainer ( ) { return findContainer(); }
-    }
-
-    /**
-     * Every splay points to a collection of goobers.  Goobers can be
-     * aggregated into groups which share the same state (kind and position).
-     */
-
-    static final int CURSOR     = 0;
-    static final int TYPE       = 1;
-    static final int ANNOTATION = 2;
-    static final int AGGREGATE  = 3;
-
-    static abstract class Goober extends Goobers
-    {
-        Goober ( Root r, int kind )
-        {
-            _root = r;
-            _state = kind;
-        }
-
-        final int   getKind  ( ) { return _state & 7;  }
-        final Root  getRoot  ( ) { return _root;       }
-        final Splay getSplay ( ) { return _splay;      }
-        final int   getPos   ( ) { return _state >> 3; }
-        final int   getState ( ) { return _state;      }
-
-        final boolean isAnnotation ( ) { return getKind() == ANNOTATION; }
-
-        final void set ( Root r, Splay s, int p )
-        {
-            assert s != null;
-            doSet( r, s, p );
-        }
-
-        private final void doSet ( Root r, Splay s, int p )
-        {
-            assert s != null || p == 0;
-            assert Root.dv > 0 || s == null || r == s.getRootSlow();
-            assert Root.dv > 0 || _splay == null || _root == _splay.getRootSlow();
-//            assert Root.dv > 0 || _root == r || _splay.getRootSlow() != s.getRootSlow();
-
-            _root = r;
-
-            if (_splay != s)
-            {
-                if (_splay != null)
-                    remove();
-
-                if (s != null)
-                    append( s );
-            }
-
-            assert p >= 0;
-            assert _splay == null || p <= _splay.getMaxPos();
-            _state = p * 8 + (_state & 7);
-        }
-
-        final void set ( Root r )
-        {
-            assert r != null;
-            _root = r;
-        }
-
-        final void set ( Splay s, int p ) { doSet( getRoot(), s,          p ); }
-        final void set (          int p ) { doSet( getRoot(), getSplay(), p ); }
-
-        final void set ( Goober g )
-            { doSet( g.getRoot(), g.getSplay(), g.getPos() ); }
-
-        void disconnect ( Root r )
-        {
-            doSet( r, null, 0 );
-        }
-
-        private final void append ( Splay s )
-        {
-            assert s != null;
-            assert Root.dv > 0 || s.getRootSlow() == _root;
-            assert _splay == null;
-            assert _parent == null;
-            assert _next == null && _prev == null;
-
-            if (s._goobers == null)
-            {
-                s._goobers = this;
-                _next = _prev = this;
-            }
-            else
-            {
-                _next = s._goobers;
-                _prev = _next._prev;
-                _next._prev = this;
-                _prev._next = this;
-            }
-
-            _splay = s;
-            _parent = s;
-        }
-
-        private final void remove ( )
-        {
-            assert _splay != null;
-            assert _goobers == null;
-
-            if (_next == this)
-            {
-                assert _parent._goobers == this;
-
-                _parent._goobers = null;
-
-                // If parent is an aggregate goober, remove it too
-
-                if (_parent != _splay)
-                {
-                    Goober g = (Goober) _parent;
-                    assert g.getKind() == AGGREGATE;
-                    g.remove();
-                }
-            }
-            else
-            {
-                _prev._next = _next;
-                _next._prev = _prev;
-
-                if (_parent._goobers == this)
-                    _parent._goobers = _next;
-            }
-
-            _next = _prev = null;
-
-            _parent = null;
-            _splay = null;
-        }
-
-        XmlBookmark getBookmark ( )
-        {
-            return
-                getKind() == ANNOTATION
-                    ? ((Annotation) this).getXmlBookmark()
-                    : null;
-        }
-
-        String getKindName ( )
-        {
-            switch ( getKind() )
-            {
-            case CURSOR     : return "CURSOR";
-            case TYPE       : return "TYPE";
-            case ANNOTATION : return "ANNOTATION";
-            default         : return "<unknow goober kind>";
-            }
-        }
-
-        private Root _root;
-
-        private Splay _splay;
-
-        private int _state;  // pos and kind
-
-        Goober  _next;
-        Goober  _prev;
-        Goobers _parent;
-    }
-
-    static final class CursorGoober extends Goober
-    {
-        CursorGoober ( Root r )
-        {
-            super( r, CURSOR );
-        }
-
-        private static final HashMap createDebugIdMap ( )
-        {
-            // Creepy way to discover is assert is enabled.
-            HashMap map = null;
-            assert (map = new HashMap()) != null;
-            return map;
-        }
-
-        public int getDebugId ( )
-        {
-            if (_debugIds == null)
-                return -1;
-
-            synchronized ( _debugIds )
-            {
-                if (!_debugIds.containsKey( this ))
-                    _debugIds.put( this, new Integer( _nextDebugId++ ) );
-
-                return ((Integer) _debugIds.get( this )).intValue();
-            }
-        }
-
-        private static final HashMap _debugIds = createDebugIdMap();
-        private static int   _nextDebugId = 1;
-    }
-
-    static class Annotation extends Goober implements XmlMark
-    {
-        public Object monitor()
-        {
-            return getRoot();
-        }
-
-        Annotation ( Root r )
-        {
-            super( r, ANNOTATION );
-        }
-
-        Annotation ( Root r, XmlBookmark a )
-        {
-            this( r );
-
-            if (a._ref == null)
-                _annotation = a;
-            else
-                _ref = a._ref;
-
-            _key = a.getKey();
-        }
-
-        void setKey ( Object key )
-        {
-            _key = key;
-        }
-
-        // called via bookmark (public via XmlMark)
-        public final XmlCursor createCursor ( )
-        {
-            synchronized (monitor())
-            {
-                if (getSplay() == null)
-                {
-                    throw new IllegalStateException(
-                        "Attempting to create a cursor on a bookmark that " +
-                            "has been cleared or replaced.");
-                }
-
-                return new Cursor( getRoot(), getSplay(), getPos() );
-            }
-        }
-
-        public XmlBookmark getXmlBookmark ( )
-        {
-            if (_annotation != null)
-                return _annotation;
-
-            if (_ref != null)
-                return (XmlBookmark) _ref.get();
-
-            return null;
-        }
-
-        void disconnect ( Root r )
-        {
-            super.disconnect( r );
-
-            XmlBookmark xa = getXmlBookmark();
-
-            if (xa != null)
-                xa._currentMark = null;
-        }
-
-        XmlBookmark _annotation;
-        Reference     _ref;
-
-        Object _key;
-    }
-
-    final Goober firstGoober ( )
-    {
-        if (_goobers == null || _goobers.getKind() != AGGREGATE)
-            return _goobers;
-
-        assert _goobers._goobers != null;
-        assert _goobers._goobers.getKind() != AGGREGATE;
-
-        return _goobers._goobers;
-    }
-
-    final Goober nextGoober ( Goober g )
-    {
-        assert g != null;
-
-        if ((g = g._next) != g._parent._goobers)
-            return g;
-
-        return g._parent == g._splay ? null : nextGoober( (Goober) g._parent );
-    }
-
-    static final boolean _assertEnabled = getAssertEnabled();
-
-    private static boolean getAssertEnabled ( )
-    {
-        // Creepy way to discover is assert is enabled.
-        boolean enabled = false;
-        assert (enabled = true) || true;
-        return enabled;
-    }
-
-    static void assertAssertEnabled ( )
-    {
-        if (!_assertEnabled)
-        {
-            throw
-                new RuntimeException(
-                    "Assert needs to be enabled for this operation" );
-        }
-    }
-
-    // Associate id's with splays when asserts are enabled
-
-    private static final HashMap _debugIds =
-        _assertEnabled ? new HashMap() : null;
-
-    private static int _nextDebugId = 1;
-
-    public int getDebugId ( )
-    {
-        if (_debugIds == null)
-            return -1;
-
-        synchronized ( _debugIds )
-        {
-            if (!_debugIds.containsKey( this ))
-                _debugIds.put( this, new Integer( _nextDebugId++ ) );
-
-            return ((Integer) _debugIds.get( this )).intValue();
-        }
-    }
-
-    void dump ( ) { getRootSlow().dump(); }
-    void dump ( boolean verbose ) { getRootSlow().dump( verbose ); }
-
-    public Splay getSplayRootSlow ( )
-    {
-        assertAssertEnabled();
-
-        Splay s = this;
-
-        while ( s._parentSplay != null )
-            s = s._parentSplay;
-
-        return s;
-    }
-
-    public Root getRootSlow ( )
-    {
-        assertAssertEnabled();
-
-        Splay s = getSplayRootSlow();
-
-        return s.isRoot() ? (Root) s : null;
-    }
-
-    int getCpSlow ( )
-    {
-        assertAssertEnabled();
-
-        int cch = 0;
-
-        for ( Splay s = this ; (s = s.prevSplay()) != null ; )
-            cch += s.getCch();
-
-        return cch;
-    }
-
-    int compareSlow ( Splay sThat )
-    {
-        assertAssertEnabled();
-
-        assert Root.dv > 0 || getRootSlow() == sThat.getRootSlow();
-
-        if (this == sThat)
-            return 0;
-
-        for ( Splay s = this ; s != null ; s = s.nextSplay() )
-            if (s == sThat)
-                return -1;
-
-        for ( Splay s = this ; s != null ; s = s.prevSplay() )
-            if (s == sThat)
-                return 1;
-
-        assert false: "Yikes!";
-
-        return 0;
-    }
-
-    boolean validate ( )
-    {
-        assertAssertEnabled();
-
-        return getRootSlow().validate();
-    }
-
-    //
-    // Document splay tree members
-    //
-
-    Splay _leftSplay;
-    Splay _rightSplay;
-    Splay _parentSplay;
-
-    private int _bits; // 27: cDocbeginLeft, 1: invalid, 1: multi, 3: kind
-    private int _cch;
-    private int _cchAfter;
-    private int _cchLeft;
-}
diff --git a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Text.java b/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Text.java
deleted file mode 100644
index a15e1c9..0000000
--- a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Text.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.store;
-
-//import org.apache.xmlbeans.impl.store.Root.WriteContext;
-//import org.apache.xmlbeans.impl.store.Root.ReadContext;
-import java.io.IOException;
-
-public final class Text
-{
-    char[] _buf;
-    int    _gap;    // Where the gap starts
-    int    _gapLen; // The length of the gap
-
-    int length ( )
-    {
-        return bufLen() - _gapLen;
-    }
-
-    private int bufLen ( )
-    {
-        return _buf == null ? 0 : _buf.length;
-    }
-
-    private void copy ( char[] newBuf )
-    {
-        assert _buf != null && newBuf.length >= length();
-        
-        System.arraycopy( _buf, 0, newBuf, 0, _gap );
-
-        int lenAfterGap = _buf.length - _gap - _gapLen;
-
-        System.arraycopy(
-            _buf, _gap + _gapLen,
-            newBuf, newBuf.length - (lenAfterGap), lenAfterGap );
-    }
-
-    void resize ( int cch )
-    {
-        assert cch > _gapLen;
-        
-        int newSize = length() + cch;
-        int newLen = _buf == null ? 1024 : _buf.length * 2;
-
-        while ( newLen < newSize )
-            newLen *= 2;
-
-        char[] newBuf = new char [ newLen ];
-
-        if (_buf != null)
-        {
-            copy( newBuf );
-            _gapLen += newBuf.length - _buf.length;
-        }
-        else
-            _gapLen += newBuf.length;
-
-        _buf = newBuf;
-    }
-
-    void trim ( )
-    {
-        if (_buf != null && _gapLen != 0)
-        {
-            char[] newBuf = new char [ length() ];
-
-            copy( newBuf );
-
-            _buf = newBuf;
-            _gap = 0;
-            _gapLen = 0;
-        }
-    }
-
-    void move ( int pos, Text src, int srcPos, int cch )
-    {
-        insert( pos, src, srcPos, cch );
-
-        if (src == this && srcPos >= pos)
-            srcPos += cch;
-
-        src.remove( srcPos, cch );
-    }
-
-    void insert ( int pos, Object txt, int off, int cch )
-    {
-        if (txt != null)
-        {
-            if (txt instanceof String)
-                insert( pos, (String) txt, off, cch );
-            else if (txt instanceof Text)
-                insert( pos, (Text) txt, off, cch );
-            else
-            {
-                assert txt instanceof char[];
-                insert( pos, (char[]) txt, off, cch );
-            }
-        }
-    }
-    
-    void insert ( int pos, Text src, int srcPos, int cch )
-    {
-        //
-        // This can deal with copying from itself
-        //
-
-        if (cch > 0)
-        {
-            if (cch > _gapLen)
-                resize( cch );
-            
-            moveGap( pos );
-
-            if (srcPos + cch < src._gap)
-                System.arraycopy( src._buf, srcPos, _buf, _gap, cch );
-            else if (srcPos >= src._gap)
-            {
-                System.arraycopy(
-                    src._buf, srcPos + src._gapLen, _buf, _gap, cch );
-            }
-            else
-            {
-                int leftLen = src._gap - srcPos;
-            
-                System.arraycopy( src._buf, srcPos, _buf, _gap, leftLen );
-            
-                System.arraycopy(
-                    src._buf, src._gap + src._gapLen,
-                    _buf, _gap + leftLen, cch - leftLen );
-            }
-
-            _gap += cch;
-            _gapLen -= cch;
-        }
-    }
-    
-    void insert ( int pos, char[] chars, int off, int cch )
-    {
-        assert chars != _buf;
-        assert pos >= 0 && pos <= length();
-        
-        if (cch > 0)
-        {
-            if (cch > _gapLen)
-                resize( cch );
-
-            moveGap( pos );
-
-            System.arraycopy( chars, off, _buf, _gap, cch );
-
-            _gap += cch;
-            _gapLen -= cch;
-        }
-    }
-
-    void insert ( int pos, String s )
-    {
-        insert( pos, s, 0, s.length() );
-    }
-    
-    void insert ( int pos, String s, int off, int cch )
-    {
-        assert pos >= 0 && pos <= length();
-        
-        if (cch > 0)
-        {
-            assert off >= 0 && off < s.length();
-            assert cch <= s.length() - off;
-            
-            if (cch > _gapLen)
-                resize( cch );
-            
-            moveGap( pos );
-
-            s.getChars( off, off + cch, _buf, _gap );
-
-            _gap += cch;
-            _gapLen -= cch;
-        }
-    }
-
-    void remove ( int pos, int cch )
-    {
-        remove( pos, cch, null, 0 );
-    }
-    
-    void remove ( int pos, int cch, char[] retBuf, int off )
-    {
-        assert pos >= 0 && pos + cch <= length();
-
-        moveGap( pos );
-
-        assert retBuf == null || retBuf.length - off >= cch;
-
-        if (cch > 0 && retBuf != null)
-            System.arraycopy( _buf, _gap + _gapLen, retBuf, off, cch );
-        
-        _gapLen += cch;
-    }
-
-    void moveGap( int pos )
-    {
-        if (pos < _gap)
-            System.arraycopy( _buf, pos, _buf, pos + _gapLen, _gap - pos );
-        else if (pos > _gap)
-            System.arraycopy( _buf, _gap + _gapLen, _buf, _gap, pos - _gap);
-
-        _gap = pos;
-    }
-
-    int unObscure ( int pos, int cch )
-    {
-        assert cch >= 0;
-        assert pos >= 0 && pos + cch <= length();
-
-        if (cch > 0 && (pos < _gap && pos + cch > _gap))
-            moveGap( pos + cch );
-
-        return pos < _gap ? pos : pos + _gapLen;
-    }
-
-    void fetch ( StringBuffer sb, int pos, int cch )
-    {
-        assert pos >= 0 && pos + cch <= length();
-
-        if (cch == 0)
-            return;
-
-        if (pos + cch <= _gap)
-        {
-            sb.append( _buf, pos, cch );
-        }
-        else
-        {
-            if (pos >= _gap)
-            {
-                sb.append( _buf, pos + _gapLen, cch );
-            }
-            else
-            {
-                sb.append( _buf, pos, _gap - pos );
-                sb.append( _buf, _gap + _gapLen, cch - _gap + pos );
-            }
-        }
-    }
-
-    String fetch ( int pos, int cch )
-    {
-        assert pos >= 0 && pos + cch <= length();
-
-        if (cch == 0)
-            return "";
-
-        if (pos + cch <= _gap)
-            return new String( _buf, pos, cch );
-
-        if (pos >= _gap)
-            return new String( _buf, pos + _gapLen, cch );
-
-        StringBuffer sb = new StringBuffer();
-
-        sb.append( _buf, pos, _gap - pos );
-        sb.append( _buf, _gap + _gapLen, cch - _gap + pos );
-
-        return sb.toString();
-    }
-
-    void fetch ( char[] buf, int off, int pos, int cch )
-    {
-        assert off >= 0;
-        assert pos >= 0 && pos + cch <= length();
-        assert buf.length - off >= cch;
-
-        if (cch == 0)
-            return;
-        
-        if (pos + cch <= _gap)
-            System.arraycopy( _buf, pos, buf, off, cch );
-        else if (pos >= _gap)
-            System.arraycopy( _buf, pos + _gapLen, buf, off, cch );
-        else
-        {
-            int chunk = _gap - pos;
-            
-            System.arraycopy( _buf, pos, buf, off, chunk );
-            
-            System.arraycopy(
-                _buf, _gap + _gapLen, buf, off + chunk, cch - chunk );
-        }
-    }
-
-    public String toString ( )
-    {
-        return fetch( 0, length() );
-    }
-}
diff --git a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Type.java b/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Type.java
deleted file mode 100644
index 9619d8f..0000000
--- a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/Type.java
+++ /dev/null
@@ -1,1080 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.store;
-
-import org.apache.xmlbeans.impl.common.ValidatorListener;
-import org.apache.xmlbeans.impl.store.Splay.Attr;
-import org.apache.xmlbeans.impl.store.Splay.Begin;
-import org.apache.xmlbeans.impl.store.Splay.Container;
-import org.apache.xmlbeans.impl.store.Splay.CopyContext;
-import org.apache.xmlbeans.impl.store.Splay.Goober;
-import org.apache.xmlbeans.impl.values.NamespaceManager;
-import org.apache.xmlbeans.impl.values.TypeStore;
-import org.apache.xmlbeans.impl.values.TypeStoreUser;
-import org.apache.xmlbeans.impl.values.TypeStoreUserFactory;
-import org.apache.xmlbeans.impl.values.TypeStoreVisitor;
-import org.apache.xmlbeans.QNameSet;
-import org.apache.xmlbeans.SchemaField;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import java.util.ArrayList;
-import java.util.List;
-import javax.xml.namespace.QName;
-
-public final class Type extends Goober implements TypeStore
-{
-    Type ( Root r, SchemaType sType, Splay s )
-    {
-        this( r, ((TypeStoreUserFactory) sType).createTypeStoreUser(), s );
-    }
-    
-    Type ( Root r, TypeStoreUser user, Splay s )
-    {
-        super( r, Splay.TYPE );
-        
-        assert s.peekType() == null;
-        assert user != null;
-        assert s.isTypeable();
-        
-        _user = user;
-        
-        set( s, 0 );
-
-        if (user.uses_invalidate_value())
-            r._cInvalidatableTypes++;
-
-        if (user.is_child_element_order_sensitive())
-            r._cElemOrderSensitiveTypes++;
-        
-        user.attach_store( this );
-    }
-
-    void disconnect ( Root r )
-    {
-        super.disconnect( r );
-        
-        if (_user.uses_invalidate_value())
-            r._cInvalidatableTypes--;
-
-        if (_user.is_child_element_order_sensitive())
-            r._cElemOrderSensitiveTypes--;
-        
-        _user.disconnect_store();
-    }
-
-    //
-    //
-    //
-
-    SchemaType get_schema_type ( )
-    {
-        return _user.get_schema_type();
-    }
-    
-    SchemaType get_element_type ( QName eltName, QName xsiType )
-    {
-        return _user.get_element_type( eltName, xsiType );
-    }
-    
-    SchemaType get_attribute_type ( QName attrName )
-    {
-        return _user.get_attribute_type( attrName );
-    }
-    
-    TypeStoreUser create_element_user ( QName eltName, QName xsiType )
-    {
-        TypeStoreUser ret = null;
-        if (getRoot()._factory != null)
-            ret = getRoot()._factory.createElementUser(get_schema_type(), eltName, xsiType);
-
-        if (ret == null)
-            ret = _user.create_element_user( eltName, xsiType );
-
-        return ret;
-    }
-            
-    TypeStoreUser create_attribute_user( QName attrName )
-    {
-        TypeStoreUser ret = null;
-
-        if (getRoot()._factory != null)
-            ret = getRoot()._factory.createAttributeUser(get_schema_type(),  attrName);
-
-        if (ret == null)
-            ret = _user.create_attribute_user( attrName );
-
-        return ret;
-    }
-
-    XmlObject getXmlObject ( )
-    {
-        return (XmlObject) _user;
-    }
-
-    boolean uses_invalidate_value ( )
-    {
-        return _user.uses_invalidate_value();
-    }
-
-    boolean is_child_element_order_sensitive ( )
-    {
-        return _user.is_child_element_order_sensitive();
-    }
-
-    void invalidateText ( )
-    {
-        if (_inhibitUserInvalidate == 0)
-            _user.invalidate_value();
-    }
-
-    void invalidateNil ( )
-    {
-        if (_inhibitUserInvalidate == 0)
-            _user.invalidate_nilvalue();
-    }
-    
-    void invalidateElement ( Container container, Splay s )
-    {
-        assert s.getContainer() == container;
-        
-        if (_inhibitUserInvalidate > 0)
-            return;
-
-        Type containerType = container.peekType();
-
-        if (containerType == null)
-            return;
-
-        if (!containerType.is_child_element_order_sensitive())
-            return;
-
-        containerType._user.invalidate_value();
-
-        for ( ; ; s = s.nextSplay() )
-        {
-            if (s.isFinish())
-            {
-                assert s.getContainer() == container;
-                return;
-            }
-
-            if (s.isBegin())
-            {
-                Type childType = s.peekType();
-
-                if (childType != null)
-                    childType._user.invalidate_element_order();
-
-                s = s.getFinishSplay();
-            }
-
-            break;
-        }
-    }
-
-    String build_text ( NamespaceManager nsm )
-    {
-        return _user.build_text( nsm );
-    }
-
-    boolean build_nil ( )
-    {
-        return _user.build_nil();
-    }
-    
-    int validateContent ( Splay s, NamespaceManager nsm )
-    {
-        Root r = getRoot();
-        
-        assert s.isInvalid();
-        assert s.isLeaf() || s.isDoc();
-
-        String text = build_text( nsm );
-
-        assert text != null;
-
-        _inhibitUserInvalidate++;
-
-        // Validating does not logically change the doc
-        long oldVersion = r.getVersion();
-        
-        s.toggleIsInvalid(); // Prevents infinite recursion
-        
-        s.insertChars( 1, r, text, 0, text.length() );
-
-        r.restoreVersion( oldVersion );
-        
-        _inhibitUserInvalidate--;
-
-        return text.length();
-    }
-    
-    void validateValue ( Splay s, NamespaceManager nsm )
-    {
-        Root r = getRoot();
-        
-        assert s.isInvalid();
-        assert s.isNormalAttr();
-
-        String text = build_text( nsm );
-
-        assert text != null;
-
-        // Validating does not logically change the doc
-        long oldVersion = r.getVersion();
-        
-        _inhibitUserInvalidate++;
-        
-        s.toggleIsInvalid(); // Prevents infinite recursion
-        
-        s.setText( r, text, 0, text.length() );
-        
-        r.restoreVersion( oldVersion );
-        
-        _inhibitUserInvalidate--;
-    }
-
-    QNameSet get_element_ending_delimiters( QName qname )
-    {
-        return _user.get_element_ending_delimiters( qname );
-    }
-
-    //
-    //
-    //
-    
-    public boolean is_attribute ( )
-    {
-        return getSplay().isAttr();
-    }
-
-    public boolean validate_on_set()
-    {
-        return getRoot().validateOnSet();
-    }
-
-    public XmlCursor new_cursor ( )
-    {
-        return new Cursor( getRoot(), getSplay() );
-    }
-
-    public void validate ( ValidatorListener vEventSink )
-    {
-        new Saver.ValidatorSaver( getRoot(), getSplay(), 0, null, vEventSink );
-    }
-    
-    public SchemaTypeLoader get_schematypeloader ( )
-    {
-        return getRoot().getSchemaTypeLoader();
-    }
-    
-    public QName get_xsi_type ( )
-    {
-        Splay s = getSplay();
-
-        assert s.isContainer() || s.isNormalAttr();
-
-        if (s.isNormalAttr())
-            return null;
-
-        return s.getXsiTypeName( getRoot() );
-    }
-    
-    public TypeStoreUser change_type ( SchemaType sType )
-    {
-        Splay s = getSplay();
-
-        s.setType( getRoot(), sType, false );
-
-        Type t = s.getType( getRoot() );
-
-        assert t != null;
-        
-        return t._user;
-    }
-    
-    public void invalidate_text ( )
-    {
-        Splay s = getSplay();
-
-        assert s.isTypeable();
-
-        if (s.isInvalid())
-            return;
-        
-        _inhibitUserInvalidate++;
-
-        s.removeContent( getRoot(), false );
-
-        s.toggleIsInvalid();
-        assert s.isInvalid();
-        
-        _inhibitUserInvalidate--;
-    }
-    
-    public String fetch_text ( int whitespaceRule )
-    {
-        Splay s = getSplay();
-
-        assert !s.isInvalid();
-        
-        if (s.isInvalid())
-            throw new RuntimeException( "Can't fetch text when invalid" );
-
-        return s.getText( getRoot(), whitespaceRule );
-    }
-    
-    public void store_text ( String text )
-    {
-        _inhibitUserInvalidate++;
-        getSplay().setText( getRoot(), text, 0, text.length() );
-        _inhibitUserInvalidate--;
-    }
-    
-    public int compute_flags ( )
-    {
-        Splay s = getSplay();
-        
-        assert s.isTypeable();
-
-        if (s.isDoc())
-            return 0;
-
-        Container parentContainer = s.getContainer();
-
-        Type parentType = parentContainer.getType( getRoot() );
-
-        assert parentType != null;
-
-        TypeStoreUser parentUser = parentType._user;
-
-        if (s.isAttr())
-            return parentUser.get_attributeflags( s.getName() );
-
-        int f = parentUser.get_elementflags( s.getName() );
-
-        if (f != -1)
-            return f;
-
-        TypeStoreVisitor visitor = parentUser.new_visitor();
-
-        if (visitor == null)
-            return 0;
-
-        assert !parentContainer.isLeaf();
-        
-        for ( Splay t = parentContainer.nextSplay() ; ; t = t.nextSplay() )
-        {
-            switch ( t.getKind() )
-            {
-            case Splay.END :
-                assert false;
-                break;
-
-            case Splay.BEGIN :
-                visitor.visit( t.getName() );
-
-                if (t == s)
-                    return visitor.get_elementflags();
-
-                t = t.getFinishSplay();
-
-                break;
-            }
-        }
-    }
-
-    public SchemaField get_schema_field ( )
-    {
-        Splay s = getSplay();
-        
-        assert s.isTypeable();
-
-        if (s.isDoc())
-            return null;
-        
-        Container parentContainer = s.getContainer();
-
-        TypeStoreUser parentUser = parentContainer.getType( getRoot() )._user;
-        
-        if (s.isAttr())
-            return parentUser.get_attribute_field( s.getName() );
-
-        assert s.isBegin();
-
-        assert !parentContainer.isLeaf();
-        
-        TypeStoreVisitor visitor = parentUser.new_visitor();
-
-        if (visitor == null)
-            return null;
-
-        for ( Splay t = parentContainer.nextSplay() ; ; t = t.nextSplay() )
-        {
-            switch ( t.getKind() )
-            {
-            case Splay.END :
-                assert false;
-                break;
-
-            case Splay.BEGIN :
-                visitor.visit( t.getName() );
-
-                if (t == s)
-                    return visitor.get_schema_field();
-
-                t = t.getFinishSplay();
-
-                break;
-            }
-        }
-    }
-    
-    public int count_elements ( QName name )
-    {
-        return getRoot().count( (Container) getSplay(), name, null );
-    }
-
-    public int count_elements(QNameSet names)
-    {
-        return getRoot().count((Container)getSplay(),  null, names);
-    }
-    
-    public TypeStoreUser find_element_user ( QName name, int i )
-    {
-        Splay s = getSplay();
-
-        assert s.isContainer();
-        
-        if (!s.isContainer())
-            throw new IllegalStateException();
-
-        Begin nthBegin = getRoot().findNthBegin( s, name, null, i );
-
-        if (nthBegin == null)
-            return null;
-
-        Type t = nthBegin.getType( getRoot() );
-
-        assert t != null;
-        
-        return t._user;
-    }
-
-    public TypeStoreUser find_element_user ( QNameSet names, int i )
-    {
-        Splay s = getSplay();
-        assert s.isContainer();
-
-        Begin nthBegin = getRoot().findNthBegin(s,  null, names, i);
-        if (nthBegin == null) return null;
-
-        Type t = nthBegin.getType(getRoot());
-        assert t != null;
-
-        return t._user;
-    }
-    
-    private void findAllElementTypes ( QName name, QNameSet set, List fillMeUp )
-    {
-        assert getSplay().isContainer();
-
-        Splay s = getSplay();
-
-        if (s.isLeaf())
-            return;
-
-        loop:
-        for ( s = s.nextSplay() ; ; s = s.nextSplay() )
-        {
-            switch ( s.getKind() )
-            {
-            case Splay.END  :
-            case Splay.ROOT :
-            {
-                break loop;
-            }        
-            case Splay.BEGIN :
-            {
-                if (set == null)
-                {
-                    if (s.getName().equals( name ))
-                    {
-                        Type type = s.getType( getRoot() );
-
-                        assert type != null;
-                    
-                        fillMeUp.add( type );
-                    }
-                }
-                else
-                {
-                    if (set.contains(s.getName()))
-                    {
-                        Type type = s.getType(getRoot());
-                        assert type != null;
-                        fillMeUp.add(type);
-                    }
-                }
-
-                s = s.getFinishSplay();
-                break;
-            }
-            }
-        }
-    }
-
-    public void find_all_element_users ( QName name, List fillMeUp )
-    {
-        int i = fillMeUp.size();
-        
-        findAllElementTypes( name, null, fillMeUp );
-
-        for ( int j = i ; j < fillMeUp.size() ; j++ )
-            fillMeUp.set( j, ((Type) fillMeUp.get( j ))._user );
-    }
-
-    public void find_all_element_users (QNameSet names, List fillMeUp)
-    {
-        int i = fillMeUp.size();
-        findAllElementTypes(null, names, fillMeUp);
-
-        for ( int j = i ; j < fillMeUp.size() ; j++ )
-            fillMeUp.set( j, ((Type) fillMeUp.get( j ))._user );
-    }
-
-    public TypeStoreUser find_attribute_user ( QName name )
-    {
-        assert getSplay().isContainer();
-
-        Splay a = getSplay().getAttr( name );
-
-        if (a == null)
-            return null;
-
-        Type t = a.getType( getRoot() );
-
-        assert t != null;
-
-        return t._user;
-    }
-    
-    public String compute_default_text ( )
-    {
-        Splay s = getSplay();
-        
-        assert s.isTypeable();
-
-        if (s.isDoc())
-            return null;
-
-        Container parentContainer = s.getContainer();
-
-        Type parentType = parentContainer.getType( getRoot() );
-
-        assert parentType != null;
-
-        TypeStoreUser parentUser = parentType._user;
-
-        if (s.isAttr())
-            return parentUser.get_default_attribute_text( s.getName() );
-
-        String result = parentUser.get_default_element_text( s.getName() );
-
-        if (result != null)
-            return result;
-
-        TypeStoreVisitor visitor = parentUser.new_visitor();
-
-        if (visitor == null)
-            return null;
-
-        assert !parentContainer.isLeaf();
-        
-        for ( Splay t = parentContainer.nextSplay() ; ; t = t.nextSplay() )
-        {
-            switch ( t.getKind() )
-            {
-            case Splay.END :
-                assert false;
-                break;
-
-            case Splay.BEGIN :
-                visitor.visit( t.getName() );
-
-                if (t == s)
-                    return visitor.get_default_text();
-
-                t = t.getFinishSplay();
-                
-                break;
-            }
-        }
-    }
-    
-    public void invalidate_nil ( )
-    {
-        Splay s = getSplay();
-
-        assert s.isTypeable();
-
-        if (!s.isAttr())
-            s.setXsiNil( getRoot(), build_nil() );
-    }
-      
-    public boolean find_nil ( )
-    {
-        Splay s = getSplay();
-
-        assert s.isTypeable();
-  
-        return s.isAttr() ? false : s.getXsiNil( getRoot() );
-    }
-    
-    public String find_prefix_for_nsuri (
-        String nsuri, String suggested_prefix )
-    {
-        Splay s = getSplay();
-
-        if (s.isAttr())
-            s = s.getContainer();
-
-        String result = s.prefixForNamespace( getRoot(), nsuri, suggested_prefix, true);
-
-        assert result != null;
-
-        return result;
-    }
-    
-    public String getNamespaceForPrefix ( String prefix )
-    {
-        Splay s = getSplay();
-
-        if (s.isAttr())
-            s = s.getContainer();
-        
-        return s.namespaceForPrefix( prefix );
-    }
-
-    public TypeStoreUser insert_element_user ( QName name, int i )
-    {
-        Splay s = getSplay();
-
-        assert s.isContainer();
-        
-        if (!s.isContainer())
-            throw new IllegalStateException();
-
-        if (i < 0)
-            throw new IndexOutOfBoundsException();
-
-        Root r = getRoot();
-        Container c = (Container) s;
-
-        Begin nthBegin = r.findNthBegin( c, name, null, i );
-
-        if (nthBegin == null)
-        {
-            if (i > r.count( c, name, null ) + 1)
-                throw new IndexOutOfBoundsException();
-
-            return add_element_user( name );
-        }
-
-        return insertElement( name, nthBegin, 0 );
-    }
-
-    public TypeStoreUser insert_element_user(QNameSet set, QName name, int i)
-    {
-        Splay s = getSplay();
-
-        assert s.isContainer();
-
-        if (!s.isContainer())
-            throw new IllegalStateException();
-
-        if (i < 0)
-            throw new IllegalStateException();
-
-        Root r = getRoot();
-        Container c = (Splay.Container) s;
-
-        Begin nthBegin = r.findNthBegin(c, null, set, i);
-
-        if (nthBegin == null)
-        {
-            if (i > r.count(c, null, set))
-                throw new IndexOutOfBoundsException();
-
-            return add_element_user(name);
-        }
-
-        return insertElement(name, nthBegin, 0);
-    }
-    
-// TODO - consolidate names, this fcn is very expensive in creating names
-    public TypeStoreUser add_element_user ( QName qname )
-    {
-        Splay s = getSplay();
-
-        assert s.isContainer();
-        
-        if (!s.isContainer())
-            throw new IllegalStateException();
-
-        Splay candidateSplay;
-        int candidatePos;
-            
-        if (s.isLeaf())
-        {
-            candidateSplay = s;
-            candidatePos = s.getPosLeafEnd();
-        }
-        else
-        {
-            candidateSplay = s.getFinishSplay();
-            candidatePos = 0;
-
-            QNameSet endSet = null;
-            
-            loop:
-            for ( Splay t = candidateSplay ; ; )
-            {
-                for ( ; ; )
-                {
-                    t = t.prevSplay();
-                    
-                    if (t == s)
-                        break loop;
-                    
-                    if (t.isContainer())
-                        break;
-
-                    if (t.isEnd())
-                    {
-                        t = t.getContainer();
-                        break;
-                    }
-                }
-
-                assert t.isContainer();
-
-                if (t.getName().equals( qname ))
-                    break;
-
-                if (endSet == null)
-                    endSet = get_element_ending_delimiters( qname );
-
-                if (endSet.contains( t.getName() ))
-                    candidateSplay = t;
-            }
-        }
-        
-        return insertElement( qname, candidateSplay, candidatePos );
-    }
-
-    private TypeStoreUser insertElement ( QName name, Splay s, int p )
-    {
-        Root r = getRoot();
-        
-        Begin b = new Begin( name, null );
-        b.toggleIsLeaf();
-        
-        s.insert( r, p, b, null, 0, 0, true );
-        
-        Type t = b.getType( r );
-
-        assert t != null;
-        
-        return t._user;
-    }
-    
-    public void remove_element ( QName qname, int i )
-    {
-        if (i < 0)
-            throw new IndexOutOfBoundsException();
-        
-        Splay s = getSplay();
-
-        assert s.isContainer();
-        
-        if (!s.isContainer())
-            throw new IllegalStateException();
-
-        if (s.isLeaf())
-            throw new IndexOutOfBoundsException();
-
-        Begin b = getRoot().findNthBegin( s, qname, null, i );
-
-        if (b == null)
-            throw new IndexOutOfBoundsException();
-
-        b.remove( getRoot(), true );
-    }
-
-    public void remove_element(QNameSet names, int i)
-    {
-        if (i < 0)
-            throw new IndexOutOfBoundsException();
-
-        Splay s = getSplay();
-
-        assert s.isContainer();
-
-        if (!s.isContainer())
-            throw new IllegalStateException();
-
-        if (s.isLeaf())
-            throw new IndexOutOfBoundsException();
-
-        Begin b = getRoot().findNthBegin(s, null, names, i);
-
-        if (b == null)
-            throw new IndexOutOfBoundsException();
-
-        b.remove(getRoot(), true);
-
-    }
-    
-    public TypeStoreUser add_attribute_user ( QName qname )
-    {
-        Splay s = getSplay();
-
-        assert s.isContainer();
-        
-        if (!s.isContainer())
-            throw new IllegalStateException();
-
-        Splay a = s.getAttr( qname );
-
-        if (a != null)
-            throw new IndexOutOfBoundsException();
-        
-        s.nextSplay().insert(
-            getRoot(), 0, a = new Attr( qname ), null, 0, 0, true );
-        
-        Type t = a.getType( getRoot() );
-
-        assert t != null;
-
-        return t._user;
-    }
-    
-    public void remove_attribute ( QName qname )
-    {
-        Splay s = getSplay();
-
-        assert s.isContainer();
-        
-        if (!s.isContainer())
-            throw new IllegalStateException();
-
-        Splay a = s.getAttr( qname );
-
-        if (a == null)
-            throw new IndexOutOfBoundsException();
-        
-        a.remove( getRoot(), true );
-    }
-    
-    public TypeStoreUser copy_contents_from ( TypeStore source )
-    {
-        assert source instanceof Type;
-
-        Type sourceType = (Type) source;
-
-        Splay s = getSplay();
-
-        s.replaceContents( getRoot(), sourceType.getSplay(), sourceType.getRoot(), true, true );
-        
-        return s.getType( getRoot() )._user;
-    }
-
-    public void array_setter ( XmlObject[] sources, QName elementName )
-    {
-        // TODO - this is the quick and dirty implementation, make this faster
-        
-        int m = sources.length;
-
-        ArrayList copies = new ArrayList();
-        ArrayList types = new ArrayList();
-
-        for ( int i = 0 ; i < m ; i++ )
-        {
-// TODO - deal with null sources[ i ] here -- what to do?
-
-            if (sources[ i ] == null)
-                throw new IllegalArgumentException( "Array element null" );
-            
-            else if (sources[ i ].isImmutable())
-            {
-                copies.add( null );
-                types.add( null );
-            }
-            else
-            {
-                Type type = (Type) ((TypeStoreUser) sources[ i ]).get_store();
-                
-                copies.add( type.getSplay().copySplayContents( type.getRoot()));
-                
-                types.add( sources[ i ].schemaType() );
-            }
-        }
-
-        int n = count_elements( elementName );
-
-        for ( ; n > m ; n-- )
-            remove_element( elementName, m );
-
-        for ( ; m > n ; n++ )
-            add_element_user( elementName );
-
-        assert m == n;
-        
-        ArrayList elements = new ArrayList();
-        
-        findAllElementTypes( elementName, null, elements );
-
-        Root r = getRoot();
-        
-        assert elements.size() == n;
-
-        for ( int i = 0 ; i < n ; i++ )
-        {
-            Type type = (Type) elements.get( i );
-
-            if (sources[ i ].isImmutable())
-                type.getXmlObject().set( sources[ i ] );
-            else
-            {
-                Splay s = type.getSplay();
-
-                assert r == type.getRoot();
-
-                assert s.isContainer();
-                
-                s.removeContent( r, true );
-                
-                CopyContext copyContext = (CopyContext) copies.get( i );
-
-                Splay copyTree = copyContext.getTree();
-
-                if (copyTree != null)
-                {
-                    char[] textCopy = copyContext.getText();
-
-                    s.insert(
-                        r, 1, copyTree, textCopy, 0, textCopy == null ? 0 : textCopy.length, true );
-                }
-
-                type.change_type( (SchemaType) types.get( i ) );
-            }
-        }
-    }
-    
-    public void visit_elements ( TypeStoreVisitor visitor )
-    {
-       Splay s = getSplay();
-
-        assert s.isContainer();
-        
-        if (!s.isContainer())
-            throw new IllegalStateException();
-
-        if (s.isLeaf())
-            return;
-        
-        for ( s = s.nextSplay() ; ; s = s.nextSplay() )
-        {
-            switch ( s.getKind() )
-            {
-            case Splay.END :
-                break;
-
-            case Splay.BEGIN :
-                visitor.visit( s.getName() );
-                s = s.getFinishSplay();
-                break;
-            }
-        }
-    }
-
-    public XmlObject[] exec_query ( String queryExpr, XmlOptions options )
-        throws XmlException
-    {
-        return Path.query( this, queryExpr, options );
-    }
-    
-    //
-    //
-    //
-    
-    /**
-     * Returns the monitor object, used for synchronizing access to the doc.
-     */
-    public Object get_root_object()
-    {
-        return getRoot();
-    }
-
-    private final TypeStoreUser _user;
-    private int _inhibitUserInvalidate;
-}
diff --git a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/XmlObjectList.java b/v1/src/xmlstore/org/apache/xmlbeans/impl/store/XmlObjectList.java
deleted file mode 100644
index cc71b5a..0000000
--- a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/XmlObjectList.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.store;
-
-// BUGBUG: ***TLL*** Why isn't this exposed in org.apache.xmlbeans????
-
-import org.apache.xmlbeans.XmlObject;
-import java.util.Iterator;
-
-
-/**
- * Interface to represent lists of XmlObject instances returned
- * from a query. Used also as a convenient typed way of collecting
- * XmlObject instances.
- */
-public interface XmlObjectList {
-
-    /**
-     * Adds a XmlObject to the end of the list.
-     *
-     * @param xml the XmlObject instance to add to the list
-     */
-    void add(XmlObject xml);
-
-    /**
-     * Appends the contents of another list to this list.
-     *
-     * @param xmlList the list which is to be appended to this list.
-     */
-    void addAll(XmlObjectList xmlList);
-
-    /**
-     * Appends an array of XmlObject instances to this list.
-     *
-     * @param xmlArray the array which is to be appended to this list.
-     */
-    void addAll(XmlObject[] xmlArray);
-
-    /**
-     * Clears out the contents of this list. After this operation,
-     * {@link #isEmpty() isEmpty()} will return <code>true</code>.
-     */
-    void clear();
-
-    /**
-     * Gets the XmlObject at a specified position in the list.
-     *
-     * @param index the specified position
-     * @return the XmlObject at the position in this list.
-     *
-     * @throws IndexOutOfBoundsException if
-     *         <code>(index < 0) || (index >= size())</code>
-     */
-    XmlObject get(int index);
-
-    /**
-     * Tests if this XmlList is empty. This is equivalent to
-     * <code>{@link #size() size()} == 0</code>.
-     *
-     * @return boolean indicating if this list is empty.
-     */
-    boolean isEmpty();
-
-    /**
-     * Returns an Iterator over all the XmlObject instances contained in this
-     * list. This iterator will throw an UnsupportedOperationException in
-     * response to its remove method.
-     *
-     * @return Iterator over the contents of this list
-     */
-    Iterator iterator();
-
-    /**
-     * Returns the number of XmlObject instances contained in this list.
-     *
-     * @return int size of the list.
-     */
-    int size();
-
-    /**
-     * Returns a copy of the contents of the XmlList in a newly created array of
-     * XmlObjects.
-     *
-     * @return array of XmlObject instances which is a copy of the contents of
-     *         the list.
-     */
-    XmlObject[] toArray();
-
-
-
-    /**
-     * Static factory class for creating new instances of XmlObjectList
-     */
-    public static final class Factory
-    {
-        // the class to instantiate
-        private static final Class CLASS;
-        static {
-            try {
-                CLASS = Class.forName("com.bea.wli.variables.XmlObjectListImpl");
-            } catch (Throwable t) {
-                IllegalStateException ise = new IllegalStateException("Cannot load XmlObjectListImpl.");
-                ise.initCause(t);
-                throw ise;
-            }
-        }
-
-
-        /**
-         * creates a new empty XmlObjectList instance.
-         *
-         * @return a new empty XmlObjectList instance
-         */
-        public static XmlObjectList newInstance() {
-            try {
-                return (XmlObjectList)CLASS.newInstance();
-            } catch (InstantiationException ie) {
-                throw new RuntimeException(ie);
-            } catch (IllegalAccessException iae) {
-                throw new RuntimeException(iae);
-            }
-        }
-
-
-        /**
-         * creates a new XmlObjectList instance, filled with the elements
-         * of the given list
-         *
-         * @return a new XmlObjectList instance.
-         */
-        public static XmlObjectList newInstance(XmlObjectList list) {
-            try {
-                XmlObjectList newList = (XmlObjectList)CLASS.newInstance();
-                newList.addAll(list);
-                return newList;
-            } catch (InstantiationException ie) {
-                throw new RuntimeException(ie);
-            } catch (IllegalAccessException iae) {
-                throw new RuntimeException(iae);
-            }
-        }
-
-
-        /**
-         * creates a new XmlObjectList instance given an array of XmlObjects.
-         *
-         * @return a new XmlObjectList instance.
-         */
-        public static XmlObjectList newInstance(XmlObject[] xmlObjects) {
-            try {
-                XmlObjectList newList = (XmlObjectList) CLASS.newInstance();
-                newList.addAll(xmlObjects);
-                return newList;
-            } catch (InstantiationException ie) {
-                throw new RuntimeException(ie);
-            } catch (IllegalAccessException iae) {
-                throw new RuntimeException(iae);
-            }
-        }
-    }
-}
diff --git a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/XqrlDelegate.java b/v1/src/xmlstore/org/apache/xmlbeans/impl/store/XqrlDelegate.java
deleted file mode 100644
index 88f7305..0000000
--- a/v1/src/xmlstore/org/apache/xmlbeans/impl/store/XqrlDelegate.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.store;
-
-import java.lang.reflect.Method;
-
-public final class XqrlDelegate 
-{
-    private XqrlDelegate ( )
-    {
-    }
-
-    static void check ( Object o )
-    {
-        if (o == null)
-        {
-            throw
-                new UnsupportedOperationException(
-                    "This operation requires xqrl.jar" );
-        }
-    }
-
-    static Path.Query compilePath ( String path, String currentNodeVar )
-    {
-        return
-            (Path.Query)
-                invoke( _compilePath, new Object[] { path, currentNodeVar } );
-    }
-    
-    static Path.Query compileQuery ( String queryExpr, String currentNodeVar )
-    {
-        return
-            (Path.Query)
-                invoke(
-                    _compileQuery, new Object[] { queryExpr, currentNodeVar, new Boolean(true) } );
-    }
-    
-    private static void throwRuntimeException ( Throwable e )
-    {
-        if (e instanceof RuntimeException)
-            throw (RuntimeException) e;
-        
-        Throwable cause = e.getCause();
-        
-        RuntimeException rte = new RuntimeException( cause.getMessage() );
-        
-        rte.initCause( cause );
-
-        throw rte;
-    }
-
-    private static Object invoke ( Method method, Object[] params )
-    {
-        if (method == null)
-        {
-            throw
-                new UnsupportedOperationException(
-                    "This operation requires xqrl.jar" );
-        }
-
-        try
-        {
-            return method.invoke( null, params );
-        }
-        catch ( Throwable e )
-        {
-            throwRuntimeException( e );
-            
-            return null; // Unreachable
-        }
-    }
-
-    // Loose coupling functionality with xqrl.jar
-
-    private static Method _compilePath;
-    private static Method _compileQuery;
-
-    static
-    {
-        boolean hasXqrl;
-        
-        try
-        {
-            Class.forName( "org.apache.xmlbeans.impl.store.XqrlImpl" );
-            
-            hasXqrl = true;
-        }
-        catch ( ClassNotFoundException e )
-        {
-            hasXqrl = false;
-        }
-
-        if (hasXqrl)
-        {
-            try
-            {
-                Class xqrlImpl =
-                    Class.forName( "org.apache.xmlbeans.impl.store.XqrlImpl" );
-
-                _compilePath =
-                    xqrlImpl.getDeclaredMethod(
-                        "compilePath",
-                        new Class[] { String.class, String.class } );
-
-                _compileQuery =
-                    xqrlImpl.getDeclaredMethod(
-                        "compileQuery",
-                        new Class[] { String.class, String.class, Boolean.class } );
-                
-            }
-            catch ( Exception e )
-            {
-                throw new RuntimeException( e );
-            }
-        }
-    }
-}
diff --git a/v1/src/xsdschema/schema/XMLSchema.xsd b/v1/src/xsdschema/schema/XMLSchema.xsd
deleted file mode 100644
index e5f21a7..0000000
--- a/v1/src/xsdschema/schema/XMLSchema.xsd
+++ /dev/null
@@ -1,2534 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- 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 -->
-
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
-
-<!-- provide ID type information even for parsers which only read the
-     internal subset -->
-<!ATTLIST xs:schema          id  ID  #IMPLIED>
-<!ATTLIST xs:complexType     id  ID  #IMPLIED>
-<!ATTLIST xs:complexContent  id  ID  #IMPLIED>
-<!ATTLIST xs:simpleContent   id  ID  #IMPLIED>
-<!ATTLIST xs:extension       id  ID  #IMPLIED>
-<!ATTLIST xs:element         id  ID  #IMPLIED>
-<!ATTLIST xs:group           id  ID  #IMPLIED> 
-<!ATTLIST xs:all             id  ID  #IMPLIED>
-<!ATTLIST xs:choice          id  ID  #IMPLIED>
-<!ATTLIST xs:sequence        id  ID  #IMPLIED>
-<!ATTLIST xs:any             id  ID  #IMPLIED>
-<!ATTLIST xs:anyAttribute    id  ID  #IMPLIED>
-<!ATTLIST xs:attribute       id  ID  #IMPLIED>
-<!ATTLIST xs:attributeGroup  id  ID  #IMPLIED>
-<!ATTLIST xs:unique          id  ID  #IMPLIED>
-<!ATTLIST xs:key             id  ID  #IMPLIED>
-<!ATTLIST xs:keyref          id  ID  #IMPLIED>
-<!ATTLIST xs:selector        id  ID  #IMPLIED>
-<!ATTLIST xs:field           id  ID  #IMPLIED>
-<!ATTLIST xs:include         id  ID  #IMPLIED>
-<!ATTLIST xs:import          id  ID  #IMPLIED>
-<!ATTLIST xs:redefine        id  ID  #IMPLIED>
-<!ATTLIST xs:notation        id  ID  #IMPLIED>
-<!--
-     keep this schema XML1.0 DTD valid
-  -->
-        <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
-
-        <!ELEMENT hfp:hasFacet EMPTY>
-        <!ATTLIST hfp:hasFacet
-                name NMTOKEN #REQUIRED>
-
-        <!ELEMENT hfp:hasProperty EMPTY>
-        <!ATTLIST hfp:hasProperty
-                name NMTOKEN #REQUIRED
-                value CDATA #REQUIRED>
-<!--
-        Make sure that processors that do not read the external
-        subset will know about the various IDs we declare
-  -->
-        <!ATTLIST xs:simpleType id ID #IMPLIED>
-        <!ATTLIST xs:maxExclusive id ID #IMPLIED>
-        <!ATTLIST xs:minExclusive id ID #IMPLIED>
-        <!ATTLIST xs:maxInclusive id ID #IMPLIED>
-        <!ATTLIST xs:minInclusive id ID #IMPLIED>
-        <!ATTLIST xs:totalDigits id ID #IMPLIED>
-        <!ATTLIST xs:fractionDigits id ID #IMPLIED>
-        <!ATTLIST xs:length id ID #IMPLIED>
-        <!ATTLIST xs:minLength id ID #IMPLIED>
-        <!ATTLIST xs:maxLength id ID #IMPLIED>
-        <!ATTLIST xs:enumeration id ID #IMPLIED>
-        <!ATTLIST xs:pattern id ID #IMPLIED>
-        <!ATTLIST xs:appinfo id ID #IMPLIED>
-        <!ATTLIST xs:documentation id ID #IMPLIED>
-        <!ATTLIST xs:list id ID #IMPLIED>
-        <!ATTLIST xs:union id ID #IMPLIED>
-        ]>
-<xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema" blockDefault="#all" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="EN" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty">
- <xs:annotation>
-  <xs:documentation>
-    Part 1 version: Id: XMLSchema.xsd,v 1.53 2003/02/24 17:40:07 ht Exp 
-    Part 2 version: Id: datatypes.xsd,v 1.60 2003/04/05 11:02:30 ht Exp 
-  </xs:documentation>
- </xs:annotation>
-
-
- <xs:annotation>
-   <xs:documentation source="http://www.w3.org/XML/Group/2002/09/xmlschema-1/structures-with-errata.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</xs:documentation>
- </xs:annotation>
-
- <xs:annotation>
-   <xs:documentation>
-   The simpleType element and all of its members are defined
-      towards the end of this schema document</xs:documentation>
- </xs:annotation>
-
- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
-   <xs:annotation>
-     <xs:documentation>
-       Get access to the xml: attribute groups for xml:lang
-       as declared on 'schema' and 'documentation' below
-     </xs:documentation>
-   </xs:annotation>
- </xs:import>
-
- <xs:complexType name="openAttrs">
-   <xs:annotation>
-     <xs:documentation>
-       This type is extended by almost all schema types
-       to allow attributes from other namespaces to be
-       added to user schemas.
-     </xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-     <xs:restriction base="xs:anyType">
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-     </xs:restriction>
-   </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="annotated">
-   <xs:annotation>
-     <xs:documentation>
-       This type is extended by all types which allow annotation
-       other than &lt;schema&gt; itself
-     </xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-     <xs:extension base="xs:openAttrs">
-       <xs:sequence>
-         <xs:element ref="xs:annotation" minOccurs="0"/>
-       </xs:sequence>
-       <xs:attribute name="id" type="xs:ID"/>
-     </xs:extension>
-   </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="schemaTop">
-  <xs:annotation>
-   <xs: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.</xs:documentation>
-  </xs:annotation>
-  <xs:choice>
-   <xs:group ref="xs:redefinable"/>
-   <xs:element ref="xs:element"/>
-   <xs:element ref="xs:attribute"/>
-   <xs:element ref="xs:notation"/>
-  </xs:choice>
- </xs:group>
- 
- <xs:group name="redefinable">
-  <xs:annotation>
-   <xs:documentation>
-   This group is for the
-   elements which can self-redefine (see &lt;redefine> below).</xs:documentation>
-  </xs:annotation>
-  <xs:choice>
-   <xs:element ref="xs:simpleType"/>
-   <xs:element ref="xs:complexType"/>
-   <xs:element ref="xs:group"/>
-   <xs:element ref="xs:attributeGroup"/>
-  </xs:choice>
- </xs:group>
-
- <xs:simpleType name="formChoice">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:NMTOKEN">
-   <xs:enumeration value="qualified"/>
-   <xs:enumeration value="unqualified"/>
-  </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="defaultDerivationControl">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:derivationControl">
-   <xs:enumeration value="extension"/>
-   <xs:enumeration value="restriction"/>
-   <xs:enumeration value="list"/>
-   <xs:enumeration value="union"/>
-  </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="defaultDerivationSet">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-   <xs:documentation>
-   #all or (possibly empty) subset of {extension, restriction, list, union}</xs:documentation>
-  </xs:annotation>
-  <xs:union>
-   <xs:simpleType>    
-    <xs:restriction base="xs:token">
-     <xs:enumeration value="#all"/>
-    </xs:restriction>
-   </xs:simpleType>
-   <xs:simpleType>
-    <xs:list itemType="xs:defaultDerivationControl"/>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
- <xs:simpleType name="reducedDerivationControl">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:derivationControl">
-   <xs:enumeration value="extension"/>
-   <xs:enumeration value="restriction"/>
-  </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="derivationSet">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-   <xs:documentation>
-   #all or (possibly empty) subset of {extension, restriction}</xs:documentation>
-  </xs:annotation>
-  <xs:union>
-   <xs:simpleType>    
-    <xs:restriction base="xs:token">
-     <xs:enumeration value="#all"/>
-    </xs:restriction>
-   </xs:simpleType>
-   <xs:simpleType>
-    <xs:list itemType="xs:reducedDerivationControl"/>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
- <xs:element name="schema" id="schema">
-  <xs:annotation>
-    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:openAttrs">
-     <xs:sequence>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-       <xs:element ref="xs:include"/>
-       <xs:element ref="xs:import"/>
-       <xs:element ref="xs:redefine"/>
-       <xs:element ref="xs:annotation"/>
-      </xs:choice>
-      <xs:sequence minOccurs="0" maxOccurs="unbounded">
-       <xs:group ref="xs:schemaTop"/>
-       <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-     </xs:sequence>
-     <xs:attribute name="targetNamespace" type="xs:anyURI"/>
-     <xs:attribute name="version" type="xs:normalizedString"/>
-     <xs:attribute name="finalDefault" type="xs:defaultDerivationSet" use="optional" default=""/>
-     <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/>
-     <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
-     <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
-     <xs:attribute name="id" type="xs:ID"/>
-     <xs:attribute ref="xml:lang"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
-
-  <xs:key name="element">
-   <xs:selector xpath="xs:element"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
-  <xs:key name="attribute">
-   <xs:selector xpath="xs:attribute"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
-  <xs:key name="type">
-   <xs:selector xpath="xs:complexType|xs:simpleType"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
- 
-  <xs:key name="group">
-   <xs:selector xpath="xs:group"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
- 
-  <xs:key name="attributeGroup">
-   <xs:selector xpath="xs:attributeGroup"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
- 
-  <xs:key name="notation">
-   <xs:selector xpath="xs:notation"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
-  <xs:key name="identityConstraint">
-   <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
- </xs:element>
-
- <xs:simpleType name="allNNI">
-  <xs:annotation><xs:documentation>
-   for maxOccurs</xs:documentation></xs:annotation>
-  <xs:union memberTypes="xs:nonNegativeInteger">
-   <xs:simpleType>
-    <xs:restriction base="xs:NMTOKEN">
-     <xs:enumeration value="unbounded"/>
-    </xs:restriction>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
- <xs:attributeGroup name="occurs">
-  <xs:annotation><xs:documentation>
-   for all particles</xs:documentation></xs:annotation>
-  <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
-  <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="defRef">
-  <xs:annotation><xs:documentation>
-   for element, group and attributeGroup,
-   which both define and reference</xs:documentation></xs:annotation>
-  <xs:attribute name="name" type="xs:NCName"/>
-  <xs:attribute name="ref" type="xs:QName"/>
- </xs:attributeGroup>
-
- <xs:group name="typeDefParticle">
-  <xs:annotation>
-    <xs:documentation>
-   'complexType' uses this</xs:documentation></xs:annotation>
-  <xs:choice>
-   <xs:element name="group" type="xs:groupRef"/>
-   <xs:element ref="xs:all"/>
-   <xs:element ref="xs:choice"/>
-   <xs:element ref="xs:sequence"/>
-  </xs:choice>
- </xs:group>
- 
- 
-
- <xs:group name="nestedParticle">
-  <xs:choice>
-   <xs:element name="element" type="xs:localElement"/>
-   <xs:element name="group" type="xs:groupRef"/>
-   <xs:element ref="xs:choice"/>
-   <xs:element ref="xs:sequence"/>
-   <xs:element ref="xs:any"/>
-  </xs:choice>
- </xs:group>
- 
- <xs:group name="particle">
-  <xs:choice>
-   <xs:element name="element" type="xs:localElement"/>
-   <xs:element name="group" type="xs:groupRef"/>
-   <xs:element ref="xs:all"/>
-   <xs:element ref="xs:choice"/>
-   <xs:element ref="xs:sequence"/>
-   <xs:element ref="xs:any"/>
-  </xs:choice>
- </xs:group>
- 
- <xs:complexType name="attribute">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
-    </xs:sequence>
-    <xs:attributeGroup ref="xs:defRef"/>
-    <xs:attribute name="type" type="xs:QName"/>
-    <xs:attribute name="use" use="optional" default="optional">
-     <xs:simpleType>
-      <xs:restriction base="xs:NMTOKEN">
-       <xs:enumeration value="prohibited"/>
-       <xs:enumeration value="optional"/>
-       <xs:enumeration value="required"/>
-      </xs:restriction>
-     </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="default" type="xs:string"/>
-    <xs:attribute name="fixed" type="xs:string"/>
-    <xs:attribute name="form" type="xs:formChoice"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="topLevelAttribute">
-  <xs:complexContent>
-   <xs:restriction base="xs:attribute">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:attribute name="form" use="prohibited"/>
-    <xs:attribute name="use" use="prohibited"/>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="attrDecls">
-  <xs:sequence>
-   <xs:choice minOccurs="0" maxOccurs="unbounded">
-    <xs:element name="attribute" type="xs:attribute"/>
-    <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
-   </xs:choice>
-   <xs:element ref="xs:anyAttribute" minOccurs="0"/>
-  </xs:sequence>
- </xs:group>
-
- <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:group name="complexTypeModel">
-  <xs:choice>
-      <xs:element ref="xs:simpleContent"/>
-      <xs:element ref="xs:complexContent"/>
-      <xs:sequence>
-       <xs:annotation>
-        <xs:documentation>
-   This branch is short for
-   &lt;complexContent>
-   &lt;restriction base="xs:anyType">
-   ...
-   &lt;/restriction>
-   &lt;/complexContent></xs:documentation>
-       </xs:annotation>
-       <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
-       <xs:group ref="xs:attrDecls"/>
-      </xs:sequence>
-  </xs:choice>
- </xs:group>
-
- <xs:complexType name="complexType" abstract="true">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:group ref="xs:complexTypeModel"/>
-    <xs:attribute name="name" type="xs:NCName">
-     <xs:annotation>
-      <xs:documentation>
-      Will be restricted to required or forbidden</xs:documentation>
-     </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
-     <xs:annotation>
-      <xs:documentation>
-      Not allowed if simpleContent child is chosen.
-      May be overriden by setting on complexContent child.</xs:documentation>
-    </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
-    <xs:attribute name="final" type="xs:derivationSet"/>
-    <xs:attribute name="block" type="xs:derivationSet"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="topLevelComplexType">
-  <xs:complexContent>
-   <xs:restriction base="xs:complexType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:complexTypeModel"/>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:NCName" use="required"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="localComplexType">
-  <xs:complexContent>
-   <xs:restriction base="xs:complexType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:complexTypeModel"/>
-    </xs:sequence>
-    <xs:attribute name="name" use="prohibited"/>
-    <xs:attribute name="abstract" use="prohibited"/>
-    <xs:attribute name="final" use="prohibited"/>
-    <xs:attribute name="block" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="restrictionType">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:choice minOccurs="0">
-      <xs:group ref="xs:typeDefParticle"/>
-      <xs:group ref="xs:simpleRestrictionModel"/>
-     </xs:choice>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:attribute name="base" type="xs:QName" use="required"/>
-   </xs:extension>
-  </xs:complexContent>       
- </xs:complexType>
-
- <xs:complexType name="complexRestrictionType">
-  <xs:complexContent>
-   <xs:restriction base="xs:restrictionType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:annotation>
-       <xs:documentation>This choice is added simply to
-                   make this a valid restriction per the REC</xs:documentation>
-      </xs:annotation>
-      <xs:group ref="xs:typeDefParticle"/>
-     </xs:choice>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>       
- </xs:complexType>
-
- <xs:complexType name="extensionType">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:attribute name="base" type="xs:QName" use="required"/>
-   </xs:extension>
-  </xs:complexContent>       
- </xs:complexType>
-
- <xs:element name="complexContent" id="complexContent">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:choice>
-      <xs:element name="restriction" type="xs:complexRestrictionType"/>
-      <xs:element name="extension" type="xs:extensionType"/>
-     </xs:choice>     
-     <xs:attribute name="mixed" type="xs:boolean">
-      <xs:annotation>
-       <xs:documentation>
-       Overrides any setting on complexType parent.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:complexType name="simpleRestrictionType">
-  <xs:complexContent>
-   <xs:restriction base="xs:restrictionType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:annotation>
-       <xs:documentation>This choice is added simply to
-                   make this a valid restriction per the REC</xs:documentation>
-      </xs:annotation>
-      <xs:group ref="xs:simpleRestrictionModel"/>
-     </xs:choice>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="simpleExtensionType">
-  <xs:complexContent>
-   <xs:restriction base="xs:extensionType">
-    <xs:sequence>
-     <xs:annotation>
-      <xs:documentation>
-      No typeDefParticle group reference</xs:documentation>
-     </xs:annotation>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="simpleContent" id="simpleContent">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:choice>
-      <xs:element name="restriction" type="xs:simpleRestrictionType"/>
-      <xs:element name="extension" type="xs:simpleExtensionType"/>
-     </xs:choice>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
- 
- <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
-  </xs:annotation>
- </xs:element>
-
-
-  <xs:simpleType name="blockSet">
-   <xs:annotation>
-    <xs:documentation>
-    A utility type, not for public use</xs:documentation>
-    <xs:documentation>
-    #all or (possibly empty) subset of {substitution, extension,
-    restriction}</xs:documentation>
-   </xs:annotation>
-   <xs:union>
-    <xs:simpleType>    
-     <xs:restriction base="xs:token">
-      <xs:enumeration value="#all"/>
-     </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType>
-     <xs:list>
-      <xs:simpleType>
-       <xs:restriction base="xs:derivationControl">
-        <xs:enumeration value="extension"/>
-        <xs:enumeration value="restriction"/>
-        <xs:enumeration value="substitution"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:list>
-    </xs:simpleType>
-   </xs:union>  
-  </xs:simpleType>
-
- <xs:complexType name="element" abstract="true">
-  <xs:annotation>
-   <xs: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.</xs:documentation>
-  </xs:annotation>
-
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:choice minOccurs="0">
-      <xs:element name="simpleType" type="xs:localSimpleType"/>
-      <xs:element name="complexType" type="xs:localComplexType"/>
-     </xs:choice>
-     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attributeGroup ref="xs:defRef"/>
-    <xs:attribute name="type" type="xs:QName"/>
-    <xs:attribute name="substitutionGroup" type="xs:QName"/>
-    <xs:attributeGroup ref="xs:occurs"/>
-    <xs:attribute name="default" type="xs:string"/>
-    <xs:attribute name="fixed" type="xs:string"/>
-    <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>
-    <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
-    <xs:attribute name="final" type="xs:derivationSet"/>
-    <xs:attribute name="block" type="xs:blockSet"/>
-    <xs:attribute name="form" type="xs:formChoice"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="topLevelElement">
-  <xs:complexContent>
-   <xs:restriction base="xs:element">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:element name="simpleType" type="xs:localSimpleType"/>
-      <xs:element name="complexType" type="xs:localComplexType"/>
-     </xs:choice>
-     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:attribute name="form" use="prohibited"/>
-    <xs:attribute name="minOccurs" use="prohibited"/>
-    <xs:attribute name="maxOccurs" use="prohibited"/>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="localElement">
-  <xs:complexContent>
-   <xs:restriction base="xs:element">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:element name="simpleType" type="xs:localSimpleType"/>
-      <xs:element name="complexType" type="xs:localComplexType"/>
-     </xs:choice>
-     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="substitutionGroup" use="prohibited"/>
-    <xs:attribute name="final" use="prohibited"/>
-    <xs:attribute name="abstract" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="element" type="xs:topLevelElement" id="element">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:complexType name="group" abstract="true">
-  <xs:annotation>
-   <xs:documentation>
-   group type for explicit groups, named top-level groups and
-   group references</xs:documentation>
-  </xs:annotation>
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
-    <xs:attributeGroup ref="xs:defRef"/>
-    <xs:attributeGroup ref="xs:occurs"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="realGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:group">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0" maxOccurs="1">
-      <xs:element ref="xs:all"/>
-      <xs:element ref="xs:choice"/>
-      <xs:element ref="xs:sequence"/>
-     </xs:choice>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="namedGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:realGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="1" maxOccurs="1">
-      <xs:element name="all">
-       <xs:complexType>
-        <xs:complexContent>
-         <xs:restriction base="xs:all">
-          <xs:group ref="xs:allModel"/>
-          <xs:attribute name="minOccurs" use="prohibited"/>
-          <xs:attribute name="maxOccurs" use="prohibited"/>
-          <xs:anyAttribute namespace="##other" processContents="lax"/>
-         </xs:restriction>
-        </xs:complexContent>
-       </xs:complexType>
-      </xs:element>
-      <xs:element name="choice" type="xs:simpleExplicitGroup"/>
-      <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
-     </xs:choice>
-    </xs:sequence>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:attribute name="minOccurs" use="prohibited"/>
-    <xs:attribute name="maxOccurs" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="groupRef">
-  <xs:complexContent>
-   <xs:restriction base="xs:realGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="required" type="xs:QName"/>
-    <xs:attribute name="name" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="explicitGroup">
-  <xs:annotation>
-   <xs:documentation>
-   group type for the three kinds of group</xs:documentation>
-  </xs:annotation>
-  <xs:complexContent>
-   <xs:restriction base="xs:group">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
-    <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="simpleExplicitGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:explicitGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="minOccurs" use="prohibited"/>
-    <xs:attribute name="maxOccurs" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:group name="allModel">
-  <xs:sequence>
-      <xs:element ref="xs:annotation" minOccurs="0"/>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-       <xs:annotation>
-        <xs:documentation>This choice with min/max is here to
-                          avoid a pblm with the Elt:All/Choice/Seq
-                          Particle derivation constraint</xs:documentation>
-       </xs:annotation>
-       <xs:element name="element" type="xs:elementInAll"/>
-      </xs:choice>
-     </xs:sequence>
- </xs:group>
-
-  <xs:complexType name="elementInAll">
-   <xs:annotation>
-    <xs:documentation>restricted max/min</xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-    <xs:restriction base="xs:localElement">
-     <xs:sequence>
-      <xs:element ref="xs:annotation" minOccurs="0"/>
-      <xs:choice minOccurs="0">
-       <xs:element name="simpleType" type="xs:localSimpleType"/>
-       <xs:element name="complexType" type="xs:localComplexType"/>
-      </xs:choice>
-      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-     </xs:sequence>
-     <xs:attribute name="minOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:nonNegativeInteger">
-        <xs:enumeration value="0"/>
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:attribute name="maxOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:allNNI">
-        <xs:enumeration value="0"/>
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-   </xs:complexContent>
-  </xs:complexType>    
-
-  <xs:complexType name="all">
-   <xs:annotation>
-    <xs:documentation>
-   Only elements allowed inside</xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-    <xs:restriction base="xs:explicitGroup">
-     <xs:group ref="xs:allModel"/>
-     <xs:attribute name="minOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:nonNegativeInteger">
-        <xs:enumeration value="0"/>
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:attribute name="maxOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:allNNI">
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-   </xs:complexContent>
-  </xs:complexType>
-
- <xs:element name="all" id="all" type="xs:all">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="choice" type="xs:explicitGroup" id="choice">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="group" type="xs:namedGroup" id="group">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:complexType name="wildcard">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>
-    <xs:attribute name="processContents" use="optional" default="strict">
-     <xs:simpleType>
-      <xs:restriction base="xs:NMTOKEN">
-       <xs:enumeration value="skip"/>
-       <xs:enumeration value="lax"/>
-       <xs:enumeration value="strict"/>
-      </xs:restriction>
-     </xs:simpleType>
-    </xs:attribute>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="any" id="any">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:wildcard">
-     <xs:attributeGroup ref="xs:occurs"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
-  <xs:annotation>
-   <xs:documentation>
-   simple type for the value of the 'namespace' attr of
-   'any' and 'anyAttribute'</xs:documentation>
-  </xs:annotation>
-  <xs:annotation>
-   <xs: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</xs:documentation>
-  </xs:annotation>
-
- <xs:simpleType name="namespaceList">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:union>
-   <xs:simpleType>
-    <xs:restriction base="xs:token">
-     <xs:enumeration value="##any"/>
-     <xs:enumeration value="##other"/>
-    </xs:restriction>
-   </xs:simpleType>
-   <xs:simpleType>
-    <xs:list>
-     <xs:simpleType>
-      <xs:union memberTypes="xs:anyURI">
-       <xs:simpleType>
-        <xs:restriction base="xs:token">
-         <xs:enumeration value="##targetNamespace"/>
-         <xs:enumeration value="##local"/>
-        </xs:restriction>
-       </xs:simpleType>
-      </xs:union>
-     </xs:simpleType>
-    </xs:list>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
- <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:complexType name="attributeGroup" abstract="true">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:group ref="xs:attrDecls"/>
-    <xs:attributeGroup ref="xs:defRef"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="namedAttributeGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:attributeGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="attributeGroupRef">
-  <xs:complexContent>
-   <xs:restriction base="xs:attributeGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="required" type="xs:QName"/>
-    <xs:attribute name="name" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="include" id="include">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="redefine" id="redefine">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:openAttrs">
-     <xs:choice minOccurs="0" maxOccurs="unbounded">
-      <xs:element ref="xs:annotation"/>
-      <xs:group ref="xs:redefinable"/>
-     </xs:choice>
-     <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
-     <xs:attribute name="id" type="xs:ID"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="import" id="import">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:attribute name="namespace" type="xs:anyURI"/>
-     <xs:attribute name="schemaLocation" type="xs:anyURI"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="selector" id="selector">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
-  </xs:annotation>
-  <xs:complexType>
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-     <xs:attribute name="xpath" use="required">
-      <xs:simpleType>
-       <xs:annotation>
-        <xs:documentation>A subset of XPath expressions for use
-in selectors</xs:documentation>
-        <xs:documentation>A utility type, not for public
-use</xs:documentation>
-       </xs:annotation>
-       <xs:restriction base="xs:token">
-        <xs:annotation>
-         <xs: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
-         </xs:documentation>
-        </xs:annotation>
-        <!-- TSH modified to allow white space -->
-        <xs:pattern
-            value="(\.\s*//\s*)?(((child\s*::\s*)?((\i\c*:)?(\i\c*|\*)))|\.)(\s*/\s*(((child\s*::\s*)?((\i\c*:)?(\i\c*|\*)))|\.))*(\s*\|\s*(\.\s*//\s*)?(((child\s*::\s*)?((\i\c*:)?(\i\c*|\*)))|\.)(\s*/\s*(((child\s*::\s*)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
-        </xs:pattern>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="field" id="field">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
-  </xs:annotation>
-  <xs:complexType>
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-     <xs:attribute name="xpath" use="required">
-      <xs:simpleType>
-       <xs:annotation>
-        <xs:documentation>A subset of XPath expressions for use
-in fields</xs:documentation>
-        <xs:documentation>A utility type, not for public
-use</xs:documentation>
-       </xs:annotation>
-       <xs:restriction base="xs:token">
-        <xs:annotation>
-         <xs: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 ) 
-         </xs:documentation>
-        </xs:annotation>
-        <!-- TSH modified to allow white space -->
-        <xs:pattern value="(\.\s*//\s*)?((((child\s*::\s*)?((\i\c*:)?(\i\c*|\*)))|\.)\s*/\s*)*((((child\s*::\s*)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute\s*::\s*|@\s*)((\i\c*:)?(\i\c*|\*))))(\s*\|\s*(\s*\.//\s*)?((((child\s*::\s*)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child\s*::\s*)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute\s*::\s*|@\s*)((\i\c*:)?(\i\c*|\*)))))*">
-        </xs:pattern>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:complexType name="keybase">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:element ref="xs:selector"/>
-     <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:NCName" use="required"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="identityConstraint">
-  <xs:annotation>
-   <xs:documentation>The three kinds of identity constraints, all with
-                     type of or derived from 'keybase'.
-   </xs:documentation>
-  </xs:annotation>
-  <xs:choice>
-   <xs:element ref="xs:unique"/>
-   <xs:element ref="xs:key"/>
-   <xs:element ref="xs:keyref"/>
-  </xs:choice>
- </xs:group>
-
- <xs:element name="unique" type="xs:keybase" id="unique">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
-  </xs:annotation>
- </xs:element>
- <xs:element name="key" type="xs:keybase" id="key">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
-  </xs:annotation>
- </xs:element>
- <xs:element name="keyref" id="keyref">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:keybase">
-     <xs:attribute name="refer" type="xs:QName" use="required"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="notation" id="notation">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:attribute name="name" type="xs:NCName" use="required"/>
-     <xs:attribute name="public" type="xs:public"/>
-     <xs:attribute name="system" type="xs:anyURI"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:simpleType name="public">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-   <xs:documentation>
-   A public identifier, per ISO 8879</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token"/>
- </xs:simpleType>
-
- <xs:element name="appinfo" id="appinfo">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
-   </xs:annotation>
-   <xs:complexType mixed="true">
-    <xs:sequence minOccurs="0" maxOccurs="unbounded">
-     <xs:any processContents="lax"/>
-    </xs:sequence>
-    <xs:attribute name="source" type="xs:anyURI"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:complexType>
- </xs:element>
-
- <xs:element name="documentation" id="documentation">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
-   </xs:annotation>
-   <xs:complexType mixed="true">
-    <xs:sequence minOccurs="0" maxOccurs="unbounded">
-     <xs:any processContents="lax"/>
-    </xs:sequence>
-    <xs:attribute name="source" type="xs:anyURI"/>
-    <xs:attribute ref="xml:lang"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:complexType>
- </xs:element>
-
- <xs:element name="annotation" id="annotation">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
-   </xs:annotation>
-   <xs:complexType>
-    <xs:complexContent>
-     <xs:extension base="xs:openAttrs">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-       <xs:element ref="xs:appinfo"/>
-       <xs:element ref="xs:documentation"/>
-      </xs:choice>
-      <xs:attribute name="id" type="xs:ID"/>
-     </xs:extension>
-    </xs:complexContent>
-   </xs:complexType>
- </xs:element>
-
- <xs:annotation>
-  <xs:documentation>
-   notations for use within XML Schema schemas</xs:documentation>
- </xs:annotation>
-
- <xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
- <xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
-  
- <xs:complexType name="anyType" mixed="true">
-  <xs:annotation>
-   <xs:documentation>
-   Not the real urType, but as close an approximation as we can
-   get in the XML representation</xs:documentation>
-  </xs:annotation>
-  <xs:sequence>
-   <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
-  </xs:sequence>
-  <xs:anyAttribute processContents="lax"/>
- </xs:complexType>
-
-  <xs:annotation>
-    <xs:documentation>
-      First the built-in primitive datatypes.  These definitions are for
-      information only, the real built-in definitions are magic.
-    </xs:documentation>
-
-    <xs:documentation>
-      For each built-in datatype in this schema (both primitive and
-      derived) can be uniquely addressed via a URI constructed
-      as follows:
-        1) the base URI is the URI of the XML Schema namespace
-        2) the fragment identifier is the name of the datatype
-
-      For example, to address the int datatype, the URI is:
-
-        http://www.w3.org/2001/XMLSchema#int
-
-      Additionally, each facet definition element can be uniquely
-      addressed via a URI constructed as follows:
-        1) the base URI is the URI of the XML Schema namespace
-        2) the fragment identifier is the name of the facet
-
-      For example, to address the maxInclusive facet, the URI is:
-
-        http://www.w3.org/2001/XMLSchema#maxInclusive
-
-      Additionally, each facet usage in a built-in datatype definition
-      can be uniquely addressed via a URI constructed as follows:
-        1) the base URI is the URI of the XML Schema namespace
-        2) the fragment identifier is the name of the datatype, followed
-           by a period (".") followed by the name of the facet
-
-      For example, to address the usage of the maxInclusive facet in
-      the definition of int, the URI is:
-
-        http://www.w3.org/2001/XMLSchema#int.maxInclusive
-
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:simpleType name="string" id="string">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality" value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-                source="http://www.w3.org/TR/xmlschema-2/#string"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="preserve" id="string.preserve"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="boolean" id="boolean">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="boolean.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="float" id="float">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="total"/>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-        <hfp:hasProperty name="numeric" value="true"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#float"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="float.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="double" id="double">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="total"/>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-        <hfp:hasProperty name="numeric" value="true"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#double"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="double.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="decimal" id="decimal">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="totalDigits"/>
-        <hfp:hasFacet name="fractionDigits"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="total"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="true"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="decimal.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
-   <xs:simpleType name="duration" id="duration">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#duration"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="duration.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
- <xs:simpleType name="dateTime" id="dateTime">
-    <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="dateTime.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="time" id="time">
-    <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#time"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="time.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="date" id="date">
-   <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#date"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="date.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="gYearMonth" id="gYearMonth">
-   <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="gYearMonth.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="gYear" id="gYear">
-    <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="gYear.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
- <xs:simpleType name="gMonthDay" id="gMonthDay">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-       <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-         <xs:whiteSpace value="collapse" fixed="true"
-                id="gMonthDay.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="gDay" id="gDay">
-    <xs:annotation>
-  <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-         <xs:whiteSpace value="collapse"  fixed="true"
-                id="gDay.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
- <xs:simpleType name="gMonth" id="gMonth">
-    <xs:annotation>
-  <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-         <xs:whiteSpace value="collapse"  fixed="true"
-                id="gMonth.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-   <xs:simpleType name="hexBinary" id="hexBinary">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#binary"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="hexBinary.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
- <xs:simpleType name="base64Binary" id="base64Binary">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-                source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="base64Binary.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
-   <xs:simpleType name="anyURI" id="anyURI">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="anyURI.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
-  <xs:simpleType name="QName" id="QName">
-    <xs:annotation>
-        <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#QName"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="QName.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-   <xs:simpleType name="NOTATION" id="NOTATION">
-    <xs:annotation>
-        <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
-      <xs:documentation>
-        NOTATION cannot be used directly in a schema; rather a type
-        must be derived from it by specifying at least one enumeration
-        facet whose value is the name of a NOTATION declared in the
-        schema.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="NOTATION.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:annotation>
-    <xs:documentation>
-      Now the derived primitive types
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:simpleType name="normalizedString" id="normalizedString">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:whiteSpace value="replace"
-        id="normalizedString.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="token" id="token">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#token"/>
-    </xs:annotation>
-    <xs:restriction base="xs:normalizedString">
-      <xs:whiteSpace value="collapse" id="token.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="language" id="language">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#language"/>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:pattern
-        value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"
-                id="language.pattern">
-        <xs:annotation>
-          <xs:documentation
-                source="http://www.w3.org/TR/REC-xml#NT-LanguageID">
-            pattern specifies the content of section 2.12 of XML 1.0e2
-            and RFC 3066 (Revised version of RFC 1766).
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="IDREFS" id="IDREFS">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
-    </xs:annotation>
-    <xs:restriction>
-      <xs:simpleType>
-        <xs:list itemType="xs:IDREF"/>
-      </xs:simpleType>
-        <xs:minLength value="1" id="IDREFS.minLength"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="ENTITIES" id="ENTITIES">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
-    </xs:annotation>
-    <xs:restriction>
-      <xs:simpleType>
-        <xs:list itemType="xs:ENTITY"/>
-      </xs:simpleType>
-        <xs:minLength value="1" id="ENTITIES.minLength"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="NMTOKEN" id="NMTOKEN">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:pattern value="\c+" id="NMTOKEN.pattern">
-        <xs:annotation>
-          <xs:documentation
-                source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
-            pattern matches production 7 from the XML spec
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="NMTOKENS" id="NMTOKENS">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
-    </xs:annotation>
-    <xs:restriction>
-      <xs:simpleType>
-        <xs:list itemType="xs:NMTOKEN"/>
-      </xs:simpleType>
-        <xs:minLength value="1" id="NMTOKENS.minLength"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="Name" id="Name">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#Name"/>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:pattern value="\i\c*" id="Name.pattern">
-        <xs:annotation>
-          <xs:documentation
-                        source="http://www.w3.org/TR/REC-xml#NT-Name">
-            pattern matches production 5 from the XML spec
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="NCName" id="NCName">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
-    </xs:annotation>
-    <xs:restriction base="xs:Name">
-      <xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">
-        <xs:annotation>
-          <xs:documentation
-                source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
-            pattern matches production 4 from the Namespaces in XML spec
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-   <xs:simpleType name="ID" id="ID">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#ID"/>
-    </xs:annotation>
-    <xs:restriction base="xs:NCName"/>
-   </xs:simpleType>
-
-   <xs:simpleType name="IDREF" id="IDREF">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
-    </xs:annotation>
-    <xs:restriction base="xs:NCName"/>
-   </xs:simpleType>
-
-   <xs:simpleType name="ENTITY" id="ENTITY">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
-    </xs:annotation>
-    <xs:restriction base="xs:NCName"/>
-   </xs:simpleType>
-
-  <xs:simpleType name="integer" id="integer">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#integer"/>
-    </xs:annotation>
-    <xs:restriction base="xs:decimal">
-      <xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/>
-      <xs:pattern value="[\-+]?[0-9]+"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:integer">
-      <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="negativeInteger" id="negativeInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:nonPositiveInteger">
-      <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="long" id="long">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#long"/>
-    </xs:annotation>
-    <xs:restriction base="xs:integer">
-      <xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>
-      <xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="int" id="int">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#int"/>
-    </xs:annotation>
-    <xs:restriction base="xs:long">
-      <xs:minInclusive value="-2147483648" id="int.minInclusive"/>
-      <xs:maxInclusive value="2147483647" id="int.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="short" id="short">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#short"/>
-    </xs:annotation>
-    <xs:restriction base="xs:int">
-      <xs:minInclusive value="-32768" id="short.minInclusive"/>
-      <xs:maxInclusive value="32767" id="short.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="byte" id="byte">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#byte"/>
-    </xs:annotation>
-    <xs:restriction base="xs:short">
-      <xs:minInclusive value="-128" id="byte.minInclusive"/>
-      <xs:maxInclusive value="127" id="byte.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:integer">
-      <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedLong" id="unsignedLong">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
-    </xs:annotation>
-    <xs:restriction base="xs:nonNegativeInteger">
-      <xs:maxInclusive value="18446744073709551615"
-        id="unsignedLong.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedInt" id="unsignedInt">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
-    </xs:annotation>
-    <xs:restriction base="xs:unsignedLong">
-      <xs:maxInclusive value="4294967295"
-        id="unsignedInt.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedShort" id="unsignedShort">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
-    </xs:annotation>
-    <xs:restriction base="xs:unsignedInt">
-      <xs:maxInclusive value="65535"
-        id="unsignedShort.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedByte" id="unsignedByte">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
-    </xs:annotation>
-    <xs:restriction base="xs:unsignedShort">
-      <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="positiveInteger" id="positiveInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:nonNegativeInteger">
-      <xs:minInclusive value="1" id="positiveInteger.minInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
- <xs:simpleType name="derivationControl">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:NMTOKEN">
-   <xs:enumeration value="substitution"/>
-   <xs:enumeration value="extension"/>
-   <xs:enumeration value="restriction"/>
-   <xs:enumeration value="list"/>
-   <xs:enumeration value="union"/>
-  </xs:restriction>
- </xs:simpleType>
-
- <xs:group name="simpleDerivation">
-  <xs:choice>
-    <xs:element ref="xs:restriction"/>
-    <xs:element ref="xs:list"/>
-    <xs:element ref="xs:union"/>
-  </xs:choice>
- </xs:group>
-
- <xs:simpleType name="simpleDerivationSet">
-  <xs:annotation>
-   <xs:documentation>
-   #all or (possibly empty) subset of {restriction, union, list}
-   </xs:documentation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:union>
-   <xs:simpleType>
-    <xs:restriction base="xs:token">
-     <xs:enumeration value="#all"/>
-    </xs:restriction>
-   </xs:simpleType>
-   <xs:simpleType>
-    <xs:restriction base="xs:derivationControl">
-     <xs:enumeration value="list"/>
-     <xs:enumeration value="union"/>
-     <xs:enumeration value="restriction"/>
-    </xs:restriction>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
-  <xs:complexType name="simpleType" abstract="true">
-    <xs:complexContent>
-      <xs:extension base="xs:annotated">
-        <xs:group ref="xs:simpleDerivation"/>
-        <xs:attribute name="final" type="xs:simpleDerivationSet"/>
-        <xs:attribute name="name" type="xs:NCName">
-          <xs:annotation>
-            <xs:documentation>
-              Can be restricted to required or forbidden
-            </xs:documentation>
-          </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="topLevelSimpleType">
-    <xs:complexContent>
-      <xs:restriction base="xs:simpleType">
-        <xs:sequence>
-          <xs:element ref="xs:annotation" minOccurs="0"/>
-          <xs:group ref="xs:simpleDerivation"/>
-        </xs:sequence>
-        <xs:attribute name="name" use="required"
-             type="xs:NCName">
-          <xs:annotation>
-            <xs:documentation>
-              Required at the top level
-            </xs:documentation>
-          </xs:annotation>
-        </xs:attribute>
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="localSimpleType">
-    <xs:complexContent>
-      <xs:restriction base="xs:simpleType">
-        <xs:sequence>
-          <xs:element ref="xs:annotation" minOccurs="0"/>
-          <xs:group ref="xs:simpleDerivation"/>
-        </xs:sequence>
-        <xs:attribute name="name" use="prohibited">
-          <xs:annotation>
-            <xs:documentation>
-              Forbidden when nested
-            </xs:documentation>
-          </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="final" use="prohibited"/>
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:group name="facets">
-   <xs:annotation>
-    <xs: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.
-    </xs:documentation>
-   </xs:annotation>
-   <xs:choice>
-    <xs:element ref="xs:minExclusive"/>
-    <xs:element ref="xs:minInclusive"/>
-    <xs:element ref="xs:maxExclusive"/>
-    <xs:element ref="xs:maxInclusive"/>
-    <xs:element ref="xs:totalDigits"/>
-    <xs:element ref="xs:fractionDigits"/>
-    <xs:element ref="xs:length"/>
-    <xs:element ref="xs:minLength"/>
-    <xs:element ref="xs:maxLength"/>
-    <xs:element ref="xs:enumeration"/>
-    <xs:element ref="xs:whiteSpace"/>
-    <xs:element ref="xs:pattern"/>
-   </xs:choice>
-  </xs:group>
-
-  <xs:group name="simpleRestrictionModel">
-   <xs:sequence>
-    <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
-    <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
-   </xs:sequence>
-  </xs:group>
-
-  <xs:element name="restriction" id="restriction">
-   <xs:complexType>
-    <xs:annotation>
-      <xs: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
-        </xs:documentation>
-      </xs:annotation>
-      <xs:complexContent>
-        <xs:extension base="xs:annotated">
-         <xs:group ref="xs:simpleRestrictionModel"/>
-         <xs:attribute name="base" type="xs:QName" use="optional"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="list" id="list">
-   <xs:complexType>
-    <xs:annotation>
-      <xs: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
-        </xs:documentation>
-      </xs:annotation>
-      <xs:complexContent>
-        <xs:extension base="xs:annotated">
-          <xs:sequence>
-            <xs:element name="simpleType" type="xs:localSimpleType"
-                minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="itemType" type="xs:QName" use="optional"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="union" id="union">
-   <xs:complexType>
-    <xs:annotation>
-      <xs: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
-        </xs:documentation>
-      </xs:annotation>
-      <xs:complexContent>
-        <xs:extension base="xs:annotated">
-          <xs:sequence>
-            <xs:element name="simpleType" type="xs:localSimpleType"
-                minOccurs="0" maxOccurs="unbounded"/>
-          </xs:sequence>
-          <xs:attribute name="memberTypes" use="optional">
-            <xs:simpleType>
-              <xs:list itemType="xs:QName"/>
-            </xs:simpleType>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:complexType name="facet">
-    <xs:complexContent>
-      <xs:extension base="xs:annotated">
-        <xs:attribute name="value" use="required"/>
-        <xs:attribute name="fixed" type="xs:boolean" use="optional"
-                      default="false"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
- <xs:complexType name="noFixedFacet">
-  <xs:complexContent>
-   <xs:restriction base="xs:facet">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute name="fixed" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
-  <xs:element name="minExclusive" id="minExclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="minInclusive" id="minInclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="maxExclusive" id="maxExclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="maxInclusive" id="maxInclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:complexType name="numFacet">
-    <xs:complexContent>
-      <xs:restriction base="xs:facet">
-       <xs:sequence>
-         <xs:element ref="xs:annotation" minOccurs="0"/>
-       </xs:sequence>
-       <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:element name="totalDigits" id="totalDigits">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:restriction base="xs:numFacet">
-          <xs:sequence>
-            <xs:element ref="xs:annotation" minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="value" type="xs:positiveInteger" use="required"/>
-         <xs:anyAttribute namespace="##other" processContents="lax"/>
-        </xs:restriction>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="length" id="length" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="minLength" id="minLength" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="maxLength" id="maxLength" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="whiteSpace" id="whiteSpace">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:restriction base="xs:facet">
-          <xs:sequence>
-            <xs:element ref="xs:annotation" minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="value" use="required">
-            <xs:simpleType>
-              <xs:restriction base="xs:NMTOKEN">
-                <xs:enumeration value="preserve"/>
-                <xs:enumeration value="replace"/>
-                <xs:enumeration value="collapse"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-         <xs:anyAttribute namespace="##other" processContents="lax"/>
-        </xs:restriction>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="pattern" id="pattern">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:restriction base="xs:noFixedFacet">
-          <xs:sequence>
-            <xs:element ref="xs:annotation" minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="value" type="xs:string" use="required"/>
-         <xs:anyAttribute namespace="##other" processContents="lax"/>
-        </xs:restriction>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>
diff --git a/v1/src/zipcompare/zipcompare/ZipCompare.java b/v1/src/zipcompare/zipcompare/ZipCompare.java
deleted file mode 100644
index 1a6fa99..0000000
--- a/v1/src/zipcompare/zipcompare/ZipCompare.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package zipcompare;
-
-import java.util.zip.ZipFile;
-import java.util.zip.ZipEntry;
-import java.util.*;
-import java.io.IOException;
-import java.io.InputStream;
-
-public class ZipCompare
-{
-    public static void main(String[] args)
-    {
-        if (args.length != 2)
-        {
-            System.out.println("Usage: zipcompare [file1] [file2]");
-            System.exit(1);
-        }
-
-        ZipFile file1;
-        try { file1 = new ZipFile(args[0]); }
-        catch (IOException e) { System.out.println("Could not open zip file " + args[0] + ": " + e); System.exit(1); return; }
-
-        ZipFile file2;
-        try { file2 = new ZipFile(args[1]); }
-        catch (IOException e) { System.out.println("Could not open zip file " + args[0] + ": " + e); System.exit(1); return; }
-
-        System.out.println("Comparing " + args[0] + " with " + args[1] + ":");
-
-        Set set1 = new LinkedHashSet();
-        for (Enumeration e = file1.entries(); e.hasMoreElements(); )
-            set1.add(((ZipEntry)e.nextElement()).getName());
-
-        Set set2 = new LinkedHashSet();
-        for (Enumeration e = file2.entries(); e.hasMoreElements(); )
-            set2.add(((ZipEntry)e.nextElement()).getName());
-
-        int errcount = 0;
-        int filecount = 0;
-        for (Iterator i = set1.iterator(); i.hasNext(); )
-        {
-            String name = (String)i.next();
-            if (!set2.contains(name))
-            {
-                System.out.println(name + " not found in " + args[1]);
-                errcount += 1;
-                continue;
-            }
-            try
-            {
-                set2.remove(name);
-                if (!streamsEqual(file1.getInputStream(file1.getEntry(name)), file2.getInputStream(file2.getEntry(name))))
-                {
-                    System.out.println(name + " does not match");
-                    errcount += 1;
-                    continue;
-                }
-            }
-            catch (Exception e)
-            {
-                System.out.println(name + ": IO Error " + e);
-                e.printStackTrace();
-                errcount += 1;
-                continue;
-            }
-            filecount += 1;
-        }
-        for (Iterator i = set2.iterator(); i.hasNext(); )
-        {
-            String name = (String)i.next();
-            System.out.println(name + " not found in " + args[0]);
-            errcount += 1;
-        }
-        System.out.println(filecount + " entries matched");
-        if (errcount > 0)
-        {
-            System.out.println(errcount + " entries did not match");
-            System.exit(1);
-        }
-        System.exit(0);
-    }
-
-    static boolean streamsEqual(InputStream stream1, InputStream stream2) throws IOException
-    {
-        byte[] buf1 = new byte[4096];
-        byte[] buf2 = new byte[4096];
-        boolean done1 = false;
-        boolean done2 = false;
-
-        try
-        {
-        while (!done1)
-        {
-            int off1 = 0;
-            int off2 = 0;
-
-            while (off1 < buf1.length)
-            {
-                int count = stream1.read(buf1, off1, buf1.length - off1);
-                if (count < 0)
-                {
-                    done1 = true;
-                    break;
-                }
-                off1 += count;
-            }
-            while (off2 < buf2.length)
-            {
-                int count = stream2.read(buf2, off2, buf2.length - off2);
-                if (count < 0)
-                {
-                    done2 = true;
-                    break;
-                }
-                off2 += count;
-            }
-            if (off1 != off2 || done1 != done2)
-                return false;
-            for (int i = 0; i < off1; i++)
-            {
-                if (buf1[i] != buf2[i])
-                    return false;
-            }
-        }
-        return true;
-        }
-        finally { stream1.close(); stream2.close(); }
-    }
-}
diff --git a/v1/test/cases/enumtest/report1.xml b/v1/test/cases/enumtest/report1.xml
deleted file mode 100644
index b5268cb..0000000
--- a/v1/test/cases/enumtest/report1.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<statusreport xmlns="http://openuri.org/enumtest">
-  <status name="first" target="all">all</status>
-  <status name="second" target="all">few</status>
-  <status name="third" target="none">most</status>
-  <status name="first" target="none">none</status>
-</statusreport>
diff --git a/v1/test/cases/nameworld/world1.xml b/v1/test/cases/nameworld/world1.xml
deleted file mode 100644
index 652561f..0000000
--- a/v1/test/cases/nameworld/world1.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<nw:nameworld xmlns:nw="http://openuri.org/nameworld"
-              xmlns:foo="http://foo.com/"
-              xmlns:bar="http://bar.com/">
-
-  <nw:island targetNamespace="http://foo.com/">
-    <nw:location name="foocity">
-      <nw:reference to="bar:barcity"/>
-      <nw:reference to="foo:footown"/>
-      <nw:reference to="bar:barvillage"/>
-    </nw:location>
-    <nw:location name="footown">
-      <nw:reference to="bar:bartown"/>
-      <nw:reference to="foo:foovillage"/>
-    </nw:location>
-    <nw:location name="foovillage">
-      <nw:reference to="bar:barvillage"/>
-    </nw:location>
-  </nw:island>
-
-  <nw:island targetNamespace="http://bar.com/">
-    <nw:location name="barcity">
-      <nw:reference to="foo:foocity"/>
-      <nw:reference to="bar:bartown"/>
-      <nw:reference to="foo:foovillage"/>
-    </nw:location>
-    <nw:location name="bartown">
-      <nw:reference to="foo:footown"/>
-      <nw:reference to="bar:barvillage"/>
-    </nw:location>
-    <nw:location name="barvillage">
-      <nw:reference to="foo:foovillage"/>
-    </nw:location>
-  </nw:island>
-</nw:nameworld>
\ No newline at end of file
diff --git a/v1/test/cases/schema/XmlSignature/signature-example-dsa.xml b/v1/test/cases/schema/XmlSignature/signature-example-dsa.xml
deleted file mode 100644
index 6cec497..0000000
--- a/v1/test/cases/schema/XmlSignature/signature-example-dsa.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
-  <SignedInfo>
-    <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
-    <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1" />
-    <Reference URI="http://www.w3.org/TR/xml-stylesheet">
-      <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
-      <DigestValue>60NvZvtdTB+7UnlLp/H24p7h4bs=</DigestValue>
-    </Reference>
-  </SignedInfo>
-  <SignatureValue>
-    qUADDMHZkyebvRdLs+6Dv7RvgMLRlUaDB4Q9yn9XoJA79a2882ffTg==
-  </SignatureValue>
-  <KeyInfo>
-    <KeyValue>
-      <DSAKeyValue>
-        <P>
-          2iY3w062sDB3/DIlLWOeG9+4UpmDZ0dyqRk9dLlNQ6qaXI7tOrjdIhm6n/eOw45A
-          QtuYSp6spCt9cQcNBAj22KvygvfJIIXX9sSQrugfGqifeSvY3VX5Sd1j+z0MSZ/n
-          5jNt88uh2C11SAqX6nrXTY/1RwkoWRN23SYhOlaG0hU=
-        </P>
-        <Q>
-          9B5ypLY9pMOmtxCeTDHgwdNFeGs=
-        </Q>
-        <G>
-          MuGAlqeB1ax+vyO2+Osubjhl7pHxLu47RIH+/M52DjESA9KMSrwzsYx8yNR2WooB
-          yrE0t6fu0VncK7UK8olO4t7wpv2z4AFQPRVCKFwo0qgn5aKIkICGMlrRy81avb27
-          wGcWothx3iPPMtFXtoDqK0JItaI9R8zc1msFhM1GKMY=
-        </G>
-        <Y>
-          ctA8YGxrtngg/zKVvqEOefnwmViFztcnPBYPlJsvh6yKI4iDm68fnp4Mi3RrJ6bZ
-          AygFrUIQLxLjV+OJtgJAEto0xAs+Mehuq1DkSFEpP3oDzCTOsrOiS1DwQe4oIb7z
-          Vk/9l7aPtJMHW0LVlMdwZNFNNJoqMcT2ZfCPrfvYvQ0=
-        </Y>
-      </DSAKeyValue>
-    </KeyValue>
-    <X509Data>
-      <X509SubjectName>
-        CN=Merlin Hughes,O=Baltimore Technologies\, Ltd.,ST=Dublin,C=IE
-      </X509SubjectName>
-      <X509IssuerSerial>
-        <X509IssuerName>
-          CN=Test DSA CA,O=Baltimore Technologies\, Ltd.,ST=Dublin,C=IE
-        </X509IssuerName>
-        <X509SerialNumber>970849936</X509SerialNumber>
-      </X509IssuerSerial>
-      <X509Certificate>
-        MIIDNzCCAvWgAwIBAgIEOd3+kDAJBgcqhkjOOAQDMFsxCzAJBgNVBAYTAklFMQ8w
-        DQYDVQQIEwZEdWJsaW4xJTAjBgNVBAoTHEJhbHRpbW9yZSBUZWNobm9sb2dpZXMs
-        IEx0ZC4xFDASBgNVBAMTC1Rlc3QgRFNBIENBMB4XDTAwMTAwNjE2MzIxNVoXDTAx
-        MTAwNjE2MzIxNFowXTELMAkGA1UEBhMCSUUxDzANBgNVBAgTBkR1YmxpbjElMCMG
-        A1UEChMcQmFsdGltb3JlIFRlY2hub2xvZ2llcywgTHRkLjEWMBQGA1UEAxMNTWVy
-        bGluIEh1Z2hlczCCAbYwggErBgcqhkjOOAQBMIIBHgKBgQDaJjfDTrawMHf8MiUt
-        Y54b37hSmYNnR3KpGT10uU1Dqppcju06uN0iGbqf947DjkBC25hKnqykK31xBw0E
-        CPbYq/KC98kghdf2xJCu6B8aqJ95K9jdVflJ3WP7PQxJn+fmM23zy6HYLXVICpfq
-        etdNj/VHCShZE3bdJiE6VobSFQIVAPQecqS2PaTDprcQnkwx4MHTRXhrAoGAMuGA
-        lqeB1ax+vyO2+Osubjhl7pHxLu47RIH+/M52DjESA9KMSrwzsYx8yNR2WooByrE0
-        t6fu0VncK7UK8olO4t7wpv2z4AFQPRVCKFwo0qgn5aKIkICGMlrRy81avb27wGcW
-        othx3iPPMtFXtoDqK0JItaI9R8zc1msFhM1GKMYDgYQAAoGActA8YGxrtngg/zKV
-        vqEOefnwmViFztcnPBYPlJsvh6yKI4iDm68fnp4Mi3RrJ6bZAygFrUIQLxLjV+OJ
-        tgJAEto0xAs+Mehuq1DkSFEpP3oDzCTOsrOiS1DwQe4oIb7zVk/9l7aPtJMHW0LV
-        lMdwZNFNNJoqMcT2ZfCPrfvYvQ2jRzBFMB4GA1UdEQQXMBWBE21lcmxpbkBiYWx0
-        aW1vcmUuaWUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdIwQMMAqACEJZQG0KwRbPMAkG
-        ByqGSM44BAMDMQAwLgIVAK4skWEFYgrggaJA8vYAwSjg12+KAhUAwHTo7wd4tENw
-        9LAKPklQ/74fH18=
-      </X509Certificate>
-    </X509Data>
-  </KeyInfo>
-</Signature>
-
diff --git a/v1/test/cases/schema/XmlSignature/signature-example-rsa.xml b/v1/test/cases/schema/XmlSignature/signature-example-rsa.xml
deleted file mode 100644
index 7584459..0000000
--- a/v1/test/cases/schema/XmlSignature/signature-example-rsa.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
-  <SignedInfo>
-    <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
-    <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
-    <Reference URI="http://www.w3.org/TR/xml-stylesheet">
-      <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
-      <DigestValue>60NvZvtdTB+7UnlLp/H24p7h4bs=</DigestValue>
-    </Reference>
-  </SignedInfo>
-  <SignatureValue>
-    juS5RhJ884qoFR8flVXd/rbrSDVGn40CapgB7qeQiT+rr0NekEQ6BHhUA8dT3+BC
-    TBUQI0dBjlml9lwzENXvS83zRECjzXbMRTUtVZiPZG2pqKPnL2YU3A9645UCjTXU
-    +jgFumv7k78hieAGDzNci+PQ9KRmm//icT7JaYztgt4=
-  </SignatureValue>
-  <KeyInfo>
-    <KeyValue>
-      <RSAKeyValue>
-        <Modulus>
-          uCiukpgOaOmrq1fPUTH3CAXxuFmPjsmS4jnTKxrv0w1JKcXtJ2M3akaV1d/karvJ
-          lmeao20jNy9r+/vKwibjM77F+3bIkeMEGmAIUnFciJkR+ihO7b4cTuYnEi8xHtu4
-          iMn6GODBoEzqFQYdd8p4vrZBsvs44nTrS8qyyhba648=
-        </Modulus>
-        <Exponent>
-          AQAB
-        </Exponent>
-      </RSAKeyValue>
-    </KeyValue>
-    <X509Data>
-      <X509SubjectName>
-        CN=Merlin Hughes,O=Baltimore Technologies\, Ltd.,ST=Dublin,C=IE
-      </X509SubjectName>
-      <X509IssuerSerial>
-        <X509IssuerName>
-          CN=Test RSA CA,O=Baltimore Technologies\, Ltd.,ST=Dublin,C=IE
-        </X509IssuerName>
-        <X509SerialNumber>970849928</X509SerialNumber>
-      </X509IssuerSerial>
-      <X509Certificate>
-        MIICeDCCAeGgAwIBAgIEOd3+iDANBgkqhkiG9w0BAQQFADBbMQswCQYDVQQGEwJJ
-        RTEPMA0GA1UECBMGRHVibGluMSUwIwYDVQQKExxCYWx0aW1vcmUgVGVjaG5vbG9n
-        aWVzLCBMdGQuMRQwEgYDVQQDEwtUZXN0IFJTQSBDQTAeFw0wMDEwMDYxNjMyMDda
-        Fw0wMTEwMDYxNjMyMDRaMF0xCzAJBgNVBAYTAklFMQ8wDQYDVQQIEwZEdWJsaW4x
-        JTAjBgNVBAoTHEJhbHRpbW9yZSBUZWNobm9sb2dpZXMsIEx0ZC4xFjAUBgNVBAMT
-        DU1lcmxpbiBIdWdoZXMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALgorpKY
-        Dmjpq6tXz1Ex9wgF8bhZj47JkuI50ysa79MNSSnF7SdjN2pGldXf5Gq7yZZnmqNt
-        Izcva/v7ysIm4zO+xft2yJHjBBpgCFJxXIiZEfooTu2+HE7mJxIvMR7buIjJ+hjg
-        waBM6hUGHXfKeL62QbL7OOJ060vKssoW2uuPAgMBAAGjRzBFMB4GA1UdEQQXMBWB
-        E21lcmxpbkBiYWx0aW1vcmUuaWUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdIwQMMAqA
-        CEngrZIVgu03MA0GCSqGSIb3DQEBBAUAA4GBAHJu4JVq/WnXK2oqqfLWqes5vHOt
-        fX/ZhCjFyDMhzslI8am62gZedwZ9IIZIwlNRMvEDQB2zds/eEBnIAQPl/yRLCLOf
-        ZnbA8PXrbFP5igs3qQWScBUjZVjik748HU2sUVZOa90c0mJl2vJs/RwyLW7/uCAf
-        C/I/k9xGr7fneoIW
-      </X509Certificate>
-    </X509Data>
-  </KeyInfo>
-</Signature>
-
diff --git a/v1/test/cases/schema/XmlSignature/signature-example.xml b/v1/test/cases/schema/XmlSignature/signature-example.xml
deleted file mode 100644
index 99a6994..0000000
--- a/v1/test/cases/schema/XmlSignature/signature-example.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE Signature SYSTEM "xmldsig-core-schema.dtd" [
-<!ENTITY dsig "http://www.w3.org/2000/09/xmldsig#">
-   <!ENTITY % SignatureProperty.ANY '| ts:timestamp'>
-   <!ELEMENT ts:timestamp (#PCDATA)>
-   <!ATTLIST ts:timestamp
-             xmlns:ts	CDATA	#FIXED   'http://www.example.org/rfc/rfcxxxx.txt'>
-   <!ATTLIST Signature
-             xmlns:xsi  CDATA #FIXED   'http://www.w3.org/2001/XMLSchema-instance'
-             xsi:schemaLocation	CDATA	#REQUIRED>
-]>
-<Signature Id="MyFirstSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://www.w3.org/2000/09/xmldsig#
-   xmldsig-core-schema.xsd">
-  <SignedInfo> 
-	 <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2000/WD-xml-c14n-20000710">
-	 </CanonicalizationMethod>
-	 <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa">
-	 </SignatureMethod>
-	 <Reference URI="http://www.w3.org/TR/xml-stylesheet/"> 
-		<Transforms> 
-		  <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/>
-		  <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#null"/>
-		</Transforms> 
-		<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"> 
-		</DigestMethod>
-		<DigestValue>j6lwx3rvEPO0vKtMup4NbeVu8nk=</DigestValue> 
-	 </Reference> 
-	 <Reference URI="http://www.w3.org/TR/REC-xml-names/"> 
-		<Transforms> 
-		  <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/> 
-		</Transforms> 
-		<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"> 
-		</DigestMethod>
-		<DigestValue>UrXLDLBIta6skoV5/A8Q38GEw44=</DigestValue> 
-	 </Reference> 	 
-  </SignedInfo> 
-  <SignatureValue>MC0CFFrVLtRlkMc3Daon4BqqnkhCOlEaAhUAk8pH1iRNK+q1I+sisDTz2TFEALE=</SignatureValue> 
-  <KeyInfo>
-    <KeyValue>
-      <DSAKeyValue>
-        <P>...</P><Q>...</Q><G>...</G><Y>...</Y>
-      </DSAKeyValue> 
-    </KeyValue> 
-  </KeyInfo>
-  <Object>
-     <SignatureProperties>
-        <SignatureProperty Target="#MyFirstSignature">
-          <ts:timestamp xmlns:ts="http://www.example.org/rfc/rfcxxxx.txt">
-           this is a test of the mixed content model</ts:timestamp>
-        </SignatureProperty>
-      </SignatureProperties>
-  </Object>
-</Signature>
diff --git a/v1/test/cases/schema/XmlSignature/xkms-1.0.wsdl b/v1/test/cases/schema/XmlSignature/xkms-1.0.wsdl
deleted file mode 100644
index 59087ad..0000000
--- a/v1/test/cases/schema/XmlSignature/xkms-1.0.wsdl
+++ /dev/null
@@ -1,682 +0,0 @@
-<?xml version="1.0"?>

-

-<definitions name="XMLKeyManagement" xmlns="http://schemas.xmlsoap.org/wsdl/"

- xmlns:s="http://www.w3.org/2000/10/XMLSchema"

- xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"

- xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"

- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 

- xmlns:ds="http://www.w3.org/2000/09/xmldsig#"

- xmlns:xkms="http://www.xkms.org/schema/xkms-2001-01-20"

- xmlns:tns="http://www.xkms.org/schema/xkms-2001-01-20"

- targetNamespace="http://www.xkms.org/schema/xkms-2001-01-20">

-

-  <types>

-

-<schema xmlns="http://www.w3.org/2001/XMLSchema"

-        xmlns:ds="http://www.w3.org/2000/09/xmldsig#"

-        targetNamespace="http://www.w3.org/2000/09/xmldsig#"

-        version="0.1" elementFormDefault="qualified"> 

-

-<!-- Basic Types Defined for Signatures -->

-

-<simpleType name="CryptoBinary">

-  <restriction base="base64Binary">

-  </restriction>

-</simpleType>

-

-<!-- Start Signature -->

-

-<element name="Signature" type="ds:SignatureType"/>

-<complexType name="SignatureType">

-  <sequence> 

-    <element ref="ds:SignedInfo"/> 

-    <element ref="ds:SignatureValue"/> 

-    <element ref="ds:KeyInfo" minOccurs="0"/> 

-    <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/> 

-  </sequence>  

-  <attribute name="Id" type="ID" use="optional"/>

-</complexType>

-

-  <element name="SignatureValue" type="ds:SignatureValueType"/> 

-  <complexType name="SignatureValueType">

-    <simpleContent>

-      <extension base="base64Binary">

-        <attribute name="Id" type="ID" use="optional"/>

-      </extension>

-    </simpleContent>

-  </complexType>

-

-<!-- Start SignedInfo -->

-

-<element name="SignedInfo" type="ds:SignedInfoType"/>

-<complexType name="SignedInfoType">

-  <sequence> 

-    <element ref="ds:CanonicalizationMethod"/> 

-    <element ref="ds:SignatureMethod"/> 

-    <element ref="ds:Reference" maxOccurs="unbounded"/> 

-  </sequence>  

-  <attribute name="Id" type="ID" use="optional"/> 

-</complexType>

-

-  <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/> 

-  <complexType name="CanonicalizationMethodType" mixed="true">

-    <sequence>

-      <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>

-      <!-- (0,unbounded) elements from (1,1) namespace -->

-    </sequence>

-    <attribute name="Algorithm" type="anyURI" use="required"/> 

-  </complexType>

-

-  <element name="SignatureMethod" type="ds:SignatureMethodType"/>

-  <complexType name="SignatureMethodType" mixed="true">

-    <sequence>

-      <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>

-      <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>

-      <!-- (0,unbounded) elements from (1,1) external namespace -->

-    </sequence>

-    <attribute name="Algorithm" type="anyURI" use="required"/> 

-  </complexType>

-

-<!-- Start Reference -->

-

-<element name="Reference" type="ds:ReferenceType"/>

-<complexType name="ReferenceType">

-  <sequence> 

-    <element ref="ds:Transforms" minOccurs="0"/> 

-    <element ref="ds:DigestMethod"/> 

-    <element ref="ds:DigestValue"/> 

-  </sequence>

-  <attribute name="Id" type="ID" use="optional"/> 

-  <attribute name="URI" type="anyURI" use="optional"/> 

-  <attribute name="Type" type="anyURI" use="optional"/> 

-</complexType>

-

-  <element name="Transforms" type="ds:TransformsType"/>

-  <complexType name="TransformsType">

-    <sequence>

-      <element ref="ds:Transform" maxOccurs="unbounded"/>  

-    </sequence>

-  </complexType>

-

-  <element name="Transform" type="ds:TransformType"/>

-  <complexType name="TransformType" mixed="true">

-    <choice minOccurs="0" maxOccurs="unbounded"> 

-      <any namespace="##other" processContents="lax"/>

-      <!-- (1,1) elements from (0,unbounded) namespaces -->

-      <element name="XPath" type="string"/> 

-    </choice>

-    <attribute name="Algorithm" type="anyURI" use="required"/> 

-  </complexType>

-

-<!-- End Reference -->

-

-<element name="DigestMethod" type="ds:DigestMethodType"/>

-<complexType name="DigestMethodType" mixed="true"> 

-  <sequence>

-    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

-  </sequence>    

-  <attribute name="Algorithm" type="anyURI" use="required"/> 

-</complexType>

-

-<element name="DigestValue" type="ds:DigestValueType"/>

-<simpleType name="DigestValueType">

-  <restriction base="base64Binary"/>

-</simpleType>

-

-<!-- End SignedInfo -->

-

-<!-- Start KeyInfo -->

-

-<element name="KeyInfo" type="ds:KeyInfoType"/> 

-

-<complexType name="KeyInfoType" mixed="true">

-  <sequence>

-<!--    <element ref="ds:KeyName"/>     -->

-    <element ref="ds:KeyName"/>

-    <element ref="ds:KeyValue"/> 

-    <element ref="ds:RetrievalMethod"/> 

-    <element ref="ds:X509Data"/> 

-    <element ref="ds:PGPData"/> 

-    <element ref="ds:SPKIData"/>

-    <element ref="ds:MgmtData"/>

-    <any processContents="lax" namespace="##other"/>  

-    <!-- (1,1) elements from (0,unbounded) namespaces -->

-  </sequence>

-  <attribute name="Id" type="ID" use="optional"/> 

-</complexType>

-

-  <element name="KeyName" type="string"/>

-  <element name="MgmtData" type="string"/>

-

-  <element name="KeyValue" type="ds:KeyValueType"/> 

-  <complexType name="KeyValueType" mixed="true">

-   <choice>

-     <element ref="ds:DSAKeyValue"/>

-     <element ref="ds:RSAKeyValue"/>

-     <any namespace="##other" processContents="lax"/>

-   </choice>

-  </complexType>

-

-  <element name="RetrievalMethod" type="ds:RetrievalMethodType"/> 

-  <complexType name="RetrievalMethodType">

-    <sequence>

-      <element name="Transforms" type="ds:TransformsType" minOccurs="0"/> 

-    </sequence>  

-    <attribute name="URI" type="anyURI"/>

-    <attribute name="Type" type="anyURI" use="optional"/>

-  </complexType>

-

-<!-- Start X509Data -->

-

-<element name="X509Data" type="ds:X509DataType"/> 

-<complexType name="X509DataType">

-  <sequence maxOccurs="unbounded">

-    <choice>

-      <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>

-      <element name="X509SKI" type="base64Binary"/>

-      <element name="X509SubjectName" type="string"/>

-      <element name="X509Certificate" type="base64Binary"/>

-      <element name="X509CRL" type="base64Binary"/>

-      <any namespace="##other" processContents="lax"/>

-    </choice>

-  </sequence>

-</complexType>

-

-<complexType name="X509IssuerSerialType"> 

-  <sequence> 

-    <element name="X509IssuerName" type="string"/> 

-    <element name="X509SerialNumber" type="integer"/> 

-  </sequence>

-</complexType>

-

-<!-- End X509Data -->

-

-<!-- Begin PGPData -->

-

-<element name="PGPData" type="ds:PGPDataType"/> 

-<complexType name="PGPDataType"> 

-  <choice>

-    <sequence>

-      <element name="PGPKeyID" type="base64Binary"/> 

-      <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/> 

-      <any namespace="##other" processContents="lax" minOccurs="0"

-       maxOccurs="unbounded"/>

-    </sequence>

-  </choice>

-</complexType>

-

-<!-- End PGPData -->

-

-<!-- Begin SPKIData -->

-

-<element name="SPKIData" type="ds:SPKIDataType"/> 

-<complexType name="SPKIDataType">

-  <sequence maxOccurs="unbounded">

-    <element name="SPKISexp" type="base64Binary"/>

-    <any namespace="##other" processContents="lax" minOccurs="0"/>

-  </sequence>

-</complexType> 

-

-<!-- End SPKIData -->

-

-<!-- End KeyInfo -->

-

-<!-- Start Object (Manifest, SignatureProperty) -->

-

-<element name="Object" type="ds:ObjectType"/> 

-<complexType name="ObjectType" mixed="true">

-  <sequence minOccurs="0" maxOccurs="unbounded">

-    <any namespace="##any" processContents="lax"/>

-  </sequence>

-  <attribute name="Id" type="ID" use="optional"/> 

-  <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->

-  <attribute name="Encoding" type="anyURI" use="optional"/> 

-</complexType>

-

-<element name="Manifest" type="ds:ManifestType"/> 

-<complexType name="ManifestType">

-  <sequence>

-    <element ref="ds:Reference" maxOccurs="unbounded"/> 

-  </sequence>

-  <attribute name="Id" type="ID" use="optional"/> 

-</complexType>

-

-<element name="SignatureProperties" type="ds:SignaturePropertiesType"/> 

-<complexType name="SignaturePropertiesType">

-  <sequence>

-    <element ref="ds:SignatureProperty" maxOccurs="unbounded"/> 

-  </sequence>

-  <attribute name="Id" type="ID" use="optional"/> 

-</complexType>

-

-   <element name="SignatureProperty" type="ds:SignaturePropertyType"/> 

-   <complexType name="SignaturePropertyType" mixed="true">

-     <choice maxOccurs="unbounded">

-       <any namespace="##other" processContents="lax"/>

-       <!-- (1,1) elements from (1,unbounded) namespaces -->

-     </choice>

-     <attribute name="Target" type="anyURI" use="required"/> 

-     <attribute name="Id" type="ID" use="optional"/> 

-   </complexType>

-

-<!-- End Object (Manifest, SignatureProperty) -->

-

-<!-- Start Algorithm Parameters -->

-

-<simpleType name="HMACOutputLengthType">

-  <restriction base="integer"/>

-</simpleType>

-

-<!-- Start KeyValue Element-types -->

-

-<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>

-<complexType name="DSAKeyValueType">

-  <sequence>

-    <sequence minOccurs="0">

-      <element name="P" type="ds:CryptoBinary"/>

-      <element name="Q" type="ds:CryptoBinary"/>

-    </sequence>

-    <element name="J" type="ds:CryptoBinary" minOccurs="0"/>

-    <element name="G" type="ds:CryptoBinary" minOccurs="0"/>

-    <element name="Y" type="ds:CryptoBinary"/>

-    <sequence minOccurs="0">

-      <element name="Seed" type="ds:CryptoBinary"/>

-      <element name="PgenCounter" type="ds:CryptoBinary"/>

-    </sequence>

-  </sequence>

-</complexType>

-

-

-<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>

-<complexType name="RSAKeyValueType">

-  <sequence>

-    <element name="Modulus" type="ds:CryptoBinary"/> 

-    <element name="Exponent" type="ds:CryptoBinary"/> 

-  </sequence>

-</complexType> 

-

-<!-- End KeyValue Element-types -->

-

-<!-- End Signature -->

-

-</schema>

-

-<schema attributeFormDefault="qualified" elementFormDefault="qualified"

- targetNamespace="http://www.xkms.org/schema/xkms-2001-01-20"

- xmlns="http://www.w3.org/2001/XMLSchema">

- <import namespace="http://www.w3.org/2000/09/xmldsig#"/>

-   <element name="Recover" type="xkms:RecoverType"/>

-   <element name="Revoke" type="xkms:RevokeType"/>

-   <element name="Locate" type="xkms:LocateType"/>

-   <element name="Register" type="xkms:RegisterType"/>

-   <element name="Validate" type="xkms:ValidateType"/>

-   <element name="RegisterResult" type="xkms:RegisterResultType"/>

-   <element name="RecoverResult" type="xkms:RecoverResultType"/>

-   <element name="RevokeResult" type="xkms:RevokeResultType"/>

-   <element name="LocateResult" type="xkms:LocateResultType"/>

-   <element name="ValidateResult" type="xkms:ValidateResultType"/>

-   <complexType name="LocateType">

-      <sequence>

-         <element minOccurs="0" name="TransactionID" type="string"/>

-         <element name="Query" type="xkms:KeyInfoType"/>

-         <element minOccurs="0" name="Respond" type="xkms:RespondType"/>

-      </sequence>

-   </complexType>

-   <complexType name="LocateResultType">

-      <sequence>

-         <element minOccurs="0" name="TransactionID" type="string"/>

-         <element name="Result" type="xkms:ResultCodeType"/>

-         <element minOccurs="0" name="Answer" type="xkms:LocateResultAnswerType"/>

-         <element minOccurs="0" name="ErrorInfo" type="xkms:ErrorInfoType"/>

-         <element maxOccurs="1" minOccurs="0" ref="ds:Signature"/>

-      </sequence>

-      <attribute name="Id" type="ID" use="optional"/>

-   </complexType>

-   <complexType name="ValidateType">

-      <sequence>

-         <element name="Query" type="xkms:KeyBindingType"/>

-         <element minOccurs="0" name="Respond" type="xkms:RespondType"/>

-      </sequence>

-   </complexType>

-   <complexType name="ValidateResultType">

-      <sequence>

-         <element name="Result" type="xkms:ResultCodeType"/>

-         <element minOccurs="0" name="Answer" type="xkms:ValidateResultAnswerType"/>

-         <element minOccurs="0" name="ErrorInfo" type="xkms:ErrorInfoType"/>

-         <element maxOccurs="1" minOccurs="0" ref="ds:Signature"/>

-      </sequence>

-      <attribute name="Id" type="ID" use="optional"/>

-   </complexType>

-   <complexType name="ValidateResultAnswerType">

-      <sequence>

-         <element name="KeyBinding" type="xkms:KeyBindingType"/>

-      </sequence>

-   </complexType>

-   <complexType name="RegisterType">

-      <sequence>

-         <element name="Prototype" type="xkms:KeyBindingType"/>

-         <element name="AuthInfo" type="xkms:AuthInfoType"/>

-         <element name="Respond" type="xkms:RespondType"/>

-      </sequence>

-   </complexType>

-   <complexType name="RegisterResultType">

-      <sequence>

-         <element name="Result" type="xkms:ResultCodeType"/>

-         <element minOccurs="0" name="Answer" type="xkms:RegisterResultAnswerType"/>

-         <element minOccurs="0" name="Private" type="xkms:PrivateType"/>

-         <element minOccurs="0" name="ErrorInfo" type="xkms:ErrorInfoType"/>

-         <element maxOccurs="1" minOccurs="0" ref="ds:Signature"/>

-      </sequence>

-      <attribute name="Id" type="ID" use="optional"/>

-   </complexType>

-   <complexType name="RegisterResultAnswerType">

-      <sequence>

-         <element name="KeyBinding" type="xkms:KeyBindingType"/>

-      </sequence>

-   </complexType>

-   <complexType name="RecoverType">

-      <sequence>

-         <element ref="xkms:Register"/>

-      </sequence>

-   </complexType>

-   <complexType name="RecoverResultType">

-      <sequence>

-         <element ref="xkms:RegisterResult"/>

-      </sequence>

-   </complexType>

-   <complexType name="RevokeType">

-      <sequence>

-         <element ref="xkms:Register"/>

-      </sequence>

-   </complexType>

-

-   <complexType name="PrivateType">

-      <sequence>

-         <any maxOccurs="unbounded" processContents="lax"  

-	      minOccurs="0" namespace="##any"/>

-      </sequence>

-      <anyAttribute namespace="##any" processContents="lax"/>

-   </complexType>

-

-   <complexType name="RevokeResultType">

-      <sequence>

-         <element ref="xkms:RegisterResult"/>

-      </sequence>

-   </complexType>

-   <complexType name="ErrorInfoType">

-      <sequence>

-         <element name="ErrorDescription" type="string"/>

-         <element minOccurs="0" name="ErrorActor" type="string"/>

-         <element minOccurs="0" name="ErrorDetail" type="xkms:ErrorDetailType"/>

-      </sequence>

-      <attribute name="errorCode" type="string" use="required"/>

-   </complexType>

-   <complexType name="ErrorDetailType">

-      <sequence>

-         <any namespace="##other" processContents="strict"/>

-      </sequence>

-      <anyAttribute namespace="##other" processContents="strict"/>

-   </complexType>

-   <simpleType name="ErrorCodeType">

-      <restriction base="string">

-         <enumeration value="Client"/>

-         <enumeration value="Server"/>

-         <enumeration value="Client.MalformedKeyNamePassed"/>

-         <enumeration value="Client.InvalidPassPhraseAuth"/>

-         <enumeration value="*"/>

-      </restriction>

-   </simpleType>

-   <complexType name="KeyBindingType">

-      <sequence>

-         <element minOccurs="0" name="TransactionID" type="string"/>

-         <element name="Status" type="xkms:AssertionStatusType"/>

-         <element maxOccurs="unbounded" minOccurs="0" name="KeyID" type="string"/>

-         <element minOccurs="0" ref="ds:KeyInfo"/>

-         <element minOccurs="0" name="PassPhrase" type="string"/>

-         <element minOccurs="0" name="ProcessInfo" type="xkms:ProcessInfoType"/>

-         <element minOccurs="0" name="ValidityInterval" type="xkms:ValidityIntervalType"/>

-         <element maxOccurs="unbounded" minOccurs="0" name="KeyUsage" type="xkms:KeyUsageType"/>

-         <element minOccurs="0" name="Private" type="xkms:PrivateType"/>

-      </sequence>

-      <attribute name="Id" type="ID" use="optional"/>

-   </complexType>

-   <complexType name="KeyInfoType">

-      <sequence>

-         <element ref="ds:KeyInfo"/>

-      </sequence>

-   </complexType>

-   <complexType name="RespondType">

-      <sequence>

-         <element maxOccurs="unbounded" minOccurs="0" name="string" type="xkms:RespondEnum"/>

-      </sequence>

-   </complexType>

-   <simpleType name="RespondEnum">

-      <restriction base="string">

-         <enumeration value="KeyName"/>

-         <enumeration value="KeyValue"/>

-         <enumeration value="X509Cert"/>

-         <enumeration value="X509Chain"/>

-         <enumeration value="X509CRL"/>

-         <enumeration value="OCSP"/>

-         <enumeration value="RetrievalMethod"/>

-         <enumeration value="MgmtData"/>

-         <enumeration value="PGPData"/>

-         <enumeration value="PGPWeb"/>

-         <enumeration value="SPKIData"/>

-         <enumeration value="Multiple"/>

-         <enumeration value="Private"/>

-         <enumeration value="ValidityInterval"/>

-         <enumeration value="KeyUsage"/>

-         <enumeration value="Status"/>

-         <enumeration value="SignedResult"/>

-      </restriction>

-   </simpleType>

-   <complexType name="LocateResultAnswerType">

-      <sequence>

-         <element maxOccurs="unbounded" minOccurs="0" ref="ds:KeyInfo"/>

-      </sequence>

-   </complexType>

-   <simpleType name="ResultCodeType">

-      <restriction base="string">

-         <enumeration value="Success"/>

-         <enumeration value="NoMatch"/>

-         <enumeration value="NotFound"/>

-         <enumeration value="Incomplete"/>

-         <enumeration value="Failure"/>

-         <enumeration value="Refused"/>

-         <enumeration value="Pending"/>

-      </restriction>

-   </simpleType>

-   <simpleType name="AssertionStatusType">

-      <restriction base="string">

-         <enumeration value="Valid"/>

-         <enumeration value="Invalid"/>

-         <enumeration value="Indeterminate"/>

-      </restriction>

-   </simpleType>

-   <complexType name="ProcessInfoType">

-      <sequence maxOccurs="unbounded" minOccurs="0">

-         <any namespace="##other"/>

-      </sequence>

-   </complexType>

-   <complexType name="ValidityIntervalType">

-      <sequence>

-         <element minOccurs="0" name="NotBefore" type="timeInstant"/>

-         <element minOccurs="0" name="NotAfter" type="timeInstant"/>

-      </sequence>

-   </complexType>

-   <simpleType name="KeyUsageType">

-      <restriction base="string">

-         <enumeration value="Encryption"/>

-         <enumeration value="Signature"/>

-         <enumeration value="Exchange"/>

-      </restriction>

-   </simpleType>

-   <complexType name="AuthInfoType">

-      <choice>

-         <element name="AuthUserInfo" type="xkms:AuthUserInfoType"/>

-         <element name="AuthServerInfo" type="xkms:AuthServerInfoType"/>

-      </choice>

-   </complexType>

-   <complexType name="ProofOfPossessionType">

-      <sequence>

-         <element minOccurs="0" ref="ds:Signature"/>

-      </sequence>

-   </complexType>

-   <complexType name="KeyBindingAuthType">

-      <sequence>

-         <element minOccurs="0" ref="ds:Signature"/>

-      </sequence>

-   </complexType>

-   <complexType name="AuthUserInfoType">

-      <sequence>

-         <element minOccurs="0" name="ProofOfPossession" type="xkms:ProofOfPossessionType"/>

-         <element minOccurs="0" name="KeyBindingAuth" type="xkms:KeyBindingAuthType"/>

-         <element minOccurs="0" name="PassPhraseAuth" type="string"/>

-      </sequence>

-   </complexType>

-   <complexType name="AuthServerInfoType">

-      <sequence>

-         <element minOccurs="0" name="KeyBindingAuth" type="xkms:KeyBindingAuthType"/>

-         <element minOccurs="0" name="PassPhraseAuth" type="string"/>

-      </sequence>

-   </complexType>

-</schema>

-  </types>

-

-  <message name="Register">

-    <part name="body" element="xkms:Register"/>

-  </message>

-

-  <message name="RegisterResult">

-    <part name="body" element="xkms:RegisterResult"/>

-  </message>

-

-  <message name="Validate">

-    <part name="body" element="xkms:Validate"/>

-  </message>

-

-  <message name="ValidateResult">

-    <part name="body" element="xkms:ValidateResult"/>

-  </message>

-

-  <message name="Locate">

-    <part name="body" element="xkms:Locate"/>

-  </message>

-

-  <message name="LocateResult">

-    <part name="body" element="xkms:LocateResult"/>

-  </message>

-

-  <portType name="KeyServicePortType">

-    <operation name="Register">

-      <input message="tns:Register"/>

-      <output message="tns:RegisterResult"/>

-	<fault message="tns:RegisterResult"/>

-    </operation>

-

-    <operation name="Validate">

-      <input message="tns:Validate"/>

-      <output message="tns:ValidateResult"/>

-	<fault message="tns:ValidateResult"/>

-    </operation>

-

-    <operation name="Locate">

-      <input message="tns:Locate"/>

-      <output message="tns:LocateResult"/>

-	<fault message="tns:LocateResult"/>

-    </operation>

-  </portType>

-

-  <binding name="KeyServiceSoapBinding" type="tns:KeyServicePortType">

-    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>

-

-    <operation name="Register">

-      <soap:operation soapAction="http://www.xkms.org/schema/xkms-2001-01-20#Register" style="document"/>

-      <input message="tns:Register">

-        <soap:body parts="body" use="literal"/>

-      </input>

-      <output message="tns:RegisterResult">

-        <soap:body parts="body" use="literal"/>

-      </output>

-    </operation>

-

-    <operation name="Validate">

-      <soap:operation soapAction="http://www.xkms.org/schema/xkms-2001-01-20#Validate" style="document"/>

-      <input message="tns:Validate">

-        <soap:body parts="body" use="literal"/>

-      </input>

-      <output message="tns:ValidateResult">

-        <soap:body parts="body" use="literal"/>

-      </output>

-    </operation>

-

-    <operation name="Locate">

-      <soap:operation soapAction="http://www.xkms.org/schema/xkms-2001-01-20#Locate" style="document"/>

-      <input message="tns:Locate">

-        <soap:body parts="body" use="literal"/>

-      </input>

-      <output message="tns:LocateResult">

-        <soap:body parts="body" use="literal"/>

-      </output>

-    </operation>

-  </binding>

-

-  <binding name="KeyServiceHttpPostBinding" type="tns:KeyServicePortType">

-    <http:binding verb="POST"/>

-

-    <operation name="Register">

-      <http:operation location="xkms/Acceptor.nano"/>

-      <input message="tns:Register">

-        <mime:content parts="body" type="text/xml"/>

-      </input>

-      <output message="tns:RegisterResult">

-        <mime:content parts="body" type="text/xml"/>

-      </output>

-    </operation>

-

-    <operation name="Validate">

-      <http:operation location="xkms/Acceptor.nano"/>

-      <input message="tns:Validate">

-        <mime:content parts="body" type="text/xml"/>

-      </input>

-      <output message="tns:ValidateResult">

-        <mime:content parts="body" type="text/xml"/>

-      </output>

-    </operation>

-

-    <operation name="Locate">

-      <http:operation location="xkms/Acceptor.nano"/>

-      <input message="tns:Locate">

-        <mime:content parts="body" type="text/xml"/>

-      </input>

-      <output message="tns:LocateResult">

-        <mime:content parts="body" type="text/xml"/>

-      </output>

-    </operation>

-  </binding>

-

-  <service name="XMLKeyManagementService">

-	<documentation>Verisign's XML Key Management Service (XKMS)</documentation>

-

-    <port name="KeyServiceSoapPort" binding="tns:KeyServiceSoapBinding">

-      <soap:address location="http://xkms.verisign.com/xkms/Acceptor.nano"/>

-    </port>

-

-    <port name="KeyServiceHttpPostPort" binding="tns:KeyServiceHttpPostBinding">

-      <http:address location="http://xkms.verisign.com/"/>

-    </port>

-  </service>

-

-  <service name="PilotXMLKeyManagementService">

-	<documentation>Verisign's Pilot XML Key Management Service (XKMS)</documentation>

-

-    <port name="KeyServiceSoapPort" binding="tns:KeyServiceSoapBinding">

-      <soap:address location="http://pilot-xkms.verisign.com/xkms/Acceptor.nano"/>

-    </port>

-

-    <port name="KeyServiceHttpPostPort" binding="tns:KeyServiceHttpPostBinding">

-      <http:address location="http://pilot-xkms.verisign.com/"/>

-    </port>

-  </service>

-</definitions>

diff --git a/v1/test/cases/schema/XmlSignature/xmldsig-core-schema.xsd b/v1/test/cases/schema/XmlSignature/xmldsig-core-schema.xsd
deleted file mode 100644
index b7d72cf..0000000
--- a/v1/test/cases/schema/XmlSignature/xmldsig-core-schema.xsd
+++ /dev/null
@@ -1,318 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE schema
-  PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd"
- [
-   <!ATTLIST schema 
-     xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#">
-   <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
-   <!ENTITY % p ''>
-   <!ENTITY % s ''>
-  ]>
-
-<!-- Schema for XML Signatures
-    http://www.w3.org/2000/09/xmldsig#
-    $Revision: 1.1 $ on $Date: 2003/09/15 18:20:39 $ by $Author: ericvas $
-
-    Copyright 2001 The Internet Society and W3C (Massachusetts Institute
-    of Technology, Institut National de Recherche en Informatique et en
-    Automatique, Keio University). All Rights Reserved.
-    http://www.w3.org/Consortium/Legal/
-
-    This document is governed by the W3C Software License [1] as described
-    in the FAQ [2].
-
-    [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
-    [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
--->
-
-
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
-        targetNamespace="http://www.w3.org/2000/09/xmldsig#"
-        version="0.1" elementFormDefault="qualified"> 
-
-<!-- Basic Types Defined for Signatures -->
-
-<simpleType name="CryptoBinary">
-  <restriction base="base64Binary">
-  </restriction>
-</simpleType>
-
-<!-- Start Signature -->
-
-<element name="Signature" type="ds:SignatureType"/>
-<complexType name="SignatureType">
-  <sequence> 
-    <element ref="ds:SignedInfo"/> 
-    <element ref="ds:SignatureValue"/> 
-    <element ref="ds:KeyInfo" minOccurs="0"/> 
-    <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/> 
-  </sequence>  
-  <attribute name="Id" type="ID" use="optional"/>
-</complexType>
-
-  <element name="SignatureValue" type="ds:SignatureValueType"/> 
-  <complexType name="SignatureValueType">
-    <simpleContent>
-      <extension base="base64Binary">
-        <attribute name="Id" type="ID" use="optional"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-<!-- Start SignedInfo -->
-
-<element name="SignedInfo" type="ds:SignedInfoType"/>
-<complexType name="SignedInfoType">
-  <sequence> 
-    <element ref="ds:CanonicalizationMethod"/> 
-    <element ref="ds:SignatureMethod"/> 
-    <element ref="ds:Reference" maxOccurs="unbounded"/> 
-  </sequence>  
-  <attribute name="Id" type="ID" use="optional"/> 
-</complexType>
-
-  <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/> 
-  <complexType name="CanonicalizationMethodType" mixed="true">
-    <sequence>
-      <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
-      <!-- (0,unbounded) elements from (1,1) namespace -->
-    </sequence>
-    <attribute name="Algorithm" type="anyURI" use="required"/> 
-  </complexType>
-
-  <element name="SignatureMethod" type="ds:SignatureMethodType"/>
-  <complexType name="SignatureMethodType" mixed="true">
-    <sequence>
-      <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
-      <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
-      <!-- (0,unbounded) elements from (1,1) external namespace -->
-    </sequence>
-    <attribute name="Algorithm" type="anyURI" use="required"/> 
-  </complexType>
-
-<!-- Start Reference -->
-
-<element name="Reference" type="ds:ReferenceType"/>
-<complexType name="ReferenceType">
-  <sequence> 
-    <element ref="ds:Transforms" minOccurs="0"/> 
-    <element ref="ds:DigestMethod"/> 
-    <element ref="ds:DigestValue"/> 
-  </sequence>
-  <attribute name="Id" type="ID" use="optional"/> 
-  <attribute name="URI" type="anyURI" use="optional"/> 
-  <attribute name="Type" type="anyURI" use="optional"/> 
-</complexType>
-
-  <element name="Transforms" type="ds:TransformsType"/>
-  <complexType name="TransformsType">
-    <sequence>
-      <element ref="ds:Transform" maxOccurs="unbounded"/>  
-    </sequence>
-  </complexType>
-
-  <element name="Transform" type="ds:TransformType"/>
-  <complexType name="TransformType" mixed="true">
-    <choice minOccurs="0" maxOccurs="unbounded"> 
-      <any namespace="##other" processContents="lax"/>
-      <!-- (1,1) elements from (0,unbounded) namespaces -->
-      <element name="XPath" type="string"/> 
-    </choice>
-    <attribute name="Algorithm" type="anyURI" use="required"/> 
-  </complexType>
-
-<!-- End Reference -->
-
-<element name="DigestMethod" type="ds:DigestMethodType"/>
-<complexType name="DigestMethodType" mixed="true"> 
-  <sequence>
-    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-  </sequence>    
-  <attribute name="Algorithm" type="anyURI" use="required"/> 
-</complexType>
-
-<element name="DigestValue" type="ds:DigestValueType"/>
-<simpleType name="DigestValueType">
-  <restriction base="base64Binary"/>
-</simpleType>
-
-<!-- End SignedInfo -->
-
-<!-- Start KeyInfo -->
-
-<element name="KeyInfo" type="ds:KeyInfoType"/> 
-<complexType name="KeyInfoType" mixed="true">
-  <choice maxOccurs="unbounded">     
-    <element ref="ds:KeyName"/> 
-    <element ref="ds:KeyValue"/> 
-    <element ref="ds:RetrievalMethod"/> 
-    <element ref="ds:X509Data"/> 
-    <element ref="ds:PGPData"/> 
-    <element ref="ds:SPKIData"/>
-    <element ref="ds:MgmtData"/>
-    <any processContents="lax" namespace="##other"/>
-    <!-- (1,1) elements from (0,unbounded) namespaces -->
-  </choice>
-  <attribute name="Id" type="ID" use="optional"/> 
-</complexType>
-
-  <element name="KeyName" type="string"/>
-  <element name="MgmtData" type="string"/>
-
-  <element name="KeyValue" type="ds:KeyValueType"/> 
-  <complexType name="KeyValueType" mixed="true">
-   <choice>
-     <element ref="ds:DSAKeyValue"/>
-     <element ref="ds:RSAKeyValue"/>
-     <any namespace="##other" processContents="lax"/>
-   </choice>
-  </complexType>
-
-  <element name="RetrievalMethod" type="ds:RetrievalMethodType"/> 
-  <complexType name="RetrievalMethodType">
-    <sequence>
-      <element ref="ds:Transforms" minOccurs="0"/> 
-    </sequence>  
-    <attribute name="URI" type="anyURI"/>
-    <attribute name="Type" type="anyURI" use="optional"/>
-  </complexType>
-
-<!-- Start X509Data -->
-
-<element name="X509Data" type="ds:X509DataType"/> 
-<complexType name="X509DataType">
-  <sequence maxOccurs="unbounded">
-    <choice>
-      <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
-      <element name="X509SKI" type="base64Binary"/>
-      <element name="X509SubjectName" type="string"/>
-      <element name="X509Certificate" type="base64Binary"/>
-      <element name="X509CRL" type="base64Binary"/>
-      <any namespace="##other" processContents="lax"/>
-    </choice>
-  </sequence>
-</complexType>
-
-<complexType name="X509IssuerSerialType"> 
-  <sequence> 
-    <element name="X509IssuerName" type="string"/> 
-    <element name="X509SerialNumber" type="integer"/> 
-  </sequence>
-</complexType>
-
-<!-- End X509Data -->
-
-<!-- Begin PGPData -->
-
-<element name="PGPData" type="ds:PGPDataType"/> 
-<complexType name="PGPDataType"> 
-  <choice>
-    <sequence>
-      <element name="PGPKeyID" type="base64Binary"/> 
-      <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/> 
-      <any namespace="##other" processContents="lax" minOccurs="0"
-       maxOccurs="unbounded"/>
-    </sequence>
-    <sequence>
-      <element name="PGPKeyPacket" type="base64Binary"/> 
-      <any namespace="##other" processContents="lax" minOccurs="0"
-       maxOccurs="unbounded"/>
-    </sequence>
-  </choice>
-</complexType>
-
-<!-- End PGPData -->
-
-<!-- Begin SPKIData -->
-
-<element name="SPKIData" type="ds:SPKIDataType"/> 
-<complexType name="SPKIDataType">
-  <sequence maxOccurs="unbounded">
-    <element name="SPKISexp" type="base64Binary"/>
-    <any namespace="##other" processContents="lax" minOccurs="0"/>
-  </sequence>
-</complexType> 
-
-<!-- End SPKIData -->
-
-<!-- End KeyInfo -->
-
-<!-- Start Object (Manifest, SignatureProperty) -->
-
-<element name="Object" type="ds:ObjectType"/> 
-<complexType name="ObjectType" mixed="true">
-  <sequence minOccurs="0" maxOccurs="unbounded">
-    <any namespace="##any" processContents="lax"/>
-  </sequence>
-  <attribute name="Id" type="ID" use="optional"/> 
-  <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
-  <attribute name="Encoding" type="anyURI" use="optional"/> 
-</complexType>
-
-<element name="Manifest" type="ds:ManifestType"/> 
-<complexType name="ManifestType">
-  <sequence>
-    <element ref="ds:Reference" maxOccurs="unbounded"/> 
-  </sequence>
-  <attribute name="Id" type="ID" use="optional"/> 
-</complexType>
-
-<element name="SignatureProperties" type="ds:SignaturePropertiesType"/> 
-<complexType name="SignaturePropertiesType">
-  <sequence>
-    <element ref="ds:SignatureProperty" maxOccurs="unbounded"/> 
-  </sequence>
-  <attribute name="Id" type="ID" use="optional"/> 
-</complexType>
-
-   <element name="SignatureProperty" type="ds:SignaturePropertyType"/> 
-   <complexType name="SignaturePropertyType" mixed="true">
-     <choice maxOccurs="unbounded">
-       <any namespace="##other" processContents="lax"/>
-       <!-- (1,1) elements from (1,unbounded) namespaces -->
-     </choice>
-     <attribute name="Target" type="anyURI" use="required"/> 
-     <attribute name="Id" type="ID" use="optional"/> 
-   </complexType>
-
-<!-- End Object (Manifest, SignatureProperty) -->
-
-<!-- Start Algorithm Parameters -->
-
-<simpleType name="HMACOutputLengthType">
-  <restriction base="integer"/>
-</simpleType>
-
-<!-- Start KeyValue Element-types -->
-
-<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
-<complexType name="DSAKeyValueType">
-  <sequence>
-    <sequence minOccurs="0">
-      <element name="P" type="ds:CryptoBinary"/>
-      <element name="Q" type="ds:CryptoBinary"/>
-    </sequence>
-    <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
-    <element name="Y" type="ds:CryptoBinary"/>
-    <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
-    <sequence minOccurs="0">
-      <element name="Seed" type="ds:CryptoBinary"/>
-      <element name="PgenCounter" type="ds:CryptoBinary"/>
-    </sequence>
-  </sequence>
-</complexType>
-
-<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
-<complexType name="RSAKeyValueType">
-  <sequence>
-    <element name="Modulus" type="ds:CryptoBinary"/> 
-    <element name="Exponent" type="ds:CryptoBinary"/> 
-  </sequence>
-</complexType> 
-
-<!-- End KeyValue Element-types -->
-
-<!-- End Signature -->
-
-</schema>
diff --git a/v1/test/cases/schema/annuity/annuitynet.xsd b/v1/test/cases/schema/annuity/annuitynet.xsd
deleted file mode 100644
index 0a3fbd4..0000000
--- a/v1/test/cases/schema/annuity/annuitynet.xsd
+++ /dev/null
@@ -1,1389 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Proprietary & Confidential to AnnuityNet, Inc. All use of AnnuityNet material is subject to and restricted by a Confidentiality Agreement or other agreement.-->
-<schema targetNamespace="http://www.annuitynet.com/namespace/profiles" 
-xmlns:pr="http://www.annuitynet.com/namespace/profiles" 
-xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-	<element name="ENVELOPE">
-		<annotation>
-			<documentation>The transmission envelope that encompases all transactions included in the file.  This is the root element of the file.</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="HEADER">
-					<annotation>
-						<documentation>The ENVELOPE header.  Contains information about the parties involved in the transmission, and the contents of the file.</documentation>
-					</annotation>
-					<complexType>
-						<sequence>
-							<element name="SENDING_PARTY_ID" type="string">
-								<annotation>
-									<documentation>The identifier for the sending party. The ID is an agreed upon standard between the two parties. </documentation>
-								</annotation>
-							</element>
-							<element name="RECEIVING_PARTY_ID" type="string">
-								<annotation>
-									<documentation>The identifier for the receiving party.  The ID is an agreed upon standard between the two parties.</documentation>
-								</annotation>
-							</element>
-							<element name="TRANSACTION_COUNT" type="integer">
-								<annotation>
-									<documentation>The number of transactions expected in the file. To be used to confirm that the file is complete as the sending party understands it.</documentation>
-								</annotation>
-							</element>
-							<element name="TEST" type="boolean" default="0" minOccurs="0">
-								<annotation>
-									<documentation>Optional flag to indicate whether the file is a test file.</documentation>
-								</annotation>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-				<element ref="pr:TRANSACTION" maxOccurs="unbounded"/>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="TRANSACTION">
-		<annotation>
-			<documentation>The root element of a transaction.  Contains all data and metadata regarding a transaction.  The SCHEMA_VERSION should be set for all transactions to ensure compliance amongst all parties.</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="HEADER">
-					<annotation>
-						<documentation>The header denotes handling information about the data package(s) stored in the request or response elements.  The information describes the execution of the data package, as well as routing and parties involved with the package.</documentation>
-					</annotation>
-					<complexType>
-						<sequence>
-							<element name="EFFECTIVE_DATE" type="date" minOccurs="0">
-								<annotation>
-									<documentation>Date that the transaction should be invoked and the data processed.</documentation>
-								</annotation>
-							</element>
-							<element name="AS_OF_DATETIME" type="dateTime" minOccurs="0">
-								<annotation>
-									<documentation>Date and time the transaction was created.</documentation>
-								</annotation>
-							</element>
-							<element name="ACTIVITY">
-								<annotation>
-									<documentation source="http://www.annuitnet.com/documentation/profiles">ADD -> Add to the Collections included. Uses the primary keys for the Collections involved. If an attempt is made to add a Collection using primary keys already in use,  an error is returned. | MODIFY -> Replaces members of the Collections included. Uses the primary key for the Collection. If a new primary key value is included then a new member is added to the Collection. | DELETE -> Delete members of the Collections included.  Uses the primary key for the Collection. If an attempt is made to delete a member where the primary key is not in the Collection, then an error is returned.</documentation>
-								</annotation>
-								<simpleType>
-									<restriction base="string">
-										<enumeration value="ADD"/>
-										<enumeration value="MODIFY"/>
-										<enumeration value="DELETE"/>
-									</restriction>
-								</simpleType>
-							</element>
-							<element name="TRANSACTION_ID" maxOccurs="unbounded">
-								<annotation>
-									<documentation>Transaction_ID captures the external Transaction ID for each party that handles the transaction.</documentation>
-								</annotation>
-								<complexType>
-									<sequence>
-										<element name="PARTY_ID" type="string"/>
-										<element name="TRANSACTION_ID" type="string"/>
-									</sequence>
-								</complexType>
-							</element>
-							<element name="ROUTING">
-								<annotation>
-									<documentation>Contains the routing 'map' of which parties need to take part in the transaction and the order their interaction occurs.</documentation>
-								</annotation>
-								<complexType>
-									<sequence>
-										<element name="STEP" maxOccurs="unbounded">
-											<annotation>
-												<documentation>Describes each step of the routing map.  Many transactions will only include one record in this node, with an order of 1.</documentation>
-											</annotation>
-											<complexType>
-												<complexContent>
-													<extension base="pr:STEPType">
-														<sequence>
-															<element name="ORDER" type="integer"/>
-														</sequence>
-													</extension>
-												</complexContent>
-											</complexType>
-										</element>
-									</sequence>
-								</complexType>
-							</element>
-							<element name="ROUTING_HISTORY">
-								<annotation>
-									<documentation>Provides a routing log, which stores a record for each party that handles the transaction.</documentation>
-								</annotation>
-								<complexType>
-									<sequence>
-										<element name="STEP" maxOccurs="unbounded">
-											<annotation>
-												<documentation>Stores a record for each party interaction on the transaction.  Each party should store their send or receive date and time, once they receive the packet.   This history can be reconciled against the planned routing steps to ensure that the transaction workflow was successful.</documentation>
-											</annotation>
-											<complexType>
-												<complexContent>
-													<extension base="pr:STEPType">
-														<sequence>
-															<element name="SEND_DATETIME" type="dateTime"/>
-															<element name="RECEIVE_DATETIME" type="dateTime" minOccurs="0"/>
-														</sequence>
-													</extension>
-												</complexContent>
-											</complexType>
-										</element>
-									</sequence>
-								</complexType>
-							</element>
-							<element name="TRANSACTION_TYPE">
-								<annotation>
-									<documentation>The type of transaction that this represents.  For example, a Product Definition.</documentation>
-								</annotation>
-								<simpleType>
-									<restriction base="string">
-										<enumeration value="BUSINESS_UNIT_DEFINITION"/>
-									</restriction>
-								</simpleType>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-				<element name="REQUEST">
-					<annotation>
-						<documentation>The REQUEST element contains the data neccessary for the request.  This data comes from the sending party to be analyzed and used by the receiving party.</documentation>
-					</annotation>
-					<complexType>
-						<sequence>
-							<element ref="pr:BUSINESS_UNITS" minOccurs="0"/>
-							<element ref="pr:USERS" minOccurs="0"/>
-							<element ref="pr:USER_ROLES" minOccurs="0"/>
-							<element ref="pr:ACCOUNTS" minOccurs="0"/>
-							<element ref="pr:CONTACTS" minOccurs="0"/>
-							<element ref="pr:BUSINESS_UNIT_AVAILABILITY" minOccurs="0"/>
-							<element ref="pr:OPERATING_PROFILES" minOccurs="0"/>
-							<element ref="pr:TRANSACTION_ROUTINGS" minOccurs="0"/>
-							<element ref="pr:USER_TO_BUSINESS_UNIT_MAPPINGS" minOccurs="0"/>
-							<element ref="pr:BUSINESS_UNIT_RELATIONSHIPS" minOccurs="0"/>
-							<element ref="pr:BUSINESS_UNIT_OPERATING_PROFILE_LINKS" minOccurs="0"/>
-						</sequence>
-					</complexType>
-				</element>
-			</sequence>
-			<attribute name="SCHEMA_VERSION" use="required">
-				<simpleType>
-					<restriction base="string">
-						<enumeration value="PARTNER_XML_INTERFACE_V1.10"/>
-					</restriction>
-				</simpleType>
-			</attribute>
-		</complexType>
-	</element>
-	<element name="IDS">
-		<complexType>
-			<sequence>
-				<element ref="pr:ID" maxOccurs="unbounded"/>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="ID" type="pr:IDType">
-		<annotation>
-			<documentation>When used in an IDS collection this is the ID by which the IDS collection's parent data element is referenced (linked).  When used as a subelement of *_LINK element this represents the ID of the referenced data element.  When used as a subelement of *_LINK element this represents the ID of the referenced data element.</documentation>
-		</annotation>
-	</element>
-	<element name="BUSINESS_UNITS">
-		<annotation>
-			<documentation>Defines a business unit within the distributor.  This might be a unit that contains users, such as a firm, or a group that contains other business units.  (Commonly used for reporting purposes)</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="BUSINESS_UNIT" type="pr:BUSINESS_UNITType" maxOccurs="unbounded"/>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="USERS">
-		<annotation>
-			<documentation>Defines the collection of users that will be using the system.</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="USER" maxOccurs="unbounded">
-					<complexType>
-						<sequence>
-							<element ref="pr:IDS"/>
-							<element name="ACTIVE" type="boolean" minOccurs="0">
-								<annotation>
-									<documentation>Flag indicating whether this user account is active or not.</documentation>
-								</annotation>
-							</element>
-							<element name="TIN" type="string" minOccurs="0">
-								<annotation>
-									<documentation>User's TIN or SSN</documentation>
-								</annotation>
-							</element>
-							<element name="USER_LOGON_ID" type="string" minOccurs="0">
-								<annotation>
-									<documentation>The user's logon id.  Should include letters and at least one number.  (i.e. user6)</documentation>
-								</annotation>
-							</element>
-							<element name="PASSWORD" type="string" minOccurs="0">
-								<annotation>
-									<documentation>The user's logon password.   Passwords should be at least 8 characters long, and include at least one of the following: letter, number and punctuation (i.e. 4pa$$word)</documentation>
-								</annotation>
-							</element>
-							<element name="LAST_NAME" type="string" minOccurs="0">
-								<annotation>
-									<documentation>The User's Last Name</documentation>
-								</annotation>
-							</element>
-							<element name="FIRST_NAME" type="string" minOccurs="0">
-								<annotation>
-									<documentation>The User's First Name</documentation>
-								</annotation>
-							</element>
-							<element name="MIDDLE_INITIAL" minOccurs="0">
-								<annotation>
-									<documentation>The User's middle initial</documentation>
-								</annotation>
-								<simpleType>
-									<restriction base="string">
-										<minLength value="0"/>
-										<maxLength value="1"/>
-									</restriction>
-								</simpleType>
-							</element>
-							<element name="SALUTATION_CD" minOccurs="0">
-								<annotation>
-									<documentation>The salutation of the user.  Should not include any punctuation.</documentation>
-								</annotation>
-								<simpleType>
-									<restriction base="string">
-										<enumeration value="Mr"/>
-										<enumeration value="Mrs"/>
-										<enumeration value="Ms"/>
-										<enumeration value="Miss"/>
-										<enumeration value="Dr"/>
-										<enumeration value="Rev"/>
-										<enumeration value="Atty"/>
-									</restriction>
-								</simpleType>
-							</element>
-							<element name="SUFFIX_CD" minOccurs="0">
-								<annotation>
-									<documentation>Name suffix of the user.  Should not include any punctuation.</documentation>
-								</annotation>
-								<simpleType>
-									<restriction base="string">
-										<enumeration value="Jr"/>
-										<enumeration value="Sr"/>
-										<enumeration value="II"/>
-										<enumeration value="III"/>
-										<enumeration value="IV"/>
-										<enumeration value="MD"/>
-									</restriction>
-								</simpleType>
-							</element>
-							<element name="EMAIL" type="string" minOccurs="0">
-								<annotation>
-									<documentation>The email address of the user.  Should be in Internet email format: mailbox@domain.com</documentation>
-								</annotation>
-							</element>
-							<element name="PHONE_NUMBER" type="string" minOccurs="0">
-								<annotation>
-									<documentation>The phone number of the user.</documentation>
-								</annotation>
-							</element>
-							<element name="LICENSES" type="pr:LICENSESType" minOccurs="0">
-								<annotation>
-									<documentation>The user's licenses, by type and state.  </documentation>
-								</annotation>
-							</element>
-							<element name="APPOINTMENTS" type="pr:APPOINTMENTSType" minOccurs="0">
-								<annotation>
-									<documentation>The User's appointment rights.</documentation>
-								</annotation>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="USER_ROLES">
-		<annotation>
-			<documentation>Defines the roles available to a user.</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="USER_ROLE" maxOccurs="unbounded">
-					<complexType>
-						<sequence>
-							<element ref="pr:IDS"/>
-							<element name="DESCRIPTION" type="string" minOccurs="0">
-								<annotation>
-									<documentation>Description of user role.</documentation>
-								</annotation>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="USER_TO_BUSINESS_UNIT_MAPPINGS">
-		<annotation>
-			<documentation>Defines the user, role, business unit linkages. At the current time AnnuityNet only supports a single role and business unit per user. If one wants to assign multiple roles and/or business units to an individual, then this individual has to appear twice in the USERS collection with different logins.</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="USER_TO_BUSINESS_UNIT_MAPPING" maxOccurs="unbounded">
-					<complexType>
-						<sequence>
-							<element name="BUSINESS_UNIT_LINK" type="pr:LINKType">
-								<annotation>
-									<documentation>The business unit the user will report to.</documentation>
-								</annotation>
-							</element>
-							<element name="USER_LINK" type="pr:LINKType">
-								<annotation>
-									<documentation>The ID of the user that is being mapped to the business unit.</documentation>
-								</annotation>
-							</element>
-							<element name="USER_ROLE_LINK" type="pr:LINKType">
-								<annotation>
-									<documentation>The User Role of the user, as they are mapped to the business unit.</documentation>
-								</annotation>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="BUSINESS_UNIT_AVAILABILITY">
-		<annotation>
-			<documentation>Indicates which products, riders, plans, service programs, and funds are available to a business unit.</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="BUSINESS_UNIT_LINKS">
-					<complexType>
-						<sequence>
-							<element name="BUSINESS_UNIT_LINK" maxOccurs="unbounded">
-								<complexType>
-									<sequence>
-										<element ref="pr:ID"/>
-										<element name="AVAILABILITY" type="pr:AVAILABILITYType">
-											<annotation>
-												<documentation>Each child element is used as a pass filter. That is, a particular product, plan, rider, service program, fund combination is available to a particular Business Unit in a particular state if this combination is available in the Distributor Definition xml and the Product Definition xml as well as being available in each of the children elements of this element.</documentation>
-											</annotation>
-										</element>
-									</sequence>
-								</complexType>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="OPTIONALITY" default="OPTIONAL">
-		<annotation>
-			<documentation>Is this a required or optional </documentation>
-		</annotation>
-		<simpleType>
-			<restriction base="string">
-				<enumeration value="REQUIRED"/>
-				<enumeration value="OPTIONAL"/>
-			</restriction>
-		</simpleType>
-	</element>
-	<element name="TRANSACTION_ROUTINGS">
-		<annotation>
-			<documentation>Defines the possible transaction routing methods to be used by the business units.  Each transaction routing can include parameters that need to be filled out for that routing type. This element also exists in the Distributor Definition xml which is the preferred source of this information.</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="TRANSACTION_ROUTING" maxOccurs="unbounded">
-					<complexType>
-						<choice>
-							<element ref="pr:ID"/>
-							<sequence>
-								<element ref="pr:IDS"/>
-								<element name="NAME" type="string">
-									<annotation>
-										<documentation>The name of this transaction routing.</documentation>
-									</annotation>
-								</element>
-								<element name="FORMAT">
-									<annotation>
-										<documentation>Formats in which transaction requests may be recieved</documentation>
-									</annotation>
-									<simpleType>
-										<restriction base="string">
-											<enumeration value="ANSI"/>
-											<enumeration value="NSCC"/>
-											<enumeration value="ANNUITYNET_PROFILE_V1.0"/>
-											<enumeration value="XMLIFE"/>
-											<enumeration value="TXMLIFE"/>
-										</restriction>
-									</simpleType>
-								</element>
-								<element name="PARAMETERS" minOccurs="0">
-									<annotation>
-										<documentation>A collection of parameters and values that are neccessary for the transaction routing.  For instance, an NSCC routing would require a NSCC ID.  In this scope, the distributor defines the possible parameters for each routing type, and will fill in the values in the similar structure within the OPERATING_PROFILES element.</documentation>
-									</annotation>
-									<complexType>
-										<sequence>
-											<element name="PARAMETER" maxOccurs="unbounded">
-												<complexType>
-													<sequence>
-														<element name="NAME" type="string">
-															<annotation>
-																<documentation>The name of the parameter</documentation>
-															</annotation>
-														</element>
-													</sequence>
-												</complexType>
-											</element>
-										</sequence>
-									</complexType>
-								</element>
-							</sequence>
-						</choice>
-					</complexType>
-				</element>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="BUSINESS_UNIT_OPERATING_PROFILE_LINKS">
-		<annotation>
-			<documentation>Links the defined operating profiles to the business units they apply to.</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="BUSINESS_UNIT_LINKS">
-					<complexType>
-						<sequence>
-							<element name="BUSINESS_UNIT_LINK" maxOccurs="unbounded">
-								<complexType>
-									<sequence>
-										<element ref="pr:ID"/>
-										<element name="PRODUCT_LINKS">
-											<complexType>
-												<sequence>
-													<element name="PRODUCT_LINK" maxOccurs="unbounded">
-														<complexType>
-															<sequence>
-																<element ref="pr:ID"/>
-																<element name="OPERATING_PROFILE_LINKS" minOccurs="0">
-																	<complexType>
-																		<sequence>
-																			<element name="OPERATING_PROFILE_LINK" maxOccurs="unbounded">
-																				<annotation>
-																					<documentation>These operating profiles must be restrictions of the operating profiles corresponding to the same product in the Distributor Definition xml.</documentation>
-																				</annotation>
-																				<complexType>
-																					<sequence>
-																						<element ref="pr:ID"/>
-																					</sequence>
-																				</complexType>
-																			</element>
-																		</sequence>
-																	</complexType>
-																</element>
-															</sequence>
-														</complexType>
-													</element>
-												</sequence>
-											</complexType>
-										</element>
-									</sequence>
-								</complexType>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="OPERATING_PROFILES">
-		<annotation>
-			<documentation>Defines a set of possible commission options, transaction types, and money forms available to the business unit. Also, the netting option and transaction routing that the for each transaction type. </documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="OPERATING_PROFILE" type="pr:OPERATING_PROFILEType" maxOccurs="unbounded"/>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="CONTACTS">
-		<annotation>
-			<documentation>Contact information.</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="CONTACT" maxOccurs="unbounded">
-					<complexType>
-						<sequence>
-							<element ref="pr:IDS"/>
-							<element name="NAME" type="string" minOccurs="0">
-								<annotation>
-									<documentation>Contact name.</documentation>
-								</annotation>
-							</element>
-							<element name="PHONE_NUMBER" type="string" minOccurs="0">
-								<annotation>
-									<documentation>Contact phone number.</documentation>
-								</annotation>
-							</element>
-							<element name="EMAIL" type="string" minOccurs="0">
-								<annotation>
-									<documentation>Contact e-mail address.</documentation>
-								</annotation>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="BUSINESS_UNIT_RELATIONSHIPS">
-		<annotation>
-			<documentation>Defines the reporting hierarchy. AnnuityNet only supports a single hierarchy -- that is, each business unit can have at most one parent.</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="BUSINESS_UNIT_RELATIONSHIP" maxOccurs="unbounded">
-					<complexType>
-						<sequence>
-							<element name="PARENT_BUSINESS_UNIT_LINK" type="pr:LINKType">
-								<annotation>
-									<documentation>Link to the  business unit that will hold the child business unit.</documentation>
-								</annotation>
-							</element>
-							<element name="CHILD_BUSINESS_UNIT_LINK" type="pr:LINKType">
-								<annotation>
-									<documentation>The link to the business unit that resides within the parent.</documentation>
-								</annotation>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-			</sequence>
-		</complexType>
-	</element>
-	<element name="ACCOUNTS">
-		<annotation>
-			<documentation>Accounts to be reported on.</documentation>
-		</annotation>
-		<complexType>
-			<sequence>
-				<element name="ACCOUNT" maxOccurs="unbounded">
-					<complexType>
-						<sequence>
-							<element ref="pr:IDS"/>
-							<element name="ACCOUNT_NAME" type="string" minOccurs="0">
-								<annotation>
-									<documentation>The name of the account.</documentation>
-								</annotation>
-							</element>
-							<element name="OWNER_NAME" type="string" minOccurs="0">
-								<annotation>
-									<documentation>The name of the owner of the account</documentation>
-								</annotation>
-							</element>
-							<element name="ABA_NUMBER" type="string" minOccurs="0">
-								<annotation>
-									<documentation>The ABA number for the account.</documentation>
-								</annotation>
-							</element>
-							<element name="ACCOUNT_NUMBER" type="string" minOccurs="0">
-								<annotation>
-									<documentation>The account number.</documentation>
-								</annotation>
-							</element>
-							<element name="PURPOSE" minOccurs="0">
-								<annotation>
-									<documentation>The usage of the account.</documentation>
-								</annotation>
-								<simpleType>
-									<restriction base="string">
-										<enumeration value="PREMIUM COLLECTION"/>
-										<enumeration value="COMMISSION RECIEPTS"/>
-									</restriction>
-								</simpleType>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-			</sequence>
-		</complexType>
-	</element>
-	<complexType name="LINKType">
-		<sequence>
-			<element ref="pr:ID"/>
-		</sequence>
-	</complexType>
-	<complexType name="STEPType">
-		<sequence>
-			<element name="RECEIVING_PARTY_ID" type="string"/>
-			<element name="SENDING_PARTY_ID" type="string"/>
-		</sequence>
-	</complexType>
-	<complexType name="IDType">
-		<simpleContent>
-			<extension base="string">
-				<attribute name="PARTY_LINK_ID" type="string" use="required"/>
-			</extension>
-		</simpleContent>
-	</complexType>
-	<complexType name="STATESType">
-		<sequence>
-			<element name="EXCEPTION" type="boolean" default="0" minOccurs="0">
-				<annotation>
-					<documentation>If the exception flag is on, then the state list includes all states, EXCEPT the associated (list) of state(s) </documentation>
-				</annotation>
-			</element>
-			<element name="STATE" type="pr:STATEType" minOccurs="0" maxOccurs="unbounded">
-				<annotation>
-					<documentation>Details of State and State approval for selling a product in a specific state</documentation>
-				</annotation>
-			</element>
-		</sequence>
-	</complexType>
-	<complexType name="STATEType">
-		<sequence>
-			<element name="CODE">
-				<annotation>
-					<documentation>Two digit state code</documentation>
-				</annotation>
-				<simpleType>
-					<restriction base="string">
-						<length value="2"/>
-					</restriction>
-				</simpleType>
-			</element>
-			<element name="BEGIN_DATE" type="date" minOccurs="0">
-				<annotation>
-					<documentation>Date state approval become effective</documentation>
-				</annotation>
-			</element>
-			<element name="END_DATE" type="date" minOccurs="0">
-				<annotation>
-					<documentation>Date state approval expires</documentation>
-				</annotation>
-			</element>
-			<element name="TERM_DATE" type="date" minOccurs="0"/>
-		</sequence>
-	</complexType>
-	<complexType name="LICENSESType">
-		<annotation>
-			<documentation>Variable sales can only be made when the rep or firm is both FIXED and VARIABLE licensed in the state.</documentation>
-		</annotation>
-		<sequence>
-			<element name="LICENSE" maxOccurs="2">
-				<complexType>
-					<sequence>
-						<element name="TYPE">
-							<annotation>
-								<documentation>Indicates whether the license is for fixed or variable annuities.</documentation>
-							</annotation>
-							<simpleType>
-								<restriction base="string">
-									<enumeration value="FIXED"/>
-									<enumeration value="VARIABLE"/>
-								</restriction>
-							</simpleType>
-						</element>
-						<element name="STATES" type="pr:STATESType"/>
-					</sequence>
-				</complexType>
-			</element>
-		</sequence>
-	</complexType>
-	<complexType name="APPOINTMENTSType">
-		<sequence>
-			<element name="APPOINTMENT" maxOccurs="unbounded">
-				<complexType>
-					<sequence>
-						<element name="STATUS">
-							<annotation>
-								<documentation>The status of this appointment.</documentation>
-							</annotation>
-							<simpleType>
-								<restriction base="string">
-									<enumeration value="PENDING"/>
-									<enumeration value="APPOINTED"/>
-									<enumeration value="TERMINATED"/>
-								</restriction>
-							</simpleType>
-						</element>
-						<element name="NEW_BUSINESS" type="boolean">
-							<annotation>
-								<documentation>Flag indicating whether the appointment includes New Business transactions.</documentation>
-							</annotation>
-						</element>
-						<element name="COMMISSIONS" type="boolean">
-							<annotation>
-								<documentation>Flag indicating whether the appointment includes Commisions.</documentation>
-							</annotation>
-						</element>
-						<element name="WRITING_COMPANY">
-							<annotation>
-								<documentation>Writing company and lines of business.</documentation>
-							</annotation>
-							<complexType>
-								<sequence>
-									<element ref="pr:ID"/>
-									<element name="LINES_OF_BUSINESS" minOccurs="0">
-										<complexType>
-											<sequence>
-												<element name="LINE_OF_BUSINESS" maxOccurs="unbounded">
-													<simpleType>
-														<restriction base="string">
-															<enumeration value="INDIVIDUAL_LIFE"/>
-															<enumeration value="VARIABLE_ANNUITIES"/>
-															<enumeration value="FIXED_ANNUITIES"/>
-															<enumeration value="GROUP_LIFE"/>
-															<enumeration value="VARIABLE_LIFE"/>
-															<enumeration value="ALL"/>
-														</restriction>
-													</simpleType>
-												</element>
-											</sequence>
-										</complexType>
-									</element>
-								</sequence>
-							</complexType>
-						</element>
-						<element name="STATES" type="pr:STATESType"/>
-					</sequence>
-				</complexType>
-			</element>
-		</sequence>
-	</complexType>
-	<complexType name="BUSINESS_UNITType">
-		<choice>
-			<sequence>
-				<element ref="pr:ID"/>
-				<element name="ACTIVE" type="boolean" minOccurs="0">
-					<annotation>
-						<documentation>Indicates whether the business unit is active or not.</documentation>
-					</annotation>
-				</element>
-			</sequence>
-			<sequence>
-				<element ref="pr:IDS"/>
-				<element name="ACTIVE" type="boolean">
-					<annotation>
-						<documentation>Indicates whether the business unit is active or not.</documentation>
-					</annotation>
-				</element>
-				<element name="NAME" type="string">
-					<annotation>
-						<documentation>The name of the business unit.</documentation>
-					</annotation>
-				</element>
-				<element name="CLASS" type="string">
-					<annotation>
-						<documentation>Level in the reporting hierarchy. Common values are Branch, Region, Distributor, Field Office, etc.</documentation>
-					</annotation>
-				</element>
-				<element name="TIN" type="string">
-					<annotation>
-						<documentation>The tax identification number</documentation>
-					</annotation>
-				</element>
-				<element name="ACCOUNT_LINKS" minOccurs="0">
-					<complexType>
-						<sequence>
-							<element name="ACCOUNT_LINK" maxOccurs="unbounded">
-								<complexType>
-									<sequence>
-										<element ref="pr:ID"/>
-									</sequence>
-								</complexType>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-				<element name="CONTACT_LINKS" minOccurs="0">
-					<annotation>
-						<documentation>Links to the Distributor contacts for the Business Unit in the case of questions or problems.</documentation>
-					</annotation>
-					<complexType>
-						<sequence>
-							<element name="CONTACT_LINK" maxOccurs="unbounded">
-								<complexType>
-									<sequence>
-										<element ref="pr:ID"/>
-										<element name="RESPONSIBILITY" type="string" minOccurs="0" maxOccurs="unbounded">
-											<annotation>
-												<documentation>The purpose for which the contact should be used.</documentation>
-											</annotation>
-										</element>
-									</sequence>
-								</complexType>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-			</sequence>
-		</choice>
-	</complexType>
-	<complexType name="OPERATING_PROFILEType">
-		<sequence>
-			<element ref="pr:IDS"/>
-			<element name="NETTING_OPTION" type="boolean" minOccurs="0">
-				<annotation>
-					<documentation>The netting option to be used.</documentation>
-				</annotation>
-			</element>
-			<element name="COMMISSION_OPTION_LINKS" minOccurs="0">
-				<annotation>
-					<documentation>Links available commission options to the profile. </documentation>
-				</annotation>
-				<complexType>
-					<sequence>
-						<element name="COMMISSION_OPTION_LINK" maxOccurs="unbounded">
-							<annotation>
-								<documentation>Commission options available</documentation>
-							</annotation>
-							<complexType>
-								<sequence>
-									<element ref="pr:ID"/>
-								</sequence>
-							</complexType>
-						</element>
-					</sequence>
-				</complexType>
-			</element>
-			<element name="TRANSACTION_TYPES" minOccurs="0">
-				<annotation>
-					<documentation>Describes the transaction types and money forms allowed in this profile.</documentation>
-				</annotation>
-				<complexType>
-					<sequence>
-						<element name="TRANSACTION_TYPE" maxOccurs="unbounded">
-							<complexType>
-								<sequence>
-									<element name="TYPE">
-										<annotation>
-											<documentation>The types of transaction being allowed.</documentation>
-										</annotation>
-										<simpleType>
-											<restriction base="string">
-												<enumeration value="APPLICATION"/>
-												<enumeration value="INITIAL_PREMIUM"/>
-												<enumeration value="SUBSEQUENT_PREMIUM"/>
-												<enumeration value="SCHEDULED_ACH_PROGRAM"/>
-												<enumeration value="WITHDRAWAL"/>
-												<enumeration value="SURRENDER"/>
-												<enumeration value="TRANSFER"/>
-												<enumeration value="REBALANCE"/>
-												<enumeration value="SYSTEMATIC_WITHDRAWAL_PROGRAM"/>
-												<enumeration value="MRD_PROGRAM"/>
-												<enumeration value="MRD"/>
-												<enumeration value="SCHEDULED_REBALANCE_PROGRAM"/>
-												<enumeration value="DCA"/>
-												<enumeration value="DCA_PROGRAM"/>
-												<enumeration value="SYSTEMATIC_WITHDRAWAL_PROGRAM"/>
-												<enumeration value="RENEWAL"/>
-												<enumeration value="ANNUITIZATION"/>
-												<enumeration value="PAYOUT"/>
-												<enumeration value="DEATH_CLAIM_PENDING"/>
-												<enumeration value="DEATH_CLAIM"/>
-												<enumeration value="SYSTEMATIC_WITHDRAWAL"/>
-												<enumeration value="SCHEDULED_ACH"/>
-											</restriction>
-										</simpleType>
-									</element>
-									<element name="MONEY_FORMS" type="pr:MONEY_FORMSType" minOccurs="0">
-										<annotation>
-											<documentation>The possible money sources (forms) approved for transfers or transactions into this product.</documentation>
-										</annotation>
-									</element>
-								</sequence>
-							</complexType>
-						</element>
-					</sequence>
-				</complexType>
-			</element>
-			<element name="TRANSACTION_ROUTING_LINK" minOccurs="0">
-				<complexType>
-					<sequence>
-						<element ref="pr:ID"/>
-						<element name="PARAMETERS" minOccurs="0">
-							<annotation>
-								<documentation>The collection of filled in parameters for this transaction routing.  For example, this would specify the NSCC number, for a NSCC transaction routing.</documentation>
-							</annotation>
-							<complexType>
-								<sequence>
-									<element name="PARAMETER" maxOccurs="unbounded">
-										<complexType>
-											<sequence>
-												<element name="NAME" type="string">
-													<annotation>
-														<documentation>The name of the parameter.  Should match the name of the parameter as defined in the TRANSACTION_ROUTING structure.</documentation>
-													</annotation>
-												</element>
-												<element name="VALUE" type="anySimpleType">
-													<annotation>
-														<documentation>The value of this parameter for the profile.</documentation>
-													</annotation>
-												</element>
-											</sequence>
-										</complexType>
-									</element>
-								</sequence>
-							</complexType>
-						</element>
-					</sequence>
-				</complexType>
-			</element>
-		</sequence>
-	</complexType>
-	<complexType name="MONEY_FORMSType">
-		<sequence>
-			<element name="MONEY_FORM" maxOccurs="unbounded">
-				<complexType>
-					<simpleContent>
-						<restriction base="string">
-							<enumeration value="DIRECT"/>
-							<enumeration value="EXCHANGE"/>
-							<enumeration value="DIRECT_ROLLOVER"/>
-							<enumeration value="ROLLOVER"/>
-							<enumeration value="TRANSFER"/>
-							<enumeration value="ROTH_CONVERSION"/>
-							<enumeration value="TAX_YEAR"/>
-						</restriction>
-					</simpleContent>
-				</complexType>
-			</element>
-		</sequence>
-	</complexType>
-	<complexType name="AVAILABILITYType">
-		<sequence>
-			<element name="PRODUCTS" minOccurs="0">
-				<annotation>
-					<documentation>Product availability by state.</documentation>
-				</annotation>
-				<complexType>
-					<sequence>
-						<element name="PRODUCT_LINKS">
-							<complexType>
-								<sequence>
-									<element name="PRODUCT_LINK" maxOccurs="unbounded">
-										<annotation>
-											<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
-										</annotation>
-										<complexType>
-											<sequence>
-												<element ref="pr:ID"/>
-												<element name="STATES" type="pr:STATESType" minOccurs="0">
-													<annotation>
-														<documentation>States in which this product is available for sale</documentation>
-													</annotation>
-												</element>
-											</sequence>
-										</complexType>
-									</element>
-								</sequence>
-							</complexType>
-						</element>
-					</sequence>
-				</complexType>
-			</element>
-			<element name="PRODUCTS_PLANS" minOccurs="0">
-				<annotation>
-					<documentation>Plan availability for products by state.</documentation>
-				</annotation>
-				<complexType>
-					<sequence>
-						<element name="PRODUCT_LINKS">
-							<complexType>
-								<sequence>
-									<element name="PRODUCT_LINK" maxOccurs="unbounded">
-										<annotation>
-											<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
-										</annotation>
-										<complexType>
-											<sequence>
-												<element ref="pr:ID"/>
-												<element name="PLAN_LINKS" minOccurs="0">
-													<complexType>
-														<sequence>
-															<element name="PLAN_LINK" maxOccurs="unbounded">
-																<annotation>
-																	<documentation>This references a REQUEST/PLANS/PLAN.</documentation>
-																</annotation>
-																<complexType>
-																	<sequence>
-																		<element ref="pr:ID"/>
-																		<element name="STATES" type="pr:STATESType" minOccurs="0"/>
-																	</sequence>
-																</complexType>
-															</element>
-														</sequence>
-													</complexType>
-												</element>
-											</sequence>
-										</complexType>
-									</element>
-								</sequence>
-							</complexType>
-						</element>
-					</sequence>
-				</complexType>
-			</element>
-			<choice minOccurs="0">
-				<element name="PRODUCTS_RIDERS">
-					<annotation>
-						<documentation>A carrier may use either the PRODUCTS_RIDERS or the PRODUCTS_PLANS_RIDERS elements, but not both.</documentation>
-					</annotation>
-					<complexType>
-						<sequence>
-							<element name="PRODUCT_LINKS">
-								<complexType>
-									<sequence>
-										<element name="PRODUCT_LINK" maxOccurs="unbounded">
-											<annotation>
-												<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
-											</annotation>
-											<complexType>
-												<sequence>
-													<element ref="pr:ID"/>
-													<element name="RIDER_LINKS" minOccurs="0">
-														<complexType>
-															<sequence>
-																<element name="RIDER_LINK" maxOccurs="unbounded">
-																	<annotation>
-																		<documentation>This references a REQUEST/RIDERS/RIDER.</documentation>
-																	</annotation>
-																	<complexType>
-																		<sequence>
-																			<element ref="pr:ID"/>
-																			<element name="CONFIGURATION_LINKS" minOccurs="0">
-																				<complexType>
-																					<sequence>
-																						<element name="CONFIGURATION_LINK" maxOccurs="unbounded">
-																							<annotation>
-																								<documentation>This references a RIDERS/RIDER/CONFIGURATIONS/CONFIGURATION element.</documentation>
-																							</annotation>
-																							<complexType>
-																								<sequence>
-																									<element ref="pr:ID"/>
-																									<element name="STATES" type="pr:STATESType" minOccurs="0"/>
-																								</sequence>
-																							</complexType>
-																						</element>
-																					</sequence>
-																				</complexType>
-																			</element>
-																			<element ref="pr:OPTIONALITY" minOccurs="0"/>
-																		</sequence>
-																	</complexType>
-																</element>
-															</sequence>
-														</complexType>
-													</element>
-												</sequence>
-											</complexType>
-										</element>
-									</sequence>
-								</complexType>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-				<element name="PRODUCTS_PLANS_RIDERS">
-					<annotation>
-						<documentation>A carrier may use either the PRODUCTS_RIDERS or the PRODUCTS_PLANS_RIDERS elements, but not both.</documentation>
-					</annotation>
-					<complexType>
-						<sequence>
-							<element name="PRODUCT_LINKS">
-								<complexType>
-									<sequence>
-										<element name="PRODUCT_LINK" maxOccurs="unbounded">
-											<annotation>
-												<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
-											</annotation>
-											<complexType>
-												<sequence>
-													<element ref="pr:ID"/>
-													<element name="PLAN_LINKS" minOccurs="0">
-														<annotation>
-															<documentation>Plans for which (list) of rider(s) is available</documentation>
-														</annotation>
-														<complexType>
-															<sequence>
-																<element name="PLAN_LINK" maxOccurs="unbounded">
-																	<annotation>
-																		<documentation>This references a REQUEST/PLANS/PLAN.</documentation>
-																	</annotation>
-																	<complexType>
-																		<sequence>
-																			<element ref="pr:ID"/>
-																			<element name="RIDER_LINKS" minOccurs="0">
-																				<complexType>
-																					<sequence>
-																						<element name="RIDER_LINK" maxOccurs="unbounded">
-																							<annotation>
-																								<documentation>This references a REQUEST/RIDERS/RIDER.</documentation>
-																							</annotation>
-																							<complexType>
-																								<sequence>
-																									<element ref="pr:ID"/>
-																									<element name="CONFIGURATION_LINKS" minOccurs="0">
-																										<complexType>
-																											<sequence>
-																												<element name="CONFIGURATION_LINK" maxOccurs="unbounded">
-																													<annotation>
-																														<documentation>This references a RIDERS/RIDER/CONFIGURATIONS/CONFIGURATION element.</documentation>
-																													</annotation>
-																													<complexType>
-																														<sequence>
-																															<element ref="pr:ID"/>
-																															<element name="STATES" type="pr:STATESType" minOccurs="0"/>
-																														</sequence>
-																													</complexType>
-																												</element>
-																											</sequence>
-																										</complexType>
-																									</element>
-																									<element ref="pr:OPTIONALITY" minOccurs="0"/>
-																								</sequence>
-																							</complexType>
-																						</element>
-																					</sequence>
-																				</complexType>
-																			</element>
-																		</sequence>
-																	</complexType>
-																</element>
-															</sequence>
-														</complexType>
-													</element>
-												</sequence>
-											</complexType>
-										</element>
-									</sequence>
-								</complexType>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-			</choice>
-			<choice minOccurs="0">
-				<element name="PRODUCTS_SERVICE_PROGRAMS">
-					<annotation>
-						<documentation>A carrier may use either the PRODUCTS_SERVICE_PROGRAMS or the PRODUCTS_PLANS_SERVICE_PROGRAMS elements, but not both.</documentation>
-					</annotation>
-					<complexType>
-						<sequence>
-							<element name="PRODUCT_LINKS">
-								<complexType>
-									<sequence>
-										<element name="PRODUCT_LINK" maxOccurs="unbounded">
-											<annotation>
-												<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
-											</annotation>
-											<complexType>
-												<sequence>
-													<element ref="pr:ID"/>
-													<element name="SERVICE_PROGRAM_LINKS" minOccurs="0">
-														<complexType>
-															<sequence>
-																<element name="SERVICE_PROGRAM_LINK" maxOccurs="unbounded">
-																	<annotation>
-																		<documentation>This references a REQUEST/SERVICE_PROGRAMS/SERVICE_PROGRAM element.</documentation>
-																	</annotation>
-																	<complexType>
-																		<sequence>
-																			<element ref="pr:ID"/>
-																			<element name="OPTION_LINKS" minOccurs="0">
-																				<complexType>
-																					<sequence>
-																						<element name="OPTION_LINK" maxOccurs="unbounded">
-																							<annotation>
-																								<documentation>This references a SERVICE_PROGRAMS/SERVICE_PROGRAM/OPTIONS/OPTION element.</documentation>
-																							</annotation>
-																							<complexType>
-																								<sequence>
-																									<element ref="pr:ID"/>
-																								</sequence>
-																							</complexType>
-																						</element>
-																					</sequence>
-																				</complexType>
-																			</element>
-																			<element name="CONFIGURATION_LINKS" minOccurs="0">
-																				<complexType>
-																					<sequence>
-																						<element name="CONFIGURATION_LINK" maxOccurs="unbounded">
-																							<annotation>
-																								<documentation>This references a SERVICE_PROGRAMS/SERVICE_PROGRAM/CONFIGURATIONS/CONFIGURATION element.</documentation>
-																							</annotation>
-																							<complexType>
-																								<sequence>
-																									<element ref="pr:ID"/>
-																									<element name="STATES" type="pr:STATESType" minOccurs="0"/>
-																								</sequence>
-																							</complexType>
-																						</element>
-																					</sequence>
-																				</complexType>
-																			</element>
-																			<element ref="pr:OPTIONALITY" minOccurs="0"/>
-																		</sequence>
-																	</complexType>
-																</element>
-															</sequence>
-														</complexType>
-													</element>
-												</sequence>
-											</complexType>
-										</element>
-									</sequence>
-								</complexType>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-				<element name="PRODUCTS_PLANS_SERVICE_PROGRAMS">
-					<annotation>
-						<documentation>A carrier may use either the PRODUCTS_SERVICE_PROGRAMS or the PRODUCTS_PLANS_SERVICE_PROGRAMS elements, but not both.</documentation>
-					</annotation>
-					<complexType>
-						<sequence>
-							<element name="PRODUCT_LINKS">
-								<complexType>
-									<sequence>
-										<element name="PRODUCT_LINK" maxOccurs="unbounded">
-											<annotation>
-												<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
-											</annotation>
-											<complexType>
-												<sequence>
-													<element ref="pr:ID"/>
-													<element name="PLAN_LINKS" minOccurs="0">
-														<complexType>
-															<sequence>
-																<element name="PLAN_LINK" maxOccurs="unbounded">
-																	<annotation>
-																		<documentation>This references a REQUEST/PLANS/PLAN.</documentation>
-																	</annotation>
-																	<complexType>
-																		<sequence>
-																			<element ref="pr:ID"/>
-																			<element name="SERVICE_PROGRAM_LINKS" minOccurs="0">
-																				<complexType>
-																					<sequence>
-																						<element name="SERVICE_PROGRAM_LINK" maxOccurs="unbounded">
-																							<annotation>
-																								<documentation>This references a REQUEST/SERVICE_PROGRAMS/SERVICE_PROGRAM element.</documentation>
-																							</annotation>
-																							<complexType>
-																								<sequence>
-																									<element ref="pr:ID"/>
-																									<element name="OPTION__LINKS" minOccurs="0">
-																										<complexType>
-																											<sequence>
-																												<element name="OPTION__LINK" maxOccurs="unbounded">
-																													<annotation>
-																														<documentation>This references a SERVICE_PROGRAMS/SERVICE_PROGRAM/OPTIONS/OPTION element.</documentation>
-																													</annotation>
-																													<complexType>
-																														<sequence>
-																															<element ref="pr:ID"/>
-																														</sequence>
-																													</complexType>
-																												</element>
-																											</sequence>
-																										</complexType>
-																									</element>
-																									<element name="CONFIGURATION_LINKS" minOccurs="0">
-																										<complexType>
-																											<sequence>
-																												<element name="CONFIGURATION_LINK" maxOccurs="unbounded">
-																													<annotation>
-																														<documentation>This references a SERVICE_PROGRAMS/SERVICE_PROGRAM/CONFIGURATIONS/CONFIGURATION element.</documentation>
-																													</annotation>
-																													<complexType>
-																														<sequence>
-																															<element ref="pr:ID"/>
-																															<element name="STATES" type="pr:STATESType" minOccurs="0"/>
-																														</sequence>
-																													</complexType>
-																												</element>
-																											</sequence>
-																										</complexType>
-																									</element>
-																									<element ref="pr:OPTIONALITY" minOccurs="0"/>
-																								</sequence>
-																							</complexType>
-																						</element>
-																					</sequence>
-																				</complexType>
-																			</element>
-																		</sequence>
-																	</complexType>
-																</element>
-															</sequence>
-														</complexType>
-													</element>
-												</sequence>
-											</complexType>
-										</element>
-									</sequence>
-								</complexType>
-							</element>
-						</sequence>
-					</complexType>
-				</element>
-			</choice>
-			<element name="PRODUCTS_INVESTMENT_OPTIONS" minOccurs="0">
-				<annotation>
-					<documentation>Investment Option availability for products by state</documentation>
-				</annotation>
-				<complexType>
-					<sequence>
-						<element name="PRODUCT_LINKS">
-							<complexType>
-								<sequence>
-									<element name="PRODUCT_LINK" maxOccurs="unbounded">
-										<annotation>
-											<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
-										</annotation>
-										<complexType>
-											<sequence>
-												<element ref="pr:ID"/>
-												<element name="INVESTMENT_OPTIONS_LINKS" minOccurs="0">
-													<complexType>
-														<sequence>
-															<element name="INVESTMENT_OPTIONS_LINK" maxOccurs="unbounded">
-																<annotation>
-																	<documentation>This references a an INVESTMENT_OPTION element.</documentation>
-																</annotation>
-																<complexType>
-																	<sequence>
-																		<element ref="pr:ID"/>
-																		<element name="STATES" type="pr:STATESType" minOccurs="0"/>
-																	</sequence>
-																</complexType>
-															</element>
-														</sequence>
-													</complexType>
-												</element>
-											</sequence>
-										</complexType>
-									</element>
-								</sequence>
-							</complexType>
-						</element>
-					</sequence>
-				</complexType>
-			</element>
-		</sequence>
-	</complexType>
-</schema>
diff --git a/v1/test/cases/schema/annuity/annuitynet.xsdconfig b/v1/test/cases/schema/annuity/annuitynet.xsdconfig
deleted file mode 100644
index a256a5f..0000000
--- a/v1/test/cases/schema/annuity/annuitynet.xsdconfig
+++ /dev/null
@@ -1,150 +0,0 @@
-<xb:config xmlns:xb="http://www.bea.com/2002/09/xbean/config"
-           xmlns:an="http://www.annuitynet.com/namespace/profiles">
-
-  <xb:namespace uri="http://www.annuitynet.com/namespace/profiles">
-    <xb:package>com.annuitynet</xb:package>
-  </xb:namespace>
-
-  <xb:qname name="an:ABA_NUMBER" javaname="AbaNumber"/>
-  <xb:qname name="an:ACCOUNT" javaname="Account"/>
-  <xb:qname name="an:ACCOUNTS" javaname="Accounts"/>
-  <xb:qname name="an:ACCOUNT_LINK" javaname="AccountL"/>
-  <xb:qname name="an:ACCOUNT_LINKS" javaname="AccountLs"/>
-  <xb:qname name="an:ACCOUNT_NAME" javaname="AccountName"/>
-  <xb:qname name="an:ACCOUNT_NUMBER" javaname="AccountNumber"/>
-  <xb:qname name="an:ACTIVE" javaname="Active"/>
-  <xb:qname name="an:ACTIVITY" javaname="Activity"/>
-  <xb:qname name="an:APPOINTMENT" javaname="Appt"/>
-  <xb:qname name="an:APPOINTMENTS" javaname="Appts"/>
-  <xb:qname name="an:APPOINTMENTSType" javaname="ApptsT"/>
-  <xb:qname name="an:AS_OF_DATETIME" javaname="AsOfDatetime"/>
-  <xb:qname name="an:AVAILABILITY" javaname="Avail"/>
-  <xb:qname name="an:AVAILABILITYType" javaname="AvailT"/>
-  <xb:qname name="an:BEGIN_DATE" javaname="BeginDate"/>
-  <xb:qname name="an:BUSINESS_UNIT" javaname="BU"/>
-  <xb:qname name="an:BUSINESS_UNITS" javaname="BUs"/>
-  <xb:qname name="an:BUSINESS_UNITType" javaname="BUT"/>
-  <xb:qname name="an:BUSINESS_UNIT_AVAILABILITY" javaname="BUAvail"/>
-  <xb:qname name="an:BUSINESS_UNIT_LINK" javaname="BUL"/>
-  <xb:qname name="an:BUSINESS_UNIT_LINKS" javaname="BULs"/>
-  <xb:qname name="an:BUSINESS_UNIT_OPERATING_PROFILE_LINKS" javaname="BUOperatingProfileLs"/>
-  <xb:qname name="an:BUSINESS_UNIT_RELATIONSHIP" javaname="BURelationship"/>
-  <xb:qname name="an:BUSINESS_UNIT_RELATIONSHIPS" javaname="BURelationships"/>
-  <xb:qname name="an:CHILD_BUSINESS_UNIT_LINK" javaname="ChildBUL"/>
-  <xb:qname name="an:CLASS" javaname="Class"/>
-  <xb:qname name="an:CODE" javaname="Code"/>
-  <xb:qname name="an:COMMISSIONS" javaname="Commisions"/>
-  <xb:qname name="an:COMMISSION_OPTION_LINK" javaname="CommisionOptL"/>
-  <xb:qname name="an:COMMISSION_OPTION_LINKS" javaname="CommisionOptLs"/>
-  <xb:qname name="an:CONFIGURATION_LINK" javaname="CfgL"/>
-  <xb:qname name="an:CONFIGURATION_LINKS" javaname="CfgLs"/>
-  <xb:qname name="an:CONTACT" javaname="Contact"/>
-  <xb:qname name="an:CONTACTS" javaname="Contacts"/>
-  <xb:qname name="an:CONTACT_LINK" javaname="ContactL"/>
-  <xb:qname name="an:CONTACT_LINKS" javaname="ContactLs"/>
-  <xb:qname name="an:DESCRIPTION" javaname="Description"/>
-  <xb:qname name="an:EFFECTIVE_DATE" javaname="EffectiveDate"/>
-  <xb:qname name="an:EMAIL" javaname="Email"/>
-  <xb:qname name="an:END_DATE" javaname="EndDate"/>
-  <xb:qname name="an:ENVELOPE" javaname="Envelope"/>
-  <xb:qname name="an:EXCEPTION" javaname="Exception"/>
-  <xb:qname name="an:FIRST_NAME" javaname="FirstName"/>
-  <xb:qname name="an:FORMAT" javaname="Format"/>
-  <xb:qname name="an:HEADER" javaname="Header"/>
-  <xb:qname name="an:ID" javaname="ID"/>
-  <xb:qname name="an:IDS" javaname="IDs"/>
-  <xb:qname name="an:IDType" javaname="IDT"/>
-  <xb:qname name="an:INVESTMENT_OPTIONS_LINK" javaname="InvOptsL"/>
-  <xb:qname name="an:INVESTMENT_OPTIONS_LINKS" javaname="InvOptsLs"/>
-  <xb:qname name="an:LAST_NAME" javaname="LastName"/>
-  <xb:qname name="an:LICENSE" javaname="License"/>
-  <xb:qname name="an:LICENSES" javaname="Licenses"/>
-  <xb:qname name="an:LICENSESType" javaname="LicensesT"/>
-  <xb:qname name="an:LINES_OF_BUSINESS" javaname="LinesOfBusiness"/>
-  <xb:qname name="an:LINE_OF_BUSINESS" javaname="LineOfBusiness"/>
-  <xb:qname name="an:LINKType" javaname="LT"/>
-  <xb:qname name="an:MIDDLE_INITIAL" javaname="MiddleInitial"/>
-  <xb:qname name="an:MONEY_FORM" javaname="MoneyForm"/>
-  <xb:qname name="an:MONEY_FORMS" javaname="MoneyForms"/>
-  <xb:qname name="an:MONEY_FORMSType" javaname="MoneyFormsT"/>
-  <xb:qname name="an:NAME" javaname="Name"/>
-  <xb:qname name="an:NETTING_OPTION" javaname="NettingOpt"/>
-  <xb:qname name="an:NEW_BUSINESS" javaname="NewBusiness"/>
-  <xb:qname name="an:OPERATING_PROFILE" javaname="OperatingProfile"/>
-  <xb:qname name="an:OPERATING_PROFILES" javaname="OperatingProfiles"/>
-  <xb:qname name="an:OPERATING_PROFILEType" javaname="OperatingProfileT"/>
-  <xb:qname name="an:OPERATING_PROFILE_LINK" javaname="OperatingProfileL"/>
-  <xb:qname name="an:OPERATING_PROFILE_LINKS" javaname="OperatingProfileLs"/>
-  <xb:qname name="an:OPTIONALITY" javaname="Optionality"/>
-  <xb:qname name="an:OPTION_LINK" javaname="OptL"/>
-  <xb:qname name="an:OPTION_LINKS" javaname="OptLs"/>
-  <xb:qname name="an:OPTION__LINK" javaname="OptL"/>
-  <xb:qname name="an:OPTION__LINKS" javaname="OptLs"/>
-  <xb:qname name="an:ORDER" javaname="Order"/>
-  <xb:qname name="an:OWNER_NAME" javaname="OwnerName"/>
-  <xb:qname name="an:PARAMETER" javaname="Param"/>
-  <xb:qname name="an:PARAMETERS" javaname="Params"/>
-  <xb:qname name="an:PARENT_BUSINESS_UNIT_LINK" javaname="ParentBUL"/>
-  <xb:qname name="an:PARTY_ID" javaname="PartID"/>
-  <xb:qname name="an:PARTY_LINK_ID" javaname="PartyLID"/>
-  <xb:qname name="an:PASSWORD" javaname="Password"/>
-  <xb:qname name="an:PHONE_NUMBER" javaname="PhoneNumber"/>
-  <xb:qname name="an:PLAN_LINK" javaname="PlanL"/>
-  <xb:qname name="an:PLAN_LINKS" javaname="PlanLs"/>
-  <xb:qname name="an:PRODUCTS" javaname="Products"/>
-  <xb:qname name="an:PRODUCTS_INVESTMENT_OPTIONS" javaname="ProdInvOpts"/>
-  <xb:qname name="an:PRODUCTS_PLANS" javaname="ProdPlans"/>
-  <xb:qname name="an:PRODUCTS_PLANS_RIDERS" javaname="ProdPlansRiders"/>
-  <xb:qname name="an:PRODUCTS_PLANS_SERVICE_PROGRAMS" javaname="ProdPlansSvcProgs"/>
-  <xb:qname name="an:PRODUCTS_RIDERS" javaname="ProdRiders"/>
-  <xb:qname name="an:PRODUCTS_SERVICE_PROGRAMS" javaname="ProdSvcProgs"/>
-  <xb:qname name="an:PRODUCT_LINK" javaname="ProdL"/>
-  <xb:qname name="an:PRODUCT_LINKS" javaname="ProdLs"/>
-  <xb:qname name="an:PURPOSE" javaname="Purpose"/>
-  <xb:qname name="an:RECEIVE_DATETIME" javaname="ReceiveDatetime"/>
-  <xb:qname name="an:RECEIVING_PARTY_ID" javaname="ReceivingPartyID"/>
-  <xb:qname name="an:REQUEST" javaname="Request"/>
-  <xb:qname name="an:RESPONSIBILITY" javaname="Responsibility"/>
-  <xb:qname name="an:RIDER_LINK" javaname="RiderL"/>
-  <xb:qname name="an:RIDER_LINKS" javaname="RiderLs"/>
-  <xb:qname name="an:ROUTING" javaname="Routing"/>
-  <xb:qname name="an:ROUTING_HISTORY" javaname="RoutingHistory"/>
-  <xb:qname name="an:SALUTATION_CD" javaname="SalutationCD"/>
-  <xb:qname name="SCHEMA_VERSION" javaname="SchemaVersion"/>
-  <xb:qname name="an:SENDING_PARTY_ID" javaname="SendingPartyID"/>
-  <xb:qname name="an:SEND_DATETIME" javaname="SendDatetime"/>
-  <xb:qname name="an:SERVICE_PROGRAM_LINK" javaname="SvcProgL"/>
-  <xb:qname name="an:SERVICE_PROGRAM_LINKS" javaname="SvcProgLs"/>
-  <xb:qname name="an:STATE" javaname="State"/>
-  <xb:qname name="an:STATES" javaname="States"/>
-  <xb:qname name="an:STATESType" javaname="StatesT"/>
-  <xb:qname name="an:STATEType" javaname="StateT"/>
-  <xb:qname name="an:STATUS" javaname="Status"/>
-  <xb:qname name="an:STEP" javaname="Step"/>
-  <xb:qname name="an:STEPType" javaname="StepT"/>
-  <xb:qname name="an:SUFFIX_CD" javaname="SuffixCD"/>
-  <xb:qname name="an:TERM_DATE" javaname="TermDate"/>
-  <xb:qname name="an:TEST" javaname="Test"/>
-  <xb:qname name="an:TIN" javaname="TIN"/>
-  <xb:qname name="an:TRANSACTION" javaname="Txn"/>
-  <xb:qname name="an:TRANSACTION_COUNT" javaname="TxnCount"/>
-  <xb:qname name="an:TRANSACTION_ID" javaname="TxnId"/>
-  <xb:qname name="an:TRANSACTION_ROUTING" javaname="TxnRouting"/>
-  <xb:qname name="an:TRANSACTION_ROUTINGS" javaname="TxnRoutings"/>
-  <xb:qname name="an:TRANSACTION_ROUTING_LINK" javaname="TxnRoutingL"/>
-  <xb:qname name="an:TRANSACTION_TYPE" javaname="TxnType"/>
-  <xb:qname name="an:TRANSACTION_TYPES" javaname="TxnTypes"/>
-  <xb:qname name="an:TYPE" javaname="Type"/>
-  <xb:qname name="an:USER" javaname="User"/>
-  <xb:qname name="an:USERS" javaname="Users"/>
-  <xb:qname name="an:USER_LINK" javaname="UserL"/>
-  <xb:qname name="an:USER_LOGON_ID" javaname="UserLogonID"/>
-  <xb:qname name="an:USER_ROLE" javaname="UserRole"/>
-  <xb:qname name="an:USER_ROLES" javaname="UserRoles"/>
-  <xb:qname name="an:USER_ROLE_LINK" javaname="UserRoleL"/>
-  <xb:qname name="an:USER_TO_BUSINESS_UNIT_MAPPING" javaname="UserToBUMapping"/>
-  <xb:qname name="an:USER_TO_BUSINESS_UNIT_MAPPINGS" javaname="UserToBUMAppings"/>
-  <xb:qname name="an:VALUE" javaname="Value"/>
-  <xb:qname name="an:WRITING_COMPANY" javaname="WritingCompany"/>
-
-</xb:config>
\ No newline at end of file
diff --git a/v1/test/cases/schema/appview/Add_AcctSiebel7.xml b/v1/test/cases/schema/appview/Add_AcctSiebel7.xml
deleted file mode 100644
index 869a2d2..0000000
--- a/v1/test/cases/schema/appview/Add_AcctSiebel7.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Boris Portnoy (Information Builders Inc.) -->
-<?Siebel-Property-Set EscapeNames="false"?>
-<SiebelMessage MessageId="1-N" IntObjectFormat="Siebel Hierarchical" MessageType="Integration Object" IntObjectName="Sample Account" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="F:\Adapters\siebel\Add_AcctSiebel7_1.xsd">
-	<ListOfSampleAccount>
-		<Account>
-			<Culture/>
-			<CurrencyCode>USD</CurrencyCode>
-			<Description/>
-			<Division/>
-			<HomePage/>
-			<IntegrationId/>
-			<LineofBusiness/>
-			<Location/>
-			<Name>Bea Demo</Name>
-			<ProjectName/>
-			<Type>Commercial</Type>
-			<ListOfAccount_Organization>
-				<Account_Organization IsPrimaryMVG="Y">
-					<IntegrationId/>
-					<Organization>Default Organization</Organization>
-				</Account_Organization>
-			</ListOfAccount_Organization>
-			<ListOfAccountAttachment/>
-			<ListOfBusinessAddress>
-				<BusinessAddress>
-					<AddressName>NY</AddressName>
-					<City>NY</City>
-					<Country>USA</Country>
-					<FaxNumber>9876543211</FaxNumber>
-					<IntegrationId/>
-					<PhoneNumber>1234567890</PhoneNumber>
-					<PostalCode>07301</PostalCode>
-					<Province/>
-					<State>NY</State>
-					<StreetAddress>2 Madision Square</StreetAddress>
-				</BusinessAddress>
-			</ListOfBusinessAddress>
-			<ListOfContact/>
-		</Account>
-	</ListOfSampleAccount>
-</SiebelMessage>
diff --git a/v1/test/cases/schema/appview/Add_AcctSiebel7.xsd b/v1/test/cases/schema/appview/Add_AcctSiebel7.xsd
deleted file mode 100644
index 0e2569a..0000000
--- a/v1/test/cases/schema/appview/Add_AcctSiebel7.xsd
+++ /dev/null
@@ -1,215 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--W3C Schema generated by XML Spy v4.4 U (http://www.xmlspy.com)-->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-		
-	<xsd:element name="SiebelMessage">
-	  <xsd:complexType>
-      <xsd:sequence>
-			  <xsd:element name="ListOfSampleAccount" type="ListOfSampleAccount_type" maxOccurs="unbounded"/>
-			</xsd:sequence>  
-			<xsd:attribute name="MessageId" type="xsd:string"/>
-			<xsd:attribute name="MessageType" type="xsd:string"/>
-			<xsd:attribute name="IntObjectName" type="xsd:string" fixed="Sample Account"/>
-			<xsd:attribute name="IntObjectFormat" type="xsd:string"/>
-		</xsd:complexType>	
-	</xsd:element>
-	
-	<xsd:complexType name="ListOfSampleAccount_type">
-			<xsd:sequence>
-				<xsd:element name="Account" type="Account_type" maxOccurs="unbounded"/>
-			</xsd:sequence>
-	</xsd:complexType>
-	
-	<xsd:complexType name="Account_type">
-		 <xsd:sequence>
-				<!--xsd:element name="System" type="xsd:string" minOccurs="0"/-->
-				<xsd:element name="Culture" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="CurrencyCode" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Division" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="HomePage" type="xsd:string" minOccurs="0"/>
-				
-				<xsd:element name="IntegrationId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="LineofBusiness" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Location" type="xsd:string" minOccurs="0"/>
-				
-				<xsd:element name="Name" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="ProjectName" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Type" type="xsd:string" minOccurs="0"/>
-				
-				<xsd:element name="ListOfAccount_Organization" type="ListOfAccount_Organization_type" minOccurs="0"/>
-				
-				<xsd:element name="ListOfAccountAttachment" type="ListOfAccountAttachment_type" minOccurs="0"/>
-				<!--xsd:element name="ListOfAccountAttachment" type="xsd:string" minOccurs="0"/-->
-				
-				<xsd:element name="ListOfBusinessAddress" type="ListOfBusinessAddress_type" minOccurs="0"/>
-				
-				<xsd:element name="ListOfContact" type="ListOfContact_type" minOccurs="0"/>
-				<!--xsd:element name="ListOfContact" type="xsd:string" minOccurs="0"/-->
-				
-				<xsd:element name="ListOfSubAccount" type="ListOfSubAccount_type" minOccurs="0"/>
-		  </xsd:sequence>
-			<xsd:attribute name="operation" type="xsd:string"/>
-			<xsd:attribute name="searchspec" type="xsd:string"/>
-		</xsd:complexType>
-
-    <xsd:complexType name="ListOfAccount_Organization_type">
-	  	<xsd:sequence>
-				<xsd:element name="Account_Organization" type="Account_Organization_type" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-	  </xsd:complexType>
-	  
-	  <xsd:complexType name="ListOfAccountAttachment_type">
-		  <xsd:sequence>
-				<xsd:element name="AccountAttachment" type="AccountAttachment_type" minOccurs="0" maxOccurs="unbounded"/>
-		  </xsd:sequence>
-	  </xsd:complexType>
-	  
-	  <xsd:complexType name="ListOfBusinessAddress_type">
-		  <xsd:sequence>
-				<xsd:element name="BusinessAddress" type="BusinessAddress_type" minOccurs="0" maxOccurs="unbounded"/>
-		  </xsd:sequence>
-	  </xsd:complexType>
-	
-	  <xsd:complexType name="ListOfContact_type">
-	  	<xsd:sequence>
-				<xsd:element name="Contact" type="Contact_type" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-	  </xsd:complexType>
-
-	  <xsd:complexType name="ListOfContact_BusinessAddress_type">
-			<xsd:sequence>
-				<xsd:element name="Contact_BusinessAddress" type="Contact_BusinessAddress_type" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-	  </xsd:complexType>
-	
-	  <xsd:complexType name="ListOfSubAccount_type">
-		 <xsd:sequence>
-				<xsd:element name="SubAccount" type="SubAccount_type" minOccurs="0" maxOccurs="unbounded"/>
-		 </xsd:sequence>
-	  </xsd:complexType>
-	
-	  <xsd:complexType name="AccountAttachment_type" >
-		  <xsd:sequence>
-				<xsd:element name="AccntFileExt" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="AccntFileName" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Comment" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="AttachmentId" type="xsd:string" minOccurs="0"/>
-		  </xsd:sequence>
-			<xsd:attribute name="operation" type="xsd:string"/>
-			<xsd:attribute name="searchspec" type="xsd:string"/>
-		</xsd:complexType>
-	
-	
-	 <xsd:complexType name="Account_Organization_type">
-		 <xsd:sequence>
-			 <xsd:element name="IntegrationId" type="xsd:string" minOccurs="0"/>
-			 <xsd:element name="Organization" type="xsd:string" minOccurs="0"/>
-		 </xsd:sequence>
-		 <xsd:attribute name="IsPrimaryMVG" type="xsd:string"/>
-		 <xsd:attribute name="operation" type="xsd:string"/>
-		 <xsd:attribute name="searchspec" type="xsd:string"/>
-	 </xsd:complexType>
-
-	
-	 <xsd:complexType name="BusinessAddress_type">
-		 <xsd:sequence>
-				<xsd:element name="AddressName" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="City" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Country" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="FaxNumber" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="IntegrationId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PhoneNumber" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PostalCode" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Province" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="State" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="StreetAddress" type="xsd:string" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="operation" type="xsd:string"/>
-			<xsd:attribute name="searchspec" type="xsd:string"/>
-	</xsd:complexType>
-	
-
-	<xsd:complexType name="Contact_type">
-		<xsd:sequence>
-				<xsd:element name="CellularPhone" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Comment2" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="FirstName" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="HomePhone" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="IntegrationId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="JobTitle" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="LastName" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="MiddleName" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Organization" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PersonalContact" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="ListOfContact_BusinessAddress" type="ListOfContact_BusinessAddress_type" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="operation" type="xsd:string"/>
-			<xsd:attribute name="searchspec" type="xsd:string"/>
-	</xsd:complexType>
-	
-	<xsd:complexType name="Contact_BusinessAddress_type">
-		 <xsd:sequence>
-				<xsd:element name="City" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Country" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PostalCode" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="State" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="StreetAddress" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="StreetAddress2" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="AddressName" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="IntegrationId" type="xsd:string" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="IsPrimaryMVG" type="xsd:string"/>
-			<xsd:attribute name="operation" type="xsd:string"/>
-			<xsd:attribute name="searchspec" type="xsd:string"/>
-		</xsd:complexType>
-	
-	  <xsd:complexType name="SubAccount_type">
-			<xsd:sequence>
-				<xsd:element name="Id" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Created" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Updated" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="ConflictId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="ModId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="AccountStatus2" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Alias2" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="AssignmentAreaCode" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="AssignmentCountryCode" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="CSN2" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Competitor" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="CurrencyCode" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Division" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="GroupTypeCode" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="InternalOrgFlag" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Location" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="LocationLevel" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="MainFaxNumber" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="MainPhoneNumber" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Name" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="ParentAccountDivision" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="ParentAccountId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="ParentAccountLocation" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="ParentAccountLocationLevel" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="ParentAccountName" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="ParentAccountRegion" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PartyName" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PartyTypeCode" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PartyUId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PrimaryIndustryId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PrimaryOrganizationId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PrimaryPositionId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PrimaryServiceAgreementId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="PrimarySynonymId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Region" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="S-SInstance" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="S-SInstanceId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="S-SKeyId" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="Type" type="xsd:string" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="operation" type="xsd:string"/>
-			<xsd:attribute name="searchspec" type="xsd:string"/>
-  	</xsd:complexType>
-
-	
-</xsd:schema>
diff --git a/v1/test/cases/schema/appview/DBMS1_AddCustomer_request.xsd b/v1/test/cases/schema/appview/DBMS1_AddCustomer_request.xsd
deleted file mode 100644
index f465e4c..0000000
--- a/v1/test/cases/schema/appview/DBMS1_AddCustomer_request.xsd
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
-
-  <xsd:element name="Input">
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element name="FIRSTNAME" type="xsd:string"/>
-        <xsd:element name="LASTNAME" type="xsd:string"/>
-        <xsd:element name="DOB" type="xsd:dateTime"/>
-      </xsd:sequence>
-    </xsd:complexType>
-  </xsd:element>
-
-</xsd:schema>
diff --git a/v1/test/cases/schema/appview/DBMS1_AddCustomer_response.xsd b/v1/test/cases/schema/appview/DBMS1_AddCustomer_response.xsd
deleted file mode 100644
index 4fb78da..0000000
--- a/v1/test/cases/schema/appview/DBMS1_AddCustomer_response.xsd
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
-
-  <xsd:element name="RowsAffected" type="xsd:int"/>
-
-</xsd:schema>
diff --git a/v1/test/cases/schema/appview/DBMS1_GetAllCustomers_response.xsd b/v1/test/cases/schema/appview/DBMS1_GetAllCustomers_response.xsd
deleted file mode 100644
index fd95a4e..0000000
--- a/v1/test/cases/schema/appview/DBMS1_GetAllCustomers_response.xsd
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
-
-  <xsd:element name="Rows">
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element name="Row" maxOccurs="unbounded" minOccurs="0">
-          <xsd:complexType>
-            <xsd:sequence>
-              <xsd:element name="ADDRESS1" type="xsd:string"/>
-              <xsd:element name="ADDRESS2" type="xsd:string"/>
-              <xsd:element name="ADDRESS3" type="xsd:string"/>
-              <xsd:element name="CITY" type="xsd:string"/>
-              <xsd:element name="COUNTRY" type="xsd:string"/>
-              <xsd:element name="DOB" type="xsd:dateTime"/>
-              <xsd:element name="EMAIL" type="xsd:string"/>
-              <xsd:element name="FAX" type="xsd:string"/>
-              <xsd:element name="FIRSTNAME" type="xsd:string"/>
-              <xsd:element name="LASTNAME" type="xsd:string"/>
-              <xsd:element name="MIDDLENAME" type="xsd:string"/>
-              <xsd:element name="PHONE" type="xsd:string"/>
-              <xsd:element name="POSTALCODE" type="xsd:string"/>
-              <xsd:element name="STATE" type="xsd:string"/>
-            </xsd:sequence>
-          </xsd:complexType>
-        </xsd:element>
-      </xsd:sequence>
-    </xsd:complexType>
-  </xsd:element>
-
-</xsd:schema>
diff --git a/v1/test/cases/schema/appview/HIPAA270.xml b/v1/test/cases/schema/appview/HIPAA270.xml
deleted file mode 100644
index d3bf86d..0000000
--- a/v1/test/cases/schema/appview/HIPAA270.xml
+++ /dev/null
@@ -1,247 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE HIPAA270>
-<HIPAA270>
-  <ISA>
-    <_01_Authorization_Information_Qualifier_>00</_01_Authorization_Information_Qualifier_>
-    <_02_Authorization_Information_>1234567890</_02_Authorization_Information_>
-    <_03_Security_Information_Qualifier_>00</_03_Security_Information_Qualifier_>
-    <_04_Security_Information_>1234567890</_04_Security_Information_>
-    <_05_Interchange_ID_Qualifier_>ZZ</_05_Interchange_ID_Qualifier_>
-    <_06_Interchange_Sender_ID_>SUBMITTERS ID12</_06_Interchange_Sender_ID_>
-    <_07_Interchange_ID_Qualifier_>ZZ</_07_Interchange_ID_Qualifier_>
-    <_08_Interchange_Receiver_ID_>RECEIVERS ID123</_08_Interchange_Receiver_ID_>
-    <_09_Interchange_Date_>010122</_09_Interchange_Date_>
-    <_10_Interchange_Time_>1253</_10_Interchange_Time_>
-    <_11_Repetition_Separator_>U</_11_Repetition_Separator_>
-    <_12_Interchange_Control_Version_Number_>00401</_12_Interchange_Control_Version_Number_>
-    <_13_Interchange_Control_Number_>000000905</_13_Interchange_Control_Number_>
-    <_14_Acknowledgement_Requested_>1</_14_Acknowledgement_Requested_>
-    <_15_Usage_Indicator_>T</_15_Usage_Indicator_>
-    <_16_Component_Element_Separator_>:</_16_Component_Element_Separator_>
-  </ISA>
-  <GS>
-    <_01_Functional_Identifier_Code_>HS</_01_Functional_Identifier_Code_>
-    <_02_Application_Senders_Code_>SenderID</_02_Application_Senders_Code_>
-    <_03_Application_Receivers_Code_>ReceiverID</_03_Application_Receivers_Code_>
-    <_04_Date_>20010122</_04_Date_>
-    <_05_Time_>1310</_05_Time_>
-    <_06_Group_Control_Number_>1</_06_Group_Control_Number_>
-    <_07_Responsible_Agency_Code_>X</_07_Responsible_Agency_Code_>
-    <_08_Version__Release__Industry_Identifier_Code_>004010X092</_08_Version__Release__Industry_Identifier_Code_>
-  </GS>
-  <_270>
-    <ST>
-      <_01_Transaction_Set_Identifier_Code_>270</_01_Transaction_Set_Identifier_Code_>
-      <_02_Transaction_Set_Control_Number_>1234</_02_Transaction_Set_Control_Number_>
-    </ST>
-    <BHT>
-      <_01_Hierarchical_Structure_Code_>0022</_01_Hierarchical_Structure_Code_>
-      <_02_Transaction_Set_Purpose_Code_>13</_02_Transaction_Set_Purpose_Code_>
-      <_03_Reference_Identification_>10001234</_03_Reference_Identification_>
-      <_04_Date_>19990501</_04_Date_>
-      <_05_Time_>1319</_05_Time_>
-      <_06_Transaction_Type_Code_/>
-    </BHT>
-    <_2000A>
-      <HL>
-        <_01_Hierarchical_ID_Number_>1</_01_Hierarchical_ID_Number_>
-        <_02_Hierarchical_Parent_ID_Number_/>
-        <_03_Hierarchical_Level_Code_>20</_03_Hierarchical_Level_Code_>
-        <_04_Hierarchical_Child_Code_>1</_04_Hierarchical_Child_Code_>
-      </HL>
-      <_2100A>
-        <NM1>
-          <_01_Entity_Identifier_Code_>PR</_01_Entity_Identifier_Code_>
-          <_02_Entity_Type_Qualifier_>2</_02_Entity_Type_Qualifier_>
-          <_03_Name_Last_or_Organization_Name_>ABCCOMPANY</_03_Name_Last_or_Organization_Name_>
-          <_04_Name_First_/>
-          <_05_Name_Middle_/>
-          <_06_Name_Prefix_/>
-          <_07_Name_Suffix_/>
-          <_08_Identification_Code_Qualifier_>PI</_08_Identification_Code_Qualifier_>
-          <_09_Identification_Code_>842610001</_09_Identification_Code_>
-        </NM1>
-      </_2100A>
-      <_2000B>
-        <HL>
-          <_01_Hierarchical_ID_Number_>2</_01_Hierarchical_ID_Number_>
-          <_02_Hierarchical_Parent_ID_Number_>1</_02_Hierarchical_Parent_ID_Number_>
-          <_03_Hierarchical_Level_Code_>21</_03_Hierarchical_Level_Code_>
-          <_04_Hierarchical_Child_Code_>1</_04_Hierarchical_Child_Code_>
-        </HL>
-        <_2100B>
-          <NM1>
-            <_01_Entity_Identifier_Code_>1P</_01_Entity_Identifier_Code_>
-            <_02_Entity_Type_Qualifier_>1</_02_Entity_Type_Qualifier_>
-            <_03_Name_Last_or_Organization_Name_>JONES</_03_Name_Last_or_Organization_Name_>
-            <_04_Name_First_>MARCUS</_04_Name_First_>
-            <_05_Name_Middle_/>
-            <_06_Name_Prefix_/>
-            <_07_Name_Suffix_/>
-            <_08_Identification_Code_Qualifier_>SV</_08_Identification_Code_Qualifier_>
-            <_09_Identification_Code_>0202034</_09_Identification_Code_>
-          </NM1>
-          <REF>
-            <_01_Reference_Identification_Qualifier_>N5</_01_Reference_Identification_Qualifier_>
-            <_02_Reference_Identification_>129</_02_Reference_Identification_>
-            <_03_Description_/>
-          </REF>
-          <N3>
-            <_01_Address_Information_>55 HIGH STREET</_01_Address_Information_>
-            <_02_Address_Information_/>
-          </N3>
-          <N4>
-            <_01_City_Name_>SEATTLE</_01_City_Name_>
-            <_02_State_or_Province_Code_>WA</_02_State_or_Province_Code_>
-            <_03_Postal_Code_>98123</_03_Postal_Code_>
-            <_04_Country_Code_/>
-          </N4>
-          <PER>
-            <_01_Contact_Function_Code_>IC</_01_Contact_Function_Code_>
-            <_02_Name_>MARYMURPHY</_02_Name_>
-            <_03_Communication_Number_Qualifier_>TE</_03_Communication_Number_Qualifier_>
-            <_04_Communication_Number_>2065551212</_04_Communication_Number_>
-            <_05_Communication_Number_Qualifier_>EX</_05_Communication_Number_Qualifier_>
-            <_06_Communication_Number_>3694</_06_Communication_Number_>
-            <_07_Communication_Number_Qualifier_>FX</_07_Communication_Number_Qualifier_>
-            <_08_Communication_Number_>2065551214</_08_Communication_Number_>
-          </PER>
-        </_2100B>
-        <_2000C>
-          <HL>
-            <_01_Hierarchical_ID_Number_>3</_01_Hierarchical_ID_Number_>
-            <_02_Hierarchical_Parent_ID_Number_>2</_02_Hierarchical_Parent_ID_Number_>
-            <_03_Hierarchical_Level_Code_>22</_03_Hierarchical_Level_Code_>
-            <_04_Hierarchical_Child_Code_>1</_04_Hierarchical_Child_Code_>
-          </HL>
-          <TRN>
-            <_01_Trace_Type_Code_>1</_01_Trace_Type_Code_>
-            <_02_Reference_Identification_>93175-012547</_02_Reference_Identification_>
-            <_03_Originating_Company_Identifier_>9877281234</_03_Originating_Company_Identifier_>
-            <_04_Reference_Identification_/>
-          </TRN>
-          <_2100C>
-            <NM1>
-              <_01_Entity_Identifier_Code_>IL</_01_Entity_Identifier_Code_>
-              <_02_Entity_Type_Qualifier_>1</_02_Entity_Type_Qualifier_>
-              <_03_Name_Last_or_Organization_Name_>SMITH</_03_Name_Last_or_Organization_Name_>
-              <_04_Name_First_>ROBERT</_04_Name_First_>
-              <_05_Name_Middle_>B</_05_Name_Middle_>
-              <_06_Name_Prefix_/>
-              <_07_Name_Suffix_/>
-              <_08_Identification_Code_Qualifier_>MI</_08_Identification_Code_Qualifier_>
-              <_09_Identification_Code_>11122333301</_09_Identification_Code_>
-            </NM1>
-            <REF>
-              <_01_Reference_Identification_Qualifier_>1L</_01_Reference_Identification_Qualifier_>
-              <_02_Reference_Identification_>599119</_02_Reference_Identification_>
-            </REF>
-            <N3>
-              <_01_Address_Information_>29 FREMONT ST</_01_Address_Information_>
-              <_02_Address_Information_>APT# 1</_02_Address_Information_>
-            </N3>
-            <N4>
-              <_01_City_Name_>PEACE</_01_City_Name_>
-              <_02_State_or_Province_Code_>NY</_02_State_or_Province_Code_>
-              <_03_Postal_Code_>10023</_03_Postal_Code_>
-              <_04_Country_Code_/>
-            </N4>
-            <DMG>
-              <_01_Date_Time_Period_Format_Qualifier_>D8</_01_Date_Time_Period_Format_Qualifier_>
-              <_02_Date_Time_Period_>19430519</_02_Date_Time_Period_>
-              <_03_Gender_Code_>M</_03_Gender_Code_>
-            </DMG>
-          </_2100C>
-          <_2000D>
-            <HL>
-              <_01_Hierarchical_ID_Number_>4</_01_Hierarchical_ID_Number_>
-              <_02_Hierarchical_Parent_ID_Number_>3</_02_Hierarchical_Parent_ID_Number_>
-              <_03_Hierarchical_Level_Code_>23</_03_Hierarchical_Level_Code_>
-              <_04_Hierarchical_Child_Code_>0</_04_Hierarchical_Child_Code_>
-            </HL>
-            <TRN>
-              <_01_Trace_Type_Code_>1</_01_Trace_Type_Code_>
-              <_02_Reference_Identification_>93175-012547</_02_Reference_Identification_>
-              <_03_Originating_Company_Identifier_>9877281234</_03_Originating_Company_Identifier_>
-              <_04_Reference_Identification_>RADIOLOGY</_04_Reference_Identification_>
-            </TRN>
-            <_2100D>
-              <NM1>
-                <_01_Entity_Identifier_Code_>03</_01_Entity_Identifier_Code_>
-                <_02_Entity_Type_Qualifier_>1</_02_Entity_Type_Qualifier_>
-                <_03_Name_Last_or_Organization_Name_>SMITH</_03_Name_Last_or_Organization_Name_>
-                <_04_Name_First_>MARYLOU</_04_Name_First_>
-                <_05_Name_Middle_/>
-                <_06_Name_Prefix_/>
-                <_07_Name_Suffix_/>
-              </NM1>
-              <REF>
-                <_01_Reference_Identification_Qualifier_>SY</_01_Reference_Identification_Qualifier_>
-                <_02_Reference_Identification_>003221234</_02_Reference_Identification_>
-              </REF>
-              <N3>
-                <_01_Address_Information_>29 FREMONT ST</_01_Address_Information_>
-                <_02_Address_Information_>APT# 1</_02_Address_Information_>
-              </N3>
-              <N4>
-                <_01_City_Name_>PEACE</_01_City_Name_>
-                <_02_State_or_Province_Code_>NY</_02_State_or_Province_Code_>
-                <_03_Postal_Code_>10023</_03_Postal_Code_>
-                <_04_Country_Code_/>
-              </N4>
-              <DMG>
-                <_01_Date_Time_Period_Format_Qualifier_>D8</_01_Date_Time_Period_Format_Qualifier_>
-                <_02_Date_Time_Period_>19781014</_02_Date_Time_Period_>
-                <_03_Gender_Code_>F</_03_Gender_Code_>
-              </DMG>
-              <INS>
-                <_01_Yes_No_Condition_or_Response_Code_>N</_01_Yes_No_Condition_or_Response_Code_>
-                <_02_Individual_Relationship_Code_>19</_02_Individual_Relationship_Code_>
-                <_03_Maintenance_Type_Code_/>
-                <_04_Maintenance_Reason_Code_/>
-                <_05_Benefit_Status_Code_/>
-                <_06_Medicare_Status_Code_/>
-                <_07_Consolidated_Omnibus_Budget_Reconciliation_Act__COBRA__Qualifying_Event_Code_/>
-                <_08_Employment_Status_Code_/>
-                <_09_Student_Status_Code_/>
-                <_10_Yes_No_Condition_or_Response_Code_/>
-                <_11_Date_Time_Period_Format_Qualifier_/>
-                <_12_Date_Time_Period_/>
-                <_13_Confidentiality_Code_/>
-                <_14_City_Name_/>
-                <_15_State_or_Province_Code_/>
-                <_16_Country_Code_/>
-                <_17_Number_/>
-              </INS>
-              <DTP>
-                <_01_Date_Time_Qualifier_>472</_01_Date_Time_Qualifier_>
-                <_02_Date_Time_Period_Format_Qualifier_>D8</_02_Date_Time_Period_Format_Qualifier_>
-                <_03_Date_Time_Period_>19990501</_03_Date_Time_Period_>
-              </DTP>
-              <_2110D>
-                <EQ>
-                  <_01_Service_Type_Code_>81</_01_Service_Type_Code_>
-                  <_02_Composite_Medical_Procedure_Identifier_/>
-                  <_03_Coverage_Level_Code_>FAM</_03_Coverage_Level_Code_>
-                  <_04_Insurance_Type_Code_/>
-                </EQ>
-              </_2110D>
-            </_2100D>
-          </_2000D>
-        </_2000C>
-      </_2000B>
-    </_2000A>
-    <SE>
-      <_01_Number_of_Included_Segments_>28</_01_Number_of_Included_Segments_>
-      <_02_Transaction_Set_Control_Number_>1234</_02_Transaction_Set_Control_Number_>
-    </SE>
-  </_270>
-  <GE>
-    <_01_Number_of_Transaction_Sets_Included_>1</_01_Number_of_Transaction_Sets_Included_>
-    <_02_Group_Control_Number_>1</_02_Group_Control_Number_>
-  </GE>
-  <IEA>
-    <_01_Number_of_Included_Functional_Groups_>1</_01_Number_of_Included_Functional_Groups_>
-    <_02_Interchange_Control_Number_>000000905</_02_Interchange_Control_Number_>
-  </IEA>
-</HIPAA270>
\ No newline at end of file
diff --git a/v1/test/cases/schema/appview/HIPAA270.xsd b/v1/test/cases/schema/appview/HIPAA270.xsd
deleted file mode 100644
index f1c2d3b..0000000
--- a/v1/test/cases/schema/appview/HIPAA270.xsd
+++ /dev/null
@@ -1,331 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-
-<xsd:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-	<xsd:complexType name="DMGType">
-		<xsd:sequence>
-			<xsd:element name="_01_Date_Time_Period_Format_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_02_Date_Time_Period_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_03_Gender_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:complexType name="DTPType">
-		<xsd:sequence>
-			<xsd:element name="_01_Date_Time_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_02_Date_Time_Period_Format_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_03_Date_Time_Period_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:complexType name="EQType">
-		<xsd:sequence>
-			<xsd:element name="_01_Service_Type_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_02_Composite_Medical_Procedure_Identifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_03_Coverage_Level_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_04_Insurance_Type_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:element name="GE">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="_01_Number_of_Transaction_Sets_Included_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_02_Group_Control_Number_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="GS">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="_01_Functional_Identifier_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_02_Application_Senders_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_03_Application_Receivers_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="_04_Date_" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="_05_Time_" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_06_Group_Control_Number_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_07_Responsible_Agency_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_08_Version__Release__Industry_Identifier_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="HIPAA270">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element ref="ISA"/>
-				<xsd:element ref="GS"/>
-				<xsd:element ref="_270"/>
-				<xsd:element ref="GE"/>
-				<xsd:element ref="IEA"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:complexType name="HLType">
-		<xsd:sequence>
-			<xsd:element name="_01_Hierarchical_ID_Number_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_02_Hierarchical_Parent_ID_Number_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_03_Hierarchical_Level_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_04_Hierarchical_Child_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:element name="IEA">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="_01_Number_of_Included_Functional_Groups_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_02_Interchange_Control_Number_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:complexType name="IIIType">
-		<xsd:sequence>
-			<xsd:element name="_01_Code_List_Qualifier_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_02_Industry_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:complexType name="INSType">
-		<xsd:sequence>
-			<xsd:element name="_01_Yes_No_Condition_or_Response_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_02_Individual_Relationship_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_03_Maintenance_Type_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_04_Maintenance_Reason_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_05_Benefit_Status_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_06_Medicare_Status_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_07_Consolidated_Omnibus_Budget_Reconciliation_Act__COBRA__Qualifying_Event_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_08_Employment_Status_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_09_Student_Status_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_10_Yes_No_Condition_or_Response_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_11_Date_Time_Period_Format_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_12_Date_Time_Period_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_13_Confidentiality_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_14_City_Name_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_15_State_or_Province_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_16_Country_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_17_Number_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:element name="ISA">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="_01_Authorization_Information_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_02_Authorization_Information_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_03_Security_Information_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_04_Security_Information_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_05_Interchange_ID_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_06_Interchange_Sender_ID_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_07_Interchange_ID_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_08_Interchange_Receiver_ID_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_09_Interchange_Date_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_10_Interchange_Time_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_11_Repetition_Separator_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_12_Interchange_Control_Version_Number_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_13_Interchange_Control_Number_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_14_Acknowledgement_Requested_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_15_Usage_Indicator_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="_16_Component_Element_Separator_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:complexType name="N3Type">
-		<xsd:sequence>
-			<xsd:element name="_01_Address_Information_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_02_Address_Information_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:complexType name="N4Type">
-		<xsd:sequence>
-			<xsd:element name="_01_City_Name_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_02_State_or_Province_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_03_Postal_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_04_Country_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:complexType name="NM1Type">
-		<xsd:sequence>
-			<xsd:element name="_01_Entity_Identifier_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_02_Entity_Type_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_03_Name_Last_or_Organization_Name_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_04_Name_First_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_05_Name_Middle_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_06_Name_Prefix_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_07_Name_Suffix_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_08_Identification_Code_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_09_Identification_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:complexType name="PRVType">
-		<xsd:sequence>
-			<xsd:element name="_01_Provider_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_02_Reference_Identification_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element ref="_03_Reference_Identification_" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:complexType name="REFType">
-		<xsd:sequence>
-			<xsd:element name="_01_Reference_Identification_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element ref="_02_Reference_Identification_" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_03_Description_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:complexType name="TRNType">
-		<xsd:sequence>
-			<xsd:element name="_01_Trace_Type_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element ref="_02_Reference_Identification_" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_03_Originating_Company_Identifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="_04_Reference_Identification_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-		</xsd:sequence>
-	</xsd:complexType>
-	<xsd:element name="_02_Reference_Identification_" type="xsd:string"/>
-	<xsd:element name="_02_Transaction_Set_Control_Number_" type="xsd:string"/>
-	<xsd:element name="_03_Reference_Identification_" type="xsd:string"/>
-	<xsd:element name="_04_Date_" type="xsd:string"/>
-	<xsd:element name="_05_Time_" type="xsd:string"/>
-	<xsd:element name="_270">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="ST" minOccurs="0" maxOccurs="unbounded">
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="_01_Transaction_Set_Identifier_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-							<xsd:element ref="_02_Transaction_Set_Control_Number_" minOccurs="0" maxOccurs="unbounded"/>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="BHT" minOccurs="0" maxOccurs="unbounded">
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="_01_Hierarchical_Structure_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-							<xsd:element name="_02_Transaction_Set_Purpose_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-							<xsd:element ref="_03_Reference_Identification_" minOccurs="0" maxOccurs="unbounded"/>
-							<xsd:element ref="_04_Date_" minOccurs="0" maxOccurs="unbounded"/>
-							<xsd:element ref="_05_Time_" minOccurs="0" maxOccurs="unbounded"/>
-							<xsd:element name="_06_Transaction_Type_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="_2000A" minOccurs="0" maxOccurs="unbounded">
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="HL" type="HLType" minOccurs="0" maxOccurs="unbounded"/>
-							<xsd:element name="_2100A" minOccurs="0" maxOccurs="unbounded">
-								<xsd:complexType>
-									<xsd:sequence>
-										<xsd:element name="NM1" type="NM1Type" minOccurs="0" maxOccurs="unbounded"/>
-									</xsd:sequence>
-								</xsd:complexType>
-							</xsd:element>
-							<xsd:element name="_2000B" minOccurs="0" maxOccurs="unbounded">
-								<xsd:complexType>
-									<xsd:sequence>
-										<xsd:element name="HL" type="HLType" minOccurs="0" maxOccurs="unbounded"/>
-										<xsd:element name="_2100B" minOccurs="0" maxOccurs="unbounded">
-											<xsd:complexType>
-												<xsd:sequence>
-													<xsd:element name="NM1" type="NM1Type" minOccurs="0" maxOccurs="unbounded"/>
-													<xsd:element name="REF" type="REFType" minOccurs="0" maxOccurs="unbounded"/>
-													<xsd:element name="N3" type="N3Type" minOccurs="0" maxOccurs="unbounded"/>
-													<xsd:element name="N4" type="N4Type" minOccurs="0" maxOccurs="unbounded"/>
-													<xsd:element name="PER" minOccurs="0" maxOccurs="unbounded">
-														<xsd:complexType>
-															<xsd:sequence>
-																<xsd:element name="_01_Contact_Function_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="_02_Name_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="_03_Communication_Number_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="_04_Communication_Number_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="_05_Communication_Number_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="_06_Communication_Number_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="_07_Communication_Number_Qualifier_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="_08_Communication_Number_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-															</xsd:sequence>
-														</xsd:complexType>
-													</xsd:element>
-													<xsd:element name="PRV" type="PRVType" minOccurs="0" maxOccurs="unbounded"/>
-												</xsd:sequence>
-											</xsd:complexType>
-										</xsd:element>
-										<xsd:element name="_2000C" minOccurs="0" maxOccurs="unbounded">
-											<xsd:complexType>
-												<xsd:sequence>
-													<xsd:element name="HL" type="HLType" minOccurs="0" maxOccurs="unbounded"/>
-													<xsd:element name="TRN" type="TRNType" minOccurs="0" maxOccurs="unbounded"/>
-													<xsd:element name="_2100C" minOccurs="0" maxOccurs="unbounded">
-														<xsd:complexType>
-															<xsd:sequence>
-																<xsd:element name="NM1" type="NM1Type" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="REF" type="REFType" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="N3" type="N3Type" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="N4" type="N4Type" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="PRV" type="PRVType" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="DMG" type="DMGType" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="INS" type="INSType" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="DTP" type="DTPType" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="_2110C" minOccurs="0" maxOccurs="unbounded">
-																	<xsd:complexType>
-																		<xsd:sequence>
-																			<xsd:element name="EQ" type="EQType" minOccurs="0" maxOccurs="unbounded"/>
-																			<xsd:element name="AMT" minOccurs="0" maxOccurs="unbounded">
-																				<xsd:complexType>
-																					<xsd:sequence>
-																						<xsd:element name="_01_Amount_Qualifier_Code_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-																						<xsd:element name="_02_Monetary_Amount_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-																					</xsd:sequence>
-																				</xsd:complexType>
-																			</xsd:element>
-																			<xsd:element name="III" type="IIIType" minOccurs="0" maxOccurs="unbounded"/>
-																			<xsd:element name="REF" type="REFType" minOccurs="0" maxOccurs="unbounded"/>
-																			<xsd:element name="DTP" type="DTPType" minOccurs="0" maxOccurs="unbounded"/>
-																		</xsd:sequence>
-																	</xsd:complexType>
-																</xsd:element>
-															</xsd:sequence>
-														</xsd:complexType>
-													</xsd:element>
-													<xsd:element name="_2000D" minOccurs="0" maxOccurs="unbounded">
-														<xsd:complexType>
-															<xsd:sequence>
-																<xsd:element name="HL" type="HLType" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="TRN" type="TRNType" minOccurs="0" maxOccurs="unbounded"/>
-																<xsd:element name="_2100D" minOccurs="0" maxOccurs="unbounded">
-																	<xsd:complexType>
-																		<xsd:sequence>
-																			<xsd:element name="NM1" type="NM1Type" minOccurs="0" maxOccurs="unbounded"/>
-																			<xsd:element name="REF" type="REFType" minOccurs="0" maxOccurs="unbounded"/>
-																			<xsd:element name="N3" type="N3Type" minOccurs="0" maxOccurs="unbounded"/>
-																			<xsd:element name="N4" type="N4Type" minOccurs="0" maxOccurs="unbounded"/>
-																			<xsd:element name="PRV" type="PRVType" minOccurs="0" maxOccurs="unbounded"/>
-																			<xsd:element name="DMG" type="DMGType" minOccurs="0" maxOccurs="unbounded"/>
-																			<xsd:element name="INS" type="INSType" minOccurs="0" maxOccurs="unbounded"/>
-																			<xsd:element name="DTP" type="DTPType" minOccurs="0" maxOccurs="unbounded"/>
-																			<xsd:element name="_2110D" minOccurs="0" maxOccurs="unbounded">
-																				<xsd:complexType>
-																					<xsd:sequence>
-																						<xsd:element name="EQ" type="EQType" minOccurs="0" maxOccurs="unbounded"/>
-																						<xsd:element name="III" type="IIIType" minOccurs="0" maxOccurs="unbounded"/>
-																						<xsd:element name="REF" type="REFType" minOccurs="0" maxOccurs="unbounded"/>
-																						<xsd:element name="DTP" type="DTPType" minOccurs="0" maxOccurs="unbounded"/>
-																					</xsd:sequence>
-																				</xsd:complexType>
-																			</xsd:element>
-																		</xsd:sequence>
-																	</xsd:complexType>
-																</xsd:element>
-															</xsd:sequence>
-														</xsd:complexType>
-													</xsd:element>
-												</xsd:sequence>
-											</xsd:complexType>
-										</xsd:element>
-									</xsd:sequence>
-								</xsd:complexType>
-							</xsd:element>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="SE" minOccurs="0" maxOccurs="unbounded">
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="_01_Number_of_Included_Segments_" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-							<xsd:element ref="_02_Transaction_Set_Control_Number_" minOccurs="0" maxOccurs="unbounded"/>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-</xsd:schema>
diff --git a/v1/test/cases/schema/appview/Headers.xml b/v1/test/cases/schema/appview/Headers.xml
deleted file mode 100644
index 9317878..0000000
--- a/v1/test/cases/schema/appview/Headers.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<workbook>
-    <Sheet1>
-        <row>
-            <col1>FIRST NAME</col1>
-            <col2>LAST NAME</col2>
-            <col3>TITLE</col3>
-            <col4>ADDRESS</col4>
-            <col5>CITY</col5>
-            <col6>STATE</col6>
-            <col7>COUNTRY</col7>
-        </row>
-        <row>
-            <col1>Paul</col1>
-            <col2>Fearon</col2>
-            <col3>Mr</col3>
-            <col4>2 Penn Plaza</col4>
-            <col5>New York</col5>
-            <col6>New York</col6>
-            <col7>USA</col7>
-        </row>
-        <row>
-            <col1>Jeff</col1>
-            <col2>Paoletti</col2>
-            <col3>Sir</col3>
-            <col4>2 Penn Plaza</col4>
-            <col5>New York</col5>
-            <col6>New York</col6>
-            <col7>USA</col7>
-        </row>
-        <row>
-            <col1>Jonathon</col1>
-            <col2>Platt</col2>
-            <col3>Lord</col3>
-            <col4>Wembley Point, Harrow Road</col4>
-            <col5>London</col5>
-            <col6>MIDDX</col6>
-            <col7>UK</col7>
-        </row>
-        <row>
-            <col1>Eileen</col1>
-            <col2>Anderson</col2>
-            <col3>Mrs</col3>
-            <col4>Belle Plain</col4>
-            <col5>Maypen</col5>
-            <col6>Clarendon</col6>
-            <col7>Jamaica</col7>
-        </row>
-    </Sheet1>
-</workbook>
-
diff --git a/v1/test/cases/schema/appview/Headers.xsd b/v1/test/cases/schema/appview/Headers.xsd
deleted file mode 100644
index 31b4dde..0000000
--- a/v1/test/cases/schema/appview/Headers.xsd
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--W3C Schema generated by XML Spy v4.3 U (http://www.xmlspy.com)-->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-	<xsd:element name="Sheet1">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="row" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="col1" type="xsd:string"/>
-	<xsd:element name="col2" type="xsd:string"/>
-	<xsd:element name="col3">
-		<xsd:simpleType>
-			<xsd:restriction base="xsd:string">
-				<xsd:enumeration value="Lord"/>
-				<xsd:enumeration value="Mr"/>
-				<xsd:enumeration value="Mrs"/>
-				<xsd:enumeration value="Sir"/>
-				<xsd:enumeration value="TITLE"/>
-			</xsd:restriction>
-		</xsd:simpleType>
-	</xsd:element>
-	<xsd:element name="col4" type="xsd:string"/>
-	<xsd:element name="col5" type="xsd:string"/>
-	<xsd:element name="col6" type="xsd:string"/>
-	<xsd:element name="col7">
-		<xsd:simpleType>
-			<xsd:restriction base="xsd:string">
-				<xsd:enumeration value="COUNTRY"/>
-				<xsd:enumeration value="Jamaica"/>
-				<xsd:enumeration value="UK"/>
-				<xsd:enumeration value="USA"/>
-			</xsd:restriction>
-		</xsd:simpleType>
-	</xsd:element>
-	<xsd:element name="row">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="col1"/>
-				<xsd:element ref="col2"/>
-				<xsd:element ref="col3"/>
-				<xsd:element ref="col4"/>
-				<xsd:element ref="col5"/>
-				<xsd:element ref="col6"/>
-				<xsd:element ref="col7"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="workbook">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Sheet1"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-</xsd:schema>
diff --git a/v1/test/cases/schema/appview/RFC_CUSTOMER_GET.xml b/v1/test/cases/schema/appview/RFC_CUSTOMER_GET.xml
deleted file mode 100644
index 10ecc82..0000000
--- a/v1/test/cases/schema/appview/RFC_CUSTOMER_GET.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<doc:RFC_CUSTOMER_GET xmlns:doc="urn:sap-com:document:sap:business:rfc">
-<KUNNR>*</KUNNR>
-<NAME1>A*</NAME1>
-<CUSTOMER_T>
-<item>
-<KUNNR></KUNNR>
-<ANRED></ANRED>
-<NAME1></NAME1>
-<PFACH></PFACH>
-<STRAS></STRAS>
-<PSTLZ></PSTLZ>
-<ORT01></ORT01>
-<TELF1></TELF1>
-<TELFX></TELFX>
-</item>
-</CUSTOMER_T>
-</doc:RFC_CUSTOMER_GET>
diff --git a/v1/test/cases/schema/appview/RFC_CUSTOMER_GET.xsd b/v1/test/cases/schema/appview/RFC_CUSTOMER_GET.xsd
deleted file mode 100644
index 5cacc2b..0000000
--- a/v1/test/cases/schema/appview/RFC_CUSTOMER_GET.xsd
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:doc="urn:sap-com:document
-:sap:business:rfc" elementFormDefault="qualified" targetNamespace="urn:sap-com:document:sap:
-business:rfc">
-  <xsd:complexType name="BRFCKNA1">
-    <xsd:sequence>
-      <xsd:element name="KUNNR">
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:maxLength value="10"/>
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:element>
-      <xsd:element name="ANRED">
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:maxLength value="15"/>
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:element>
-      <xsd:element name="NAME1">
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:maxLength value="35"/>
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:element>
-      <xsd:element name="PFACH">
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:maxLength value="10"/>
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:element>
-      <xsd:element name="STRAS">
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:maxLength value="35"/>
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:element>
-      <xsd:element name="PSTLZ">
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:maxLength value="10"/>
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:element>
-      <xsd:element name="ORT01">
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:maxLength value="35"/>
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:element>
-      <xsd:element name="TELF1">
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:maxLength value="16"/>
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:element>
-      <xsd:element name="TELFX">
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:maxLength value="31"/>
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:element name="RFC_CUSTOMER_GET">
-    <xsd:complexType>
-      <xsd:all>
-        <xsd:element name="KUNNR" minOccurs="0">
-          <xsd:simpleType>
-            <xsd:restriction base="xsd:string">
-              <xsd:maxLength value="10"/>
-            </xsd:restriction>
-          </xsd:simpleType>
-        </xsd:element>
-        <xsd:element name="NAME1" minOccurs="0">
-          <xsd:simpleType>
-            <xsd:restriction base="xsd:string">
-              <xsd:maxLength value="35"/>
-            </xsd:restriction>
-          </xsd:simpleType>
-        </xsd:element>
-        <xsd:element name="CUSTOMER_T" minOccurs="0">
-          <xsd:complexType>
-            <xsd:sequence>
-              <xsd:element name="item" maxOccurs="unbounded" type="doc:BRFCKNA1" minOccurs="0"/>
-            </xsd:sequence>
-          </xsd:complexType>
-        </xsd:element>
-      </xsd:all>
-    </xsd:complexType>
-  </xsd:element>
-
-</xsd:schema>
\ No newline at end of file
diff --git a/v1/test/cases/schema/appview/event_DEBMAS01.xml b/v1/test/cases/schema/appview/event_DEBMAS01.xml
deleted file mode 100644
index 4924f9f..0000000
--- a/v1/test/cases/schema/appview/event_DEBMAS01.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?><DEBMAS01><IDOC BEGIN="1"><EDI_DC40 SEGMENT="1"><TABNAM>EDI_DC40</TABNAM><MANDT>800</MANDT><DOCNUM>0000000000232904</DOCNUM><DOCREL>40B</DOCREL><STATUS>30</STATUS><DIRECT>1</DIRECT><OUTMOD>2</OUTMOD><EXPRSS/><TEST/><IDOCTYP>DEBMAS01</IDOCTYP><CIMTYP/><MESTYP>DEBMAS</MESTYP><MESCOD/><MESFCT/><STD/><STDVRS/><STDMES/><SNDPOR>SAPI4B</SNDPOR><SNDPRT>LS</SNDPRT><SNDPFC/><SNDPRN>I4B_CLI800</SNDPRN><SNDSAD/><SNDLAD/><RCVPOR>A000000031</RCVPOR><RCVPRT>LS</RCVPRT><RCVPFC/><RCVPRN>NON_JXA</RCVPRN><RCVSAD/><RCVLAD/><CREDAT>20020722</CREDAT><CRETIM>182939</CRETIM><REFINT/><REFGRP/><REFMES/><ARCKEY/><SERIAL>20020722182939</SERIAL>
-      </EDI_DC40><E1KNA1M SEGMENT="1"><MSGFN>005</MSGFN><KUNNR>0000000100</KUNNR><ANRED/><AUFSD/><BAHNE/><BAHNS>Düsseldorf HBF</BAHNS><BBBNR>0000000</BBBNR><BBSNR>00000</BBSNR><BEGRU/><BRSCH/><BUBKZ>0</BUBKZ><DATLT/><FAKSD/><FISKN/><KNRZA/><KONZS/><KTOKD>0001</KTOKD><KUKLA/><LAND1>DE</LAND1><LIFNR/><LIFSD/><LOCCO/><LOEVM/><NAME1>IBI Quality Assurance</NAME1><NAME2/><NAME3/><NAME4/><NIELS/><ORT01>New York</ORT01><ORT02/><PFACH/><PSTL2/><PSTLZ>10121</PSTLZ><REGIO>05</REGIO><COUNC/><CITYC/><RPMKR/><SORTL>AM</SORTL><SPERR/><SPRAS>D</SPRAS><STCD1/><STCD2/><STKZA/><STKZU/><STRAS>2 Pennsylvania Plaza</STRAS><TELBX/><TELF1>212-736-4433</TELF1><TELF2/><TELFX>212-736-4434</TELFX><TELTX/><TELX1/><LZONE>D000040000</LZONE><XZEMP/><VBUND/><STCEG>DE-12345679</STCEG><GFORM/><BRAN1/><BRAN2/><BRAN3/><BRAN4/><BRAN5/><UMJAH>0000</UMJAH><UWAER/><JMZAH>000000</JMZAH><JMJAH>0000</JMJAH><KATR1/><KATR2/><KATR3/><KATR4/><KATR5/><KATR6/><KATR7/><KATR8/><KATR9/><KATR10/><STKZN/><UMSA1>0</UMSA1><TXJCD/><PERIV/><KTOCD/><PFORT/><DTAMS/><DTAWS/><HZUOR>00</HZUOR><CIVVE>X</CIVVE><MILVE/><SPRAS_ISO>DE</SPRAS_ISO><FITYP/><STCDT/><STCD3/><STCD4/><XICMS/><XXIPI/><XSUBT/><CFOPC/><TXLW1/><TXLW2/><CCC01/><CCC02/><CCC03/><CCC04/><CASSD/><KDKG1/><KDKG2/><KDKG3/><KDKG4/><KDKG5/><E1KNB1M SEGMENT="1"><MSGFN>005</MSGFN><BUKRS>GL1000</BUKRS><SPERR/><LOEVM/><ZUAWA>002</ZUAWA><BUSAB/><AKONT>0000140000</AKONT><BEGRU/><KNRZE/><KNRZB/><ZAMIM/><ZAMIV/><ZAMIR/><ZAMIB/><ZAMIO/><ZWELS/><XVERR/><ZAHLS/><ZTERM>ZB01</ZTERM><WAKON/><VZSKZ/><ZINDT>00000000</ZINDT><ZINRT>00</ZINRT><EIKTO>0000000100</EIKTO><ZSABE/><KVERM/><FDGRV>E2</FDGRV><VRBKZ/><VLIBB>0</VLIBB><VRSZL>0</VRSZL><VRSPR>0</VRSPR><VRSNR/><VERDT>00000000</VERDT><PERKZ/><XDEZV/><XAUSZ/><WEBTR>0</WEBTR><REMIT/><DATLZ>00000000</DATLZ><XZVER>X</XZVER><TOGRU/><KULTG>0</KULTG><HBKID/><XPORE/><BLNKZ/><ALTKN/><ZGRUP/><URLID/><MGRUP/><LOCKB/><UZAWE/><EKVBD/><SREGL/><XEDIP/><FRGRP/><VRSDG/><TLFXS/><PERNR>00000000</PERNR><INTAD/><GUZTE/><GRICD/><GRIDT/><E1KNB5M SEGMENT="1"><MSGFN>005</MSGFN><MABER/><MAHNA>0001</MAHNA><MANSP/><MADAT>00000000</MADAT><MAHNS>0</MAHNS><KNRMA/><GMVDT>00000000</GMVDT><BUSAB/></E1KNB5M></E1KNB1M></E1KNA1M></IDOC></DEBMAS01>
\ No newline at end of file
diff --git a/v1/test/cases/schema/appview/event_DEBMAS01.xsd b/v1/test/cases/schema/appview/event_DEBMAS01.xsd
deleted file mode 100644
index 15589d5..0000000
--- a/v1/test/cases/schema/appview/event_DEBMAS01.xsd
+++ /dev/null
@@ -1 +0,0 @@
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"  elementFormDefault="qualified"><xsd:element name="DEBMAS01"><xsd:complexType><xsd:sequence><xsd:element name="IDOC"><xsd:complexType><xsd:sequence><xsd:element name="EDI_DC40" minOccurs="0" maxOccurs="1"><xsd:complexType><xsd:sequence><xsd:element name="TABNAM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MANDT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOCNUM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="16"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOCREL" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STATUS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DIRECT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="OUTMOD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="EXPRSS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TEST" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="IDOCTYP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="30"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CIMTYP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="30"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MESTYP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="30"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MESCOD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MESFCT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STDVRS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STDMES" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SNDPOR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SNDPRT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SNDPFC" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SNDPRN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SNDSAD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="21"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SNDLAD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="70"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="RCVPOR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="RCVPRT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="RCVPFC" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="RCVPRN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="RCVSAD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="21"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="RCVLAD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="70"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CREDAT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:date"/></xsd:simpleType></xsd:element><xsd:element name="CRETIM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:time"/></xsd:simpleType></xsd:element><xsd:element name="REFINT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="14"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="REFGRP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="14"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="REFMES" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="14"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ARCKEY" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="70"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SERIAL" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="20"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element><xsd:element name="E1KNA1M" minOccurs="0" maxOccurs="1"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KUNNR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ANRED" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="15"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="AUFSD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BAHNE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="25"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BAHNS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="25"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BBBNR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="7"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BBSNR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BEGRU" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BRSCH" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BUBKZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DATLT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="14"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FAKSD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FISKN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KNRZA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KONZS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KTOKD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KUKLA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LAND1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LIFNR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LIFSD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LOCCO" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LOEVM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="NAME1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="NAME2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="NAME3" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="NAME4" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="NIELS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ORT01" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ORT02" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PFACH" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PSTL2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PSTLZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="REGIO" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="COUNC" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CITYC" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="RPMKR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SORTL" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SPERR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SPRAS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STCD1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="16"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STCD2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="11"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STKZA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STKZU" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STRAS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TELBX" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="15"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TELF1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="16"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TELF2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="16"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TELFX" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="31"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TELTX" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="30"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TELX1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="30"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LZONE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XZEMP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VBUND" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STCEG" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="20"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="GFORM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BRAN1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BRAN2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BRAN3" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BRAN4" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BRAN5" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="UMJAH" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="UWAER" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="JMZAH" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="JMJAH" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KATR1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KATR2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KATR3" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KATR4" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KATR5" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KATR6" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KATR7" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KATR8" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KATR9" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KATR10" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STKZN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="UMSA1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="16"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TXJCD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="15"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PERIV" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KTOCD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PFORT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DTAMS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DTAWS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="HZUOR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CIVVE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MILVE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SPRAS_ISO" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FITYP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STCDT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STCD3" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="18"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STCD4" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="18"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XICMS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XXIPI" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XSUBT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CFOPC" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TXLW1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TXLW2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CCC01" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CCC02" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CCC03" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CCC04" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CASSD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KDKG1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KDKG2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KDKG3" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KDKG4" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KDKG5" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="E1KNVVM" minOccurs="0" maxOccurs="9999"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VKORG" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VTWEG" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SPART" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BEGRU" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LOEVM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VERSG" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="AUFSD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KALKS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KDGRP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BZIRK" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KONDA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PLTYP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="AWAHR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="INCO1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="INCO2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="28"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LIFSD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="AUTLF" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ANTLF" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KZTLF" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KZAZU" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CHSPL" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LPRIO" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="EIKTO" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="12"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VSBED" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FAKSD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MRNKZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PERFK" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PERRL" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="WAERS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KTGRD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZTERM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VWERK" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VKGRP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VKBUR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VSORT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KVGR1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KVGR2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KVGR3" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KVGR4" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KVGR5" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BOKRE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KURST" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PRFRE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KLABC" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KABSS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KKBER" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CASSD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="RDOFF" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="E1KNVPM" minOccurs="0" maxOccurs="9999"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PARVW" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KUNN2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DEFPA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KNREF" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="30"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element><xsd:element name="E1KNVDM" minOccurs="0" maxOccurs="9999"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOCTP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SPRAS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOANZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOVER" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="NACHA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SPRAS_ISO" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element><xsd:element name="E1KNVIM" minOccurs="0" maxOccurs="9999"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ALAND" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TATYP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TAXKD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element><xsd:element name="E1KNVLM" minOccurs="0" maxOccurs="9999"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ALAND" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TATYP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LICNR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="15"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DATAB" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DATBI" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BELIC" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element><xsd:element name="E1KNB1M" minOccurs="0" maxOccurs="9999"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BUKRS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SPERR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LOEVM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZUAWA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BUSAB" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="AKONT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BEGRU" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KNRZE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KNRZB" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZAMIM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZAMIV" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZAMIR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZAMIB" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZAMIO" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZWELS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XVERR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZAHLS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZTERM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="WAKON" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VZSKZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZINDT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZINRT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="EIKTO" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="12"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZSABE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="15"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KVERM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="30"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FDGRV" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VRBKZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VLIBB" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="14"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VRSZL" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VRSPR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VRSNR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VERDT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PERKZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XDEZV" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XAUSZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="WEBTR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="14"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="REMIT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DATLZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XZVER" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TOGRU" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KULTG" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="HBKID" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XPORE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BLNKZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ALTKN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ZGRUP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="URLID" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MGRUP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="LOCKB" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="7"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="UZAWE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="EKVBD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SREGL" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XEDIP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FRGRP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VRSDG" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TLFXS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="31"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PERNR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="INTAD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="130"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="GUZTE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="GRICD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="GRIDT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="E1KNB5M" minOccurs="0" maxOccurs="9999"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MABER" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MAHNA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MANSP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MADAT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MAHNS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KNRMA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="GMVDT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BUSAB" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element><xsd:element name="E1KNBKM" minOccurs="0" maxOccurs="9999"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BANKS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BANKL" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="15"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BANKN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="18"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BKONT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BVTYP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XEZER" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BKREF" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="20"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BANKA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="60"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="STRAS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ORT01" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SWIFT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="11"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BGRUP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="XPGRO" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BNKLZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="15"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PSKTO" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="16"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BRNCH" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="40"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PROVZ" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KOINH" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element><xsd:element name="E1KNVAM" minOccurs="0" maxOccurs="9999"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ABLAD" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="25"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KNFAK" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="WANID" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MOAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MOBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MOAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MOBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DIAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DIBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DIAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DIBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MIAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MIBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MIAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MIBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FRAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FRBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FRAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FRBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SAAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SABI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SAAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SABI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SOAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SOBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SOAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SOBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DEFAB" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element><xsd:element name="E1KNVKM" minOccurs="0" maxOccurs="9999"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PARNR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="NAMEV" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="NAME1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ABTPA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="12"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ABTNR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="UEPAR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TELF1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="16"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="ANRED" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="30"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PAFKT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PARVO" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PAVIP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PARGE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PARLA" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="GBDAT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="VRTNR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="BRYTH" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="AKVER" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="NMAIL" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PARAU" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="40"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PARH1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PARH2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PARH3" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PARH4" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PARH5" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MOAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MOBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MOAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MOBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DIAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DIBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DIAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DIBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MIAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MIBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MIAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="MIBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DOBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FRAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FRBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FRAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FRBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SAAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SABI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SAAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SABI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SOAB1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SOBI1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SOAB2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SOBI2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PAKN1" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PAKN2" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PAKN3" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PAKN4" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PAKN5" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SORTL" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="FAMST" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SPNAM" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="TITEL_AP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="35"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element><xsd:element name="E1KNKAM" minOccurs="0" maxOccurs="1"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KLIMG" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="16"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KLIME" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="16"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="WAERS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DLAUS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element><xsd:element name="E1KNKKM" minOccurs="0" maxOccurs="9999"><xsd:complexType><xsd:sequence><xsd:element name="MSGFN" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KKBER" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KLIMK" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="16"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KNKLI" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CTLPC" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DTREV" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="CRBLB" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SBGRP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="NXTRV" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KRAUS" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="11"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="PAYDB" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="2"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DBRAT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="REVDB" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="GRUPP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="4"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="SBDAT" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="KDGRP" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DBPAY" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DBRTG" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="5"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DBEKR" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="17"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DBWAE" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="3"/></xsd:restriction></xsd:simpleType></xsd:element><xsd:element name="DBMON" minOccurs="0"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:maxLength value="8"/></xsd:restriction></xsd:simpleType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element></xsd:sequence><xsd:attribute name="SEGMENT" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element></xsd:sequence><xsd:attribute name="BEGIN" use="required"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="1"/></xsd:restriction></xsd:simpleType></xsd:attribute></xsd:complexType></xsd:element></xsd:sequence></xsd:complexType></xsd:element></xsd:schema>
\ No newline at end of file
diff --git a/v1/test/cases/schema/cyclone/CycloneOrganizationProfile.xsd b/v1/test/cases/schema/cyclone/CycloneOrganizationProfile.xsd
deleted file mode 100644
index 31314c0..0000000
--- a/v1/test/cases/schema/cyclone/CycloneOrganizationProfile.xsd
+++ /dev/null
@@ -1,734 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema targetNamespace="http://www.cyclonecommerce.com/Schemas/2001/08/cop" xmlns="http://www.cyclonecommerce.com/Schemas/2001/08/cop" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
-	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
-	<xsd:annotation>
-		<xsd:documentation>This schema represents organization details required for trading.</xsd:documentation>
-	</xsd:annotation>
-	<!--General definitions used within the rest of the schema.-->
-	<xsd:element name="Comment">
-		<xsd:annotation>
-			<xsd:documentation>A freeform text field that can be used to provide descriptive information about an element.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:simpleContent>
-				<xsd:extension base="xsd:string">
-					<xsd:attribute name="lang" type="xsd:language" default="en"/>
-				</xsd:extension>
-			</xsd:simpleContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:simpleType name="Identifier">
-		<xsd:annotation>
-			<xsd:documentation>An id for an element.  Can't use xsd:ID because it won't allow them to begin with a number.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string"/>
-	</xsd:simpleType>
-	<xsd:simpleType name="IdentifierRef">
-		<xsd:annotation>
-			<xsd:documentation>A reference to an Identifier.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="Identifier"/>
-	</xsd:simpleType>
-	<xsd:simpleType name="OrganizationId">
-		<xsd:annotation>
-			<xsd:documentation>The server's unique internal identifier for an organization.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="Identifier">
-			<xsd:minLength value="1"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="CommunityId">
-		<xsd:annotation>
-			<xsd:documentation>The server's unique internal identifier for a community.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="Identifier">
-			<xsd:minLength value="1"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:element name="Community" nillable="true">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="CommunityName" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="BrokerId" type="OrganizationId" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="communityId" type="CommunityId" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<!--The following defines stuff for the Administrative Information-->
-	<xsd:element name="OrganizationName">
-		<xsd:annotation>
-			<xsd:documentation>The name of the organization.</xsd:documentation>
-		</xsd:annotation>
-	</xsd:element>
-	<xsd:element name="PersonName">
-		<xsd:annotation>
-			<xsd:documentation>The name of a person</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:simpleContent>
-				<xsd:extension base="xsd:string"/>
-			</xsd:simpleContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:complexType name="Phone" mixed="true">
-		<xsd:annotation>
-			<xsd:documentation>A phone number.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:simpleContent>
-			<xsd:extension base="xsd:string">
-				<xsd:attribute name="type" type="xsd:string" use="optional"/>
-			</xsd:extension>
-		</xsd:simpleContent>
-	</xsd:complexType>
-	<xsd:simpleType name="Email">
-		<xsd:annotation>
-			<xsd:documentation>An email address.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string"/>
-	</xsd:simpleType>
-	<xsd:element name="Contact">
-		<xsd:annotation>
-			<xsd:documentation>Information about a person.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Comment" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="PersonName"/>
-				<xsd:element name="Title" minOccurs="0"/>
-				<xsd:element name="Department" minOccurs="0"/>
-				<xsd:element name="Email" minOccurs="0" maxOccurs="unbounded">
-					<xsd:annotation>
-						<xsd:documentation>Email address.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:simpleContent>
-							<xsd:extension base="Email">
-								<xsd:attribute name="type" type="xsd:string" use="optional"/>
-							</xsd:extension>
-						</xsd:simpleContent>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="Phone" minOccurs="0" maxOccurs="unbounded">
-					<xsd:complexType>
-						<xsd:simpleContent>
-							<xsd:extension base="Phone"/>
-						</xsd:simpleContent>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element ref="PostalAddress" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="contactId" type="Identifier" use="optional"/>
-			<xsd:attribute name="type" type="xsd:string" use="optional"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="Contacts">
-		<xsd:annotation>
-			<xsd:documentation>Collection of Contact and ContactRefs.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Contact" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="PostalAddress">
-		<xsd:annotation>
-			<xsd:documentation>Postal mailing address.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Comment" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="Street" type="xsd:string">
-					<xsd:annotation>
-						<xsd:documentation>The street address.  This may resolve to what may be interpreted as multiple lines.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="City" type="xsd:string" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>City.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="Stateprov" type="xsd:string" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>State or province depending on the country.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="PostalCode" type="xsd:string">
-					<xsd:annotation>
-						<xsd:documentation>Postal or zip code.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="Country" type="xsd:string" default="US">
-					<xsd:annotation>
-						<xsd:documentation>Country code.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:simpleType name="RoutingIdType">
-		<xsd:annotation>
-			<xsd:documentation>The type of routing identifier, like DUNS, EDI, etc.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string">
-			<xsd:enumeration value="EDI"/>
-			<xsd:enumeration value="EDIFACT"/>
-			<xsd:enumeration value="DUNS"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:element name="RoutingId">
-		<xsd:annotation>
-			<xsd:documentation>An identifier such as DUNS or EDI used to uniquely identify a company for trading.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:simpleContent>
-				<xsd:extension base="xsd:string">
-					<xsd:attribute name="type" type="RoutingIdType" use="required"/>
-				</xsd:extension>
-			</xsd:simpleContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="Certificate">
-		<xsd:annotation>
-			<xsd:documentation>Information about a certificate. The initial version of each Interchange product only support the ds:KeyInfo/ds:X509Data section including ds:X509IssuerSerial and X509Certificate.  Any other elements used will be ignored, and if one of the two supported elements is not included the certificate will be considered invalid.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="ds:KeyInfo"/>
-			</xsd:sequence>
-			<xsd:attribute name="certId" type="Identifier" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="CertificatetRef">
-		<xsd:annotation>
-			<xsd:documentation>A reference to a Certificate.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:attribute name="certId" type="IdentifierRef" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="Certificates">
-		<xsd:annotation>
-			<xsd:documentation>Collection of Certificates.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Certificate" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-			<xsd:attribute name="preferredEncryptionCertId" type="IdentifierRef" use="optional"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="AdministrativeInfo">
-		<xsd:annotation>
-			<xsd:documentation>Information describing an organization useful to humans.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="OrganizationName"/>
-				<xsd:element ref="PostalAddress" minOccurs="0"/>
-				<xsd:element ref="Contacts" minOccurs="0"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<!--The following defines stuff for Transports-->
-	<xsd:element name="Username" type="xsd:string">
-		<xsd:annotation>
-			<xsd:documentation>Username used to access a resource.</xsd:documentation>
-		</xsd:annotation>
-	</xsd:element>
-	<xsd:element name="Password">
-		<xsd:annotation>
-			<xsd:documentation>Password used to access a secure resouce.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:simpleContent>
-				<xsd:extension base="xsd:string">
-					<xsd:attribute name="encrypted" type="xsd:boolean" use="required"/>
-				</xsd:extension>
-			</xsd:simpleContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:simpleType name="IPAddress">
-		<xsd:annotation>
-			<xsd:documentation>Internet Protocal address, ex:  12.34.56.78</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="(([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-9]){3}(.[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]))">
-				<xsd:annotation>
-					<xsd:documentation>This mess just restricts the value to standard IP addresses where each of four octets can have values 0-255.</xsd:documentation>
-				</xsd:annotation>
-			</xsd:pattern>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="DNSAddress">
-		<xsd:annotation>
-			<xsd:documentation>Domain Name Server address, ex: www.cyclonecommerce.com</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string"/>
-	</xsd:simpleType>
-	<xsd:simpleType name="SocketSecurityType">
-		<xsd:annotation>
-			<xsd:documentation>AUTHENTICATED or ANONYMOUS</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string">
-			<xsd:enumeration value="AUTHENTICATED"/>
-			<xsd:enumeration value="ANONYMOUS"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:element name="Host">
-		<xsd:annotation>
-			<xsd:documentation>A host address, either in DNS or IP, for a server.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:simpleType>
-			<xsd:union memberTypes="DNSAddress IPAddress"/>
-		</xsd:simpleType>
-	</xsd:element>
-	<xsd:element name="Port">
-		<xsd:annotation>
-			<xsd:documentation>Socket port number.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:simpleType>
-			<xsd:restriction base="xsd:integer">
-				<xsd:minInclusive value="1"/>
-				<xsd:maxInclusive value="65000"/>
-			</xsd:restriction>
-		</xsd:simpleType>
-	</xsd:element>
-	<xsd:simpleType name="Directory">
-		<xsd:annotation>
-			<xsd:documentation>A directory on a file system or server such as FTP.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string"/>
-	</xsd:simpleType>
-	<xsd:simpleType name="JMSConsumerType">
-		<xsd:annotation>
-			<xsd:documentation>For JMS, either a Queue or Topic.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string">
-			<xsd:enumeration value="QUEUE"/>
-			<xsd:enumeration value="TOPIC"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="FirewallAuthenticationType">
-		<xsd:annotation>
-			<xsd:documentation>Either S/Key or ClearText</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string">
-			<xsd:enumeration value="SKEY"/>
-			<xsd:enumeration value="CLEARTEXT"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:element name="Firewall">
-		<xsd:annotation>
-			<xsd:documentation>Information about a transport server's firewall.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Host"/>
-				<xsd:element ref="Port"/>
-				<xsd:element name="Authentication" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Optional S/Key or Clear text authentication.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element ref="Username"/>
-							<xsd:element ref="Password"/>
-						</xsd:sequence>
-						<xsd:attribute name="type" type="FirewallAuthenticationType" use="required"/>
-					</xsd:complexType>
-				</xsd:element>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="SocketSecurity">
-		<xsd:annotation>
-			<xsd:documentation>Type of SSL security.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element ref="CertificatetRef" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="type" type="SocketSecurityType" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:complexType name="Transport">
-		<xsd:annotation>
-			<xsd:documentation>Base definition for a trading transport server.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:sequence>
-			<xsd:element ref="Comment" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="Schedules" minOccurs="0">
-				<xsd:annotation>
-					<xsd:documentation>Collection of schedules.</xsd:documentation>
-				</xsd:annotation>
-				<xsd:complexType>
-					<xsd:sequence>
-						<xsd:element name="schedule" minOccurs="0" maxOccurs="unbounded">
-							<xsd:annotation>
-								<xsd:documentation>Period of time including a start and stop time representing the period of time the transport is available.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:complexType>
-								<xsd:attribute name="startTime" type="xsd:time" use="required"/>
-								<xsd:attribute name="stopTime" type="xsd:time" use="required"/>
-							</xsd:complexType>
-						</xsd:element>
-					</xsd:sequence>
-				</xsd:complexType>
-			</xsd:element>
-		</xsd:sequence>
-		<xsd:attribute name="transportId" type="Identifier" use="optional"/>
-	</xsd:complexType>
-	<xsd:element name="TransportRef">
-		<xsd:annotation>
-			<xsd:documentation>A reference to a Transport defined elsewhere.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:attribute name="transportId" type="IdentifierRef" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="Transports">
-		<xsd:annotation>
-			<xsd:documentation>Collection of Transports defintions.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="FileTransport" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="FTPTransport" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="HTTPTransport" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="HTTPTransport_CI" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="SMTPTransport" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="SMTPTransport_CI" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="JMSTransport" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="MQSeriesTransport" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-			<xsd:attribute name="preferredTransportRef" type="IdentifierRef" use="optional"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="FileTransport">
-		<xsd:annotation>
-			<xsd:documentation>File system transport definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element name="Directory">
-							<xsd:annotation>
-								<xsd:documentation>The directory on the file system.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:complexType>
-								<xsd:simpleContent>
-									<xsd:extension base="Directory">
-										<xsd:attribute name="isLocal" type="xsd:boolean"/>
-									</xsd:extension>
-								</xsd:simpleContent>
-							</xsd:complexType>
-						</xsd:element>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="FTPTransport">
-		<xsd:annotation>
-			<xsd:documentation>File Transfer Protocol transport definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element ref="Host"/>
-						<xsd:element ref="Port"/>
-						<xsd:element ref="Username"/>
-						<xsd:element ref="Password"/>
-						<xsd:element name="TempDir" type="Directory">
-							<xsd:annotation>
-								<xsd:documentation>Directory on the FTP server where incoming documents are temporarily stored as they are transferred.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element name="PickupDir" type="Directory">
-							<xsd:annotation>
-								<xsd:documentation>Directory where the documents are moved after having been transferred to the TempDir.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element name="TransferType" default="BINARY">
-							<xsd:annotation>
-								<xsd:documentation>BINARY or ASCII</xsd:documentation>
-							</xsd:annotation>
-							<xsd:simpleType>
-								<xsd:restriction base="xsd:string">
-									<xsd:enumeration value="ASCII"/>
-									<xsd:enumeration value="BINARY"/>
-								</xsd:restriction>
-							</xsd:simpleType>
-						</xsd:element>
-						<xsd:element name="Mode" default="Passive">
-							<xsd:annotation>
-								<xsd:documentation>Port or Passive.  Passive means the FTP server selects the data port for the FTP data transfer. Port means the FTP client selects the data port for the FTP data transfer.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:simpleType>
-								<xsd:restriction base="xsd:string">
-									<xsd:enumeration value="Port"/>
-									<xsd:enumeration value="Passive"/>
-								</xsd:restriction>
-							</xsd:simpleType>
-						</xsd:element>
-						<xsd:element ref="Firewall" minOccurs="0"/>
-						<xsd:element ref="SocketSecurity" minOccurs="0"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="HTTPTransport">
-		<xsd:annotation>
-			<xsd:documentation>HyperText Transfer Protocol definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element name="URL" type="xsd:anyURI"/>
-						<xsd:element ref="Username" minOccurs="0"/>
-						<xsd:element ref="Password" minOccurs="0"/>
-						<xsd:element name="Method" default="POST">
-							<xsd:annotation>
-								<xsd:documentation>Either PUT or POST that the client should use to push docuemnts to the server.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:simpleType>
-								<xsd:restriction base="xsd:string">
-									<xsd:enumeration value="PUT"/>
-									<xsd:enumeration value="POST"/>
-								</xsd:restriction>
-							</xsd:simpleType>
-						</xsd:element>
-						<xsd:element name="DoubleMimeWrapped" type="xsd:boolean" default="false">
-							<xsd:annotation>
-								<xsd:documentation>Some servers will strip off MIME wrapping of a document requiring that the document be MIME wrapped twice.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element ref="Firewall" minOccurs="0"/>
-						<xsd:element ref="SocketSecurity" minOccurs="0"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="HTTPTransport_CI">
-		<xsd:annotation>
-			<xsd:documentation>Cyclone Interchange Enterprise's specialized version of HTTP.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element name="URL" type="xsd:anyURI"/>
-						<xsd:element ref="Firewall" minOccurs="0"/>
-						<xsd:element ref="SocketSecurity" minOccurs="0"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="SMTPTransport">
-		<xsd:annotation>
-			<xsd:documentation>Simple Mail Transport Protocol transport definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element ref="Host" minOccurs="0"/>
-						<xsd:element ref="Port" minOccurs="0"/>
-						<xsd:element ref="Username" minOccurs="0"/>
-						<xsd:element ref="Password" minOccurs="0"/>
-						<xsd:element name="Recipient" type="Email">
-							<xsd:annotation>
-								<xsd:documentation>Email address of the recipient.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element name="IsCompliant" type="xsd:boolean" default="true">
-							<xsd:annotation>
-								<xsd:documentation>Set to false for SMTP implementations that do not leave the MIME wrapping in tact.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element ref="Firewall" minOccurs="0"/>
-						<xsd:element ref="SocketSecurity" minOccurs="0"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="SMTPTransport_CI">
-		<xsd:annotation>
-			<xsd:documentation>Cyclone Interchange Enterprise's specialized version of SMTP.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element ref="Host" minOccurs="0"/>
-						<xsd:element ref="Port" minOccurs="0"/>
-						<xsd:element name="Recipient" type="Email">
-							<xsd:annotation>
-								<xsd:documentation>Email address of the recipient.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element ref="Firewall" minOccurs="0"/>
-						<xsd:element ref="SocketSecurity" minOccurs="0"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="JMSTransport">
-		<xsd:annotation>
-			<xsd:documentation>Java Message Service (JMS) transport definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element ref="Username" minOccurs="0"/>
-						<xsd:element ref="Password" minOccurs="0"/>
-						<xsd:element name="ConnectionFactory" type="xsd:string">
-							<xsd:annotation>
-								<xsd:documentation>The name of the connection factory.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element name="Consumer">
-							<xsd:annotation>
-								<xsd:documentation>The name of the Queue or Topic.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:complexType>
-								<xsd:simpleContent>
-									<xsd:extension base="xsd:string">
-										<xsd:attribute name="type" type="JMSConsumerType" default="QUEUE"/>
-									</xsd:extension>
-								</xsd:simpleContent>
-							</xsd:complexType>
-						</xsd:element>
-						<xsd:element name="JNDI">
-							<xsd:annotation>
-								<xsd:documentation>Java Naming and Directory Interface defintion to locate the JMS provider.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:complexType>
-								<xsd:sequence>
-									<xsd:element name="Location" type="xsd:anyURI">
-										<xsd:annotation>
-											<xsd:documentation>The URI location of the JMS server.</xsd:documentation>
-										</xsd:annotation>
-									</xsd:element>
-									<xsd:element ref="Username" minOccurs="0"/>
-									<xsd:element ref="Password" minOccurs="0"/>
-									<xsd:element name="ContextFactory" type="xsd:string">
-										<xsd:annotation>
-											<xsd:documentation>The name of the JNDI context factory.</xsd:documentation>
-										</xsd:annotation>
-									</xsd:element>
-								</xsd:sequence>
-							</xsd:complexType>
-						</xsd:element>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="MQSeriesTransport">
-		<xsd:annotation>
-			<xsd:documentation>IBM's MQ Series</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element ref="Host"/>
-						<xsd:element ref="Port"/>
-						<xsd:element ref="Username" minOccurs="0"/>
-						<xsd:element ref="Password" minOccurs="0"/>
-						<xsd:element name="QueueManager" type="xsd:string"/>
-						<xsd:element name="Queue" type="xsd:string"/>
-						<xsd:element name="Channel" type="xsd:string"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<!--The following defines business protocol information -->
-	<xsd:complexType name="BusinessProtocol">
-		<xsd:annotation>
-			<xsd:documentation>Base definition for a business protocol.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:sequence>
-			<xsd:element ref="TransportRef" maxOccurs="unbounded"/>
-		</xsd:sequence>
-		<xsd:attribute name="businessProtocolId" type="Identifier" use="required"/>
-	</xsd:complexType>
-	<xsd:element name="BusinessProtocolRef">
-		<xsd:annotation>
-			<xsd:documentation>A reference to a business protocol definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:attribute name="businessProtocolId" type="IdentifierRef" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="BusinessProtocols">
-		<xsd:annotation>
-			<xsd:documentation>Collection of Business protocol definitions.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:all>
-				<xsd:element name="AS1Protocol" type="BusinessProtocol" minOccurs="0"/>
-				<xsd:element name="AS2Protocol" type="BusinessProtocol" minOccurs="0"/>
-				<xsd:element name="RosettaNetProtocol" type="BusinessProtocol" minOccurs="0"/>
-				<xsd:element name="ebXMLProtocol" type="BusinessProtocol" minOccurs="0"/>
-			</xsd:all>
-		</xsd:complexType>
-	</xsd:element>
-	<!--The following defines the top-level OrganizationData-->
-	<xsd:element name="OrganizationProfile">
-		<xsd:annotation>
-			<xsd:documentation>All information needed to trade with an organization.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Comment" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="AdministrativeInfo" minOccurs="0"/>
-				<xsd:element name="RoutingIds" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Collection of RoutingIds</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element ref="RoutingId" minOccurs="0" maxOccurs="unbounded"/>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="BrokerId" type="OrganizationId" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Within this community, this organization trades through a broker (hub). This references another profile with this id.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="Communities" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Collection of communities the trading profile is actively a member of.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element ref="Community" minOccurs="0" maxOccurs="unbounded"/>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element ref="Transports" minOccurs="0"/>
-				<xsd:element ref="Certificates" minOccurs="0"/>
-				<xsd:element ref="BusinessProtocols" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="id" type="OrganizationId" use="optional">
-				<xsd:annotation>
-					<xsd:documentation>The OrganizationId exists for valid profiles existing within the server.  If a client is sending a profile for an organization that is not already in the server's repository, this id will not be present as the server will be assigning one for it.</xsd:documentation>
-				</xsd:annotation>
-			</xsd:attribute>
-		</xsd:complexType>
-	</xsd:element>
-</xsd:schema>
diff --git a/v1/test/cases/schema/cyclone/InterchangePartnerConfig.xsd b/v1/test/cases/schema/cyclone/InterchangePartnerConfig.xsd
deleted file mode 100644
index f149b1d..0000000
--- a/v1/test/cases/schema/cyclone/InterchangePartnerConfig.xsd
+++ /dev/null
@@ -1,261 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Bob Krier (Cyclone COmmerce, Inc.) -->
-<!--W3C Schema generated by XML Spy v3.5 NT (http://www.xmlspy.com)-->
-<xsd:schema targetNamespace="http://www.cyclonecommerce.com/Schemas/2001/09/ipp" xmlns="http://www.cyclonecommerce.com/Schemas/2001/09/ipp" xmlns:cop="http://www.cyclonecommerce.com/Schemas/2001/08/cop" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
-	<xsd:import namespace="http://www.cyclonecommerce.com/Schemas/2001/08/cop" schemaLocation="http://www.cyclonecommerce.com/Schemas/2001/08/CycloneOrganizationProfile.xsd"/>
-	<xsd:element name="InterchangePartnerProfile">
-		<xsd:annotation>
-			<xsd:documentation>Cyclone Interchange partner profile.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="cop:OrganizationProfile" minOccurs="0"/>
-				<xsd:element name="SecondaryIds" minOccurs="0">
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="SecondaryId" type="xsd:string" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element ref="Preferences" minOccurs="0"/>
-				<xsd:element name="Firewall" minOccurs="0">
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="MinSKeyIterationCount">
-								<xsd:simpleType>
-									<xsd:restriction base="xsd:int">
-										<xsd:minInclusive value="0"/>
-										<xsd:maxInclusive value="65535"/>
-									</xsd:restriction>
-								</xsd:simpleType>
-							</xsd:element>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="Security" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Security parameters.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="DocumentSigning" type="xsd:boolean" minOccurs="0">
-								<xsd:annotation>
-									<xsd:documentation>Boolean value indicating if documents received by this partner should be signed.</xsd:documentation>
-								</xsd:annotation>
-							</xsd:element>
-							<xsd:element name="DocumentAcknowledgement" minOccurs="0">
-								<xsd:annotation>
-									<xsd:documentation>Document acknowledgement configuration.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:complexType>
-									<xsd:sequence>
-										<xsd:element name="RequestSigned" type="xsd:boolean">
-											<xsd:annotation>
-												<xsd:documentation>Boolean value indicating document acknowledgments should be signed.</xsd:documentation>
-											</xsd:annotation>
-										</xsd:element>
-										<xsd:element name="RequestSynchronous" type="xsd:boolean">
-											<xsd:annotation>
-												<xsd:documentation>Boolean value indicating if acknowledgements should be immediately received.  Requires bundled HTTP(S).</xsd:documentation>
-											</xsd:annotation>
-										</xsd:element>
-									</xsd:sequence>
-									<xsd:attribute name="value" type="xsd:boolean" use="required"/>
-								</xsd:complexType>
-							</xsd:element>
-							<xsd:element name="MessageDigest" minOccurs="0">
-								<xsd:annotation>
-									<xsd:documentation>Defines the document message digest algorithim to use.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:simpleType>
-									<xsd:restriction base="xsd:NMTOKEN">
-										<xsd:enumeration value="MD5"/>
-										<xsd:enumeration value="SHA1"/>
-									</xsd:restriction>
-								</xsd:simpleType>
-							</xsd:element>
-							<xsd:element name="DocumentEncryption" minOccurs="0">
-								<xsd:annotation>
-									<xsd:documentation>Defines the type of document encryption algorithim to use.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:complexType>
-									<xsd:choice>
-										<xsd:element name="RC2Encryption">
-											<xsd:annotation>
-												<xsd:documentation>RC2 Encryption algorithim.  Key length is required.</xsd:documentation>
-											</xsd:annotation>
-											<xsd:complexType>
-												<xsd:attribute name="keyLength" use="required">
-													<xsd:simpleType>
-														<xsd:restriction base="xsd:NMTOKEN">
-															<xsd:enumeration value="40"/>
-															<xsd:enumeration value="64"/>
-															<xsd:enumeration value="128"/>
-														</xsd:restriction>
-													</xsd:simpleType>
-												</xsd:attribute>
-											</xsd:complexType>
-										</xsd:element>
-										<xsd:element name="ARCFourEncryption">
-											<xsd:annotation>
-												<xsd:documentation>ARCFour Encryption algorithim.  Key length is required.</xsd:documentation>
-											</xsd:annotation>
-											<xsd:complexType>
-												<xsd:attribute name="keyLength" use="required">
-													<xsd:simpleType>
-														<xsd:restriction base="xsd:NMTOKEN">
-															<xsd:enumeration value="40"/>
-															<xsd:enumeration value="64"/>
-															<xsd:enumeration value="128"/>
-														</xsd:restriction>
-													</xsd:simpleType>
-												</xsd:attribute>
-											</xsd:complexType>
-										</xsd:element>
-										<xsd:element name="DESEncryption">
-											<xsd:annotation>
-												<xsd:documentation>DES Encryption algorithim.</xsd:documentation>
-											</xsd:annotation>
-											<xsd:complexType>
-												<xsd:attribute name="keyLength" type="xsd:int" use="optional" fixed="56"/>
-											</xsd:complexType>
-										</xsd:element>
-										<xsd:element name="TripleDESEncryption">
-											<xsd:annotation>
-												<xsd:documentation>Triple DES Encryption algorithim.</xsd:documentation>
-											</xsd:annotation>
-											<xsd:complexType>
-												<xsd:attribute name="keyLength" type="xsd:int" use="optional" fixed="168"/>
-											</xsd:complexType>
-										</xsd:element>
-									</xsd:choice>
-								</xsd:complexType>
-							</xsd:element>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="BinaryDirectories" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Defines a collection of binary companies.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="BinaryCompany" maxOccurs="unbounded">
-								<xsd:annotation>
-									<xsd:documentation>Defines a collection of binary directories for a company.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:complexType>
-									<xsd:sequence>
-										<xsd:element name="BinaryDirectory" maxOccurs="unbounded">
-											<xsd:annotation>
-												<xsd:documentation>Defines the inbound and outbound binary directories for a partner.</xsd:documentation>
-											</xsd:annotation>
-											<xsd:complexType>
-												<xsd:attribute name="partnerId" type="xsd:string" use="required"/>
-												<xsd:attribute name="inboundPath" type="xsd:string" use="required"/>
-												<xsd:attribute name="outboundPath" type="xsd:string" use="required"/>
-											</xsd:complexType>
-										</xsd:element>
-									</xsd:sequence>
-									<xsd:attribute name="companyId" type="xsd:string" use="required"/>
-								</xsd:complexType>
-							</xsd:element>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-			</xsd:sequence>
-			<xsd:attribute name="group" type="xsd:string" use="optional"/>
-			<xsd:attribute name="version" type="xsd:string" use="optional"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="Preferences">
-		<xsd:annotation>
-			<xsd:documentation>Partner profile transport and document settings.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="Schedule" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Specifies the schedule to use when sending documents to this partner.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="InboundFilePreservation" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Specifies if inbound files should be persisted with their original file name.  Option attribute allows for overwriting or sequencing files with duplicate file names.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="DocumentOptions" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Global document configuration options.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="RejectDuplicateEDI" type="xsd:boolean">
-								<xsd:annotation>
-									<xsd:documentation>Boolean value indicating if EDI document recieved with duplicate control IDs should be rejected.</xsd:documentation>
-								</xsd:annotation>
-							</xsd:element>
-							<xsd:element name="Compression" default="NONE" nillable="false">
-								<xsd:annotation>
-									<xsd:documentation>Indicates the type of compression algorithim to use (NONE, GZIP or ZLIB). </xsd:documentation>
-								</xsd:annotation>
-								<xsd:simpleType>
-									<xsd:restriction base="xsd:string">
-										<xsd:enumeration value="GZIP"/>
-										<xsd:enumeration value="ZLIB"/>
-										<xsd:enumeration value="NONE"/>
-									</xsd:restriction>
-								</xsd:simpleType>
-							</xsd:element>
-							<xsd:element name="ResendAttempts">
-								<xsd:annotation>
-									<xsd:documentation>Integer value indicating the number of times a document should be resent if an acknowledment has not been recieved.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:simpleType>
-									<xsd:restriction base="xsd:int">
-										<xsd:minInclusive value="0"/>
-										<xsd:maxInclusive value="60"/>
-									</xsd:restriction>
-								</xsd:simpleType>
-							</xsd:element>
-							<xsd:element name="ResendInterval">
-								<xsd:annotation>
-									<xsd:documentation>Integer value indicating the duration (in hours) between resend attepts.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:simpleType>
-									<xsd:restriction base="xsd:int">
-										<xsd:minInclusive value="1"/>
-										<xsd:maxInclusive value="9999"/>
-									</xsd:restriction>
-								</xsd:simpleType>
-							</xsd:element>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="TransportRetries" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Specifies the Transport retries option and interval.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:attribute name="duration" type="xsd:integer" use="optional"/>
-						<xsd:attribute name="falloff" type="xsd:integer" use="required"/>
-					</xsd:complexType>
-				</xsd:element>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:complexType name="BusinessProtocol">
-		<xsd:annotation>
-			<xsd:documentation>Base definition for a business protocol.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:sequence>
-			<xsd:element ref="TransportRef" maxOccurs="unbounded"/>
-		</xsd:sequence>
-		<xsd:attribute name="businessProtocolId" type="xsd:IDREF" use="required"/>
-	</xsd:complexType>
-	<xsd:element name="TransportRef">
-		<xsd:annotation>
-			<xsd:documentation>A reference to a Transport defined elsewhere.</xsd:documentation>
-		</xsd:annotation>
-	</xsd:element>
-</xsd:schema>
diff --git a/v1/test/cases/schema/cyclone/TPM.xsd b/v1/test/cases/schema/cyclone/TPM.xsd
deleted file mode 100644
index b82aa5b..0000000
--- a/v1/test/cases/schema/cyclone/TPM.xsd
+++ /dev/null
@@ -1,358 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ==================================================================== -->
-<!--	Copyright (c) 2000-2003 BEA Systems, Inc.                           -->
-<!--	All rights reserved                                                 -->
-<!--	THIS IS UNPUBLISHED PROPRIETARY                                     -->
-<!--	SOURCE CODE OF BEA Systems, Inc.                                    -->
-<!--	The copyright notice above does not                                 -->
-<!--	evidence any actual or intended                                     -->
-<!--	publication of such source code.                                    -->
-<!-- ==================================================================== -->
-<!-- $Id: TPM.xsd,v 1.1 2003/09/15 18:20:40 ericvas Exp $ -->
-<xs:schema
-  targetNamespace="http://www.bea.com/2003/03/wli/tpm"
-  xmlns="http://www.bea.com/2003/03/wli/tpm"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
-  elementFormDefault="qualified">
-	<xs:import
-    namespace="http://www.w3.org/2000/09/xmldsig#"
-    schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
-	<xs:element name="trading-partner-management">
-		<xs:annotation>
-			<xs:documentation>This is the root element in the TPM repository.</xs:documentation>
-		</xs:annotation>
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="trading-partner" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="service" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="message-tracking-default" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-						<xs:enumeration value="METADATA"/>
-						<xs:enumeration value="ALL"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="secure-audit-logging" type="xs:boolean" use="optional"/>
-			<xs:attribute name="test-mode" type="xs:boolean" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="trading-partner">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="address" minOccurs="0"/>
-				<xs:element ref="extended-property-set" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:choice minOccurs="0" maxOccurs="unbounded">
-					<xs:element ref="client-certificate" minOccurs="0" maxOccurs="unbounded"/>
-					<xs:element ref="server-certificate" minOccurs="0"/>
-					<xs:element ref="encryption-certificate" minOccurs="0" maxOccurs="unbounded"/>
-					<xs:element ref="signature-certificate" minOccurs="0" maxOccurs="unbounded"/>
-				</xs:choice>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="ebxml-binding" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:element ref="rosettanet-binding" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:element ref="web-service-binding" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:choice>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="description" type="xs:string" use="optional"/>
-			<xs:attribute name="notes" type="xs:string" use="optional"/>
-			<xs:attribute name="type" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="LOCAL"/>
-						<xs:enumeration value="REMOTE"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="is-default" type="xs:boolean" use="optional"/>
-			<xs:attribute name="business-id-type" type="xs:string" use="optional"/>
-			<xs:attribute name="business-id" type="xs:string" use="optional"/>
-			<xs:attribute name="email" type="xs:string" use="optional"/>
-			<xs:attribute name="phone" type="xs:string" use="optional"/>
-			<xs:attribute name="fax" type="xs:string" use="optional"/>
-			<xs:attribute name="username" type="xs:string" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="address" type="xs:string"/>
-	<xs:element name="extended-property-set">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="xml-element" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="description" type="xs:string" use="optional"/>
-			<xs:attribute name="notes" type="xs:string" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="xml-element">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="xml-attribute" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="xml-element" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="xml-attribute">
-		<xs:complexType>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="value" type="xs:string" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="client-certificate">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="ds:KeyInfo" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="server-certificate">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="ds:KeyInfo" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="encryption-certificate">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="ds:KeyInfo" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="signature-certificate">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="ds:KeyInfo" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ebxml-binding">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="signature-transforms" minOccurs="0"/>
-				<xs:element ref="transport" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="business-protocol-name" type="xs:string" use="optional"/>
-			<xs:attribute name="business-protocol-version" type="xs:string" use="optional"/>
-			<xs:attribute name="is-default" type="xs:boolean" use="optional"/>
-			<xs:attribute name="is-signature-required" type="xs:boolean" use="optional"/>
-			<xs:attribute name="is-receipt-signature-required" type="xs:boolean" use="optional"/>
-			<xs:attribute name="signature-certificate-name" type="reference" use="optional"/>
-			<xs:attribute name="delivery-semantics" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-					<xs:enumeration value="BestEffort"/>
-            <xs:enumeration value="BESTEFFORT"/>
-					<xs:enumeration value="OnceAndOnlyOnce"/>
-            <xs:enumeration value="ONCEANDONLYONCE"/>
-					<xs:enumeration value="AtLeastOnce"/>
-            <xs:enumeration value="ATLEASTONCE"/>
-					<xs:enumeration value="AtMostOnce"/>
-            <xs:enumeration value="ATMOSTONCE"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="retries" type="xs:nonNegativeInteger" use="optional"/>
-			<xs:attribute name="retry-interval" type="xs:nonNegativeInteger" use="optional"/>
-			<xs:attribute name="persist-duration" type="xs:nonNegativeInteger" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="signature-transforms">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="xpath" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="xpath"/>
-	<xs:element name="rosettanet-binding">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="failure-report-administrator" minOccurs="0"/>
-				<xs:element ref="failure-notifier" minOccurs="0"/>
-				<xs:element ref="transport" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="business-protocol-name" type="xs:string" use="optional"/>
-			<xs:attribute name="business-protocol-version" type="xs:string" use="optional"/>
-			<xs:attribute name="is-default" type="xs:boolean" use="optional"/>
-			<xs:attribute name="encryption-certificate-name" type="reference" use="optional"/>
-			<xs:attribute name="cipher-algorithm" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-						<xs:enumeration value="RC5"/>
-						<xs:enumeration value="DES"/>
-						<xs:enumeration value="TRIPLE_DES"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="encryption-level" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-						<xs:enumeration value="PAYLOAD"/>
-						<xs:enumeration value="ENTIRE_PAYLOAD"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="is-signature-required" type="xs:boolean" use="optional"/>
-			<xs:attribute name="is-receipt-signature-required" type="xs:boolean" use="optional"/>
-			<xs:attribute name="signature-certificate-name" type="reference" use="optional"/>
-			<xs:attribute name="retries" type="xs:nonNegativeInteger" use="optional"/>
-			<xs:attribute name="retry-interval" type="xs:nonNegativeInteger" use="optional"/>
-			<xs:attribute name="process-timeout" type="xs:nonNegativeInteger" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="failure-report-administrator">
-		<xs:complexType>
-			<xs:attribute name="trading-partner-name" type="reference" use="required"/>
-			<xs:attribute name="binding-name" type="reference" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="failure-notifier">
-		<xs:complexType>
-			<xs:attribute name="trading-partner-name" type="reference" use="required"/>
-			<xs:attribute name="binding-name" type="reference" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="web-service-binding">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="transport" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="transport">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="authentication" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="protocol" use="required">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="http"/>
-            <xs:enumeration value="HTTP"/>
-						<xs:enumeration value="https"/>
-            <xs:enumeration value="HTTPS"/>
-						<xs:enumeration value="jms"/>
-            <xs:enumeration value="JMS"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="protocol-version" type="xs:string" use="optional"/>
-			<xs:attribute name="endpoint" type="xs:anyURI" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="authentication">
-		<xs:complexType>
-			<xs:attribute name="client-partner-name" type="reference" use="optional"/>
-			<xs:attribute name="client-authentication" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-						<xs:enumeration value="BASIC"/>
-						<xs:enumeration value="SSL_CERT"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="username" type="xs:string" use="optional"/>
-			<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
-			<xs:attribute name="client-certificate-name" type="reference" use="optional"/>
-			<xs:attribute name="server-authentication" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-						<xs:enumeration value="SSL_CERT_MUTUAL"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="server-certificate-name" type="reference" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="service">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="service-profile" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="rosettanet-service-defaults" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="version" type="xs:string" use="optional"/>
-			<xs:attribute name="description" type="xs:string" use="optional"/>
-			<xs:attribute name="notes" type="xs:string" use="optional"/>
-			<xs:attribute name="service-type" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="WEBSERVICE"/>
-						<xs:enumeration value="PROCESS"/>
-						<xs:enumeration value="SERVICECONTROL"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="business-protocol" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="WEBSERVICE"/>
-						<xs:enumeration value="EBXML"/>
-						<xs:enumeration value="ROSETTANET"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="service-profile">
-		<xs:complexType>
-			<xs:attribute name="local-trading-partner" type="reference" use="optional"/>
-			<xs:attribute name="local-binding" type="reference" use="optional"/>
-			<xs:attribute name="external-trading-partner" type="reference" use="required"/>
-			<xs:attribute name="external-binding" type="reference" use="optional"/>
-			<xs:attribute name="status" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="ENABLED"/>
-						<xs:enumeration value="DISABLED"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="message-tracking" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-            <xs:enumeration value="DEFAULT"/>
-						<xs:enumeration value="METADATA"/>
-						<xs:enumeration value="ALL"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="rosettanet-service-defaults">
-		<xs:complexType>
-			<xs:attribute name="service-content-schema" type="xs:string" use="optional"/>
-			<xs:attribute name="use-dtd-validation" type="xs:boolean" use="optional"/>
-			<xs:attribute name="validate-service-content" type="xs:boolean" use="optional"/>
-			<xs:attribute name="validate-service-header" type="xs:boolean" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:simpleType name="reference">
-		<xs:annotation>
-			<xs:documentation>Reference to another element in the TPM repository.</xs:documentation>
-		</xs:annotation>
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-</xs:schema>
diff --git a/v1/test/cases/schema/dynamic/dyntest.xml b/v1/test/cases/schema/dynamic/dyntest.xml
deleted file mode 100644
index 4cf1433..0000000
--- a/v1/test/cases/schema/dynamic/dyntest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<dt:wrappedinstance xmlns:dt="http://openuri.org/test/dyntest">
-  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://openuri.org/test/quant">
-    <xs:element name="quantity" type="xs:int"/>
-  </xs:schema>
-  <qt:quantity xmlns:qt="http://openuri.org/test/quant">
-    42
-  </qt:quantity>
-</dt:wrappedinstance>
\ No newline at end of file
diff --git a/v1/test/cases/schema/dynamic/dyntest.xsd b/v1/test/cases/schema/dynamic/dyntest.xsd
deleted file mode 100644
index f3a3007..0000000
--- a/v1/test/cases/schema/dynamic/dyntest.xsd
+++ /dev/null
@@ -1,18 +0,0 @@
-<xs:schema targetNamespace="http://openuri.org/test/dyntest"
-  blockDefault="#all"
-  elementFormDefault="qualified"
-  version="1.0"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xml:lang="EN">
-
-  <xs:element name="wrappedinstance">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="xs:schema"/>
-        <xs:any namespace="##any" processContents="lax"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>
-
diff --git a/v1/test/cases/schema/dynamic/dyntest2.xml b/v1/test/cases/schema/dynamic/dyntest2.xml
deleted file mode 100644
index e662e4d..0000000
--- a/v1/test/cases/schema/dynamic/dyntest2.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<dt:wrappedwildcard xmlns:dt="http://openuri.org/test/dyntest">
-  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://openuri.org/test/quant">
-    <xs:element name="quantity" type="xs:int"/>
-  </xs:schema>
-</dt:wrappedwildcard>
\ No newline at end of file
diff --git a/v1/test/cases/schema/dynamic/dyntest2.xsd b/v1/test/cases/schema/dynamic/dyntest2.xsd
deleted file mode 100644
index 6dc4e37..0000000
--- a/v1/test/cases/schema/dynamic/dyntest2.xsd
+++ /dev/null
@@ -1,17 +0,0 @@
-<xs:schema targetNamespace="http://openuri.org/test/dyntest"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  blockDefault="#all"
-  elementFormDefault="qualified"
-  version="1.0"
-  xml:lang="EN">
-
-  <xs:element name="wrappedwildcard">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:any namespace="##any" processContents="lax"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>
-
diff --git a/v1/test/cases/schema/ims/IMS_xml.xsd b/v1/test/cases/schema/ims/IMS_xml.xsd
deleted file mode 100644
index dbb4ddc..0000000
--- a/v1/test/cases/schema/ims/IMS_xml.xsd
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- filename=ims_xml.xsd -->
-<xsd:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns="http://www.w3.org/XML/1998/namespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
-	<!-- 2001-02-22 edited by Thomas Wason IMS Global Learning Consortium, Inc. -->
-	<xsd:annotation>
-		<xsd:documentation>In namespace-aware XML processors, the &quot;xml&quot; prefix is bound to the namespace name http://www.w3.org/XML/1998/namespace.</xsd:documentation>
-		<xsd:documentation>Do not reference this file in XML instances</xsd:documentation>
-	</xsd:annotation>
-	<xsd:attribute name="lang" type="xsd:language">
-		<xsd:annotation>
-			<xsd:documentation>Refers to universal  XML 1.0 lang attribute</xsd:documentation>
-		</xsd:annotation>
-	</xsd:attribute>
-	<xsd:attribute name="base" type="xsd:anyURI">
-		<xsd:annotation>
-			<xsd:documentation>Refers to XML Base: http://www.w3.org/TR/xmlbase</xsd:documentation>
-		</xsd:annotation>
-	</xsd:attribute>
-	<xsd:attribute name="link" type="xsd:anyURI"/>
-</xsd:schema>
diff --git a/v1/test/cases/schema/ims/imsmd_v1p2p2.xsd b/v1/test/cases/schema/ims/imsmd_v1p2p2.xsd
deleted file mode 100644
index 3e21f7c..0000000
--- a/v1/test/cases/schema/ims/imsmd_v1p2p2.xsd
+++ /dev/null
@@ -1,585 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema targetNamespace="http://www.imsglobal.org/xsd/imsmd_v1p2" 
-            xmlns:x="http://www.w3.org/XML/1998/namespace" 
-            xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-            xmlns="http://www.imsglobal.org/xsd/imsmd_v1p2" 
-            elementFormDefault="qualified" 
-            version="IMS MD 1.2.3">
-
-   <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="ims_xml.xsd"/> 
-   
-   <!-- ******************** -->
-   <!-- ** Change History ** -->
-   <!-- ******************** -->
-   <xsd:annotation>
-      <xsd:documentation>2001-04-26 T.D.Wason. IMS meta-data 1.2 XML-Schema.                                  </xsd:documentation>
-      <xsd:documentation>2001-06-07 S.E.Thropp. Changed the multiplicity on all elements to match the         </xsd:documentation>
-      <xsd:documentation>Final 1.2 Binding Specification.                                                     </xsd:documentation>
-      <xsd:documentation>Changed all elements that use the langstringType to a multiplicy of 1 or more        </xsd:documentation>
-      <xsd:documentation>Changed centity in the contribute element to have a multiplicity of 0 or more.       </xsd:documentation>
-      <xsd:documentation>Changed the requirement element to have a multiplicity of 0 or more.                 </xsd:documentation>
-      <xsd:documentation> 2001-07-25 Schawn Thropp.  Updates to bring the XSD up to speed with the W3C        </xsd:documentation>
-      <xsd:documentation> XML Schema Recommendation.  The following changes were made: Change the             </xsd:documentation>
-      <xsd:documentation> namespace to reference the 5/2/2001 W3C XML Schema Recommendation,the base          </xsd:documentation>
-      <xsd:documentation> type for the durtimeType, simpleType, was changed from timeDuration to duration.    </xsd:documentation> 
-      <xsd:documentation> Any attribute declarations that have use="default" had to change to use="optional"  </xsd:documentation>
-      <xsd:documentation> - attr.type.  Any attribute declarations that have value ="somevalue" had to change </xsd:documentation>
-      <xsd:documentation> to default = "somevalue" - attr.type (URI)                                          </xsd:documentation>
-      <xsd:documentation> 2001-09-04 Schawn Thropp                                                            </xsd:documentation>
-      <xsd:documentation> Changed the targetNamespace and namespace of schema to reflect version change       </xsd:documentation>
-      <xsd:documentation> 2001-11-04 Chris Moffatt:                                                           </xsd:documentation>
-      <xsd:documentation>  1. Changes to enable the schema to work with commercial XML Tools                  </xsd:documentation>
-      <xsd:documentation>     a. Refer to the xml namespace using the "x" abbreviation instead of "xml"       </xsd:documentation>
-      <xsd:documentation>     b. Remove unecessary non-deterministic constructs from schema.                  </xsd:documentation>
-      <xsd:documentation>        i.e. change occurrences of "#any" to "#other"                                </xsd:documentation>
-      <xsd:documentation>  2. Revert to original IMS MD version 1.2 namespace.                                </xsd:documentation>
-      <xsd:documentation>     i.e. "http://www.imsglobal.org/xsd/imsmd_v1p2"                                  </xsd:documentation>
-      <xsd:documentation>     This change done to support the decision to only change the XML namespace with  </xsd:documentation>
-      <xsd:documentation>     major revisions of the specification ie. where the information model or binding </xsd:documentation>
-      <xsd:documentation>     changes (as opposed to addressing bugs or omissions). A stable namespace is     </xsd:documentation>
-      <xsd:documentation>     necessary to the increasing number of implementors.                             </xsd:documentation>
-      <xsd:documentation>  3. Changed name of schema file to "imsmd_v1p2p2.xsd" and                           </xsd:documentation>
-      <xsd:documentation>     version attribute to "IMS MD 1.2.3" to reflect minor version change             </xsd:documentation>
-   </xsd:annotation>
-
-   <!-- *************************** -->
-   <!-- ** Attribute Declaration ** -->
-   <!-- *************************** -->
-
-   <xsd:attributeGroup name="attr.type">
-      <xsd:attribute name="type" use="optional" default="URI">
-         <xsd:simpleType>
-            <xsd:restriction base="xsd:string">
-               <xsd:enumeration value="URI"/>
-               <xsd:enumeration value="TEXT"/>
-            </xsd:restriction>
-         </xsd:simpleType>
-      </xsd:attribute>
-   </xsd:attributeGroup>
-
-   <xsd:group name="grp.any">
-      <xsd:annotation>
-         <xsd:documentation>Any namespaced element from any namespace may be used for an &quot;any&quot; element.  The namespace for the imported element must be defined in the instance, and the schema must be imported.  </xsd:documentation>
-      </xsd:annotation>
-      <xsd:sequence>
-         <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:sequence>
-   </xsd:group>
-
-   <!-- ************************* -->
-   <!-- ** Element Declaration ** -->
-   <!-- ************************* -->
-
-   <xsd:element name="aggregationlevel" type="aggregationlevelType"/>
-   <xsd:element name="annotation" type="annotationType"/>
-   <xsd:element name="catalogentry" type="catalogentryType"/>
-   <xsd:element name="catalog" type="catalogType"/>
-   <xsd:element name="centity" type="centityType"/>
-   <xsd:element name="classification" type="classificationType"/>
-   <xsd:element name="context" type="contextType"/>
-   <xsd:element name="contribute" type="contributeType"/>
-   <xsd:element name="copyrightandotherrestrictions" type="copyrightandotherrestrictionsType"/>
-   <xsd:element name="cost" type="costType"/>
-   <xsd:element name="coverage" type="coverageType"/>
-   <xsd:element name="date" type="dateType"/>
-   <xsd:element name="datetime" type="datetimeType"/>
-   <xsd:element name="description" type="descriptionType"/>
-   <xsd:element name="difficulty" type="difficultyType"/>
-   <xsd:element name="educational" type="educationalType"/>
-   <xsd:element name="entry" type="entryType"/>
-   <xsd:element name="format" type="formatType"/>
-   <xsd:element name="general" type="generalType"/>
-   <xsd:element name="identifier" type="xsd:string"/>
-   <xsd:element name="intendedenduserrole" type="intendedenduserroleType"/>
-   <xsd:element name="interactivitylevel" type="interactivitylevelType"/>
-   <xsd:element name="interactivitytype" type="interactivitytypeType"/>
-   <xsd:element name="keyword" type="keywordType"/>
-   <xsd:element name="kind" type="kindType"/>
-   <xsd:element name="langstring" type="langstringType"/>
-   <xsd:element name="language" type="xsd:string"/>
-   <xsd:element name="learningresourcetype" type="learningresourcetypeType"/>
-   <xsd:element name="lifecycle" type="lifecycleType"/>
-   <xsd:element name="location" type="locationType"/>
-   <xsd:element name="lom" type="lomType"/>
-   <xsd:element name="maximumversion" type="minimumversionType"/>
-   <xsd:element name="metadatascheme" type="metadataschemeType"/>
-   <xsd:element name="metametadata" type="metametadataType"/>
-   <xsd:element name="minimumversion" type="maximumversionType"/>
-   <xsd:element name="name" type="nameType"/>
-   <xsd:element name="purpose" type="purposeType"/>
-   <xsd:element name="relation" type="relationType"/>
-   <xsd:element name="requirement" type="requirementType"/>
-   <xsd:element name="resource" type="resourceType"/>
-   <xsd:element name="rights" type="rightsType"/>
-   <xsd:element name="role" type="roleType"/>
-   <xsd:element name="semanticdensity" type="semanticdensityType"/>
-   <xsd:element name="size" type="sizeType"/>
-   <xsd:element name="source" type="sourceType"/>
-   <xsd:element name="status" type="statusType"/>
-   <xsd:element name="structure" type="structureType"/>
-   <xsd:element name="taxon" type="taxonType"/>
-   <xsd:element name="taxonpath" type="taxonpathType"/>
-   <xsd:element name="technical" type="technicalType"/>
-   <xsd:element name="title" type="titleType"/>
-   <xsd:element name="type" type="typeType"/>
-   <xsd:element name="typicalagerange" type="typicalagerangeType"/>
-   <xsd:element name="typicallearningtime" type="typicallearningtimeType"/>
-   <xsd:element name="value" type="valueType"/>
-   <xsd:element name="person" type="personType"/>
-   <xsd:element name="vcard" type="xsd:string"/>
-   <xsd:element name="version" type="versionType"/>
-   <xsd:element name="installationremarks" type="installationremarksType"/>
-   <xsd:element name="otherplatformrequirements" type="otherplatformrequirementsType"/>
-   <xsd:element name="duration" type="durationType"/>
-   <xsd:element name="id" type="idType"/>
-
-   <!-- ******************* -->
-   <!-- ** Complex Types ** -->
-   <!-- ******************* -->
-
-   <xsd:complexType name="aggregationlevelType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="annotationType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="person" minOccurs="0"/>
-         <xsd:element ref="date" minOccurs="0"/>
-         <xsd:element ref="description" minOccurs="0"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="catalogentryType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="catalog"/>
-         <xsd:element ref="entry"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="centityType">
-      <xsd:sequence>
-         <xsd:element ref="vcard"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="classificationType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="purpose" minOccurs="0"/>
-         <xsd:element ref="taxonpath" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="description" minOccurs="0"/>
-         <xsd:element ref="keyword" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="contextType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="contributeType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="role"/>
-         <xsd:element ref="centity" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="date" minOccurs="0"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="copyrightandotherrestrictionsType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="costType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="coverageType">
-      <xsd:sequence>
-         <xsd:element ref="langstring" minOccurs="1" maxOccurs="unbounded"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="dateType">
-      <xsd:sequence>
-         <xsd:element ref="datetime" minOccurs="0"/>
-         <xsd:element ref="description" minOccurs="0"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="descriptionType">
-      <xsd:sequence>
-         <xsd:element ref="langstring" minOccurs="1" maxOccurs="unbounded"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="difficultyType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="durationType">
-      <xsd:sequence>
-         <xsd:element ref="datetime" minOccurs="0"/>
-         <xsd:element ref="description" minOccurs="0"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="educationalType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="interactivitytype" minOccurs="0"/>
-         <xsd:element ref="learningresourcetype" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="interactivitylevel" minOccurs="0"/>
-         <xsd:element ref="semanticdensity" minOccurs="0"/>
-         <xsd:element ref="intendedenduserrole" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="context" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="typicalagerange" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="difficulty" minOccurs="0"/>
-         <xsd:element ref="typicallearningtime" minOccurs="0"/>
-         <xsd:element ref="description" minOccurs="0"/>
-         <xsd:element ref="language" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="entryType">
-      <xsd:sequence>
-         <xsd:element ref="langstring" minOccurs="1" maxOccurs="unbounded"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="generalType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="identifier" minOccurs="0"/>
-         <xsd:element ref="title" minOccurs="0"/>
-         <xsd:element ref="catalogentry" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="language" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="description" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="keyword" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="coverage" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="structure" minOccurs="0"/>
-         <xsd:element ref="aggregationlevel" minOccurs="0"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="installationremarksType">
-      <xsd:sequence>
-         <xsd:element ref="langstring" minOccurs="1" maxOccurs="unbounded"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="intendedenduserroleType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="interactivitylevelType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="interactivitytypeType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="keywordType">
-      <xsd:sequence>
-         <xsd:element ref="langstring" minOccurs="1" maxOccurs="unbounded"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="kindType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="langstringType">
-      <xsd:simpleContent>
-         <xsd:extension base="xsd:string">
-            <xsd:attribute ref="x:lang"/>
-         </xsd:extension>
-      </xsd:simpleContent>
-   </xsd:complexType>
-   
-   <xsd:complexType name="learningresourcetypeType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="lifecycleType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="version" minOccurs="0"/>
-         <xsd:element ref="status" minOccurs="0"/>
-         <xsd:element ref="contribute" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="locationType">
-      <xsd:simpleContent>
-         <xsd:extension base="xsd:string">
-            <xsd:attributeGroup ref="attr.type"/>
-         </xsd:extension>
-      </xsd:simpleContent>
-   </xsd:complexType>
-   
-   <xsd:complexType name="lomType">
-      <xsd:sequence>
-         <xsd:element ref="general" minOccurs="0"/>
-         <xsd:element ref="lifecycle" minOccurs="0"/>
-         <xsd:element ref="metametadata" minOccurs="0"/>
-         <xsd:element ref="technical" minOccurs="0"/>
-         <xsd:element ref="educational" minOccurs="0"/>
-         <xsd:element ref="rights" minOccurs="0"/>
-         <xsd:element ref="relation" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="annotation" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="classification" minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="metametadataType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="identifier" minOccurs="0"/>
-         <xsd:element ref="catalogentry" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="contribute" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="metadatascheme" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="language" minOccurs="0"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="nameType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="otherplatformrequirementsType">
-      <xsd:sequence>
-         <xsd:element ref="langstring" minOccurs="1" maxOccurs="unbounded"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="personType">
-      <xsd:sequence>
-         <xsd:element ref="vcard"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="purposeType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="relationType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="kind" minOccurs="0"/>
-         <xsd:element ref="resource" minOccurs="0"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="requirementType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="type" minOccurs="0"/>
-         <xsd:element ref="name" minOccurs="0"/>
-         <xsd:element ref="minimumversion" minOccurs="0"/>
-         <xsd:element ref="maximumversion" minOccurs="0"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="resourceType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="identifier" minOccurs="0"/>
-         <xsd:element ref="description" minOccurs="0"/>
-         <xsd:element ref="catalogentry" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="rightsType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="cost" minOccurs="0"/>
-         <xsd:element ref="copyrightandotherrestrictions" minOccurs="0"/>
-         <xsd:element ref="description" minOccurs="0"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="roleType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="semanticdensityType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="sourceType">
-      <xsd:sequence>
-         <xsd:element ref="langstring"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="statusType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="stringType">
-      <xsd:simpleContent>
-         <xsd:extension base="xsd:string">
-            <xsd:attribute ref="x:lang"/>
-         </xsd:extension>
-      </xsd:simpleContent>
-   </xsd:complexType>
-   
-   <xsd:complexType name="structureType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="taxonpathType">
-      <xsd:sequence>
-         <xsd:element ref="source" minOccurs="0"/>
-         <xsd:element ref="taxon" minOccurs="0" maxOccurs="1"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="taxonType">
-      <xsd:sequence>
-         <xsd:element ref="id" minOccurs="0"/>
-         <xsd:element ref="entry" minOccurs="0"/>
-         <xsd:element ref="taxon" minOccurs="0" maxOccurs="1"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="technicalType" mixed="true">
-      <xsd:sequence>
-         <xsd:element ref="format" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="size" minOccurs="0"/>
-         <xsd:element ref="location" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="requirement" minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element ref="installationremarks" minOccurs="0"/>
-         <xsd:element ref="otherplatformrequirements" minOccurs="0"/>
-         <xsd:element ref="duration" minOccurs="0"/>
-         <xsd:group ref="grp.any"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="titleType">
-      <xsd:sequence>
-         <xsd:element ref="langstring" minOccurs="1" maxOccurs="unbounded"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="typeType">
-      <xsd:sequence>
-         <xsd:element ref="source"/>
-         <xsd:element ref="value"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="typicalagerangeType">
-      <xsd:sequence>
-         <xsd:element ref="langstring" minOccurs="1" maxOccurs="unbounded"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="typicallearningtimeType">
-      <xsd:sequence>
-         <xsd:element ref="datetime" minOccurs="0"/>
-         <xsd:element ref="description" minOccurs="0"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="valueType">
-      <xsd:sequence>
-         <xsd:element ref="langstring"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <xsd:complexType name="versionType">
-      <xsd:sequence>
-         <xsd:element ref="langstring" minOccurs="1" maxOccurs="unbounded"/>
-      </xsd:sequence>
-   </xsd:complexType>
-   
-   <!-- ****************** -->
-   <!-- ** Simple Types ** -->
-   <!-- ****************** -->
-   
-   <xsd:simpleType name="formatType">
-      <xsd:restriction base="xsd:string"/>
-   </xsd:simpleType>
-   
-   <xsd:simpleType name="sizeType">
-      <xsd:restriction base="xsd:int"/>
-   </xsd:simpleType>
-   
-   <xsd:simpleType name="datetimeType">
-      <xsd:restriction base="xsd:string"/>
-   </xsd:simpleType>
-   
-   <xsd:simpleType name="idType">
-      <xsd:restriction base="xsd:string"/>
-   </xsd:simpleType>
-   
-   <xsd:simpleType name="metadataschemeType">
-      <xsd:restriction base="xsd:string"/>
-   </xsd:simpleType>
-   
-   <xsd:simpleType name="catalogType">
-      <xsd:restriction base="xsd:string"/>
-   </xsd:simpleType>
-   
-   <xsd:simpleType name="minimumversionType">
-      <xsd:restriction base="xsd:string"/>
-   </xsd:simpleType>
-   
-   <xsd:simpleType name="maximumversionType">
-      <xsd:restriction base="xsd:string"/>
-   </xsd:simpleType>
-
-</xsd:schema>
diff --git a/v1/test/cases/schema/j2ee/XML.xsd b/v1/test/cases/schema/j2ee/XML.xsd
deleted file mode 100644
index ff8add9..0000000
--- a/v1/test/cases/schema/j2ee/XML.xsd
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
-<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
-
- <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.
-  </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/2001/03/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.  In other words, if the XML Schema namespace changes, the version
-   of this document at
-   http://www.w3.org/2001/xml.xsd will change
-   accordingly; the version at
-   http://www.w3.org/2001/03/xml.xsd will not change.
-  </xs:documentation>
- </xs:annotation>
-
- <xs:attribute name="lang" type="xs:language">
-  <xs:annotation>
-   <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
-         codes as the enumerated possible values . . .</xs:documentation>
-  </xs:annotation>
- </xs:attribute>
-
- <xs:attribute name="space" default="preserve">
-  <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: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/v1/test/cases/schema/j2ee/application-client_1_4.xsd b/v1/test/cases/schema/j2ee/application-client_1_4.xsd
deleted file mode 100644
index ba04f84..0000000
--- a/v1/test/cases/schema/j2ee/application-client_1_4.xsd
+++ /dev/null
@@ -1,276 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="1.4">
-<xsd:annotation>
-<xsd:documentation>
-@(#)application-client_1_4.xsds	1.7 07/08/02
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the application client 1.4
-deployment descriptor.  All application client deployment
-descriptors must indicate the application client
-schema by using the J2EE namespace:
-
-http://java.sun.com/xml/ns/j2ee
-
-and by indicating the version of the schema by
-using the version element as shown below:
-
-    <application-client xmlns="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-       http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd"
-     version="1.4">
-
-    ...
-    </application-client>
-
-The instance documents may indicate the published version of
-the schema using the xsi:schemaLocation attribute for J2EE
-namespace with the following location:
-
-http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<include schemaLocation="j2ee_1_4.xsd"/>
-
-
-<!-- **************************************************** -->
-
-
-<xsd:element name="application-client" type="j2ee:application-clientType">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The application-client element is the root element of an
-    application client deployment descriptor.  The application
-    client deployment descriptor describes the EJB components
-    and external resources referenced by the application
-    client.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:unique name="env-entry-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The env-entry-name element contains the name of an
-    application client's environment entry.  The name is a JNDI
-    name relative to the java:comp/env context.  The name must
-    be unique within an application client.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:env-entry"/>
-        <xsd:field    xpath="j2ee:env-entry-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="ejb-ref-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The ejb-ref-name element contains the name of an EJB
-    reference. The EJB reference is an entry in the application
-    client's environment and is relative to the
-    java:comp/env context. The name must be unique within the
-    application client.
-
-    It is recommended that name is prefixed with "ejb/".
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:ejb-ref"/>
-        <xsd:field    xpath="j2ee:ejb-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="res-ref-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The res-ref-name element specifies the name of a
-    resource manager connection factory reference.The name
-    is a JNDI name relative to the java:comp/env context.
-    The name must be unique within an application client.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:resource-ref"/>
-        <xsd:field    xpath="j2ee:res-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="resource-env-ref-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The resource-env-ref-name element specifies the name of
-    a resource environment reference; its value is the
-    environment entry name used in the application client
-    code. The name is a JNDI name relative to the
-    java:comp/env context and must be unique within an
-    application client.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:resource-env-ref"/>
-        <xsd:field    xpath="j2ee:resource-env-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="message-destination-ref-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The message-destination-ref-name element specifies the
-    name of a message destination reference; its value is
-    the message destination reference name used in the
-    application client code. The name is a JNDI name
-    relative to the java:comp/env context and must be unique
-    within an application client.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:message-destination-ref"/>
-        <xsd:field    xpath="j2ee:message-destination-ref-name"/>
-    </xsd:unique>
-
-</xsd:element>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="application-clientType">
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="env-entry"
-                     type="j2ee:env-entryType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref"
-                     type="j2ee:ejb-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="resource-ref"
-                     type="j2ee:resource-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="resource-env-ref"
-                     type="j2ee:resource-env-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref"
-                     type="j2ee:message-destination-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="callback-handler"
-                     type="j2ee:fully-qualified-classType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The callback-handler element names a class provided by
-        the application.  The class must have a no args
-        constructor and must implement the
-        javax.security.auth.callback.CallbackHandler
-        interface.  The class will be instantiated by the
-        application client container and used by the container
-        to collect authentication information from the user.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="message-destination"
-                     type="j2ee:message-destinationType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-
-    </xsd:sequence>
-
-    <xsd:attribute name="version"
-                   type="j2ee:dewey-versionType"
-                   fixed="1.4"
-                   use="required">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The required value for the version is 1.4.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-    </xsd:attribute>
-
-</xsd:complexType>
-
-</xsd:schema>
-
diff --git a/v1/test/cases/schema/j2ee/application_1_4.xsd b/v1/test/cases/schema/j2ee/application_1_4.xsd
deleted file mode 100644
index b53113b..0000000
--- a/v1/test/cases/schema/j2ee/application_1_4.xsd
+++ /dev/null
@@ -1,329 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="1.4">
-<xsd:annotation>
-<xsd:documentation>
-@(#)application_1_4.xsds	1.6 08/09/02
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the application 1.4 deployment
-descriptor.  All application deployment descriptors must
-indicate that the schema by using the J2EE namespace
-
-http://java.sun.com/xml/ns/j2ee
-
-and by indicating the version of the schema by
-using the version element as shown below:
-
-    <application xmlns="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-        http://java.sun.com/xml/ns/j2ee/application_1_4.xsd"
-     version="1.4">
-
-    ...
-    </application>
-
-The instance documents may indicate the published version of
-the schema using the xsi:schemaLocation attribute for J2EE
-namespace with the following location:
-
-http://java.sun.com/xml/ns/j2ee/application_1_4.xsd
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:include schemaLocation="j2ee_1_4.xsd"/>
-
-
-<!-- **************************************************** -->
-
-
-<xsd:element name="application" type="j2ee:applicationType">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The application element is the root element of a J2EE
-    application deployment descriptor.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:unique name="context-root-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The context-root element content must be unique
-    in the ear.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:module/j2ee:web"/>
-        <xsd:field    xpath="j2ee:context-root"/>
-    </xsd:unique>
-
-    <xsd:unique name="security-role-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The security-role-name element content
-    must be unique in the ear.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:security-role"/>
-        <xsd:field    xpath="j2ee:role-name"/>
-    </xsd:unique>
-
-</xsd:element>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="applicationType">
-<xsd:annotation>
-<xsd:documentation>
-
-The applicationType defines the structure of the
-application.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="module"
-                     type="j2ee:moduleType"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The application deployment descriptor must have one
-        module element for each J2EE module in the
-        application package. A module element is defined
-        by moduleType definition.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="security-role"
-                     type="j2ee:security-roleType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="version"
-                   type="j2ee:dewey-versionType"
-                   fixed="1.4"
-                   use="required">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The required value for the version is 1.4.
-
-    </xsd:documentation>
-    </xsd:annotation>
-    </xsd:attribute>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="moduleType">
-<xsd:annotation>
-<xsd:documentation>
-
-The moduleType defines a single J2EE module and contains a
-connector, ejb, java, or web element, which indicates the
-module type and contains a path to the module file, and an
-optional alt-dd element, which specifies an optional URI to
-the post-assembly version of the deployment descriptor.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:choice>
-            <xsd:element name="connector"
-                         type="j2ee:pathType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The connector element specifies the URI of a
-            resource adapter archive file, relative to the
-            top level of the application package.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="ejb"
-                         type="j2ee:pathType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The ejb element specifies the URI of an ejb-jar,
-            relative to the top level of the application
-            package.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="java"
-                         type="j2ee:pathType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The java element specifies the URI of a java
-            application client module, relative to the top
-            level of the application package.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="web"
-                         type="j2ee:webType"/>
-        </xsd:choice>
-        <xsd:element name="alt-dd"
-                     type="j2ee:pathType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The alt-dd element specifies an optional URI to the
-        post-assembly version of the deployment descriptor
-        file for a particular J2EE module.  The URI must
-        specify the full pathname of the deployment
-        descriptor file relative to the application's root
-        directory. If alt-dd is not specified, the deployer
-        must read the deployment descriptor from the default
-        location and file name required by the respective
-        component specification.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="webType">
-<xsd:annotation>
-<xsd:documentation>
-
-The webType defines the web-uri and context-root of
-a web application module.
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="web-uri"
-                     type="j2ee:pathType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The web-uri element specifies the URI of a web
-        application file, relative to the top level of the
-        application package.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="context-root"
-                     type="j2ee:string">
-
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The context-root element specifies the context root
-        of a web application.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-</xsd:complexType>
-
-</xsd:schema>
-
diff --git a/v1/test/cases/schema/j2ee/connector_1_5.xsd b/v1/test/cases/schema/j2ee/connector_1_5.xsd
deleted file mode 100644
index abe55bd..0000000
--- a/v1/test/cases/schema/j2ee/connector_1_5.xsd
+++ /dev/null
@@ -1,1011 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="1.5">
-<xsd:annotation>
-<xsd:documentation>
-@(#)connector_1_5.xsds	1.16 07/06/02
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the Connector 1.5 deployment
-descriptor.  All Connector deployment descriptors must
-indicate the connector resource adapter schema by using the
-J2EE namespace:
-
-http://java.sun.com/xml/ns/j2ee
-
-and by indicating the version of the schema by
-using the version element as shown below:
-
-    <connector xmlns="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-         http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-     version="1.5">
-    ...
-    </connector>
-
-The instance documents may indicate the published version of
-the schema using the xsi:schemaLocation attribute for J2EE
-namespace with the following location:
-
-http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<include schemaLocation="j2ee_1_4.xsd"/>
-
-
-<!-- **************************************************** -->
-
-
-<xsd:element name="connector" type="j2ee:connectorType">
-<xsd:annotation>
-<xsd:documentation>
-
-The connector element is the root element of the deployment
-descriptor for the resource adapter. This element includes
-general information - vendor name, resource adapter version,
-icon - about the resource adapter module. It also includes
-information specific to the implementation of the resource
-adapter library as specified through the element
-resourceadapter.
-
-</xsd:documentation>
-</xsd:annotation>
-
-</xsd:element>
-
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="activationspecType">
-<xsd:annotation>
-<xsd:documentation>
-
-The activationspecType specifies an activation
-specification.  The information includes fully qualified
-Java class name of an activation specification and a set of
-required configuration property names.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="activationspec-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element activationspec-class specifies the fully
-        qualified Java class name of the activation
-        specification class. This class must implement the
-        javax.resource.spi.ActivationSpec interface. The
-        implementation of this class is required to be a
-        JavaBean.
-
-        Example:
-            <activationspec-class>com.wombat.ActivationSpecImpl
-            </activationspec-class>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="required-config-property"
-                     type="j2ee:required-config-propertyType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="adminobjectType">
-<xsd:annotation>
-<xsd:documentation>
-
-The adminobjectType specifies information about an
-administered object.  Administered objects are specific to a
-messaging style or message provider.  This contains
-information on the Java type of the interface implemented by
-an administered object, its Java class name and its
-configuration properties.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="adminobject-interface"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element adminobject-interface specifies the
-        fully qualified name of the Java type of the
-        interface implemented by an administered object.
-
-         Example:
-         <adminobject-interface>javax.jms.Destination
-         </adminobject-interface>
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="adminobject-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element adminobject-class specifies the fully
-        qualified Java class name of an administered object.
-
-        Example:
-            <adminobject-class>com.wombat.DestinationImpl
-            </adminobject-class>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="config-property"
-                     type="j2ee:config-propertyType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="authentication-mechanismType">
-<xsd:annotation>
-<xsd:documentation>
-
-The authentication-mechanismType specifies an authentication
-mechanism supported by the resource adapter. Note that this
-support is for the resource adapter and not for the
-underlying EIS instance. The optional description specifies
-any resource adapter specific requirement for the support of
-security contract and authentication mechanism.
-
-Note that BasicPassword mechanism type should support the
-javax.resource.spi.security.PasswordCredential interface.
-The Kerbv5 mechanism type should support the
-org.ietf.jgss.GSSCredential interface or the deprecated
-javax.resource.spi.security.GenericCredential interface.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="authentication-mechanism-type"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element authentication-mechanism-type specifies
-        type of an authentication mechanism.
-
-        The example values are:
-
-        <authentication-mechanism-type>BasicPassword
-        </authentication-mechanism-type>
-
-        <authentication-mechanism-type>Kerbv5
-        </authentication-mechanism-type>
-
-        Any additional security mechanisms are outside the
-        scope of the Connector architecture specification.
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="credential-interface"
-                     type="j2ee:credential-interfaceType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="config-property-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The config-property-nameType contains the name of a
-configuration property.
-
-The connector architecture defines a set of well-defined
-properties all of type java.lang.String. These are as
-follows.
-
-     ServerName
-     PortNumber
-     UserName
-     Password
-     ConnectionURL
-
-A resource adapter provider can extend this property set to
-include properties specific to the resource adapter and its
-underlying EIS.
-
-Possible values include
-        ServerName
-        PortNumber
-        UserName
-        Password
-        ConnectionURL
-
-Example: <config-property-name>ServerName</config-property-name>
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:restriction base="xsd:string">
-    </xsd:restriction>
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="config-property-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The config-property-typeType contains the fully
-qualified Java type of a configuration property.
-
-The following are the legal values:
-   java.lang.Boolean, java.lang.String, java.lang.Integer,
-   java.lang.Double, java.lang.Byte, java.lang.Short,
-   java.lang.Long, java.lang.Float, java.lang.Character
-
-Used in: config-property
-
-Example:
-<config-property-type>java.lang.String</config-property-type>
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="java.lang.Boolean"/>
-        <xsd:enumeration value="java.lang.String"/>
-        <xsd:enumeration value="java.lang.Integer"/>
-        <xsd:enumeration value="java.lang.Double"/>
-        <xsd:enumeration value="java.lang.Byte"/>
-        <xsd:enumeration value="java.lang.Short"/>
-        <xsd:enumeration value="java.lang.Long"/>
-        <xsd:enumeration value="java.lang.Float"/>
-        <xsd:enumeration value="java.lang.Character"/>
-    </xsd:restriction>
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="config-propertyType">
-<xsd:annotation>
-<xsd:documentation>
-
-The config-propertyType contains a declaration of a single
-configuration property that may be used for providing
-configuration information.
-
-The declaration consists of an optional description, name,
-type and an optional value of the configuration property. If
-the resource adapter provider does not specify a value than
-the deployer is responsible for providing a valid value for
-a configuration property.
-
-Any bounds or well-defined values of properties should be
-described in the description element.
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="config-property-name"
-                     type="j2ee:config-property-nameType"/>
-        <xsd:element name="config-property-type"
-                     type="j2ee:config-property-typeType"/>
-        <xsd:element name="config-property-value"
-                     type="xsd:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element config-property-value contains the value
-        of a configuration entry. Note, it is possible for a
-        resource adapter deployer to override this
-        configuration information during deployment.
-
-        Example:
-        <config-property-value>WombatServer</config-property-value>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="connection-definitionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The connection-definitionType defines a set of connection
-interfaces and classes pertaining to a particular connection
-type. This also includes configurable properties for
-ManagedConnectionFactory instances that may be produced out
-of this set.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="managedconnectionfactory-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element managedconnectionfactory-class specifies
-        the fully qualified name of the Java class that
-        implements the
-        javax.resource.spi.ManagedConnectionFactory interface.
-        This Java class is provided as part of resource
-        adapter's implementation of connector architecture
-        specified contracts. The implementation of this
-        class is required to be a JavaBean.
-
-        Example:
-        <managedconnectionfactory-class>
-            com.wombat.ManagedConnectionFactoryImpl
-        </managedconnectionfactory-class>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="config-property"
-                     type="j2ee:config-propertyType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="connectionfactory-interface"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element connectionfactory-interface specifies
-        the fully qualified name of the ConnectionFactory
-        interface supported by the resource adapter.
-
-        Example:
-        <connectionfactory-interface>com.wombat.ConnectionFactory
-        </connectionfactory-interface>
-
-        OR
-
-        <connectionfactory-interface>javax.resource.cci.ConnectionFactory
-        </connectionfactory-interface>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="connectionfactory-impl-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element connectionfactory-impl-class specifies
-        the fully qualified name of the ConnectionFactory
-        class that implements resource adapter
-        specific ConnectionFactory interface.
-
-        Example:
-
-        <connectionfactory-impl-class>com.wombat.ConnectionFactoryImpl
-        </connectionfactory-impl-class>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="connection-interface"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The connection-interface element specifies the fully
-        qualified name of the Connection interface supported
-        by the resource adapter.
-
-        Example:
-
-            <connection-interface>javax.resource.cci.Connection
-            </connection-interface>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="connection-impl-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The connection-impl-classType specifies the fully
-        qualified name of the Connection class that
-        implements resource adapter specific Connection
-        interface.  It is used by the connection-impl-class
-        elements.
-
-        Example:
-
-            <connection-impl-class>com.wombat.ConnectionImpl
-            </connection-impl-class>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="connectorType">
-<xsd:annotation>
-<xsd:documentation>
-
-The connectorType defines a resource adapter.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="vendor-name">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element vendor-name specifies the name of
-        resource adapter provider vendor.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="eis-type"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element eis-type contains information about the
-        type of the EIS. For example, the type of an EIS can
-        be product name of EIS independent of any version
-        info.
-
-        This helps in identifying EIS instances that can be
-        used with this resource adapter.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="resourceadapter-version"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element version specifies a string-based version
-        of the resource adapter from the resource adapter
-        provider.
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="license"
-                     type="j2ee:licenseType"
-                     minOccurs="0"/>
-        <xsd:element name="resourceadapter"
-                     type="j2ee:resourceadapterType"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        Resource adapter specific extensions can be
-        specified by using the deployment-extension
-        elements.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-    <xsd:attribute name="version"
-                   type="j2ee:dewey-versionType"
-                   fixed="1.5"
-                   use="required">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The version specifies the version of the
-    connector architecture specification that is
-    supported by this resource adapter. This information
-    enables deployer to configure the resource adapter to
-    support deployment and runtime requirements of the
-    corresponding connector architecture specification.
-
-    </xsd:documentation>
-    </xsd:annotation>
-    </xsd:attribute>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="credential-interfaceType">
-<xsd:annotation>
-<xsd:documentation>
-
-The credential-interfaceType specifies the
-interface that the resource adapter implementation
-supports for the representation of the
-credentials. This element(s) that use this type,
-i.e. credential-interface,  should be used by
-application server to find out the Credential
-interface it should use as part of the security
-contract.
-
-The possible values are:
-
-javax.resource.spi.security.PasswordCredential
-org.ietf.jgss.GSSCredential
-javax.resource.spi.security.GenericCredential
-
-</xsd:documentation>
-</xsd:annotation>
-
-  <xsd:restriction base="j2ee:fully-qualified-classType">
-        <xsd:enumeration
-            value="javax.resource.spi.security.PasswordCredential"/>
-        <xsd:enumeration
-            value="org.ietf.jgss.GSSCredential"/>
-        <xsd:enumeration
-            value="javax.resource.spi.security.GenericCredential"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="inbound-resourceadapterType">
-<xsd:annotation>
-<xsd:documentation>
-
-The inbound-resourceadapterType specifies information
-about an inbound resource adapter. This contains information
-specific to the implementation of the resource adapter
-library as specified through the messageadapter element.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="messageadapter"
-                     type="j2ee:messageadapterType"
-                     minOccurs="0">
-        <xsd:unique name="messagelistener-type-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The messagelistener-type element content must be
-        unique in the messageadapter. Several messagelisteners
-        can not use the same messagelistener-type.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        <xsd:selector xpath="j2ee:messagelistener"/>
-        <xsd:field    xpath="j2ee:messagelistener-type"/>
-        </xsd:unique>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="licenseType">
-<xsd:annotation>
-<xsd:documentation>
-
-The licenseType specifies licensing requirements for the
-resource adapter module. This type specifies whether a
-license is required to deploy and use this resource adapter,
-and an optional description of the licensing terms
-(examples: duration of license, number of connection
-restrictions). It is used by the license element.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-            <xsd:element name="description"
-                         type="j2ee:descriptionType"
-                         minOccurs="0"
-                         maxOccurs="unbounded"/>
-            <xsd:element name="license-required"
-                         type="j2ee:true-falseType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The element license-required specifies whether a
-            license is required to deploy and use the
-            resource adapter. This element must be one of
-            the following, "true" or "false".
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="messageadapterType">
-<xsd:annotation>
-<xsd:documentation>
-
-The messageadapterType specifies information about the
-messaging capabilities of the resource adapter. This
-contains information specific to the implementation of the
-resource adapter library as specified through the
-messagelistener element.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="messagelistener"
-                     type="j2ee:messagelistenerType"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="messagelistenerType">
-<xsd:annotation>
-<xsd:documentation>
-
-The messagelistenerType specifies information about a
-specific message listener supported by the messaging
-resource adapter. It contains information on the Java type
-of the message listener interface and an activation
-specification.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="messagelistener-type"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element messagelistener-type specifies the fully
-        qualified name of the Java type of a message
-        listener interface.
-
-        Example:
-
-          <messagelistener-type>javax.jms.MessageListener
-          </messagelistener-type>
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="activationspec"
-                     type="j2ee:activationspecType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="outbound-resourceadapterType">
-<xsd:annotation>
-<xsd:documentation>
-
-The outbound-resourceadapterType specifies information about
-an outbound resource adapter. The information includes fully
-qualified names of classes/interfaces required as part of
-the connector architecture specified contracts for
-connection management, level of transaction support
-provided, one or more authentication mechanisms supported
-and additional required security permissions.
-
-If there is no authentication-mechanism specified as part of
-resource adapter element then the resource adapter does not
-support any standard security authentication mechanisms as
-part of security contract. The application server ignores
-the security part of the system contracts in this case.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="connection-definition"
-                     type="j2ee:connection-definitionType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="transaction-support"
-                     type="j2ee:transaction-supportType"/>
-        <xsd:element name="authentication-mechanism"
-                     type="j2ee:authentication-mechanismType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="reauthentication-support"
-                     type="j2ee:true-falseType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element reauthentication-support specifies
-        whether the resource adapter implementation supports
-        re-authentication of existing Managed- Connection
-        instance. Note that this information is for the
-        resource adapter implementation and not for the
-        underlying EIS instance. This element must have
-        either a "true" or "false" value.
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="security-permission"
-                     type="j2ee:security-permissionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="required-config-propertyType">
-<xsd:annotation>
-<xsd:documentation>
-
-The required-config-propertyType contains a declaration
-of a single configuration property used for specifying a
-required configuration property name. It is used
-by required-config-property elements.
-
-Example:
-
-<required-config-property>Destination</required-config-property>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="config-property-name"
-                     type="j2ee:config-property-nameType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="resourceadapterType">
-<xsd:annotation>
-<xsd:documentation>
-
-The resourceadapterType specifies information about the
-resource adapter. The information includes fully qualified
-resource adapter Java class name, configuration properties,
-information specific to the implementation of the resource
-adapter library as specified through the
-outbound-resourceadapter and inbound-resourceadapter
-elements, and an optional set of administered objects.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="resourceadapter-class"
-                     type="j2ee:fully-qualified-classType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element resourceadapter-class specifies the
-        fully qualified name of a Java class that implements
-        the javax.resource.spi.ResourceAdapter
-        interface. This Java class is provided as part of
-        resource adapter's implementation of connector
-        architecture specified contracts. The implementation
-        of this class is required to be a JavaBean.
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="config-property"
-                     type="j2ee:config-propertyType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="outbound-resourceadapter"
-                     type="j2ee:outbound-resourceadapterType"
-                     minOccurs="0"/>
-        <xsd:element name="inbound-resourceadapter"
-                     type="j2ee:inbound-resourceadapterType"
-                     minOccurs="0"/>
-        <xsd:element name="adminobject"
-                     type="j2ee:adminobjectType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="security-permissionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The security-permissionType specifies a security
-permission that is required by the resource adapter code.
-
-The security permission listed in the deployment descriptor
-are ones that are different from those required by the
-default permission set as specified in the connector
-specification. The optional description can mention specific
-reason that resource adapter requires a given security
-permission.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="security-permission-spec"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element permission-spec specifies a security
-        permission based on the Security policy file
-        syntax. Refer to the following URL for Sun's
-        implementation of the security permission
-        specification:
-
-        http://java.sun.com/products/jdk/1.4/docs/guide/security/PolicyFiles.html#FileSyntax
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="transaction-supportType">
-<xsd:annotation>
-<xsd:documentation>
-
-The transaction-supportType specifies the level of
-transaction support provided by the resource adapter. It is
-used by transaction-support elements.
-
-The value must be one of the following:
-
-    NoTransaction
-    LocalTransaction
-    XATransaction
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="NoTransaction"/>
-        <xsd:enumeration value="LocalTransaction"/>
-        <xsd:enumeration value="XATransaction"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/v1/test/cases/schema/j2ee/ejb-jar_2_1.xsd b/v1/test/cases/schema/j2ee/ejb-jar_2_1.xsd
deleted file mode 100644
index f16c12e..0000000
--- a/v1/test/cases/schema/j2ee/ejb-jar_2_1.xsd
+++ /dev/null
@@ -1,2383 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="2.1">
-<xsd:annotation>
-<xsd:documentation>
-@(#)ejb-jar_2_1.xsds	1.10 07/24/02
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the EJB 2.1 deployment
-descriptor.  All EJB deployment descriptors must indicate
-the ejb-jar schema by using the J2EE namespace:
-
-http://java.sun.com/xml/ns/j2ee
-
-and by indicating the version of the schema by
-using the version element as shown below:
-
-    <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-         http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
-     version="2.1">
-    ...
-    </ejb-jar>
-
-The instance documents may indicate the published version of
-the schema using the xsi:schemaLocation attribute for the
-J2EE namespace with the following location:
-
-http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<include schemaLocation="j2ee_1_4.xsd"/>
-
-
-<!-- **************************************************** -->
-
-
-<xsd:element name="ejb-jar" type="j2ee:ejb-jarType">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    This is the root of the ejb-jar deployment descriptor.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:key name="ejb-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The ejb-name element contains the name of an enterprise
-    bean. The name must be unique within the ejb-jar file.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:enterprise-beans/*"/>
-        <xsd:field    xpath="j2ee:ejb-name"/>
-    </xsd:key>
-
-    <xsd:keyref name="ejb-name-references"
-            refer="j2ee:ejb-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The keyref indicates the references from
-    relationship-role-source must be to a specific ejb-name
-    defined within the scope of enterprise-beans element.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector
-            xpath=".//j2ee:ejb-relationship-role/j2ee:relationship-role-source"/>
-        <xsd:field
-            xpath="j2ee:ejb-name"/>
-    </xsd:keyref>
-
-    <xsd:key name="role-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    A role-name-key is specified to allow the references
-    from the security-role-refs.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:enterprise-beans/*/j2ee:security-role"/>
-        <xsd:field    xpath="j2ee:role-name"/>
-    </xsd:key>
-
-    <xsd:keyref name="role-name-references"
-            refer="j2ee:role-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The keyref indicates the references from
-    security-role-ref to a specified role-name.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:enterprise-beans/*/j2ee:security-role-ref"/>
-        <xsd:field    xpath="j2ee:role-link"/>
-    </xsd:keyref>
-
-</xsd:element>
-
-
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="activation-config-propertyType">
-<xsd:annotation>
-<xsd:documentation>
-
-The activation-config-propertyType contains a name/value
-configuration property pair for a message-driven bean.
-
-The properties that are recognized for a particular
-message-driven bean are determined by the messaging type.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="activation-config-property-name"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The activation-config-property-name element contains
-        the name for an activation configuration property of
-        a message-driven bean.
-
-        For JMS message-driven beans, the following property
-        names are recognized: acknowledgeMode,
-        messageSelector, destinationType, subscriptionDurability
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="activation-config-property-value"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The activation-config-property-value element
-        contains the value for an activation configuration
-        property of a message-driven bean.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="activation-configType">
-<xsd:annotation>
-<xsd:documentation>
-
-The activation-configType defines information about the
-expected configuration properties of the message-driven bean
-in its operational environment. This may include information
-about message acknowledgement, message selector, expected
-destination type, etc.
-
-The configuration information is expressed in terms of
-name/value configuration properties.
-
-The properties that are recognized for a particular
-message-driven bean are determined by the messaging type.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="activation-config-property"
-                     type="j2ee:activation-config-propertyType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="assembly-descriptorType">
-<xsd:annotation>
-<xsd:documentation>
-
-The assembly-descriptorType defines
-application-assembly information.
-
-The application-assembly information consists of the
-following parts: the definition of security roles, the
-definition of method permissions, the definition of
-transaction attributes for enterprise beans with
-container-managed transaction demarcation and a list of
-methods to be excluded from being invoked.
-
-All the parts are optional in the sense that they are
-omitted if the lists represented by them are empty.
-
-Providing an assembly-descriptor in the deployment
-descriptor is optional for the ejb-jar file producer.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="security-role"
-                     type="j2ee:security-roleType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="method-permission"
-                     type="j2ee:method-permissionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="container-transaction"
-                     type="j2ee:container-transactionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination"
-                     type="j2ee:message-destinationType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="exclude-list"
-                     type="j2ee:exclude-listType"
-                     minOccurs="0"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="cmp-fieldType">
-<xsd:annotation>
-<xsd:documentation>
-
-The cmp-fieldType describes a container-managed field. The
-cmp-fieldType contains an optional description of the field,
-and the name of the field.
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="field-name"
-                     type="j2ee:java-identifierType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The field-name element specifies the name of a
-        container managed field.
-
-        The name of the cmp-field of an entity bean with
-        cmp-version 2.x must begin with a lowercase
-        letter. This field is accessed by methods whose
-        names consists of the name of the field specified by
-        field-name in which the first letter is uppercased,
-        prefixed by "get" or "set".
-
-        The name of the cmp-field of an entity bean with
-        cmp-version 1.x must denote a public field of the
-        enterprise bean class or one of its superclasses.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="cmp-versionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The cmp-versionType specifies the version of an entity bean
-with container-managed persistence. It is used by
-cmp-version elements.
-
-The value must be one of the two following:
-
-    1.x
-    2.x
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="1.x"/>
-        <xsd:enumeration value="2.x"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="cmr-field-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The cmr-field-type element specifies the class of a
-collection-valued logical relationship field in the entity
-bean class. The value of an element using cmr-field-typeType
-must be either: java.util.Collection or java.util.Set.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="java.util.Collection"/>
-        <xsd:enumeration value="java.util.Set"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="cmr-fieldType">
-<xsd:annotation>
-<xsd:documentation>
-
-The cmr-fieldType describes the bean provider's view of
-a relationship. It consists of an optional description, and
-the name and the class type of a field in the source of a
-role of a relationship. The cmr-field-name element
-corresponds to the name used for the get and set accessor
-methods for the relationship. The cmr-field-type element is
-used only for collection-valued cmr-fields. It specifies the
-type of the collection that is used.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="cmr-field-name"
-                     type="j2ee:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The cmr-field-name element specifies the name of a
-        logical relationship field in the entity bean
-        class. The name of the cmr-field must begin with a
-        lowercase letter. This field is accessed by methods
-        whose names consist of the name of the field
-        specified by cmr-field-name in which the first
-        letter is uppercased, prefixed by "get" or "set".
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="cmr-field-type"
-                     type="j2ee:cmr-field-typeType"
-                     minOccurs="0"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="container-transactionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The container-transactionType specifies how the container
-must manage transaction scopes for the enterprise bean's
-method invocations. It defines an optional description, a
-list of method elements, and a transaction attribute. The
-transaction attribute is to be applied to all the specified
-methods.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="method"
-                     type="j2ee:methodType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="trans-attribute"
-                     type="j2ee:trans-attributeType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="ejb-classType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-classType contains the fully-qualified name of the
-enterprise bean's class. It is used by ejb-class elements.
-
-Example:
-
-    <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="ejb-jarType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-jarType defines the root element of the EJB
-deployment descriptor. It contains
-
-    - an optional description of the ejb-jar file
-    - an optional display name
-    - an optional icon that contains a small and a large
-      icon file name
-    - mandatory structural information about all included
-      enterprise beans
-    - a descriptor for container managed relationships,
-      if any
-    - an optional application-assembly descriptor
-    - an optional name of an ejb-client-jar file for the
-      ejb-jar.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="enterprise-beans"
-                     type="j2ee:enterprise-beansType"/>
-        <xsd:element name="relationships"
-                     type="j2ee:relationshipsType"
-                     minOccurs="0">
-        <xsd:unique name="relationship-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-relation-name contains the name of a
-        relation. The name must be unique within
-        relationships.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-relation"/>
-            <xsd:field    xpath="j2ee:ejb-relation-name"/>
-        </xsd:unique>
-        </xsd:element>
-        <xsd:element name="assembly-descriptor"
-                     type="j2ee:assembly-descriptorType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        Providing an assembly-descriptor in the deployment
-        descriptor is optional for the ejb-jar file
-        producer.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="ejb-client-jar"
-                     type="j2ee:pathType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The optional ejb-client-jar element specifies a JAR
-        file that contains the class files necessary for a
-        client program to access the
-        enterprise beans in the ejb-jar file.
-
-        Example:
-
-            <ejb-client-jar>employee_service_client.jar
-            </ejb-client-jar>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-
-    </xsd:sequence>
-    <xsd:attribute name="version"
-                   type="j2ee:dewey-versionType"
-                   fixed="2.1"
-                   use="required">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The version specifies the version of the
-    EJB specification that the instance document must
-    comply with. This information enables deployment tools
-    to validate a particular EJB Deployment
-    Descriptor with respect to a specific version of the EJB
-    schema.
-
-    </xsd:documentation>
-    </xsd:annotation>
-    </xsd:attribute>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="ejb-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-nameType specifies an enterprise bean's name. It is
-used by ejb-name elements. This name is assigned by the
-ejb-jar file producer to name the enterprise bean in the
-ejb-jar file's deployment descriptor. The name must be
-unique among the names of the enterprise beans in the same
-ejb-jar file.
-
-There is no architected relationship between the used
-ejb-name in the deployment descriptor and the JNDI name that
-the Deployer will assign to the enterprise bean's home.
-
-The name for an entity bean must conform to the lexical
-rules for an NMTOKEN.
-
-Example:
-
-<ejb-name>EmployeeService</ejb-name>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="xsd:NMTOKEN">
-        <xsd:whiteSpace value="collapse"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="ejb-relationType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-relationType describes a relationship between two
-entity beans with container-managed persistence.  It is used
-by ejb-relation elements. It contains a description; an
-optional ejb-relation-name element; and exactly two
-relationship role declarations, defined by the
-ejb-relationship-role elements. The name of the
-relationship, if specified, is unique within the ejb-jar
-file.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-relation-name"
-                     type="j2ee:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-relation-name element provides a unique name
-        within the ejb-jar file for a relationship.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="ejb-relationship-role"
-                     type="j2ee:ejb-relationship-roleType"/>
-        <xsd:element name="ejb-relationship-role"
-                     type="j2ee:ejb-relationship-roleType"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="ejb-relationship-roleType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-relationship-roleType describes a role within a
-relationship. There are two roles in each relationship.
-
-The ejb-relationship-roleType contains an optional
-description; an optional name for the relationship role; a
-specification of the multiplicity of the role; an optional
-specification of cascade-delete functionality for the role;
-the role source; and a declaration of the cmr-field, if any,
-by means of which the other side of the relationship is
-accessed from the perspective of the role source.
-
-The multiplicity and role-source element are mandatory.
-
-The relationship-role-source element designates an entity
-bean by means of an ejb-name element. For bidirectional
-relationships, both roles of a relationship must declare a
-relationship-role-source element that specifies a cmr-field
-in terms of which the relationship is accessed. The lack of
-a cmr-field element in an ejb-relationship-role specifies
-that the relationship is unidirectional in navigability and
-the entity bean that participates in the relationship is
-"not aware" of the relationship.
-
-Example:
-
-<ejb-relation>
-    <ejb-relation-name>Product-LineItem</ejb-relation-name>
-    <ejb-relationship-role>
-        <ejb-relationship-role-name>product-has-lineitems
-        </ejb-relationship-role-name>
-        <multiplicity>One</multiplicity>
-        <relationship-role-source>
-        <ejb-name>ProductEJB</ejb-name>
-        </relationship-role-source>
-     </ejb-relationship-role>
-</ejb-relation>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-relationship-role-name"
-                     type="j2ee:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-relationship-role-name element defines a
-        name for a role that is unique within an
-        ejb-relation. Different relationships can use the
-        same name for a role.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="multiplicity"
-                     type="j2ee:multiplicityType"/>
-        <xsd:element name="cascade-delete"
-                     type="j2ee:emptyType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The cascade-delete element specifies that, within a
-        particular relationship, the lifetime of one or more
-        entity beans is dependent upon the lifetime of
-        another entity bean. The cascade-delete element can
-        only be specified for an ejb-relationship-role
-        element contained in an ejb-relation element in
-        which the other ejb-relationship-role
-        element specifies a multiplicity of One.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="relationship-role-source"
-                     type="j2ee:relationship-role-sourceType"/>
-        <xsd:element name="cmr-field"
-                     type="j2ee:cmr-fieldType"
-                     minOccurs="0"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="enterprise-beansType">
-<xsd:annotation>
-<xsd:documentation>
-
-The enterprise-beansType declares one or more enterprise
-beans. Each bean can be a session, entity or message-driven
-bean.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:choice maxOccurs="unbounded">
-        <xsd:element name="session"
-                     type="j2ee:session-beanType">
-        <xsd:unique name="session-ejb-local-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of
-        an EJB reference. The EJB reference is an entry in
-        the component's environment and is relative to the
-        java:comp/env context.  The name must be unique within
-        the component.
-
-        It is recommended that name be prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-local-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="session-ejb-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of an EJB
-        reference. The EJB reference is an entry in the
-        component's environment and is relative to the
-        java:comp/env context. The name must be unique
-        within the component.
-
-        It is recommended that name is prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="session-resource-env-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The resource-env-ref-name element specifies the name
-        of a resource environment reference; its value is
-        the environment entry name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-env-ref"/>
-            <xsd:field    xpath="j2ee:resource-env-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="session-message-destination-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The message-destination-ref-name element specifies the name
-        of a message destination reference; its value is
-        the message destination reference name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:message-destination-ref"/>
-            <xsd:field    xpath="j2ee:message-destination-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="session-res-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The res-ref-name element specifies the name of a
-        resource manager connection factory reference.  The name
-        is a JNDI name relative to the java:comp/env context.
-        The name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-ref"/>
-            <xsd:field    xpath="j2ee:res-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="session-env-entry-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The env-entry-name element contains the name of a
-        component's environment entry.  The name is a JNDI
-        name relative to the java:comp/env context.  The
-        name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:env-entry"/>
-            <xsd:field    xpath="j2ee:env-entry-name"/>
-        </xsd:unique>
-        </xsd:element>
-
-        <xsd:element name="entity"
-                     type="j2ee:entity-beanType">
-        <xsd:unique name="entity-ejb-local-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of
-        an EJB reference. The EJB reference is an entry in
-        the component's environment and is relative to the
-        java:comp/env context.  The name must be unique within
-        the component.
-
-        It is recommended that name be prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-local-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="entity-ejb-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of an EJB
-        reference. The EJB reference is an entry in the
-        component's environment and is relative to the
-        java:comp/env context. The name must be unique
-        within the component.
-
-        It is recommended that name is prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="entity-resource-env-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The resource-env-ref-name element specifies the name
-        of a resource environment reference; its value is
-        the environment entry name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-env-ref"/>
-            <xsd:field    xpath="j2ee:resource-env-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="entity-message-destination-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The message-destination-ref-name element specifies the name
-        of a message destination reference; its value is
-        the message destination reference name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:message-destination-ref"/>
-            <xsd:field    xpath="j2ee:message-destination-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="entity-res-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The res-ref-name element specifies the name of a
-        resource manager connection factory reference.  The name
-        is a JNDI name relative to the java:comp/env context.
-        The name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-ref"/>
-            <xsd:field    xpath="j2ee:res-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="entity-env-entry-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The env-entry-name element contains the name of a
-        component's environment entry.  The name is a JNDI
-        name relative to the java:comp/env context.  The
-        name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:env-entry"/>
-            <xsd:field    xpath="j2ee:env-entry-name"/>
-        </xsd:unique>
-        </xsd:element>
-
-        <xsd:element name="message-driven"
-                     type="j2ee:message-driven-beanType">
-        <xsd:unique name="messaged-ejb-local-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of
-        an EJB reference. The EJB reference is an entry in
-        the component's environment and is relative to the
-        java:comp/env context.  The name must be unique within
-        the component.
-
-        It is recommended that name be prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-local-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="messaged-ejb-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of an EJB
-        reference. The EJB reference is an entry in the
-        component's environment and is relative to the
-        java:comp/env context. The name must be unique
-        within the component.
-
-        It is recommended that name is prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="messaged-resource-env-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The resource-env-ref-name element specifies the name
-        of a resource environment reference; its value is
-        the environment entry name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-env-ref"/>
-            <xsd:field    xpath="j2ee:resource-env-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="messaged-message-destination-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The message-destination-ref-name element specifies the name
-        of a message destination reference; its value is
-        the message destination reference name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:message-destination-ref"/>
-            <xsd:field    xpath="j2ee:message-destination-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="messaged-res-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The res-ref-name element specifies the name of a
-        resource manager connection factory reference.  The name
-        is a JNDI name relative to the java:comp/env context.
-        The name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-ref"/>
-            <xsd:field    xpath="j2ee:res-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="messaged-env-entry-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The env-entry-name element contains the name of a
-        component's environment entry.  The name is a JNDI
-        name relative to the java:comp/env context.  The
-        name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:env-entry"/>
-            <xsd:field    xpath="j2ee:env-entry-name"/>
-        </xsd:unique>
-        </xsd:element>
-
-    </xsd:choice>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="entity-beanType">
-<xsd:annotation>
-<xsd:documentation>
-
-The entity-beanType declares an entity bean. The declaration
-consists of:
-
-    - an optional description
-    - an optional display name
-    - an optional icon element that contains a small and a large
-      icon file name
-    - a unique name assigned to the enterprise bean
-      in the deployment descriptor
-    - the names of the entity bean's remote home
-      and remote interfaces, if any
-    - the names of the entity bean's local home and local
-      interfaces, if any
-    - the entity bean's implementation class
-    - the entity bean's persistence management type
-    - the entity bean's primary key class name
-    - an indication of the entity bean's reentrancy
-    - an optional specification of the
-      entity bean's cmp-version
-    - an optional specification of the entity bean's
-      abstract schema name
-    - an optional list of container-managed fields
-    - an optional specification of the primary key
-      field
-    - an optional declaration of the bean's environment
-      entries
-    - an optional declaration of the bean's EJB
-      references
-    - an optional declaration of the bean's local
-      EJB references
-    - an optional declaration of the bean's web
-      service references
-    - an optional declaration of the security role
-      references
-    - an optional declaration of the security identity
-      to be used for the execution of the bean's methods
-    - an optional declaration of the bean's
-      resource manager connection factory references
-    - an optional declaration of the bean's
-      resource environment references
-    - an optional declaration of the bean's message
-      destination references
-    - an optional set of query declarations
-      for finder and select methods for an entity
-      bean with cmp-version 2.x.
-    - an optional set of deployment-extension
-      declarations.
-
-The optional abstract-schema-name element must be specified
-for an entity bean with container-managed persistence and
-cmp-version 2.x.
-
-The optional primkey-field may be present in the descriptor
-if the entity's persistence-type is Container.
-
-The optional cmp-version element may be present in the
-descriptor if the entity's persistence-type is Container. If
-the persistence-type is Container and the cmp-version
-element is not specified, its value defaults to 2.x.
-
-The optional home and remote elements must be specified if
-the entity bean cmp-version is 1.x.
-
-The optional home and remote elements must be specified if
-the entity bean has a remote home and remote interface.
-
-The optional local-home and local elements must be specified
-if the entity bean has a local home and local interface.
-
-Either both the local-home and the local elements or both
-the home and the remote elements must be specified.
-
-The optional query elements must be present if the
-persistence-type is Container and the cmp-version is 2.x and
-query methods other than findByPrimaryKey have been defined
-for the entity bean.
-
-The other elements that are optional are "optional" in the
-sense that they are omitted if the lists represented by them
-are empty.
-
-At least one cmp-field element must be present in the
-descriptor if the entity's persistence-type is Container and
-the cmp-version is 1.x, and none must not be present if the
-entity's persistence-type is Bean.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-name"
-                     type="j2ee:ejb-nameType"/>
-        <xsd:element name="home"
-                     type="j2ee:homeType"
-                     minOccurs="0"/>
-        <xsd:element name="remote"
-                     type="j2ee:remoteType"
-                     minOccurs="0"/>
-        <xsd:element name="local-home"
-                     type="j2ee:local-homeType"
-                     minOccurs="0"/>
-        <xsd:element name="local"
-                     type="j2ee:localType"
-                     minOccurs="0"/>
-        <xsd:element name="ejb-class"
-                     type="j2ee:ejb-classType"/>
-        <xsd:element name="persistence-type"
-                     type="j2ee:persistence-typeType"/>
-        <xsd:element name="prim-key-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The prim-key-class element contains the
-        fully-qualified name of an
-        entity bean's primary key class.
-
-        If the definition of the primary key class is
-        deferred to deployment time, the prim-key-class
-        element should specify java.lang.Object.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="reentrant"
-                     type="j2ee:true-falseType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The reentrant element specifies whether an entity
-        bean is reentrant or not.
-
-        The reentrant element must be one of the two
-        following: true or false
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="cmp-version"
-                     type="j2ee:cmp-versionType"
-                     minOccurs="0"/>
-        <xsd:element name="abstract-schema-name"
-                     type="j2ee:java-identifierType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The abstract-schema-name element specifies the name
-        of the abstract schema type of an entity bean with
-        cmp-version 2.x. It is used in EJB QL queries.
-
-        For example, the abstract-schema-name for an entity
-        bean whose local interface is
-        com.acme.commerce.Order might be Order.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="cmp-field"
-                     type="j2ee:cmp-fieldType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="primkey-field"
-                     type="j2ee:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The primkey-field element is used to specify the
-        name of the primary key field for an entity with
-        container-managed persistence.
-
-        The primkey-field must be one of the fields declared
-        in the cmp-field element, and the type of the field
-        must be the same as the primary key type.
-
-        The primkey-field element is not used if the primary
-        key maps to multiple container-managed fields
-        (i.e. the key is a compound key). In this case, the
-        fields of the primary key class must be public, and
-        their names must correspond to the field names of
-        the entity bean class that comprise the key.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="env-entry"
-                     type="j2ee:env-entryType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref"
-                     type="j2ee:ejb-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-local-ref"
-                     type="j2ee:ejb-local-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="service-ref"
-                     type="j2ee:service-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="security-role-ref"
-                     type="j2ee:security-role-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="security-identity"
-                     type="j2ee:security-identityType"
-                     minOccurs="0"/>
-        <xsd:element name="resource-ref"
-                     type="j2ee:resource-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="resource-env-ref"
-                     type="j2ee:resource-env-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref"
-                     type="j2ee:message-destination-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="query"
-                     type="j2ee:queryType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="exclude-listType">
-<xsd:annotation>
-<xsd:documentation>
-
-The exclude-listType specifies one or more methods which
-the Assembler marks to be uncallable.
-
-If the method permission relation contains methods that are
-in the exclude list, the Deployer should consider those
-methods to be uncallable.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="method"
-                     type="j2ee:methodType"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="java-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-This is a generic type that designates a Java primitive
-type or a fully qualified name of a Java interface/type.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:pattern value="[^\p{Z}]*"/>
-    </xsd:restriction>
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="message-driven-beanType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-driven element declares a message-driven
-bean. The declaration consists of:
-
-    - an optional description
-    - an optional display name
-    - an optional icon element that contains a small and a large
-      icon file name.
-    - a name assigned to the enterprise bean in
-      the deployment descriptor
-    - the message-driven bean's implementation class
-    - an optional declaration of the bean's messaging
-      type
-    - the message-driven bean's transaction management type
-    - an optional declaration of the bean's
-      message-destination-type
-    - an optional declaration of the bean's
-      message-destination-link
-    - an optional declaration of the message-driven bean's
-      activation configuration properties
-    - an optional declaration of the bean's environment
-      entries
-    - an optional declaration of the bean's EJB references
-    - an optional declaration of the bean's local EJB
-      references
-    - an optional declaration of the bean's web service
-      references
-    - an optional declaration of the security
-      identity to be used for the execution of the bean's
-      methods
-    - an optional declaration of the bean's
-      resource manager connection factory
-      references
-    - an optional declaration of the bean's resource
-      environment references.
-    - an optional declaration of the bean's message
-      destination references
-    - an optional declaration of deployment extensions
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"/>
-        <xsd:element name="ejb-name"
-                     type="j2ee:ejb-nameType"/>
-        <xsd:element name="ejb-class"
-                     type="j2ee:ejb-classType"/>
-        <xsd:element name="messaging-type"
-                     type="j2ee:fully-qualified-classType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The messaging-type element specifies the message
-        listener interface of the message-driven bean. If
-        the messaging-type element is not specified, it is
-        assumed to be javax.jms.MessageListener.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="transaction-type"
-                     type="j2ee:transaction-typeType"/>
-        <xsd:element name="message-destination-type"
-                     type="j2ee:message-destination-typeType"
-                     minOccurs="0"/>
-        <xsd:element name="message-destination-link"
-                     type="j2ee:message-destination-linkType"
-                     minOccurs="0"/>
-        <xsd:element name="activation-config"
-                     type="j2ee:activation-configType"
-                     minOccurs="0"/>
-        <xsd:element name="env-entry"
-                     type="j2ee:env-entryType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref"
-                     type="j2ee:ejb-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-local-ref"
-                     type="j2ee:ejb-local-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="service-ref"
-                     type="j2ee:service-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="security-identity"
-                     type="j2ee:security-identityType"
-                     minOccurs="0"/>
-        <xsd:element name="resource-ref"
-                     type="j2ee:resource-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="resource-env-ref"
-                     type="j2ee:resource-env-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref"
-                     type="j2ee:message-destination-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="method-intfType">
-
-<xsd:annotation>
-<xsd:documentation>
-
-The method-intf element allows a method element to
-differentiate between the methods with the same name and
-signature that are multiply defined across the home and
-component interfaces (e.g, in both an enterprise bean's
-remote and local interfaces or in both an enterprise bean's
-home and remote interfaces, etc.); the component and web
-service endpoint interfaces, and so on.
-
-The method-intf element must be one of the following:
-
-    Home
-    Remote
-    LocalHome
-    Local
-    ServiceEndpoint
-
-</xsd:documentation>
-</xsd:annotation>
-
-  <xsd:restriction base="j2ee:string">
-    <xsd:enumeration value="Home"/>
-    <xsd:enumeration value="Remote"/>
-    <xsd:enumeration value="LocalHome"/>
-    <xsd:enumeration value="Local"/>
-    <xsd:enumeration value="ServiceEndpoint"/>
-  </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="method-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The method-nameType contains a name of an enterprise
-bean method or the asterisk (*) character. The asterisk is
-used when the element denotes all the methods of an
-enterprise bean's client view interfaces.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="method-paramsType">
-<xsd:annotation>
-<xsd:documentation>
-
-The method-paramsType defines a list of the
-fully-qualified Java type names of the method parameters.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="method-param"
-                     type="j2ee:java-typeType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The method-param element contains a primitive
-        or a fully-qualified Java type name of a method
-        parameter.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="method-permissionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The method-permissionType specifies that one or more
-security roles are allowed to invoke one or more enterprise
-bean methods. The method-permissionType consists of an
-optional description, a list of security role names or an
-indicator to state that the method is unchecked for
-authorization, and a list of method elements.
-
-The security roles used in the method-permissionType
-must be defined in the security-role elements of the
-deployment descriptor, and the methods must be methods
-defined in the enterprise bean's home, component and/or web
-service endpoint interfaces.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:choice>
-            <xsd:element name="role-name"
-                         type="j2ee:role-nameType"
-                         maxOccurs="unbounded"/>
-            <xsd:element name="unchecked"
-                         type="j2ee:emptyType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The unchecked element specifies that a method is
-            not checked for authorization by the container
-            prior to invocation of the method.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-        </xsd:choice>
-        <xsd:element name="method"
-                     type="j2ee:methodType"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="methodType">
-<xsd:annotation>
-<xsd:documentation>
-
-The methodType is used to denote a method of an enterprise
-bean's home, component, and/or web service endpoint
-interface, or, in the case of a message-driven bean, the
-bean's message listener method, or a set of such
-methods. The ejb-name element must be the name of one of the
-enterprise beans declared in the deployment descriptor; the
-optional method-intf element allows to distinguish between a
-method with the same signature that is multiply defined
-across the home, component, and/or web service endpoint
-interfaces; the method-name element specifies the method
-name; and the optional method-params elements identify a
-single method among multiple methods with an overloaded
-method name.
-
-There are three possible styles of using methodType element
-within a method element:
-
-1.
-<method>
-    <ejb-name>EJBNAME</ejb-name>
-    <method-name>*</method-name>
-</method>
-
-   This style is used to refer to all the methods of the
-   specified enterprise bean's home, component, and/or web
-   service endpoint interfaces.
-
-2.
-<method>
-    <ejb-name>EJBNAME</ejb-name>
-    <method-name>METHOD</method-name>
-</method>>
-
-   This style is used to refer to the specified method of
-   the specified enterprise bean. If there are multiple
-   methods with the same overloaded name, the element of
-   this style refers to all the methods with the overloaded
-   name.
-
-3.
-<method>
-    <ejb-name>EJBNAME</ejb-name>
-    <method-name>METHOD</method-name>
-    <method-params>
-        <method-param>PARAM-1</method-param>
-        <method-param>PARAM-2</method-param>
-        ...
-        <method-param>PARAM-n</method-param>
-    </method-params>
-</method>
-
-   This style is used to refer to a single method within a
-   set of methods with an overloaded name. PARAM-1 through
-   PARAM-n are the fully-qualified Java types of the
-   method's input parameters (if the method has no input
-   arguments, the method-params element contains no
-   method-param elements). Arrays are specified by the
-   array element's type, followed by one or more pair of
-   square brackets (e.g. int[][]). If there are multiple
-   methods with the same overloaded name, this style refers
-   to all of the overloaded methods.
-
-Examples:
-
-Style 1: The following method element refers to all the
-methods of the EmployeeService bean's home, component,
-and/or web service endpoint interfaces:
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-name>*</method-name>
-</method>
-
-Style 2: The following method element refers to all the
-create methods of the EmployeeService bean's home
-interface(s).
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-name>create</method-name>
-</method>
-
-Style 3: The following method element refers to the
-create(String firstName, String LastName) method of the
-EmployeeService bean's home interface(s).
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-name>create</method-name>
-    <method-params>
-        <method-param>java.lang.String</method-param>
-        <method-param>java.lang.String</method-param>
-    </method-params>
-</method>
-
-The following example illustrates a Style 3 element with
-more complex parameter types. The method
-foobar(char s, int i, int[] iar, mypackage.MyClass mycl,
-mypackage.MyClass[][] myclaar) would be specified as:
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-name>foobar</method-name>
-    <method-params>
-        <method-param>char</method-param>
-        <method-param>int</method-param>
-        <method-param>int[]</method-param>
-        <method-param>mypackage.MyClass</method-param>
-        <method-param>mypackage.MyClass[][]</method-param>
-    </method-params>
-</method>
-
-The optional method-intf element can be used when it becomes
-necessary to differentiate between a method that is multiply
-defined across the enterprise bean's home, component, and/or
-web service endpoint interfaces with the same name and
-signature.
-
-For example, the method element
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-intf>Remote</method-intf>
-    <method-name>create</method-name>
-    <method-params>
-        <method-param>java.lang.String</method-param>
-        <method-param>java.lang.String</method-param>
-    </method-params>
-</method>
-
-can be used to differentiate the create(String, String)
-method defined in the remote interface from the
-create(String, String) method defined in the remote home
-interface, which would be defined as
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-intf>Home</method-intf>
-    <method-name>create</method-name>
-    <method-params>
-        <method-param>java.lang.String</method-param>
-        <method-param>java.lang.String</method-param>
-    </method-params>
-</method>
-
-and the create method that is defined in the local home
-interface which would be defined as
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-intf>LocalHome</method-intf>
-    <method-name>create</method-name>
-    <method-params>
-        <method-param>java.lang.String</method-param>
-        <method-param>java.lang.String</method-param>
-    </method-params>
-</method>
-
-The method-intf element can be used with all th ree Styles
-of the method element usage. For example, the following
-method element example could be used to refer to all the
-methods of the EmployeeService bean's remote home interface.
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-intf>Home</method-intf>
-    <method-name>*</method-name>
-</method>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-name"
-                     type="j2ee:ejb-nameType"/>
-        <xsd:element name="method-intf"
-                     type="j2ee:method-intfType"
-                     minOccurs="0">
-        </xsd:element>
-        <xsd:element name="method-name"
-                     type="j2ee:method-nameType"/>
-        <xsd:element name="method-params"
-                     type="j2ee:method-paramsType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="multiplicityType">
-<xsd:annotation>
-<xsd:documentation>
-
-The multiplicityType describes the multiplicity of the
-role that participates in a relation.
-
-The value must be one of the two following:
-
-    One
-    Many
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="One"/>
-        <xsd:enumeration value="Many"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="persistence-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The persistence-typeType specifies an entity bean's persistence
-management type.
-
-The persistence-type element must be one of the two following:
-
-    Bean
-    Container
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Bean"/>
-        <xsd:enumeration value="Container"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="query-methodType">
-<xsd:annotation>
-<xsd:documentation>
-
-The query-method specifies the method for a finder or select
-query.
-
-The method-name element specifies the name of a finder or select
-method in the entity bean's implementation class.
-
-Each method-param must be defined for a query-method using the
-method-params element.
-
-It is used by the query-method element.
-
-Example:
-
-<query>
-    <description>Method finds large orders</description>
-    <query-method>
-        <method-name>findLargeOrders</method-name>
-        <method-params></method-params>
-    </query-method>
-    <ejb-ql>SELECT OBJECT(o) FROM Order o WHERE o.amount &gt; 1000</ejb-ql>
-</query>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="method-name"
-                     type="j2ee:method-nameType"/>
-        <xsd:element name="method-params"
-                     type="j2ee:method-paramsType"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="queryType">
-<xsd:annotation>
-<xsd:documentation>
-
-The queryType defines a finder or select
-query. It contains
-    - an optional description of the query
-    - the specification of the finder or select
-      method it is used by
-        - an optional specification of the result type
-          mapping, if the query is for a select method
-          and entity objects are returned.
-        - the EJB QL query string that defines the query.
-    - an optional declaration of deployment extensions
-
-Queries that are expressible in EJB QL must use the ejb-ql
-element to specify the query. If a query is not expressible
-in EJB QL, the description element should be used to
-describe the semantics of the query and the ejb-ql element
-should be empty.
-
-The result-type-mapping is an optional element. It can only
-be present if the query-method specifies a select method
-that returns entity objects.  The default value for the
-result-type-mapping element is "Local".
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType" minOccurs="0"/>
-        <xsd:element name="query-method"
-                     type="j2ee:query-methodType"/>
-        <xsd:element name="result-type-mapping"
-                     type="j2ee:result-type-mappingType"
-                     minOccurs="0"/>
-        <xsd:element name="ejb-ql"
-                     type="xsd:string"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="relationship-role-sourceType">
-<xsd:annotation>
-<xsd:documentation>
-
-The relationship-role-sourceType designates the source of a
-role that participates in a relationship. A
-relationship-role-sourceType is used by
-relationship-role-source elements to uniquely identify an
-entity bean.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-name"
-                     type="j2ee:ejb-nameType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="relationshipsType">
-<xsd:annotation>
-<xsd:documentation>
-
-The relationshipsType describes the relationships in
-which entity beans with container-managed persistence
-participate. The relationshipsType contains an optional
-description; and a list of ejb-relation elements, which
-specify the container managed relationships.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-relation"
-                     type="j2ee:ejb-relationType"
-                     maxOccurs="unbounded">
-
-        <xsd:unique name="role-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-relationship-role-name contains the name of a
-        relationship role. The name must be unique within
-        a relationship, but can be reused in different
-        relationships.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector
-                xpath=".//j2ee:ejb-relationship-role-name"/>
-            <xsd:field
-                xpath="."/>
-        </xsd:unique>
-        </xsd:element>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="result-type-mappingType">
-<xsd:annotation>
-<xsd:documentation>
-
-The result-type-mappingType is used in the query element to
-specify whether an abstract schema type returned by a query
-for a select method is to be mapped to an EJBLocalObject or
-EJBObject type.
-
-The value must be one of the following:
-
-    Local
-    Remote
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Local"/>
-        <xsd:enumeration value="Remote"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="security-identityType">
-<xsd:annotation>
-<xsd:documentation>
-
-The security-identityType specifies whether the caller's
-security identity is to be used for the execution of the
-methods of the enterprise bean or whether a specific run-as
-identity is to be used. It contains an optional description
-and a specification of the security identity to be used.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:choice>
-            <xsd:element name="use-caller-identity"
-                         type="j2ee:emptyType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The use-caller-identity element specifies that
-            the caller's security identity be used as the
-            security identity for the execution of the
-            enterprise bean's methods.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="run-as"
-                         type="j2ee:run-asType"/>
-        </xsd:choice>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="service-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-THIS IS A PLACEHOLDER TYPE which will
-be REPLACED. It will be defined based on
-definition to be supplied by JSR109.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:simpleContent>
-        <xsd:extension base="xsd:string">
-        </xsd:extension>
-    </xsd:simpleContent>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="session-beanType">
-<xsd:annotation>
-<xsd:documentation>
-
-The session-beanType declares an session bean. The
-declaration consists of:
-
-    - an optional description
-    - an optional display name
-    - an optional icon element that contains a small and a large
-      icon file name
-    - a name assigned to the enterprise bean
-      in the deployment description
-    - the names of the session bean's remote home and
-      remote interfaces, if any
-    - the names of the session bean's local home and
-      local interfaces, if any
-    - the name of the session bean's web service endpoint
-      interface, if any
-    - the session bean's implementation class
-    - the session bean's state management type
-    - the session bean's transaction management type
-    - an optional declaration of the bean's
-      environment entries
-    - an optional declaration of the bean's EJB references
-    - an optional declaration of the bean's local
-      EJB references
-    - an optional declaration of the bean's web
-      service references
-    - an optional declaration of the security role
-      references
-    - an optional declaration of the security identity
-      to be used for the execution of the bean's methods
-    - an optional declaration of the bean's resource
-      manager connection factory references
-    - an optional declaration of the bean's resource
-      environment references.
-    - an optional declaration of the bean's message
-      destination references
-    - an optional declaration deployment extensions
-
-The elements that are optional are "optional" in the sense
-that they are omitted when if lists represented by them are
-empty.
-
-Either both the local-home and the local elements or both
-the home and the remote elements must be specified for the
-session bean.
-
-The service-endpoint element may only be specified if the
-bean is a stateless session bean.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-name"
-                     type="j2ee:ejb-nameType"/>
-        <xsd:element name="home"
-                     type="j2ee:homeType"
-                     minOccurs="0"/>
-        <xsd:element name="remote"
-                     type="j2ee:remoteType"
-                     minOccurs="0"/>
-        <xsd:element name="local-home"
-                     type="j2ee:local-homeType"
-                     minOccurs="0"/>
-        <xsd:element name="local"
-                     type="j2ee:localType"
-                     minOccurs="0"/>
-        <xsd:element name="service-endpoint"
-                     type="j2ee:fully-qualified-classType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The service-endpoint element contains the
-        fully-qualified name of the enterprise bean's web
-        service endpoint interface. The service-endpoint
-        element may only be specified for a stateless
-        session bean. The specified interface must be a
-        valid JAX-RPC service endpoint interface.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="ejb-class"
-                     type="j2ee:ejb-classType"/>
-        <xsd:element name="session-type"
-                     type="j2ee:session-typeType"/>
-        <xsd:element name="transaction-type"
-                     type="j2ee:transaction-typeType"/>
-        <xsd:element name="env-entry"
-                     type="j2ee:env-entryType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref"
-                     type="j2ee:ejb-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-local-ref"
-                     type="j2ee:ejb-local-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="service-ref"
-                     type="j2ee:service-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="security-role-ref"
-                     type="j2ee:security-role-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="security-identity"
-                     type="j2ee:security-identityType"
-                     minOccurs="0"/>
-        <xsd:element name="resource-ref"
-                     type="j2ee:resource-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="resource-env-ref"
-                     type="j2ee:resource-env-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref"
-                     type="j2ee:message-destination-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="session-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The session-typeType describes whether the session bean is a
-stateful session or stateless session. It is used by
-session-type elements.
-
-The value must be one of the two following:
-
-    Stateful
-    Stateless
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Stateful"/>
-        <xsd:enumeration value="Stateless"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="trans-attributeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The trans-attributeType specifies how the container must
-manage the transaction boundaries when delegating a method
-invocation to an enterprise bean's business method.
-
-The value must be one of the following:
-
-    NotSupported
-    Supports
-    Required
-    RequiresNew
-    Mandatory
-    Never
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="NotSupported"/>
-        <xsd:enumeration value="Supports"/>
-        <xsd:enumeration value="Required"/>
-        <xsd:enumeration value="RequiresNew"/>
-        <xsd:enumeration value="Mandatory"/>
-        <xsd:enumeration value="Never"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="transaction-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The transaction-typeType specifies an enterprise bean's
-transaction management type.
-
-The transaction-type must be one of the two following:
-
-    Bean
-    Container
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Bean"/>
-        <xsd:enumeration value="Container"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/v1/test/cases/schema/j2ee/j2ee_1_4.xsd b/v1/test/cases/schema/j2ee/j2ee_1_4.xsd
deleted file mode 100644
index 6714272..0000000
--- a/v1/test/cases/schema/j2ee/j2ee_1_4.xsd
+++ /dev/null
@@ -1,1406 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Generated by Umit Yalcinalp March 2002-->
-<xsd:schema
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="1.4">
-<xsd:annotation>
-<xsd:documentation>
-@(#)j2ee_1_4.xsds	1.20 02/07/12
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following definitions that appear in the common
-shareable schema(s) of J2EE deployment descriptors should be
-interpreted with respect to the context they are included:
-
-Deployment Component may indicate one of the following:
-    j2ee application;
-    application client;
-    web application;
-    enterprise bean;
-    resource adapter;
-
-Deployment File may indicate one of the following:
-    ear file;
-    war file;
-    jar file;
-    rar file;
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:import namespace="http://www.w3.org/XML/1998/namespace"
-            schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="deployment-extensionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The deployment-extensionType is used to indicate
-extensions to the specific Deployment Component.
-
-It is used by deployment-extension elements to designate an
-extension block that is targeted to a specific extension
-designated by a set of extension elements that are declared
-by a namespace. The namespace identifies the extension to
-the deployment tool that processes the extension.
-
-The mustUnderstand attribute is provided by the Application
-Assembler to indicate whether the extension described is an
-essential extension that must exist in the container. If
-mustUnderstand is "true", the deployment tool must indicate
-an error when processing a deployment-extension element with
-a namespace it does not understand.  Extensions that are not
-essential are declared by default as optional extensions
-that need not be provided by a container.  Applications that
-use such extensions are portable to other containers because
-deployment tools will ignore extensions that they don't
-support.
-
-The type of the extension-element is abstract. Therefore, a
-concrete type must be specified by the deployment descriptor
-using xsi:type attribute for each extension-element.
-
-The value of the mustUnderstand attribute is "false"
-by default.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-    <xsd:element name="extension-element"
-                 type="j2ee:extensibleType"
-                 maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-    <xsd:attribute name="namespace"
-                   use="required"
-                   type="xsd:anyURI"/>
-    <xsd:attribute name="mustUnderstand"
-                   type="xsd:boolean"/>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="descriptionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The description type is used by a description element to
-provide text describing the parent element.  The elements
-that use this type should include any information that the
-Deployment Component's Deployment File file producer wants
-to provide to the consumer of the Deployment Component's
-Deployment File (i.e., to the Deployer). Typically, the
-tools used by such a Deployment File consumer will display
-the description when processing the parent element that
-contains the description.
-
-The lang attribute defines the language that the
-description is provided in. The default value is "en" (English).
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:simpleContent>
-        <xsd:extension base="xsd:string">
-        <xsd:attribute ref="xml:lang"/>
-        </xsd:extension>
-    </xsd:simpleContent>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="dewey-versionType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type defines a dewey decimal which is used
-to describe versions of documents.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="xsd:decimal">
-        <xsd:whiteSpace value="collapse"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="display-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The display-name type contains a short name that is intended
-to be displayed by tools. It is used by display-name
-elements.  The display name need not be unique.
-
-Example:
-
-...
-   <display-name xml:lang="en">Employee Self Service</display-name>
-
-The value of the xml:lang attribute is "en" (English) by default.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:simpleContent>
-        <xsd:extension base="j2ee:string">
-        <xsd:attribute ref="xml:lang"/>
-        </xsd:extension>
-    </xsd:simpleContent>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="ejb-linkType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-linkType is used by ejb-link
-elements in the ejb-ref or ejb-local-ref elements to specify
-that an EJB reference is linked to enterprise bean.
-
-The value of the ejb-link element must be the ejb-name of an
-enterprise bean in the same ejb-jar file or in another ejb-jar
-file in the same J2EE application unit.
-
-Alternatively, the name in the ejb-link element may be composed of a
-path name specifying the ejb-jar containing the referenced enterprise
-bean with the ejb-name of the target bean appended and separated from
-the path name by "#".  The path name is relative to the Deployment File
-containing Deployment Component that is referencing the enterprise bean.
-This allows multiple enterprise beans with the same ejb-name to be
-uniquely identified.
-
-Examples:
-
-    <ejb-link>EmployeeRecord</ejb-link>
-
-    <ejb-link>../products/product.jar#ProductEJB</ejb-link>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="ejb-local-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-local-refType is used by ejb-local-ref elements for
-the declaration of a reference to an enterprise bean's local
-home. The declaration consists of:
-
-    - an optional description
-    - the EJB reference name used in the code of the Deployment
-      Component that's referencing the enterprise bean
-    - the expected type of the referenced enterprise bean
-    - the expected local home and local interfaces of the
-      referenced enterprise bean
-    - optional ejb-link information, used to specify the
-      referenced enterprise bean
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref-name"
-                     type="j2ee:ejb-ref-nameType"/>
-        <xsd:element name="ejb-ref-type"
-                     type="j2ee:ejb-ref-typeType"/>
-        <xsd:element name="local-home"
-                     type="j2ee:local-homeType"/>
-        <xsd:element name="local"
-                     type="j2ee:localType"/>
-        <xsd:element name="ejb-link"
-                     type="j2ee:ejb-linkType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="ejb-ref-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-ref-name element contains the name of an EJB
-reference. The EJB reference is an entry in the
-Deployment Component's environment and is relative to the
-java:comp/env context.  The name must be unique within the
-Deployment Component.
-
-It is recommended that name is prefixed with "ejb/".
-
-Example:
-
-<ejb-ref-name>ejb/Payroll</ejb-ref-name>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:jndi-nameType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="ejb-ref-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-ref-typeType contains the expected type of the
-referenced enterprise bean.
-
-The ejb-ref-type designates a value
-that must be one of the following:
-
-    Entity
-    Session
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Entity"/>
-        <xsd:enumeration value="Session"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="ejb-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-refType is used by ejb-ref elements for the
-declaration of a reference to an enterprise bean's home. The
-declaration consists of:
-
-    - an optional description
-    - the EJB reference name used in the code of
-      the Deployment Component that's referencing the enterprise
-      bean
-    - the expected type of the referenced enterprise bean
-    - the expected home and remote interfaces of the referenced
-      enterprise bean
-    - optional ejb-link information, used to specify the
-      referenced enterprise bean
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref-name"
-                     type="j2ee:ejb-ref-nameType"/>
-        <xsd:element name="ejb-ref-type"
-                     type="j2ee:ejb-ref-typeType"/>
-
-        <xsd:element name="home"
-                     type="j2ee:homeType"/>
-        <xsd:element name="remote"
-                     type="j2ee:remoteType"/>
-        <xsd:element name="ejb-link"
-                     type="j2ee:ejb-linkType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="emptyType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type is used to designate an empty
-element when used.
-
-</xsd:documentation>
-</xsd:annotation>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="env-entry-type-valuesType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type contains the fully-qualified Java type of the
-environment entry value that is expected by the
-application's code.
-
-The following are the legal values of env-entry-type-valuesType:
-
-    java.lang.Boolean
-    java.lang.Byte
-    java.lang.Character
-    java.lang.String
-    java.lang.Short
-    java.lang.Integer
-    java.lang.Long
-    java.lang.Float
-    java.lang.Double
-
-Example:
-
-<env-entry-type>java.lang.Boolean</env-entry-type>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="java.lang.Boolean"/>
-        <xsd:enumeration value="java.lang.Byte"/>
-        <xsd:enumeration value="java.lang.Character"/>
-        <xsd:enumeration value="java.lang.String"/>
-        <xsd:enumeration value="java.lang.Short"/>
-        <xsd:enumeration value="java.lang.Integer"/>
-        <xsd:enumeration value="java.lang.Long"/>
-        <xsd:enumeration value="java.lang.Float"/>
-        <xsd:enumeration value="java.lang.Double"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="env-entryType">
-<xsd:annotation>
-<xsd:documentation>
-
-The env-entryType is used to declare an application's
-environment entry. The declaration consists of an optional
-description, the name of the environment entry, and an
-optional value.  If a value is not specified, one must be
-supplied during deployment.
-
-It is used by env-entry elements.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="env-entry-name"
-                     type="j2ee:jndi-nameType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The env-entry-name element contains the name of a
-        Deployment Component's environment entry.  The name
-        is a JNDI name relative to the java:comp/env
-        context.  The name must be unique within a
-        Deployment Component. The uniqueness
-        constraints must be defined within the declared
-        context.
-
-        Example:
-
-        <env-entry-name>minAmount</env-entry-name>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="env-entry-type"
-                     type="j2ee:env-entry-type-valuesType"/>
-
-        <xsd:element name="env-entry-value"
-                     type="xsd:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The env-entry-value designates the value of a
-        Deployment Component's environment entry. The value
-        must be a String that is valid for the
-        constructor of the specified type that takes a
-        single String parameter, or for java.lang.Character,
-        a single character.
-
-        Example:
-
-        <env-entry-value>100.00</env-entry-value>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="extensibleType" abstract="true">
-<xsd:annotation>
-<xsd:documentation>
-
-The extensibleType is an abstract base type which is used to
-define the type of extension-elements. Instance documents
-must substitute a known type to define the extension by
-using xsi:type attribute to define the actual type of
-extension-elements.
-
-</xsd:documentation>
-</xsd:annotation>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="fully-qualified-classType">
-<xsd:annotation>
-<xsd:documentation>
-
-The elements that use this type designate the name of a
-Java class or interface.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="generic-booleanType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type defines four different values which can designate
-boolean values. This includes values yes and no which are
-not designated by xsd:boolean
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="true"/>
-        <xsd:enumeration value="false"/>
-        <xsd:enumeration value="yes"/>
-        <xsd:enumeration value="no"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="homeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The homeType defines the fully-qualified name of
-an enterprise bean's home interface.
-
-Example:
-
-    <home>com.aardvark.payroll.PayrollHome</home>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="iconType">
-<xsd:annotation>
-<xsd:documentation>
-
-The icon type contains small-icon and large-icon elements
-that specify the file names for small and large GIF or
-JPEG icon images used to represent the parent element in a
-GUI tool.
-
-The xml:lang attribute defines the language that the
-icon file names are provided in. Its value is "en" (English)
-by default.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="small-icon" type="j2ee:pathType"
-             minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-        The small-icon element contains the name of a file
-        containing a small (16 x 16) icon image. The file
-        name is a relative path within the Deployment
-        Component's Deployment File.
-
-        The image may be either in the JPEG or GIF format.
-        The icon can be used by tools.
-
-        Example:
-
-        <small-icon>employee-service-icon16x16.jpg</small-icon>
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="large-icon" type="j2ee:pathType"
-             minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The large-icon element contains the name of a file
-        containing a large
-        (32 x 32) icon image. The file name is a relative
-        path within the Deployment Component's Deployment
-        File.
-
-        The image may be either in the JPEG or GIF format.
-        The icon can be used by tools.
-
-        Example:
-
-        <large-icon>employee-service-icon32x32.jpg</large-icon>
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-
-    <xsd:attribute ref="xml:lang"/>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="java-identifierType">
-<xsd:annotation>
-<xsd:documentation>
-
-The java-identifierType defines a Java identifier.
-The users of this type should further verify that
-the content does not contain Java reserved keywords.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:pattern value="($|_|\p{L})(\p{L}|\p{Nd}|_|$)*"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="jndi-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The jndi-nameType type designates a JNDI name in the
-Deployment Component's environment and is relative to the
-java:comp/env context.  A JNDI name must be unique within the
-Deployment Component.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="local-homeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The local-homeType defines the fully-qualified
-name of an enterprise bean's local home interface.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="localType">
-<xsd:annotation>
-<xsd:documentation>
-
-The localType defines the fully-qualified name of an
-enterprise bean's local interface.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="message-destination-linkType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-destination-linkType is used to link a message
-destination reference or message-driven bean to a message
-destination.
-
-The Assembler sets the value to reflect the flow of messages
-between producers and consumers in the application.
-
-The value must be the message-destination-name of a message
-destination in the same Deployment File or in another
-Deployment File in the same J2EE application unit.
-
-Alternatively, the value may be composed of a path name
-specifying a Deployment File containing the referenced
-message destination with the message-destination-name of the
-destination appended and separated from the path name by
-"#". The path name is relative to the Deployment File
-containing Deployment Component that is referencing the
-message destination.  This allows multiple message
-destinations with the same name to be uniquely identified.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="message-destination-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-destination-ref element contains a declaration
-of Deployment Component's reference to a message destination
-associated with a resource in Deployment Component's
-environment. It consists of:
-
-        - an optional description
-        - the message destination reference name
-        - the message destination type
-        - a specification as to whether the
-          destination is used for
-          consuming or producing messages, or both
-        - a link to the message destination
-
-Examples:
-
-<message-destination-ref>
-        <message-destination-ref-name>jms/StockQueue
-        </message-destination-ref-name>
-        <message-destination-type>javax.jms.Queue
-        </message-destination-type>
-        <message-destination-usage>Consumes
-        </message-destination-usage>
-        <message-destination-link>CorporateStocks
-        </message-destination-link>
-</message-destination-ref>
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref-name"
-                     type="j2ee:jndi-nameType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The message-destination-ref-name element specifies
-        the name of a message destination reference; its
-        value is the environment entry name used in
-        Deployment Component code.  The name is a JNDI name
-        relative to the java:comp/env context and must be
-        unique within an ejb-jar (for enterprise beans) or a
-        Deployment File (for others).
-        %%%
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="message-destination-type"
-                     type="j2ee:message-destination-typeType"/>
-        <xsd:element name="message-destination-usage"
-                     type="j2ee:message-destination-usageType"/>
-        <xsd:element name="message-destination-link"
-                     type="j2ee:message-destination-linkType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="message-destination-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-destination-typeType specifies the type of
-the destination. The type is specified by the Java interface
-expected to be implemented by the destination.
-
-Example:
-
- <message-destination-type>javax.jms.Queue
- </message-destination-type>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="message-destination-usageType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-destination-usageType specifies the use of the
-message destination indicated by the reference.  The value
-indicates whether messages are consumed from the message
-destination, produced for the destination, or both.  The
-Assembler makes use of this information in linking producers
-of a destination with its consumers.
-
-The value of the message-destination-usage element must be
-one of the following:
-    Consumes
-    Produces
-    ConsumesProduces
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Consumes"/>
-        <xsd:enumeration value="Produces"/>
-        <xsd:enumeration value="ConsumesProduces"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="message-destinationType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-destinationType specifies a message
-destination. The logical destination described by this
-element is mapped to a physical destination by the Deployer.
-
-The message destination element contains:
-
-        - an optional description
-        - an optional display-name
-        - an optional icon
-        - a message destination name which must be unique
-          among message destination names within the same
-          Deployment File.
-
-Example:
-
-<message-destination>
-        <message-destination-name>CorporateStocks
-        </message-destination-name>
-</message-destination>
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-name"
-                     type="j2ee:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The message-destination-name element specifies a
-        name for a message destination.  This name must be
-        unique among the names of message destinations
-        within the Deployment File.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="param-valueType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type is a general type that can be used to declare
-parameter/value lists.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-             type="j2ee:descriptionType"
-             minOccurs="0"
-             maxOccurs="unbounded"/>
-        <xsd:element name="param-name"
-             type="j2ee:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The param-name element contains the name of a
-        parameter.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="param-value"
-             type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The param-value element contains the value of a
-        parameter.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="pathType">
-<xsd:annotation>
-<xsd:documentation>
-
-The elements that use this type designate either a relative
-path or an absolute path starting with a "/".
-
-In elements that specify a pathname to a file within the
-same Deployment File, relative filenames (i.e., those not
-starting with "/") are considered relative to the root of
-the Deployment File's namespace.  Absolute filenames (i.e.,
-those starting with "/") also specify names in the root of
-the Deployment File's namespace.  In general, relative names
-are preferred.  The exception is .war files where absolute
-names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="remoteType">
-<xsd:annotation>
-<xsd:documentation>
-
-The remote element contains the fully-qualified name
-of the enterprise bean's remote interface.
-
-Example:
-
-    <remote>com.wombat.empl.EmployeeService</remote>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="res-authType">
-<xsd:annotation>
-<xsd:documentation>
-
-The res-authType specifies whether the Deployment Component
-code signs on programmatically to the resource manager, or
-whether the Container will sign on to the resource manager
-on behalf of the Deployment Component. In the latter case,
-the Container uses information that is supplied by the
-Deployer.
-
-The value must be one of the two following:
-
-    Application
-    Container
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Application"/>
-        <xsd:enumeration value="Container"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="res-sharing-scopeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The res-sharing-scope type specifies whether connections
-obtained through the given resource manager connection
-factory reference can be shared. The value, if specified,
-must be one of the two following:
-
-    Shareable
-    Unshareable
-
-The default value is Shareable.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Shareable"/>
-        <xsd:enumeration value="Unshareable"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="resource-env-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The resource-env-refType is used to define
-resource-env-type elements.  It contains a declaration of a
-Deployment Component's reference to an administered object
-associated with a resource in the Deployment Component's
-environment.  It consists of an optional description, the
-resource environment reference name, and an indication of
-the resource environment reference type expected by the
-Deployment Component code.
-
-Example:
-
-<resource-env-ref>
-    <resource-env-ref-name>jms/StockQueue
-    </resource-env-ref-name>
-    <resource-env-ref-type>javax.jms.Queue
-    </resource-env-ref-type>
-</resource-env-ref>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="resource-env-ref-name"
-                     type="j2ee:jndi-nameType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The resource-env-ref-name element specifies the name
-        of a resource environment reference; its value is
-        the environment entry name used in
-        the Deployment Component code.  The name is a JNDI
-        name relative to the java:comp/env context and must
-        be unique within a Deployment Component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="resource-env-ref-type"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The resource-env-ref-type element specifies the type
-        of a resource environment reference.  It is the
-        fully qualified name of a Java language class or
-        interface.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="resource-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The resource-refType contains a declaration of a
-Deployment Component's reference to an external resource. It
-consists of an optional description, the resource manager
-connection factory reference name, the indication of the
-resource manager connection factory type expected by the
-Deployment Component code, the type of authentication
-(Application or Container), and an optional specification of
-the shareability of connections obtained from the resource
-(Shareable or Unshareable).
-
-Example:
-
-<resource-ref>
-    <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
-    <res-type>javax.sql.DataSource</res-type>
-    <res-auth>Container</res-auth>
-    <res-sharing-scope>Shareable</res-sharing-scope>
-</resource-ref>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="res-ref-name"
-                     type="j2ee:jndi-nameType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The res-ref-name element specifies the name of a
-        resource manager connection factory reference.
-        The name is a JNDI name relative to the
-        java:comp/env context.
-        The name must be unique within a Deployment File.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="res-type"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The res-type element specifies the type of the data
-        source. The type is specified by the fully qualified
-        Java language class or interface
-        expected to be implemented by the data source.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="res-auth"
-                     type="j2ee:res-authType"/>
-
-        <xsd:element name="res-sharing-scope"
-                     type="j2ee:res-sharing-scopeType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="role-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The role-nameType designates the name of a security role.
-
-The name must conform to the lexical rules for an NMTOKEN.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="xsd:NMTOKEN"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="run-asType">
-<xsd:annotation>
-<xsd:documentation>
-
-The run-asType specifies the run-as identity to be
-used for the execution of a component. It contains an
-optional description, and the name of a security role.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="role-name"
-                     type="j2ee:role-nameType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="security-role-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The security-role-refType contains the declaration of a
-security role reference in a component's or a
-Deployment Component's code. The declaration consists of an
-optional description, the security role name used in the
-code, and an optional link to a security role. If the
-security role is not specified, the Deployer must choose an
-appropriate security role.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="role-name"
-                     type="j2ee:role-nameType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The value of the role-name element must be the String used
-        as the parameter to the
-        EJBContext.isCallerInRole(String roleName) method or the
-        HttpServletRequest.isUserInRole(String role) method.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="role-link"
-                     type="j2ee:role-nameType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The role-link element is a reference to a defined
-        security role. The role-link element must contain
-        the name of one of the security roles defined in the
-        security-role elements.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="security-roleType">
-<xsd:annotation>
-<xsd:documentation>
-
-The security-roleType contains the definition of a security
-role. The definition consists of an optional description of the
-security role, and the security role name.
-
-Example:
-
-    <security-role>
-    <description>
-        This role includes all employees who are authorized
-        to access the employee service application.
-    </description>
-    <role-name>employee</role-name>
-    </security-role>
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="role-name"
-                     type="j2ee:role-nameType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="string">
-<xsd:annotation>
-<xsd:documentation>
-
-This is a special string datatype that is defined by J2EE as
-a base type for defining collapsed strings. When schemas
-require trailing/leading space elimination as well as
-collapsing the existing whitespace, this base type may be
-used.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="xsd:string">
-        <xsd:whiteSpace value="collapse"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="true-falseType">
-<xsd:annotation>
-<xsd:documentation>
-
-This simple type designates a boolean with only two
-permissible values
-
-- true
-- false
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="xsd:boolean">
-        <xsd:pattern value="(true|false)"/>
-    </xsd:restriction>
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="url-patternType">
-<xsd:annotation>
-<xsd:documentation>
-
-The url-patternType contains the url pattern of the mapping. It must
-follow the rules specified in Section 11.2 of the Servlet API
-Specification.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="war-pathType">
-<xsd:annotation>
-<xsd:documentation>
-
-The elements that use this type designate a path starting
-with a "/" and interpreted relative to the root of a WAR
-file.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:pattern value="/.*"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/v1/test/cases/schema/j2ee/jsp_2_0.xsd b/v1/test/cases/schema/j2ee/jsp_2_0.xsd
deleted file mode 100644
index 61d5668..0000000
--- a/v1/test/cases/schema/j2ee/jsp_2_0.xsd
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="2.0">
-<xsd:annotation>
-<xsd:documentation>
-@(#)jsp_2_0.xsds	1.10 08/20/02
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the JSP 2.0 deployment descriptor
-types.  The JSP 2.0 schema contains all the special
-structures and datatypes that are necessary to use JSP files
-from a web application.
-
-The contents of this schema is used by the web-app_2_4.xsd
-file to define JSP specific content.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:include schemaLocation="j2ee_1_4.xsd"/>
-
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="jsp-configType">
-<xsd:annotation>
-<xsd:documentation>
-
-The jsp-configType is used to provide global configuration
-information for the JSP files in a web application. It has
-two subelements, taglib and jsp-property-group.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="taglib"
-                     type="j2ee:taglibType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="jsp-property-group"
-                     type="j2ee:jsp-property-groupType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="jsp-fileType">
-<xsd:annotation>
-<xsd:documentation>
-
-The jsp-file element contains the full path to a JSP file
-within the web application beginning with a `/'.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:pathType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="jsp-property-groupType">
-<xsd:annotation>
-<xsd:documentation>
-
-The jsp-property-groupType is used to group a number of
-files so they can be given global property information.
-All files so described are deemed to be JSP files.  The
-following additional properties can be described:
-
-    - Control enabling of EL evaluation.
-    - Control enabling of Scripting elements.
-    - Indicate pageEncoding information.
-    - Indicating that a resource is a JSP document
-    - Prelude and Coda automatic includes.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-	<xsd:element name="description"
-		     type="j2ee:descriptionType"
-		     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-		     type="j2ee:display-nameType"
-		     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="url-pattern"
-                     type="j2ee:url-patternType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="el-enabled"
-                     type="j2ee:true-falseType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        Can be used to easily set the isELEnabled
-        property of a group of JSP pages.  By default, the
-        EL evaluation is enabled for Web Applications using
-        a Servlet 2.4 or greater web.xml.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="page-encoding"
-                     type="j2ee:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The valid values of page-encoding are those of the
-        pageEncoding page directive. It is a
-        translation-time error to define the pageEncoding
-        of a JSP page through one value in the JSP
-        configuration element and then give it a different
-        value in a pageEncoding directive, but it is legal
-        to give it the same value.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="scripting-enabled"
-                     type="j2ee:true-falseType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        Can be used to easily set the isScriptingEnabled
-        property of a group of JSP pages.  By default,
-        scripting is enabled.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-	<xsd:element name="is-xml"
-		     type="j2ee:true-falseType"
-		     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        If true, denotes that the group of resources
-	that match the URL pattern are JSP documents,
-	and thus must be interpreted as XML documents.
-	If false, the resources are assumed to not
-	be JSP documents, unless there is another
-	property group that indicates otherwise.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="include-prelude"
-                     type="j2ee:pathType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The include-prelude element is a context-relative
-        path that must correspond to an element in the
-        Web Application.  When the element is present,
-        the given path will be automatically included (as
-        in an include directive) at the beginning of each
-        JSP page in this jsp-property-group.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="include-coda"
-                     type="j2ee:pathType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The include-coda element is a context-relative
-        path that must correspond to an element in the
-        Web Application.  When the element is present,
-        the given path will be automatically included (as
-        in an include directive) at the end of each
-        JSP page in this jsp-property-group.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="taglibType">
-<xsd:annotation>
-<xsd:documentation>
-
-A taglib can be used to provide information on a tag
-library that is used by a JSP page within the Web
-Application.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="taglib-uri"
-                     type="j2ee:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        A taglib-uri element describes a URI identifying a
-        tag library used in the web application.  The body
-        of the taglib-uri element may be either an
-        absolute URI specification, or a relative URI.
-        There should be no entries in web.xml with the
-        same taglib-uri value.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="taglib-location"
-                     type="j2ee:pathType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        the taglib-location element contains the location
-        (as a resource relative to the root of the web
-        application) where to find the Tag Library
-        Description file for the tag library.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-
-</xsd:complexType>
-
-</xsd:schema>
-
diff --git a/v1/test/cases/schema/j2ee/web-app_2_4.xsd b/v1/test/cases/schema/j2ee/web-app_2_4.xsd
deleted file mode 100644
index 6c8c158..0000000
--- a/v1/test/cases/schema/j2ee/web-app_2_4.xsd
+++ /dev/null
@@ -1,1278 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="2.4">
-<xsd:annotation>
-<xsd:documentation>
-@(#)web-app_2_4.xsds	1.34 02/08/01
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the Servlet 2.4 deployment
-descriptor.  All Servlet deployment descriptors must
-indicate the web application schema by using the J2EE
-namespace:
-
-http://java.sun.com/xml/ns/j2ee
-
-and by indicating the version of the schema by
-using the version element as shown below:
-
-    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="..."
-     version="2.4">
-    ...
-    </web-app>
-
-The instance documents may indicate the published version of
-the schema using the xsi:schemaLocation attribute for J2EE
-namespace with the following location:
-
-http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:include schemaLocation="j2ee_1_4.xsd"/>
-<xsd:include schemaLocation="jsp_2_0.xsd"/>
-
-
-<!-- **************************************************** -->
-
-
-<xsd:element name="web-app" type="j2ee:web-appType">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The web-app element is the root of the deployment
-    descriptor for a web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:unique name="servlet-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The servlet element contains the name of a servlet.
-    The name must be unique within the web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:servlet"/>
-        <xsd:field    xpath="j2ee:servlet-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="filter-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The filter element contains the name of a filter.
-    The name must be unique within the web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:filter"/>
-        <xsd:field    xpath="j2ee:filter-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="ejb-local-ref-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The ejb-local-ref-name element contains the name of an EJB
-    reference. The EJB reference is an entry in the web
-    application's environment and is relative to the
-    java:comp/env context.  The name must be unique within
-    the web application.
-
-    It is recommended that name is prefixed with "ejb/".
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:ejb-local-ref"/>
-        <xsd:field    xpath="j2ee:ejb-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="ejb-ref-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The ejb-ref-name element contains the name of an EJB
-    reference. The EJB reference is an entry in the web
-    application's environment and is relative to the
-    java:comp/env context.  The name must be unique within
-    the web application.
-
-    It is recommended that name is prefixed with "ejb/".
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:ejb-ref"/>
-        <xsd:field    xpath="j2ee:ejb-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="resource-env-ref-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The resource-env-ref-name element specifies the name of
-    a resource environment reference; its value is the
-    environment entry name used in the web application code.
-    The name is a JNDI name relative to the java:comp/env
-    context and must be unique within a web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:resource-env-ref"/>
-        <xsd:field    xpath="j2ee:resource-env-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="message-destination-ref-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The message-destination-ref-name element specifies the name of
-    a message destination reference; its value is the
-    environment entry name used in the web application code.
-    The name is a JNDI name relative to the java:comp/env
-    context and must be unique within a web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:message-destination-ref"/>
-        <xsd:field    xpath="j2ee:message-destination-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="res-ref-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The res-ref-name element specifies the name of a
-    resource manager connection factory reference.  The name
-    is a JNDI name relative to the java:comp/env context.
-    The name must be unique within a web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:resource-ref"/>
-        <xsd:field    xpath="j2ee:res-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="env-entry-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The env-entry-name element contains the name of a web
-    application's environment entry.  The name is a JNDI
-    name relative to the java:comp/env context.  The name
-    must be unique within a web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-        <xsd:selector xpath="j2ee:env-entry"/>
-        <xsd:field    xpath="j2ee:env-entry-name"/>
-        </xsd:unique>
-
-    <xsd:key name="role-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    A role-name-key is specified to allow the references
-    from the security-role-refs.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:security-role"/>
-        <xsd:field    xpath="j2ee:role-name"/>
-    </xsd:key>
-
-    <xsd:keyref name="role-name-references"
-            refer="j2ee:role-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The keyref indicates the references from
-    security-role-ref to a specified role-name.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:servlet/j2ee:security-role-ref"/>
-        <xsd:field    xpath="j2ee:role-link"/>
-    </xsd:keyref>
-
-</xsd:element>
-
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="auth-constraintType">
-<xsd:annotation>
-<xsd:documentation>
-
-The auth-constraintType indicates the user roles that
-should be permitted access to this resource
-collection. The role-name used here must either correspond
-to the role-name of one of the security-role elements
-defined for this web application, or be the specially
-reserved role-name "*" that is a compact syntax for
-indicating all roles in the web application. If both "*"
-and rolenames appear, the container interprets this as all
-roles.  If no roles are defined, no user is allowed access
-to the portion of the web application described by the
-containing security-constraint.  The container matches
-role names case sensitively when determining access.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                 type="j2ee:descriptionType"
-                 minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="role-name"
-                 type="j2ee:role-nameType"
-                 minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="auth-methodType">
-<xsd:annotation>
-<xsd:documentation>
-
-The auth-methodType is used to configure the authentication
-mechanism for the web application. As a prerequisite to
-gaining access to any web resources which are protected by
-an authorization constraint, a user must have authenticated
-using the configured mechanism. Legal values are "BASIC",
-"DIGEST", "FORM", or "CLIENT-CERT".
-
-Used in: login-config
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="BASIC"/>
-        <xsd:enumeration value="DIGEST"/>
-        <xsd:enumeration value="FORM"/>
-        <xsd:enumeration value="CLIENT-CERT"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="dispatcherType">
-<xsd:annotation>
-<xsd:documentation>
-
-The dispatcher has three legal values, FORWARD and REQUEST
-and INCLUDE. A value of FORWARD means the Filter
-will be applied under RequestDispatcher.forward() calls.
-A value of REQUEST means the Filter will be applied
-under ordinary client calls to the path or servlet. A value of
-INCLUDE means the Filter will be applied under
-RequestDispatcher.include() calls.
-The absence of any dispatcher elements in a
-filter-mapping indicates a default of applying
-filters only under ordinary client calls to the path or servlet.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="FORWARD"/>
-    <xsd:enumeration value="INCLUDE"/>
-    <xsd:enumeration value="REQUEST"/>
-
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="error-codeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The error-code contains an HTTP error code, ex: 404
-
-Used in: error-page
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="positiveInteger"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="error-pageType">
-<xsd:annotation>
-<xsd:documentation>
-
-The error-pageType contains a mapping between an error code
-or exception type to the path of a resource in the web
-application.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <choice>
-        <xsd:element name="error-code"
-                     type="j2ee:error-codeType"/>
-
-        <xsd:element name="exception-type"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The exception-type contains a fully qualified class
-        name of a Java exception type.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        </choice>
-
-        <xsd:element name="location"
-                     type="j2ee:pathType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The location element contains the location of the
-        resource in the web application relative to the root of
-        the web application. The value of the location must have
-        a leading `/'.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="filter-mappingType">
-<xsd:annotation>
-<xsd:documentation>
-
-Declaration of the filter mappings in this web
-application is done by using filter-mappingType.
-The container uses the filter-mapping
-declarations to decide which filters to apply to a request,
-and in what order. The container matches the request URI to
-a Servlet in the normal way. To determine which filters to
-apply it matches filter-mapping declarations either on
-servlet-name, or on url-pattern for each filter-mapping
-element, depending on which style is used. The order in
-which filters are invoked is the order in which
-filter-mapping declarations that match a request URI for a
-servlet appear in the list of filter-mapping elements.The
-filter-name value must be the value of the filter-name
-sub-elements of one of the filter declarations in the
-deployment descriptor.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="filter-name"
-                 type="j2ee:filter-nameType"/>
-        <choice>
-            <xsd:element name="url-pattern"
-                     type="j2ee:url-patternType"/>
-            <xsd:element name="servlet-name"
-                     type="j2ee:servlet-nameType"/>
-        </choice>
-        <xsd:element name="dispatcher"
-                     type="j2ee:dispatcherType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="filter-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The logical name of the filter is declare
-by using filter-nameType. This name is used to map the
-filter.  Each filter name is unique within the web
-application.
-
-Used in: filter, filter-mapping
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="filterType">
-<xsd:annotation>
-<xsd:documentation>
-
-The filterType is used to declare a filter in the web
-application. The filter is mapped to either a servlet or a
-URL pattern in the filter-mapping element, using the
-filter-name value to reference. Filters can access the
-initialization parameters declared in the deployment
-descriptor at runtime via the FilterConfig interface.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="filter-name"
-                     type="j2ee:filter-nameType"/>
-        <xsd:element name="filter-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The fully qualified classname of the filter.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="init-param"
-                     type="j2ee:param-valueType"
-                     minOccurs="0" maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The init-param element contains a name/value pair as
-        an initialization param of a servlet filter
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="form-login-configType">
-<xsd:annotation>
-<xsd:documentation>
-
-The form-login-configType specifies the login and error
-pages that should be used in form based login. If form based
-authentication is not used, these elements are ignored.
-
-Used in: login-config
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-
-        <xsd:element name="form-login-page"
-                 type="j2ee:war-pathType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The form-login-page element defines the location in the web app
-        where the page that can be used for login can be found.
-        The path begins with a leading / and is
-        interpreted relative to the root of the WAR.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="form-error-page"
-                 type="j2ee:war-pathType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The form-error-page element defines the location in
-        the web app where the error page that is displayed
-        when login is not successful can be found.
-        The path begins with a leading / and is interpreted
-        relative to the root of the WAR.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="http-methodType">
-<xsd:annotation>
-
-<xsd:documentation>
-The http-method contains an HTTP method recognized by the web-app, i.e.
-(GET | POST |...).
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="GET"/>
-        <xsd:enumeration value="POST"/>
-        <xsd:enumeration value="PUT"/>
-        <xsd:enumeration value="DELETE"/>
-        <xsd:enumeration value="HEAD"/>
-        <xsd:enumeration value="OPTIONS"/>
-        <xsd:enumeration value="TRACE"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="listenerType">
-<xsd:annotation>
-<xsd:documentation>
-
-The listenerType indicates the deployment properties for a web
-application listener bean.
-
-Used in: web-app:listenerType
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="listener-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The listener-class element declares a class in the
-        application must be registered as a web
-        application listener bean. The value is the fully
-        qualified classname of the listener class.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="locale-encoding-mapping-listType">
-<xsd:annotation>
-<xsd:documentation>
-
-The locale-encoding-mapping-list contains one or more
-locale-encoding-mapping(s).
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:sequence>
-    <xsd:element name="locale-encoding-mapping"
-        type="j2ee:locale-encoding-mappingType"
-        maxOccurs="unbounded"/>
-</xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="locale-encoding-mappingType">
-<xsd:annotation>
-<xsd:documentation>
-
-The locale-encoding-mapping contains locale name and
-encoding name. The locale name must be either "Language-code",
-such as "ja", defined by ISO-639 or "Language-code_Country-code",
-such as "ja_JP".  "Country code" is defined by ISO-3166.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:sequence>
-    <xsd:element name="locale"
-        type="j2ee:string"/>
-    <xsd:element name="encoding"
-        type="j2ee:string"/>
-</xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="login-configType">
-<xsd:annotation>
-<xsd:documentation>
-
-The login-configType is used to configure the authentication
-method that should be used, the realm name that should be
-used for this application, and the attributes that are
-needed by the form login mechanism.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="auth-method"
-                     type="j2ee:auth-methodType"
-                     minOccurs="0"/>
-        <xsd:element name="realm-name"
-                     type="j2ee:string" minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The realm name element specifies the realm name to
-        use in HTTP Basic authorization.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="form-login-config"
-                     type="j2ee:form-login-configType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="mime-mappingType">
-<xsd:annotation>
-<xsd:documentation>
-
-The mime-mappingType defines a mapping between an extension
-and a mime type.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The extension element contains a string describing an
-        extension. example: "txt"
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:element name="extension"
-                     type="j2ee:string"/>
-        <xsd:element name="mime-type"
-                     type="j2ee:mime-typeType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="mime-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The mime-typeType is used to indicate a defined mime type.
-
-Example:
-"text/plain"
-
-Used in: mime-mapping
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:pattern value="[\p{L}\-\p{Nd}]+/[\p{L}\-\p{Nd}\.]+"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="security-constraintType">
-<xsd:annotation>
-<xsd:documentation>
-
-The security-constraintType is used to associate
-security constraints with one or more web resource
-collections
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="web-resource-collection"
-                     type="j2ee:web-resource-collectionType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="auth-constraint"
-                     type="j2ee:auth-constraintType"
-                     minOccurs="0"/>
-        <xsd:element name="user-data-constraint"
-                     type="j2ee:user-data-constraintType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="servlet-mappingType">
-<xsd:annotation>
-<xsd:documentation>
-
-The servlet-mappingType defines a mapping between a
-servlet and a url pattern.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="servlet-name"
-                     type="j2ee:servlet-nameType"/>
-        <xsd:element name="url-pattern"
-                     type="j2ee:url-patternType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="servlet-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The servlet-name element contains the canonical name of the
-servlet. Each servlet name is unique within the web
-application.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="servletType">
-<xsd:annotation>
-<xsd:documentation>
-
-The servletType is used to declare a servlet.
-It contains the declarative data of a
-servlet. If a jsp-file is specified and the load-on-startup
-element is present, then the JSP should be precompiled and
-loaded.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="servlet-name"
-                     type="j2ee:servlet-nameType"/>
-        <choice>
-            <xsd:element name="servlet-class"
-                         type="j2ee:fully-qualified-classType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The servlet-class element contains the fully
-            qualified class name of the servlet.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-
-            <xsd:element name="jsp-file"
-                         type="j2ee:jsp-fileType"/>
-
-        </choice>
-
-        <xsd:element name="init-param"
-                     type="j2ee:param-valueType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="load-on-startup"
-                     type="xsd:integer"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The load-on-startup element indicates that this
-        servlet should be loaded (instantiated and have
-        its init() called) on the startup of the web
-        application. The optional contents of these
-        element must be an integer indicating the order in
-        which the servlet should be loaded. If the value
-        is a negative integer, or the element is not
-        present, the container is free to load the servlet
-        whenever it chooses. If the value is a positive
-        integer or 0, the container must load and
-        initialize the servlet as the application is
-        deployed. The container must guarantee that
-        servlets marked with lower integers are loaded
-        before servlets marked with higher integers. The
-        container may choose the order of loading of
-        servlets with the same load-on-start-up value.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="run-as"
-                     type="j2ee:run-asType"
-                     minOccurs="0"/>
-        <xsd:element name="security-role-ref"
-                     type="j2ee:security-role-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="session-configType">
-<xsd:annotation>
-<xsd:documentation>
-
-The session-configType defines the session parameters
-for this web application.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="session-timeout"
-                 type="xsd:nonNegativeInteger"
-                 minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The session-timeout element defines the default
-        session timeout interval for all sessions created
-        in this web application. The specified timeout
-        must be expressed in a whole number of minutes.
-        If the timeout is 0 or less, the container ensures
-        the default behaviour of sessions is never to time
-        out. If this element is not specified, the container
-        must set its default timeout period.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="transport-guaranteeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The transport-guaranteeType specifies that the communication
-between client and server should be NONE, INTEGRAL, or
-CONFIDENTIAL. NONE means that the application does not
-require any transport guarantees. A value of INTEGRAL means
-that the application requires that the data sent between the
-client and server be sent in such a way that it can't be
-changed in transit. CONFIDENTIAL means that the application
-requires that the data be transmitted in a fashion that
-prevents other entities from observing the contents of the
-transmission. In most cases, the presence of the INTEGRAL or
-CONFIDENTIAL flag will indicate that the use of SSL is
-required.
-
-Used in: user-data-constraint
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="NONE"/>
-        <xsd:enumeration value="INTEGRAL"/>
-        <xsd:enumeration value="CONFIDENTIAL"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="user-data-constraintType">
-<xsd:annotation>
-<xsd:documentation>
-
-The user-data-constraintType is used to indicate how
-data communicated between the client and container should be
-protected.
-
-Used in: security-constraint
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="transport-guarantee"
-                     type="j2ee:transport-guaranteeType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="web-app-versionType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type contains the recognized versions of
-web-application supported. It is used to designate the
-version of the web application.
-
-Example:
-
-<web-app>
-    <version>2.4</version>
-...
-</web-app>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="2.4"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="web-appType">
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="distributable"
-                     type="j2ee:emptyType"
-                     minOccurs="0"/>
-        <xsd:element name="context-param"
-                     type="j2ee:param-valueType"
-                     minOccurs="0" maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The context-param element contains the declaration
-        of a web application's servlet context
-        initialization parameters.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="filter"
-                     type="j2ee:filterType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="filter-mapping"
-                     type="j2ee:filter-mappingType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="listener"
-                     type="j2ee:listenerType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="servlet"
-                     type="j2ee:servletType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="servlet-mapping"
-                     type="j2ee:servlet-mappingType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="session-config"
-                     type="j2ee:session-configType"
-                     minOccurs="0"/>
-        <xsd:element name="mime-mapping"
-                     type="j2ee:mime-mappingType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="welcome-file-list"
-                     type="j2ee:welcome-file-listType"
-                     minOccurs="0"/>
-        <xsd:element name="error-page"
-                     type="j2ee:error-pageType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="jsp-config"
-                     type="j2ee:jsp-configType"
-                     minOccurs="0"/>
-        <xsd:element name="resource-env-ref"
-                     type="j2ee:resource-env-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref"
-                     type="j2ee:message-destination-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="resource-ref"
-                     type="j2ee:resource-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="security-constraint"
-                     type="j2ee:security-constraintType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="login-config"
-                     type="j2ee:login-configType"
-                     minOccurs="0"/>
-        <xsd:element name="security-role"
-                     type="j2ee:security-roleType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="env-entry"
-                     type="j2ee:env-entryType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref"
-                     type="j2ee:ejb-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-local-ref"
-                     type="j2ee:ejb-local-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination"
-                     type="j2ee:message-destinationType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="locale-encoding-mapping-list"
-                     type="j2ee:locale-encoding-mapping-listType"
-                     minOccurs="0"
-                     maxOccurs="1"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-    <xsd:attribute name="version"
-                   type="j2ee:web-app-versionType"
-                   use="required"/>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="web-resource-collectionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The web-resource-collectionType is used to identify a subset
-of the resources and HTTP methods on those resources within
-a web application to which a security constraint applies. If
-no HTTP methods are specified, then the security constraint
-applies to all HTTP methods.
-
-Used in: security-constraint
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="web-resource-name"
-                     type="j2ee:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The web-resource-name contains the name of this web
-        resource collection.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="url-pattern"
-                     type="j2ee:url-patternType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="http-method"
-                     type="j2ee:http-methodType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="welcome-file-listType">
-<xsd:annotation>
-<xsd:documentation>
-
-The welcome-file-list contains an ordered list of welcome
-files elements.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="welcome-file"
-                     type="j2ee:string"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The welcome-file element contains file name to use
-        as a default welcome file, such as index.html
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-</xsd:schema>
-
diff --git a/v1/test/cases/schema/pricequote/PriceQuote.xsd b/v1/test/cases/schema/pricequote/PriceQuote.xsd
deleted file mode 100644
index 6672fbd..0000000
--- a/v1/test/cases/schema/pricequote/PriceQuote.xsd
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-    <xsd:element name="price-quote">
-        <xsd:complexType>
-            <xsd:sequence>
-                <xsd:element ref="stock-symbol" minOccurs="1" maxOccurs="1"/>
-                <xsd:element ref="stock-price" minOccurs="1" maxOccurs="1"/>
-            </xsd:sequence>
-        </xsd:complexType>
-    </xsd:element>
-    <!-- XXXSJM change following to use refined datatypes -->
-    <xsd:element name="stock-symbol" type="xsd:string"/>
-    <xsd:element name="stock-price" type="xsd:string"/>
-</xsd:schema>
-
diff --git a/v1/test/cases/schema/ra/ra.xsd b/v1/test/cases/schema/ra/ra.xsd
deleted file mode 100644
index 969d128..0000000
--- a/v1/test/cases/schema/ra/ra.xsd
+++ /dev/null
@@ -1,12 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:mt="http://openuri.org/mytest/rowsaffected"
-   targetNamespace="http://openuri.org/mytest/rowsaffected"
-   elementFormDefault="qualified"
-   attributeFormDefault="unqualified"
->
-
-  <xs:element name="rowsAffected" type="xs:int"/>
-
-</xs:schema>
-
diff --git a/v1/test/cases/schema/s4s/XML.xsd b/v1/test/cases/schema/s4s/XML.xsd
deleted file mode 100644
index ff8add9..0000000
--- a/v1/test/cases/schema/s4s/XML.xsd
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
-<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
-
- <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.
-  </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/2001/03/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.  In other words, if the XML Schema namespace changes, the version
-   of this document at
-   http://www.w3.org/2001/xml.xsd will change
-   accordingly; the version at
-   http://www.w3.org/2001/03/xml.xsd will not change.
-  </xs:documentation>
- </xs:annotation>
-
- <xs:attribute name="lang" type="xs:language">
-  <xs:annotation>
-   <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
-         codes as the enumerated possible values . . .</xs:documentation>
-  </xs:annotation>
- </xs:attribute>
-
- <xs:attribute name="space" default="preserve">
-  <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: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/v1/test/cases/schema/s4s/XMLSchema.xsd b/v1/test/cases/schema/s4s/XMLSchema.xsd
deleted file mode 100644
index 8f77251..0000000
--- a/v1/test/cases/schema/s4s/XMLSchema.xsd
+++ /dev/null
@@ -1,2501 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- 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 -->
-
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
-
-<!-- provide ID type information even for parsers which only read the
-     internal subset -->
-<!ATTLIST xs:schema          id  ID  #IMPLIED>
-<!ATTLIST xs:complexType     id  ID  #IMPLIED>
-<!ATTLIST xs:complexContent  id  ID  #IMPLIED>
-<!ATTLIST xs:simpleContent   id  ID  #IMPLIED>
-<!ATTLIST xs:extension       id  ID  #IMPLIED>
-<!ATTLIST xs:element         id  ID  #IMPLIED>
-<!ATTLIST xs:group           id  ID  #IMPLIED> 
-<!ATTLIST xs:all             id  ID  #IMPLIED>
-<!ATTLIST xs:choice          id  ID  #IMPLIED>
-<!ATTLIST xs:sequence        id  ID  #IMPLIED>
-<!ATTLIST xs:any             id  ID  #IMPLIED>
-<!ATTLIST xs:anyAttribute    id  ID  #IMPLIED>
-<!ATTLIST xs:attribute       id  ID  #IMPLIED>
-<!ATTLIST xs:attributeGroup  id  ID  #IMPLIED>
-<!ATTLIST xs:unique          id  ID  #IMPLIED>
-<!ATTLIST xs:key             id  ID  #IMPLIED>
-<!ATTLIST xs:keyref          id  ID  #IMPLIED>
-<!ATTLIST xs:selector        id  ID  #IMPLIED>
-<!ATTLIST xs:field           id  ID  #IMPLIED>
-<!ATTLIST xs:include         id  ID  #IMPLIED>
-<!ATTLIST xs:import          id  ID  #IMPLIED>
-<!ATTLIST xs:redefine        id  ID  #IMPLIED>
-<!ATTLIST xs:notation        id  ID  #IMPLIED>
-<!--
-     keep this schema XML1.0 DTD valid
-  -->
-        <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
-
-        <!ELEMENT hfp:hasFacet EMPTY>
-        <!ATTLIST hfp:hasFacet
-                name NMTOKEN #REQUIRED>
-
-        <!ELEMENT hfp:hasProperty EMPTY>
-        <!ATTLIST hfp:hasProperty
-                name NMTOKEN #REQUIRED
-                value CDATA #REQUIRED>
-<!--
-        Make sure that processors that do not read the external
-        subset will know about the various IDs we declare
-  -->
-        <!ATTLIST xs:simpleType id ID #IMPLIED>
-        <!ATTLIST xs:maxExclusive id ID #IMPLIED>
-        <!ATTLIST xs:minExclusive id ID #IMPLIED>
-        <!ATTLIST xs:maxInclusive id ID #IMPLIED>
-        <!ATTLIST xs:minInclusive id ID #IMPLIED>
-        <!ATTLIST xs:totalDigits id ID #IMPLIED>
-        <!ATTLIST xs:fractionDigits id ID #IMPLIED>
-        <!ATTLIST xs:length id ID #IMPLIED>
-        <!ATTLIST xs:minLength id ID #IMPLIED>
-        <!ATTLIST xs:maxLength id ID #IMPLIED>
-        <!ATTLIST xs:enumeration id ID #IMPLIED>
-        <!ATTLIST xs:pattern id ID #IMPLIED>
-        <!ATTLIST xs:appinfo id ID #IMPLIED>
-        <!ATTLIST xs:documentation id ID #IMPLIED>
-        <!ATTLIST xs:list id ID #IMPLIED>
-        <!ATTLIST xs:union id ID #IMPLIED>
-        ]>
-<xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema" blockDefault="#all" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="EN" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty">
- <xs:annotation>
-  <xs:documentation>
-    Part 1 version: Id: XMLSchema.xsd,v 1.53 2003/02/24 17:40:07 ht Exp 
-    Part 2 version: Id: datatypes.xsd,v 1.58 2003/02/26 14:01:29 ht Exp 
-  </xs:documentation>
- </xs:annotation>
-
-
- <xs:annotation>
-   <xs:documentation source="http://www.w3.org/XML/Group/2002/09/xmlschema-1/structures-with-errata.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</xs:documentation>
- </xs:annotation>
-
- <xs:annotation>
-   <xs:documentation>
-   The simpleType element and all of its members are defined
-      towards the end of this schema document</xs:documentation>
- </xs:annotation>
-
- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
-   <xs:annotation>
-     <xs:documentation>
-       Get access to the xml: attribute groups for xml:lang
-       as declared on 'schema' and 'documentation' below
-     </xs:documentation>
-   </xs:annotation>
- </xs:import>
-
- <xs:complexType name="openAttrs">
-   <xs:annotation>
-     <xs:documentation>
-       This type is extended by almost all schema types
-       to allow attributes from other namespaces to be
-       added to user schemas.
-     </xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-     <xs:restriction base="xs:anyType">
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-     </xs:restriction>
-   </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="annotated">
-   <xs:annotation>
-     <xs:documentation>
-       This type is extended by all types which allow annotation
-       other than &lt;schema&gt; itself
-     </xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-     <xs:extension base="xs:openAttrs">
-       <xs:sequence>
-         <xs:element ref="xs:annotation" minOccurs="0"/>
-       </xs:sequence>
-       <xs:attribute name="id" type="xs:ID"/>
-     </xs:extension>
-   </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="schemaTop">
-  <xs:annotation>
-   <xs: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.</xs:documentation>
-  </xs:annotation>
-  <xs:choice>
-   <xs:group ref="xs:redefinable"/>
-   <xs:element ref="xs:element"/>
-   <xs:element ref="xs:attribute"/>
-   <xs:element ref="xs:notation"/>
-  </xs:choice>
- </xs:group>
- 
- <xs:group name="redefinable">
-  <xs:annotation>
-   <xs:documentation>
-   This group is for the
-   elements which can self-redefine (see &lt;redefine> below).</xs:documentation>
-  </xs:annotation>
-  <xs:choice>
-   <xs:element ref="xs:simpleType"/>
-   <xs:element ref="xs:complexType"/>
-   <xs:element ref="xs:group"/>
-   <xs:element ref="xs:attributeGroup"/>
-  </xs:choice>
- </xs:group>
-
- <xs:simpleType name="formChoice">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:NMTOKEN">
-   <xs:enumeration value="qualified"/>
-   <xs:enumeration value="unqualified"/>
-  </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="reducedDerivationControl">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:derivationControl">
-   <xs:enumeration value="extension"/>
-   <xs:enumeration value="restriction"/>
-  </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="derivationSet">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-   <xs:documentation>
-   #all or (possibly empty) subset of {extension, restriction}</xs:documentation>
-  </xs:annotation>
-  <xs:union>
-   <xs:simpleType>    
-    <xs:restriction base="xs:token">
-     <xs:enumeration value="#all"/>
-    </xs:restriction>
-   </xs:simpleType>
-   <xs:simpleType>
-    <xs:list itemType="xs:reducedDerivationControl"/>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
- <xs:element name="schema" id="schema">
-  <xs:annotation>
-    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:openAttrs">
-     <xs:sequence>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-       <xs:element ref="xs:include"/>
-       <xs:element ref="xs:import"/>
-       <xs:element ref="xs:redefine"/>
-       <xs:element ref="xs:annotation"/>
-      </xs:choice>
-      <xs:sequence minOccurs="0" maxOccurs="unbounded">
-       <xs:group ref="xs:schemaTop"/>
-       <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-     </xs:sequence>
-     <xs:attribute name="targetNamespace" type="xs:anyURI"/>
-     <xs:attribute name="version" type="xs:normalizedString"/>
-     <xs:attribute name="finalDefault" type="xs:derivationSet" use="optional" default=""/>
-     <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/>
-     <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
-     <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
-     <xs:attribute name="id" type="xs:ID"/>
-     <xs:attribute ref="xml:lang"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
-
-  <xs:key name="element">
-   <xs:selector xpath="xs:element"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
-  <xs:key name="attribute">
-   <xs:selector xpath="xs:attribute"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
-  <xs:key name="type">
-   <xs:selector xpath="xs:complexType|xs:simpleType"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
- 
-  <xs:key name="group">
-   <xs:selector xpath="xs:group"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
- 
-  <xs:key name="attributeGroup">
-   <xs:selector xpath="xs:attributeGroup"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
- 
-  <xs:key name="notation">
-   <xs:selector xpath="xs:notation"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
-  <xs:key name="identityConstraint">
-   <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
- </xs:element>
-
- <xs:simpleType name="allNNI">
-  <xs:annotation><xs:documentation>
-   for maxOccurs</xs:documentation></xs:annotation>
-  <xs:union memberTypes="xs:nonNegativeInteger">
-   <xs:simpleType>
-    <xs:restriction base="xs:NMTOKEN">
-     <xs:enumeration value="unbounded"/>
-    </xs:restriction>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
- <xs:attributeGroup name="occurs">
-  <xs:annotation><xs:documentation>
-   for all particles</xs:documentation></xs:annotation>
-  <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
-  <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="defRef">
-  <xs:annotation><xs:documentation>
-   for element, group and attributeGroup,
-   which both define and reference</xs:documentation></xs:annotation>
-  <xs:attribute name="name" type="xs:NCName"/>
-  <xs:attribute name="ref" type="xs:QName"/>
- </xs:attributeGroup>
-
- <xs:group name="typeDefParticle">
-  <xs:annotation>
-    <xs:documentation>
-   'complexType' uses this</xs:documentation></xs:annotation>
-  <xs:choice>
-   <xs:element name="group" type="xs:groupRef"/>
-   <xs:element ref="xs:all"/>
-   <xs:element ref="xs:choice"/>
-   <xs:element ref="xs:sequence"/>
-  </xs:choice>
- </xs:group>
- 
- 
-
- <xs:group name="nestedParticle">
-  <xs:choice>
-   <xs:element name="element" type="xs:localElement"/>
-   <xs:element name="group" type="xs:groupRef"/>
-   <xs:element ref="xs:choice"/>
-   <xs:element ref="xs:sequence"/>
-   <xs:element ref="xs:any"/>
-  </xs:choice>
- </xs:group>
- 
- <xs:group name="particle">
-  <xs:choice>
-   <xs:element name="element" type="xs:localElement"/>
-   <xs:element name="group" type="xs:groupRef"/>
-   <xs:element ref="xs:all"/>
-   <xs:element ref="xs:choice"/>
-   <xs:element ref="xs:sequence"/>
-   <xs:element ref="xs:any"/>
-  </xs:choice>
- </xs:group>
- 
- <xs:complexType name="attribute">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
-    </xs:sequence>
-    <xs:attributeGroup ref="xs:defRef"/>
-    <xs:attribute name="type" type="xs:QName"/>
-    <xs:attribute name="use" use="optional" default="optional">
-     <xs:simpleType>
-      <xs:restriction base="xs:NMTOKEN">
-       <xs:enumeration value="prohibited"/>
-       <xs:enumeration value="optional"/>
-       <xs:enumeration value="required"/>
-      </xs:restriction>
-     </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="default" type="xs:string"/>
-    <xs:attribute name="fixed" type="xs:string"/>
-    <xs:attribute name="form" type="xs:formChoice"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="topLevelAttribute">
-  <xs:complexContent>
-   <xs:restriction base="xs:attribute">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:attribute name="form" use="prohibited"/>
-    <xs:attribute name="use" use="prohibited"/>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="attrDecls">
-  <xs:sequence>
-   <xs:choice minOccurs="0" maxOccurs="unbounded">
-    <xs:element name="attribute" type="xs:attribute"/>
-    <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
-   </xs:choice>
-   <xs:element ref="xs:anyAttribute" minOccurs="0"/>
-  </xs:sequence>
- </xs:group>
-
- <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:group name="complexTypeModel">
-  <xs:choice>
-      <xs:element ref="xs:simpleContent"/>
-      <xs:element ref="xs:complexContent"/>
-      <xs:sequence>
-       <xs:annotation>
-        <xs:documentation>
-   This branch is short for
-   &lt;complexContent>
-   &lt;restriction base="xs:anyType">
-   ...
-   &lt;/restriction>
-   &lt;/complexContent></xs:documentation>
-       </xs:annotation>
-       <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
-       <xs:group ref="xs:attrDecls"/>
-      </xs:sequence>
-  </xs:choice>
- </xs:group>
-
- <xs:complexType name="complexType" abstract="true">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:group ref="xs:complexTypeModel"/>
-    <xs:attribute name="name" type="xs:NCName">
-     <xs:annotation>
-      <xs:documentation>
-      Will be restricted to required or forbidden</xs:documentation>
-     </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
-     <xs:annotation>
-      <xs:documentation>
-      Not allowed if simpleContent child is chosen.
-      May be overriden by setting on complexContent child.</xs:documentation>
-    </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
-    <xs:attribute name="final" type="xs:derivationSet"/>
-    <xs:attribute name="block" type="xs:derivationSet"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="topLevelComplexType">
-  <xs:complexContent>
-   <xs:restriction base="xs:complexType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:complexTypeModel"/>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:NCName" use="required"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="localComplexType">
-  <xs:complexContent>
-   <xs:restriction base="xs:complexType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:complexTypeModel"/>
-    </xs:sequence>
-    <xs:attribute name="name" use="prohibited"/>
-    <xs:attribute name="abstract" use="prohibited"/>
-    <xs:attribute name="final" use="prohibited"/>
-    <xs:attribute name="block" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="restrictionType">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:choice minOccurs="0">
-      <xs:group ref="xs:typeDefParticle"/>
-      <xs:group ref="xs:simpleRestrictionModel"/>
-     </xs:choice>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:attribute name="base" type="xs:QName" use="required"/>
-   </xs:extension>
-  </xs:complexContent>       
- </xs:complexType>
-
- <xs:complexType name="complexRestrictionType">
-  <xs:complexContent>
-   <xs:restriction base="xs:restrictionType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:annotation>
-       <xs:documentation>This choice is added simply to
-                   make this a valid restriction per the REC</xs:documentation>
-      </xs:annotation>
-      <xs:group ref="xs:typeDefParticle"/>
-     </xs:choice>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>       
- </xs:complexType>
-
- <xs:complexType name="extensionType">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:attribute name="base" type="xs:QName" use="required"/>
-   </xs:extension>
-  </xs:complexContent>       
- </xs:complexType>
-
- <xs:element name="complexContent" id="complexContent">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:choice>
-      <xs:element name="restriction" type="xs:complexRestrictionType"/>
-      <xs:element name="extension" type="xs:extensionType"/>
-     </xs:choice>     
-     <xs:attribute name="mixed" type="xs:boolean">
-      <xs:annotation>
-       <xs:documentation>
-       Overrides any setting on complexType parent.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:complexType name="simpleRestrictionType">
-  <xs:complexContent>
-   <xs:restriction base="xs:restrictionType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:annotation>
-       <xs:documentation>This choice is added simply to
-                   make this a valid restriction per the REC</xs:documentation>
-      </xs:annotation>
-      <xs:group ref="xs:simpleRestrictionModel"/>
-     </xs:choice>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="simpleExtensionType">
-  <xs:complexContent>
-   <xs:restriction base="xs:extensionType">
-    <xs:sequence>
-     <xs:annotation>
-      <xs:documentation>
-      No typeDefParticle group reference</xs:documentation>
-     </xs:annotation>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="simpleContent" id="simpleContent">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:choice>
-      <xs:element name="restriction" type="xs:simpleRestrictionType"/>
-      <xs:element name="extension" type="xs:simpleExtensionType"/>
-     </xs:choice>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
- 
- <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
-  </xs:annotation>
- </xs:element>
-
-
-  <xs:simpleType name="blockSet">
-   <xs:annotation>
-    <xs:documentation>
-    A utility type, not for public use</xs:documentation>
-    <xs:documentation>
-    #all or (possibly empty) subset of {substitution, extension,
-    restriction}</xs:documentation>
-   </xs:annotation>
-   <xs:union>
-    <xs:simpleType>    
-     <xs:restriction base="xs:token">
-      <xs:enumeration value="#all"/>
-     </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType>
-     <xs:list>
-      <xs:simpleType>
-       <xs:restriction base="xs:derivationControl">
-        <xs:enumeration value="extension"/>
-        <xs:enumeration value="restriction"/>
-        <xs:enumeration value="substitution"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:list>
-    </xs:simpleType>
-   </xs:union>  
-  </xs:simpleType>
-
- <xs:complexType name="element" abstract="true">
-  <xs:annotation>
-   <xs: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.</xs:documentation>
-  </xs:annotation>
-
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:choice minOccurs="0">
-      <xs:element name="simpleType" type="xs:localSimpleType"/>
-      <xs:element name="complexType" type="xs:localComplexType"/>
-     </xs:choice>
-     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attributeGroup ref="xs:defRef"/>
-    <xs:attribute name="type" type="xs:QName"/>
-    <xs:attribute name="substitutionGroup" type="xs:QName"/>
-    <xs:attributeGroup ref="xs:occurs"/>
-    <xs:attribute name="default" type="xs:string"/>
-    <xs:attribute name="fixed" type="xs:string"/>
-    <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>
-    <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
-    <xs:attribute name="final" type="xs:derivationSet"/>
-    <xs:attribute name="block" type="xs:blockSet"/>
-    <xs:attribute name="form" type="xs:formChoice"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="topLevelElement">
-  <xs:complexContent>
-   <xs:restriction base="xs:element">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:element name="simpleType" type="xs:localSimpleType"/>
-      <xs:element name="complexType" type="xs:localComplexType"/>
-     </xs:choice>
-     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:attribute name="form" use="prohibited"/>
-    <xs:attribute name="minOccurs" use="prohibited"/>
-    <xs:attribute name="maxOccurs" use="prohibited"/>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="localElement">
-  <xs:complexContent>
-   <xs:restriction base="xs:element">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:element name="simpleType" type="xs:localSimpleType"/>
-      <xs:element name="complexType" type="xs:localComplexType"/>
-     </xs:choice>
-     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="substitutionGroup" use="prohibited"/>
-    <xs:attribute name="final" use="prohibited"/>
-    <xs:attribute name="abstract" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="element" type="xs:topLevelElement" id="element">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:complexType name="group" abstract="true">
-  <xs:annotation>
-   <xs:documentation>
-   group type for explicit groups, named top-level groups and
-   group references</xs:documentation>
-  </xs:annotation>
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
-    <xs:attributeGroup ref="xs:defRef"/>
-    <xs:attributeGroup ref="xs:occurs"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="realGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:group">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0" maxOccurs="1">
-      <xs:element ref="xs:all"/>
-      <xs:element ref="xs:choice"/>
-      <xs:element ref="xs:sequence"/>
-     </xs:choice>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="namedGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:realGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="1" maxOccurs="1">
-      <xs:element name="all">
-       <xs:complexType>
-        <xs:complexContent>
-         <xs:restriction base="xs:all">
-          <xs:group ref="xs:allModel"/>
-          <xs:attribute name="minOccurs" use="prohibited"/>
-          <xs:attribute name="maxOccurs" use="prohibited"/>
-          <xs:anyAttribute namespace="##other" processContents="lax"/>
-         </xs:restriction>
-        </xs:complexContent>
-       </xs:complexType>
-      </xs:element>
-      <xs:element name="choice" type="xs:simpleExplicitGroup"/>
-      <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
-     </xs:choice>
-    </xs:sequence>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:attribute name="minOccurs" use="prohibited"/>
-    <xs:attribute name="maxOccurs" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="groupRef">
-  <xs:complexContent>
-   <xs:restriction base="xs:realGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="required" type="xs:QName"/>
-    <xs:attribute name="name" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="explicitGroup">
-  <xs:annotation>
-   <xs:documentation>
-   group type for the three kinds of group</xs:documentation>
-  </xs:annotation>
-  <xs:complexContent>
-   <xs:restriction base="xs:group">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
-    <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="simpleExplicitGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:explicitGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="minOccurs" use="prohibited"/>
-    <xs:attribute name="maxOccurs" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:group name="allModel">
-  <xs:sequence>
-      <xs:element ref="xs:annotation" minOccurs="0"/>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-       <xs:annotation>
-        <xs:documentation>This choice with min/max is here to
-                          avoid a pblm with the Elt:All/Choice/Seq
-                          Particle derivation constraint</xs:documentation>
-       </xs:annotation>
-       <xs:element name="element" type="xs:elementInAll"/>
-      </xs:choice>
-     </xs:sequence>
- </xs:group>
-
-  <xs:complexType name="elementInAll">
-   <xs:annotation>
-    <xs:documentation>restricted max/min</xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-    <xs:restriction base="xs:localElement">
-     <xs:sequence>
-      <xs:element ref="xs:annotation" minOccurs="0"/>
-      <xs:choice minOccurs="0">
-       <xs:element name="simpleType" type="xs:localSimpleType"/>
-       <xs:element name="complexType" type="xs:localComplexType"/>
-      </xs:choice>
-      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-     </xs:sequence>
-     <xs:attribute name="minOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:nonNegativeInteger">
-        <xs:enumeration value="0"/>
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:attribute name="maxOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:allNNI">
-        <xs:enumeration value="0"/>
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-   </xs:complexContent>
-  </xs:complexType>    
-
-  <xs:complexType name="all">
-   <xs:annotation>
-    <xs:documentation>
-   Only elements allowed inside</xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-    <xs:restriction base="xs:explicitGroup">
-     <xs:group ref="xs:allModel"/>
-     <xs:attribute name="minOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:nonNegativeInteger">
-        <xs:enumeration value="0"/>
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:attribute name="maxOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:allNNI">
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-   </xs:complexContent>
-  </xs:complexType>
-
- <xs:element name="all" id="all" type="xs:all">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="choice" type="xs:explicitGroup" id="choice">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="group" type="xs:namedGroup" id="group">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:complexType name="wildcard">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>
-    <xs:attribute name="processContents" use="optional" default="strict">
-     <xs:simpleType>
-      <xs:restriction base="xs:NMTOKEN">
-       <xs:enumeration value="skip"/>
-       <xs:enumeration value="lax"/>
-       <xs:enumeration value="strict"/>
-      </xs:restriction>
-     </xs:simpleType>
-    </xs:attribute>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="any" id="any">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:wildcard">
-     <xs:attributeGroup ref="xs:occurs"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
-  <xs:annotation>
-   <xs:documentation>
-   simple type for the value of the 'namespace' attr of
-   'any' and 'anyAttribute'</xs:documentation>
-  </xs:annotation>
-  <xs:annotation>
-   <xs: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</xs:documentation>
-  </xs:annotation>
-
- <xs:simpleType name="namespaceList">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:union>
-   <xs:simpleType>
-    <xs:restriction base="xs:token">
-     <xs:enumeration value="##any"/>
-     <xs:enumeration value="##other"/>
-    </xs:restriction>
-   </xs:simpleType>
-   <xs:simpleType>
-    <xs:list>
-     <xs:simpleType>
-      <xs:union memberTypes="xs:anyURI">
-       <xs:simpleType>
-        <xs:restriction base="xs:token">
-         <xs:enumeration value="##targetNamespace"/>
-         <xs:enumeration value="##local"/>
-        </xs:restriction>
-       </xs:simpleType>
-      </xs:union>
-     </xs:simpleType>
-    </xs:list>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
- <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:complexType name="attributeGroup" abstract="true">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:group ref="xs:attrDecls"/>
-    <xs:attributeGroup ref="xs:defRef"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="namedAttributeGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:attributeGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="attributeGroupRef">
-  <xs:complexContent>
-   <xs:restriction base="xs:attributeGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="required" type="xs:QName"/>
-    <xs:attribute name="name" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="include" id="include">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="redefine" id="redefine">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:openAttrs">
-     <xs:choice minOccurs="0" maxOccurs="unbounded">
-      <xs:element ref="xs:annotation"/>
-      <xs:group ref="xs:redefinable"/>
-     </xs:choice>
-     <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
-     <xs:attribute name="id" type="xs:ID"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="import" id="import">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:attribute name="namespace" type="xs:anyURI"/>
-     <xs:attribute name="schemaLocation" type="xs:anyURI"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="selector" id="selector">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
-  </xs:annotation>
-  <xs:complexType>
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-     <xs:attribute name="xpath" use="required">
-      <xs:simpleType>
-       <xs:annotation>
-        <xs:documentation>A subset of XPath expressions for use
-in selectors</xs:documentation>
-        <xs:documentation>A utility type, not for public
-use</xs:documentation>
-       </xs:annotation>
-       <xs:restriction base="xs:token">
-        <xs:annotation>
-         <xs: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
-         </xs:documentation>
-        </xs:annotation>
-        <!-- TSH commented out since this incorrectly does not allow white space -->
-        <!-- <xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*"> 
-        </xs:pattern> -->
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="field" id="field">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
-  </xs:annotation>
-  <xs:complexType>
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-     <xs:attribute name="xpath" use="required">
-      <xs:simpleType>
-       <xs:annotation>
-        <xs:documentation>A subset of XPath expressions for use
-in fields</xs:documentation>
-        <xs:documentation>A utility type, not for public
-use</xs:documentation>
-       </xs:annotation>
-       <xs:restriction base="xs:token">
-        <xs:annotation>
-         <xs: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 ) 
-         </xs:documentation>
-        </xs:annotation>
-        <!-- TSH commented out since this incorrectly does not allow white space -->
-        <!-- <xs: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*|\*)))))*"> 
-        </xs:pattern>-->
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:complexType name="keybase">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:element ref="xs:selector"/>
-     <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:NCName" use="required"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="identityConstraint">
-  <xs:annotation>
-   <xs:documentation>The three kinds of identity constraints, all with
-                     type of or derived from 'keybase'.
-   </xs:documentation>
-  </xs:annotation>
-  <xs:choice>
-   <xs:element ref="xs:unique"/>
-   <xs:element ref="xs:key"/>
-   <xs:element ref="xs:keyref"/>
-  </xs:choice>
- </xs:group>
-
- <xs:element name="unique" type="xs:keybase" id="unique">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
-  </xs:annotation>
- </xs:element>
- <xs:element name="key" type="xs:keybase" id="key">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
-  </xs:annotation>
- </xs:element>
- <xs:element name="keyref" id="keyref">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:keybase">
-     <xs:attribute name="refer" type="xs:QName" use="required"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="notation" id="notation">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:attribute name="name" type="xs:NCName" use="required"/>
-     <xs:attribute name="public" type="xs:public"/>
-     <xs:attribute name="system" type="xs:anyURI"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:simpleType name="public">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-   <xs:documentation>
-   A public identifier, per ISO 8879</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token"/>
- </xs:simpleType>
-
- <xs:element name="appinfo" id="appinfo">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
-   </xs:annotation>
-   <xs:complexType mixed="true">
-    <xs:sequence minOccurs="0" maxOccurs="unbounded">
-     <xs:any processContents="lax"/>
-    </xs:sequence>
-    <xs:attribute name="source" type="xs:anyURI"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:complexType>
- </xs:element>
-
- <xs:element name="documentation" id="documentation">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
-   </xs:annotation>
-   <xs:complexType mixed="true">
-    <xs:sequence minOccurs="0" maxOccurs="unbounded">
-     <xs:any processContents="lax"/>
-    </xs:sequence>
-    <xs:attribute name="source" type="xs:anyURI"/>
-    <xs:attribute ref="xml:lang"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:complexType>
- </xs:element>
-
- <xs:element name="annotation" id="annotation">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
-   </xs:annotation>
-   <xs:complexType>
-    <xs:complexContent>
-     <xs:extension base="xs:openAttrs">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-       <xs:element ref="xs:appinfo"/>
-       <xs:element ref="xs:documentation"/>
-      </xs:choice>
-      <xs:attribute name="id" type="xs:ID"/>
-     </xs:extension>
-    </xs:complexContent>
-   </xs:complexType>
- </xs:element>
-
- <xs:annotation>
-  <xs:documentation>
-   notations for use within XML Schema schemas</xs:documentation>
- </xs:annotation>
-
- <xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
- <xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
-  
- <xs:complexType name="anyType" mixed="true">
-  <xs:annotation>
-   <xs:documentation>
-   Not the real urType, but as close an approximation as we can
-   get in the XML representation</xs:documentation>
-  </xs:annotation>
-  <xs:sequence>
-   <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
-  </xs:sequence>
-  <xs:anyAttribute processContents="lax"/>
- </xs:complexType>
-
-  <xs:annotation>
-    <xs:documentation>
-      First the built-in primitive datatypes.  These definitions are for
-      information only, the real built-in definitions are magic.
-    </xs:documentation>
-
-    <xs:documentation>
-      For each built-in datatype in this schema (both primitive and
-      derived) can be uniquely addressed via a URI constructed
-      as follows:
-        1) the base URI is the URI of the XML Schema namespace
-        2) the fragment identifier is the name of the datatype
-
-      For example, to address the int datatype, the URI is:
-
-        http://www.w3.org/2001/XMLSchema#int
-
-      Additionally, each facet definition element can be uniquely
-      addressed via a URI constructed as follows:
-        1) the base URI is the URI of the XML Schema namespace
-        2) the fragment identifier is the name of the facet
-
-      For example, to address the maxInclusive facet, the URI is:
-
-        http://www.w3.org/2001/XMLSchema#maxInclusive
-
-      Additionally, each facet usage in a built-in datatype definition
-      can be uniquely addressed via a URI constructed as follows:
-        1) the base URI is the URI of the XML Schema namespace
-        2) the fragment identifier is the name of the datatype, followed
-           by a period (".") followed by the name of the facet
-
-      For example, to address the usage of the maxInclusive facet in
-      the definition of int, the URI is:
-
-        http://www.w3.org/2001/XMLSchema#int.maxInclusive
-
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:simpleType name="string" id="string">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality" value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-                source="http://www.w3.org/TR/xmlschema-2/#string"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="preserve" id="string.preserve"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="boolean" id="boolean">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="boolean.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="float" id="float">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="total"/>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-        <hfp:hasProperty name="numeric" value="true"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#float"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="float.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="double" id="double">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="total"/>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-        <hfp:hasProperty name="numeric" value="true"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#double"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="double.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="decimal" id="decimal">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="totalDigits"/>
-        <hfp:hasFacet name="fractionDigits"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="total"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="true"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="decimal.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
-   <xs:simpleType name="duration" id="duration">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#duration"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="duration.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
- <xs:simpleType name="dateTime" id="dateTime">
-    <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="dateTime.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="time" id="time">
-    <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#time"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="time.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="date" id="date">
-   <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#date"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="date.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="gYearMonth" id="gYearMonth">
-   <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="gYearMonth.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="gYear" id="gYear">
-    <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="gYear.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
- <xs:simpleType name="gMonthDay" id="gMonthDay">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-       <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-         <xs:whiteSpace value="collapse" fixed="true"
-                id="gMonthDay.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="gDay" id="gDay">
-    <xs:annotation>
-  <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-         <xs:whiteSpace value="collapse"  fixed="true"
-                id="gDay.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
- <xs:simpleType name="gMonth" id="gMonth">
-    <xs:annotation>
-  <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-         <xs:whiteSpace value="collapse"  fixed="true"
-                id="gMonth.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-   <xs:simpleType name="hexBinary" id="hexBinary">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#binary"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="hexBinary.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
- <xs:simpleType name="base64Binary" id="base64Binary">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-                source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="base64Binary.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
-   <xs:simpleType name="anyURI" id="anyURI">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="anyURI.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
-  <xs:simpleType name="QName" id="QName">
-    <xs:annotation>
-        <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#QName"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="QName.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-   <xs:simpleType name="NOTATION" id="NOTATION">
-    <xs:annotation>
-        <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
-      <xs:documentation>
-        NOTATION cannot be used directly in a schema; rather a type
-        must be derived from it by specifying at least one enumeration
-        facet whose value is the name of a NOTATION declared in the
-        schema.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="NOTATION.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:annotation>
-    <xs:documentation>
-      Now the derived primitive types
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:simpleType name="normalizedString" id="normalizedString">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:whiteSpace value="replace"
-        id="normalizedString.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="token" id="token">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#token"/>
-    </xs:annotation>
-    <xs:restriction base="xs:normalizedString">
-      <xs:whiteSpace value="collapse" id="token.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="language" id="language">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#language"/>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:pattern
-        value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"
-                id="language.pattern">
-        <xs:annotation>
-          <xs:documentation
-                source="http://www.w3.org/TR/REC-xml#NT-LanguageID">
-            pattern specifies the content of section 2.12 of XML 1.0e2
-            and RFC 3066 (Revised version of RFC 1766).
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="IDREFS" id="IDREFS">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
-    </xs:annotation>
-    <xs:restriction>
-      <xs:simpleType>
-        <xs:list itemType="xs:IDREF"/>
-      </xs:simpleType>
-        <xs:minLength value="1" id="IDREFS.minLength"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="ENTITIES" id="ENTITIES">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
-    </xs:annotation>
-    <xs:restriction>
-      <xs:simpleType>
-        <xs:list itemType="xs:ENTITY"/>
-      </xs:simpleType>
-        <xs:minLength value="1" id="ENTITIES.minLength"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="NMTOKEN" id="NMTOKEN">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:pattern value="\c+" id="NMTOKEN.pattern">
-        <xs:annotation>
-          <xs:documentation
-                source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
-            pattern matches production 7 from the XML spec
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="NMTOKENS" id="NMTOKENS">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
-    </xs:annotation>
-    <xs:restriction>
-      <xs:simpleType>
-        <xs:list itemType="xs:NMTOKEN"/>
-      </xs:simpleType>
-        <xs:minLength value="1" id="NMTOKENS.minLength"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="Name" id="Name">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#Name"/>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:pattern value="\i\c*" id="Name.pattern">
-        <xs:annotation>
-          <xs:documentation
-                        source="http://www.w3.org/TR/REC-xml#NT-Name">
-            pattern matches production 5 from the XML spec
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="NCName" id="NCName">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
-    </xs:annotation>
-    <xs:restriction base="xs:Name">
-      <xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">
-        <xs:annotation>
-          <xs:documentation
-                source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
-            pattern matches production 4 from the Namespaces in XML spec
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-   <xs:simpleType name="ID" id="ID">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#ID"/>
-    </xs:annotation>
-    <xs:restriction base="xs:NCName"/>
-   </xs:simpleType>
-
-   <xs:simpleType name="IDREF" id="IDREF">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
-    </xs:annotation>
-    <xs:restriction base="xs:NCName"/>
-   </xs:simpleType>
-
-   <xs:simpleType name="ENTITY" id="ENTITY">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
-    </xs:annotation>
-    <xs:restriction base="xs:NCName"/>
-   </xs:simpleType>
-
-  <xs:simpleType name="integer" id="integer">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#integer"/>
-    </xs:annotation>
-    <xs:restriction base="xs:decimal">
-      <xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/>
-      <xs:pattern value='[-+]?[0-9]+'/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:integer">
-      <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="negativeInteger" id="negativeInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:nonPositiveInteger">
-      <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="long" id="long">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#long"/>
-    </xs:annotation>
-    <xs:restriction base="xs:integer">
-      <xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>
-      <xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="int" id="int">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#int"/>
-    </xs:annotation>
-    <xs:restriction base="xs:long">
-      <xs:minInclusive value="-2147483648" id="int.minInclusive"/>
-      <xs:maxInclusive value="2147483647" id="int.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="short" id="short">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#short"/>
-    </xs:annotation>
-    <xs:restriction base="xs:int">
-      <xs:minInclusive value="-32768" id="short.minInclusive"/>
-      <xs:maxInclusive value="32767" id="short.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="byte" id="byte">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#byte"/>
-    </xs:annotation>
-    <xs:restriction base="xs:short">
-      <xs:minInclusive value="-128" id="byte.minInclusive"/>
-      <xs:maxInclusive value="127" id="byte.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:integer">
-      <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedLong" id="unsignedLong">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
-    </xs:annotation>
-    <xs:restriction base="xs:nonNegativeInteger">
-      <xs:maxInclusive value="18446744073709551615"
-        id="unsignedLong.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedInt" id="unsignedInt">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
-    </xs:annotation>
-    <xs:restriction base="xs:unsignedLong">
-      <xs:maxInclusive value="4294967295"
-        id="unsignedInt.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedShort" id="unsignedShort">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
-    </xs:annotation>
-    <xs:restriction base="xs:unsignedInt">
-      <xs:maxInclusive value="65535"
-        id="unsignedShort.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedByte" id="unsignedByte">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
-    </xs:annotation>
-    <xs:restriction base="xs:unsignedShort">
-      <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="positiveInteger" id="positiveInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:nonNegativeInteger">
-      <xs:minInclusive value="1" id="positiveInteger.minInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
- <xs:simpleType name="derivationControl">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:NMTOKEN">
-   <xs:enumeration value="substitution"/>
-   <xs:enumeration value="extension"/>
-   <xs:enumeration value="restriction"/>
-   <xs:enumeration value="list"/>
-   <xs:enumeration value="union"/>
-  </xs:restriction>
- </xs:simpleType>
-
- <xs:group name="simpleDerivation">
-  <xs:choice>
-    <xs:element ref="xs:restriction"/>
-    <xs:element ref="xs:list"/>
-    <xs:element ref="xs:union"/>
-  </xs:choice>
- </xs:group>
-
- <xs:simpleType name="simpleDerivationSet">
-  <xs:annotation>
-   <xs:documentation>
-   #all or (possibly empty) subset of {restriction, union, list}
-   </xs:documentation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:union>
-   <xs:simpleType>
-    <xs:restriction base="xs:token">
-     <xs:enumeration value="#all"/>
-    </xs:restriction>
-   </xs:simpleType>
-   <xs:simpleType>
-    <xs:restriction base="xs:derivationControl">
-     <xs:enumeration value="list"/>
-     <xs:enumeration value="union"/>
-     <xs:enumeration value="restriction"/>
-    </xs:restriction>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
-  <xs:complexType name="simpleType" abstract="true">
-    <xs:complexContent>
-      <xs:extension base="xs:annotated">
-        <xs:group ref="xs:simpleDerivation"/>
-        <xs:attribute name="final" type="xs:simpleDerivationSet"/>
-        <xs:attribute name="name" type="xs:NCName">
-          <xs:annotation>
-            <xs:documentation>
-              Can be restricted to required or forbidden
-            </xs:documentation>
-          </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="topLevelSimpleType">
-    <xs:complexContent>
-      <xs:restriction base="xs:simpleType">
-        <xs:sequence>
-          <xs:element ref="xs:annotation" minOccurs="0"/>
-          <xs:group ref="xs:simpleDerivation"/>
-        </xs:sequence>
-        <xs:attribute name="name" use="required"
-             type="xs:NCName">
-          <xs:annotation>
-            <xs:documentation>
-              Required at the top level
-            </xs:documentation>
-          </xs:annotation>
-        </xs:attribute>
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="localSimpleType">
-    <xs:complexContent>
-      <xs:restriction base="xs:simpleType">
-        <xs:sequence>
-          <xs:element ref="xs:annotation" minOccurs="0"/>
-          <xs:group ref="xs:simpleDerivation"/>
-        </xs:sequence>
-        <xs:attribute name="name" use="prohibited">
-          <xs:annotation>
-            <xs:documentation>
-              Forbidden when nested
-            </xs:documentation>
-          </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="final" use="prohibited"/>
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:group name="facets">
-   <xs:annotation>
-    <xs: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.
-    </xs:documentation>
-   </xs:annotation>
-   <xs:choice>
-    <xs:element ref="xs:minExclusive"/>
-    <xs:element ref="xs:minInclusive"/>
-    <xs:element ref="xs:maxExclusive"/>
-    <xs:element ref="xs:maxInclusive"/>
-    <xs:element ref="xs:totalDigits"/>
-    <xs:element ref="xs:fractionDigits"/>
-    <xs:element ref="xs:length"/>
-    <xs:element ref="xs:minLength"/>
-    <xs:element ref="xs:maxLength"/>
-    <xs:element ref="xs:enumeration"/>
-    <xs:element ref="xs:whiteSpace"/>
-    <xs:element ref="xs:pattern"/>
-   </xs:choice>
-  </xs:group>
-
-  <xs:group name="simpleRestrictionModel">
-   <xs:sequence>
-    <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
-    <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
-   </xs:sequence>
-  </xs:group>
-
-  <xs:element name="restriction" id="restriction">
-   <xs:complexType>
-    <xs:annotation>
-      <xs: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
-        </xs:documentation>
-      </xs:annotation>
-      <xs:complexContent>
-        <xs:extension base="xs:annotated">
-         <xs:group ref="xs:simpleRestrictionModel"/>
-         <xs:attribute name="base" type="xs:QName" use="optional"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="list" id="list">
-   <xs:complexType>
-    <xs:annotation>
-      <xs: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
-        </xs:documentation>
-      </xs:annotation>
-      <xs:complexContent>
-        <xs:extension base="xs:annotated">
-          <xs:sequence>
-            <xs:element name="simpleType" type="xs:localSimpleType"
-                minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="itemType" type="xs:QName" use="optional"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="union" id="union">
-   <xs:complexType>
-    <xs:annotation>
-      <xs: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
-        </xs:documentation>
-      </xs:annotation>
-      <xs:complexContent>
-        <xs:extension base="xs:annotated">
-          <xs:sequence>
-            <xs:element name="simpleType" type="xs:localSimpleType"
-                minOccurs="0" maxOccurs="unbounded"/>
-          </xs:sequence>
-          <xs:attribute name="memberTypes" use="optional">
-            <xs:simpleType>
-              <xs:list itemType="xs:QName"/>
-            </xs:simpleType>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:complexType name="facet">
-    <xs:complexContent>
-      <xs:extension base="xs:annotated">
-        <xs:attribute name="value" use="required"/>
-        <xs:attribute name="fixed" type="xs:boolean" use="optional"
-                      default="false"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
- <xs:complexType name="noFixedFacet">
-  <xs:complexContent>
-   <xs:restriction base="xs:facet">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute name="fixed" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
-  <xs:element name="minExclusive" id="minExclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="minInclusive" id="minInclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="maxExclusive" id="maxExclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="maxInclusive" id="maxInclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:complexType name="numFacet">
-    <xs:complexContent>
-      <xs:restriction base="xs:facet">
-       <xs:sequence>
-         <xs:element ref="xs:annotation" minOccurs="0"/>
-       </xs:sequence>
-       <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:element name="totalDigits" id="totalDigits">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:restriction base="xs:numFacet">
-          <xs:sequence>
-            <xs:element ref="xs:annotation" minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="value" type="xs:positiveInteger" use="required"/>
-         <xs:anyAttribute namespace="##other" processContents="lax"/>
-        </xs:restriction>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="length" id="length" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="minLength" id="minLength" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="maxLength" id="maxLength" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="whiteSpace" id="whiteSpace">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:restriction base="xs:facet">
-          <xs:sequence>
-            <xs:element ref="xs:annotation" minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="value" use="required">
-            <xs:simpleType>
-              <xs:restriction base="xs:NMTOKEN">
-                <xs:enumeration value="preserve"/>
-                <xs:enumeration value="replace"/>
-                <xs:enumeration value="collapse"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-         <xs:anyAttribute namespace="##other" processContents="lax"/>
-        </xs:restriction>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="pattern" id="pattern">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:restriction base="xs:noFixedFacet">
-          <xs:sequence>
-            <xs:element ref="xs:annotation" minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="value" type="xs:string" use="required"/>
-         <xs:anyAttribute namespace="##other" processContents="lax"/>
-        </xs:restriction>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>
diff --git a/v1/test/cases/schema/simple/javasrc/SimplePersonTest.java b/v1/test/cases/schema/simple/javasrc/SimplePersonTest.java
deleted file mode 100644
index 7ff6c7e..0000000
--- a/v1/test/cases/schema/simple/javasrc/SimplePersonTest.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-import org.openuri.mytest.Person;
-import org.openuri.mytest.CustomerDocument;
-
-import java.util.Date;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlCursor;
-import drtcases.TestEnv;
-import junit.framework.Assert;
-
-import org.apache.xmlbeans.impl.store.Root;
-
-public class SimplePersonTest
-{
-    public static void main(String args[]) throws Exception
-    {
-        test();
-    }
-
-    public static void test() throws Exception
-    {
-        CustomerDocument doc =
-            CustomerDocument.Factory.parse(
-                TestEnv.xbeanCase("schema/simple/person.xml"), null);
-
-        // Move from the root to the root customer element
-        Person person = doc.getCustomer();
-        Assert.assertEquals("Howdy", person.getFirstname());
-        Assert.assertEquals(4,   person.sizeOfNumberArray());
-        Assert.assertEquals(436, person.getNumberArray(0));
-        Assert.assertEquals(123, person.getNumberArray(1));
-        Assert.assertEquals(44,  person.getNumberArray(2));
-        Assert.assertEquals(933, person.getNumberArray(3));
-        Assert.assertEquals(2,   person.sizeOfBirthdayArray());
-        Assert.assertEquals(new Date("Tue Aug 25 17:00:00 PDT 1998"), person.getBirthdayArray(0));
-
-        Person.Gender.Enum g = person.getGender();
-        Assert.assertEquals(Person.Gender.MALE, g);
-
-        Assert.assertEquals("EGIQTWYZJ", new String(person.getHex()));
-        Assert.assertEquals("This string is base64Binary encoded!",
-                            new String(person.getBase64()));
-
-        Assert.assertEquals("GGIQTWYGG", new String(person.getHexAtt()));
-        Assert.assertEquals("This string is base64Binary encoded!",
-                            new String(person.getBase64Att()));
-
-        person.setFirstname("George");
-        Assert.assertEquals("George", person.getFirstname());
-
-        person.setHex("hex encoding".getBytes());
-        Assert.assertEquals("hex encoding", new String(person.getHex()));
-
-        person.setBase64("base64 encoded".getBytes());
-        Assert.assertEquals("base64 encoded",
-                            new String(person.getBase64()));
-
-        //person.setHexAtt("hex encoding in attributes".getBytes());
-        //Assert.assertEquals("hex encoding in attributes",
-        //                    new String(person.getHexAtt()));
-
-        //person.setBase64Att("base64 encoded in attributes".getBytes());
-        //Assert.assertEquals("base64 encoded in attributes",
-        //                    new String(person.getBase64Att()));
-//
-//        XmlCursor cp = person.newXmlCursor();
-//        Root.dump( cp );
-
-//        XmlCursor c = person.xgetBirthdayArray(0).newXmlCursor();
-
-//        Root.dump( c );
-
-//        person.setBirthday(0,new Date("Tue Aug 25 16:00:00 PDT 2001"));
-
-//        Root.dump( c );
-
-//        c.toNextToken();
-
-//        System.out.println( "---" + c.getText() + "---" );
-
-//        Root.dump( c );
-
-//        Assert.assertEquals(person.getBirthdayArray(0), new Date("Tue Aug 25 16:00:00 PDT 2002"));
-//
-//        person.setFirstname("George");
-//        Assert.assertEquals(person.getFirstname(), "George");
-//
-//        person.addNumber( (short) 69 );
-//        Assert.assertEquals(person.countNumber(), 5);
-//        Assert.assertEquals(person.getNumberArray(4), 69);
-//
-//
-//        while ( c.hasNextToken() )
-//            c.toNextToken();
-    }
-}
diff --git a/v1/test/cases/schema/simple/person.xml b/v1/test/cases/schema/simple/person.xml
deleted file mode 100644
index 6baf35a..0000000
--- a/v1/test/cases/schema/simple/person.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<customer xmlns="http://openuri.org/mytest"
-  gender="male"
-  hexAtt="474749515457594747"
-  base64Att="        
-	VGhpcyBzdHJpbmcgaXMgYmFzZTY0QmluYXJ5IGVuY29kZWQh
-	  ">
-  <firstname>Howdy</firstname>
-  <number>436</number>
-  <number>123</number>
-  <birthday>1998-08-26Z</birthday>
-  <number>44</number>
-  <number>933</number>
-  <birthday>2000-08-06-08:00</birthday>
-  <hex>454749515457595A4A</hex>
-  <base64>VGhpcyBzdHJpbmcgaXMgYmFzZTY0QmluYXJ5IGVuY29kZWQh</base64>
-</customer>
diff --git a/v1/test/cases/schema/simple/person.xsd b/v1/test/cases/schema/simple/person.xsd
deleted file mode 100644
index c986ecb..0000000
--- a/v1/test/cases/schema/simple/person.xsd
+++ /dev/null
@@ -1,65 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:mt="http://openuri.org/mytest"
-   targetNamespace="http://openuri.org/mytest"
-   elementFormDefault="qualified"
-   attributeFormDefault="unqualified" >
-
-  <xs:complexType name="person">
-    <xs:sequence>
-      <xs:element name="firstname" type="xs:string"/>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element name="number">
-           <xs:simpleType>
-             <xs:restriction base="xs:integer">
-               <xs:minInclusive value="1"/>
-               <xs:maxInclusive value="1000"/>
-             </xs:restriction>
-           </xs:simpleType>
-        </xs:element>
-        <xs:element name="birthday" type="xs:date"/>
-      </xs:choice>
-      <xs:element name="hex" type="xs:hexBinary"/>
-      <xs:element name="base64" type="xs:base64Binary"/>
-    </xs:sequence>
-    <xs:attribute name="gender">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="male"/>
-          <xs:enumeration value="female"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="hexAtt">
-      <xs:simpleType>
-        <xs:restriction base="xs:hexBinary">
-          <xs:pattern value="([45][0-9A-F])*"/>
-       </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="base64Att">
-      <xs:simpleType>
-        <xs:restriction base="xs:base64Binary">
-          <xs:whiteSpace value="collapse"/>
-          <xs:enumeration value="VGhpcyBzdHJpbmcgaXMgYmFzZTY0QmluYXJ5IGVuY29kZWQh"/>
-       </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:complexType>
-
-  <xs:element name="customer" type="mt:person"/>
-
-  <xs:element name="employee">
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="mt:person">
-          <xs:sequence>
-            <xs:element name="eid" type="xs:int"/>
-          </xs:sequence>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>
-
diff --git a/v1/test/cases/schema/simple/simplec.xsd b/v1/test/cases/schema/simple/simplec.xsd
deleted file mode 100644
index f7076a9..0000000
--- a/v1/test/cases/schema/simple/simplec.xsd
+++ /dev/null
@@ -1,27 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:mt="http://openuri.org/mytest"
-   targetNamespace="http://openuri.org/mytest"
-   elementFormDefault="qualified"
-   attributeFormDefault="unqualified"
->
-
-  <xs:complexType name="simplicity">
-    <xs:simpleContent>
-     <xs:extension base="mt:thousand">
-       <xs:attribute name="note" type="xs:string"/>
-     </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-
-  <xs:simpleType name="thousand">
-   <xs:restriction base="xs:integer">
-     <xs:minInclusive value="1"/>
-     <xs:maxInclusive value="1000"/>
-   </xs:restriction>
-  </xs:simpleType>
-
-  <xs:element name="simple" type="mt:simplicity"/>
-
-</xs:schema>
-
diff --git a/v1/test/cases/schema/wli/003_process_po_007.xsd b/v1/test/cases/schema/wli/003_process_po_007.xsd
deleted file mode 100644
index 3689c6c..0000000
--- a/v1/test/cases/schema/wli/003_process_po_007.xsd
+++ /dev/null
@@ -1,207 +0,0 @@
-<?xml version="1.0"?>
-<!-- ====================================================
-      License information for this file is provided in LICENSE.TXT, as published
-      on the Open Applications Group web site. www.openapplications.org
-
-      For support, more information, or to report implementation bugs,
-      please contact the Open Applications Group at xml@openapplications.org
-
-    $Revision: 1.1 $
-    $Date: 2003/09/15 18:20:42 $
-    Open Applications Group XSD
-    Copyright 1998-2001, All Rights Reserved
-
-   $Name:  $
-
-cmk	6.2.0   	11/22/1999	Initial Release - update from version 003
-							Add POLNSTATUS, DATETIME.NEEDDELV to POORDERLIN
-							Fix processing note rules
-rjj	7.0.0		10/15/2000	Special Revision Update
-rjj	7.0.2		11/24/2000	Allow multiple instances of NOTES.
-mlr	7.1		04/16/2001	Add ATTCHREF to BOD.
-ajw		7.2.1			10/31/2001		W3C Schema Release 
-
-Structure Overview
-
-	PROCESS_PO (POORDERHDR, POORDERLIN+)
-		POORDERHDR (PARTNER+, ATTCHREF*, CHARGE*, POTERM*)
-			POTERM ()
-		POORDERLIN (ATTCHREF*, CHARGE*, DISTRIBUTN*, PARTNER*, POTERM*, 
-		  POBSUBLINE*, POLINESCHD*)
-			POTERM ()
-			POSUBLINE ()
-			POLINESCHD ()
-
-Notes:
-
--->
-<xs:schema targetNamespace="http://www.openapplications.org/003_process_po_007" xmlns:os="http://www.openapplications.org/oagis_segments" xmlns:of="http://www.openapplications.org/oagis_fields" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.openapplications.org/003_process_po_007">
-	<xs:import namespace="http://www.openapplications.org/oagis_segments" schemaLocation="oagis_segments.xsd"/>
-	<xs:import namespace="http://www.openapplications.org/oagis_fields" schemaLocation="oagis_fields.xsd"/>
-	<xs:element name="PROCESS_PO_007">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:CNTROLAREA"/>
-				<xs:element ref="DATAAREA" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="DATAAREA">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="PROCESS_PO"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="PROCESS_PO">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="POORDERHDR"/>
-				<xs:element ref="POORDERLIN" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="POORDERHDR">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:DATETIMEANY" minOccurs="0"/>
-				<xs:element ref="os:OPERAMT" minOccurs="0"/>
-				<xs:element ref="of:POID"/>
-				<xs:element ref="of:POTYPE"/>
-				<xs:element ref="of:ACKREQUEST" minOccurs="0"/>
-				<xs:element ref="of:CONTRACTB" minOccurs="0"/>
-				<xs:element ref="of:CONTRACTS" minOccurs="0"/>
-				<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-				<xs:element ref="of:NOTES" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="of:OPRAMTAUTH" minOccurs="0"/>
-				<xs:element ref="of:PORELEASE" minOccurs="0"/>
-				<xs:element ref="of:TAXWHEXMPT" minOccurs="0"/>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<xs:element ref="os:PARTNER" maxOccurs="unbounded"/>
-				<xs:element ref="os:ATTCHREF" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="os:CHARGE" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="POTERM" minOccurs="0" maxOccurs="unbounded"/>
-				<!-- (%DATETIME.DOCUMENT;)? -->
-				<!-- (%OPERAMT.EXTENDED.T;)? -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="POTERM">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-				<xs:element ref="of:TERMID" minOccurs="0"/>
-				<xs:choice>
-					<xs:sequence>
-						<xs:element ref="of:DAYOFMONTH"/>
-						<xs:element ref="of:PROXMONTH"/>
-					</xs:sequence>
-					<xs:element ref="of:DAYSNUM"/>
-				</xs:choice>
-				<xs:choice>
-					<xs:element ref="os:OPERAMT"/>
-					<xs:element ref="os:QUANTITY"/>
-					<!-- (%OPERAMT.EXTENDED.T;)? -->
-					<!-- (%QUANTITY.PERCENT;) -->
-				</xs:choice>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<!-- ((DAYOFMONTH, PROXMONTH) | DAYSNUM), ((%OPERAMT.EXTENDED.T;) | (%QUANTITY.PERCENT;)) -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="POORDERLIN">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:QUANTITY"/>
-				<xs:element ref="os:DATETIMEANY" minOccurs="0"/>
-				<xs:element ref="os:OPERAMT" minOccurs="0"/>
-				<xs:element ref="of:POLINENUM"/>
-				<xs:element ref="of:DRAWING" minOccurs="0"/>
-				<xs:element ref="of:HAZRDMATL" minOccurs="0"/>
-				<xs:element ref="of:ITEMRV" minOccurs="0"/>
-				<xs:element ref="of:ITEMRVX" minOccurs="0"/>
-				<xs:element ref="of:NOTES" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="of:PACKING" minOccurs="0"/>
-				<xs:element ref="of:POLNSTATUS" minOccurs="0"/>
-				<xs:element ref="of:TAXWHEXMPT" minOccurs="0"/>
-				<xs:choice>
-					<xs:sequence>
-						<xs:element ref="of:DESCRIPTN"/>
-						<xs:element ref="of:ITEM" minOccurs="0"/>
-						<xs:element ref="of:ITEMX" minOccurs="0"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:ITEM"/>
-						<xs:element ref="of:ITEMX" minOccurs="0"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:ITEMX"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:UPC"/>
-					</xs:sequence>
-				</xs:choice>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<xs:element ref="os:ATTCHREF" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="os:CHARGE" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="os:DISTRIBUTN" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="os:PARTNER" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="POTERM" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="POSUBLINE" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="POLINESCHD" minOccurs="0" maxOccurs="unbounded"/>
-				<!-- (%QUANTITY.PERCENT;)) -->
-				<!-- (%DATETIME.NEEDDELV;)? -->
-				<!-- (%OPERAMT.UNIT.T;)? -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="POSUBLINE">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:QUANTITY"/>
-				<xs:element ref="of:DRAWING" minOccurs="0"/>
-				<xs:element ref="of:ITEMRV" minOccurs="0"/>
-				<xs:element ref="of:ITEMRVX" minOccurs="0"/>
-				<xs:element ref="of:PSBLINENUM" minOccurs="0"/>
-				<xs:choice>
-					<xs:sequence>
-						<xs:element ref="of:DESCRIPTN"/>
-						<xs:element ref="of:ITEM" minOccurs="0"/>
-						<xs:element ref="of:ITEMX" minOccurs="0"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:ITEM"/>
-						<xs:element ref="of:ITEMX" minOccurs="0"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:ITEMX"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:UPC"/>
-					</xs:sequence>
-				</xs:choice>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<!-- (%QUANTITY.ITEM;) -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="POLINESCHD">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:DATETIMEANY" minOccurs="0"/>
-				<xs:element ref="os:QUANTITY"/>
-				<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-				<xs:element ref="of:PSCLINENUM" minOccurs="0"/>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<!-- (%DATETIME.NEEDDELV;) -->
-				<!-- (%QUANTITY.ORDERED;) -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-</xs:schema>
diff --git a/v1/test/cases/schema/wli/004_acknowledge_po_008.xsd b/v1/test/cases/schema/wli/004_acknowledge_po_008.xsd
deleted file mode 100644
index 5e5bc9b..0000000
--- a/v1/test/cases/schema/wli/004_acknowledge_po_008.xsd
+++ /dev/null
@@ -1,247 +0,0 @@
-<?xml version="1.0"?>
-<!-- ====================================================
-	License information for this file is provided in LICENSE.TXT, as published
-	on the Open Applications Group web site. www.openapplications.org
-	
-	For support, more information, or to report implementation bugs,
-	please contact the Open Applications Group at xml@openapplications.org
-	
-	$Revision: 1.1 $
-	$Date: 2003/09/15 18:20:42 $
-	Open Applications Group XSD
-	Copyright 1998-2001, All Rights Reserved
-	
-	$Name:  $
-
-	cmk	6.2.0   	11/22/1999	Initial Release - Update from version 003
-								Add POLNSTATUS, DATETIME.NEEDDELV to POORDERLIN
-								Fix processing note rules
-	rjj	7.0.0	10/15/2000	Special Revision Update
-	rjj	7.0.2	11/24/2000	Allow multiple instances of NOTES.
-	mlr	7.1		04/16/2001	Add ATTCHREF to BOD.
-	ajw 7.2		09/30/2001 	Made ACKLINE segment '0 to many' times
-	ajw	7.2.1	09/01/00	W3C Schema Release
-
-    Structure Overview
-
-    ACKNOWLEDGE_PO (POORDERHDR, POORDERLIN*)
-        POORDERHDR (ACKHEADER, ATTCHREF*, CHARGE*, PARTNER*, POTERM*)
-            ACKHEADER ()
-            POTERM ()
-        POORDERLIN (ACKLINE*, ATTCHREF*, CHARGE*, DISTRIBUTN*, PARTNER*,
-            POLINESCHD*, POSUBLINE*, POTERM*)
-            ACKLINE ()
-            PARTNER ()
-            POLINESCHD ()
-            POSUBLINE ()
-            POTERM ()
-
-Notes:
-
--->
-<xs:schema targetNamespace="http://www.openapplications.org/004_acknowledge_po_008" xmlns="http://www.openapplications.org/004_acknowledge_po_008" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:of="http://www.openapplications.org/oagis_fields" xmlns:os="http://www.openapplications.org/oagis_segments">
-	<xs:import namespace="http://www.openapplications.org/oagis_segments" schemaLocation="oagis_segments.xsd"/>
-	<xs:import namespace="http://www.openapplications.org/oagis_fields" schemaLocation="oagis_fields.xsd"/>
-	<xs:element name="ACKNOWLEDGE_PO_008">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:CNTROLAREA"/>
-				<xs:element ref="DATAAREA" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="DATAAREA">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="ACKNOWLEDGE_PO"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ACKNOWLEDGE_PO">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="POORDERHDR"/>
-				<xs:element ref="POORDERLIN" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="POORDERHDR">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:DATETIMEANY" minOccurs="0"/>
-				<xs:element ref="os:OPERAMT" minOccurs="0"/>
-				<xs:element ref="of:POID"/>
-				<xs:element ref="of:POTYPE"/>
-				<xs:element ref="of:ACKREQUEST" minOccurs="0"/>
-				<xs:element ref="of:CONTRACTB" minOccurs="0"/>
-				<xs:element ref="of:CONTRACTS" minOccurs="0"/>
-				<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-				<xs:element ref="of:NOTES" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="of:OPRAMTAUTH" minOccurs="0"/>
-				<xs:element ref="of:PORELEASE" minOccurs="0"/>
-				<xs:element ref="of:TAXWHEXMPT" minOccurs="0"/>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<xs:element ref="ACKHEADER"/>
-				<xs:element ref="os:ATTCHREF" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="os:CHARGE" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="os:PARTNER" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="POTERM" minOccurs="0" maxOccurs="unbounded"/>
-				<!-- (%DATETIME.DOCUMENT;)? -->
-				<!-- (%OPERAMT.EXTENDED.T;)? -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ACKHEADER">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:SENDER"/>
-				<xs:element ref="os:DATETIMEANY" minOccurs="0"/>
-				<xs:element ref="os:DATETIMEANY" minOccurs="0"/>
-				<xs:element ref="of:ACKCODE"/>
-				<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-				<xs:element ref="of:NOTES" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="of:SALESORDID" minOccurs="0"/>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<!-- (%DATETIME.PROMDELV;)? -->
-				<!-- (%DATETIME.PROMSHIP;)? -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="POTERM">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-				<xs:element ref="of:TERMID" minOccurs="0"/>
-				<xs:choice>
-					<xs:sequence>
-						<xs:element ref="of:DAYOFMONTH"/>
-						<xs:element ref="of:PROXMONTH"/>
-					</xs:sequence>
-					<xs:element ref="of:DAYSNUM"/>
-				</xs:choice>
-				<xs:choice>
-					<xs:sequence>
-						<xs:element ref="os:OPERAMT"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="os:QUANTITY"/>
-					</xs:sequence>
-				</xs:choice>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<!-- ((DAYOFMONTH, PROXMONTH) | DAYSNUM), ((%OPERAMT.EXTENDED.T;) | (%QUANTITY.PERCENT;)) -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="POORDERLIN">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:QUANTITY"/>
-				<xs:element ref="os:DATETIMEANY" minOccurs="0"/>
-				<xs:element ref="os:OPERAMT" minOccurs="0"/>
-				<xs:element ref="of:POLINENUM"/>
-				<xs:element ref="of:DRAWING" minOccurs="0"/>
-				<xs:element ref="of:HAZRDMATL" minOccurs="0"/>
-				<xs:element ref="of:ITEMRV" minOccurs="0"/>
-				<xs:element ref="of:ITEMRVX" minOccurs="0"/>
-				<xs:element ref="of:NOTES" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="of:PACKING" minOccurs="0"/>
-				<xs:element ref="of:POLNSTATUS" minOccurs="0"/>
-				<xs:element ref="of:TAXWHEXMPT" minOccurs="0"/>
-				<xs:choice>
-					<xs:sequence>
-						<xs:element ref="of:DESCRIPTN"/>
-						<xs:element ref="of:ITEM" minOccurs="0"/>
-						<xs:element ref="of:ITEMX" minOccurs="0"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:ITEM"/>
-						<xs:element ref="of:ITEMX" minOccurs="0"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:ITEMX"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:UPC"/>
-					</xs:sequence>
-				</xs:choice>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<xs:element ref="ACKLINE" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="os:ATTCHREF" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="os:CHARGE" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="os:DISTRIBUTN" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="os:PARTNER" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="POTERM" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="POSUBLINE" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="POLINESCHD" minOccurs="0" maxOccurs="unbounded"/>
-				<!-- (%QUANTITY.PERCENT;)) -->
-				<!-- (%DATETIME.NEEDDELV;)? -->
-				<!-- (%OPERAMT.UNIT.T;)? -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ACKLINE">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:DATETIMEANY" minOccurs="0"/>
-				<xs:element ref="os:DATETIMEANY" minOccurs="0"/>
-				<xs:element ref="os:QUANTITY" minOccurs="0"/>
-				<xs:element ref="of:ACKCODE"/>
-				<xs:element ref="of:NOTES" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="of:SALESORDID" minOccurs="0"/>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<!-- (%DATETIME.PROMDELV;)? -->
-				<!-- (%DATETIME.PROMSHIP;)? -->
-				<!-- (%QUANTITY.ORDERED;)? -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="POSUBLINE">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:QUANTITY"/>
-				<xs:element ref="of:DRAWING" minOccurs="0"/>
-				<xs:element ref="of:ITEMRV" minOccurs="0"/>
-				<xs:element ref="of:ITEMRVX" minOccurs="0"/>
-				<xs:element ref="of:PSBLINENUM" minOccurs="0"/>
-				<xs:choice>
-					<xs:sequence>
-						<xs:element ref="of:DESCRIPTN"/>
-						<xs:element ref="of:ITEM" minOccurs="0"/>
-						<xs:element ref="of:ITEMX" minOccurs="0"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:ITEM"/>
-						<xs:element ref="of:ITEMX" minOccurs="0"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:ITEMX"/>
-						<xs:element ref="of:UPC" minOccurs="0"/>
-					</xs:sequence>
-					<xs:sequence>
-						<xs:element ref="of:UPC"/>
-					</xs:sequence>
-				</xs:choice>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<!-- (%QUANTITY.ITEM;) -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="POLINESCHD">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="os:DATETIMEANY" minOccurs="0"/>
-				<xs:element ref="os:QUANTITY"/>
-				<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-				<xs:element ref="of:PSCLINENUM" minOccurs="0"/>
-				<xs:element ref="of:USERAREA" minOccurs="0"/>
-				<!-- (%DATETIME.NEEDDELV;) -->
-				<!-- (%QUANTITY.ORDERED;) -->
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-</xs:schema>
diff --git a/v1/test/cases/schema/wli/Order.xsd b/v1/test/cases/schema/wli/Order.xsd
deleted file mode 100644
index e9ddd4f..0000000
--- a/v1/test/cases/schema/wli/Order.xsd
+++ /dev/null
@@ -1,20258 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="publicid:org.xCBL:schemas/XCBL35/Order.xsd" targetNamespace="publicid:org.xCBL:schemas/XCBL35/Order.xsd" elementFormDefault="qualified">
-    <xsd:annotation>
-        <xsd:documentation xml:lang="en">
-            XML Common Business Library 3.5
-            Copyright 2000 Commerce One, Inc.
-            Permission is granted to use, copy, modify and distribute the
-            DTD's, schemas and modules in the Commerce One XML Common Business
-            Library Version 3.5 subject to the terms and conditions specified
-            at http://www.xcbl.org/license.html
-        </xsd:documentation>
-        <xsd:documentation>
-        	PLEASE NOTE: This schema, whilst it describes in entirety a valid, single,
-        	xCBL 3.5 document, is defined to be in a namespace other than the main xCBL 3.5
-        	namespace. Therefore it is recommended that the full xCBL 3.5 schema is used
-        	for full production situations. Please see the notes at
-        	<a href="http://www.xcbl.org/xcbl35/xsd/schemas.html">www.xCBL.org</a>.
-        </xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexType name="Order">
-        <xsd:sequence>
-            <xsd:element ref="OrderHeader"/>
-            <xsd:element minOccurs="0" ref="OrderDetail"/>
-            <xsd:element minOccurs="0" ref="OrderSummary"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Order" type="Order"/>
-    <xsd:complexType name="OrderHeader">
-        <xsd:sequence>
-            <xsd:element ref="OrderNumber"/>
-            <xsd:element name="OrderIssueDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" ref="OrderReferences"/>
-            <xsd:element minOccurs="0" name="ReleaseNumber" type="xsd:string"/>
-            <xsd:element ref="Purpose"/>
-            <xsd:element minOccurs="0" ref="RequestedResponse"/>
-            <xsd:element minOccurs="0" ref="OrderType"/>
-            <xsd:element name="OrderCurrency">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Currency"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="TaxAccountingCurrency">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Currency"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="OrderLanguage">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Language"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OrderTaxReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="TaxReference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OrderInvoiceMediumTypeCoded" type="OrderInvoiceMediumTypeCode"/>
-            <xsd:element minOccurs="0" name="OrderInvoiceMediumTypeCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="OrderDates"/>
-            <xsd:element minOccurs="0" name="PartialShipmentAllowed" type="xcblBoolean"/>
-            <xsd:element ref="OrderParty"/>
-            <xsd:element minOccurs="0" name="PartLocation" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfTransport"/>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="OrderTermsOfDelivery">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="TermsOfDelivery"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OrderHeaderPrice">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfPrice"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OrderPaymentInstructions">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="PaymentInstructions"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OrderAllowancesOrCharges">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfAllowOrCharge"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="RoundTripInformation"/>
-            <xsd:element minOccurs="0" name="OrderHeaderNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfStructuredNote"/>
-            <xsd:element minOccurs="0" ref="ListOfNameValueSet"/>
-            <xsd:element minOccurs="0" name="OrderHeaderAttachments">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfAttachment"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderHeader" type="OrderHeader"/>
-    <xsd:complexType name="OrderNumber">
-        <xsd:sequence>
-            <xsd:element name="BuyerOrderNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SellerOrderNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfMessageID"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderNumber" type="OrderNumber"/>
-    <xsd:complexType name="ListOfMessageID">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="MessageID"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfMessageID" type="ListOfMessageID"/>
-    <xsd:complexType name="MessageID">
-        <xsd:sequence>
-            <xsd:element name="IDNumber" type="xsd:string"/>
-            <xsd:element ref="IDAssignedBy"/>
-            <xsd:element minOccurs="0" name="IDAssignedDate" type="xcblDatetime"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="MessageID" type="MessageID"/>
-    <xsd:complexType name="IDAssignedBy">
-        <xsd:sequence>
-            <xsd:element name="IDAssignedByCoded" type="PartyRoleCode"/>
-            <xsd:element minOccurs="0" name="IDAssignedByCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="IDAssignedBy" type="IDAssignedBy"/>
-    <xsd:simpleType name="PartyRoleCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AcceptanceLocation"/>
-            <xsd:enumeration value="AcceptingParty"/>
-            <xsd:enumeration value="Accountant"/>
-            <xsd:enumeration value="AccountCoordinator"/>
-            <xsd:enumeration value="AccountingStation"/>
-            <xsd:enumeration value="AccountOf"/>
-            <xsd:enumeration value="AccountOfDestinationParty"/>
-            <xsd:enumeration value="AccountOf-OriginParty"/>
-            <xsd:enumeration value="AccountOwner"/>
-            <xsd:enumeration value="AccountOwnersServicingBankOnTheReceivingSide"/>
-            <xsd:enumeration value="AccountOwnersServicingBankOnTheSendingSide"/>
-            <xsd:enumeration value="AccountServicingFinancialInstitution"/>
-            <xsd:enumeration value="AccountsPayableOffice"/>
-            <xsd:enumeration value="AcknowledgementRecipient"/>
-            <xsd:enumeration value="Acronym"/>
-            <xsd:enumeration value="ActionParty"/>
-            <xsd:enumeration value="ActualPurchasersCustomer"/>
-            <xsd:enumeration value="ActualReferredByOrganization"/>
-            <xsd:enumeration value="ActualReferredToOrganization"/>
-            <xsd:enumeration value="AcuteCareHospital"/>
-            <xsd:enumeration value="AdditionalAddress"/>
-            <xsd:enumeration value="AdditionalDebtor"/>
-            <xsd:enumeration value="AdditionalDeliveryAddress"/>
-            <xsd:enumeration value="AdditionalPickUpAddress"/>
-            <xsd:enumeration value="Adjuster"/>
-            <xsd:enumeration value="AdministrationCentre"/>
-            <xsd:enumeration value="Administrator"/>
-            <xsd:enumeration value="AdmittingHealthCareProvider"/>
-            <xsd:enumeration value="AdmittingServices"/>
-            <xsd:enumeration value="AdmittingSurgeon"/>
-            <xsd:enumeration value="AdultDayCareProgramFacility"/>
-            <xsd:enumeration value="Advertiser"/>
-            <xsd:enumeration value="AdvertisingGroup"/>
-            <xsd:enumeration value="AdviseThroughBank"/>
-            <xsd:enumeration value="AdvisingBank"/>
-            <xsd:enumeration value="Advisor"/>
-            <xsd:enumeration value="Affiant"/>
-            <xsd:enumeration value="Affiliate"/>
-            <xsd:enumeration value="AffiliatedCompany"/>
-            <xsd:enumeration value="AffiliatedParty"/>
-            <xsd:enumeration value="Agency"/>
-            <xsd:enumeration value="AgencyGrantingSecurityClearance"/>
-            <xsd:enumeration value="AgentOrRepresentative"/>
-            <xsd:enumeration value="AgentsBank"/>
-            <xsd:enumeration value="AIDSOrARCUnit"/>
-            <xsd:enumeration value="AirAmbulanceServices"/>
-            <xsd:enumeration value="AirCargoCompany"/>
-            <xsd:enumeration value="AirForceFacility"/>
-            <xsd:enumeration value="Airline"/>
-            <xsd:enumeration value="AirportAuthority"/>
-            <xsd:enumeration value="AlcoholBeverageDepartment"/>
-            <xsd:enumeration value="AlcoholismAndOtherChemicalDependencyFacility"/>
-            <xsd:enumeration value="AlcoholOrDrugAbuseOrDependencyInpatientUnit"/>
-            <xsd:enumeration value="AlcoholOrDrugAbuseOrDependencyOutpatientServices"/>
-            <xsd:enumeration value="Alias"/>
-            <xsd:enumeration value="AlienAffiliate"/>
-            <xsd:enumeration value="AllegedDebtor"/>
-            <xsd:enumeration value="Alliance"/>
-            <xsd:enumeration value="AlliedHealthProfessional"/>
-            <xsd:enumeration value="AllotmentCustomer"/>
-            <xsd:enumeration value="AllowableRecipient"/>
-            <xsd:enumeration value="AlternateReturnAddress"/>
-            <xsd:enumeration value="AlternativeAddressee"/>
-            <xsd:enumeration value="AlternativeManufacturer"/>
-            <xsd:enumeration value="AlzheimersDiagnosticOrAssessmentServices"/>
-            <xsd:enumeration value="AmendedName"/>
-            <xsd:enumeration value="AmericanIndian-OwnedBusiness"/>
-            <xsd:enumeration value="AmicusCuriae"/>
-            <xsd:enumeration value="AnesthesiologyServices"/>
-            <xsd:enumeration value="AngioplastyFacility"/>
-            <xsd:enumeration value="AnimalBeingInvestigated"/>
-            <xsd:enumeration value="AnimalSource"/>
-            <xsd:enumeration value="Annuitant"/>
-            <xsd:enumeration value="AnnuitantPayor"/>
-            <xsd:enumeration value="AntennaSite"/>
-            <xsd:enumeration value="Appellant"/>
-            <xsd:enumeration value="Appellee"/>
-            <xsd:enumeration value="Applicant"/>
-            <xsd:enumeration value="ApplicantComaker"/>
-            <xsd:enumeration value="ApplicantForJob"/>
-            <xsd:enumeration value="ApplicantsBank"/>
-            <xsd:enumeration value="ApplicantsCosigner"/>
-            <xsd:enumeration value="ApplicantsEmployer"/>
-            <xsd:enumeration value="ApplicantsReference"/>
-            <xsd:enumeration value="ApplicationParty"/>
-            <xsd:enumeration value="AppraisalCompany"/>
-            <xsd:enumeration value="AppraiserName"/>
-            <xsd:enumeration value="ApprovedConsignor"/>
-            <xsd:enumeration value="ApprovedImporter"/>
-            <xsd:enumeration value="Approver"/>
-            <xsd:enumeration value="Arbitrator"/>
-            <xsd:enumeration value="Architect"/>
-            <xsd:enumeration value="Architect-Designer"/>
-            <xsd:enumeration value="AreaOfOperation"/>
-            <xsd:enumeration value="ArmedServicesLocationDesignation"/>
-            <xsd:enumeration value="ArmyFacility"/>
-            <xsd:enumeration value="ArrestingOfficer"/>
-            <xsd:enumeration value="ArthritisTreatmentCenter"/>
-            <xsd:enumeration value="AssetAccountHolder"/>
-            <xsd:enumeration value="Assignee"/>
-            <xsd:enumeration value="Assigner"/>
-            <xsd:enumeration value="Assignor"/>
-            <xsd:enumeration value="AssistantSurgeon"/>
-            <xsd:enumeration value="AssistantUSTrustee"/>
-            <xsd:enumeration value="AssociateGeneralAgent"/>
-            <xsd:enumeration value="Association"/>
-            <xsd:enumeration value="AttendingPhysician"/>
-            <xsd:enumeration value="Attorney"/>
-            <xsd:enumeration value="AttorneyForDefendantPrivate"/>
-            <xsd:enumeration value="AttorneyForDefendantPublic"/>
-            <xsd:enumeration value="AttorneyForPlaintiff"/>
-            <xsd:enumeration value="AttorneyOfRecord"/>
-            <xsd:enumeration value="Auctioneer"/>
-            <xsd:enumeration value="AuditOffice"/>
-            <xsd:enumeration value="Auditor"/>
-            <xsd:enumeration value="AuthenticatingParty"/>
-            <xsd:enumeration value="Author"/>
-            <xsd:enumeration value="AuthorityForShipment"/>
-            <xsd:enumeration value="AuthorizationAssignedBy"/>
-            <xsd:enumeration value="AuthorizedAcceptingOfficial"/>
-            <xsd:enumeration value="AuthorizedEntity"/>
-            <xsd:enumeration value="AuthorizedExporter"/>
-            <xsd:enumeration value="AuthorizedFrom"/>
-            <xsd:enumeration value="AuthorizedImporter"/>
-            <xsd:enumeration value="AuthorizedMarketer"/>
-            <xsd:enumeration value="AuthorizedOfficial"/>
-            <xsd:enumeration value="AuthorizedTo"/>
-            <xsd:enumeration value="AuthorizedTrader"/>
-            <xsd:enumeration value="AuthorizingOfficial"/>
-            <xsd:enumeration value="AutomatedDataProcessingPoint"/>
-            <xsd:enumeration value="AutomatedUnderwritingSystem"/>
-            <xsd:enumeration value="AvailableWithBank"/>
-            <xsd:enumeration value="AvailabilityShipToParty"/>
-            <xsd:enumeration value="Bailiff"/>
-            <xsd:enumeration value="BailmentWarehouse"/>
-            <xsd:enumeration value="BailPayor"/>
-            <xsd:enumeration value="BakeryDepartment"/>
-            <xsd:enumeration value="Bank"/>
-            <xsd:enumeration value="Banker"/>
-            <xsd:enumeration value="BankruptcyReferee"/>
-            <xsd:enumeration value="BankruptcyTrustee"/>
-            <xsd:enumeration value="BaseJurisdiction"/>
-            <xsd:enumeration value="BasePeriodEmployer"/>
-            <xsd:enumeration value="Battery"/>
-            <xsd:enumeration value="BeneficialOwner"/>
-            <xsd:enumeration value="Beneficiary"/>
-            <xsd:enumeration value="BeneficiarysBank"/>
-            <xsd:enumeration value="Bidder"/>
-            <xsd:enumeration value="BidOpeningLocation"/>
-            <xsd:enumeration value="BillAndShipTo"/>
-            <xsd:enumeration value="BilledFrom"/>
-            <xsd:enumeration value="BillingProvider"/>
-            <xsd:enumeration value="BillingService"/>
-            <xsd:enumeration value="BillOfLadingRecipient"/>
-            <xsd:enumeration value="BillTo"/>
-            <xsd:enumeration value="Bill-ToPartyForDiversionCharges"/>
-            <xsd:enumeration value="BirthingRoomOrLDRPRoom"/>
-            <xsd:enumeration value="BirthName"/>
-            <xsd:enumeration value="Birthplace"/>
-            <xsd:enumeration value="BloodBank"/>
-            <xsd:enumeration value="BoardOfRealtors"/>
-            <xsd:enumeration value="BobtailServicePoint"/>
-            <xsd:enumeration value="Bondsman"/>
-            <xsd:enumeration value="BookingAgent"/>
-            <xsd:enumeration value="BookingOffice"/>
-            <xsd:enumeration value="Bookkeeper"/>
-            <xsd:enumeration value="BorderCrossing"/>
-            <xsd:enumeration value="Borrower"/>
-            <xsd:enumeration value="BorrowersEmployer"/>
-            <xsd:enumeration value="Bottler"/>
-            <xsd:enumeration value="Brakeman"/>
-            <xsd:enumeration value="Branch"/>
-            <xsd:enumeration value="BrandName"/>
-            <xsd:enumeration value="BreakBulkBerthOperator"/>
-            <xsd:enumeration value="BreakBulkPoint"/>
-            <xsd:enumeration value="Broadcaster"/>
-            <xsd:enumeration value="Broker"/>
-            <xsd:enumeration value="BrokerDealer"/>
-            <xsd:enumeration value="BrokerOpinionOrAnalysisRequester"/>
-            <xsd:enumeration value="BrokerOrSalesOffice"/>
-            <xsd:enumeration value="BrokersAssistant"/>
-            <xsd:enumeration value="BuilderName"/>
-            <xsd:enumeration value="BuildingInspectorate"/>
-            <xsd:enumeration value="BuildingSiteEngineer"/>
-            <xsd:enumeration value="BuildingSiteForwarder"/>
-            <xsd:enumeration value="BuildingSitePurchaser"/>
-            <xsd:enumeration value="BureauOfLandManagementPropertyUnit"/>
-            <xsd:enumeration value="BurnCareUnit"/>
-            <xsd:enumeration value="Business"/>
-            <xsd:enumeration value="BusinessArea"/>
-            <xsd:enumeration value="BusinessAssociate"/>
-            <xsd:enumeration value="BusinessEntity"/>
-            <xsd:enumeration value="BusinessPartner"/>
-            <xsd:enumeration value="Buyer"/>
-            <xsd:enumeration value="BuyerAsOfficiallyRegistered"/>
-            <xsd:enumeration value="BuyersAgentOrRepresentative"/>
-            <xsd:enumeration value="BuyersBank"/>
-            <xsd:enumeration value="BuyersCorporateOffice"/>
-            <xsd:enumeration value="BuyersFinancialInstitution"/>
-            <xsd:enumeration value="BuyersParentCompany"/>
-            <xsd:enumeration value="BuyersQualityReviewBoard"/>
-            <xsd:enumeration value="BuyingGroup"/>
-            <xsd:enumeration value="BuyingParty"/>
-            <xsd:enumeration value="CanadianCustomsBroker"/>
-            <xsd:enumeration value="Candidate"/>
-            <xsd:enumeration value="CandyAndConfectionsDepartment"/>
-            <xsd:enumeration value="CardiacCatherizationLaboratory"/>
-            <xsd:enumeration value="CardiacIntensiveCareUnit"/>
-            <xsd:enumeration value="CardiacRehabilitationProgramFacility"/>
-            <xsd:enumeration value="CardiacRehabilitationServices"/>
-            <xsd:enumeration value="CarnetIssuer"/>
-            <xsd:enumeration value="Carrier"/>
-            <xsd:enumeration value="CarriersAgent"/>
-            <xsd:enumeration value="CaseManager"/>
-            <xsd:enumeration value="CaseOfNeedParty"/>
-            <xsd:enumeration value="CashPoolLevelAccountServicingFinancialInstitution"/>
-            <xsd:enumeration value="CashPoolSub-AccountServicingFinancialInstitution"/>
-            <xsd:enumeration value="CashPoolTopAccountServicingFinancialInstitution"/>
-            <xsd:enumeration value="CedingCompany"/>
-            <xsd:enumeration value="CentralBankOrRegulatoryAuthority"/>
-            <xsd:enumeration value="CentralCatalogueParty"/>
-            <xsd:enumeration value="CertifiedAccountant"/>
-            <xsd:enumeration value="CertifyingParty"/>
-            <xsd:enumeration value="Chairperson"/>
-            <xsd:enumeration value="ChamberOfCommerce"/>
-            <xsd:enumeration value="ChangedAddress"/>
-            <xsd:enumeration value="ChargesPayerAtDestination"/>
-            <xsd:enumeration value="Charity"/>
-            <xsd:enumeration value="CharterSchool"/>
-            <xsd:enumeration value="ChassisProvider"/>
-            <xsd:enumeration value="CheckingParty"/>
-            <xsd:enumeration value="ChequeDrawnBank"/>
-            <xsd:enumeration value="ChequeOrder"/>
-            <xsd:enumeration value="ChiefDeputyClerkOfCourt"/>
-            <xsd:enumeration value="Child"/>
-            <xsd:enumeration value="ChildrensChronicDiseaseFacility"/>
-            <xsd:enumeration value="ChildrensDayCareCenter"/>
-            <xsd:enumeration value="ChildrensEyeEarNoseAndThroatFacility"/>
-            <xsd:enumeration value="ChildrensGeneralFacility"/>
-            <xsd:enumeration value="ChildrensHospitalUnitOfAnInstitution"/>
-            <xsd:enumeration value="ChildrensOrthopedicFacility"/>
-            <xsd:enumeration value="ChildrensOtherSpecialtyFacility"/>
-            <xsd:enumeration value="ChildrensPsychiatricFacility"/>
-            <xsd:enumeration value="ChildrensRehabilitationFacility"/>
-            <xsd:enumeration value="ChildrensTuberculosisAndOtherRespiratoryDiseasesFacility"/>
-            <xsd:enumeration value="Chiropractor"/>
-            <xsd:enumeration value="ChronicDiseaseFacility"/>
-            <xsd:enumeration value="ChronicObstructivePulmonaryDiseaseServiceFacility"/>
-            <xsd:enumeration value="ChurchOperatedFacility"/>
-            <xsd:enumeration value="CigarettesAndTobaccoDepartment"/>
-            <xsd:enumeration value="CircuitLocationIdentifier"/>
-            <xsd:enumeration value="City"/>
-            <xsd:enumeration value="ClaimAdministrator"/>
-            <xsd:enumeration value="Claimant"/>
-            <xsd:enumeration value="ClaimantAuthorizedRepresentative"/>
-            <xsd:enumeration value="ClaimRecipient"/>
-            <xsd:enumeration value="ClearingHouse"/>
-            <xsd:enumeration value="Clerk"/>
-            <xsd:enumeration value="ClerkOfCourt"/>
-            <xsd:enumeration value="Clinic"/>
-            <xsd:enumeration value="ClosedDoorPharmacy"/>
-            <xsd:enumeration value="ClosedSale"/>
-            <xsd:enumeration value="ClosingAgent"/>
-            <xsd:enumeration value="CoatingOrPaintSupplier"/>
-            <xsd:enumeration value="Co-Borrower"/>
-            <xsd:enumeration value="Co-Contractor"/>
-            <xsd:enumeration value="Co-Counsel"/>
-            <xsd:enumeration value="Co-Debtor"/>
-            <xsd:enumeration value="Co-Defendant"/>
-            <xsd:enumeration value="Co-Driver"/>
-            <xsd:enumeration value="Co-Investigator"/>
-            <xsd:enumeration value="CollateralAssignee"/>
-            <xsd:enumeration value="CollectingBank"/>
-            <xsd:enumeration value="CollectionPrincipal"/>
-            <xsd:enumeration value="CommercialInsurer"/>
-            <xsd:enumeration value="CommissionableAgent"/>
-            <xsd:enumeration value="CommissionProcessor"/>
-            <xsd:enumeration value="CommunityAgent"/>
-            <xsd:enumeration value="CommunityHealthPromotionFacility"/>
-            <xsd:enumeration value="CompanyAssignedWell"/>
-            <xsd:enumeration value="CompanyInterviewerWorksFor"/>
-            <xsd:enumeration value="CompanyInWhichInterestHeld"/>
-            <xsd:enumeration value="CompanyMergedWith"/>
-            <xsd:enumeration value="Company-OwnedOilField"/>
-            <xsd:enumeration value="CompanyWhichHoldsFinancialInterest"/>
-            <xsd:enumeration value="ComparableProperty"/>
-            <xsd:enumeration value="ComparablePropertyListing"/>
-            <xsd:enumeration value="ComparableRentals"/>
-            <xsd:enumeration value="CompetingProperty"/>
-            <xsd:enumeration value="CompetitivePropertyListing"/>
-            <xsd:enumeration value="CompilationAgency"/>
-            <xsd:enumeration value="Complainant"/>
-            <xsd:enumeration value="ComplainantsAttorney"/>
-            <xsd:enumeration value="ComponentManufacturer"/>
-            <xsd:enumeration value="ComprehensiveGeriatricAssessmentFacility"/>
-            <xsd:enumeration value="ConcurrentEmployer"/>
-            <xsd:enumeration value="Conductor"/>
-            <xsd:enumeration value="ConductorPilot"/>
-            <xsd:enumeration value="Conduit"/>
-            <xsd:enumeration value="ConnectingCarrier"/>
-            <xsd:enumeration value="Connection"/>
-            <xsd:enumeration value="Consignee"/>
-            <xsd:enumeration value="ConsigneeCourierTransferStation"/>
-            <xsd:enumeration value="ConsigneeOfVessel"/>
-            <xsd:enumeration value="ConsigneesAgent"/>
-            <xsd:enumeration value="ConsigneeToBeSpecified"/>
-            <xsd:enumeration value="Consignee-ToReceiveLargeParcelsAndFreight"/>
-            <xsd:enumeration value="Consignee-ToReceiveMailAndSmallParcels"/>
-            <xsd:enumeration value="Consignor"/>
-            <xsd:enumeration value="ConsignorCourierTransferStation"/>
-            <xsd:enumeration value="ConsignorsRepresentative"/>
-            <xsd:enumeration value="ConsolidatedDebtor"/>
-            <xsd:enumeration value="Consolidator"/>
-            <xsd:enumeration value="ConstructionContractor"/>
-            <xsd:enumeration value="ConstructionFirm"/>
-            <xsd:enumeration value="ConsultantsOffice"/>
-            <xsd:enumeration value="ConsultingPhysician"/>
-            <xsd:enumeration value="ConsumerCreditAccountCompany"/>
-            <xsd:enumeration value="ConsumerReferralContact"/>
-            <xsd:enumeration value="ConsumerServiceProvider"/>
-            <xsd:enumeration value="ConsumerServiceProviderCustomer"/>
-            <xsd:enumeration value="Contact"/>
-            <xsd:enumeration value="ContactBank1"/>
-            <xsd:enumeration value="ContactBank2"/>
-            <xsd:enumeration value="ContactOffice"/>
-            <xsd:enumeration value="ContactParty"/>
-            <xsd:enumeration value="ContactParty1"/>
-            <xsd:enumeration value="ContactParty2"/>
-            <xsd:enumeration value="ContactParty3"/>
-            <xsd:enumeration value="ContactParty4"/>
-            <xsd:enumeration value="ContactPerson"/>
-            <xsd:enumeration value="ContainerLocation"/>
-            <xsd:enumeration value="ContainerLocationParty"/>
-            <xsd:enumeration value="ContainerOperatorOrLessee"/>
-            <xsd:enumeration value="ContainerReturnCompany"/>
-            <xsd:enumeration value="ContainerSurveyAgent"/>
-            <xsd:enumeration value="ContingentAnnuitant"/>
-            <xsd:enumeration value="ContingentBeneficiary"/>
-            <xsd:enumeration value="ContingentOwner"/>
-            <xsd:enumeration value="ContractAdministrationOffice"/>
-            <xsd:enumeration value="ContractedServiceProvider"/>
-            <xsd:enumeration value="ContractHolder"/>
-            <xsd:enumeration value="ContractingOfficerRepresentative"/>
-            <xsd:enumeration value="Contractor-General"/>
-            <xsd:enumeration value="ContractOrCognizantSecurityOffice"/>
-            <xsd:enumeration value="Contractor-Lead"/>
-            <xsd:enumeration value="Contractor-Main"/>
-            <xsd:enumeration value="ContractualDeliveryMeter"/>
-            <xsd:enumeration value="ContractualReceiptMeter"/>
-            <xsd:enumeration value="ControllerQuality"/>
-            <xsd:enumeration value="Converter"/>
-            <xsd:enumeration value="ConvoyingParty"/>
-            <xsd:enumeration value="Co-Occupant"/>
-            <xsd:enumeration value="Co-Operative"/>
-            <xsd:enumeration value="CooperativeBuyingGroup"/>
-            <xsd:enumeration value="Coordinator"/>
-            <xsd:enumeration value="Co-Owner"/>
-            <xsd:enumeration value="Co-Participant"/>
-            <xsd:enumeration value="Co-Producer"/>
-            <xsd:enumeration value="CopyMessageTo"/>
-            <xsd:enumeration value="CorporateOffice"/>
-            <xsd:enumeration value="Corporation"/>
-            <xsd:enumeration value="CorporationFor-ProfitFacility"/>
-            <xsd:enumeration value="CorrectedAddress"/>
-            <xsd:enumeration value="CorrectedInsured"/>
-            <xsd:enumeration value="CorrectedName"/>
-            <xsd:enumeration value="Cosigner"/>
-            <xsd:enumeration value="CosignersEmployer"/>
-            <xsd:enumeration value="CouncilOfGovernments"/>
-            <xsd:enumeration value="CounterClaimant"/>
-            <xsd:enumeration value="Country"/>
-            <xsd:enumeration value="CountryOfDestination"/>
-            <xsd:enumeration value="CountryOfExport"/>
-            <xsd:enumeration value="CountryOfOrigin"/>
-            <xsd:enumeration value="County"/>
-            <xsd:enumeration value="Court"/>
-            <xsd:enumeration value="CourtAppointedAttorney"/>
-            <xsd:enumeration value="CreditGrantor"/>
-            <xsd:enumeration value="Creditor"/>
-            <xsd:enumeration value="CreditorsAttorney"/>
-            <xsd:enumeration value="CreditRatingAgency"/>
-            <xsd:enumeration value="CreditReportingAgency"/>
-            <xsd:enumeration value="CrewMember"/>
-            <xsd:enumeration value="CrimeVictim"/>
-            <xsd:enumeration value="CrossClaimant"/>
-            <xsd:enumeration value="Cross-TownSwitch"/>
-            <xsd:enumeration value="CTScannerUnit"/>
-            <xsd:enumeration value="CurrentEmployer-Primary"/>
-            <xsd:enumeration value="CurrentEmployer-Secondary"/>
-            <xsd:enumeration value="CurrentReceiver"/>
-            <xsd:enumeration value="CurrentSender"/>
-            <xsd:enumeration value="CustodialParent"/>
-            <xsd:enumeration value="Custodian"/>
-            <xsd:enumeration value="Customer"/>
-            <xsd:enumeration value="CustomerFOrWhomSameOrSimilarWOrkWasPerFormed"/>
-            <xsd:enumeration value="CustomerIdentificationFileCustomerIdentifier"/>
-            <xsd:enumeration value="Customs"/>
-            <xsd:enumeration value="CustomsBroker"/>
-            <xsd:enumeration value="CustomsOfficeOfClearance"/>
-            <xsd:enumeration value="DairyDepartment"/>
-            <xsd:enumeration value="DataProcessingServiceBureau"/>
-            <xsd:enumeration value="Dealer"/>
-            <xsd:enumeration value="Debtor"/>
-            <xsd:enumeration value="DebtorCompany"/>
-            <xsd:enumeration value="DebtorIndividual"/>
-            <xsd:enumeration value="Debtor-In-Possession"/>
-            <xsd:enumeration value="DebtorsAttorney"/>
-            <xsd:enumeration value="DebtPaymentAuthorisationParty"/>
-            <xsd:enumeration value="DecisionMaker"/>
-            <xsd:enumeration value="Declarant"/>
-            <xsd:enumeration value="DeclarantsAgentOrRepresentative"/>
-            <xsd:enumeration value="Deconsolidator"/>
-            <xsd:enumeration value="DefaultOrForeclosureSpecialist"/>
-            <xsd:enumeration value="Defendant"/>
-            <xsd:enumeration value="DelicatessenDepartment"/>
-            <xsd:enumeration value="DeliveryAddress"/>
-            <xsd:enumeration value="DeliveryParty"/>
-            <xsd:enumeration value="DeliveryZone"/>
-            <xsd:enumeration value="Dentist"/>
-            <xsd:enumeration value="DepartmentOfJusticeFacility"/>
-            <xsd:enumeration value="Dependent"/>
-            <xsd:enumeration value="DependentInsured"/>
-            <xsd:enumeration value="DependentName"/>
-            <xsd:enumeration value="Depositor"/>
-            <xsd:enumeration value="DesignatedHazardousWasteFacility"/>
-            <xsd:enumeration value="DesignEngineering"/>
-            <xsd:enumeration value="Designer"/>
-            <xsd:enumeration value="DespatchChargePayer"/>
-            <xsd:enumeration value="DespatchParty"/>
-            <xsd:enumeration value="DestinationCarrier"/>
-            <xsd:enumeration value="DestinationDrayman"/>
-            <xsd:enumeration value="DestinationIntermodalRamp"/>
-            <xsd:enumeration value="DestinationMailFacility"/>
-            <xsd:enumeration value="DestinationTerminal"/>
-            <xsd:enumeration value="DiagnosticRadioisotopeFacility"/>
-            <xsd:enumeration value="DialysisCenters"/>
-            <xsd:enumeration value="DifferentPremiseAddress"/>
-            <xsd:enumeration value="Director"/>
-            <xsd:enumeration value="DisabledIndividual"/>
-            <xsd:enumeration value="DisbursingOfficer"/>
-            <xsd:enumeration value="DischargePoint"/>
-            <xsd:enumeration value="DisciplinaryContact"/>
-            <xsd:enumeration value="Dispatcher"/>
-            <xsd:enumeration value="Distiller"/>
-            <xsd:enumeration value="DistributionRecipient"/>
-            <xsd:enumeration value="Distributor"/>
-            <xsd:enumeration value="DistributorBranch"/>
-            <xsd:enumeration value="District"/>
-            <xsd:enumeration value="DistrictAttorney"/>
-            <xsd:enumeration value="DistrictJustice"/>
-            <xsd:enumeration value="Division"/>
-            <xsd:enumeration value="DoctorOfOptometry"/>
-            <xsd:enumeration value="DoctorOfOsteopathy"/>
-            <xsd:enumeration value="DocumentaryCreditAccountParty"/>
-            <xsd:enumeration value="DocumentaryCreditAccountPartysBank"/>
-            <xsd:enumeration value="DocumentaryCreditApplicant"/>
-            <xsd:enumeration value="DocumentaryCreditBeneficiary"/>
-            <xsd:enumeration value="DocumentaryCreditBeneficiarysBank"/>
-            <xsd:enumeration value="DocumentaryCreditReimbursingBank"/>
-            <xsd:enumeration value="DocumentaryCreditSecondBeneficiary"/>
-            <xsd:enumeration value="DocumentCustodian"/>
-            <xsd:enumeration value="DocumentOrMessageIssuerOrSender"/>
-            <xsd:enumeration value="DocumentRecipient"/>
-            <xsd:enumeration value="DoingBusinessAs"/>
-            <xsd:enumeration value="DomesticFinancialInstitution"/>
-            <xsd:enumeration value="DownstreamFirstSupplier"/>
-            <xsd:enumeration value="DownstreamMeterLocation"/>
-            <xsd:enumeration value="DownstreamParty"/>
-            <xsd:enumeration value="Drawee"/>
-            <xsd:enumeration value="DrillingContractor"/>
-            <xsd:enumeration value="Driver"/>
-            <xsd:enumeration value="Drop-OffLocation"/>
-            <xsd:enumeration value="DryGroceryDepartment"/>
-            <xsd:enumeration value="DurableMedicalEquipmentSupplier"/>
-            <xsd:enumeration value="EconomicallyDisadvantagedIndividual"/>
-            <xsd:enumeration value="EducationalInstitution"/>
-            <xsd:enumeration value="ElectronicDataInterchangeCoordinatorPointAddress"/>
-            <xsd:enumeration value="ElectronicFiler"/>
-            <xsd:enumeration value="ElectronicRegistrationUtility"/>
-            <xsd:enumeration value="ElectronicReturnOriginator"/>
-            <xsd:enumeration value="ElementarySchool"/>
-            <xsd:enumeration value="EligiblePartyToTheContract"/>
-            <xsd:enumeration value="EligiblePartyToTheRate"/>
-            <xsd:enumeration value="EmergencyDepartment"/>
-            <xsd:enumeration value="EmergencyDepartmentSocialWorkServices"/>
-            <xsd:enumeration value="EmergencyMedicalTechnician"/>
-            <xsd:enumeration value="EmergencyProvider"/>
-            <xsd:enumeration value="EmergencyResponseUnit"/>
-            <xsd:enumeration value="EmergingSmallBusiness"/>
-            <xsd:enumeration value="Employee"/>
-            <xsd:enumeration value="EmployeeName"/>
-            <xsd:enumeration value="Employer"/>
-            <xsd:enumeration value="EmptyContainerResponsibleParty"/>
-            <xsd:enumeration value="EmptyContainerReturnAgent"/>
-            <xsd:enumeration value="EmptyEquipmentDespatchParty"/>
-            <xsd:enumeration value="EmptyEquipmentReturnParty"/>
-            <xsd:enumeration value="EndItemManufacturer"/>
-            <xsd:enumeration value="EndUser"/>
-            <xsd:enumeration value="EnergyInformationAdministration-OwnedOilField"/>
-            <xsd:enumeration value="Engineer"/>
-            <xsd:enumeration value="Engineer-Construction"/>
-            <xsd:enumeration value="Engineer-Consultant"/>
-            <xsd:enumeration value="Engineering"/>
-            <xsd:enumeration value="EngineerMeasurement"/>
-            <xsd:enumeration value="EngineerPilot"/>
-            <xsd:enumeration value="Engineer-ResidentConstruction"/>
-            <xsd:enumeration value="Enroller"/>
-            <xsd:enumeration value="EntityHoldingTheInformation"/>
-            <xsd:enumeration value="EntityInWhichAFinancialInterestIsHeld"/>
-            <xsd:enumeration value="EntityProvidingTheService"/>
-            <xsd:enumeration value="EntityResponsibleForFollow-Up"/>
-            <xsd:enumeration value="EntryPointTechnicalAssessmentGroup"/>
-            <xsd:enumeration value="EquipmentDrop-OffParty"/>
-            <xsd:enumeration value="EquipmentOwner"/>
-            <xsd:enumeration value="EquipmentRepairParty"/>
-            <xsd:enumeration value="EstablishedLocation"/>
-            <xsd:enumeration value="Estimator"/>
-            <xsd:enumeration value="EventLocation"/>
-            <xsd:enumeration value="Examiner"/>
-            <xsd:enumeration value="Exchanger"/>
-            <xsd:enumeration value="ExciseParty"/>
-            <xsd:enumeration value="ExcludedParty"/>
-            <xsd:enumeration value="ExecutiveCommitteeMember"/>
-            <xsd:enumeration value="ExecutorOfEstate"/>
-            <xsd:enumeration value="Exhibitor"/>
-            <xsd:enumeration value="ExpertWitness"/>
-            <xsd:enumeration value="Exporter"/>
-            <xsd:enumeration value="Ex-Spouse"/>
-            <xsd:enumeration value="ExtendedCareFacility"/>
-            <xsd:enumeration value="ExtracorporealShock-WaveLithotripterUnit"/>
-            <xsd:enumeration value="EyeEarNoseAndThroatFacility"/>
-            <xsd:enumeration value="Facility"/>
-            <xsd:enumeration value="Factor"/>
-            <xsd:enumeration value="Factor-Correspondent"/>
-            <xsd:enumeration value="FamilyMember"/>
-            <xsd:enumeration value="Father"/>
-            <xsd:enumeration value="FederalFacility"/>
-            <xsd:enumeration value="FederalGovernment"/>
-            <xsd:enumeration value="FederallyCharteredFacility"/>
-            <xsd:enumeration value="FederalStateCountyOrCityFacility"/>
-            <xsd:enumeration value="FellowshipInstitution"/>
-            <xsd:enumeration value="Felon"/>
-            <xsd:enumeration value="Field"/>
-            <xsd:enumeration value="FieldorBranchOffice"/>
-            <xsd:enumeration value="FilerName"/>
-            <xsd:enumeration value="FilingAddress"/>
-            <xsd:enumeration value="FilingLocation"/>
-            <xsd:enumeration value="FilingOffice"/>
-            <xsd:enumeration value="FinalCustomerOrganization"/>
-            <xsd:enumeration value="FinalMaintenanceOrganization"/>
-            <xsd:enumeration value="FinalMaintenancePeriodDesignatingOrganization"/>
-            <xsd:enumeration value="FinalMessageRecipient"/>
-            <xsd:enumeration value="FinalRecipient"/>
-            <xsd:enumeration value="FinalReferredToOrganization"/>
-            <xsd:enumeration value="FinalScheduledDestination"/>
-            <xsd:enumeration value="FinancialInstitution"/>
-            <xsd:enumeration value="FinancialPlanner"/>
-            <xsd:enumeration value="FinancialStatementRecipient"/>
-            <xsd:enumeration value="Fireman"/>
-            <xsd:enumeration value="FirstAppraiser"/>
-            <xsd:enumeration value="FirstBreakTerminal"/>
-            <xsd:enumeration value="FirstContact"/>
-            <xsd:enumeration value="FirstSupplier"/>
-            <xsd:enumeration value="FitnessCenter"/>
-            <xsd:enumeration value="FloodCertifier"/>
-            <xsd:enumeration value="FloodDeterminationProvider"/>
-            <xsd:enumeration value="FloralDepartment"/>
-            <xsd:enumeration value="FoodServiceOperator"/>
-            <xsd:enumeration value="ForeclosingLender"/>
-            <xsd:enumeration value="ForeignDisclosureInformationOffice"/>
-            <xsd:enumeration value="ForeignLanguageSynonym"/>
-            <xsd:enumeration value="ForeignOffice"/>
-            <xsd:enumeration value="ForeignRegistrationLocation"/>
-            <xsd:enumeration value="ForeignSupplier"/>
-            <xsd:enumeration value="Formation"/>
-            <xsd:enumeration value="FormerAddress"/>
-            <xsd:enumeration value="FormerlyDoingBusinessAs"/>
-            <xsd:enumeration value="FormerlyKnownAs"/>
-            <xsd:enumeration value="FormerPresident"/>
-            <xsd:enumeration value="FormerRegisteredAddress"/>
-            <xsd:enumeration value="FormerResidence"/>
-            <xsd:enumeration value="ForProfitHealthCareProvider"/>
-            <xsd:enumeration value="Forwarder"/>
-            <xsd:enumeration value="Foundation"/>
-            <xsd:enumeration value="Founder"/>
-            <xsd:enumeration value="Franchisee"/>
-            <xsd:enumeration value="Franchisor"/>
-            <xsd:enumeration value="FreeonBoardPoint"/>
-            <xsd:enumeration value="FreightForwarder"/>
-            <xsd:enumeration value="FreightManagementFacilitator"/>
-            <xsd:enumeration value="FreightOrChargesPayer"/>
-            <xsd:enumeration value="FreightPayerOnBehalfOfTheConsignee"/>
-            <xsd:enumeration value="FreightPayerOnBehalfOfTheConsignor"/>
-            <xsd:enumeration value="FrozenDepartment"/>
-            <xsd:enumeration value="FutureAddress"/>
-            <xsd:enumeration value="GainingInventoryManager"/>
-            <xsd:enumeration value="GaragedLocation"/>
-            <xsd:enumeration value="Garnishee"/>
-            <xsd:enumeration value="GasPlant"/>
-            <xsd:enumeration value="GasTransactionEndingPoint"/>
-            <xsd:enumeration value="GasTransactionPoint1"/>
-            <xsd:enumeration value="GasTransactionPoint2"/>
-            <xsd:enumeration value="GasTransactionStartingPoint"/>
-            <xsd:enumeration value="GatewayProvider"/>
-            <xsd:enumeration value="GeneralAgency"/>
-            <xsd:enumeration value="GeneralInpatientCareForAIDSOrARCFacility"/>
-            <xsd:enumeration value="GeneralMedicalAndSurgicalFacility"/>
-            <xsd:enumeration value="GeneralMerchandiseDepartment"/>
-            <xsd:enumeration value="GeneticCounselingOrScreeningServices"/>
-            <xsd:enumeration value="GeriatricAcuteCareUnit"/>
-            <xsd:enumeration value="GeriatricClinics"/>
-            <xsd:enumeration value="GiftRecipient"/>
-            <xsd:enumeration value="GoodsCollectionParty"/>
-            <xsd:enumeration value="GoodsCustodian"/>
-            <xsd:enumeration value="GoodsOwner"/>
-            <xsd:enumeration value="GoodsReleaser"/>
-            <xsd:enumeration value="Government"/>
-            <xsd:enumeration value="Government-CombinedControl"/>
-            <xsd:enumeration value="Government-Federal-Military"/>
-            <xsd:enumeration value="Government-Federal-Other"/>
-            <xsd:enumeration value="Government-Federal-Veterans"/>
-            <xsd:enumeration value="GovernmentFurnishedPropertyFOBPoint"/>
-            <xsd:enumeration value="GovernmentLoanAgencySponsorOrAgent"/>
-            <xsd:enumeration value="Government-Local"/>
-            <xsd:enumeration value="Grandparent"/>
-            <xsd:enumeration value="Grantor"/>
-            <xsd:enumeration value="GroundAmbulanceServices"/>
-            <xsd:enumeration value="Group"/>
-            <xsd:enumeration value="GroupAffiliate"/>
-            <xsd:enumeration value="GroupAffiliation"/>
-            <xsd:enumeration value="GroupingCentre"/>
-            <xsd:enumeration value="GroupPractice"/>
-            <xsd:enumeration value="GroupPurchasingOrganization"/>
-            <xsd:enumeration value="GuaranteeAgency"/>
-            <xsd:enumeration value="Guardian"/>
-            <xsd:enumeration value="HazardousMaterialOffice"/>
-            <xsd:enumeration value="HazardousWasteGenerator"/>
-            <xsd:enumeration value="HeadOffice"/>
-            <xsd:enumeration value="HealthAndBeautyDepartment"/>
-            <xsd:enumeration value="HealthcareProfessionalShortageAreaFacility"/>
-            <xsd:enumeration value="HealthMaintenanceOrganization"/>
-            <xsd:enumeration value="HealthMiscellaneous"/>
-            <xsd:enumeration value="HealthSciencesLibrary"/>
-            <xsd:enumeration value="HemodialysisFacility"/>
-            <xsd:enumeration value="HighSchool"/>
-            <xsd:enumeration value="HisopathologyLaboratory"/>
-            <xsd:enumeration value="HispanicServiceInstitute"/>
-            <xsd:enumeration value="HistoricallyBlackCollegeOrUniversity"/>
-            <xsd:enumeration value="HomeHealthAgency"/>
-            <xsd:enumeration value="HomeHealthCare"/>
-            <xsd:enumeration value="HomeHealthCorporation"/>
-            <xsd:enumeration value="HomeHealthServices"/>
-            <xsd:enumeration value="HomeOffice"/>
-            <xsd:enumeration value="HomeSchool"/>
-            <xsd:enumeration value="HomeStateName"/>
-            <xsd:enumeration value="Hospice"/>
-            <xsd:enumeration value="Hospital"/>
-            <xsd:enumeration value="HospitalAuxiliaryUnit"/>
-            <xsd:enumeration value="HospitalDistrictOrAuthority"/>
-            <xsd:enumeration value="HospitalUnitOfAnInstitution"/>
-            <xsd:enumeration value="HospitalUnitWithinAnInstitutionForTheMentallyRetarded"/>
-            <xsd:enumeration value="HostileWitness"/>
-            <xsd:enumeration value="ImportedFromLocation"/>
-            <xsd:enumeration value="Importer"/>
-            <xsd:enumeration value="InCareOfPartyNo1"/>
-            <xsd:enumeration value="InCareOfPartyNo2"/>
-            <xsd:enumeration value="IncorporatedBy"/>
-            <xsd:enumeration value="IncorporatedLocation"/>
-            <xsd:enumeration value="IncorporationJurisdiction"/>
-            <xsd:enumeration value="IncorporationStatePlaceOfBusiness"/>
-            <xsd:enumeration value="IncorporationStatePrincipalOffice"/>
-            <xsd:enumeration value="IndependentAdjuster"/>
-            <xsd:enumeration value="IndependentLab"/>
-            <xsd:enumeration value="IndependentPhysiciansAssociation"/>
-            <xsd:enumeration value="Individual"/>
-            <xsd:enumeration value="IndividualFor-ProfitFacility"/>
-            <xsd:enumeration value="IndustryAssociation"/>
-            <xsd:enumeration value="IndustryBureau"/>
-            <xsd:enumeration value="IneligibleParty"/>
-            <xsd:enumeration value="InformationDisseminationAgency"/>
-            <xsd:enumeration value="InformationMaintenanceAgency"/>
-            <xsd:enumeration value="InformationProvider"/>
-            <xsd:enumeration value="InformationReferenceAgency"/>
-            <xsd:enumeration value="InformationSource"/>
-            <xsd:enumeration value="InitialDealer"/>
-            <xsd:enumeration value="InitialMedicalProvider"/>
-            <xsd:enumeration value="InitialSubscriber"/>
-            <xsd:enumeration value="Initiating"/>
-            <xsd:enumeration value="InjectionPoint"/>
-            <xsd:enumeration value="In-PatientPharmacy"/>
-            <xsd:enumeration value="InquiringParty"/>
-            <xsd:enumeration value="InquiryAddress"/>
-            <xsd:enumeration value="In-ServiceSource"/>
-            <xsd:enumeration value="InspectionAddress"/>
-            <xsd:enumeration value="InspectionAndAcceptanceLocation"/>
-            <xsd:enumeration value="InspectionAndAcceptanceParty"/>
-            <xsd:enumeration value="InspectionCompany"/>
-            <xsd:enumeration value="InspectionLeader"/>
-            <xsd:enumeration value="InspectionLocation"/>
-            <xsd:enumeration value="Inspector"/>
-            <xsd:enumeration value="InstallationOnSite"/>
-            <xsd:enumeration value="InstalledAt"/>
-            <xsd:enumeration value="InstitutionalProvider"/>
-            <xsd:enumeration value="InstitutionForMentalRetardation"/>
-            <xsd:enumeration value="In-StoreBakeryDepartment"/>
-            <xsd:enumeration value="InsuranceBeneficiary"/>
-            <xsd:enumeration value="InsuranceClaimAdjuster"/>
-            <xsd:enumeration value="InsuranceCompany"/>
-            <xsd:enumeration value="InsuranceInstitute"/>
-            <xsd:enumeration value="Insured"/>
-            <xsd:enumeration value="InsuredLocation"/>
-            <xsd:enumeration value="InsuredOrSubscriber"/>
-            <xsd:enumeration value="Insurer"/>
-            <xsd:enumeration value="IntegratedMaterialManager"/>
-            <xsd:enumeration value="IntellectualPropertyOwner"/>
-            <xsd:enumeration value="InterestedParty"/>
-            <xsd:enumeration value="InterimFundingOrganization"/>
-            <xsd:enumeration value="InterimTrustee"/>
-            <xsd:enumeration value="InterlineServiceCommitmentCustomer"/>
-            <xsd:enumeration value="Intermediary"/>
-            <xsd:enumeration value="IntermediaryBank1"/>
-            <xsd:enumeration value="IntermediaryBank2"/>
-            <xsd:enumeration value="IntermediaryOrBroker"/>
-            <xsd:enumeration value="IntermediateCarrier"/>
-            <xsd:enumeration value="IntermediateConsignee"/>
-            <xsd:enumeration value="IntermediateLevelParentCompany"/>
-            <xsd:enumeration value="InternationalFreightForwarder"/>
-            <xsd:enumeration value="InternationalOrganization"/>
-            <xsd:enumeration value="InternshipEntity"/>
-            <xsd:enumeration value="Interpreter"/>
-            <xsd:enumeration value="Interviewee"/>
-            <xsd:enumeration value="Interviewer"/>
-            <xsd:enumeration value="Inventor"/>
-            <xsd:enumeration value="InventoryController"/>
-            <xsd:enumeration value="InventoryControlPoint"/>
-            <xsd:enumeration value="InventoryReportingParty"/>
-            <xsd:enumeration value="Investigator"/>
-            <xsd:enumeration value="InvestmentAdvisor"/>
-            <xsd:enumeration value="Investor"/>
-            <xsd:enumeration value="Invoicee"/>
-            <xsd:enumeration value="InvoicingDealer"/>
-            <xsd:enumeration value="InvolvedParty"/>
-            <xsd:enumeration value="IrrevocableBeneficiary"/>
-            <xsd:enumeration value="Issuer"/>
-            <xsd:enumeration value="IssuerOfDebitOrCreditMemo"/>
-            <xsd:enumeration value="IssuerOfInvoice"/>
-            <xsd:enumeration value="IssuerOfWaybill"/>
-            <xsd:enumeration value="IssuingBank"/>
-            <xsd:enumeration value="ItemManager"/>
-            <xsd:enumeration value="ItemShipTo"/>
-            <xsd:enumeration value="ItemShipFrom"/>
-            <xsd:enumeration value="JointAnnuitant"/>
-            <xsd:enumeration value="JointAnnuitantOwner"/>
-            <xsd:enumeration value="JointDebtor"/>
-            <xsd:enumeration value="JointDebtorAttorney"/>
-            <xsd:enumeration value="JointOwner"/>
-            <xsd:enumeration value="JointOwnerAnnuitant"/>
-            <xsd:enumeration value="JointOwnerAnnuitantPayor"/>
-            <xsd:enumeration value="JointOwnerJointAnnuitant"/>
-            <xsd:enumeration value="JointOwnerJointAnnuitantPayor"/>
-            <xsd:enumeration value="JointOwnerPayor"/>
-            <xsd:enumeration value="JointVenture"/>
-            <xsd:enumeration value="Judge"/>
-            <xsd:enumeration value="JuniorHighSchool"/>
-            <xsd:enumeration value="Jurisdiction"/>
-            <xsd:enumeration value="JuvenileDefendant"/>
-            <xsd:enumeration value="JuvenileOwner"/>
-            <xsd:enumeration value="JuvenileVictim"/>
-            <xsd:enumeration value="JuvenileWitness"/>
-            <xsd:enumeration value="KeyPerson"/>
-            <xsd:enumeration value="KidneyDialysisUnit"/>
-            <xsd:enumeration value="Labeler"/>
-            <xsd:enumeration value="Laboratory"/>
-            <xsd:enumeration value="LaborSurplusAreaFirm"/>
-            <xsd:enumeration value="Landlord"/>
-            <xsd:enumeration value="LargeBusiness"/>
-            <xsd:enumeration value="LastBreakTerminal"/>
-            <xsd:enumeration value="LastEmployer"/>
-            <xsd:enumeration value="LastKnownSourceOfSupply"/>
-            <xsd:enumeration value="LastSupplier"/>
-            <xsd:enumeration value="LawEnforcementAgency"/>
-            <xsd:enumeration value="LawFirm"/>
-            <xsd:enumeration value="LeaseLocation"/>
-            <xsd:enumeration value="LegalReceiver"/>
-            <xsd:enumeration value="LegalRepresentative"/>
-            <xsd:enumeration value="LegalTitleHolder"/>
-            <xsd:enumeration value="Lender"/>
-            <xsd:enumeration value="LendingInstitution"/>
-            <xsd:enumeration value="Lessee"/>
-            <xsd:enumeration value="LesseesSurveyor"/>
-            <xsd:enumeration value="Lessor"/>
-            <xsd:enumeration value="LiabilityHolder"/>
-            <xsd:enumeration value="Licensee"/>
-            <xsd:enumeration value="LienHolder"/>
-            <xsd:enumeration value="LimitedLiabilityCompany"/>
-            <xsd:enumeration value="LimitedLiabilityPartnership"/>
-            <xsd:enumeration value="LimitedPartner"/>
-            <xsd:enumeration value="Liquidator"/>
-            <xsd:enumeration value="ListingAgent"/>
-            <xsd:enumeration value="ListingCompany"/>
-            <xsd:enumeration value="ListingOffice"/>
-            <xsd:enumeration value="ListMailer"/>
-            <xsd:enumeration value="ListOwner"/>
-            <xsd:enumeration value="LiterallyTranslatedName"/>
-            <xsd:enumeration value="LoadingParty"/>
-            <xsd:enumeration value="LoanApplicant"/>
-            <xsd:enumeration value="LoanBroker"/>
-            <xsd:enumeration value="LoanCorrespondent"/>
-            <xsd:enumeration value="LoanHolderForRealEstateAsset"/>
-            <xsd:enumeration value="LoanOriginator"/>
-            <xsd:enumeration value="LoanServicer"/>
-            <xsd:enumeration value="LocalChain"/>
-            <xsd:enumeration value="LocalGovernmentSponsor"/>
-            <xsd:enumeration value="LocationOfGoods"/>
-            <xsd:enumeration value="LocationOfGoodsForCustomsExaminationBeforeClearance"/>
-            <xsd:enumeration value="LocationOfLoadExchange"/>
-            <xsd:enumeration value="LocationOfPrincipalAssets"/>
-            <xsd:enumeration value="LocationOfSpotForStorage"/>
-            <xsd:enumeration value="LongTermCareFacility"/>
-            <xsd:enumeration value="Long-TermDisabilityCarrier"/>
-            <xsd:enumeration value="LosingInventoryManager"/>
-            <xsd:enumeration value="LossPayee"/>
-            <xsd:enumeration value="Lot"/>
-            <xsd:enumeration value="MagistrateJudge"/>
-            <xsd:enumeration value="MagneticResonanceImagingFacility"/>
-            <xsd:enumeration value="MaidenName"/>
-            <xsd:enumeration value="MailAddress"/>
-            <xsd:enumeration value="MailTo"/>
-            <xsd:enumeration value="Mainline"/>
-            <xsd:enumeration value="MaintenanceOrganizationUsedForEstimate"/>
-            <xsd:enumeration value="MammographyScreeningCenter"/>
-            <xsd:enumeration value="ManagedCare"/>
-            <xsd:enumeration value="ManagedCareOrganization"/>
-            <xsd:enumeration value="ManagementControlActivity"/>
-            <xsd:enumeration value="ManagementNon-Officer"/>
-            <xsd:enumeration value="Manager"/>
-            <xsd:enumeration value="ManagingAgent"/>
-            <xsd:enumeration value="ManagingGeneralAgent"/>
-            <xsd:enumeration value="ManufacturerOfGoods"/>
-            <xsd:enumeration value="ManufacturersRepresentative"/>
-            <xsd:enumeration value="Manufacturing"/>
-            <xsd:enumeration value="ManufacturingPlant"/>
-            <xsd:enumeration value="MarineSurveyor"/>
-            <xsd:enumeration value="MarkerOwner"/>
-            <xsd:enumeration value="MarketTimer"/>
-            <xsd:enumeration value="Mark-ForParty"/>
-            <xsd:enumeration value="MasterAgent"/>
-            <xsd:enumeration value="MasterGeneralAgent"/>
-            <xsd:enumeration value="MasterProperty"/>
-            <xsd:enumeration value="Material"/>
-            <xsd:enumeration value="MaterialChangeNoticeAddress"/>
-            <xsd:enumeration value="MaterialDispositionAuthorizationLocation"/>
-            <xsd:enumeration value="MaterialIssuer"/>
-            <xsd:enumeration value="MaterialSafetyDataSheetRecipient"/>
-            <xsd:enumeration value="MeansOfTransportCharterer"/>
-            <xsd:enumeration value="MeatDepartment"/>
-            <xsd:enumeration value="MedicalDoctor"/>
-            <xsd:enumeration value="MedicalInsuranceCarrier"/>
-            <xsd:enumeration value="MedicalNurse"/>
-            <xsd:enumeration value="MedicalSchool"/>
-            <xsd:enumeration value="MedicalSurgicalOrOtherIntensiveCareUnit"/>
-            <xsd:enumeration value="MedicalTreatmentExecutant"/>
-            <xsd:enumeration value="MedicalTreatmentPrescriber"/>
-            <xsd:enumeration value="MeetingLocation"/>
-            <xsd:enumeration value="MegavoltageRadiationTherapyUnit"/>
-            <xsd:enumeration value="Member"/>
-            <xsd:enumeration value="MerchantBanker"/>
-            <xsd:enumeration value="MergedCompany"/>
-            <xsd:enumeration value="MergedCompanyWithRetainedIdentity"/>
-            <xsd:enumeration value="MergedName"/>
-            <xsd:enumeration value="MessageFrom"/>
-            <xsd:enumeration value="MessageRecipient"/>
-            <xsd:enumeration value="MessageTo"/>
-            <xsd:enumeration value="MeteringLocation"/>
-            <xsd:enumeration value="MexicanCustomsBroker"/>
-            <xsd:enumeration value="MiddleSchool"/>
-            <xsd:enumeration value="MigrantHealthClinic"/>
-            <xsd:enumeration value="MilitaryBranch"/>
-            <xsd:enumeration value="MilitaryFacility"/>
-            <xsd:enumeration value="MinimumRoyaltyPayor"/>
-            <xsd:enumeration value="Minister"/>
-            <xsd:enumeration value="MinorityInstitution"/>
-            <xsd:enumeration value="Minority-OwnedBusinessLarge"/>
-            <xsd:enumeration value="Minority-OwnedBusinessSmall"/>
-            <xsd:enumeration value="MiscellaneousHealthCareFacility"/>
-            <xsd:enumeration value="MonitoringParty"/>
-            <xsd:enumeration value="MortgageCompany"/>
-            <xsd:enumeration value="MortgageInsurer"/>
-            <xsd:enumeration value="MortgageLiabilityAccountHolder"/>
-            <xsd:enumeration value="MostRecentEmployer"/>
-            <xsd:enumeration value="Mother"/>
-            <xsd:enumeration value="MotorCarrier"/>
-            <xsd:enumeration value="MotorVehicleReportProviderCompany"/>
-            <xsd:enumeration value="MultipleListingService"/>
-            <xsd:enumeration value="Municipality"/>
-            <xsd:enumeration value="NameChangedTo"/>
-            <xsd:enumeration value="NameNotToBeConfusedWith"/>
-            <xsd:enumeration value="NameonCreditCard"/>
-            <xsd:enumeration value="NameUnderWhichFiled"/>
-            <xsd:enumeration value="NameVariationSynonym"/>
-            <xsd:enumeration value="NationalChain"/>
-            <xsd:enumeration value="NationalOrganization"/>
-            <xsd:enumeration value="NativeHawaiianOrganization"/>
-            <xsd:enumeration value="NavyFacility"/>
-            <xsd:enumeration value="NeglectedOrDelinquentInstitution"/>
-            <xsd:enumeration value="NegotiatingBank"/>
-            <xsd:enumeration value="Neighbor"/>
-            <xsd:enumeration value="Neighborhood"/>
-            <xsd:enumeration value="NeonatalIntensiveCareUnit"/>
-            <xsd:enumeration value="NetworkName"/>
-            <xsd:enumeration value="NewAddress"/>
-            <xsd:enumeration value="NewAssignee"/>
-            <xsd:enumeration value="NewDebtor"/>
-            <xsd:enumeration value="NewSecuredParty"/>
-            <xsd:enumeration value="NewServiceProvider"/>
-            <xsd:enumeration value="Newspaper"/>
-            <xsd:enumeration value="NewSupplySource"/>
-            <xsd:enumeration value="NextDestination"/>
-            <xsd:enumeration value="NextScheduledDestination"/>
-            <xsd:enumeration value="Nickname"/>
-            <xsd:enumeration value="NoHeading"/>
-            <xsd:enumeration value="NominatedBank"/>
-            <xsd:enumeration value="NominatedFreightCompany"/>
-            <xsd:enumeration value="Non-DomesticFinancialInstitution"/>
-            <xsd:enumeration value="NonemploymentIncomeSource"/>
-            <xsd:enumeration value="Non-HealthCareMiscellaneousFacility"/>
-            <xsd:enumeration value="Non-Insured"/>
-            <xsd:enumeration value="Non-InvasiveCardiacAssessmentServices"/>
-            <xsd:enumeration value="Non-MortgageLiabilityAccountHolder"/>
-            <xsd:enumeration value="Non-OccupantCo-Borrower"/>
-            <xsd:enumeration value="Non-ProductionSupplier"/>
-            <xsd:enumeration value="Non-ProfitHealthCareProvider"/>
-            <xsd:enumeration value="NonprofitInstitution"/>
-            <xsd:enumeration value="Non-RailroadEntity"/>
-            <xsd:enumeration value="NonRegisteredBusinessName"/>
-            <xsd:enumeration value="Non-RegisteredInvestmentAdvisor"/>
-            <xsd:enumeration value="Non-ResidentBeneficiary"/>
-            <xsd:enumeration value="Non-ResidentCreditor"/>
-            <xsd:enumeration value="Non-ResidentDebtor"/>
-            <xsd:enumeration value="Non-ResidentGroupCompanyWithWhomFinancialAccountIs"/>
-            <xsd:enumeration value="Non-ResidentInstructingParty"/>
-            <xsd:enumeration value="Non-ResidentThirdPartyCompanyWithWhomFinancial"/>
-            <xsd:enumeration value="Non-TemporaryStorageFacility"/>
-            <xsd:enumeration value="Notary"/>
-            <xsd:enumeration value="NotaryPublic"/>
-            <xsd:enumeration value="NoteCo-Signer"/>
-            <xsd:enumeration value="NotForProfitHealthCareProvider"/>
-            <xsd:enumeration value="NotifyParty"/>
-            <xsd:enumeration value="NotifyPartyForShippersOrder"/>
-            <xsd:enumeration value="NotifyPartyNo1"/>
-            <xsd:enumeration value="NotifyPartyNo2"/>
-            <xsd:enumeration value="NursingHome"/>
-            <xsd:enumeration value="NursingHomeChain"/>
-            <xsd:enumeration value="ObservationRoomServices"/>
-            <xsd:enumeration value="ObstetricsAndGynecologyFacility"/>
-            <xsd:enumeration value="ObstetricsUnit"/>
-            <xsd:enumeration value="Occupant"/>
-            <xsd:enumeration value="OccupationalHealthServices"/>
-            <xsd:enumeration value="OccupationalTherapyServices"/>
-            <xsd:enumeration value="OceanTariffConference"/>
-            <xsd:enumeration value="OfficeManager"/>
-            <xsd:enumeration value="Officer"/>
-            <xsd:enumeration value="OffsetOperator"/>
-            <xsd:enumeration value="OilAndGasCustodian"/>
-            <xsd:enumeration value="OilAndGasRegulatoryAgency"/>
-            <xsd:enumeration value="OldAssignee"/>
-            <xsd:enumeration value="OldDebtor"/>
-            <xsd:enumeration value="OldSecuredParty"/>
-            <xsd:enumeration value="OnBehalfOf"/>
-            <xsd:enumeration value="On-CallProvider"/>
-            <xsd:enumeration value="OncologyCenter"/>
-            <xsd:enumeration value="Open-HeartSurgeryFacility"/>
-            <xsd:enumeration value="OperatingPhysician"/>
-            <xsd:enumeration value="Operator-CommunicationChannel"/>
-            <xsd:enumeration value="Operator-EssentialServices"/>
-            <xsd:enumeration value="OperatorOfPropertyOrEquipment"/>
-            <xsd:enumeration value="OperatorOfPropertyOrUnit"/>
-            <xsd:enumeration value="OperatorOfTheSourceTransferPoint"/>
-            <xsd:enumeration value="OperatorOfTheTransferPoint"/>
-            <xsd:enumeration value="OrderedBank"/>
-            <xsd:enumeration value="OrderedBy"/>
-            <xsd:enumeration value="OrderingBank"/>
-            <xsd:enumeration value="OrderingCustomer"/>
-            <xsd:enumeration value="OrderingParty"/>
-            <xsd:enumeration value="OrderingPhysician"/>
-            <xsd:enumeration value="OrderOfShippersOrders-Transportation"/>
-            <xsd:enumeration value="OrderOfTheShipperParty"/>
-            <xsd:enumeration value="OrderWriter"/>
-            <xsd:enumeration value="Organization"/>
-            <xsd:enumeration value="OrganizationCompletingConfigurationChange"/>
-            <xsd:enumeration value="OrganizationGroup"/>
-            <xsd:enumeration value="OrganizationHavingSourceControl"/>
-            <xsd:enumeration value="OrganizedOutpatientServices"/>
-            <xsd:enumeration value="OrganizedSocialWorkServiceFacility"/>
-            <xsd:enumeration value="Organizer"/>
-            <xsd:enumeration value="OrganOrTissueTransplantUnit"/>
-            <xsd:enumeration value="OriginalClaimant"/>
-            <xsd:enumeration value="OriginalIntermodalRamp"/>
-            <xsd:enumeration value="OriginalJurisdiction"/>
-            <xsd:enumeration value="OriginalLocation"/>
-            <xsd:enumeration value="OriginalName"/>
-            <xsd:enumeration value="OriginalShipper"/>
-            <xsd:enumeration value="OriginatingBank"/>
-            <xsd:enumeration value="OriginatingCompany"/>
-            <xsd:enumeration value="OriginatorOfArticleNumber"/>
-            <xsd:enumeration value="OriginCarrier"/>
-            <xsd:enumeration value="OriginDrayman"/>
-            <xsd:enumeration value="OriginMailFacility"/>
-            <xsd:enumeration value="OriginSublocation"/>
-            <xsd:enumeration value="OriginTerminal"/>
-            <xsd:enumeration value="OrthopedicFacility"/>
-            <xsd:enumeration value="OrthopedicSurgeryFacility"/>
-            <xsd:enumeration value="OtherDepartments"/>
-            <xsd:enumeration value="OtherDisadvantagedBusiness"/>
-            <xsd:enumeration value="OtherIndividualDisabilityCarrier"/>
-            <xsd:enumeration value="OtherInsured"/>
-            <xsd:enumeration value="OtherNot-For-ProfitFacility"/>
-            <xsd:enumeration value="OtherPersonOrEntityAssociatedWithStudent"/>
-            <xsd:enumeration value="OtherPhysician"/>
-            <xsd:enumeration value="OtherRelatedParty"/>
-            <xsd:enumeration value="OtherSpecialtyFacility"/>
-            <xsd:enumeration value="OtherUnlistedTypeOfOrganizationalEntity"/>
-            <xsd:enumeration value="OuterContinentalShelfAreaLocation"/>
-            <xsd:enumeration value="Out-Of-StatePrincipalOffice"/>
-            <xsd:enumeration value="OutpatientSocialWorkServices"/>
-            <xsd:enumeration value="OutpatientSurgeryServices"/>
-            <xsd:enumeration value="OutpatientSurgicenter"/>
-            <xsd:enumeration value="OutsideInspectionAgency"/>
-            <xsd:enumeration value="OutsideProcessor"/>
-            <xsd:enumeration value="OutsideTestAgency"/>
-            <xsd:enumeration value="OverrideInstitution"/>
-            <xsd:enumeration value="Owner"/>
-            <xsd:enumeration value="OwnerAnnuitant"/>
-            <xsd:enumeration value="OwnerAnnuitantPayor"/>
-            <xsd:enumeration value="OwnerJointAnnuitantPayor"/>
-            <xsd:enumeration value="OwnerOfEquipment"/>
-            <xsd:enumeration value="OwnerOfMeansOfTransport"/>
-            <xsd:enumeration value="OwnerOfOperation"/>
-            <xsd:enumeration value="OwnerOfProperty"/>
-            <xsd:enumeration value="OwnerOfPropertyOrUnit"/>
-            <xsd:enumeration value="OwnerOfResidence"/>
-            <xsd:enumeration value="OwnerOfVehicle"/>
-            <xsd:enumeration value="OwnerOfVessel"/>
-            <xsd:enumeration value="OwnerOrLessorsSurveyor"/>
-            <xsd:enumeration value="OwnerPayor"/>
-            <xsd:enumeration value="OwnersAgent"/>
-            <xsd:enumeration value="OwnersRepresentative"/>
-            <xsd:enumeration value="OwningInventoryControlPoint"/>
-            <xsd:enumeration value="OxygenTherapyFacility"/>
-            <xsd:enumeration value="Packer"/>
-            <xsd:enumeration value="Paramedic"/>
-            <xsd:enumeration value="ParamedicalCompany"/>
-            <xsd:enumeration value="Parent"/>
-            <xsd:enumeration value="ParentCompany"/>
-            <xsd:enumeration value="Participant"/>
-            <xsd:enumeration value="ParticipatingArea"/>
-            <xsd:enumeration value="ParticipatingLaboratory"/>
-            <xsd:enumeration value="Partner"/>
-            <xsd:enumeration value="Partnership"/>
-            <xsd:enumeration value="PartnershipFor-ProfitFacility"/>
-            <xsd:enumeration value="PartRemanufacturer"/>
-            <xsd:enumeration value="PartsDistributor"/>
-            <xsd:enumeration value="PartSource"/>
-            <xsd:enumeration value="PartyAccordingToDocumentaryCreditTransaction"/>
-            <xsd:enumeration value="PartyAssigningAStatus"/>
-            <xsd:enumeration value="PartyAtFinalPlaceOfPositioning"/>
-            <xsd:enumeration value="PartyAtPick-UpLocation"/>
-            <xsd:enumeration value="PartyAuthorizedtoDefinitizeContractAction"/>
-            <xsd:enumeration value="PartyAuthorizedToMakeDefiniteAContractAction"/>
-            <xsd:enumeration value="PartyAuthorizingDisposition"/>
-            <xsd:enumeration value="PartyAuthorizingReleaseOfSecurityInformation"/>
-            <xsd:enumeration value="PartyDataResponsibleParty"/>
-            <xsd:enumeration value="PartyDeclaringTheValueAddedTax"/>
-            <xsd:enumeration value="PartyDesignatedToExecuteRe-Icing"/>
-            <xsd:enumeration value="PartyDesignatedToExecuteSanitaryProcedures"/>
-            <xsd:enumeration value="PartyDesignatedToProvideLivingAnimalCare"/>
-            <xsd:enumeration value="PartyExecutingAndVerifying"/>
-            <xsd:enumeration value="PartyFillingShippersOrder"/>
-            <xsd:enumeration value="PartyForWhomItemIsUltimatelyIntended"/>
-            <xsd:enumeration value="PartyFromWhomCustomsDocumentsAreToBePickedUp"/>
-            <xsd:enumeration value="PartyFromWhomNon-CustomsDocumentsAreToBePickedUp"/>
-            <xsd:enumeration value="PartyFulfillingAllOperations"/>
-            <xsd:enumeration value="PartyInPossession"/>
-            <xsd:enumeration value="PartyIssuingMutuallyAgreedCodes"/>
-            <xsd:enumeration value="PartyMaintainingTheCodesUsedInTheMessage"/>
-            <xsd:enumeration value="PartyMaintainingTheIdentifiersUsedInTheMessage"/>
-            <xsd:enumeration value="PartyMandatedToLiquidateAnEnterprise"/>
-            <xsd:enumeration value="PartyManufacturedFor"/>
-            <xsd:enumeration value="PartyNotToBeConfusedWith"/>
-            <xsd:enumeration value="PartyPassingTheTransaction"/>
-            <xsd:enumeration value="PartyPerformingCertification"/>
-            <xsd:enumeration value="PartyPerformingCount"/>
-            <xsd:enumeration value="PartyPerformingInspection"/>
-            <xsd:enumeration value="PartyPerformingTask"/>
-            <xsd:enumeration value="PartyPerformingVerification"/>
-            <xsd:enumeration value="PartyProvidingFinancing"/>
-            <xsd:enumeration value="PartyProvidingGovernmentFurnishedProperty"/>
-            <xsd:enumeration value="PartyRecoveringTheValueAddedTax"/>
-            <xsd:enumeration value="PartyRepresented"/>
-            <xsd:enumeration value="PartyResponsibleForDisinfection"/>
-            <xsd:enumeration value="PartyResponsibleForFinancialSettlement"/>
-            <xsd:enumeration value="PartyResponsibleForRefueling"/>
-            <xsd:enumeration value="PartySubmittingQuote"/>
-            <xsd:enumeration value="PartyThatReceivedDisclosureStatement"/>
-            <xsd:enumeration value="PartyThatRemitsPayment"/>
-            <xsd:enumeration value="PartytoAppearBefore"/>
-            <xsd:enumeration value="PartyToApproveSpecification"/>
-            <xsd:enumeration value="Partytobeadvised-WrittenOrders"/>
-            <xsd:enumeration value="PartyToBeBilled"/>
-            <xsd:enumeration value="PartyToBeBilledForOtherThanFreight"/>
-            <xsd:enumeration value="PartytoContract"/>
-            <xsd:enumeration value="PartyToFilePersonalPropertyTax"/>
-            <xsd:enumeration value="PartytoLease"/>
-            <xsd:enumeration value="PartytoPerformPackaging"/>
-            <xsd:enumeration value="PartyToPrintSomeDocument"/>
-            <xsd:enumeration value="PartytoProvideDiscount"/>
-            <xsd:enumeration value="PartyToReceiveAllDocuments"/>
-            <xsd:enumeration value="PartytoReceiveBillOfLading"/>
-            <xsd:enumeration value="PartyToReceiveCertificateOfCompliance"/>
-            <xsd:enumeration value="PartyToReceiveCertificateOfConformance"/>
-            <xsd:enumeration value="PartyToReceiveCertifiedInspectionReport"/>
-            <xsd:enumeration value="PartyToReceiveCertifiedTestResults"/>
-            <xsd:enumeration value="PartyToReceiveCommercialInvoiceRemittance"/>
-            <xsd:enumeration value="PartyToReceiveContractSecurityClassificationSpecification"/>
-            <xsd:enumeration value="PartyToReceiveCopy"/>
-            <xsd:enumeration value="PartyToReceiveCorrespondence"/>
-            <xsd:enumeration value="PartytoReceiveCredit"/>
-            <xsd:enumeration value="PartyToReceiveCustomsDocuments"/>
-            <xsd:enumeration value="PartyToReceiveElectronicMemoOfInvoice"/>
-            <xsd:enumeration value="PartyToReceiveEquipment"/>
-            <xsd:enumeration value="PartyToReceiveFreightBill"/>
-            <xsd:enumeration value="PartyToReceiveInspectionReport"/>
-            <xsd:enumeration value="PartyToReceiveInvitationToOffer"/>
-            <xsd:enumeration value="PartytoReceiveInvoiceFOrGoodsOrServices"/>
-            <xsd:enumeration value="PartyToReceiveInvoiceForLeasePayments"/>
-            <xsd:enumeration value="PartytoReceiveLimitationsOfHeavyElementsReport"/>
-            <xsd:enumeration value="PartytoReceiveMaterialRelease"/>
-            <xsd:enumeration value="PartyToReceiveNon-CustomsDocuments"/>
-            <xsd:enumeration value="PartyToReceiveOrderToSupply"/>
-            <xsd:enumeration value="PartyToReceivePackingCratingAndHandlingCredit"/>
-            <xsd:enumeration value="PartyToReceivePaperMemoOfInvoice"/>
-            <xsd:enumeration value="PartytoReceiveProposal"/>
-            <xsd:enumeration value="PartyToReceivePurchaseOrder"/>
-            <xsd:enumeration value="PartyToReceiveReports"/>
-            <xsd:enumeration value="PartytoReceiveScaleTicket"/>
-            <xsd:enumeration value="PartytoReceiveShippingManifest"/>
-            <xsd:enumeration value="PartyToReceiveShippingNotice"/>
-            <xsd:enumeration value="PartytoReceiveSolicitation"/>
-            <xsd:enumeration value="PartyToReceiveStatementOfAccount"/>
-            <xsd:enumeration value="PartyToReceiveStatementOfFeesDue"/>
-            <xsd:enumeration value="PartytoReceiveStatus"/>
-            <xsd:enumeration value="PartyToReceiveTechnicalDocumentation"/>
-            <xsd:enumeration value="PartyToReceiveTestReport"/>
-            <xsd:enumeration value="PartytoReceiveTransportationCredit"/>
-            <xsd:enumeration value="PartytoWhomAcknowledgmentShouldBeSent"/>
-            <xsd:enumeration value="PartyToWhomDocumentsAreToBePresented"/>
-            <xsd:enumeration value="PartytoWhomProtestSubmitted"/>
-            <xsd:enumeration value="PartyWaivingRequirements"/>
-            <xsd:enumeration value="PartyWhichDeliversConsignmentsToTheTerminal"/>
-            <xsd:enumeration value="PartyWhichPicksUpConsignmentsFromTheTerminal"/>
-            <xsd:enumeration value="PartyWhoSignedTheDeliveryReceipt"/>
-            <xsd:enumeration value="PartyWithKnowledgeOfAffairsOfTheCompany"/>
-            <xsd:enumeration value="PartyWithPowerToVoteSecurities"/>
-            <xsd:enumeration value="Passenger"/>
-            <xsd:enumeration value="Patient"/>
-            <xsd:enumeration value="PatientCompanion"/>
-            <xsd:enumeration value="PatientEducationUnit"/>
-            <xsd:enumeration value="PatientFacility"/>
-            <xsd:enumeration value="PatientRepresentativeServices"/>
-            <xsd:enumeration value="Payee"/>
-            <xsd:enumeration value="PayeesCompanyNameOrId"/>
-            <xsd:enumeration value="Payer"/>
-            <xsd:enumeration value="PayerOfLastResort"/>
-            <xsd:enumeration value="PayersCompanyNameOrId"/>
-            <xsd:enumeration value="PayersFinancialInstitution"/>
-            <xsd:enumeration value="PayingAgent"/>
-            <xsd:enumeration value="PayingBank"/>
-            <xsd:enumeration value="PayingFinancialInstitution"/>
-            <xsd:enumeration value="PaymentAddress"/>
-            <xsd:enumeration value="Payor"/>
-            <xsd:enumeration value="Pay-ToProvider"/>
-            <xsd:enumeration value="Pedestrian"/>
-            <xsd:enumeration value="PediatricAcuteInpatientUnit"/>
-            <xsd:enumeration value="PerformedAt"/>
-            <xsd:enumeration value="PermitHolder"/>
-            <xsd:enumeration value="PersonForWhoseBenefitPropertywasSeized"/>
-            <xsd:enumeration value="PersonnelOffice"/>
-            <xsd:enumeration value="PersonOnClaim"/>
-            <xsd:enumeration value="PersonOrOtherEntityLegallyResponsibleForAChild"/>
-            <xsd:enumeration value="PersonOrOtherEntityLegallyResponsibleForAndWithWhomAChildResides"/>
-            <xsd:enumeration value="PersonOrOtherEntityWithWhomAChildResides"/>
-            <xsd:enumeration value="PetitioningCreditor"/>
-            <xsd:enumeration value="PetitioningCreditorsAttorney"/>
-            <xsd:enumeration value="Pharmacist"/>
-            <xsd:enumeration value="Pharmacy"/>
-            <xsd:enumeration value="PharmacyDepartment"/>
-            <xsd:enumeration value="PhysicalAddress"/>
-            <xsd:enumeration value="PhysicalTherapyServices"/>
-            <xsd:enumeration value="Physician"/>
-            <xsd:enumeration value="PhysicianClinicOrGroupPractice"/>
-            <xsd:enumeration value="PhysicianHospitalOrganization"/>
-            <xsd:enumeration value="Physician-Specialists"/>
-            <xsd:enumeration value="PickUpAddress"/>
-            <xsd:enumeration value="PierName"/>
-            <xsd:enumeration value="Pipeline"/>
-            <xsd:enumeration value="PipelineSegment"/>
-            <xsd:enumeration value="PipelineSegmentBoundary"/>
-            <xsd:enumeration value="PlaceOfBottling"/>
-            <xsd:enumeration value="PlaceOfBusiness"/>
-            <xsd:enumeration value="PlaceOfDistilling"/>
-            <xsd:enumeration value="PlaceOfOccurrence"/>
-            <xsd:enumeration value="PlaceOfPerformanceCognizantSecurityOffice"/>
-            <xsd:enumeration value="Plaintiff"/>
-            <xsd:enumeration value="PlanAdministrator"/>
-            <xsd:enumeration value="PlanningOrMaintenanceOrganization"/>
-            <xsd:enumeration value="PlanningCommission"/>
-            <xsd:enumeration value="PlanningScheduleOrMaterialReleaseIssuer"/>
-            <xsd:enumeration value="PlanSponsor"/>
-            <xsd:enumeration value="Plant"/>
-            <xsd:enumeration value="PlantClearanceOfficer"/>
-            <xsd:enumeration value="Podiatrist"/>
-            <xsd:enumeration value="PointOfService"/>
-            <xsd:enumeration value="PolicyHolder"/>
-            <xsd:enumeration value="PolicyWritingAgent"/>
-            <xsd:enumeration value="PollingSite"/>
-            <xsd:enumeration value="PortAuthority"/>
-            <xsd:enumeration value="PostalMailingAddress"/>
-            <xsd:enumeration value="PostsecondaryEducationRecipient"/>
-            <xsd:enumeration value="PostsecondaryEducationSender"/>
-            <xsd:enumeration value="Post-SecondaryInstitution"/>
-            <xsd:enumeration value="PotentialSourceOfSupply"/>
-            <xsd:enumeration value="PowerOfAttorney"/>
-            <xsd:enumeration value="PreferredProviderOrganization"/>
-            <xsd:enumeration value="Pre-KDayCare"/>
-            <xsd:enumeration value="Pre-kindergartenToGrade12Recipient"/>
-            <xsd:enumeration value="Pre-kindergartenToGrade12Sender"/>
-            <xsd:enumeration value="PreliminaryCustomerOrganization"/>
-            <xsd:enumeration value="PreliminaryInspectionLocation"/>
-            <xsd:enumeration value="PreliminaryMaintenanceOrganization"/>
-            <xsd:enumeration value="PreliminaryMaintenancePeriodDesignatingOrganization"/>
-            <xsd:enumeration value="PreliminaryReferredToOrganization"/>
-            <xsd:enumeration value="Premises"/>
-            <xsd:enumeration value="Preparer"/>
-            <xsd:enumeration value="PresentAddress"/>
-            <xsd:enumeration value="PresentingBank"/>
-            <xsd:enumeration value="President"/>
-            <xsd:enumeration value="PreviousBusinessPartner"/>
-            <xsd:enumeration value="PreviousCreditGrantor"/>
-            <xsd:enumeration value="PreviousDebtHolder"/>
-            <xsd:enumeration value="PreviousDistributor"/>
-            <xsd:enumeration value="PreviousEmployer"/>
-            <xsd:enumeration value="PreviousGroup"/>
-            <xsd:enumeration value="PreviousInsured"/>
-            <xsd:enumeration value="PreviousMember"/>
-            <xsd:enumeration value="PreviousName"/>
-            <xsd:enumeration value="PreviousNameOfFirm"/>
-            <xsd:enumeration value="PreviousNeighbor"/>
-            <xsd:enumeration value="PreviousOccupant"/>
-            <xsd:enumeration value="PreviousOwner"/>
-            <xsd:enumeration value="PreviousResidence"/>
-            <xsd:enumeration value="PreviousStation"/>
-            <xsd:enumeration value="PreviousTitleCompany"/>
-            <xsd:enumeration value="PreviousTradeUnion"/>
-            <xsd:enumeration value="PriceAdministration"/>
-            <xsd:enumeration value="PrimaryBeneficiary"/>
-            <xsd:enumeration value="PrimaryCareProvider"/>
-            <xsd:enumeration value="PriceCheckShipTo"/>
-            <xsd:enumeration value="PrimaryControlPointLocation"/>
-            <xsd:enumeration value="PrimaryHealthCareProvider"/>
-            <xsd:enumeration value="PrimaryInsuredOrSubscriber"/>
-            <xsd:enumeration value="PrimaryInterexchangeCarrier"/>
-            <xsd:enumeration value="PrimaryInternationalTelecomCarrier"/>
-            <xsd:enumeration value="PrimaryIntra-LATACarrier"/>
-            <xsd:enumeration value="PrimaryInventoryControlActivity"/>
-            <xsd:enumeration value="PrimaryOwner"/>
-            <xsd:enumeration value="PrimaryPayer"/>
-            <xsd:enumeration value="PrimaryPhysician"/>
-            <xsd:enumeration value="PrimaryResidence"/>
-            <xsd:enumeration value="PrimarySupportOrganization"/>
-            <xsd:enumeration value="PrimarySurgeon"/>
-            <xsd:enumeration value="PrimaryTaxpayer"/>
-            <xsd:enumeration value="PrimeContractor"/>
-            <xsd:enumeration value="Principal"/>
-            <xsd:enumeration value="PrincipalBorrower"/>
-            <xsd:enumeration value="PrincipalExecutiveOffice"/>
-            <xsd:enumeration value="PrincipalPerson"/>
-            <xsd:enumeration value="Printer"/>
-            <xsd:enumeration value="PriorBaseJurisdiction"/>
-            <xsd:enumeration value="PriorIncorrectInsured"/>
-            <xsd:enumeration value="PriorInsuranceCarrier"/>
-            <xsd:enumeration value="PriorTitleEvidenceHolder"/>
-            <xsd:enumeration value="PrivatePre-KEducation"/>
-            <xsd:enumeration value="PrivateSchool"/>
-            <xsd:enumeration value="ProBonoAttorney"/>
-            <xsd:enumeration value="Processor"/>
-            <xsd:enumeration value="ProcurementResponsibilityForOrder"/>
-            <xsd:enumeration value="ProduceDepartment"/>
-            <xsd:enumeration value="Producer"/>
-            <xsd:enumeration value="Production"/>
-            <xsd:enumeration value="ProductionManager"/>
-            <xsd:enumeration value="ProductPositionHolder"/>
-            <xsd:enumeration value="ProductServicesAndRepairsCentre"/>
-            <xsd:enumeration value="ProfessionalOrganization"/>
-            <xsd:enumeration value="Project"/>
-            <xsd:enumeration value="ProjectCoordinationOffice"/>
-            <xsd:enumeration value="ProjectManagementOffice"/>
-            <xsd:enumeration value="ProjectManager"/>
-            <xsd:enumeration value="ProjectName"/>
-            <xsd:enumeration value="ProjectProperty"/>
-            <xsd:enumeration value="Property"/>
-            <xsd:enumeration value="PropertyOrBuildingManager"/>
-            <xsd:enumeration value="ProposedInsured"/>
-            <xsd:enumeration value="Proposer"/>
-            <xsd:enumeration value="ProSeCounsel"/>
-            <xsd:enumeration value="PrototypeSupplier"/>
-            <xsd:enumeration value="Provider"/>
-            <xsd:enumeration value="PsychiatricChildOrAdolescentServices"/>
-            <xsd:enumeration value="PsychiatricConsultation-LiaisonServices"/>
-            <xsd:enumeration value="PsychiatricEducationServices"/>
-            <xsd:enumeration value="PsychiatricEmergencyServices"/>
-            <xsd:enumeration value="PsychiatricFacility"/>
-            <xsd:enumeration value="PsychiatricGeriatricServices"/>
-            <xsd:enumeration value="PsychiatricHealthFacility"/>
-            <xsd:enumeration value="PsychiatricInpatientUnit"/>
-            <xsd:enumeration value="PsychiatricOutpatientServices"/>
-            <xsd:enumeration value="PsychiatricPartialHospitalizationProgram"/>
-            <xsd:enumeration value="Psychiatrist"/>
-            <xsd:enumeration value="Psychologist"/>
-            <xsd:enumeration value="PublicAlternativeSchool"/>
-            <xsd:enumeration value="PublicHealthServiceFacility"/>
-            <xsd:enumeration value="PublicHealthServiceIndianServiceFacility"/>
-            <xsd:enumeration value="PublicorPrivateOrganizationForTheDisabled"/>
-            <xsd:enumeration value="PublicPre-KEducation"/>
-            <xsd:enumeration value="PublicSchool"/>
-            <xsd:enumeration value="Publisher"/>
-            <xsd:enumeration value="Pumper"/>
-            <xsd:enumeration value="PurchasedCompany"/>
-            <xsd:enumeration value="PurchasersDepartmentBuyer"/>
-            <xsd:enumeration value="PurchaseServiceProvider"/>
-            <xsd:enumeration value="QualifyingOfficer"/>
-            <xsd:enumeration value="QualityControl"/>
-            <xsd:enumeration value="QuotationRequestingParty"/>
-            <xsd:enumeration value="RadioactiveImplantsUnit"/>
-            <xsd:enumeration value="RadioControlStationLocation"/>
-            <xsd:enumeration value="RadioStation"/>
-            <xsd:enumeration value="RailCarrier"/>
-            <xsd:enumeration value="Railroad"/>
-            <xsd:enumeration value="RatingOrganization"/>
-            <xsd:enumeration value="ReceiptMeterLocation"/>
-            <xsd:enumeration value="ReceiptZone"/>
-            <xsd:enumeration value="ReceivedFrom"/>
-            <xsd:enumeration value="Receiver"/>
-            <xsd:enumeration value="ReceiverManager"/>
-            <xsd:enumeration value="ReceiverOfCheque"/>
-            <xsd:enumeration value="ReceiverOfFunds"/>
-            <xsd:enumeration value="ReceiversCorrespondentBank"/>
-            <xsd:enumeration value="ReceiverSite"/>
-            <xsd:enumeration value="ReceiversSub-Entity"/>
-            <xsd:enumeration value="ReceivingBank"/>
-            <xsd:enumeration value="ReceivingCompany"/>
-            <xsd:enumeration value="ReceivingFacilityScheduler"/>
-            <xsd:enumeration value="ReceivingFinancialInstitution"/>
-            <xsd:enumeration value="ReceivingLocation"/>
-            <xsd:enumeration value="ReceivingPointForCustomerSamples"/>
-            <xsd:enumeration value="ReceivingSub-Location"/>
-            <xsd:enumeration value="RecipientOfCivilorLegalLiabilityPayment"/>
-            <xsd:enumeration value="ReclamationCenter"/>
-            <xsd:enumeration value="Record-KeepingAddress"/>
-            <xsd:enumeration value="RecoveryRoom"/>
-            <xsd:enumeration value="RecreationalTherapyServices"/>
-            <xsd:enumeration value="Referee"/>
-            <xsd:enumeration value="Reference"/>
-            <xsd:enumeration value="ReferencesEmployer"/>
-            <xsd:enumeration value="ReferralProvider"/>
-            <xsd:enumeration value="ReferringHealthCareProvider"/>
-            <xsd:enumeration value="ReferringProvider"/>
-            <xsd:enumeration value="Refinery"/>
-            <xsd:enumeration value="RefineryOperator"/>
-            <xsd:enumeration value="RefusalParty"/>
-            <xsd:enumeration value="Region"/>
-            <xsd:enumeration value="RegionalOffice"/>
-            <xsd:enumeration value="RegisteredBusinessName"/>
-            <xsd:enumeration value="RegisteredInvestmentAdvisor"/>
-            <xsd:enumeration value="RegisteredOffice"/>
-            <xsd:enumeration value="RegisteredOwner"/>
-            <xsd:enumeration value="RegisteredPrincipal"/>
-            <xsd:enumeration value="RegisteringNonparentParty"/>
-            <xsd:enumeration value="RegisteringParentParty"/>
-            <xsd:enumeration value="RegisteringParty"/>
-            <xsd:enumeration value="Registrar"/>
-            <xsd:enumeration value="RegistrationTribunal"/>
-            <xsd:enumeration value="RegularDealer"/>
-            <xsd:enumeration value="RegulatoryStateDistrict"/>
-            <xsd:enumeration value="RegulatoryStateEntity"/>
-            <xsd:enumeration value="RehabilitationFacility"/>
-            <xsd:enumeration value="RehabilitationInpatientUnit"/>
-            <xsd:enumeration value="RehabilitationOutpatientServices"/>
-            <xsd:enumeration value="ReimbursingBank"/>
-            <xsd:enumeration value="ReinsuranceIntermediaryOrBroker"/>
-            <xsd:enumeration value="Reinsurer"/>
-            <xsd:enumeration value="Relative"/>
-            <xsd:enumeration value="ReleaseDrayman"/>
-            <xsd:enumeration value="ReleaseToParty"/>
-            <xsd:enumeration value="RemittingBank"/>
-            <xsd:enumeration value="RemitTo"/>
-            <xsd:enumeration value="RenderingProvider"/>
-            <xsd:enumeration value="Renter"/>
-            <xsd:enumeration value="RentPayor"/>
-            <xsd:enumeration value="RepairingOutlet"/>
-            <xsd:enumeration value="RepairOrRefurbishLocation"/>
-            <xsd:enumeration value="ReplacingManufacturer"/>
-            <xsd:enumeration value="Reporter"/>
-            <xsd:enumeration value="ReportingCarrier"/>
-            <xsd:enumeration value="ReportingCarriersNominatedAgentOrRepresentative"/>
-            <xsd:enumeration value="ReportingLocation"/>
-            <xsd:enumeration value="ReportingOfficer"/>
-            <xsd:enumeration value="Representative"/>
-            <xsd:enumeration value="ReproductiveHealthServices"/>
-            <xsd:enumeration value="RequestedLender"/>
-            <xsd:enumeration value="Requestor"/>
-            <xsd:enumeration value="ResaleCustomer"/>
-            <xsd:enumeration value="ResaleDealer"/>
-            <xsd:enumeration value="ResearchInstitute"/>
-            <xsd:enumeration value="Reservoir"/>
-            <xsd:enumeration value="ResidenceOrDomicile"/>
-            <xsd:enumeration value="ResidencyInstitution"/>
-            <xsd:enumeration value="ResidentBeneficiary"/>
-            <xsd:enumeration value="ResidentInstructingParty"/>
-            <xsd:enumeration value="RespiratoryTherapyServices"/>
-            <xsd:enumeration value="RespiteCareFacility"/>
-            <xsd:enumeration value="ResponsibleExhibitor"/>
-            <xsd:enumeration value="ResponsibleGovernmentAgency"/>
-            <xsd:enumeration value="ResponsibleInstallationDestination"/>
-            <xsd:enumeration value="ResponsibleInstallationOrigin"/>
-            <xsd:enumeration value="ResponsibleParty"/>
-            <xsd:enumeration value="RetailAccount"/>
-            <xsd:enumeration value="RetailPharmacy"/>
-            <xsd:enumeration value="Retrocessionaire"/>
-            <xsd:enumeration value="ReturnedTo"/>
-            <xsd:enumeration value="RoadCarrier"/>
-            <xsd:enumeration value="RoutingParty"/>
-            <xsd:enumeration value="RoutingPoint"/>
-            <xsd:enumeration value="RoyaltyOwner"/>
-            <xsd:enumeration value="RuralHealthClinic"/>
-            <xsd:enumeration value="SalesAssistant"/>
-            <xsd:enumeration value="SalesOffice"/>
-            <xsd:enumeration value="Salesperson"/>
-            <xsd:enumeration value="SalesResponsibility"/>
-            <xsd:enumeration value="SalvageCarrier"/>
-            <xsd:enumeration value="SamplesToBeReturnedTo"/>
-            <xsd:enumeration value="SamplingLocation"/>
-            <xsd:enumeration value="School-BasedServiceProvider"/>
-            <xsd:enumeration value="SchoolDistrict"/>
-            <xsd:enumeration value="SCorporation"/>
-            <xsd:enumeration value="ScreeningPoint"/>
-            <xsd:enumeration value="SealingCompany"/>
-            <xsd:enumeration value="SecondaryInventoryControlActivity"/>
-            <xsd:enumeration value="SecondaryLocationAddress"/>
-            <xsd:enumeration value="SecondaryPayer"/>
-            <xsd:enumeration value="SecondaryTaxpayer"/>
-            <xsd:enumeration value="SecondaryWarranter"/>
-            <xsd:enumeration value="SecondContact"/>
-            <xsd:enumeration value="SecondContactOrganization"/>
-            <xsd:enumeration value="SecondHome"/>
-            <xsd:enumeration value="SecondLevelParentCompany"/>
-            <xsd:enumeration value="Secretariat"/>
-            <xsd:enumeration value="Section8AProgramParticipantFirm"/>
-            <xsd:enumeration value="SecuredParty"/>
-            <xsd:enumeration value="SecuredPartyCompany"/>
-            <xsd:enumeration value="SecuredPartyIndividual"/>
-            <xsd:enumeration value="SelfInsured"/>
-            <xsd:enumeration value="Seller"/>
-            <xsd:enumeration value="SellerAsOfficiallyRegistered"/>
-            <xsd:enumeration value="SellersAgentOrRepresentative"/>
-            <xsd:enumeration value="SellersFinancialInstitution"/>
-            <xsd:enumeration value="SellingAgent"/>
-            <xsd:enumeration value="SellingOffice"/>
-            <xsd:enumeration value="SellingParty"/>
-            <xsd:enumeration value="SenderOfFunds"/>
-            <xsd:enumeration value="SendersCorrespondentBank"/>
-            <xsd:enumeration value="SeniorMembershipProgram"/>
-            <xsd:enumeration value="ServiceBureau"/>
-            <xsd:enumeration value="ServiceLocation"/>
-            <xsd:enumeration value="ServiceManager"/>
-            <xsd:enumeration value="ServiceOrganization"/>
-            <xsd:enumeration value="ServicePerformanceSite"/>
-            <xsd:enumeration value="ServicePerformer"/>
-            <xsd:enumeration value="ServiceProvider"/>
-            <xsd:enumeration value="ServiceRequester"/>
-            <xsd:enumeration value="ServiceSupplier"/>
-            <xsd:enumeration value="ServicingAgent"/>
-            <xsd:enumeration value="ServicingBroker"/>
-            <xsd:enumeration value="ServicingDealer"/>
-            <xsd:enumeration value="ServicingOrganization"/>
-            <xsd:enumeration value="SharedService"/>
-            <xsd:enumeration value="Shareholder"/>
-            <xsd:enumeration value="ShelteredWorkshop"/>
-            <xsd:enumeration value="ShipFrom"/>
-            <xsd:enumeration value="Shipper"/>
-            <xsd:enumeration value="ShippersAssociation"/>
-            <xsd:enumeration value="ShippingLineService"/>
-            <xsd:enumeration value="ShippingScheduleIssuer"/>
-            <xsd:enumeration value="ShipTo"/>
-            <xsd:enumeration value="ShowingAgent"/>
-            <xsd:enumeration value="Sibling"/>
-            <xsd:enumeration value="Signatory"/>
-            <xsd:enumeration value="Signer"/>
-            <xsd:enumeration value="SignificantOther"/>
-            <xsd:enumeration value="SinglePhotonEmissionComputerizedTomographyUnit"/>
-            <xsd:enumeration value="SiteOperator"/>
-            <xsd:enumeration value="SkilledNursingFacility"/>
-            <xsd:enumeration value="SkilledNursingorOtherLong-TermCareUnit"/>
-            <xsd:enumeration value="SkilledNursingServices"/>
-            <xsd:enumeration value="Slaughterer"/>
-            <xsd:enumeration value="SlotCharterParty"/>
-            <xsd:enumeration value="SmallBaseStationLocation"/>
-            <xsd:enumeration value="SmallBusiness"/>
-            <xsd:enumeration value="SmallControlStationLocation"/>
-            <xsd:enumeration value="SmallDisadvantagedBusiness"/>
-            <xsd:enumeration value="SociallyDisadvantagedBusiness"/>
-            <xsd:enumeration value="SociallyDisadvantagedIndividual"/>
-            <xsd:enumeration value="SociallyInsuredPerson"/>
-            <xsd:enumeration value="SocialSecuritiesCollectorsOffice"/>
-            <xsd:enumeration value="SocietyOfPropertyInformationCompilersAndAnalysts"/>
-            <xsd:enumeration value="SoldTo"/>
-            <xsd:enumeration value="SoldToAndShipTo"/>
-            <xsd:enumeration value="SoldToIfDifferentFromBillTo"/>
-            <xsd:enumeration value="SoleProprietor"/>
-            <xsd:enumeration value="Source"/>
-            <xsd:enumeration value="SourceMeterLocation"/>
-            <xsd:enumeration value="SourceOfInformation"/>
-            <xsd:enumeration value="SourcePartyOfInformation"/>
-            <xsd:enumeration value="SpecialAccount"/>
-            <xsd:enumeration value="SpecialCounsel"/>
-            <xsd:enumeration value="SpecializedMobileRadioServiceLicensee"/>
-            <xsd:enumeration value="SpecializedOutpatientProgramForAIDSOrARC"/>
-            <xsd:enumeration value="SpecifiedRepository"/>
-            <xsd:enumeration value="SpeechTherapyServices"/>
-            <xsd:enumeration value="SportsMedicineClinicOrServices"/>
-            <xsd:enumeration value="Spouse"/>
-            <xsd:enumeration value="SpouseInsured"/>
-            <xsd:enumeration value="SpudContractor"/>
-            <xsd:enumeration value="State"/>
-            <xsd:enumeration value="StateCharteredFacility"/>
-            <xsd:enumeration value="StateDivision"/>
-            <xsd:enumeration value="SteamshipCompany"/>
-            <xsd:enumeration value="Stockholder"/>
-            <xsd:enumeration value="StorageArea"/>
-            <xsd:enumeration value="StorageFacilityatDestination"/>
-            <xsd:enumeration value="StorageFacilityAtOrigin"/>
-            <xsd:enumeration value="Store"/>
-            <xsd:enumeration value="StoreClass"/>
-            <xsd:enumeration value="StoreGroup"/>
-            <xsd:enumeration value="StoreKeeper"/>
-            <xsd:enumeration value="StoreManager"/>
-            <xsd:enumeration value="Student"/>
-            <xsd:enumeration value="StudySubmitter"/>
-            <xsd:enumeration value="Sub-Account"/>
-            <xsd:enumeration value="Subcontractor"/>
-            <xsd:enumeration value="SubcontractOrCognizantSecurityOffice"/>
-            <xsd:enumeration value="Subcontractor-Nominated"/>
-            <xsd:enumeration value="SubcontractorWithDirectPayment"/>
-            <xsd:enumeration value="Sub-Entity"/>
-            <xsd:enumeration value="Subgroup"/>
-            <xsd:enumeration value="SubjectOfInquiry"/>
-            <xsd:enumeration value="SubjectProperty"/>
-            <xsd:enumeration value="Submitter"/>
-            <xsd:enumeration value="SubmitterOfSample"/>
-            <xsd:enumeration value="Sub-Office"/>
-            <xsd:enumeration value="Subscriber"/>
-            <xsd:enumeration value="SubscribersEmployer"/>
-            <xsd:enumeration value="SubscribersSchool"/>
-            <xsd:enumeration value="SubsequentOwner"/>
-            <xsd:enumeration value="Sub-Servicer"/>
-            <xsd:enumeration value="Subsidiary"/>
-            <xsd:enumeration value="SubsidiaryDivision"/>
-            <xsd:enumeration value="SubstituteSupplier"/>
-            <xsd:enumeration value="SuccessfulJobApplicant"/>
-            <xsd:enumeration value="SupervisingHealthCareProvider"/>
-            <xsd:enumeration value="SupervisingPhysician"/>
-            <xsd:enumeration value="Supervisor"/>
-            <xsd:enumeration value="SupervisoryAppraiserName"/>
-            <xsd:enumeration value="Supplier"/>
-            <xsd:enumeration value="SupplierOrManufacturer"/>
-            <xsd:enumeration value="SuppliersCorporateOffice"/>
-            <xsd:enumeration value="SupplierWorkTeam"/>
-            <xsd:enumeration value="SupplySource"/>
-            <xsd:enumeration value="SupportingPersonnel"/>
-            <xsd:enumeration value="SupportParty"/>
-            <xsd:enumeration value="Surety"/>
-            <xsd:enumeration value="SuretyForAdditions"/>
-            <xsd:enumeration value="SuretyForAntidumpingOrCountervailingDuty"/>
-            <xsd:enumeration value="SurfaceDischargeAgency"/>
-            <xsd:enumeration value="SurfaceManagementEntity"/>
-            <xsd:enumeration value="Surgeon"/>
-            <xsd:enumeration value="SurplusDealer"/>
-            <xsd:enumeration value="Surveyor-PofessionalQuantity"/>
-            <xsd:enumeration value="SurveyorQuantity"/>
-            <xsd:enumeration value="SurveyorTopographical"/>
-            <xsd:enumeration value="System"/>
-            <xsd:enumeration value="TankFarm"/>
-            <xsd:enumeration value="TankFarmOwner"/>
-            <xsd:enumeration value="TariffIssuer"/>
-            <xsd:enumeration value="TaxAddress"/>
-            <xsd:enumeration value="TaxAuthority"/>
-            <xsd:enumeration value="TaxCollectorsOffice"/>
-            <xsd:enumeration value="TaxExemptOrganization"/>
-            <xsd:enumeration value="Team"/>
-            <xsd:enumeration value="TechnicalOffice"/>
-            <xsd:enumeration value="TelephoneAnsweringServiceBureau"/>
-            <xsd:enumeration value="Tenant"/>
-            <xsd:enumeration value="TenantManager"/>
-            <xsd:enumeration value="Tenderer"/>
-            <xsd:enumeration value="Terminal"/>
-            <xsd:enumeration value="TerminalLocation"/>
-            <xsd:enumeration value="TerminalOperator"/>
-            <xsd:enumeration value="TertiaryPayer"/>
-            <xsd:enumeration value="TestingLaboratory"/>
-            <xsd:enumeration value="TestingService"/>
-            <xsd:enumeration value="TestSponsor"/>
-            <xsd:enumeration value="TheaterCircuit"/>
-            <xsd:enumeration value="Theatre"/>
-            <xsd:enumeration value="TherapeuticRadioisotopeFacility"/>
-            <xsd:enumeration value="ThirdParty"/>
-            <xsd:enumeration value="ThirdPartyAdministrator"/>
-            <xsd:enumeration value="ThirdPartyInvestmentAdvisor"/>
-            <xsd:enumeration value="ThirdPartyMarketer"/>
-            <xsd:enumeration value="ThirdPartyRepricingOrganization"/>
-            <xsd:enumeration value="ThirdPartyRepricingPreferredProviderOrganization"/>
-            <xsd:enumeration value="ThirdPartyReviewingOrganization"/>
-            <xsd:enumeration value="ThirdPartyReviewingPreferredProviderOrganization"/>
-            <xsd:enumeration value="Titleholder"/>
-            <xsd:enumeration value="TitleInsuranceServicesProvider"/>
-            <xsd:enumeration value="TitleUnderwriter"/>
-            <xsd:enumeration value="Tooling"/>
-            <xsd:enumeration value="ToolingDesign"/>
-            <xsd:enumeration value="ToolingFabrication"/>
-            <xsd:enumeration value="ToolSource"/>
-            <xsd:enumeration value="TopParentCompanyInSameCountry"/>
-            <xsd:enumeration value="TowingAgency"/>
-            <xsd:enumeration value="Tradename"/>
-            <xsd:enumeration value="TradeNameSynonym"/>
-            <xsd:enumeration value="TradeUnion"/>
-            <xsd:enumeration value="TrainingInstitution"/>
-            <xsd:enumeration value="TransferPoint"/>
-            <xsd:enumeration value="TransferringParty"/>
-            <xsd:enumeration value="TransferTo"/>
-            <xsd:enumeration value="TransitAuthority"/>
-            <xsd:enumeration value="TransitChargePayer"/>
-            <xsd:enumeration value="TransitFreightForwarder"/>
-            <xsd:enumeration value="TransitPrincipal"/>
-            <xsd:enumeration value="TransitPrincipalsAgentOrRepresentative"/>
-            <xsd:enumeration value="Transmitter"/>
-            <xsd:enumeration value="TransportationOffice"/>
-            <xsd:enumeration value="TransporterOfHazardousWaste"/>
-            <xsd:enumeration value="TransshipmentParty"/>
-            <xsd:enumeration value="TraumaCenter"/>
-            <xsd:enumeration value="TreatmentFacility"/>
-            <xsd:enumeration value="TribalGovernment"/>
-            <xsd:enumeration value="Trust"/>
-            <xsd:enumeration value="Trustee"/>
-            <xsd:enumeration value="TrusteesAttorney"/>
-            <xsd:enumeration value="TrustOfficer"/>
-            <xsd:enumeration value="TrustOrEstate"/>
-            <xsd:enumeration value="TuberculosisAndOTherRespiratoryDiseasesFacility"/>
-            <xsd:enumeration value="UltimateConsignee"/>
-            <xsd:enumeration value="UltimateCustomer"/>
-            <xsd:enumeration value="UltimateParentCompany"/>
-            <xsd:enumeration value="UltimateSameCountryParentCompany"/>
-            <xsd:enumeration value="UltrasoundUnit"/>
-            <xsd:enumeration value="UnassignedAgent"/>
-            <xsd:enumeration value="Underwriter"/>
-            <xsd:enumeration value="UnexpectedHandlingParty"/>
-            <xsd:enumeration value="Union"/>
-            <xsd:enumeration value="UnitedStatesCustomsBroker"/>
-            <xsd:enumeration value="UnitedStatesOverseasSecurityAdministrationOffice"/>
-            <xsd:enumeration value="UnitProperty"/>
-            <xsd:enumeration value="University-CollegeOrSchool"/>
-            <xsd:enumeration value="UnloadingParty"/>
-            <xsd:enumeration value="UnserviceableMaterialConsignee"/>
-            <xsd:enumeration value="UpstreamMeterLocation"/>
-            <xsd:enumeration value="UpstreamParty"/>
-            <xsd:enumeration value="USTrustee"/>
-            <xsd:enumeration value="UtilizationManagementOrganization"/>
-            <xsd:enumeration value="VacationHome"/>
-            <xsd:enumeration value="ValidatingParty"/>
-            <xsd:enumeration value="ValueAddedNetworkProvider"/>
-            <xsd:enumeration value="Vehicle"/>
-            <xsd:enumeration value="VehicleCustodian"/>
-            <xsd:enumeration value="VehicleSalvageAssignment"/>
-            <xsd:enumeration value="Vendor"/>
-            <xsd:enumeration value="VesselMaster"/>
-            <xsd:enumeration value="VesselName"/>
-            <xsd:enumeration value="Veteran-OwnedBusiness"/>
-            <xsd:enumeration value="VeteransAdministrationFacility"/>
-            <xsd:enumeration value="VeteransAdministrationLoanAuthorizedSupplier"/>
-            <xsd:enumeration value="VeteransAdministrationLoanGuarantyAuthority"/>
-            <xsd:enumeration value="Veterinarian"/>
-            <xsd:enumeration value="VeterinaryHospital"/>
-            <xsd:enumeration value="Victim"/>
-            <xsd:enumeration value="VideoDepartment"/>
-            <xsd:enumeration value="VolunteerServicesDepartment"/>
-            <xsd:enumeration value="Voter"/>
-            <xsd:enumeration value="WageEarner"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="WarehouseDepositor"/>
-            <xsd:enumeration value="WarehouseKeeper"/>
-            <xsd:enumeration value="Warranter"/>
-            <xsd:enumeration value="WaterAmbulanceServices"/>
-            <xsd:enumeration value="WaterSystem"/>
-            <xsd:enumeration value="WeightingParty"/>
-            <xsd:enumeration value="WellCasingDepthAuthority"/>
-            <xsd:enumeration value="WellPadConstructionContractor"/>
-            <xsd:enumeration value="Wholesaler"/>
-            <xsd:enumeration value="Wholly-OwnedSubsidiary"/>
-            <xsd:enumeration value="Winner"/>
-            <xsd:enumeration value="WithdrawalPoint"/>
-            <xsd:enumeration value="Witness"/>
-            <xsd:enumeration value="WitnessForDefendant"/>
-            <xsd:enumeration value="WitnessForPlaintiff"/>
-            <xsd:enumeration value="WitnessForProsecution"/>
-            <xsd:enumeration value="Woman-OwnedBusiness"/>
-            <xsd:enumeration value="Woman-OwnedBusinessLarge"/>
-            <xsd:enumeration value="Woman-OwnedBusinessSmall"/>
-            <xsd:enumeration value="WomensHealthCenterOrServices"/>
-            <xsd:enumeration value="WorksiteHealthPromotionFacility"/>
-            <xsd:enumeration value="WorksManager"/>
-            <xsd:enumeration value="WorkTeam"/>
-            <xsd:enumeration value="WritingAgent"/>
-            <xsd:enumeration value="X-RayRadiationTherapyUnit"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="OrderReferences">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="AccountCode">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Reference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ContractReferences">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfContract"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="QuoteReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Reference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OtherOrderReferences">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfReferenceCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderReferences" type="OrderReferences"/>
-    <xsd:complexType name="Reference">
-        <xsd:sequence>
-            <xsd:element name="RefNum" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="RefDate" type="xcblDatetime"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Reference" type="Reference"/>
-    <xsd:complexType name="ListOfContract">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Contract"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfContract" type="ListOfContract"/>
-    <xsd:complexType name="Contract">
-        <xsd:sequence>
-            <xsd:element name="ContractID">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ContractType"/>
-            <xsd:element minOccurs="0" ref="ValidityDates"/>
-            <xsd:element minOccurs="0" name="SystemID" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Contract" type="Contract"/>
-    <xsd:complexType name="Identifier">
-        <xsd:sequence>
-            <xsd:element ref="Agency"/>
-            <xsd:element name="Ident" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Identifier" type="Identifier"/>
-    <xsd:complexType name="Agency">
-        <xsd:sequence>
-            <xsd:element name="AgencyCoded" type="AgencyCode"/>
-            <xsd:element minOccurs="0" name="AgencyCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="AgencyDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CodeListIdentifierCoded" type="CodeListIdentifierCode"/>
-            <xsd:element minOccurs="0" name="CodeListIdentifierCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Agency" type="Agency"/>
-    <xsd:simpleType name="AgencyCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AAMVA"/>
-            <xsd:enumeration value="ABCD-TheMicrocomputerIndustryAssociation"/>
-            <xsd:enumeration value="ACGIH"/>
-            <xsd:enumeration value="ACORD"/>
-            <xsd:enumeration value="AdvertisingIndustry"/>
-            <xsd:enumeration value="AECMA"/>
-            <xsd:enumeration value="AIHA"/>
-            <xsd:enumeration value="AirTransportAssociationOfAmerica"/>
-            <xsd:enumeration value="Alabama"/>
-            <xsd:enumeration value="Alaska"/>
-            <xsd:enumeration value="AluminumAssociation"/>
-            <xsd:enumeration value="AmericanApparelManufacturersAssociation"/>
-            <xsd:enumeration value="AmericanFurnitureManufacturersAssociation"/>
-            <xsd:enumeration value="AmericanIronAndSteelInstitute"/>
-            <xsd:enumeration value="AmericanLandTitleAssociation"/>
-            <xsd:enumeration value="AmericanMedicalAssociation"/>
-            <xsd:enumeration value="AmericanPaperInstitute"/>
-            <xsd:enumeration value="AmericanPetroleumInstitute"/>
-            <xsd:enumeration value="APWAAndOCSI"/>
-            <xsd:enumeration value="AmericanSocietyForAutomationInPharmacy"/>
-            <xsd:enumeration value="AmericanTextileManufacturersInstitute"/>
-            <xsd:enumeration value="AmericanTruckingAssociations"/>
-            <xsd:enumeration value="ANSIAccreditedStandardsCommittee"/>
-            <xsd:enumeration value="Arizona"/>
-            <xsd:enumeration value="Arkansas"/>
-            <xsd:enumeration value="ASME"/>
-            <xsd:enumeration value="AssignedByBuyerOrBuyersAgent"/>
-            <xsd:enumeration value="AssignedByCarrier"/>
-            <xsd:enumeration value="AssignedByDistributor"/>
-            <xsd:enumeration value="AssignedByManufacturer"/>
-            <xsd:enumeration value="AssignedByMarketPlace"/>
-            <xsd:enumeration value="AssignedByNationalTradeAgency"/>
-            <xsd:enumeration value="AssignedByOwnerOfOperation"/>
-            <xsd:enumeration value="AssignedByPartyOriginatingTheMessage"/>
-            <xsd:enumeration value="AssignedBySellerOrSellersAgent"/>
-            <xsd:enumeration value="AssignedByTransportCompany"/>
-            <xsd:enumeration value="ASTM"/>
-            <xsd:enumeration value="AT"/>
-            <xsd:enumeration value="AT-GeldausgabeautomatenServiceGesellschaftMBH"/>
-            <xsd:enumeration value="AT-AustrianCustoms"/>
-            <xsd:enumeration value="AT-AustrianPTT"/>
-            <xsd:enumeration value="AT-VerbandOesterreichischerBankenUndBankiers"/>
-            <xsd:enumeration value="AU-ACOS"/>
-            <xsd:enumeration value="AU-ADA"/>
-            <xsd:enumeration value="AU-AIHW"/>
-            <xsd:enumeration value="AU-APCA"/>
-            <xsd:enumeration value="AU-AQIS"/>
-            <xsd:enumeration value="AU-AustrianCustomsService"/>
-            <xsd:enumeration value="AU-DOH"/>
-            <xsd:enumeration value="AU-HIC"/>
-            <xsd:enumeration value="AU-LIFA"/>
-            <xsd:enumeration value="AU-NCCH"/>
-            <xsd:enumeration value="AU-ROA"/>
-            <xsd:enumeration value="AU-SAA"/>
-            <xsd:enumeration value="AU-Tradegate"/>
-            <xsd:enumeration value="AWS"/>
-            <xsd:enumeration value="AYSA"/>
-            <xsd:enumeration value="BE"/>
-            <xsd:enumeration value="BE-BelgianBankersAssociation"/>
-            <xsd:enumeration value="BE-BelgianCustoms"/>
-            <xsd:enumeration value="BE-BelgianMinistryOfFinance"/>
-            <xsd:enumeration value="Bellcore"/>
-            <xsd:enumeration value="BG"/>
-            <xsd:enumeration value="BIC"/>
-            <xsd:enumeration value="BookIndustrySystemsAdvisoryCommittee"/>
-            <xsd:enumeration value="BR-BancoCentralDoBrazil"/>
-            <xsd:enumeration value="BR-MAAndRAAAndLIMNETAndRINET"/>
-            <xsd:enumeration value="CA-CPA"/>
-            <xsd:enumeration value="CA-CSIO"/>
-            <xsd:enumeration value="California"/>
-            <xsd:enumeration value="CaliforniaLandTitleAssociation"/>
-            <xsd:enumeration value="CanadianFreightClassification"/>
-            <xsd:enumeration value="CarbideManufacturers"/>
-            <xsd:enumeration value="CA-RevenueCanadaCustomsAndExcise"/>
-            <xsd:enumeration value="CAS"/>
-            <xsd:enumeration value="CA-SCC"/>
-            <xsd:enumeration value="CCC"/>
-            <xsd:enumeration value="CEC"/>
-            <xsd:enumeration value="CECDGXIIID5"/>
-            <xsd:enumeration value="CECDGXXI01"/>
-            <xsd:enumeration value="CECDGXXIB1"/>
-            <xsd:enumeration value="CECDGXXXIV"/>
-            <xsd:enumeration value="CEFIC"/>
-            <xsd:enumeration value="CH"/>
-            <xsd:enumeration value="CH-AdministrationFederaleDesContributions"/>
-            <xsd:enumeration value="CH-AssociationSuisseCodeDesArticles"/>
-            <xsd:enumeration value="CH-Carbura"/>
-            <xsd:enumeration value="CH-CentraleSuissePourLImportationDuCharbon"/>
-            <xsd:enumeration value="CH-DirectionGeneraleDesDouanes"/>
-            <xsd:enumeration value="CH-DivisionDesImportationsEtExportations"/>
-            <xsd:enumeration value="CH-EntrepriseDesPTT"/>
-            <xsd:enumeration value="CH-MinistryOfTaxationCentralCustomsAndTaxAdministration"/>
-            <xsd:enumeration value="CH-OfficeFiduciaireDesImportateursDeDenreesAlimentaires"/>
-            <xsd:enumeration value="CH-SwissSecuritiesClearingCorporation"/>
-            <xsd:enumeration value="CH-TelekursAG"/>
-            <xsd:enumeration value="CIDX"/>
-            <xsd:enumeration value="CIECA"/>
-            <xsd:enumeration value="CodeAssignedByTheOrganizationThatIsTheUltimateDestinationOfTheTransactionSet"/>
-            <xsd:enumeration value="CO-DIAN"/>
-            <xsd:enumeration value="Colorado"/>
-            <xsd:enumeration value="CommanderRomeAirDevelopmentCenter"/>
-            <xsd:enumeration value="ConcordEDIGroup"/>
-            <xsd:enumeration value="Connecticut"/>
-            <xsd:enumeration value="ConventionsOnSADAndTransit"/>
-            <xsd:enumeration value="CopperAndBrassFabricatorsCouncil"/>
-            <xsd:enumeration value="CO-SBDC"/>
-            <xsd:enumeration value="CountyDesignatorCode"/>
-            <xsd:enumeration value="CSI"/>
-            <xsd:enumeration value="CSIExtended"/>
-            <xsd:enumeration value="CUSIP"/>
-            <xsd:enumeration value="CZ"/>
-            <xsd:enumeration value="DE"/>
-            <xsd:enumeration value="DE-ARE"/>
-            <xsd:enumeration value="DE-BDI"/>
-            <xsd:enumeration value="DE-BIA"/>
-            <xsd:enumeration value="DE-BRD"/>
-            <xsd:enumeration value="DE-DIN"/>
-            <xsd:enumeration value="DE-DTAG"/>
-            <xsd:enumeration value="DE-EDIBAU"/>
-            <xsd:enumeration value="DefenseLogisticsAgency"/>
-            <xsd:enumeration value="DE-GDV"/>
-            <xsd:enumeration value="DE-GermanBankersAssociation"/>
-            <xsd:enumeration value="DE-GermanCustoms"/>
-            <xsd:enumeration value="DE-GMBH"/>
-            <xsd:enumeration value="Delaware"/>
-            <xsd:enumeration value="DepartmentOfAirForce"/>
-            <xsd:enumeration value="DepartmentOfArmy"/>
-            <xsd:enumeration value="DepartmentOfDefense"/>
-            <xsd:enumeration value="DepartmentOfHealthAndHumanServices"/>
-            <xsd:enumeration value="DepartmentOfHousingAndUrbanDevelopment"/>
-            <xsd:enumeration value="DepartmentOfLabor"/>
-            <xsd:enumeration value="DepartmentOfTheNavy"/>
-            <xsd:enumeration value="DE-SiemensAG"/>
-            <xsd:enumeration value="DE-VDA"/>
-            <xsd:enumeration value="DFAS"/>
-            <xsd:enumeration value="DIN"/>
-            <xsd:enumeration value="DirectionGeneraleDesDouanesEtDroitsIndirects"/>
-            <xsd:enumeration value="DistrictOfColumbia"/>
-            <xsd:enumeration value="DK"/>
-            <xsd:enumeration value="DK-EAN"/>
-            <xsd:enumeration value="DK-MHA"/>
-            <xsd:enumeration value="DK-NBH"/>
-            <xsd:enumeration value="DK-PBS"/>
-            <xsd:enumeration value="DunAndBradstreet"/>
-            <xsd:enumeration value="EAN"/>
-            <xsd:enumeration value="Edibuild"/>
-            <xsd:enumeration value="EdielNordicForum"/>
-            <xsd:enumeration value="EDIFICE"/>
-            <xsd:enumeration value="EDITEUR"/>
-            <xsd:enumeration value="EDITEX"/>
-            <xsd:enumeration value="EEG7"/>
-            <xsd:enumeration value="EIDX"/>
-            <xsd:enumeration value="ElectricUtilities"/>
-            <xsd:enumeration value="ElectronicIndustriesAssociation"/>
-            <xsd:enumeration value="EPA"/>
-            <xsd:enumeration value="ES"/>
-            <xsd:enumeration value="ESDX"/>
-            <xsd:enumeration value="ES-ODETT"/>
-            <xsd:enumeration value="ES-SpanishCustoms"/>
-            <xsd:enumeration value="EU-EDIFICAS"/>
-            <xsd:enumeration value="EU-ETIS"/>
-            <xsd:enumeration value="EU-ROFER"/>
-            <xsd:enumeration value="FASLINC"/>
-            <xsd:enumeration value="FCC"/>
-            <xsd:enumeration value="FCI"/>
-            <xsd:enumeration value="FDA"/>
-            <xsd:enumeration value="FederalGovernment"/>
-            <xsd:enumeration value="FederalHighwayAdministration"/>
-            <xsd:enumeration value="FI"/>
-            <xsd:enumeration value="FI-ATA"/>
-            <xsd:enumeration value="FI-FinnishCustoms"/>
-            <xsd:enumeration value="FI-TB"/>
-            <xsd:enumeration value="FI-TheFinnishBankersAssociation"/>
-            <xsd:enumeration value="Florida"/>
-            <xsd:enumeration value="FR"/>
-            <xsd:enumeration value="FR-AGF"/>
-            <xsd:enumeration value="FR-ArvA"/>
-            <xsd:enumeration value="FR-BanqueDeFrance"/>
-            <xsd:enumeration value="FR-CFONB"/>
-            <xsd:enumeration value="FR-CNAMTS"/>
-            <xsd:enumeration value="FR-DCP"/>
-            <xsd:enumeration value="FR-DGI"/>
-            <xsd:enumeration value="FR-EDIFCAS"/>
-            <xsd:enumeration value="FR-EDIFRANCE"/>
-            <xsd:enumeration value="FR-EDITRANSPORT"/>
-            <xsd:enumeration value="FR-GALIA"/>
-            <xsd:enumeration value="FR-GENCOD"/>
-            <xsd:enumeration value="FR-INSEE"/>
-            <xsd:enumeration value="FR-RC"/>
-            <xsd:enumeration value="GB"/>
-            <xsd:enumeration value="GB-ABI"/>
-            <xsd:enumeration value="GB-ABTA"/>
-            <xsd:enumeration value="GB-ArticleNumberAssociationLimited"/>
-            <xsd:enumeration value="GB-AssociationForPaymentClearingServices"/>
-            <xsd:enumeration value="GB-BACSLimited"/>
-            <xsd:enumeration value="GB-CHAPSAndTownClearingCompanyLimited"/>
-            <xsd:enumeration value="GB-FLEETNET"/>
-            <xsd:enumeration value="GB-HMCustomsAndExcise"/>
-            <xsd:enumeration value="GB-ODETTE"/>
-            <xsd:enumeration value="GB-TheClearingHouse"/>
-            <xsd:enumeration value="Georgia"/>
-            <xsd:enumeration value="GraphicsCommunicationsAssociation"/>
-            <xsd:enumeration value="GRE"/>
-            <xsd:enumeration value="GR-GreekCustoms"/>
-            <xsd:enumeration value="GSA"/>
-            <xsd:enumeration value="GTIN"/>
-            <xsd:enumeration value="Hawaii"/>
-            <xsd:enumeration value="HealthCareFinancingAdministration"/>
-            <xsd:enumeration value="HealthInsuranceAssociationOfAmerica"/>
-            <xsd:enumeration value="HK-HongKongCustoms"/>
-            <xsd:enumeration value="HU"/>
-            <xsd:enumeration value="IAPSO"/>
-            <xsd:enumeration value="IARC"/>
-            <xsd:enumeration value="IATA"/>
-            <xsd:enumeration value="ICAO"/>
-            <xsd:enumeration value="ICC"/>
-            <xsd:enumeration value="ICS"/>
-            <xsd:enumeration value="Idaho"/>
-            <xsd:enumeration value="IE"/>
-            <xsd:enumeration value="IE-RevenueCommissionersCustomsAEProject"/>
-            <xsd:enumeration value="IL-IsraelCustoms"/>
-            <xsd:enumeration value="Illinois"/>
-            <xsd:enumeration value="IMO"/>
-            <xsd:enumeration value="Indiana"/>
-            <xsd:enumeration value="InterContainerInterFrigo"/>
-            <xsd:enumeration value="InternationalAssociationOfCorporationAdministrators"/>
-            <xsd:enumeration value="InternationalAssociationOfIndustrialAccidentBoardsAndCommissions"/>
-            <xsd:enumeration value="InternationalStandardsOrganization"/>
-            <xsd:enumeration value="Iowa"/>
-            <xsd:enumeration value="IP"/>
-            <xsd:enumeration value="IronAndSteelStandardsCommitteeISM"/>
-            <xsd:enumeration value="IS-IcelandCustoms"/>
-            <xsd:enumeration value="ISO"/>
-            <xsd:enumeration value="InsuranceServicesOffice"/>
-            <xsd:enumeration value="IT"/>
-            <xsd:enumeration value="IT-AssociazioneBancariaItaliana"/>
-            <xsd:enumeration value="IT-ItalianCustoms"/>
-            <xsd:enumeration value="IT-ODETTE"/>
-            <xsd:enumeration value="IT-SocieataInterbancariaPerLAutomazione"/>
-            <xsd:enumeration value="JapaneseStandardsAssociation"/>
-            <xsd:enumeration value="JP-JapanCustoms"/>
-            <xsd:enumeration value="JP-MOT"/>
-            <xsd:enumeration value="JP-MSA"/>
-            <xsd:enumeration value="JP-NACCS"/>
-            <xsd:enumeration value="Kansas"/>
-            <xsd:enumeration value="Kentucky"/>
-            <xsd:enumeration value="LeasingIndustry"/>
-            <xsd:enumeration value="LifeAndAnnuityIndustryCommittee"/>
-            <xsd:enumeration value="LI-LiechtensteinAuthority"/>
-            <xsd:enumeration value="LloydsRegisterOfShipping"/>
-            <xsd:enumeration value="Louisiana"/>
-            <xsd:enumeration value="LU"/>
-            <xsd:enumeration value="LU-LuxembourgCustoms"/>
-            <xsd:enumeration value="Maine"/>
-            <xsd:enumeration value="ManufacturingCompany"/>
-            <xsd:enumeration value="Maryland"/>
-            <xsd:enumeration value="Massachusetts"/>
-            <xsd:enumeration value="MaterialSafetyDataSheetProvider"/>
-            <xsd:enumeration value="Michigan"/>
-            <xsd:enumeration value="MilitaryStandard"/>
-            <xsd:enumeration value="Minnesota"/>
-            <xsd:enumeration value="Mississippi"/>
-            <xsd:enumeration value="Missouri"/>
-            <xsd:enumeration value="Montana"/>
-            <xsd:enumeration value="MortgageBankersAssociationOfAmerica"/>
-            <xsd:enumeration value="MY-DagangNet"/>
-            <xsd:enumeration value="MY-MalaysiaCentralBank"/>
-            <xsd:enumeration value="MY-MalaysiaCustomsAndExcise"/>
-            <xsd:enumeration value="NACE"/>
-            <xsd:enumeration value="NAGS"/>
-            <xsd:enumeration value="NationalAlcoholBeverageControlAssociation"/>
-            <xsd:enumeration value="NationalAssociationOfBusinessAndEducationalRadio"/>
-            <xsd:enumeration value="NationalBusinessFormsAssociation"/>
-            <xsd:enumeration value="NationalCenterforStateCourts"/>
-            <xsd:enumeration value="NationalCottonCouncilOfAmerica"/>
-            <xsd:enumeration value="NationalCouncilOnCompensationInsurance"/>
-            <xsd:enumeration value="NationalRetailMerchantsAssociation"/>
-            <xsd:enumeration value="NationalWholesaleDruggistsAssociation"/>
-            <xsd:enumeration value="NATO"/>
-            <xsd:enumeration value="NaturalGasUtilities"/>
-            <xsd:enumeration value="NCIC"/>
-            <xsd:enumeration value="Nebraska"/>
-            <xsd:enumeration value="NEMA"/>
-            <xsd:enumeration value="Nevada"/>
-            <xsd:enumeration value="NewHampshire"/>
-            <xsd:enumeration value="NewJersey"/>
-            <xsd:enumeration value="NewMexico"/>
-            <xsd:enumeration value="NewspaperAssociationOfAmerica"/>
-            <xsd:enumeration value="NewYork"/>
-            <xsd:enumeration value="NFPA"/>
-            <xsd:enumeration value="NICB"/>
-            <xsd:enumeration value="NIOSH"/>
-            <xsd:enumeration value="NL"/>
-            <xsd:enumeration value="NetherlandsRailways"/>
-            <xsd:enumeration value="NL-BankGirocentraleBV"/>
-            <xsd:enumeration value="NL-BEANETBV"/>
-            <xsd:enumeration value="NL-EAN"/>
-            <xsd:enumeration value="NL-InterpayCards"/>
-            <xsd:enumeration value="NL-InterpayGiraal"/>
-            <xsd:enumeration value="NL-NetherlandsCustoms"/>
-            <xsd:enumeration value="NL-ODETTE"/>
-            <xsd:enumeration value="NorweigianStateRailway"/>
-            <xsd:enumeration value="NO"/>
-            <xsd:enumeration value="NO-NORPRO"/>
-            <xsd:enumeration value="NO-NorwegianBankersAssociation"/>
-            <xsd:enumeration value="NO-NorwegianCustoms"/>
-            <xsd:enumeration value="NO-NorwegianInterbankResearchOrganization"/>
-            <xsd:enumeration value="NorthAmerica-TelecommunicationsIndustryForum"/>
-            <xsd:enumeration value="NorthCarolina"/>
-            <xsd:enumeration value="NorthDakota"/>
-            <xsd:enumeration value="NTP"/>
-            <xsd:enumeration value="NZ-NewZealandCustoms"/>
-            <xsd:enumeration value="ODETTE"/>
-            <xsd:enumeration value="OfficeOfManagementAndBudget"/>
-            <xsd:enumeration value="OfficeOfWorkersCompensationPrograms"/>
-            <xsd:enumeration value="OfficeProducts"/>
-            <xsd:enumeration value="Ohio"/>
-            <xsd:enumeration value="Oklahoma"/>
-            <xsd:enumeration value="OpticalIndustry"/>
-            <xsd:enumeration value="Oregon"/>
-            <xsd:enumeration value="OSHA"/>
-            <xsd:enumeration value="Pennsylvania"/>
-            <xsd:enumeration value="PennsylvaniaCourts"/>
-            <xsd:enumeration value="PL"/>
-            <xsd:enumeration value="PT"/>
-            <xsd:enumeration value="PT-CB"/>
-            <xsd:enumeration value="PT-PortugueseCustoms"/>
-            <xsd:enumeration value="PT-SIBS"/>
-            <xsd:enumeration value="RealEstateInformationIndustry"/>
-            <xsd:enumeration value="RhodeIsland"/>
-            <xsd:enumeration value="RINET"/>
-            <xsd:enumeration value="RO"/>
-            <xsd:enumeration value="RU-BIC"/>
-            <xsd:enumeration value="RU-SFT"/>
-            <xsd:enumeration value="SAE"/>
-            <xsd:enumeration value="SA-SaudiArabiaCustoms"/>
-            <xsd:enumeration value="SE"/>
-            <xsd:enumeration value="SE-CentralBank"/>
-            <xsd:enumeration value="SE-ODETTE"/>
-            <xsd:enumeration value="SE-SvenskaBankfoereningen"/>
-            <xsd:enumeration value="SE-SwedishCustoms"/>
-            <xsd:enumeration value="ShippersAssociation"/>
-            <xsd:enumeration value="SISAC"/>
-            <xsd:enumeration value="SK"/>
-            <xsd:enumeration value="SouthCarolina"/>
-            <xsd:enumeration value="SouthDakota"/>
-            <xsd:enumeration value="StateAgencyAssigned"/>
-            <xsd:enumeration value="StudentLoanGuarantor"/>
-            <xsd:enumeration value="SWIFT"/>
-            <xsd:enumeration value="TALC"/>
-            <xsd:enumeration value="TelecommunicationsIndustry"/>
-            <xsd:enumeration value="TemporaryHelpIndustry"/>
-            <xsd:enumeration value="Tennessee"/>
-            <xsd:enumeration value="Texas"/>
-            <xsd:enumeration value="TexasLandTitleAssociation"/>
-            <xsd:enumeration value="TextileDistributorsAssociationInc"/>
-            <xsd:enumeration value="TDCC-EDIA"/>
-            <xsd:enumeration value="TW-ChineseTaipeiCustoms"/>
-            <xsd:enumeration value="TW-Trade-van"/>
-            <xsd:enumeration value="UCS"/>
-            <xsd:enumeration value="UIC"/>
-            <xsd:enumeration value="UN"/>
-            <xsd:enumeration value="UNECE"/>
-            <xsd:enumeration value="UNCTAD"/>
-            <xsd:enumeration value="UnitedStatesCourts"/>
-            <xsd:enumeration value="UnitedStatesMarineCorps"/>
-            <xsd:enumeration value="UnitedStatesNuclearRegulatoryCommission"/>
-            <xsd:enumeration value="UPU"/>
-            <xsd:enumeration value="US-AA"/>
-            <xsd:enumeration value="US-AAR"/>
-            <xsd:enumeration value="US-ABA"/>
-            <xsd:enumeration value="US-AIAG"/>
-            <xsd:enumeration value="US-AirTransportAssociationOfAmerica"/>
-            <xsd:enumeration value="US-AISI"/>
-            <xsd:enumeration value="US-AmericanPetroleumInstitute"/>
-            <xsd:enumeration value="US-ANSIASCX12"/>
-            <xsd:enumeration value="US-API"/>
-            <xsd:enumeration value="US-ASTM"/>
-            <xsd:enumeration value="US-ATF"/>
-            <xsd:enumeration value="US-BATF"/>
-            <xsd:enumeration value="US-BXA"/>
-            <xsd:enumeration value="US-CHIPS"/>
-            <xsd:enumeration value="US-CIDX"/>
-            <xsd:enumeration value="US-CM"/>
-            <xsd:enumeration value="US-COPAS"/>
-            <xsd:enumeration value="US-DAndB"/>
-            <xsd:enumeration value="US-DCI"/>
-            <xsd:enumeration value="US-DEA"/>
-            <xsd:enumeration value="US-DHHS"/>
-            <xsd:enumeration value="US-DISA"/>
-            <xsd:enumeration value="US-DISCUS"/>
-            <xsd:enumeration value="US-DLMSO"/>
-            <xsd:enumeration value="US-DOA"/>
-            <xsd:enumeration value="US-DOD"/>
-            <xsd:enumeration value="US-DODAAC"/>
-            <xsd:enumeration value="US-DOL"/>
-            <xsd:enumeration value="US-DOT"/>
-            <xsd:enumeration value="US-DSAA"/>
-            <xsd:enumeration value="US-EIA"/>
-            <xsd:enumeration value="US-FCC"/>
-            <xsd:enumeration value="US-FDA"/>
-            <xsd:enumeration value="US-FIPS"/>
-            <xsd:enumeration value="US-FMC"/>
-            <xsd:enumeration value="US-FWS"/>
-            <xsd:enumeration value="US-GSA"/>
-            <xsd:enumeration value="US-HBICC"/>
-            <xsd:enumeration value="US-HI"/>
-            <xsd:enumeration value="US-HL7"/>
-            <xsd:enumeration value="US-ISA"/>
-            <xsd:enumeration value="US-MARAD"/>
-            <xsd:enumeration value="US-NABCA"/>
-            <xsd:enumeration value="US-NAIC"/>
-            <xsd:enumeration value="USNationalCenterForHealthStatisticsCommissionOfProfessionalAndHospitalActivities"/>
-            <xsd:enumeration value="US-NationalMotorFreightClassificationAssociation"/>
-            <xsd:enumeration value="US-NationalRetailFederation"/>
-            <xsd:enumeration value="US-NCCMA"/>
-            <xsd:enumeration value="US-NIST"/>
-            <xsd:enumeration value="US-NRC"/>
-            <xsd:enumeration value="US-NWDA"/>
-            <xsd:enumeration value="US-ODTC"/>
-            <xsd:enumeration value="US-OFAC"/>
-            <xsd:enumeration value="US-OMB"/>
-            <xsd:enumeration value="US-StandardCarrierAlphaCode"/>
-            <xsd:enumeration value="US-TDCC"/>
-            <xsd:enumeration value="US-UCC"/>
-            <xsd:enumeration value="US-UN-SPSC"/>
-            <xsd:enumeration value="US-UOP"/>
-            <xsd:enumeration value="US-USCensusBureau"/>
-            <xsd:enumeration value="US-USCustomsService"/>
-            <xsd:enumeration value="US-USPS"/>
-            <xsd:enumeration value="US-VA"/>
-            <xsd:enumeration value="US-VICS"/>
-            <xsd:enumeration value="US-WSSA"/>
-            <xsd:enumeration value="Utah"/>
-            <xsd:enumeration value="UtilityIndustryGroup"/>
-            <xsd:enumeration value="Vermont"/>
-            <xsd:enumeration value="VICS"/>
-            <xsd:enumeration value="Virginia"/>
-            <xsd:enumeration value="Washington"/>
-            <xsd:enumeration value="WestVirginia"/>
-            <xsd:enumeration value="WHMIS"/>
-            <xsd:enumeration value="Wisconsin"/>
-            <xsd:enumeration value="Wyoming"/>
-            <xsd:enumeration value="DirectorGeneralOfCanada"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="CodeListIdentifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AcceptanceSiteCode"/>
-            <xsd:enumeration value="AccidentParameters"/>
-            <xsd:enumeration value="AccordEuropeenRelatifAuTransportInternationalDesMarchandises"/>
-            <xsd:enumeration value="AccountAnalysisCodes"/>
-            <xsd:enumeration value="AccountCharacteristicsCode"/>
-            <xsd:enumeration value="AccountingInformationIdentifier"/>
-            <xsd:enumeration value="AccountRating"/>
-            <xsd:enumeration value="AccountRelationshipType"/>
-            <xsd:enumeration value="AcquisitionAdviceCode"/>
-            <xsd:enumeration value="AcquisitionMethodCode"/>
-            <xsd:enumeration value="AcquisitionMethodSuffixCode"/>
-            <xsd:enumeration value="ActionCode"/>
-            <xsd:enumeration value="ActivitePrincipaleExerceeCode"/>
-            <xsd:enumeration value="Activity"/>
-            <xsd:enumeration value="AdmittingDiagnosis"/>
-            <xsd:enumeration value="AdverseEventCode"/>
-            <xsd:enumeration value="AdverseEventOutcomeCode"/>
-            <xsd:enumeration value="AdviceCode"/>
-            <xsd:enumeration value="AgentStatusCode"/>
-            <xsd:enumeration value="AidTypeCode"/>
-            <xsd:enumeration value="AirCarrier"/>
-            <xsd:enumeration value="AirCommodityAndSpecialHandlingCode"/>
-            <xsd:enumeration value="AircraftMissionDesignSeriesCode"/>
-            <xsd:enumeration value="AirDimensionCode"/>
-            <xsd:enumeration value="AirportOrCity"/>
-            <xsd:enumeration value="AirportTerminal"/>
-            <xsd:enumeration value="AirTerminalIdentifierCode"/>
-            <xsd:enumeration value="AllegationTypeCode"/>
-            <xsd:enumeration value="AllPatientDiagnosisRelatedGroups"/>
-            <xsd:enumeration value="AllPatientRefinedDiagnosisRelatedGroups"/>
-            <xsd:enumeration value="AlterationLookup"/>
-            <xsd:enumeration value="AmbulatoryPatientGroups"/>
-            <xsd:enumeration value="AmendmentCode-Customs"/>
-            <xsd:enumeration value="AmericanPsychiatricAssociationDiagnosticStatisticalManualOfMentalDisorders"/>
-            <xsd:enumeration value="AmericanSocietyForTestingAndMaterials"/>
-            <xsd:enumeration value="AntennaPolarization"/>
-            <xsd:enumeration value="AntennaStructureType"/>
-            <xsd:enumeration value="ApplicantClassificationType"/>
-            <xsd:enumeration value="ApplicantType"/>
-            <xsd:enumeration value="ApplicationAcknowledgementAndErrorCodes"/>
-            <xsd:enumeration value="ApplicationErrorCode"/>
-            <xsd:enumeration value="ApplicationQuestionIdentifier"/>
-            <xsd:enumeration value="ApplicationType"/>
-            <xsd:enumeration value="Area"/>
-            <xsd:enumeration value="AreaOfOperation"/>
-            <xsd:enumeration value="ArrestReason"/>
-            <xsd:enumeration value="ArticleStatus"/>
-            <xsd:enumeration value="AssetDetails"/>
-            <xsd:enumeration value="AssetRecurrence"/>
-            <xsd:enumeration value="AssetStatusOrTransactionReportingCode"/>
-            <xsd:enumeration value="AssetTransferStatusCode"/>
-            <xsd:enumeration value="AssetType"/>
-            <xsd:enumeration value="AssignedByReceiver"/>
-            <xsd:enumeration value="AssignedBySender"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsDeprescriptionDistributionList"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsDeprescriptionExceptionList"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsRateEdiNetworkErrorCode"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsStandardTransportationCommodityCodeDescriptionQualifier"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsStandardTransportationCommodityCodeMasterDescriptionInformation"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsSwitchReleaseCodes"/>
-            <xsd:enumeration value="AssuredDeliveryIndicator"/>
-            <xsd:enumeration value="AuthorizationType"/>
-            <xsd:enumeration value="AutomatedClearingHouse"/>
-            <xsd:enumeration value="AutomatedDataProcessingEquipmentIdentificationCode"/>
-            <xsd:enumeration value="AwardSource"/>
-            <xsd:enumeration value="BalanceTypeCode"/>
-            <xsd:enumeration value="BankAdministrationInstitute"/>
-            <xsd:enumeration value="BankBranchSortingIdentification"/>
-            <xsd:enumeration value="BankIdentification"/>
-            <xsd:enumeration value="BankSecuritiesCode"/>
-            <xsd:enumeration value="BasisOfJurisdictionCode"/>
-            <xsd:enumeration value="BeneficiaryType"/>
-            <xsd:enumeration value="BidRejectionReason"/>
-            <xsd:enumeration value="BilledOfficeIndicatorCode"/>
-            <xsd:enumeration value="BillingAdviceCode"/>
-            <xsd:enumeration value="BillingStatusCode"/>
-            <xsd:enumeration value="BillOfLadingClauses"/>
-            <xsd:enumeration value="BoardOfInspectionAndSurveyPartLookup"/>
-            <xsd:enumeration value="BoardOfInspectionAndSurveyResponsibilityLookup"/>
-            <xsd:enumeration value="BoardOfInspectionAndSurveyShipLookup"/>
-            <xsd:enumeration value="BusinessAccountNumber"/>
-            <xsd:enumeration value="BusinessChangeCode"/>
-            <xsd:enumeration value="BusinessClassification"/>
-            <xsd:enumeration value="BusinessCreditRating"/>
-            <xsd:enumeration value="BusinessEntityFilingDetailCode"/>
-            <xsd:enumeration value="BusinessEntityFilingLocationCode"/>
-            <xsd:enumeration value="BusinessEntityFilingReportTypeCode"/>
-            <xsd:enumeration value="BusinessEntityFilingSecuritiesInformationCode"/>
-            <xsd:enumeration value="BusinessEntityFilingStatusCode"/>
-            <xsd:enumeration value="BusinessEntityFinancialInformationCode"/>
-            <xsd:enumeration value="BusinessEntityStatusCode"/>
-            <xsd:enumeration value="BusinessFunction"/>
-            <xsd:enumeration value="BusinessLegalStructureType"/>
-            <xsd:enumeration value="BusinessSizeCode"/>
-            <xsd:enumeration value="BusinessType"/>
-            <xsd:enumeration value="CallSignDirectory"/>
-            <xsd:enumeration value="CanadianInterEdi"/>
-            <xsd:enumeration value="CancellationReason"/>
-            <xsd:enumeration value="Carriers"/>
-            <xsd:enumeration value="CaseDesignatorNumber"/>
-            <xsd:enumeration value="CaseOriginCode"/>
-            <xsd:enumeration value="CashDiscountStipulationCode"/>
-            <xsd:enumeration value="CauseLookup"/>
-            <xsd:enumeration value="CauseOfInjuryCode"/>
-            <xsd:enumeration value="CauseOfLossCode"/>
-            <xsd:enumeration value="CeilingTypeCode"/>
-            <xsd:enumeration value="CertificationRequirementsCode"/>
-            <xsd:enumeration value="Charge"/>
-            <xsd:enumeration value="CitizenIdentification"/>
-            <xsd:enumeration value="City"/>
-            <xsd:enumeration value="CitySubdivision"/>
-            <xsd:enumeration value="ClaimPaymentRemarkCodes"/>
-            <xsd:enumeration value="ClaimType"/>
-            <xsd:enumeration value="ClassOfOperation"/>
-            <xsd:enumeration value="ClassOfPitch"/>
-            <xsd:enumeration value="ClauseStatusType"/>
-            <xsd:enumeration value="ClearingCode"/>
-            <xsd:enumeration value="ClearingHouseAutomatedPayment"/>
-            <xsd:enumeration value="ClearingHouseInterbankPaymentSystemParticipantsId"/>
-            <xsd:enumeration value="ClearingHouseInterbankPaymentSystemUniversalId"/>
-            <xsd:enumeration value="CoastDesignationCode"/>
-            <xsd:enumeration value="CognizanceSymbol"/>
-            <xsd:enumeration value="CollisionIndustryElectronicCommerceAssociation-Inspection"/>
-            <xsd:enumeration value="CollisionIndustryElectronicCommerceAssociation-LossCategory"/>
-            <xsd:enumeration value="CollisionIndustryElectronicCommerceAssociation-PointsOfImpact"/>
-            <xsd:enumeration value="CollisionIndustryElectronicCommerceAssociation-Profile"/>
-            <xsd:enumeration value="Combiterms1990"/>
-            <xsd:enumeration value="CommercialAndGovernmentEntity"/>
-            <xsd:enumeration value="CommercialDriversLicense"/>
-            <xsd:enumeration value="CommercialVehicleOperationsCommodityCode"/>
-            <xsd:enumeration value="CommercialVehicleOperationsHazardousMaterialCode"/>
-            <xsd:enumeration value="CommercialVehicleOperationsInsurance"/>
-            <xsd:enumeration value="CommercialVehicleOperationsSafetyCode"/>
-            <xsd:enumeration value="CommercialVehicleOperationsStatusCode"/>
-            <xsd:enumeration value="CommercialVehicleRegistration"/>
-            <xsd:enumeration value="CommercialVehicleTax"/>
-            <xsd:enumeration value="CommercialVehicleTitle"/>
-            <xsd:enumeration value="CommercialVehicleType"/>
-            <xsd:enumeration value="Commodity"/>
-            <xsd:enumeration value="CommunicationsRoutingIdentifierCode"/>
-            <xsd:enumeration value="CompensationTypeCodes"/>
-            <xsd:enumeration value="CompetitiveCharacteristicsCode"/>
-            <xsd:enumeration value="ComplaintRequestCode"/>
-            <xsd:enumeration value="ComplianceReviewCode"/>
-            <xsd:enumeration value="ConclusionEvaluationCode"/>
-            <xsd:enumeration value="Condition"/>
-            <xsd:enumeration value="ConditionDetail"/>
-            <xsd:enumeration value="ConsigneesPremises"/>
-            <xsd:enumeration value="ConsignorsPremises"/>
-            <xsd:enumeration value="ConsolidationAndContainerizationPointCode"/>
-            <xsd:enumeration value="ConsolidationDetail"/>
-            <xsd:enumeration value="ConstructionMaterial"/>
-            <xsd:enumeration value="ContactorAlertListReason"/>
-            <xsd:enumeration value="ContactStatusCode"/>
-            <xsd:enumeration value="ContainerAndRoll-OnOrRoll-OffNumberCode"/>
-            <xsd:enumeration value="ContainerTerminal"/>
-            <xsd:enumeration value="ContentIndicatorCode"/>
-            <xsd:enumeration value="Continent"/>
-            <xsd:enumeration value="Contract"/>
-            <xsd:enumeration value="ContractClose-OutGroupCode"/>
-            <xsd:enumeration value="ContractDeliveryDateRevisionAgentCode"/>
-            <xsd:enumeration value="ContractFundReportingTransactionCode"/>
-            <xsd:enumeration value="ContractorAlertListStatus"/>
-            <xsd:enumeration value="ContractorReviewListStatus"/>
-            <xsd:enumeration value="ContractPaymentDeductionOrCollectionCode"/>
-            <xsd:enumeration value="ContractPaymentLineItemStatusCode"/>
-            <xsd:enumeration value="ContractShipmentAdviceCode"/>
-            <xsd:enumeration value="ControlledInventoryItemCode"/>
-            <xsd:enumeration value="ControlUnitDesignCode"/>
-            <xsd:enumeration value="ControvertCode"/>
-            <xsd:enumeration value="ConvictionOffenseType"/>
-            <xsd:enumeration value="CooperativeLogisticsProgramSupportCode"/>
-            <xsd:enumeration value="CorporateFinancialFilingCriteria"/>
-            <xsd:enumeration value="CorporateStatementFilingCode"/>
-            <xsd:enumeration value="CorrectionOrChangeForStorageItemRecordsCode"/>
-            <xsd:enumeration value="Country"/>
-            <xsd:enumeration value="CountryAndActivityCode"/>
-            <xsd:enumeration value="CountryCode-FinanceAndAcquisition"/>
-            <xsd:enumeration value="CountrySub-Entity"/>
-            <xsd:enumeration value="County"/>
-            <xsd:enumeration value="CountyDesignatorCode"/>
-            <xsd:enumeration value="CouponAdjustmentReasonCode"/>
-            <xsd:enumeration value="CourtAppearanceTypeCode"/>
-            <xsd:enumeration value="CourtCaseStatusCode"/>
-            <xsd:enumeration value="CourtDispositionCode"/>
-            <xsd:enumeration value="CourtDocumentTypeCode"/>
-            <xsd:enumeration value="CourtIssuedWarrantTypeCode"/>
-            <xsd:enumeration value="CourtOfLawEventType"/>
-            <xsd:enumeration value="CourtOfLawType"/>
-            <xsd:enumeration value="CourtPartyStatus"/>
-            <xsd:enumeration value="CourtPleadingTypeCode"/>
-            <xsd:enumeration value="CoverageCodeList"/>
-            <xsd:enumeration value="CoverageModifier"/>
-            <xsd:enumeration value="Cpa-CanadianPaymentsAssociation"/>
-            <xsd:enumeration value="CriminalCharge"/>
-            <xsd:enumeration value="CriminalChargeGrade"/>
-            <xsd:enumeration value="CriticalityDesignatorCode"/>
-            <xsd:enumeration value="CuisineTypeCode"/>
-            <xsd:enumeration value="CurrentAssetDetails"/>
-            <xsd:enumeration value="CurrentDentalTerminologyCode"/>
-            <xsd:enumeration value="CurrentLiabilityDetails"/>
-            <xsd:enumeration value="CurrentProceduralTerminologyCodes"/>
-            <xsd:enumeration value="CustomerMaintenanceLevelLookup"/>
-            <xsd:enumeration value="CustomerWithinCountryCode"/>
-            <xsd:enumeration value="CustomizedNoticeTypeCode"/>
-            <xsd:enumeration value="CustomsAreaOfTransaction"/>
-            <xsd:enumeration value="CustomsDeclarationType"/>
-            <xsd:enumeration value="CustomsDomesticPortLocationCodes-USScheduleD"/>
-            <xsd:enumeration value="CustomsForeignPortLocationCodes-USScheduleK"/>
-            <xsd:enumeration value="CustomsIndicator"/>
-            <xsd:enumeration value="CustomsInspectionType"/>
-            <xsd:enumeration value="CustomsOffice"/>
-            <xsd:enumeration value="CustomsPreference"/>
-            <xsd:enumeration value="CustomsProcedure"/>
-            <xsd:enumeration value="CustomsReleaseNotification"/>
-            <xsd:enumeration value="CustomsSimplifiedProcedure"/>
-            <xsd:enumeration value="CustomsSpecialCodes"/>
-            <xsd:enumeration value="CustomsStatusOfGoods"/>
-            <xsd:enumeration value="CustomsTransitGuarantee"/>
-            <xsd:enumeration value="CustomsTransitType"/>
-            <xsd:enumeration value="CustomsValuationMethod"/>
-            <xsd:enumeration value="CustomsWarehouse"/>
-            <xsd:enumeration value="DangerousGoodsPackingType"/>
-            <xsd:enumeration value="DataCategory"/>
-            <xsd:enumeration value="DateShippedOrReceivedCode"/>
-            <xsd:enumeration value="DebtorBusinessTypeCode"/>
-            <xsd:enumeration value="DebtorTypeCode"/>
-            <xsd:enumeration value="DefendantPleaTypeCode"/>
-            <xsd:enumeration value="DefensePrioritiesAndAllocationsSystemCode"/>
-            <xsd:enumeration value="DeferralLookup"/>
-            <xsd:enumeration value="DeficiencyCause"/>
-            <xsd:enumeration value="DeficiencyIndicator"/>
-            <xsd:enumeration value="DelinquencyIndicator"/>
-            <xsd:enumeration value="DeliverySourceCode"/>
-            <xsd:enumeration value="DeliveryTermCode"/>
-            <xsd:enumeration value="DemandCode"/>
-            <xsd:enumeration value="DemilitarizationCode"/>
-            <xsd:enumeration value="DepartmentOfDefenseIdentificationCode"/>
-            <xsd:enumeration value="DeviceAvailabilityCode"/>
-            <xsd:enumeration value="DeviceEvaluationCode"/>
-            <xsd:enumeration value="DeviceEventProblemCode"/>
-            <xsd:enumeration value="DeviceOperatorTypeCode"/>
-            <xsd:enumeration value="DeviceStatusCode"/>
-            <xsd:enumeration value="DeviceUsageCode"/>
-            <xsd:enumeration value="Diagnosis"/>
-            <xsd:enumeration value="DiagnosisEncounteredDuringExaminationAndInvestigationOfIndividualsAndPopulationsCode"/>
-            <xsd:enumeration value="DiagnosisRelatedGroup"/>
-            <xsd:enumeration value="DiagnosticAndStatisticalManualOfMentalDisorders"/>
-            <xsd:enumeration value="DirectNumericalControlSystemCode"/>
-            <xsd:enumeration value="DisbursementStatusCode"/>
-            <xsd:enumeration value="Discrepancy"/>
-            <xsd:enumeration value="DiscrepancyAdviceCode"/>
-            <xsd:enumeration value="DiscrepancyCode"/>
-            <xsd:enumeration value="DiscrepancyIndicatorCode"/>
-            <xsd:enumeration value="DiscrepancyStatusOrDispositionCode"/>
-            <xsd:enumeration value="DisposalAuthorityCode"/>
-            <xsd:enumeration value="DisposalConditionCode"/>
-            <xsd:enumeration value="DistributionCode"/>
-            <xsd:enumeration value="DocumentIdentificationCode"/>
-            <xsd:enumeration value="DocumentRequestedByCustoms"/>
-            <xsd:enumeration value="Dodaac-DepartmentOfDefenseActivityAddressCode"/>
-            <xsd:enumeration value="DomesticLineOfBusinessCode"/>
-            <xsd:enumeration value="DoseFormCode"/>
-            <xsd:enumeration value="DriverParameters"/>
-            <xsd:enumeration value="DriversLicenseWithdrawalBasis"/>
-            <xsd:enumeration value="DriversLicenseWithdrawalDueProcessStatus"/>
-            <xsd:enumeration value="DriversLicenseWithdrawalExtent"/>
-            <xsd:enumeration value="DriversLicenseWithdrawalReason"/>
-            <xsd:enumeration value="DriversLicenseWithdrawalType"/>
-            <xsd:enumeration value="DrugDetailCode"/>
-            <xsd:enumeration value="DrugStatusAdverseEventCode"/>
-            <xsd:enumeration value="DrugStatusCode"/>
-            <xsd:enumeration value="DumpingOrCountervailingAssessmentMethod"/>
-            <xsd:enumeration value="DumpingSpecification"/>
-            <xsd:enumeration value="DunAndBradstreetCanadas8DigitStandardIndustrialClassificationCode"/>
-            <xsd:enumeration value="Duns-DunAndBradstreetPlus4"/>
-            <xsd:enumeration value="DunsStandardIndustrialClassification2Plus2DunAndBradstreet"/>
-            <xsd:enumeration value="DutyTaxOrFeePaymentMethod"/>
-            <xsd:enumeration value="DynamicGeneratorSetCode"/>
-            <xsd:enumeration value="DynamicLocomotiveTagCode"/>
-            <xsd:enumeration value="Edira-Id-EdiRegistrationAuthorityIdentification"/>
-            <xsd:enumeration value="EditErrorCode"/>
-            <xsd:enumeration value="EducationalInstitutionType"/>
-            <xsd:enumeration value="EducationalStudyArea"/>
-            <xsd:enumeration value="ElectromagneticTransmitterIdentification"/>
-            <xsd:enumeration value="EmployeeIdentification"/>
-            <xsd:enumeration value="EnhancedPartyIdentification"/>
-            <xsd:enumeration value="Entitlement"/>
-            <xsd:enumeration value="EntityRelationship"/>
-            <xsd:enumeration value="EquipmentStatusLookup"/>
-            <xsd:enumeration value="ErrorClassificationCode"/>
-            <xsd:enumeration value="EssentialityCode"/>
-            <xsd:enumeration value="EstimatedTimeOfArrivalCode"/>
-            <xsd:enumeration value="EstimateTypeLookup"/>
-            <xsd:enumeration value="EstimatingMethodStatusCode"/>
-            <xsd:enumeration value="Ethnicity"/>
-            <xsd:enumeration value="EvaluateWorkCandidateLookup"/>
-            <xsd:enumeration value="EvaluateWorkCandidateReasonLookup"/>
-            <xsd:enumeration value="EventAbatementCode"/>
-            <xsd:enumeration value="EventCodes"/>
-            <xsd:enumeration value="EventOrExposureCode"/>
-            <xsd:enumeration value="EventReappearanceCode"/>
-            <xsd:enumeration value="ExaminationFacility"/>
-            <xsd:enumeration value="ExcavationInformationCodeList"/>
-            <xsd:enumeration value="ExcessMaterialDispositionCode"/>
-            <xsd:enumeration value="ExciseDuty"/>
-            <xsd:enumeration value="ExportCommodityClassification-USScheduleB"/>
-            <xsd:enumeration value="ExportRequirements"/>
-            <xsd:enumeration value="ExtensionReason"/>
-            <xsd:enumeration value="EyeColorCode"/>
-            <xsd:enumeration value="FacilityIdentification"/>
-            <xsd:enumeration value="FacilitySecurityClearance"/>
-            <xsd:enumeration value="FailureToAwardReason"/>
-            <xsd:enumeration value="FannieMaeAdjustableRateMortgagePlanCodes"/>
-            <xsd:enumeration value="FannieMae-FederalNationalMortgageAssociation-MortgageInsuranceCode"/>
-            <xsd:enumeration value="FannieMae-FederalNationalMortgageAssociation-PoolFeatureCode"/>
-            <xsd:enumeration value="FannieMae-FederalNationalMortgageAssociation-RemittancePrograms"/>
-            <xsd:enumeration value="FannieMae-FederalNationalMortgageAssociation-SpecialFeatureCode"/>
-            <xsd:enumeration value="FannieMaeRefinancePlanCode"/>
-            <xsd:enumeration value="FederalFinanceCodeList1"/>
-            <xsd:enumeration value="FederalHealthCareCodeList1"/>
-            <xsd:enumeration value="FederalLogisticsCodeList1"/>
-            <xsd:enumeration value="FederalProcurementCodeList1"/>
-            <xsd:enumeration value="FederalTransportationCodeList1"/>
-            <xsd:enumeration value="FinancialAnalysisCategories"/>
-            <xsd:enumeration value="FinancialInformationType"/>
-            <xsd:enumeration value="FinancialItemAllocation"/>
-            <xsd:enumeration value="FinancialItemAttributedCode"/>
-            <xsd:enumeration value="FinancialItemReclassification"/>
-            <xsd:enumeration value="FinancialManagementServiceCash-LinkCode"/>
-            <xsd:enumeration value="FinancialRating"/>
-            <xsd:enumeration value="FinancialRegime"/>
-            <xsd:enumeration value="FinancialRouting"/>
-            <xsd:enumeration value="FinancialStatementFormat"/>
-            <xsd:enumeration value="FleetParameters"/>
-            <xsd:enumeration value="FlowOfTheGoods"/>
-            <xsd:enumeration value="Follow-UpCode"/>
-            <xsd:enumeration value="ForecastType"/>
-            <xsd:enumeration value="ForeignLineOfBusinessCode"/>
-            <xsd:enumeration value="ForeignMilitarySalesCountryCode"/>
-            <xsd:enumeration value="FormTypeCode"/>
-            <xsd:enumeration value="ForwardingRestrictions"/>
-            <xsd:enumeration value="FreddieMac-FederalHomeLoanMortgageCorporation-MortgageInsuranceCode"/>
-            <xsd:enumeration value="FreddieMac-FederalHomeLoanMortgageCorporation-RemittancePrograms"/>
-            <xsd:enumeration value="FreddieMac-FederalHomeLoanMortgageCorporation-SpecialCharacterCode"/>
-            <xsd:enumeration value="FreddieMacRefinancePlanCode"/>
-            <xsd:enumeration value="FreeOnBoardSiteCode"/>
-            <xsd:enumeration value="FreeZone"/>
-            <xsd:enumeration value="FreightForwarder"/>
-            <xsd:enumeration value="Frequency"/>
-            <xsd:enumeration value="FrequencyBand"/>
-            <xsd:enumeration value="FunctionalArea"/>
-            <xsd:enumeration value="FunctionalGroup"/>
-            <xsd:enumeration value="FundCode"/>
-            <xsd:enumeration value="FundPurpose"/>
-            <xsd:enumeration value="GainOrLossIndicatorCode"/>
-            <xsd:enumeration value="Gate"/>
-            <xsd:enumeration value="GeneralServicesAdministrationCustomerSupplyCenterNumberCode"/>
-            <xsd:enumeration value="GeneralTerritoryType"/>
-            <xsd:enumeration value="GeneratorSetMountingCode"/>
-            <xsd:enumeration value="GeographicLocation"/>
-            <xsd:enumeration value="GlassActionCode"/>
-            <xsd:enumeration value="GoodsDescription"/>
-            <xsd:enumeration value="GovernmentAgencyProcedure"/>
-            <xsd:enumeration value="GradeOfDifficulty"/>
-            <xsd:enumeration value="GroupQualifierCode"/>
-            <xsd:enumeration value="HairColorCode"/>
-            <xsd:enumeration value="HandlingAction"/>
-            <xsd:enumeration value="HarmonizedSystem"/>
-            <xsd:enumeration value="HazardousMaterialCode"/>
-            <xsd:enumeration value="HazardousMaterialsCredential"/>
-            <xsd:enumeration value="HazardousResponseCodes"/>
-            <xsd:enumeration value="HealthCareClaimStatusCode"/>
-            <xsd:enumeration value="HealthCareFinancingAdministrationCommonProceduralCodingSystem"/>
-            <xsd:enumeration value="HealthCareFinancingAdministrationCommonProceduralCodingSystemPrincipalProcedure"/>
-            <xsd:enumeration value="HealthCareFinancingAdministrationDurableMedicalEquipmentRegionalCarrierCertificateOfMedicalNecessityForms"/>
-            <xsd:enumeration value="HealthcareProviderCharacteristicsAndResources"/>
-            <xsd:enumeration value="HealthcareProviderTaxonomy"/>
-            <xsd:enumeration value="HealthIndustryNumber"/>
-            <xsd:enumeration value="HealthIndustryOrganizationIdentification"/>
-            <xsd:enumeration value="Hobby"/>
-            <xsd:enumeration value="Icd10"/>
-            <xsd:enumeration value="IdentificationCode"/>
-            <xsd:enumeration value="IdentifyingCharacteristics"/>
-            <xsd:enumeration value="IdentityDisclosureCode"/>
-            <xsd:enumeration value="ImmunizationInjectionCode"/>
-            <xsd:enumeration value="ImpactAxisOrAnalogPortCode"/>
-            <xsd:enumeration value="ImpactRecorderCode"/>
-            <xsd:enumeration value="IncidentConditionCode"/>
-            <xsd:enumeration value="IncidentConsequenceCode"/>
-            <xsd:enumeration value="IncidentLocationCode"/>
-            <xsd:enumeration value="IncidentRelatedActionCode"/>
-            <xsd:enumeration value="Incoterms1980"/>
-            <xsd:enumeration value="IndicatorCode"/>
-            <xsd:enumeration value="IndividualInsuranceFinancialDetail"/>
-            <xsd:enumeration value="IndividualParticipationInCompany"/>
-            <xsd:enumeration value="IndividualSecurityClearance"/>
-            <xsd:enumeration value="IndustryRating"/>
-            <xsd:enumeration value="InformationIndicatorCode"/>
-            <xsd:enumeration value="InformationRequestResult"/>
-            <xsd:enumeration value="InformationRequestType"/>
-            <xsd:enumeration value="InformationType"/>
-            <xsd:enumeration value="InitialTreatmentCode"/>
-            <xsd:enumeration value="InquirySelection"/>
-            <xsd:enumeration value="InspectionParameters"/>
-            <xsd:enumeration value="InsuranceCoverageDetail"/>
-            <xsd:enumeration value="InsuranceInformationIndicator"/>
-            <xsd:enumeration value="InsurancePlanDescriptionCharacteristics"/>
-            <xsd:enumeration value="IntermediateContainerCode"/>
-            <xsd:enumeration value="IntermediateContainerQuantityCode"/>
-            <xsd:enumeration value="InternationalClassificationOfDiseasesClinicalModificationProcedure"/>
-            <xsd:enumeration value="InternationalClassificationOfDiseasesClinicalModificationPrincipalProcedure"/>
-            <xsd:enumeration value="InternationalClassificationOfDiseasesClinicalModification-Icd-9-CmCode"/>
-            <xsd:enumeration value="InternationalStandardDesignationSystemForTeethAndAreasOfTheOralCavity"/>
-            <xsd:enumeration value="InventoryCategoryCode"/>
-            <xsd:enumeration value="InventoryTypeCode"/>
-            <xsd:enumeration value="InvestigationStatusCode"/>
-            <xsd:enumeration value="InvestmentFundType"/>
-            <xsd:enumeration value="InvestmentType"/>
-            <xsd:enumeration value="IrsQualificationCode"/>
-            <xsd:enumeration value="ItemManagementCode"/>
-            <xsd:enumeration value="ItemSourcingCategory"/>
-            <xsd:enumeration value="ItemType"/>
-            <xsd:enumeration value="JobCharacteristicsLookup"/>
-            <xsd:enumeration value="JobOriginatorLookup"/>
-            <xsd:enumeration value="JointLifeInsuranceIndicator"/>
-            <xsd:enumeration value="JudicialHearingTypeCode"/>
-            <xsd:enumeration value="JudicialOrderTypeCode"/>
-            <xsd:enumeration value="JudicialSentenceTypeCode"/>
-            <xsd:enumeration value="JurisdictionType"/>
-            <xsd:enumeration value="KeyEventLookup"/>
-            <xsd:enumeration value="KindOfContractCode"/>
-            <xsd:enumeration value="KindOfModificationCode"/>
-            <xsd:enumeration value="LaboratoryResultsIdentificationCode"/>
-            <xsd:enumeration value="LaboratoryTestConditionCode"/>
-            <xsd:enumeration value="LegalCaseType"/>
-            <xsd:enumeration value="LegalEvent"/>
-            <xsd:enumeration value="LegalStructureCode"/>
-            <xsd:enumeration value="LetterOfRecommendationRatingCategory"/>
-            <xsd:enumeration value="LiabilityDetails"/>
-            <xsd:enumeration value="LiabilityType"/>
-            <xsd:enumeration value="LifeOrAnnuityProductCode"/>
-            <xsd:enumeration value="LifeOrAnnuityServiceFeatures"/>
-            <xsd:enumeration value="LifeOrAnnuityStatusCodes"/>
-            <xsd:enumeration value="LifeReinsuranceMessageType"/>
-            <xsd:enumeration value="LineItemConditionCode"/>
-            <xsd:enumeration value="LineOfAuthority"/>
-            <xsd:enumeration value="LineOfBusinessCode"/>
-            <xsd:enumeration value="LoanType"/>
-            <xsd:enumeration value="LocaleOfActivity"/>
-            <xsd:enumeration value="LocalSourceCode"/>
-            <xsd:enumeration value="LocationCode"/>
-            <xsd:enumeration value="LocationOfGoods"/>
-            <xsd:enumeration value="LocationsForTariffCalculations"/>
-            <xsd:enumeration value="LogicalObservationIdentifierNamesAndCodesCodes"/>
-            <xsd:enumeration value="LogisticsCodeList"/>
-            <xsd:enumeration value="LossDescriptionCode"/>
-            <xsd:enumeration value="LossSeverityCode"/>
-            <xsd:enumeration value="LotTypeCode"/>
-            <xsd:enumeration value="MajorForceProgramCode"/>
-            <xsd:enumeration value="ManagementCode"/>
-            <xsd:enumeration value="ManagementIndicatorCode-Petroleum"/>
-            <xsd:enumeration value="ManualClassCode"/>
-            <xsd:enumeration value="MarineBerth"/>
-            <xsd:enumeration value="MarineWharf"/>
-            <xsd:enumeration value="MarketPlaceOrganizationID"/>
-            <xsd:enumeration value="MarketPlaceTradingPartnerID"/>
-            <xsd:enumeration value="MaterialControlCode"/>
-            <xsd:enumeration value="Materials"/>
-            <xsd:enumeration value="MeansOfCommunicationsIdentifier"/>
-            <xsd:enumeration value="MeansOfTransportIdentification"/>
-            <xsd:enumeration value="MechanizationOfContractAdministrationServicesSystemErrorCode"/>
-            <xsd:enumeration value="MediaAndStatusCode"/>
-            <xsd:enumeration value="MedicaidProvider"/>
-            <xsd:enumeration value="MedicalBenefitsSchedule"/>
-            <xsd:enumeration value="MedicareProvider"/>
-            <xsd:enumeration value="MediumOfTransmissionCode"/>
-            <xsd:enumeration value="MemberOrganizations"/>
-            <xsd:enumeration value="MethodEvaluationCode"/>
-            <xsd:enumeration value="MethodsOfPayment"/>
-            <xsd:enumeration value="MilitaryAndCivilianGradeCode"/>
-            <xsd:enumeration value="MilitaryAssistanceProgramAddressCode"/>
-            <xsd:enumeration value="MinorityIndicator"/>
-            <xsd:enumeration value="MissionImpactStatementCode"/>
-            <xsd:enumeration value="MonetaryFunctionDetail"/>
-            <xsd:enumeration value="MortgageIndexSourceCode"/>
-            <xsd:enumeration value="Multi-MediaObject"/>
-            <xsd:enumeration value="Nacha-NationalAutomatedClearingHouseAssociation"/>
-            <xsd:enumeration value="NationalCouncilForPrescriptionDrugProgramsRejectOrPaymentCodes"/>
-            <xsd:enumeration value="NationalCouncilOnCompensationInsuranceNatureOfInjuryCode"/>
-            <xsd:enumeration value="NationalCouncilOnCompensationInsurancePartOfBodyCode"/>
-            <xsd:enumeration value="NationalCouncilOnCompensationInsuranceSourceOfInjuryCode"/>
-            <xsd:enumeration value="NationalDrugCode"/>
-            <xsd:enumeration value="NationalMotorFreightClassificationCode"/>
-            <xsd:enumeration value="NationalStandardToothNumberingSystem"/>
-            <xsd:enumeration value="NatureOfBuy"/>
-            <xsd:enumeration value="NatureOfDebtCode"/>
-            <xsd:enumeration value="NatureOfEventCode"/>
-            <xsd:enumeration value="NatureOfInjuryCode"/>
-            <xsd:enumeration value="NatureOfSuit"/>
-            <xsd:enumeration value="NatureOfSuitCode"/>
-            <xsd:enumeration value="NatureOfTransaction"/>
-            <xsd:enumeration value="NoLongerConsideredForAwardReason"/>
-            <xsd:enumeration value="NomenclatureActivityClassificationEconomyCode"/>
-            <xsd:enumeration value="Non-PostalTown"/>
-            <xsd:enumeration value="NormeActiviteFrancaiseCode"/>
-            <xsd:enumeration value="NoticeType"/>
-            <xsd:enumeration value="NotificationIndicatorCode"/>
-            <xsd:enumeration value="ObligationVarianceCode"/>
-            <xsd:enumeration value="OccupationalSafetyAndHealthAdministrationNatureOfInjuryCode"/>
-            <xsd:enumeration value="OccupationalSafetyAndHealthAdministrationPartOfBodyCode"/>
-            <xsd:enumeration value="OccupationalSafetyAndHealthAdministrationSourceOfInjuryCode"/>
-            <xsd:enumeration value="OccupationClassification"/>
-            <xsd:enumeration value="OccupationCode"/>
-            <xsd:enumeration value="Occurrence"/>
-            <xsd:enumeration value="OccurrenceSpan"/>
-            <xsd:enumeration value="OceanCarrierCode"/>
-            <xsd:enumeration value="OfferAndReleaseOptionCode"/>
-            <xsd:enumeration value="OfficeOfWorkersCompensationProgramsNatureOfInjuryCode"/>
-            <xsd:enumeration value="OfficeOfWorkersCompensationProgramsOccupationCode"/>
-            <xsd:enumeration value="OfficeOfWorkersCompensationProgramsPartOfBodyCode"/>
-            <xsd:enumeration value="OfficeOfWorkersCompensationProgramsSourceOfInjuryCode"/>
-            <xsd:enumeration value="OperatingStatus"/>
-            <xsd:enumeration value="OperationType"/>
-            <xsd:enumeration value="OversizeOrOverweightCredential"/>
-            <xsd:enumeration value="OwnershipCode"/>
-            <xsd:enumeration value="OwnershipRights"/>
-            <xsd:enumeration value="PackageFailureCode"/>
-            <xsd:enumeration value="PackingAndOrUnpackingFacility"/>
-            <xsd:enumeration value="PackingRequirementLevelACode"/>
-            <xsd:enumeration value="PackingRequirementLevelBCode"/>
-            <xsd:enumeration value="PackingRequirementLevelCCode"/>
-            <xsd:enumeration value="PartOfBodyAffected"/>
-            <xsd:enumeration value="PartOfBodyCode"/>
-            <xsd:enumeration value="PartyIdentification"/>
-            <xsd:enumeration value="PassportNumber"/>
-            <xsd:enumeration value="PatientEventProblemCode"/>
-            <xsd:enumeration value="PaymentBehaviourRating"/>
-            <xsd:enumeration value="PaymentTypeCode"/>
-            <xsd:enumeration value="PedestrianCode"/>
-            <xsd:enumeration value="PersonalPropertyAndContentsCode"/>
-            <xsd:enumeration value="PetroleumBillType"/>
-            <xsd:enumeration value="PetroleumLandCategory"/>
-            <xsd:enumeration value="PetroleumLeaseStatus"/>
-            <xsd:enumeration value="PetroleumProductDisposition"/>
-            <xsd:enumeration value="PetroleumProductPoint-Of-Sale"/>
-            <xsd:enumeration value="PetroleumProductSellingArrangement"/>
-            <xsd:enumeration value="PetroleumProductValueAdjustment"/>
-            <xsd:enumeration value="PetroleumRegulatoryReport"/>
-            <xsd:enumeration value="PetroleumRoyaltyAdjustment"/>
-            <xsd:enumeration value="PetroleumRoyaltyCalculationMethod"/>
-            <xsd:enumeration value="PetroleumRoyaltyTransaction"/>
-            <xsd:enumeration value="PetroleumUnitedStatesGeologicalSurveyFormationCode"/>
-            <xsd:enumeration value="PetroleumWellAction"/>
-            <xsd:enumeration value="PetroleumWellClassificationStatus"/>
-            <xsd:enumeration value="PetroleumWellInformation"/>
-            <xsd:enumeration value="PetroleumWellShut-InReason"/>
-            <xsd:enumeration value="PetroleumWellTestInformation"/>
-            <xsd:enumeration value="PhysicalCharacteristicsCode"/>
-            <xsd:enumeration value="PlantClearanceOfficeCode"/>
-            <xsd:enumeration value="PlusOrMinusIndicatorCode"/>
-            <xsd:enumeration value="PolicyOnClaimIndicator"/>
-            <xsd:enumeration value="PolicyReserveValuationType"/>
-            <xsd:enumeration value="PolicyType"/>
-            <xsd:enumeration value="Port"/>
-            <xsd:enumeration value="PortalID"/>
-            <xsd:enumeration value="PostalDistrict"/>
-            <xsd:enumeration value="PostalServiceCarrierRoute"/>
-            <xsd:enumeration value="PostcodeDirectory"/>
-            <xsd:enumeration value="PostMarketStudyStatusCode"/>
-            <xsd:enumeration value="PreciousMetalsIndicatorCode"/>
-            <xsd:enumeration value="PreservationDataCode"/>
-            <xsd:enumeration value="PreservationMaterialCode"/>
-            <xsd:enumeration value="PreventiveMeasure"/>
-            <xsd:enumeration value="PrimaryDiagnosis"/>
-            <xsd:enumeration value="PrincipalDiagnosis"/>
-            <xsd:enumeration value="PrincipalPartyCitizenshipCode"/>
-            <xsd:enumeration value="PriorityDesignatorCode"/>
-            <xsd:enumeration value="PriorityLookup"/>
-            <xsd:enumeration value="ProducerFinancialHistoryCodes"/>
-            <xsd:enumeration value="ProductCode"/>
-            <xsd:enumeration value="ProductQualityDeficiencyReportSummaryCode"/>
-            <xsd:enumeration value="ProductSupplyCondition"/>
-            <xsd:enumeration value="ProfessionalDesignation"/>
-            <xsd:enumeration value="ProfessionalStatusCode"/>
-            <xsd:enumeration value="ProfessionTypeCode"/>
-            <xsd:enumeration value="ProgramOriginatorCode"/>
-            <xsd:enumeration value="ProgramYearCode"/>
-            <xsd:enumeration value="ProjectCode"/>
-            <xsd:enumeration value="ProjectionType"/>
-            <xsd:enumeration value="PropertyOwnershipExtent"/>
-            <xsd:enumeration value="PropertyOwnershipTypeCode"/>
-            <xsd:enumeration value="PropertyRecordStatusCode"/>
-            <xsd:enumeration value="PropertySourceCode"/>
-            <xsd:enumeration value="PropertyType"/>
-            <xsd:enumeration value="PropertyUnderwritingConditionCode"/>
-            <xsd:enumeration value="Proprietary"/>
-            <xsd:enumeration value="PurchasingContractOfficerInstructionsCode"/>
-            <xsd:enumeration value="PurposeCode"/>
-            <xsd:enumeration value="QualityAlertListReason"/>
-            <xsd:enumeration value="QualityAssuranceSiteCode"/>
-            <xsd:enumeration value="QualityConformance"/>
-            <xsd:enumeration value="QualityControlCode"/>
-            <xsd:enumeration value="QuantityPerUnitPackCode"/>
-            <xsd:enumeration value="QueryOptions"/>
-            <xsd:enumeration value="QueryStatus"/>
-            <xsd:enumeration value="RadioFrequencyType"/>
-            <xsd:enumeration value="RadioServiceType"/>
-            <xsd:enumeration value="RadioSystemType"/>
-            <xsd:enumeration value="RailAdditionalCharges"/>
-            <xsd:enumeration value="RailcarLetterMarking"/>
-            <xsd:enumeration value="RailDocumentNames"/>
-            <xsd:enumeration value="RailHandlingRestrictionsAndInstructions"/>
-            <xsd:enumeration value="RailHarmonizedCodificationOfTariffs"/>
-            <xsd:enumeration value="RailHarmonizedEquipmentType"/>
-            <xsd:enumeration value="RailRoutes"/>
-            <xsd:enumeration value="RailUnifiedNomenclatureOfGoods"/>
-            <xsd:enumeration value="RailwayCompanyNetwork"/>
-            <xsd:enumeration value="RailwayCustomer"/>
-            <xsd:enumeration value="RailwayFrontierAndTransitPoint"/>
-            <xsd:enumeration value="RailwayLocations"/>
-            <xsd:enumeration value="RailwayServicesHarmonizedCode"/>
-            <xsd:enumeration value="RateClass"/>
-            <xsd:enumeration value="RatingSummaryValue"/>
-            <xsd:enumeration value="RealEstateAssetType"/>
-            <xsd:enumeration value="ReasonForContractDeliveryDateRevisionCode"/>
-            <xsd:enumeration value="ReasonForDelayedClosingOfContractFileCode"/>
-            <xsd:enumeration value="ReasonForDisposalCode"/>
-            <xsd:enumeration value="ReasonForFinancialItemDetailChange"/>
-            <xsd:enumeration value="ReasonForPublicRecordFiling"/>
-            <xsd:enumeration value="ReasonForRequisitioningCode"/>
-            <xsd:enumeration value="RecipientOfBillingStatusCode"/>
-            <xsd:enumeration value="RecommendationsRegardingDelayedDeliveriesCode"/>
-            <xsd:enumeration value="RecordControlNumber"/>
-            <xsd:enumeration value="RecordPrecedenceBasedOnItsCurrencyInTime"/>
-            <xsd:enumeration value="ReferenceAndStationCode"/>
-            <xsd:enumeration value="RefrigerationUnitOperatingModeCode"/>
-            <xsd:enumeration value="Region"/>
-            <xsd:enumeration value="RegisteredContractorActivityCode"/>
-            <xsd:enumeration value="RegistrationType"/>
-            <xsd:enumeration value="ReinsuranceMonetaryType"/>
-            <xsd:enumeration value="ReinsurancePolicyAttributes"/>
-            <xsd:enumeration value="RejectAdviceCode"/>
-            <xsd:enumeration value="RejectIndicatorCode"/>
-            <xsd:enumeration value="RelatedDeviceApplicabilityCode"/>
-            <xsd:enumeration value="ReligiousAffiliationCode"/>
-            <xsd:enumeration value="RemedialActionCode"/>
-            <xsd:enumeration value="RemovableAccessoriesAndSpecialEquipmentOnRailcars"/>
-            <xsd:enumeration value="RentalCharge"/>
-            <xsd:enumeration value="RepairFacility"/>
-            <xsd:enumeration value="ReportableEventCode"/>
-            <xsd:enumeration value="ReportableEventStatusCode"/>
-            <xsd:enumeration value="ReportCode"/>
-            <xsd:enumeration value="ReportDistributionCode"/>
-            <xsd:enumeration value="ReportSourceCode"/>
-            <xsd:enumeration value="RepresentativeBuyIndicator"/>
-            <xsd:enumeration value="RequestCode"/>
-            <xsd:enumeration value="RequestType"/>
-            <xsd:enumeration value="RequirementCode"/>
-            <xsd:enumeration value="RequirementsIndicator"/>
-            <xsd:enumeration value="ResidencyIndicator"/>
-            <xsd:enumeration value="ResidentialAndCommercialRoomCode"/>
-            <xsd:enumeration value="ResponseStatusCode"/>
-            <xsd:enumeration value="RestrictionsAndProhibitionsPlacedOnTheRe-UseOf"/>
-            <xsd:enumeration value="ResultEvaluationCode"/>
-            <xsd:enumeration value="ReviewPeriodIndicatorCode"/>
-            <xsd:enumeration value="RiskClass"/>
-            <xsd:enumeration value="RoadCharacteristicCode"/>
-            <xsd:enumeration value="RoadwayDetail"/>
-            <xsd:enumeration value="RoadwayType"/>
-            <xsd:enumeration value="RouteCode"/>
-            <xsd:enumeration value="RunType"/>
-            <xsd:enumeration value="SafetyAndFitnessElectronicRecordSystemsErrorCode"/>
-            <xsd:enumeration value="SafetyAndFitnessElectronicRecordSystemsSubscriptionOption"/>
-            <xsd:enumeration value="SafetyHazardLookup"/>
-            <xsd:enumeration value="SafetyRegulation"/>
-            <xsd:enumeration value="SalesPriceConditionCode"/>
-            <xsd:enumeration value="SalvageDispositionCode"/>
-            <xsd:enumeration value="SampleExtractionLocation"/>
-            <xsd:enumeration value="SeavanOwnershipCode"/>
-            <xsd:enumeration value="SecondaryDiagnosis"/>
-            <xsd:enumeration value="SecondarySourceOfInjury"/>
-            <xsd:enumeration value="SecurityShareType"/>
-            <xsd:enumeration value="Service"/>
-            <xsd:enumeration value="ServiceAndAgencyCode"/>
-            <xsd:enumeration value="ServiceContractActOccupationCategoryCode"/>
-            <xsd:enumeration value="ServiceContractActOccupationClassificationCode"/>
-            <xsd:enumeration value="ServiceContractActOperationCode"/>
-            <xsd:enumeration value="SettlementOrPayoutOptions"/>
-            <xsd:enumeration value="ShareTypeCode"/>
-            <xsd:enumeration value="ShelfLifeCode"/>
-            <xsd:enumeration value="ShipmentAcceptanceDiscrepancyExplanationCode"/>
-            <xsd:enumeration value="ShipmentDescription"/>
-            <xsd:enumeration value="ShipmentHoldCode"/>
-            <xsd:enumeration value="ShipmentReleaseCode"/>
-            <xsd:enumeration value="ShippingAgent"/>
-            <xsd:enumeration value="SignalCode"/>
-            <xsd:enumeration value="SingleStateRegistrationSystemAndOperatingAuthorityCredential"/>
-            <xsd:enumeration value="SingleUseLabelCode"/>
-            <xsd:enumeration value="SizeAndType"/>
-            <xsd:enumeration value="SkinToneCode"/>
-            <xsd:enumeration value="SmallArmsErrorTransactionRejectCode"/>
-            <xsd:enumeration value="SmallArmsTransactionCode"/>
-            <xsd:enumeration value="SocialSecurityIdentification"/>
-            <xsd:enumeration value="SolicitationCancellationReason"/>
-            <xsd:enumeration value="SolicitationMethod"/>
-            <xsd:enumeration value="SoundCode"/>
-            <xsd:enumeration value="Source"/>
-            <xsd:enumeration value="SourceMaintenanceAndRecoverabilityCode"/>
-            <xsd:enumeration value="SourceOfDepositCode"/>
-            <xsd:enumeration value="SourceOfDisclosure"/>
-            <xsd:enumeration value="SourceOfInjuryCode"/>
-            <xsd:enumeration value="SourceOfLeadCode"/>
-            <xsd:enumeration value="SourceOfLossCode"/>
-            <xsd:enumeration value="SpecialCategoryCode"/>
-            <xsd:enumeration value="SpecialContractProvisionCode"/>
-            <xsd:enumeration value="SpecialDating"/>
-            <xsd:enumeration value="SpecialHandling"/>
-            <xsd:enumeration value="SpecialMarketingTypeCode"/>
-            <xsd:enumeration value="SpecialMarkingCode"/>
-            <xsd:enumeration value="SpecialMaterialIdentificationCode"/>
-            <xsd:enumeration value="SpecialProgramRequirementStatusCode"/>
-            <xsd:enumeration value="SpecialReimbursableProvisionsCode"/>
-            <xsd:enumeration value="SpecialRequirementLookup"/>
-            <xsd:enumeration value="SpecialRequirementsCode"/>
-            <xsd:enumeration value="StandardIndustrialClassification"/>
-            <xsd:enumeration value="StandardOccupationClassificationCode"/>
-            <xsd:enumeration value="StandardTextAccordingUSEmbargoRegulations"/>
-            <xsd:enumeration value="StandardTextClauses"/>
-            <xsd:enumeration value="StandardTextForExportAccordingNationalPrescriptions"/>
-            <xsd:enumeration value="StateCode"/>
-            <xsd:enumeration value="StationClassification"/>
-            <xsd:enumeration value="StationClassificationType"/>
-            <xsd:enumeration value="StatisticalAdministrativeInformationCode"/>
-            <xsd:enumeration value="StatisticalNatureOfTransaction"/>
-            <xsd:enumeration value="StatisticalObject"/>
-            <xsd:enumeration value="StatisticalProcedures"/>
-            <xsd:enumeration value="StatisticBundesAmtCode"/>
-            <xsd:enumeration value="StatusCode"/>
-            <xsd:enumeration value="StockExchangeCode"/>
-            <xsd:enumeration value="StockExchangeDetail"/>
-            <xsd:enumeration value="StockFundOrNon-StockFundCode"/>
-            <xsd:enumeration value="StorageFacility"/>
-            <xsd:enumeration value="StudentActivityTypeCode"/>
-            <xsd:enumeration value="StudentAwardCode"/>
-            <xsd:enumeration value="SubcaseNumber"/>
-            <xsd:enumeration value="SubrogationActionCode"/>
-            <xsd:enumeration value="SubrogationPaymentOptions"/>
-            <xsd:enumeration value="SubrogationRequestCodes"/>
-            <xsd:enumeration value="SubrogationResponseCodes"/>
-            <xsd:enumeration value="SubsistenceTypeOfPackCode"/>
-            <xsd:enumeration value="SuffixCode"/>
-            <xsd:enumeration value="SuffixOrLimitCode"/>
-            <xsd:enumeration value="SummonsTypeCode"/>
-            <xsd:enumeration value="SupplementalData"/>
-            <xsd:enumeration value="SupplementaryAccountingClassificationCode"/>
-            <xsd:enumeration value="SuppliersStockTurnover"/>
-            <xsd:enumeration value="SupplyConditionCode"/>
-            <xsd:enumeration value="SurfaceDescriptorCode"/>
-            <xsd:enumeration value="SWIFT"/>
-            <xsd:enumeration value="SyntaxNotes"/>
-            <xsd:enumeration value="SystematizedNomenclatureOfHumanAndVeterinaryMedicine"/>
-            <xsd:enumeration value="SystemStatus"/>
-            <xsd:enumeration value="TariffSchedule"/>
-            <xsd:enumeration value="TaxAssessmentMethod"/>
-            <xsd:enumeration value="TaxOrFeeExemptionReasonCode"/>
-            <xsd:enumeration value="TaxPartyIdentification"/>
-            <xsd:enumeration value="TechnicalAssessmentChecklist"/>
-            <xsd:enumeration value="TelephoneDirectory"/>
-            <xsd:enumeration value="TemplateCharacteristicLookup"/>
-            <xsd:enumeration value="TemplateOwnerLookup"/>
-            <xsd:enumeration value="TemplateTypeLookup"/>
-            <xsd:enumeration value="Termination"/>
-            <xsd:enumeration value="TermsOfDelivery"/>
-            <xsd:enumeration value="TertiaryDiagnosis"/>
-            <xsd:enumeration value="TestingDemographicCategoryCodeList"/>
-            <xsd:enumeration value="TestingServiceQuestionCodeList"/>
-            <xsd:enumeration value="TestingStatisticalCategoryCodeList"/>
-            <xsd:enumeration value="TestResultsCode"/>
-            <xsd:enumeration value="TitleDocumentCodeList"/>
-            <xsd:enumeration value="TitleExceptionAndRequirementCodeList"/>
-            <xsd:enumeration value="TradeCode"/>
-            <xsd:enumeration value="TrainIdentification"/>
-            <xsd:enumeration value="TransactionStatusIndicatorCode"/>
-            <xsd:enumeration value="TransportationBillCode"/>
-            <xsd:enumeration value="TransportationHoldingDelayCode"/>
-            <xsd:enumeration value="TransportationModeOrMethodCode"/>
-            <xsd:enumeration value="TransportationModeReasonCode"/>
-            <xsd:enumeration value="TransportationPriorityCode"/>
-            <xsd:enumeration value="TreasuryManagementAssociationServiceCode"/>
-            <xsd:enumeration value="TreasuryManagementAssociationServiceCodeAndBankServiceCode"/>
-            <xsd:enumeration value="TreasurySymbolCode"/>
-            <xsd:enumeration value="TreatmentCodes"/>
-            <xsd:enumeration value="TrendReason"/>
-            <xsd:enumeration value="TrialTypeCode"/>
-            <xsd:enumeration value="TypeAdjustmentCode"/>
-            <xsd:enumeration value="TypeAndCauseCode"/>
-            <xsd:enumeration value="TypeDue-InIndicator"/>
-            <xsd:enumeration value="TypeIdentityChangeCode"/>
-            <xsd:enumeration value="TypeInspectionCode"/>
-            <xsd:enumeration value="TypeNumericalControlSystemCode"/>
-            <xsd:enumeration value="TypeOfAssetsAndLiabilities"/>
-            <xsd:enumeration value="TypeOfAssistanceCode"/>
-            <xsd:enumeration value="TypeOfBillCode"/>
-            <xsd:enumeration value="TypeOfBusinessCode"/>
-            <xsd:enumeration value="TypeOfCargoCode"/>
-            <xsd:enumeration value="TypeOfContractCode"/>
-            <xsd:enumeration value="TypeOfContractorCode"/>
-            <xsd:enumeration value="TypeOfDelayCode"/>
-            <xsd:enumeration value="TypeOfFinancialAccount"/>
-            <xsd:enumeration value="TypeOfFirmCode"/>
-            <xsd:enumeration value="TypeOfIndustrialActivity"/>
-            <xsd:enumeration value="TypeOfInquiryCode"/>
-            <xsd:enumeration value="TypeOfInsured"/>
-            <xsd:enumeration value="TypeOfIssueCode"/>
-            <xsd:enumeration value="TypeOfLocationReconciliationRequest"/>
-            <xsd:enumeration value="TypeOfMediaCode"/>
-            <xsd:enumeration value="TypeOfPackage"/>
-            <xsd:enumeration value="TypeOfProcurement"/>
-            <xsd:enumeration value="TypeOfStorageCode"/>
-            <xsd:enumeration value="TypeOfSurveyQuestion"/>
-            <xsd:enumeration value="TypePackCode"/>
-            <xsd:enumeration value="TypePhysicalInventoryOrTransactionHistoryCode"/>
-            <xsd:enumeration value="UltimateRecipientCode"/>
-            <xsd:enumeration value="UnclaimedPropertyAdditionsDeletionsAndDeductionsCodes"/>
-            <xsd:enumeration value="UnclaimedPropertyTypeCode"/>
-            <xsd:enumeration value="UniformFreightClassificationCode"/>
-            <xsd:enumeration value="UniformResidentialAppraisalAttributesCode"/>
-            <xsd:enumeration value="UnitCode"/>
-            <xsd:enumeration value="UnitedNationsCommonCodingSystem"/>
-            <xsd:enumeration value="UnitedNationsStandardProductsAndServices"/>
-            <xsd:enumeration value="UnitedStatesDepartmentOfHealthAndHumanServicesOfficeOfVitalStatisticsE-Code"/>
-            <xsd:enumeration value="UnsolicitedProposalRejectionReason"/>
-            <xsd:enumeration value="UtilizationCode"/>
-            <xsd:enumeration value="VaccinationInnoculationOrIsolationCode"/>
-            <xsd:enumeration value="ValuationTypeCode"/>
-            <xsd:enumeration value="Value"/>
-            <xsd:enumeration value="ValueAddedTaxIdentification"/>
-            <xsd:enumeration value="VehicleClass"/>
-            <xsd:enumeration value="VehicleOccupantCode"/>
-            <xsd:enumeration value="VehicleParameters"/>
-            <xsd:enumeration value="VesselStatusAndTermsOfCarriageCode"/>
-            <xsd:enumeration value="VesselStowageLocationCode"/>
-            <xsd:enumeration value="VesselSustainingCode"/>
-            <xsd:enumeration value="ViewParameters"/>
-            <xsd:enumeration value="ViolationTypeCodeList"/>
-            <xsd:enumeration value="VoyageDocumentNumberCode"/>
-            <xsd:enumeration value="VoyageManifestReferenceCode"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="WarReserveMaterialRequirementCode"/>
-            <xsd:enumeration value="WaterCommodityAndSpecialHandlingCode"/>
-            <xsd:enumeration value="WaterTerminalIdentifierCode"/>
-            <xsd:enumeration value="WeightOrFragilityCode"/>
-            <xsd:enumeration value="WhenDiscoveredLookup"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ContractType">
-        <xsd:sequence>
-            <xsd:element name="ContractTypeCoded" type="ContractTypeCode"/>
-            <xsd:element minOccurs="0" name="ContractTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ContractType" type="ContractType"/>
-    <xsd:simpleType name="ContractTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="DiagnosisRelatedGroup"/>
-            <xsd:enumeration value="PerDiem"/>
-            <xsd:enumeration value="VariablePerDiem"/>
-            <xsd:enumeration value="Flat"/>
-            <xsd:enumeration value="Capitated"/>
-            <xsd:enumeration value="Percent"/>
-            <xsd:enumeration value="NegotiatedGrowingEquityMortgage"/>
-            <xsd:enumeration value="AnticipatedContract"/>
-            <xsd:enumeration value="FederalHousingAuthorityAdjustableRateMortgage"/>
-            <xsd:enumeration value="FederalHousingAuthorityVeteransAffairsFixedRateMortgage"/>
-            <xsd:enumeration value="ConventionalSecondMortgages"/>
-            <xsd:enumeration value="ConventionalFixedRateMortgages"/>
-            <xsd:enumeration value="FederalHousingAuthorityVeteransAffairsGraduatedPaymentMortgage"/>
-            <xsd:enumeration value="NegotiatedConventionalGraduatedPaymentOrStepRateMortgage"/>
-            <xsd:enumeration value="ConventionalAdjustableRateMortgage"/>
-            <xsd:enumeration value="CostPlusIncentiveFee"/>
-            <xsd:enumeration value="CostSharing"/>
-            <xsd:enumeration value="CostPlus"/>
-            <xsd:enumeration value="Cost"/>
-            <xsd:enumeration value="CostPlusAwardFee"/>
-            <xsd:enumeration value="CostPlusFixedFee"/>
-            <xsd:enumeration value="Distributor"/>
-            <xsd:enumeration value="ExclusiveAgency"/>
-            <xsd:enumeration value="ExclusiveRight"/>
-            <xsd:enumeration value="FirmorActualContract"/>
-            <xsd:enumeration value="FixedPriceIncentiveFirmTargetWithPerformanceIncentive"/>
-            <xsd:enumeration value="FixedPriceIncentiveFirmTargetWithoutPerformanceIncentive"/>
-            <xsd:enumeration value="FixedPriceRedetermination"/>
-            <xsd:enumeration value="FixedPricewithEscalation"/>
-            <xsd:enumeration value="FixedPriceIncentiveSuccessiveTargetWithPerformanceIncentive"/>
-            <xsd:enumeration value="FixedPriceIncentiveSuccessiveTargetWithoutPerformanceIncentive"/>
-            <xsd:enumeration value="FixedPriceAwardFee"/>
-            <xsd:enumeration value="FixedPriceIncentive"/>
-            <xsd:enumeration value="FixedPriceLevelofEffort"/>
-            <xsd:enumeration value="NoCost"/>
-            <xsd:enumeration value="FlatAmount"/>
-            <xsd:enumeration value="RetroactiveFixedPriceRedetermination"/>
-            <xsd:enumeration value="FirmFixedPrice"/>
-            <xsd:enumeration value="FixedPricewithEconomicPriceAdjustment"/>
-            <xsd:enumeration value="Labor"/>
-            <xsd:enumeration value="LevelofEffort"/>
-            <xsd:enumeration value="LaborHours"/>
-            <xsd:enumeration value="OtherContractType"/>
-            <xsd:enumeration value="ProspectReservation"/>
-            <xsd:enumeration value="SamePercentageasFilmRentalEarned"/>
-            <xsd:enumeration value="TimeandMaterials"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ValidityDates">
-        <xsd:sequence>
-            <xsd:element name="StartDate" type="xcblDatetime"/>
-            <xsd:element name="EndDate" type="xcblDatetime"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ValidityDates" type="ValidityDates"/>
-    <xsd:complexType name="ListOfReferenceCoded">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ReferenceCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfReferenceCoded" type="ListOfReferenceCoded"/>
-    <xsd:complexType name="ReferenceCoded">
-        <xsd:sequence>
-            <xsd:element name="ReferenceTypeCoded" type="ReferenceTypeCode"/>
-            <xsd:element minOccurs="0" name="ReferenceTypeCodedOther" type="xsd:string"/>
-            <xsd:element name="PrimaryReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Reference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="SupportingReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Reference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="SupportingSubReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Reference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ReferenceDescription" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ReferenceCoded" type="ReferenceCoded"/>
-    <xsd:simpleType name="ReferenceTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AbbreviatedNewDrugApplicationNumber"/>
-            <xsd:enumeration value="AcceptableSourceDUNSNumber"/>
-            <xsd:enumeration value="AcceptableSourcePurchaserID"/>
-            <xsd:enumeration value="AcceptableSourceSupplierID"/>
-            <xsd:enumeration value="AccessCode"/>
-            <xsd:enumeration value="AccessorialRailDiversionReferenceNumber"/>
-            <xsd:enumeration value="AccessorialStatusCode"/>
-            <xsd:enumeration value="AccidentReferenceNumber"/>
-            <xsd:enumeration value="AccountCategory"/>
-            <xsd:enumeration value="AccountingCode"/>
-            <xsd:enumeration value="AccountingEquipmentLocationNumber"/>
-            <xsd:enumeration value="AccountingFileReference"/>
-            <xsd:enumeration value="AccountingPeriodReference"/>
-            <xsd:enumeration value="AccountManagersCode"/>
-            <xsd:enumeration value="AccountNumber"/>
-            <xsd:enumeration value="AccountPartysBankReference"/>
-            <xsd:enumeration value="AccountPartysReference"/>
-            <xsd:enumeration value="AccountPayableNumber"/>
-            <xsd:enumeration value="AccountServicingBanksReferenceNumber"/>
-            <xsd:enumeration value="AccountsReceivableCustomerAccount"/>
-            <xsd:enumeration value="AccountsReceivableNumber"/>
-            <xsd:enumeration value="AccountsReceivableOpenItem"/>
-            <xsd:enumeration value="AccountsReceivableStatementNumber"/>
-            <xsd:enumeration value="AccountSuffixCode"/>
-            <xsd:enumeration value="AcknowledgementOfOrderNumber"/>
-            <xsd:enumeration value="ActionAuthorizationNumber"/>
-            <xsd:enumeration value="AdditionalReferenceNumber"/>
-            <xsd:enumeration value="AddOnSystemNumber"/>
-            <xsd:enumeration value="AddresseeReference"/>
-            <xsd:enumeration value="AdjustedRepricedClaimReferenceNumber"/>
-            <xsd:enumeration value="AdjustedRepricedLineItemReferenceNumber"/>
-            <xsd:enumeration value="AdjustmentControlNumber"/>
-            <xsd:enumeration value="AdjustmentMemoChargeBack"/>
-            <xsd:enumeration value="AdministratorsReferenceNumber"/>
-            <xsd:enumeration value="AdversaryCase"/>
-            <xsd:enumeration value="AdvertiserNumber"/>
-            <xsd:enumeration value="AdviceOfCollectionNumber"/>
-            <xsd:enumeration value="AdviseThroughBanksReference"/>
-            <xsd:enumeration value="AdvisingBanksReference"/>
-            <xsd:enumeration value="AeronauticalEquipmentReferenceNumber"/>
-            <xsd:enumeration value="AFE"/>
-            <xsd:enumeration value="AffectedSubsystemCode"/>
-            <xsd:enumeration value="AffiliationNumber"/>
-            <xsd:enumeration value="AgencyAssignedEmployeeID"/>
-            <xsd:enumeration value="AgencyAssignedNumber"/>
-            <xsd:enumeration value="AgencyCaseNumber"/>
-            <xsd:enumeration value="AgencyClaimNumber"/>
-            <xsd:enumeration value="AgencyClauseNumber"/>
-            <xsd:enumeration value="AIDAR"/>
-            <xsd:enumeration value="AgencyHierarchicalLevel"/>
-            <xsd:enumeration value="AgencyLocationCode"/>
-            <xsd:enumeration value="AgencysStudentNumber"/>
-            <xsd:enumeration value="AgentClaimNumber"/>
-            <xsd:enumeration value="AgentContractNumber"/>
-            <xsd:enumeration value="AgentNumber"/>
-            <xsd:enumeration value="AgentsBankReference"/>
-            <xsd:enumeration value="AgentsReference"/>
-            <xsd:enumeration value="AgentsShipmentNumber"/>
-            <xsd:enumeration value="AGERD"/>
-            <xsd:enumeration value="AgreementNumber"/>
-            <xsd:enumeration value="AgreementToPayNumber"/>
-            <xsd:enumeration value="AirCargoTransferManifest"/>
-            <xsd:enumeration value="AirDimensionCode"/>
-            <xsd:enumeration value="AirHandlingCode"/>
-            <xsd:enumeration value="AirlinesFlightIdentificationNumber"/>
-            <xsd:enumeration value="AirlineTicketNumber"/>
-            <xsd:enumeration value="AirWaybillNumber"/>
-            <xsd:enumeration value="AllotmentIdentification"/>
-            <xsd:enumeration value="AllowanceRecipientIdentification"/>
-            <xsd:enumeration value="AlterationNumber"/>
-            <xsd:enumeration value="AlternateClauseNumber"/>
-            <xsd:enumeration value="AmbulatoryPatientGroupNumber"/>
-            <xsd:enumeration value="AmendedUniformCommercialCodeFilingNumber"/>
-            <xsd:enumeration value="Amendment"/>
-            <xsd:enumeration value="AmendmentFiling"/>
-            <xsd:enumeration value="AmericanBankersAssociationTransitOrRoutingNumber"/>
-            <xsd:enumeration value="AmericanGasAssociationEquationNumber"/>
-            <xsd:enumeration value="AmericanOsteopathicAssociationCertificationNumber"/>
-            <xsd:enumeration value="AmericanPetroleumInstituteDeductionCode"/>
-            <xsd:enumeration value="AmericanPetroleumInstituteWell"/>
-            <xsd:enumeration value="AnalysisNumberOrTestNumber"/>
-            <xsd:enumeration value="AnesthesiaLicenseNumber"/>
-            <xsd:enumeration value="AnimalSpecies"/>
-            <xsd:enumeration value="AnimalStrain"/>
-            <xsd:enumeration value="AntiDumpingCaseNumber"/>
-            <xsd:enumeration value="APE"/>
-            <xsd:enumeration value="ApplicableCoefficientIdentificationNumber"/>
-            <xsd:enumeration value="ApplicableInstructionsOrStandards"/>
-            <xsd:enumeration value="ApplicantsBankReference"/>
-            <xsd:enumeration value="ApplicantsReference"/>
-            <xsd:enumeration value="ApplicationNumber"/>
-            <xsd:enumeration value="ApplicationReferenceNumber"/>
-            <xsd:enumeration value="ApplicationTransactionReferenceNumber"/>
-            <xsd:enumeration value="AppointmentNumber"/>
-            <xsd:enumeration value="AppraiserLicense"/>
-            <xsd:enumeration value="AppropriationNumber"/>
-            <xsd:enumeration value="ApprovalCode"/>
-            <xsd:enumeration value="Area"/>
-            <xsd:enumeration value="ArrivalCode"/>
-            <xsd:enumeration value="ArticleNumber"/>
-            <xsd:enumeration value="AssemblyLineFeedLocation"/>
-            <xsd:enumeration value="AssemblyNumber"/>
-            <xsd:enumeration value="AssessmentNumber"/>
-            <xsd:enumeration value="AssignedByTransactionSetSender"/>
-            <xsd:enumeration value="AssignedContractNumber"/>
-            <xsd:enumeration value="AssignedSequenceNumber"/>
-            <xsd:enumeration value="AssignmentNumber"/>
-            <xsd:enumeration value="AssignmentRecordingNumber"/>
-            <xsd:enumeration value="AssociatedCaseControlNumber"/>
-            <xsd:enumeration value="AssociatedInvoices"/>
-            <xsd:enumeration value="AssociatedNumberForJoinedUnitNotResubdivided"/>
-            <xsd:enumeration value="AssociatedNumberForLimitedCommonElementParking"/>
-            <xsd:enumeration value="AssociatedNumberForUnitParking"/>
-            <xsd:enumeration value="AssociatedPolicyNumber"/>
-            <xsd:enumeration value="AssociatedProductNumber"/>
-            <xsd:enumeration value="AssociatedPropertyNumber"/>
-            <xsd:enumeration value="AssociatedPurchaseOrders"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsRailwayAccountingRules"/>
-            <xsd:enumeration value="AssumingCompany"/>
-            <xsd:enumeration value="AtaCarnetNumber"/>
-            <xsd:enumeration value="AtomicSafetyandLicensingBoardPanelNumber"/>
-            <xsd:enumeration value="AttachedTo"/>
-            <xsd:enumeration value="AttachmentCode"/>
-            <xsd:enumeration value="Attorney"/>
-            <xsd:enumeration value="AuthorisationForRepairReference"/>
-            <xsd:enumeration value="AuthorityIssuedEquipmentIdentification"/>
-            <xsd:enumeration value="AuthorizationNumber"/>
-            <xsd:enumeration value="AuthorizationNumberForExceptionToDangerousGoods"/>
-            <xsd:enumeration value="AuthorizationToMeetCompetitionNumber"/>
-            <xsd:enumeration value="AutoLossItemNumber"/>
-            <xsd:enumeration value="ACHReturnOrNotificationOfChangeCode"/>
-            <xsd:enumeration value="ACHEntryDescription"/>
-            <xsd:enumeration value="ACHStandardEntryClass"/>
-            <xsd:enumeration value="ACHTraceNumber"/>
-            <xsd:enumeration value="AutomatedUnderwritingReferenceNumber"/>
-            <xsd:enumeration value="AxleRatio"/>
-            <xsd:enumeration value="BackoutProcedureCode"/>
-            <xsd:enumeration value="BadgeNumber"/>
-            <xsd:enumeration value="BalanceDueReferenceNumber"/>
-            <xsd:enumeration value="BankAssignedBankersReferenceNumber"/>
-            <xsd:enumeration value="BankAssignedSecurityIdentifier"/>
-            <xsd:enumeration value="BankersAcceptance"/>
-            <xsd:enumeration value="BankReference"/>
-            <xsd:enumeration value="BankruptcyProcedureNumber"/>
-            <xsd:enumeration value="BanksCommonTransactionReferenceNumber"/>
-            <xsd:enumeration value="BanksIndividualTransactionReferenceNumber"/>
-            <xsd:enumeration value="BankTelegraphicNumber"/>
-            <xsd:enumeration value="BankToBankInformation"/>
-            <xsd:enumeration value="BarCodedLabelSerialNumber"/>
-            <xsd:enumeration value="BarCodedSerialNumber"/>
-            <xsd:enumeration value="BargePermitNumber"/>
-            <xsd:enumeration value="BasicContractLineItemNumber"/>
-            <xsd:enumeration value="BatchNumberOrLotNumber"/>
-            <xsd:enumeration value="BatchSequenceNumber"/>
-            <xsd:enumeration value="BeamAssemblyCode"/>
-            <xsd:enumeration value="BeginMileMarker"/>
-            <xsd:enumeration value="BeginningJobSequenceNumber"/>
-            <xsd:enumeration value="BeginningKanbanSerialNumber"/>
-            <xsd:enumeration value="BeginningMeterReadingActual"/>
-            <xsd:enumeration value="BeginningMeterReadingEstimated"/>
-            <xsd:enumeration value="BeginningSerialNumber"/>
-            <xsd:enumeration value="BeneficiarysBankReference"/>
-            <xsd:enumeration value="BeneficiarysReference"/>
-            <xsd:enumeration value="BidNumber"/>
-            <xsd:enumeration value="BilateralCarServiceAgreements"/>
-            <xsd:enumeration value="BillAndHoldInvoiceNumber"/>
-            <xsd:enumeration value="BillingAccount"/>
-            <xsd:enumeration value="BillingCenterIdentification"/>
-            <xsd:enumeration value="BillingType"/>
-            <xsd:enumeration value="BillOfLadingNumber"/>
-            <xsd:enumeration value="BillofMaterialRevisionNumber"/>
-            <xsd:enumeration value="BillOfQuantitiesNumber"/>
-            <xsd:enumeration value="BinaryObjectIdentifier"/>
-            <xsd:enumeration value="BinLocationNumber"/>
-            <xsd:enumeration value="BlanketOrderNumber"/>
-            <xsd:enumeration value="BlendedWithBatchNumber"/>
-            <xsd:enumeration value="BlendedWithNumber"/>
-            <xsd:enumeration value="Block"/>
-            <xsd:enumeration value="BlueCrossProviderNumber"/>
-            <xsd:enumeration value="BlueShieldProviderNumber"/>
-            <xsd:enumeration value="BondedCarrierInternalRevenueServiceIdentificationNumber"/>
-            <xsd:enumeration value="BookingReferenceNumber"/>
-            <xsd:enumeration value="BookNumber"/>
-            <xsd:enumeration value="BordereauNumber"/>
-            <xsd:enumeration value="BranchIdentifier"/>
-            <xsd:enumeration value="BrokerIdentification"/>
-            <xsd:enumeration value="BrokerOrSalesOfficeNumber"/>
-            <xsd:enumeration value="BrokerReference1"/>
-            <xsd:enumeration value="BrokerReference2"/>
-            <xsd:enumeration value="BrokersOrderNumber"/>
-            <xsd:enumeration value="BrokerReferenceNumber"/>
-            <xsd:enumeration value="BudgetChapter"/>
-            <xsd:enumeration value="BureauofLaborandStatisticsScheduleIdentifier"/>
-            <xsd:enumeration value="BureauSigningOR"/>
-            <xsd:enumeration value="BureauSigningSR"/>
-            <xsd:enumeration value="BusinessActivity"/>
-            <xsd:enumeration value="BusinessIdentificationNumber"/>
-            <xsd:enumeration value="BusinessTaxNumber"/>
-            <xsd:enumeration value="BuyerIdentification"/>
-            <xsd:enumeration value="BuyersApprovalMark"/>
-            <xsd:enumeration value="BuyersCatalogueNumber"/>
-            <xsd:enumeration value="BuyersContractNumber"/>
-            <xsd:enumeration value="BuyersCreditMemo"/>
-            <xsd:enumeration value="BuyersDebitMemo"/>
-            <xsd:enumeration value="BuyersDebtorNumber"/>
-            <xsd:enumeration value="BuyersItemNumber"/>
-            <xsd:enumeration value="BuyersOrderNumber"/>
-            <xsd:enumeration value="BuyersShipmentMarkNumber"/>
-            <xsd:enumeration value="CadFileLayerConvention"/>
-            <xsd:enumeration value="Calendar"/>
-            <xsd:enumeration value="CalendarNumber"/>
-            <xsd:enumeration value="CallOffOrderNumber"/>
-            <xsd:enumeration value="CallSign"/>
-            <xsd:enumeration value="CanadianExciseEntryNumber"/>
-            <xsd:enumeration value="CanadianFinancialInstitutionBranchAndInstitutionNumber"/>
-            <xsd:enumeration value="CanadianGoodsAndServicesorQuebecSalesTaxReferenceNumber"/>
-            <xsd:enumeration value="CanadianProvinceOperatingAuthorityNumber"/>
-            <xsd:enumeration value="CanadianSocialInsuranceNumber"/>
-            <xsd:enumeration value="CanadianWheatBoardPermitNumber"/>
-            <xsd:enumeration value="CanceledRevisionNumber"/>
-            <xsd:enumeration value="CardAccountReportingIdentifier"/>
-            <xsd:enumeration value="CardAccountReportingLevel"/>
-            <xsd:enumeration value="CardAccountStatusCode"/>
-            <xsd:enumeration value="CardAccountTypeCode"/>
-            <xsd:enumeration value="CardBillingTypeCode"/>
-            <xsd:enumeration value="CardIssuerTransactionCode"/>
-            <xsd:enumeration value="CargoAcceptanceOrderReferenceNumber"/>
-            <xsd:enumeration value="CargoControlNumber"/>
-            <xsd:enumeration value="CargoManifestNumber"/>
-            <xsd:enumeration value="CarnetNumber"/>
-            <xsd:enumeration value="CarrierAssignedCode"/>
-            <xsd:enumeration value="CarrierAssignedConsigneeNumber"/>
-            <xsd:enumeration value="CarrierAssignedPackageIdentificationNumber"/>
-            <xsd:enumeration value="CarrierAssignedReferenceNumber"/>
-            <xsd:enumeration value="CarrierAssignedShipperNumber"/>
-            <xsd:enumeration value="CarriersAgentReferenceNumber"/>
-            <xsd:enumeration value="CarriersCustomsBondNumber"/>
-            <xsd:enumeration value="CarriersReferenceNumber"/>
-            <xsd:enumeration value="CaseNumber"/>
-            <xsd:enumeration value="CaseOfNeedPartysReference"/>
-            <xsd:enumeration value="CasualtyReportNumber"/>
-            <xsd:enumeration value="CasualtyReportSerialNumber"/>
-            <xsd:enumeration value="Catalog"/>
-            <xsd:enumeration value="CatalogueSequenceNumber"/>
-            <xsd:enumeration value="CatastropheNumber"/>
-            <xsd:enumeration value="CategoryOfWorkReference"/>
-            <xsd:enumeration value="CedentsClaimNumber"/>
-            <xsd:enumeration value="CedingCompany"/>
-            <xsd:enumeration value="CeilingFormulaReferenceNumber"/>
-            <xsd:enumeration value="CensusAutomatedFilesID"/>
-            <xsd:enumeration value="CensusBlockGroup"/>
-            <xsd:enumeration value="CensusStateCode"/>
-            <xsd:enumeration value="CensusTract"/>
-            <xsd:enumeration value="CensusTractSuffix"/>
-            <xsd:enumeration value="CentralSecretariatLogNumber"/>
-            <xsd:enumeration value="CentralSecretariatLogNumberChildDataMaintenance"/>
-            <xsd:enumeration value="CentralSecretariatLogNumberParentDataMaintenance"/>
-            <xsd:enumeration value="CertificateNumber"/>
-            <xsd:enumeration value="CertificateOfConformity"/>
-            <xsd:enumeration value="CertificateofIncorporationNumber"/>
-            <xsd:enumeration value="CertificateofTransportation"/>
-            <xsd:enumeration value="Certification"/>
-            <xsd:enumeration value="CertifiedMailNumber"/>
-            <xsd:enumeration value="CRNA"/>
-            <xsd:enumeration value="ChamberOfCommerceNumber"/>
-            <xsd:enumeration value="ChamberOfCommerceRegistrationNumber"/>
-            <xsd:enumeration value="CHAMPUSIdentificationNumber"/>
-            <xsd:enumeration value="ChangeDocumentNumber"/>
-            <xsd:enumeration value="ChangeNumber"/>
-            <xsd:enumeration value="ChangeOrderAuthority"/>
-            <xsd:enumeration value="ChangeVerificationProcedureCode"/>
-            <xsd:enumeration value="ChargeCardAccountNumber"/>
-            <xsd:enumeration value="ChargeCardNumber"/>
-            <xsd:enumeration value="ChargeNoteReferenceNumber"/>
-            <xsd:enumeration value="ChargeNumber"/>
-            <xsd:enumeration value="CharterNumber"/>
-            <xsd:enumeration value="CheckingNumber"/>
-            <xsd:enumeration value="CheckListNumber"/>
-            <xsd:enumeration value="CheckNumber"/>
-            <xsd:enumeration value="ChemicalAbstractServiceRegistryNumber"/>
-            <xsd:enumeration value="ChequeNumber"/>
-            <xsd:enumeration value="CircuitNumber"/>
-            <xsd:enumeration value="Circular"/>
-            <xsd:enumeration value="CircularPublicationNumber"/>
-            <xsd:enumeration value="Citation"/>
-            <xsd:enumeration value="CitationOfOpinion"/>
-            <xsd:enumeration value="CitationOfStatute"/>
-            <xsd:enumeration value="CitizenshipDocumentNumber"/>
-            <xsd:enumeration value="CivilActionNumber"/>
-            <xsd:enumeration value="CivilLiabilitiesofOilCertificate"/>
-            <xsd:enumeration value="ClaimAdministratorClaimNumber"/>
-            <xsd:enumeration value="ClaimantNumber"/>
-            <xsd:enumeration value="ClaimantsClaimNumber"/>
-            <xsd:enumeration value="ClaimNumber"/>
-            <xsd:enumeration value="ClaimOfficeNumber"/>
-            <xsd:enumeration value="ClassCode"/>
-            <xsd:enumeration value="ClassOfContractCode"/>
-            <xsd:enumeration value="ClauseNumber"/>
-            <xsd:enumeration value="ClearingHouseInterbankPaymentsSystemSequenceNumber"/>
-            <xsd:enumeration value="ClearingHouseInterbankPaymentSystemParticipantNumber"/>
-            <xsd:enumeration value="ClearingHouseInterbankPaymentSystemUserIdentification"/>
-            <xsd:enumeration value="ClearingReference"/>
-            <xsd:enumeration value="ClearTextClause"/>
-            <xsd:enumeration value="ClientCompanyCode"/>
-            <xsd:enumeration value="ClientNumber"/>
-            <xsd:enumeration value="ClientReportingCategory"/>
-            <xsd:enumeration value="ClinicalLaboratoryImprovementAmendmentNumber"/>
-            <xsd:enumeration value="ClinicNumber"/>
-            <xsd:enumeration value="CoalAuthorityNumber"/>
-            <xsd:enumeration value="CodeOfFederalRegulations"/>
-            <xsd:enumeration value="CoilNumber"/>
-            <xsd:enumeration value="ColdRollNumber"/>
-            <xsd:enumeration value="CollectingBanksReference"/>
-            <xsd:enumeration value="CollectorIdentification"/>
-            <xsd:enumeration value="CollocationIndicator"/>
-            <xsd:enumeration value="CombinedShipment"/>
-            <xsd:enumeration value="CommercialOrPrivatePassengerVehicleQualifier"/>
-            <xsd:enumeration value="CommercialAccountSummaryReferenceNumber"/>
-            <xsd:enumeration value="CommercialandGovernmentEntityCode"/>
-            <xsd:enumeration value="CommercialDriversLicense"/>
-            <xsd:enumeration value="CommercialInvoiceNumber"/>
-            <xsd:enumeration value="CommercialRegistrationNumber"/>
-            <xsd:enumeration value="CommercialVehicleSafetyAssuranceNumber"/>
-            <xsd:enumeration value="CommitmentNumber"/>
-            <xsd:enumeration value="CommitteeOnUniformSecurityIdentificationProceduresNumber"/>
-            <xsd:enumeration value="CommodityNumber"/>
-            <xsd:enumeration value="CommonAccessReferenceNumber"/>
-            <xsd:enumeration value="CommonTransactionReferenceNumber"/>
-            <xsd:enumeration value="CompanyAndPlaceRegistrationNumber"/>
-            <xsd:enumeration value="CompanyAndSyndicateReference1"/>
-            <xsd:enumeration value="CompanyAndSyndicateReference2"/>
-            <xsd:enumeration value="CompanyIssuedEquipmentId"/>
-            <xsd:enumeration value="CRO"/>
-            <xsd:enumeration value="ComparableProperty"/>
-            <xsd:enumeration value="ComparablePropertyPendingSaleReferenceNumber"/>
-            <xsd:enumeration value="ComparablePropertySaleReferenceNumber"/>
-            <xsd:enumeration value="ComparablePropertyVerificationSource"/>
-            <xsd:enumeration value="CompetentAuthority"/>
-            <xsd:enumeration value="Complaint"/>
-            <xsd:enumeration value="ComplaintCode"/>
-            <xsd:enumeration value="CompletedUnitsPaymentRequestReference"/>
-            <xsd:enumeration value="ComplianceCodeNumber"/>
-            <xsd:enumeration value="Component"/>
-            <xsd:enumeration value="ConditionOfPurchaseDocumentNumber"/>
-            <xsd:enumeration value="ConditionOfSaleDocumentNumber"/>
-            <xsd:enumeration value="CondominiumIdentificationNumber"/>
-            <xsd:enumeration value="CongressionalDistrict"/>
-            <xsd:enumeration value="ConnectingCarrier"/>
-            <xsd:enumeration value="ConsigneeReferenceNumber"/>
-            <xsd:enumeration value="ConsigneesFurtherOrder"/>
-            <xsd:enumeration value="ConsigneesInvoiceNumber"/>
-            <xsd:enumeration value="ConsigneesOrderNumber"/>
-            <xsd:enumeration value="ConsigneesReleaseNumber"/>
-            <xsd:enumeration value="ConsigneesShipmentReferenceNumber"/>
-            <xsd:enumeration value="ConsignmentClassificationID"/>
-            <xsd:enumeration value="ConsignorsFurtherOrder"/>
-            <xsd:enumeration value="ConsignorsReferenceNumber"/>
-            <xsd:enumeration value="ConsolidatedInvoiceNumber"/>
-            <xsd:enumeration value="ConsolidationShipmentNumber"/>
-            <xsd:enumeration value="ConsolidatorsReceiptNumber"/>
-            <xsd:enumeration value="ConstraintNotation"/>
-            <xsd:enumeration value="ConsumerIdentifier"/>
-            <xsd:enumeration value="ConsumptionDataRequestNumber"/>
-            <xsd:enumeration value="ContainerOrEquipmentReceiptNumber"/>
-            <xsd:enumeration value="ContainerOrPackagingSpecificationNumber"/>
-            <xsd:enumeration value="ContainerDispositionOrderReferenceNumber"/>
-            <xsd:enumeration value="ContainerOperatorsReferenceNumber"/>
-            <xsd:enumeration value="ContainerorEquipmentReceiptNumber"/>
-            <xsd:enumeration value="ContainerPrefix"/>
-            <xsd:enumeration value="ContainerSequenceNumber"/>
-            <xsd:enumeration value="ContainerWorkOrderReferenceNumber"/>
-            <xsd:enumeration value="ContinuationFiling"/>
-            <xsd:enumeration value="ContinuationUniformCommercialCodeFilingNumber"/>
-            <xsd:enumeration value="ContinuousMoveNumber"/>
-            <xsd:enumeration value="ContinuousTransferNumber"/>
-            <xsd:enumeration value="ContractAddendumNumber"/>
-            <xsd:enumeration value="ContractAuditorIDNumber"/>
-            <xsd:enumeration value="ContractBreakdownReference"/>
-            <xsd:enumeration value="ContractCoopNumber"/>
-            <xsd:enumeration value="ContractHolderClaimNumber"/>
-            <xsd:enumeration value="ContractLineItemNumber"/>
-            <xsd:enumeration value="ContractNumber"/>
-            <xsd:enumeration value="ContractOptionNumber"/>
-            <xsd:enumeration value="ContractorDataRequirementsList"/>
-            <xsd:enumeration value="ContractorEstablishmentCode"/>
-            <xsd:enumeration value="ContractorRequestReference"/>
-            <xsd:enumeration value="ContractPartyReferenceNumber"/>
-            <xsd:enumeration value="ContractReference"/>
-            <xsd:enumeration value="ContractRiderNumber"/>
-            <xsd:enumeration value="ConveyanceReferenceNumber"/>
-            <xsd:enumeration value="CooperationContractNumber"/>
-            <xsd:enumeration value="CornboreCertificationNumber"/>
-            <xsd:enumeration value="CorrectedBatchNumber"/>
-            <xsd:enumeration value="CorrectedContractNumber"/>
-            <xsd:enumeration value="CorrectedSocialSecurityNumber"/>
-            <xsd:enumeration value="CorrectionNumber"/>
-            <xsd:enumeration value="CostAccount"/>
-            <xsd:enumeration value="CostAllocationReference"/>
-            <xsd:enumeration value="CostaRicanJudicialNumber"/>
-            <xsd:enumeration value="CostCentre"/>
-            <xsd:enumeration value="CostElement"/>
-            <xsd:enumeration value="CountyBusinessRegistrationNumber"/>
-            <xsd:enumeration value="CountyCode"/>
-            <xsd:enumeration value="CountyLegislativeDistrict"/>
-            <xsd:enumeration value="CouponDistributionMethod"/>
-            <xsd:enumeration value="CouponRedemptionNumber"/>
-            <xsd:enumeration value="CoverageCode"/>
-            <xsd:enumeration value="CreditCard"/>
-            <xsd:enumeration value="CreditCounselingIdentificationNumber"/>
-            <xsd:enumeration value="CreditMemoNumber"/>
-            <xsd:enumeration value="CreditNoteNumber"/>
-            <xsd:enumeration value="Creditor"/>
-            <xsd:enumeration value="CreditorDebitAdjustmentNumber"/>
-            <xsd:enumeration value="CreditorsReferenceNumber"/>
-            <xsd:enumeration value="CreditRatingAgencysReferenceNumber"/>
-            <xsd:enumeration value="CreditReferenceNumber"/>
-            <xsd:enumeration value="CreditReportNumber"/>
-            <xsd:enumeration value="CreditRepositoryCode"/>
-            <xsd:enumeration value="CriticalApplication"/>
-            <xsd:enumeration value="CriticalityDesignator"/>
-            <xsd:enumeration value="CropYear"/>
-            <xsd:enumeration value="CrossListedCourseNumber"/>
-            <xsd:enumeration value="CrossReferenceNumber"/>
-            <xsd:enumeration value="CS54KeyTrainIndicatorCode"/>
-            <xsd:enumeration value="CS54KeyTrainIndicatorGroupName"/>
-            <xsd:enumeration value="CurrentCertificateNumber"/>
-            <xsd:enumeration value="CurrentInvoiceNumber"/>
-            <xsd:enumeration value="CurrentorLatestCourseNumber"/>
-            <xsd:enumeration value="CurrentProceduralTerminologyCode"/>
-            <xsd:enumeration value="CurrentRevisionNumber"/>
-            <xsd:enumeration value="CustomerCatalogNumber"/>
-            <xsd:enumeration value="CustomerMaintenancePeriodSequenceNumber"/>
-            <xsd:enumeration value="CustomerMaterialSpecificationNumber"/>
-            <xsd:enumeration value="CustomerOrderNumber"/>
-            <xsd:enumeration value="CustomerProcessSpecificationNumber"/>
-            <xsd:enumeration value="CustomerReferenceNumber"/>
-            <xsd:enumeration value="CustomerReferenceNumberAssignedToPreviousBalanceOf"/>
-            <xsd:enumeration value="CustomersCommonTransactionReferenceNumber"/>
-            <xsd:enumeration value="CustomersIndividualTransactionReferenceNumber"/>
-            <xsd:enumeration value="CustomersPartNumber"/>
-            <xsd:enumeration value="CustomerSpecificationNumber"/>
-            <xsd:enumeration value="CustomersReleaseNumber"/>
-            <xsd:enumeration value="CustomersUnitInventoryNumber"/>
-            <xsd:enumeration value="CustomerTrackingNumberForLoanedMaterials"/>
-            <xsd:enumeration value="CustomsBarCodeNumber"/>
-            <xsd:enumeration value="CustomsBrokerReferenceNumber"/>
-            <xsd:enumeration value="CustomsDecisionRequestNumber"/>
-            <xsd:enumeration value="CustomsDeclarationNumber"/>
-            <xsd:enumeration value="CustomsDrawbackEntryNumber"/>
-            <xsd:enumeration value="CustomsGuaranteeNumber"/>
-            <xsd:enumeration value="CustomshouseBrokerLicenseNumber"/>
-            <xsd:enumeration value="CustomsItemNumber"/>
-            <xsd:enumeration value="CustomsPreferenceInquiryNumber"/>
-            <xsd:enumeration value="CustomsReleaseCode"/>
-            <xsd:enumeration value="CustomsTariffNumber"/>
-            <xsd:enumeration value="CustomsTranshipmentNumber"/>
-            <xsd:enumeration value="CustomsValuationDecisionNumber"/>
-            <xsd:enumeration value="CutNumber"/>
-            <xsd:enumeration value="DangerousGoodsSecurityNumber"/>
-            <xsd:enumeration value="DangerousGoodsTransportLicenceNumber"/>
-            <xsd:enumeration value="DataAuthenticationNumber"/>
-            <xsd:enumeration value="DataItemDescriptionReference"/>
-            <xsd:enumeration value="DataQualityRejectReason"/>
-            <xsd:enumeration value="DataReliabilityCode"/>
-            <xsd:enumeration value="DataSource"/>
-            <xsd:enumeration value="DataStructureTag"/>
-            <xsd:enumeration value="DealerIdentification"/>
-            <xsd:enumeration value="DealerNumber"/>
-            <xsd:enumeration value="DealerOrderNumber"/>
-            <xsd:enumeration value="Dealerpurchaseordernumber"/>
-            <xsd:enumeration value="DealerTypeIdentification"/>
-            <xsd:enumeration value="DebitAccountNumber"/>
-            <xsd:enumeration value="DebitNoteNumber"/>
-            <xsd:enumeration value="DebitReferenceNumber"/>
-            <xsd:enumeration value="Debtor"/>
-            <xsd:enumeration value="DebtorsAccount"/>
-            <xsd:enumeration value="DebtorsReferenceNumber"/>
-            <xsd:enumeration value="DeclarantsCustomsIdentityNumber"/>
-            <xsd:enumeration value="DeclarantsReferenceNumber"/>
-            <xsd:enumeration value="DefectCodeNumber"/>
-            <xsd:enumeration value="DefenseFederalAcquisitionRegulations"/>
-            <xsd:enumeration value="DefensePrioritiesAllocationSystemPriorityRating"/>
-            <xsd:enumeration value="DefermentApprovalNumber"/>
-            <xsd:enumeration value="DeferredPaymentReference"/>
-            <xsd:enumeration value="DeliveryNoteNumber"/>
-            <xsd:enumeration value="DeliveryNumber"/>
-            <xsd:enumeration value="DeliveryOrderNumber"/>
-            <xsd:enumeration value="DeliveryQuoteNumber"/>
-            <xsd:enumeration value="DeliveryReference"/>
-            <xsd:enumeration value="DeliveryRegion"/>
-            <xsd:enumeration value="DeliveryScheduleNumber"/>
-            <xsd:enumeration value="DeliveryTicketNumber"/>
-            <xsd:enumeration value="DeliveryTrailerManifest"/>
-            <xsd:enumeration value="DeliveryVerificationCertificate"/>
-            <xsd:enumeration value="DenialReasonIdentifier"/>
-            <xsd:enumeration value="DensityOrderNumber"/>
-            <xsd:enumeration value="DentalInsuranceAccountNumber"/>
-            <xsd:enumeration value="DentalInsurancePolicyNumber"/>
-            <xsd:enumeration value="DentistLicenseNumber"/>
-            <xsd:enumeration value="Department"/>
-            <xsd:enumeration value="DepartmentOrAgencyNumber"/>
-            <xsd:enumeration value="DepartmentNumber"/>
-            <xsd:enumeration value="DepartmentofAgricultureAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentofCommerceAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentOfDefenseForm250RequirementCode"/>
-            <xsd:enumeration value="DepartmentOfDefenseIdentificationCode"/>
-            <xsd:enumeration value="DDTSCN"/>
-            <xsd:enumeration value="DepartmentofEducationAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentofEnergyAcquisitionRegulation"/>
-            <xsd:enumeration value="HHSAR"/>
-            <xsd:enumeration value="HUDAR"/>
-            <xsd:enumeration value="DepartmentofInteriorAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentofJusticeAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentofLaborAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentofStateAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentoftheTreasuryAcquisitionOrProcurementRegulation"/>
-            <xsd:enumeration value="DepartmentofTransportationAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentOfTransportationBondNumber"/>
-            <xsd:enumeration value="DepartmentofTransportationHazardousNumber"/>
-            <xsd:enumeration value="DepartmentofVeteransAffairsAcquisitionRegulations"/>
-            <xsd:enumeration value="DepartmentWhereInjuryOccurredIdentification"/>
-            <xsd:enumeration value="DeparturefromSpecificationClassCode"/>
-            <xsd:enumeration value="DeparturefromSpecificationNumber"/>
-            <xsd:enumeration value="DeparturefromSpecificationTypeCode"/>
-            <xsd:enumeration value="DependentsInformation"/>
-            <xsd:enumeration value="DepositAccountNumber"/>
-            <xsd:enumeration value="DepositNumber"/>
-            <xsd:enumeration value="DepositorNumber"/>
-            <xsd:enumeration value="DepositoryTrustCompanyIdentification"/>
-            <xsd:enumeration value="DepositSequenceNumber"/>
-            <xsd:enumeration value="DeratCertificate"/>
-            <xsd:enumeration value="DescriptionOfChangeCode"/>
-            <xsd:enumeration value="DespatchAdviceNumber"/>
-            <xsd:enumeration value="DespatchNotePostParcelsNumber"/>
-            <xsd:enumeration value="DespatchNoteNumber"/>
-            <xsd:enumeration value="DestinationofShipmentHarmonizedBasedCode"/>
-            <xsd:enumeration value="DiagnosisRelatedGroupNumber"/>
-            <xsd:enumeration value="DirectDebitReference"/>
-            <xsd:enumeration value="DirectoryNumber"/>
-            <xsd:enumeration value="DirectPaymentValuationNumber"/>
-            <xsd:enumeration value="DirectPaymentValuationRequestNumber"/>
-            <xsd:enumeration value="DisabilityInsuranceAccountNumber"/>
-            <xsd:enumeration value="DisabilityInsurancePolicyNumber"/>
-            <xsd:enumeration value="DiscounterRegistrationNumber"/>
-            <xsd:enumeration value="DispensationReference"/>
-            <xsd:enumeration value="DisposalTurnInDocumentNumber"/>
-            <xsd:enumeration value="DisputeNumber"/>
-            <xsd:enumeration value="DistributionCenterNumber"/>
-            <xsd:enumeration value="DistributionList"/>
-            <xsd:enumeration value="DistributionStatementCode"/>
-            <xsd:enumeration value="DistributorAssignedOrderNumber"/>
-            <xsd:enumeration value="DistributorAssignedTransactionNumber"/>
-            <xsd:enumeration value="DistributOrInvoiceNumber"/>
-            <xsd:enumeration value="DistributorsAccountIdentification"/>
-            <xsd:enumeration value="DistributorsAccountNumber"/>
-            <xsd:enumeration value="DistributorsRepresentativeIdentification"/>
-            <xsd:enumeration value="DistributorsSplitAgentNumber"/>
-            <xsd:enumeration value="DistrictNumber"/>
-            <xsd:enumeration value="DiversionAuthorityNumber"/>
-            <xsd:enumeration value="DivisionIdentifier"/>
-            <xsd:enumeration value="DocketNumber"/>
-            <xsd:enumeration value="DockNumber"/>
-            <xsd:enumeration value="DockReceiptNumber"/>
-            <xsd:enumeration value="DocumentaryCreditAmendmentNumber"/>
-            <xsd:enumeration value="DocumentaryCreditNumber"/>
-            <xsd:enumeration value="DocumentaryPaymentReference"/>
-            <xsd:enumeration value="DocumentationAffectedNumber"/>
-            <xsd:enumeration value="DocumentIdentificationCode"/>
-            <xsd:enumeration value="DocumentNumber"/>
-            <xsd:enumeration value="DocumentVolumeNumber"/>
-            <xsd:enumeration value="DomesticFlightNumber"/>
-            <xsd:enumeration value="DomesticInventoryManagementCode"/>
-            <xsd:enumeration value="DomicileBranchNumber"/>
-            <xsd:enumeration value="DominionOfCanadaCode"/>
-            <xsd:enumeration value="DownstreamShipperContractNumber"/>
-            <xsd:enumeration value="DraftNumber"/>
-            <xsd:enumeration value="DrainholeNumber"/>
-            <xsd:enumeration value="DraweesReference"/>
-            <xsd:enumeration value="DrawingListNumber"/>
-            <xsd:enumeration value="DrawingNumber"/>
-            <xsd:enumeration value="DrawingRevisionNumber"/>
-            <xsd:enumeration value="DrawingType"/>
-            <xsd:enumeration value="DriversLicense"/>
-            <xsd:enumeration value="DrugEnforcementAdministrationNumber"/>
-            <xsd:enumeration value="DrugEnforcementAdministrationOrderBlankNumber"/>
-            <xsd:enumeration value="DrugFormularyNumber"/>
-            <xsd:enumeration value="DunAndBradstreetCanadas8DigitStandardIndustrial"/>
-            <xsd:enumeration value="DunAndBradstreetUS8DigitStandardIndustrial"/>
-            <xsd:enumeration value="DUNSNumberwithFourCharacterSuffix"/>
-            <xsd:enumeration value="DUNSNumberDunAndBradstreet"/>
-            <xsd:enumeration value="DuplicateBillNumber"/>
-            <xsd:enumeration value="DuplicateWaybillinRoute"/>
-            <xsd:enumeration value="DuplicateWaybillNotInRoute"/>
-            <xsd:enumeration value="DutyFreeProductsReceiptAuthorisationNumber"/>
-            <xsd:enumeration value="DutyFreeProductsSecurityNumber"/>
-            <xsd:enumeration value="DutyMemoNumber"/>
-            <xsd:enumeration value="DyeLotNumber"/>
-            <xsd:enumeration value="ECCN"/>
-            <xsd:enumeration value="EducationalInstitutionIdentificationNumber"/>
-            <xsd:enumeration value="ElectionDistrict"/>
-            <xsd:enumeration value="ElectronicDataInterchangeAgreementNumber"/>
-            <xsd:enumeration value="Electronicdevicepinnumber"/>
-            <xsd:enumeration value="ElectronicFundsTransferIDNumber"/>
-            <xsd:enumeration value="ElectronicPaymentReferenceNumber"/>
-            <xsd:enumeration value="Elevation"/>
-            <xsd:enumeration value="EmbargoNumber"/>
-            <xsd:enumeration value="EmbargoPermitNumber"/>
-            <xsd:enumeration value="EmergencyOrderNumber"/>
-            <xsd:enumeration value="EmissionDesignator"/>
-            <xsd:enumeration value="EmployeeOrNonEmployeeClassificationQualifier"/>
-            <xsd:enumeration value="EmployeeIdentificationNumber"/>
-            <xsd:enumeration value="EmployeeTaxFilingStatusCode"/>
-            <xsd:enumeration value="EmployerIdentificationNumberOfServiceBureau"/>
-            <xsd:enumeration value="EmployersIdentificationNumber"/>
-            <xsd:enumeration value="EmployersSocialSecurityNumber"/>
-            <xsd:enumeration value="EmploymentVisa"/>
-            <xsd:enumeration value="EmptyContainerBillNumber"/>
-            <xsd:enumeration value="EmptyRepositioningNumber"/>
-            <xsd:enumeration value="EndingJobSequenceNumber"/>
-            <xsd:enumeration value="EndingKanbanSerialNumber"/>
-            <xsd:enumeration value="EndingMeterReadingActual"/>
-            <xsd:enumeration value="EndingMeterReadingEstimated"/>
-            <xsd:enumeration value="EndingPackageNumber"/>
-            <xsd:enumeration value="EndingSerialNumber"/>
-            <xsd:enumeration value="EndItem"/>
-            <xsd:enumeration value="EndItemNumber"/>
-            <xsd:enumeration value="EndMileMarker"/>
-            <xsd:enumeration value="EndorsementNumber"/>
-            <xsd:enumeration value="EndUseAuthorizationNumber"/>
-            <xsd:enumeration value="EndUseNumber"/>
-            <xsd:enumeration value="EndUsersPurchaseOrderNumber"/>
-            <xsd:enumeration value="EngineeringChangeOrder"/>
-            <xsd:enumeration value="EngineeringChangeProposal"/>
-            <xsd:enumeration value="EngineeringDataList"/>
-            <xsd:enumeration value="EngineeringSpecificationNumber"/>
-            <xsd:enumeration value="EnquiryNumber"/>
-            <xsd:enumeration value="EntryPointAssessmentLogNumber"/>
-            <xsd:enumeration value="EntryPointAssessmentLogNumberChildDmr"/>
-            <xsd:enumeration value="EntryPointAssessmentLogNumberParentDmr"/>
-            <xsd:enumeration value="EnvironmentalProtectionAgencyAcquisitionRegulation"/>
-            <xsd:enumeration value="EnvironmentalProtectionAgencyTestTypePurposeCode"/>
-            <xsd:enumeration value="EnvironmentalProtectionAgencyTransporterIdentificationNumber"/>
-            <xsd:enumeration value="EquipmentInitial"/>
-            <xsd:enumeration value="EquipmentNumber"/>
-            <xsd:enumeration value="EquipmentOwnerReferenceNumber"/>
-            <xsd:enumeration value="EquipmentSequenceNumber"/>
-            <xsd:enumeration value="EquipmentTransportChargeNumber"/>
-            <xsd:enumeration value="EquivalentCourseNumberatRequestingInstitution"/>
-            <xsd:enumeration value="ErrorIdentificationCode"/>
-            <xsd:enumeration value="EscrowFileNumber"/>
-            <xsd:enumeration value="EstimateNumber"/>
-            <xsd:enumeration value="EstimateOrderReferenceNumber"/>
-            <xsd:enumeration value="EstimateSequenceNumber"/>
-            <xsd:enumeration value="EtermsReference"/>
-            <xsd:enumeration value="Eur1CertificateNumber"/>
-            <xsd:enumeration value="EventReferenceNumber"/>
-            <xsd:enumeration value="ExcessTransportationNumber"/>
-            <xsd:enumeration value="ExhibitDistributionList"/>
-            <xsd:enumeration value="ExhibitIdentifier"/>
-            <xsd:enumeration value="ExpansiononEffectofChangeNumber"/>
-            <xsd:enumeration value="ExportClearanceInstructionReferenceNumber"/>
-            <xsd:enumeration value="ExportDeclaration"/>
-            <xsd:enumeration value="ExportersReferenceNumber"/>
-            <xsd:enumeration value="ExportEstablishmentNumber"/>
-            <xsd:enumeration value="ExportLicenceNumber"/>
-            <xsd:enumeration value="ExportPermitNumber"/>
-            <xsd:enumeration value="ExportReferenceNumber"/>
-            <xsd:enumeration value="ExtendedOrExhibitLineItemNumber"/>
-            <xsd:enumeration value="FacilityCertificationNumber"/>
-            <xsd:enumeration value="FacilityIDNumber"/>
-            <xsd:enumeration value="FacilityMeasurementPointNumber"/>
-            <xsd:enumeration value="FacilityNetworkIdentificationNumber"/>
-            <xsd:enumeration value="FailureAnalysisReportNumber"/>
-            <xsd:enumeration value="Failuremechanismnumber"/>
-            <xsd:enumeration value="FamilyMemberIdentification"/>
-            <xsd:enumeration value="FamilyUnitNumber"/>
-            <xsd:enumeration value="FannieMaeSellerServicerNumber"/>
-            <xsd:enumeration value="FederalAcquisitionRegulations"/>
-            <xsd:enumeration value="FederalBureauOfInvestigationIndividualIdentification"/>
-            <xsd:enumeration value="FederalCommunicationsCommissionConditionCode"/>
-            <xsd:enumeration value="FederalCommunicationsCommissionIdentifier"/>
-            <xsd:enumeration value="FederalCommunicationsCommissionTradeOrBrandIdentifier"/>
-            <xsd:enumeration value="FederalEnergyRegulatoryCommissionCertificateOfPublicConvenience"/>
-            <xsd:enumeration value="FHLMCD"/>
-            <xsd:enumeration value="FederalHomeLoanMortgageCorporationLoanNumber"/>
-            <xsd:enumeration value="FederalHousingAdministrationCaseNumber"/>
-            <xsd:enumeration value="CHUMS"/>
-            <xsd:enumeration value="FederalHousingAdministrationOriginatorIdentification"/>
-            <xsd:enumeration value="FederalInformationResourcesManagementRegulation"/>
-            <xsd:enumeration value="FederalMaritimeCommissionForwardersNumber"/>
-            <xsd:enumeration value="FederalMaritimeCommissionTariffNumber"/>
-            <xsd:enumeration value="FederalNationalMortgageAssociationLoanNumber"/>
-            <xsd:enumeration value="FederalRegulation"/>
-            <xsd:enumeration value="FederalSupplyClassificationCode"/>
-            <xsd:enumeration value="FederalSupplyScheduleItemNumber"/>
-            <xsd:enumeration value="FederalSupplyScheduleNumber"/>
-            <xsd:enumeration value="FederalTaxpayersIdentificationNumber"/>
-            <xsd:enumeration value="FederalWireTransfer"/>
-            <xsd:enumeration value="FEDWIREConfirmationNumber"/>
-            <xsd:enumeration value="FeeScheduleIdentifier"/>
-            <xsd:enumeration value="Field"/>
-            <xsd:enumeration value="FileConversionJournal"/>
-            <xsd:enumeration value="FileIdentificationNumber"/>
-            <xsd:enumeration value="FileIdentifier"/>
-            <xsd:enumeration value="FileLineIdentifier"/>
-            <xsd:enumeration value="FilerCodeIssuedbyBureauOfCensus"/>
-            <xsd:enumeration value="FilerCodeIssuedByCustoms"/>
-            <xsd:enumeration value="FileTransferFormNumber"/>
-            <xsd:enumeration value="FileTransferProtocolLocator"/>
-            <xsd:enumeration value="FileVersionNumber"/>
-            <xsd:enumeration value="FilmNumber"/>
-            <xsd:enumeration value="FinalSequenceNumber"/>
-            <xsd:enumeration value="FinalWorkCandidateNumber"/>
-            <xsd:enumeration value="FinancialClassificationCode"/>
-            <xsd:enumeration value="FinancialDetailCode"/>
-            <xsd:enumeration value="FinancialManagementReference"/>
-            <xsd:enumeration value="FinancialPhaseReference"/>
-            <xsd:enumeration value="FinancialSettlementPartysReferenceNumber"/>
-            <xsd:enumeration value="FinancialTransactionReferenceNumber"/>
-            <xsd:enumeration value="FinderNumber"/>
-            <xsd:enumeration value="FineLineClassification"/>
-            <xsd:enumeration value="FinishLotNumber"/>
-            <xsd:enumeration value="FirstTransferNumber"/>
-            <xsd:enumeration value="FiscalCode"/>
-            <xsd:enumeration value="FiscalNumber"/>
-            <xsd:enumeration value="FleetReferenceNumber"/>
-            <xsd:enumeration value="FlexibleSpendingAccountInsuranceAccountNumber"/>
-            <xsd:enumeration value="FlexibleSpendingAccountInsurancePolicyNumber"/>
-            <xsd:enumeration value="FloodDataIdentifier"/>
-            <xsd:enumeration value="FloodZone"/>
-            <xsd:enumeration value="FloorNumber"/>
-            <xsd:enumeration value="FloorPlanApprovalNumber"/>
-            <xsd:enumeration value="FlowReferenceNumber"/>
-            <xsd:enumeration value="FolderNumber"/>
-            <xsd:enumeration value="FoodAndDrugAdministrationAccessionNumber"/>
-            <xsd:enumeration value="FoodAndDrugAdministrationProductCode"/>
-            <xsd:enumeration value="FoodAndDrugAdministrationProductType"/>
-            <xsd:enumeration value="ForeclosingStatus"/>
-            <xsd:enumeration value="ForeclosureAccountNumber"/>
-            <xsd:enumeration value="ForeignExchange"/>
-            <xsd:enumeration value="ForeignExchangeContractNumber"/>
-            <xsd:enumeration value="ForeignMilitarySalesCaseNumber"/>
-            <xsd:enumeration value="ForeignMilitarySalesNoticeNumber"/>
-            <xsd:enumeration value="ForeignMilitarySalesNumber"/>
-            <xsd:enumeration value="ForeignTradeZone"/>
-            <xsd:enumeration value="ForestryPermitNumber"/>
-            <xsd:enumeration value="FormalStatementReference"/>
-            <xsd:enumeration value="Formation"/>
-            <xsd:enumeration value="FormationIdentifier"/>
-            <xsd:enumeration value="FormNumber"/>
-            <xsd:enumeration value="ForPickupLimitedFreightTariffNumber"/>
-            <xsd:enumeration value="ForwardersOrAgentsReferenceNumber"/>
-            <xsd:enumeration value="ForwardingOrderNumber"/>
-            <xsd:enumeration value="Frame"/>
-            <xsd:enumeration value="FranchiseTaxAccountNumber"/>
-            <xsd:enumeration value="FreddieMacSellerServicerNumber"/>
-            <xsd:enumeration value="FreeZoneIdentifier"/>
-            <xsd:enumeration value="FreightBillNumber"/>
-            <xsd:enumeration value="FreightForwarderNumber"/>
-            <xsd:enumeration value="FreightForwardersReferenceNumber"/>
-            <xsd:enumeration value="FreightPayorReferenceNumber"/>
-            <xsd:enumeration value="FullTimeOrPartTimeEmployeeClassificationQualifier"/>
-            <xsd:enumeration value="FunctionalCategory"/>
-            <xsd:enumeration value="FunctionalWorkGroup"/>
-            <xsd:enumeration value="FundCodeNumber"/>
-            <xsd:enumeration value="FundIdentificationNumber"/>
-            <xsd:enumeration value="FundManagersReferenceNumber"/>
-            <xsd:enumeration value="FundsAuthorization"/>
-            <xsd:enumeration value="GasAnalysisSourceMeterNumber"/>
-            <xsd:enumeration value="GasCustodianIdentification"/>
-            <xsd:enumeration value="GaugeTicketNumber"/>
-            <xsd:enumeration value="GeneralAgencyNumber"/>
-            <xsd:enumeration value="GeneralCargoConsignmentReferenceNumber"/>
-            <xsd:enumeration value="GeneralDeclarationNumber"/>
-            <xsd:enumeration value="GeneralLedgerAccount"/>
-            <xsd:enumeration value="GeneralOrderNumber"/>
-            <xsd:enumeration value="GeneralPurposeMessageReferenceNumber"/>
-            <xsd:enumeration value="GeneralServicesAdministrationRegulations"/>
-            <xsd:enumeration value="GeographicDestinationZoneNumber"/>
-            <xsd:enumeration value="GeographicIndex"/>
-            <xsd:enumeration value="GeographicKey"/>
-            <xsd:enumeration value="GeographicNumber"/>
-            <xsd:enumeration value="GeographicScore"/>
-            <xsd:enumeration value="GinnieMaePoolPackageNumber"/>
-            <xsd:enumeration value="GoodsAndServicesTaxIdentificationNumber"/>
-            <xsd:enumeration value="GoodsandServiceTaxRegistrationNumber"/>
-            <xsd:enumeration value="GoodsDeclarationNumber"/>
-            <xsd:enumeration value="GoverningClassCode"/>
-            <xsd:enumeration value="GovernmentAccountingClassReferenceNumber"/>
-            <xsd:enumeration value="GovernmentAdvanceProgress"/>
-            <xsd:enumeration value="GovernmentAgencyReferenceNumber"/>
-            <xsd:enumeration value="GovernmentBillOfLading"/>
-            <xsd:enumeration value="GovernmentBillofLadingOfficeCode"/>
-            <xsd:enumeration value="GovernmentContractNumber"/>
-            <xsd:enumeration value="GovernmentPriorityNumber"/>
-            <xsd:enumeration value="GovernmentQualityAssuranceAndControlLevelNumber"/>
-            <xsd:enumeration value="GovernmentReferenceNumber"/>
-            <xsd:enumeration value="GovernmentRegistrationNumber"/>
-            <xsd:enumeration value="GovernmentTransportationRequest"/>
-            <xsd:enumeration value="GrainBlockNumber"/>
-            <xsd:enumeration value="GrainOrderReferenceNumber"/>
-            <xsd:enumeration value="GravitySourceMeterNumber"/>
-            <xsd:enumeration value="GreenCard"/>
-            <xsd:enumeration value="GroupAccounting"/>
-            <xsd:enumeration value="GroupNumber"/>
-            <xsd:enumeration value="GroupOrPolicyNumber"/>
-            <xsd:enumeration value="GroupWorkCandidateSequenceNumber"/>
-            <xsd:enumeration value="GrowthFactorReference"/>
-            <xsd:enumeration value="GuarantorLoanNumber"/>
-            <xsd:enumeration value="GuarantorUse"/>
-            <xsd:enumeration value="HarmonisedSystemNumber"/>
-            <xsd:enumeration value="HarmonizedCodeSystem"/>
-            <xsd:enumeration value="HasteningNumber"/>
-            <xsd:enumeration value="HazardousCertificationNumber"/>
-            <xsd:enumeration value="HazardousExemptionNumber"/>
-            <xsd:enumeration value="HazardousWasteManifestDocumentNumber"/>
-            <xsd:enumeration value="HealthCareFinancingAdministrationNationalPayerIdentificationNumber"/>
-            <xsd:enumeration value="HealthCareFinancingAdministrationNationalProviderIdentifier"/>
-            <xsd:enumeration value="HealthcareManpowerShortageAreaFacilityIdentificationNumber"/>
-            <xsd:enumeration value="HealthCertificateNumber"/>
-            <xsd:enumeration value="HIBCCLabelerIdentificationCode"/>
-            <xsd:enumeration value="HealthIndustryNumber"/>
-            <xsd:enumeration value="HealthInsuranceAccountNumber"/>
-            <xsd:enumeration value="HealthInsuranceClaimNumber"/>
-            <xsd:enumeration value="HealthInsurancePolicyNumber"/>
-            <xsd:enumeration value="HealthInsuranceRatingAccountNumber"/>
-            <xsd:enumeration value="HealthInsuranceRatingSuffixCode"/>
-            <xsd:enumeration value="HealthMaintenanceOrganizationReferenceNumber"/>
-            <xsd:enumeration value="HealthMaintenanceOrganizationAuthorizationNumber"/>
-            <xsd:enumeration value="HealthMaintenanceOrganizationCodeNumber"/>
-            <xsd:enumeration value="HeatCode"/>
-            <xsd:enumeration value="HighOrWideFileNumber"/>
-            <xsd:enumeration value="HighFabricationAuthorizationNumber"/>
-            <xsd:enumeration value="HighRawMaterialAuthorizationNumber"/>
-            <xsd:enumeration value="HomeMortgageDisclosureActCensusTract"/>
-            <xsd:enumeration value="HomeMortgageDisclosureActBlockNumberArea"/>
-            <xsd:enumeration value="HomeMortgageDisclosureActCountyCode"/>
-            <xsd:enumeration value="HomeMortgageDisclosureActMetropolitanStatisticalArea"/>
-            <xsd:enumeration value="HomeMortgageDisclosureActStateCode"/>
-            <xsd:enumeration value="HorizontalCoordinate"/>
-            <xsd:enumeration value="Horsepower"/>
-            <xsd:enumeration value="HotRollNumber"/>
-            <xsd:enumeration value="HouseBillOfLadingNumber"/>
-            <xsd:enumeration value="HouseWaybillNumber"/>
-            <xsd:enumeration value="IataCargoAgentCassAddressNumber"/>
-            <xsd:enumeration value="IataCargoAgentCodeNumber"/>
-            <xsd:enumeration value="ICD9CM"/>
-            <xsd:enumeration value="IdentificationCardSerialNumber"/>
-            <xsd:enumeration value="IdentityCardNumber"/>
-            <xsd:enumeration value="ImageIdentifier"/>
-            <xsd:enumeration value="ImmediateExportationNoForInBondMovement"/>
-            <xsd:enumeration value="ImmediateTransportationNoForInBondMovement"/>
-            <xsd:enumeration value="ImplementationVersionNumber"/>
-            <xsd:enumeration value="ImportClearanceInstructionReferenceNumber"/>
-            <xsd:enumeration value="ImporterReferenceNumber"/>
-            <xsd:enumeration value="ImportersReferenceNumberToLetterOfCredit"/>
-            <xsd:enumeration value="ImportLicenceNumber"/>
-            <xsd:enumeration value="ImportPermitNumber"/>
-            <xsd:enumeration value="ImputationAccount"/>
-            <xsd:enumeration value="InBondNumber"/>
-            <xsd:enumeration value="InboundToOrOutboundFromParty"/>
-            <xsd:enumeration value="InboundToParty"/>
-            <xsd:enumeration value="Incident"/>
-            <xsd:enumeration value="IncorporatedLegalReference"/>
-            <xsd:enumeration value="IndividualTransactionReferenceNumber"/>
-            <xsd:enumeration value="InitialDealerClaimNumber"/>
-            <xsd:enumeration value="InitialFailureClaim"/>
-            <xsd:enumeration value="InitialSampleInspectionReportNumber"/>
-            <xsd:enumeration value="InitialTroubleIndication"/>
-            <xsd:enumeration value="InlandTransportOrderNumber"/>
-            <xsd:enumeration value="InquiryRequestNumber"/>
-            <xsd:enumeration value="InspectionandSurveySequenceNumber"/>
-            <xsd:enumeration value="InspectionReportNumber"/>
-            <xsd:enumeration value="InspectorIdentificationNumber"/>
-            <xsd:enumeration value="InstituteOfSecurityAndFutureMarketDevelopmentSerialNumber"/>
-            <xsd:enumeration value="InstitutionLoanNumber"/>
-            <xsd:enumeration value="InstitutionNoteHolderIdentification"/>
-            <xsd:enumeration value="InstitutionNumber"/>
-            <xsd:enumeration value="InsuranceCertificateNumber"/>
-            <xsd:enumeration value="InsuranceCertificateReferenceNumber"/>
-            <xsd:enumeration value="InsuranceContractReferenceNumber"/>
-            <xsd:enumeration value="InsuranceLicenseNumber"/>
-            <xsd:enumeration value="InsurancePolicyNumber"/>
-            <xsd:enumeration value="InsuredLocationIdentifier"/>
-            <xsd:enumeration value="InsuredParcelPostNumber"/>
-            <xsd:enumeration value="InsuredsLoanNumber"/>
-            <xsd:enumeration value="InsurerAssignedReferenceNumber"/>
-            <xsd:enumeration value="InsurorPoolIdentificationNumber"/>
-            <xsd:enumeration value="IntegratedLogisticSupportCrossReferenceNumber"/>
-            <xsd:enumeration value="IntegratedMasterPlan"/>
-            <xsd:enumeration value="IntegratedMasterSchedule"/>
-            <xsd:enumeration value="InterchangeAgreementNumber"/>
-            <xsd:enumeration value="InterchangeNumberNew"/>
-            <xsd:enumeration value="InterchangeNumberOld"/>
-            <xsd:enumeration value="InterchangeTrainIdentification"/>
-            <xsd:enumeration value="IntergovernmentalMaritimeOrganizationNumber"/>
-            <xsd:enumeration value="InterimFundingOrganizationLoanNumber"/>
-            <xsd:enumeration value="IntermediaryBroker"/>
-            <xsd:enumeration value="InternalControlNumber"/>
-            <xsd:enumeration value="InternalCustomerNumber"/>
-            <xsd:enumeration value="InternalDataProcessNumber"/>
-            <xsd:enumeration value="InternalOrderNumber"/>
-            <xsd:enumeration value="InternalPurchaseOrderItemNumber"/>
-            <xsd:enumeration value="InternalPurchaseOrderReleaseNumber"/>
-            <xsd:enumeration value="InternalVendorNumber"/>
-            <xsd:enumeration value="InternationalAssessmentLogNumber"/>
-            <xsd:enumeration value="InternationalAssessmentLogNumberChildDataMaintenance"/>
-            <xsd:enumeration value="InternationalAssessmentLogNumberParentDataMaintenance"/>
-            <xsd:enumeration value="InternationalFlightNumber"/>
-            <xsd:enumeration value="InternationalFuelTaxAgreementAccountNumber"/>
-            <xsd:enumeration value="InternationalRegistrationPlanAccountNumber"/>
-            <xsd:enumeration value="InternationalRegistrationPlanStickerNumber"/>
-            <xsd:enumeration value="InternationalStandardIndustrialClassificationDominionOfCanadaCode"/>
-            <xsd:enumeration value="InternationalStandardIndustryClassificationCode"/>
-            <xsd:enumeration value="InterstateCommerceCommissionAccountNumber"/>
-            <xsd:enumeration value="InterviewerID"/>
-            <xsd:enumeration value="IntraPlantRouting"/>
-            <xsd:enumeration value="InventoryReportReferenceNumber"/>
-            <xsd:enumeration value="InvestigatorialNewDrugNumber"/>
-            <xsd:enumeration value="InvestmentReferenceNumber"/>
-            <xsd:enumeration value="Investor"/>
-            <xsd:enumeration value="InvestorAssignedIdentificationNumber"/>
-            <xsd:enumeration value="InvestorLoanNumber"/>
-            <xsd:enumeration value="InvestorNoteHolderIdentification"/>
-            <xsd:enumeration value="InvoiceIdentification"/>
-            <xsd:enumeration value="InvoiceNumber"/>
-            <xsd:enumeration value="InvoiceNumberSuffix"/>
-            <xsd:enumeration value="InvoicingDataSheetReferenceNumber"/>
-            <xsd:enumeration value="IronChargeNumber"/>
-            <xsd:enumeration value="ISFMD"/>
-            <xsd:enumeration value="IssueNumber"/>
-            <xsd:enumeration value="IssuerNumber"/>
-            <xsd:enumeration value="IssuingBanksReference"/>
-            <xsd:enumeration value="ItemNumber"/>
-            <xsd:enumeration value="JobOrProjectNumber"/>
-            <xsd:enumeration value="JobOrderNumber"/>
-            <xsd:enumeration value="JobSequenceNumber"/>
-            <xsd:enumeration value="JointCreditSpecificationNumber"/>
-            <xsd:enumeration value="JointlyAdministeredCase"/>
-            <xsd:enumeration value="JointVentureReferenceNumber"/>
-            <xsd:enumeration value="Judge"/>
-            <xsd:enumeration value="JudgmentNumber"/>
-            <xsd:enumeration value="JudicialDistrict"/>
-            <xsd:enumeration value="JudicialNumber"/>
-            <xsd:enumeration value="JurisdictionalCommunityNameIdentifier"/>
-            <xsd:enumeration value="JurisdictionalCommunityNumber"/>
-            <xsd:enumeration value="LaboratoryNumber"/>
-            <xsd:enumeration value="LaboratoryRegistrationNumber"/>
-            <xsd:enumeration value="LaborOperationNumber"/>
-            <xsd:enumeration value="LabororAffiliationIdentification"/>
-            <xsd:enumeration value="LaneNumber"/>
-            <xsd:enumeration value="LastTransferNumber"/>
-            <xsd:enumeration value="LatitudeExpressedinDegreesMinutesandSeconds"/>
-            <xsd:enumeration value="LatitudeExpressedinSeconds"/>
-            <xsd:enumeration value="LeadCase"/>
-            <xsd:enumeration value="LeaseAgreementAmendmentNumberMaster"/>
-            <xsd:enumeration value="LeaseContractReference"/>
-            <xsd:enumeration value="LeaseNumber"/>
-            <xsd:enumeration value="LeaseRiderNumber"/>
-            <xsd:enumeration value="LeaseScheduleNumber"/>
-            <xsd:enumeration value="LeaseScheduleNumberBlanket"/>
-            <xsd:enumeration value="LeaseScheduleNumberPrior"/>
-            <xsd:enumeration value="LeaseScheduleNumberReplacement"/>
-            <xsd:enumeration value="LenderAccountNumber"/>
-            <xsd:enumeration value="LenderCaseNumber"/>
-            <xsd:enumeration value="LenderEntityNumber"/>
-            <xsd:enumeration value="LenderUse"/>
-            <xsd:enumeration value="LesseeBillCodeNumber"/>
-            <xsd:enumeration value="LesseeIdentification"/>
-            <xsd:enumeration value="LetterofCreditDraftNumber"/>
-            <xsd:enumeration value="LetterOfCreditNumber"/>
-            <xsd:enumeration value="LetterofCreditNumber"/>
-            <xsd:enumeration value="LettersorNotes"/>
-            <xsd:enumeration value="LevyingOfficerIdentification"/>
-            <xsd:enumeration value="LicensePlateNumber"/>
-            <xsd:enumeration value="LifeInsuranceBillingAccountNumber"/>
-            <xsd:enumeration value="LifeInsuranceBillingSuffixCode"/>
-            <xsd:enumeration value="LifeInsurancePolicyNumber"/>
-            <xsd:enumeration value="LimitedPartnershipIdentificationNumber"/>
-            <xsd:enumeration value="LineItemControlNumber"/>
-            <xsd:enumeration value="LineItemIdentifier"/>
-            <xsd:enumeration value="LineItemReferenceNumber"/>
-            <xsd:enumeration value="LineofBusiness"/>
-            <xsd:enumeration value="LineOfCreditCategory"/>
-            <xsd:enumeration value="LinkSequenceNumber"/>
-            <xsd:enumeration value="ListBillNumber"/>
-            <xsd:enumeration value="ListOfMaterials"/>
-            <xsd:enumeration value="LloydsClaimsOfficeReference"/>
-            <xsd:enumeration value="LoadingAuthorizationNumber"/>
-            <xsd:enumeration value="LoadLineCertificate"/>
-            <xsd:enumeration value="LoadPlanningNumber"/>
-            <xsd:enumeration value="LoanAcquisitionNumber"/>
-            <xsd:enumeration value="LoanFeatureCode"/>
-            <xsd:enumeration value="LoanNumber"/>
-            <xsd:enumeration value="LoanProspectorKeyNumber"/>
-            <xsd:enumeration value="LoanRequestNumber"/>
-            <xsd:enumeration value="LoanType"/>
-            <xsd:enumeration value="LocalJurisdiction"/>
-            <xsd:enumeration value="LocallyAssignedControlNumber"/>
-            <xsd:enumeration value="LocalMediaIdentifier"/>
-            <xsd:enumeration value="LocalSchoolCourseNumber"/>
-            <xsd:enumeration value="LocalSchoolDistrictCourseNumber"/>
-            <xsd:enumeration value="LocalStudentIdentificationNumber"/>
-            <xsd:enumeration value="LocationExceptionOrderNumber"/>
-            <xsd:enumeration value="LocationNumber"/>
-            <xsd:enumeration value="LocationonProductCode"/>
-            <xsd:enumeration value="LocationSpecificServicesReferenceNumber"/>
-            <xsd:enumeration value="LocationWithinEquipment"/>
-            <xsd:enumeration value="Lockbox"/>
-            <xsd:enumeration value="Log"/>
-            <xsd:enumeration value="LogicalObservationIdentifierNamesandCodes"/>
-            <xsd:enumeration value="LogisticsSupportDocumentationTypeCode"/>
-            <xsd:enumeration value="LongitudeExpressedInDegreesMinutesandSeconds"/>
-            <xsd:enumeration value="LongitudeExpressedinSeconds"/>
-            <xsd:enumeration value="LongTermDisabilityPolicyNumber"/>
-            <xsd:enumeration value="LossOrEventNumber"/>
-            <xsd:enumeration value="LossReportNumber"/>
-            <xsd:enumeration value="LotNumber"/>
-            <xsd:enumeration value="LowerArticleNumberOfRange"/>
-            <xsd:enumeration value="MagazineCode"/>
-            <xsd:enumeration value="Mailbox"/>
-            <xsd:enumeration value="MailingReferenceNumber"/>
-            <xsd:enumeration value="MailSlot"/>
-            <xsd:enumeration value="MaintenanceAvailabilityType"/>
-            <xsd:enumeration value="MaintenanceRequestNumber"/>
-            <xsd:enumeration value="MajorForceProgramNumber"/>
-            <xsd:enumeration value="MajorSystemAffectedCode"/>
-            <xsd:enumeration value="MakegoodCommercialLineNumber"/>
-            <xsd:enumeration value="MammographyCertificationNumber"/>
-            <xsd:enumeration value="ManagedCareOrganizationCode"/>
-            <xsd:enumeration value="ManagedCareOrganizationIdentificationNumber"/>
-            <xsd:enumeration value="ManifestKeyNumber"/>
-            <xsd:enumeration value="ManualProcessingAuthorityNumber"/>
-            <xsd:enumeration value="ManufacturerDefinedRepairRatesReference"/>
-            <xsd:enumeration value="ManufacturerNumber"/>
-            <xsd:enumeration value="ManufacturersMaterialSafetyDataSheetNumber"/>
-            <xsd:enumeration value="ManufacturersPartNumber"/>
-            <xsd:enumeration value="ManufacturingDirectiveNumber"/>
-            <xsd:enumeration value="ManufacturingOperationNumber"/>
-            <xsd:enumeration value="ManufacturingOrderNumber"/>
-            <xsd:enumeration value="MapNumber"/>
-            <xsd:enumeration value="MapReference"/>
-            <xsd:enumeration value="MaritimeDeclarationofHealth"/>
-            <xsd:enumeration value="MarketArea"/>
-            <xsd:enumeration value="MarkingOrLabelReference"/>
-            <xsd:enumeration value="MasterAccountNumber"/>
-            <xsd:enumeration value="MasterAirWaybillNumber"/>
-            <xsd:enumeration value="MasterBillOfLadingNumber"/>
-            <xsd:enumeration value="MasterContract"/>
-            <xsd:enumeration value="MasterLabelNumber"/>
-            <xsd:enumeration value="MasterLeaseAgreementNumber"/>
-            <xsd:enumeration value="MasterPolicyNumber"/>
-            <xsd:enumeration value="MasterPropertyNumber"/>
-            <xsd:enumeration value="MasterReferenceNumber"/>
-            <xsd:enumeration value="MasterSolicitationProceduresTermsAndConditionsNumber"/>
-            <xsd:enumeration value="MaterialChangeNoticeNumber"/>
-            <xsd:enumeration value="MaterialStorageLocation"/>
-            <xsd:enumeration value="MaturedCertificateOfDeposit"/>
-            <xsd:enumeration value="MeatProcessingEstablishmentRegistrationNumber"/>
-            <xsd:enumeration value="MedicaidProviderNumber"/>
-            <xsd:enumeration value="MedicaidRecipientIdentificationNumber"/>
-            <xsd:enumeration value="MedicalAssistanceCategory"/>
-            <xsd:enumeration value="MedicalRecordIdentificationNumber"/>
-            <xsd:enumeration value="MedicareProviderNumber"/>
-            <xsd:enumeration value="MedicareVersionCode"/>
-            <xsd:enumeration value="MemberIdentificationNumber"/>
-            <xsd:enumeration value="MemberNumber"/>
-            <xsd:enumeration value="MerchandiseTypeCode"/>
-            <xsd:enumeration value="MerchantCategoryCode"/>
-            <xsd:enumeration value="MessageAddressorID"/>
-            <xsd:enumeration value="MessageBatchNumber"/>
-            <xsd:enumeration value="MessageDesignGroupNumber"/>
-            <xsd:enumeration value="MessageRecipient"/>
-            <xsd:enumeration value="MessageSender"/>
-            <xsd:enumeration value="MeterNumber"/>
-            <xsd:enumeration value="MeterProvingReportNumber"/>
-            <xsd:enumeration value="MeterReadingAtTheBeginningOfTheDelivery"/>
-            <xsd:enumeration value="MeterReadingAtTheEndOfDelivery"/>
-            <xsd:enumeration value="MeterTicketNumber"/>
-            <xsd:enumeration value="MeterUnitNumber"/>
-            <xsd:enumeration value="MICRNumber"/>
-            <xsd:enumeration value="MicrofilmNumber"/>
-            <xsd:enumeration value="MigrantNumber"/>
-            <xsd:enumeration value="Milestone"/>
-            <xsd:enumeration value="MilitaryCallNumber"/>
-            <xsd:enumeration value="MilitaryID"/>
-            <xsd:enumeration value="MilitaryInterdepartmentalPurchaseRequestNumber"/>
-            <xsd:enumeration value="MilitaryOrdnanceSecurityRiskNumber"/>
-            <xsd:enumeration value="MilitaryRankOrCivilianPayGradeNumber"/>
-            <xsd:enumeration value="MilitarySpecificationNumber"/>
-            <xsd:enumeration value="MilitaryStandardNumber"/>
-            <xsd:enumeration value="MillinginTransit"/>
-            <xsd:enumeration value="MillOrderNumber"/>
-            <xsd:enumeration value="MinimumRoyaltyPayorIdentification"/>
-            <xsd:enumeration value="MinisterialCertificateOfHomologation"/>
-            <xsd:enumeration value="Model"/>
-            <xsd:enumeration value="ModelNumber"/>
-            <xsd:enumeration value="Modelyearnumber"/>
-            <xsd:enumeration value="MORNETPlusCaseNumber"/>
-            <xsd:enumeration value="MORNETPlusInstitutionNumber"/>
-            <xsd:enumeration value="MORNETPlusUserIdentification"/>
-            <xsd:enumeration value="MortgageBackedSecurityLoanNumber"/>
-            <xsd:enumeration value="MortgageBackedSecurityPoolNumber"/>
-            <xsd:enumeration value="MortgageElectronicRegistrationSystemOrganizationIdentifier"/>
-            <xsd:enumeration value="MortgageeLoanNumber"/>
-            <xsd:enumeration value="MortgageIdentificationNumber"/>
-            <xsd:enumeration value="MortgageInsuranceCompanyNumber"/>
-            <xsd:enumeration value="MortgageInsuranceIndicatorNumber"/>
-            <xsd:enumeration value="MortgageNumber"/>
-            <xsd:enumeration value="MotorCarrierIdentificationNumber"/>
-            <xsd:enumeration value="MotorFuelCertificateNumber"/>
-            <xsd:enumeration value="MotorVehicleIDNumber"/>
-            <xsd:enumeration value="MultifamilyProjectNumber"/>
-            <xsd:enumeration value="MultipleListingNumber"/>
-            <xsd:enumeration value="MultipleListingServiceArea"/>
-            <xsd:enumeration value="MultipleListingServiceBookType"/>
-            <xsd:enumeration value="MultipleListingServiceMapXCoordinate"/>
-            <xsd:enumeration value="MultipleListingServiceMapYCoordinate"/>
-            <xsd:enumeration value="MultipleListingServiceSubArea"/>
-            <xsd:enumeration value="MultiplePOOfAnInvoice"/>
-            <xsd:enumeration value="MultipleZoneOrderNumber"/>
-            <xsd:enumeration value="MunicipalityAssignedBusinessRegistryNumber"/>
-            <xsd:enumeration value="NACE"/>
-            <xsd:enumeration value="NAF"/>
-            <xsd:enumeration value="NamedBanksReference"/>
-            <xsd:enumeration value="NationalAeronauticsandSpaceAdministrationFARSupplement"/>
-            <xsd:enumeration value="NationalAssociationOfBoardsOfPharmacyNumber"/>
-            <xsd:enumeration value="NationalAssociationOfInsuranceCommissionersCode"/>
-            <xsd:enumeration value="NationalBusinessIdentificationNumber"/>
-            <xsd:enumeration value="NationalCriminalInformationCenterOriginatingAgencyIdentification"/>
-            <xsd:enumeration value="NationalFloodInsuranceProgramCommunityName"/>
-            <xsd:enumeration value="NationalFloodInsuranceProgramCommunityNumber"/>
-            <xsd:enumeration value="NationalFloodInsuranceProgramCounty"/>
-            <xsd:enumeration value="NationalFloodInsuranceProgramMapNumber"/>
-            <xsd:enumeration value="NationalFloodInsuranceProgramState"/>
-            <xsd:enumeration value="NationalGovernmentBusinessIdentificationNumber"/>
-            <xsd:enumeration value="NationalPropertyRegistrySystemLevel1"/>
-            <xsd:enumeration value="NationalPropertyRegistrySystemLevel2"/>
-            <xsd:enumeration value="NationalPropertyRegistrySystemLevel3"/>
-            <xsd:enumeration value="NationalStockNumber"/>
-            <xsd:enumeration value="NaturalGasPolicyActCategoryCode"/>
-            <xsd:enumeration value="NewDrugApplicationNumber"/>
-            <xsd:enumeration value="NewHealthInsuranceClaimNumber"/>
-            <xsd:enumeration value="NewPartNumber"/>
-            <xsd:enumeration value="NextRentalAgreementNumber"/>
-            <xsd:enumeration value="NextRentalAgreementReasonNumber"/>
-            <xsd:enumeration value="NextShipmentIdentificationNumberContinuousMove"/>
-            <xsd:enumeration value="NIT"/>
-            <xsd:enumeration value="NominationNumber"/>
-            <xsd:enumeration value="NonAmericanIdentificationNumber"/>
-            <xsd:enumeration value="NonConformanceReportNumber"/>
-            <xsd:enumeration value="NonNegotiableMaritimeTransportDocumentNumber"/>
-            <xsd:enumeration value="NonOriginatingThirdPartyNumber"/>
-            <xsd:enumeration value="NonPickupLimitedTariffNumber"/>
-            <xsd:enumeration value="NonProvisionalPatentApplicationNumber"/>
-            <xsd:enumeration value="NonSpouseTie"/>
-            <xsd:enumeration value="NoOT5AuthorityZeroMileageRate"/>
-            <xsd:enumeration value="NorthAmericanDatumStandard"/>
-            <xsd:enumeration value="NorthAmericanFreeTradeAgreementComplianceNumber"/>
-            <xsd:enumeration value="NorthAmericanHazardousClassificationNumber"/>
-            <xsd:enumeration value="NorthAmericanHazardousGoodsClassificationNumber"/>
-            <xsd:enumeration value="NorthAmericanIndustrialClassificationSystemCode"/>
-            <xsd:enumeration value="NOTICOL"/>
-            <xsd:enumeration value="NumberOfTemporaryImportationDocument"/>
-            <xsd:enumeration value="NumerodeCeduladeIdentidadNumber"/>
-            <xsd:enumeration value="NumerodeIdentificacionTributaria"/>
-            <xsd:enumeration value="ObjectIdentifier"/>
-            <xsd:enumeration value="OccupationalSafetyandHealthAdministrationClaimNumber"/>
-            <xsd:enumeration value="OccupationClassificationCode"/>
-            <xsd:enumeration value="OccupationCode"/>
-            <xsd:enumeration value="OceanBillofLading"/>
-            <xsd:enumeration value="OceanContainerNumber"/>
-            <xsd:enumeration value="OceanManifest"/>
-            <xsd:enumeration value="OffenderTracking"/>
-            <xsd:enumeration value="OffenseTracking"/>
-            <xsd:enumeration value="OfferGroup"/>
-            <xsd:enumeration value="OfferNumber"/>
-            <xsd:enumeration value="OfficeNumber"/>
-            <xsd:enumeration value="OfficerLicenseNumber"/>
-            <xsd:enumeration value="OfficeSymbol"/>
-            <xsd:enumeration value="OldAccountNumber"/>
-            <xsd:enumeration value="OldMeterNumber"/>
-            <xsd:enumeration value="OldPartNumber"/>
-            <xsd:enumeration value="OneCallAgencyTicketNumber"/>
-            <xsd:enumeration value="OnlineProcurementandAccountingControlTransaction"/>
-            <xsd:enumeration value="OpenandPrepaidStationListNumber"/>
-            <xsd:enumeration value="OperationNumber"/>
-            <xsd:enumeration value="OperatorAssignedUnitNumber"/>
-            <xsd:enumeration value="OperatorIdentificationNumber"/>
-            <xsd:enumeration value="OperatorLeaseNumber"/>
-            <xsd:enumeration value="OptionPolicyNumber"/>
-            <xsd:enumeration value="OrderOrParagraphNumber"/>
-            <xsd:enumeration value="OrderingCustomerConsignmentReferenceNumber"/>
-            <xsd:enumeration value="OrderingCustomersSecondReferenceNumber"/>
-            <xsd:enumeration value="OrderNumber"/>
-            <xsd:enumeration value="PurchaseOrderNumber"/>
-            <xsd:enumeration value="VendorOrderNumber"/>
-            <xsd:enumeration value="OrganizationBreakdownStructure"/>
-            <xsd:enumeration value="OriginalCertificateNumber"/>
-            <xsd:enumeration value="OriginalFdoTransactionReference"/>
-            <xsd:enumeration value="OriginalFiling"/>
-            <xsd:enumeration value="OriginalFilingNumber"/>
-            <xsd:enumeration value="OriginalInvoiceNumber"/>
-            <xsd:enumeration value="OriginalPurchaseOrder"/>
-            <xsd:enumeration value="OriginalReferenceNumber"/>
-            <xsd:enumeration value="OriginalReturnRequestReferenceNumber"/>
-            <xsd:enumeration value="OriginalShippersBillOfLadingNumber"/>
-            <xsd:enumeration value="OriginalSubmitterChildDataMaintenanceRequestLog"/>
-            <xsd:enumeration value="OriginalSubmitterLogNumber"/>
-            <xsd:enumeration value="OriginalSubmitterParentDataMaintenanceRequest"/>
-            <xsd:enumeration value="OriginalUniformCommercialCodeFilingNumber"/>
-            <xsd:enumeration value="OriginalVoucherNumber"/>
-            <xsd:enumeration value="OriginatingCase"/>
-            <xsd:enumeration value="OriginatingCompanyIdentifier"/>
-            <xsd:enumeration value="OriginatingDepositoryFinancialInstitutionIdentifier"/>
-            <xsd:enumeration value="OriginatorsReference"/>
-            <xsd:enumeration value="OriginHouse"/>
-            <xsd:enumeration value="OriginOfShipmentHarmonizedBasedCode"/>
-            <xsd:enumeration value="OT5AuthorityConditionOrRestrictiononCarHireRate"/>
-            <xsd:enumeration value="OtherUnlistedTypeOfReferenceNumber"/>
-            <xsd:enumeration value="OutboundFromParty"/>
-            <xsd:enumeration value="OuterContinentalShelfAreaCode"/>
-            <xsd:enumeration value="OuterContinentalShelfBlockNumber"/>
-            <xsd:enumeration value="OuterpackagingUnitIdentification"/>
-            <xsd:enumeration value="OutletNumber"/>
-            <xsd:enumeration value="OutofServiceNumber"/>
-            <xsd:enumeration value="OwningBureauIdentificationNumber"/>
-            <xsd:enumeration value="PackAndHoldInvoiceNumber"/>
-            <xsd:enumeration value="PackageNumber"/>
-            <xsd:enumeration value="PackagingGroupNumber"/>
-            <xsd:enumeration value="PackagingSpecificationNumber"/>
-            <xsd:enumeration value="PackagingUnitIdentification"/>
-            <xsd:enumeration value="PackerNumber"/>
-            <xsd:enumeration value="Packet"/>
-            <xsd:enumeration value="PackingGroupCode"/>
-            <xsd:enumeration value="PackingListNumber"/>
-            <xsd:enumeration value="PackingPlantNumber"/>
-            <xsd:enumeration value="PageNumber"/>
-            <xsd:enumeration value="Paragraph"/>
-            <xsd:enumeration value="ParagraphNumber"/>
-            <xsd:enumeration value="ParamedicalIDNumber"/>
-            <xsd:enumeration value="ParentFile"/>
-            <xsd:enumeration value="PartCausingRepairNumber"/>
-            <xsd:enumeration value="PartConsignmentNumber"/>
-            <xsd:enumeration value="PartialPaymentNumber"/>
-            <xsd:enumeration value="ParticipatingArea"/>
-            <xsd:enumeration value="PartInterchangeability"/>
-            <xsd:enumeration value="PartNumber"/>
-            <xsd:enumeration value="PartReferenceIndicatorInADrawing"/>
-            <xsd:enumeration value="PartyInformationMessageReference"/>
-            <xsd:enumeration value="PartySequenceNumber"/>
-            <xsd:enumeration value="Passport"/>
-            <xsd:enumeration value="PassportNumber"/>
-            <xsd:enumeration value="PatentCooperationTreatyApplicationNumber"/>
-            <xsd:enumeration value="PatentNumber"/>
-            <xsd:enumeration value="PatentType"/>
-            <xsd:enumeration value="PatientAccountNumber"/>
-            <xsd:enumeration value="PatronNumber"/>
-            <xsd:enumeration value="PayeeIdentification"/>
-            <xsd:enumeration value="PayeeLoanNumber"/>
-            <xsd:enumeration value="PayeesFinancialInstitutionAccountNumber"/>
-            <xsd:enumeration value="PayeesFinancialInstitutionTransitRoutingNo"/>
-            <xsd:enumeration value="PayeesReferenceNumber"/>
-            <xsd:enumeration value="PayerAssignedResubmissionReferenceNumber"/>
-            <xsd:enumeration value="PayerCategory"/>
-            <xsd:enumeration value="PayerIdentificationNumber"/>
-            <xsd:enumeration value="PayersFinancialInstitutionAccountNumber"/>
-            <xsd:enumeration value="PayersFinancialInstitutionTransitRoutingNo"/>
-            <xsd:enumeration value="PayersReferenceNumber"/>
-            <xsd:enumeration value="PayGrade"/>
-            <xsd:enumeration value="PaymentCategory"/>
-            <xsd:enumeration value="PaymentHistoryReferenceNumber"/>
-            <xsd:enumeration value="PaymentInAdvanceRequestReference"/>
-            <xsd:enumeration value="PaymentInstalmentReferenceNumber"/>
-            <xsd:enumeration value="PaymentLocation"/>
-            <xsd:enumeration value="PaymentOrderNumber"/>
-            <xsd:enumeration value="PaymentPlanReference"/>
-            <xsd:enumeration value="PaymentReference"/>
-            <xsd:enumeration value="PaymentValuationNumber"/>
-            <xsd:enumeration value="PayorsClaimNumber"/>
-            <xsd:enumeration value="PayrollAccountNumber"/>
-            <xsd:enumeration value="PayrollNumber"/>
-            <xsd:enumeration value="PcsCatastrophe"/>
-            <xsd:enumeration value="PeerReviewOrganizationApprovalNumber"/>
-            <xsd:enumeration value="PendingCase"/>
-            <xsd:enumeration value="PensionContract"/>
-            <xsd:enumeration value="PeriodicityCode"/>
-            <xsd:enumeration value="PermitNumber"/>
-            <xsd:enumeration value="PersonalIdentificationNumber"/>
-            <xsd:enumeration value="PersonalIdentityCardNumber"/>
-            <xsd:enumeration value="PersonalIDNumber"/>
-            <xsd:enumeration value="PetroleumPoolCode"/>
-            <xsd:enumeration value="PharmacyPrescriptionNumber"/>
-            <xsd:enumeration value="PhoneCalls"/>
-            <xsd:enumeration value="PhysicalInventoryRecountReferenceNumber"/>
-            <xsd:enumeration value="PickupReferenceNumber"/>
-            <xsd:enumeration value="PictureNumber"/>
-            <xsd:enumeration value="PictureOfActualProduct"/>
-            <xsd:enumeration value="PictureOfAGenericProduct"/>
-            <xsd:enumeration value="PierNumber"/>
-            <xsd:enumeration value="Piggyback"/>
-            <xsd:enumeration value="PilotLicenseNumber"/>
-            <xsd:enumeration value="PipelineNumber"/>
-            <xsd:enumeration value="PlanNetworkIdentificationNumber"/>
-            <xsd:enumeration value="PlanningPackage"/>
-            <xsd:enumeration value="PlanNumber"/>
-            <xsd:enumeration value="PlantNumber"/>
-            <xsd:enumeration value="PlateNumber"/>
-            <xsd:enumeration value="PlatformIdentificationNumber"/>
-            <xsd:enumeration value="PlotFile"/>
-            <xsd:enumeration value="PlugNumber"/>
-            <xsd:enumeration value="PolicyFormNumber"/>
-            <xsd:enumeration value="PolicyLinkNumber"/>
-            <xsd:enumeration value="PolicyNumber"/>
-            <xsd:enumeration value="PolicyType"/>
-            <xsd:enumeration value="Pollutant"/>
-            <xsd:enumeration value="PoolContractCode"/>
-            <xsd:enumeration value="PoolNumber"/>
-            <xsd:enumeration value="PoolSuffix"/>
-            <xsd:enumeration value="PositionCode"/>
-            <xsd:enumeration value="PostEntryReference"/>
-            <xsd:enumeration value="PreAwardSurvey"/>
-            <xsd:enumeration value="PrecinctNumber"/>
-            <xsd:enumeration value="PredecessorAccount"/>
-            <xsd:enumeration value="PredeterminationofBenefitsIdentificationNumber"/>
-            <xsd:enumeration value="PreferredCallSign"/>
-            <xsd:enumeration value="PreferredProviderOrganizationAuthorizationNumber"/>
-            <xsd:enumeration value="PreferredProviderOrganizationNumber"/>
-            <xsd:enumeration value="PreferredProviderOrganizationSiteNumber"/>
-            <xsd:enumeration value="PreliminaryWorkCandidateNumber"/>
-            <xsd:enumeration value="PremarketApplicationNumber"/>
-            <xsd:enumeration value="PremarketNotificationNumber"/>
-            <xsd:enumeration value="PremiumAuditPriorityIdentifier"/>
-            <xsd:enumeration value="PremiumAuditPurposeIdentifier"/>
-            <xsd:enumeration value="PremiumAuditTypeIdentifier"/>
-            <xsd:enumeration value="PremiumRateTable"/>
-            <xsd:enumeration value="PreparersVerificationNumber"/>
-            <xsd:enumeration value="PresentingBanksReference"/>
-            <xsd:enumeration value="PressFormIdentifier"/>
-            <xsd:enumeration value="PressIdentifier"/>
-            <xsd:enumeration value="PreviousBillofLadingNumber"/>
-            <xsd:enumeration value="PreviousCargoControlNumber"/>
-            <xsd:enumeration value="PreviousClaimHistoryIdentifier"/>
-            <xsd:enumeration value="PreviousContractNumber"/>
-            <xsd:enumeration value="PreviousCourseNumber"/>
-            <xsd:enumeration value="PreviousCreditOrDebitAdjustmentNumber"/>
-            <xsd:enumeration value="PreviousCreditAdviceReferenceNumber"/>
-            <xsd:enumeration value="PreviousCustomerReferenceNumber"/>
-            <xsd:enumeration value="PreviousDeliveryInstructionNumber"/>
-            <xsd:enumeration value="PreviousDeliveryScheduleNumber"/>
-            <xsd:enumeration value="PreviousDistributorNumber"/>
-            <xsd:enumeration value="PreviousDriversLicense"/>
-            <xsd:enumeration value="PreviousDrugEnforcementAdministrationNumber"/>
-            <xsd:enumeration value="PreviousHighestScheduleNumber"/>
-            <xsd:enumeration value="PreviousInvoiceNumber"/>
-            <xsd:enumeration value="PreviouslyReportedSocialSecurityNumber"/>
-            <xsd:enumeration value="PreviousMemberNumber"/>
-            <xsd:enumeration value="PreviousPolicyNumber"/>
-            <xsd:enumeration value="PreviousRentalAgreementNumber"/>
-            <xsd:enumeration value="PreviousReportNumber"/>
-            <xsd:enumeration value="PreviousRequestForMeteredReadingReferenceNumber"/>
-            <xsd:enumeration value="PreviousSchemeOrPlanNumber"/>
-            <xsd:enumeration value="PreviousSequence"/>
-            <xsd:enumeration value="PreviousShipmentIdentificationNumberContinuousMove"/>
-            <xsd:enumeration value="PreviousTaxControlNumber"/>
-            <xsd:enumeration value="PreviousTicketNumber"/>
-            <xsd:enumeration value="PriceOrSalesCatalogueResponseReferenceNumber"/>
-            <xsd:enumeration value="PriceAreaNumber"/>
-            <xsd:enumeration value="PriceListChangeorIssueNumber"/>
-            <xsd:enumeration value="PriceListNumber"/>
-            <xsd:enumeration value="PriceListVersionNumber"/>
-            <xsd:enumeration value="PriceQuoteNumber"/>
-            <xsd:enumeration value="PriceVariationFormulaReferenceNumber"/>
-            <xsd:enumeration value="PrimaryReference"/>
-            <xsd:enumeration value="PrimeContractorContractNumber"/>
-            <xsd:enumeration value="PrincipalReferenceNumber"/>
-            <xsd:enumeration value="PrincipalsBankReference"/>
-            <xsd:enumeration value="PrincipalsReference"/>
-            <xsd:enumeration value="PriorAuthorizationNumber"/>
-            <xsd:enumeration value="PriorCase"/>
-            <xsd:enumeration value="PriorCertificateNumber"/>
-            <xsd:enumeration value="PriorContractNumber"/>
-            <xsd:enumeration value="PriorDataUniversalNumberSystemNumber"/>
-            <xsd:enumeration value="PriorHealthIndustryNumber"/>
-            <xsd:enumeration value="PriorIdentifierNumber"/>
-            <xsd:enumeration value="PriorIncorrectBatchNumber"/>
-            <xsd:enumeration value="PriorIncorrectSocialSecurityNumber"/>
-            <xsd:enumeration value="PriorityRating"/>
-            <xsd:enumeration value="PriorLoanNumber"/>
-            <xsd:enumeration value="PriorPhoneNumber"/>
-            <xsd:enumeration value="PriorPolicyNumber"/>
-            <xsd:enumeration value="PriorPostalZipCode"/>
-            <xsd:enumeration value="PriorPurchaseOrderNumber"/>
-            <xsd:enumeration value="Priorpurchaseordernumber"/>
-            <xsd:enumeration value="PriorTaxIdentificationNumber"/>
-            <xsd:enumeration value="PriorTradingPartnerIdentificationNumber"/>
-            <xsd:enumeration value="PriorUniversalProviderIdentificationNumber"/>
-            <xsd:enumeration value="Proceeding"/>
-            <xsd:enumeration value="ProcessHandlingCode"/>
-            <xsd:enumeration value="ProcessingArea"/>
-            <xsd:enumeration value="ProcessingPlantNumber"/>
-            <xsd:enumeration value="ProcessorIdentificationNumber"/>
-            <xsd:enumeration value="ProcessorsInvoiceNumber"/>
-            <xsd:enumeration value="ProcurementBudgetNumber"/>
-            <xsd:enumeration value="ProcurementRequestNumber"/>
-            <xsd:enumeration value="ProcuringAgency"/>
-            <xsd:enumeration value="ProductChangeAuthorityNumber"/>
-            <xsd:enumeration value="ProductChangeInformationNumber"/>
-            <xsd:enumeration value="ProductChangeNoticeNumber"/>
-            <xsd:enumeration value="ProductGroup"/>
-            <xsd:enumeration value="ProductionCode"/>
-            <xsd:enumeration value="ProductLicensingAgreementNumber"/>
-            <xsd:enumeration value="ProductLineNumber"/>
-            <xsd:enumeration value="ProductNumber"/>
-            <xsd:enumeration value="ProductPeriodForWhichLaborCostsAreFirm"/>
-            <xsd:enumeration value="ProductReservationNumber"/>
-            <xsd:enumeration value="ProductSourcingAgreementNumber"/>
-            <xsd:enumeration value="ProductSpecificationDocumentNumber"/>
-            <xsd:enumeration value="ProductType"/>
-            <xsd:enumeration value="ProfileNumber"/>
-            <xsd:enumeration value="ProformaInvoiceNumber"/>
-            <xsd:enumeration value="ProgramIdentificationNumber"/>
-            <xsd:enumeration value="ProgressPaymentNumber"/>
-            <xsd:enumeration value="ProjectCode"/>
-            <xsd:enumeration value="ProjectNumber"/>
-            <xsd:enumeration value="ProjectParagraphNumber"/>
-            <xsd:enumeration value="ProjectPropertyNumber"/>
-            <xsd:enumeration value="ProjectSpecificationNumber"/>
-            <xsd:enumeration value="PromotionOrDealNumber"/>
-            <xsd:enumeration value="ProofOfDeliveryReferenceNumber"/>
-            <xsd:enumeration value="PropertyComponentLocation"/>
-            <xsd:enumeration value="PropertyControlNumber"/>
-            <xsd:enumeration value="PropertyLossItemNumber"/>
-            <xsd:enumeration value="ProposalNumber"/>
-            <xsd:enumeration value="ProposalParagraphNumber"/>
-            <xsd:enumeration value="ProposedContractNumber"/>
-            <xsd:enumeration value="ProposedGroupWorkCandidateSequenceNumber"/>
-            <xsd:enumeration value="ProposedSequenceNumber"/>
-            <xsd:enumeration value="ProposedWorkCandidateSequenceNumber"/>
-            <xsd:enumeration value="ProtocolNumber"/>
-            <xsd:enumeration value="ProtractionNumber"/>
-            <xsd:enumeration value="ProviderClaimNumber"/>
-            <xsd:enumeration value="ProviderCommercialNumber"/>
-            <xsd:enumeration value="ProviderControlNumber"/>
-            <xsd:enumeration value="ProviderOrderTicketNumber"/>
-            <xsd:enumeration value="ProviderPlanNetworkIdentificationNumber"/>
-            <xsd:enumeration value="ProviderSiteNumber"/>
-            <xsd:enumeration value="ProviderUPINNumber"/>
-            <xsd:enumeration value="ProvincialCanadianSalesTaxExemptionNumber"/>
-            <xsd:enumeration value="ProvincialTaxIdentification"/>
-            <xsd:enumeration value="ProvisionalPatentApplicationNumber"/>
-            <xsd:enumeration value="PublicationIssueNumber"/>
-            <xsd:enumeration value="PublicDeedNumber"/>
-            <xsd:enumeration value="PublicFilingRegistrationNumber"/>
-            <xsd:enumeration value="PublicUtilitiesCommissionCertificateOfPublicConvenience"/>
-            <xsd:enumeration value="PurchaseDescription"/>
-            <xsd:enumeration value="PurchaseOptionAgreement"/>
-            <xsd:enumeration value="PurchaseOrderChangeNumber"/>
-            <xsd:enumeration value="PurchaseOrderLineItemIdentifierBuyer"/>
-            <xsd:enumeration value="PurchaseOrderNumberIncludedinOnOrderPosition"/>
-            <xsd:enumeration value="PurchaseOrderNumberOfOrderReceivedSinceLastReportingDate"/>
-            <xsd:enumeration value="PurchaseOrderNumberOfShipmentReceivedSinceLastReportingDate"/>
-            <xsd:enumeration value="PurchaseOrderNumberSuffix"/>
-            <xsd:enumeration value="PurchaseOrderResponseNumber"/>
-            <xsd:enumeration value="PurchaseOrderRevisionNumber"/>
-            <xsd:enumeration value="PurchaseRequisitionNumber"/>
-            <xsd:enumeration value="PurchasersRequestReference"/>
-            <xsd:enumeration value="PurchasingActivityClauseNumber"/>
-            <xsd:enumeration value="QualifiedMaterialsList"/>
-            <xsd:enumeration value="QualifiedProductsList"/>
-            <xsd:enumeration value="QualityClause"/>
-            <xsd:enumeration value="QualityDispositionAreaIdentifier"/>
-            <xsd:enumeration value="QualityInspectionAreaIdentifier"/>
-            <xsd:enumeration value="QualityReportNumber"/>
-            <xsd:enumeration value="QualityReviewMaterialCribIdentifier"/>
-            <xsd:enumeration value="QuantityValuationNumber"/>
-            <xsd:enumeration value="QuantityValuationRequestNumber"/>
-            <xsd:enumeration value="QuarantineOrTreatmentStatusReferenceNumber"/>
-            <xsd:enumeration value="QuarterQuarterSectionNumber"/>
-            <xsd:enumeration value="QuarterQuarterSpotNumber"/>
-            <xsd:enumeration value="QuestionNumber"/>
-            <xsd:enumeration value="QuotaNumber"/>
-            <xsd:enumeration value="QuoteOrShoppingCartID"/>
-            <xsd:enumeration value="RackTypeNumber"/>
-            <xsd:enumeration value="RailOrRoadRoutingCode"/>
-            <xsd:enumeration value="RailroadCommissionOilNumber"/>
-            <xsd:enumeration value="RailroadCommissionRecordNumber"/>
-            <xsd:enumeration value="RailRoutingCode"/>
-            <xsd:enumeration value="RailWayBillNumber"/>
-            <xsd:enumeration value="RailwayConsignmentNoteNumber"/>
-            <xsd:enumeration value="RailwayWagonNumber"/>
-            <xsd:enumeration value="RangeNumber"/>
-            <xsd:enumeration value="RateCardNumber"/>
-            <xsd:enumeration value="RateCodeNumber"/>
-            <xsd:enumeration value="RateConferenceIDCode"/>
-            <xsd:enumeration value="RateNoteNumber"/>
-            <xsd:enumeration value="RatingPeriod"/>
-            <xsd:enumeration value="RawmaterialSupplierDunAndBradstreetNumber"/>
-            <xsd:enumeration value="RealEstateOwnedPropertyIdentifier"/>
-            <xsd:enumeration value="ReasonForChange"/>
-            <xsd:enumeration value="ReasonNotLowestCostCode"/>
-            <xsd:enumeration value="RebateNumber"/>
-            <xsd:enumeration value="RecallNumber"/>
-            <xsd:enumeration value="ReceiptNumber"/>
-            <xsd:enumeration value="ReceivedNumber"/>
-            <xsd:enumeration value="ReceiverAssignedDropZone"/>
-            <xsd:enumeration value="ReceiverClaimNumber"/>
-            <xsd:enumeration value="ReceiverIdentificationNumber"/>
-            <xsd:enumeration value="ReceiverIDQualifier"/>
-            <xsd:enumeration value="ReceiversFileReferenceNumber"/>
-            <xsd:enumeration value="ReceiverSubIdentificationNumber"/>
-            <xsd:enumeration value="ReceivingAdviceNumber"/>
-            <xsd:enumeration value="ReceivingBanksAuthorizationNumber"/>
-            <xsd:enumeration value="ReceivingCompanyIdentifier"/>
-            <xsd:enumeration value="ReceivingDepositoryFinancialInstitutionIdentifier"/>
-            <xsd:enumeration value="ReceivingNumber"/>
-            <xsd:enumeration value="ReceivingPartysMemberIdentification"/>
-            <xsd:enumeration value="ReconciliationReportSectionIdentificationCode"/>
-            <xsd:enumeration value="RecordingNumber"/>
-            <xsd:enumeration value="ReducedEarningWeekIdentifier"/>
-            <xsd:enumeration value="ReelNumber"/>
-            <xsd:enumeration value="ReferencedBy"/>
-            <xsd:enumeration value="ReferencedPatternIdentification"/>
-            <xsd:enumeration value="ReferenceDrawingNumber"/>
-            <xsd:enumeration value="ReferenceNumberAssignedByThirdParty"/>
-            <xsd:enumeration value="ReferenceNumberOfARequestForMeteredReading"/>
-            <xsd:enumeration value="ReferenceNumberQuotedOnStatement"/>
-            <xsd:enumeration value="ReferenceNumberToPreviousMessage"/>
-            <xsd:enumeration value="ReferenceVersionNumber"/>
-            <xsd:enumeration value="ReferralNumber"/>
-            <xsd:enumeration value="ReferredProductForChemicalAnalysis"/>
-            <xsd:enumeration value="ReferredProductForMechanicalAnalysis"/>
-            <xsd:enumeration value="RefinerIdentification"/>
-            <xsd:enumeration value="Region"/>
-            <xsd:enumeration value="RegionalAccountNumber"/>
-            <xsd:enumeration value="RegiristoFederalDeContribuyentes"/>
-            <xsd:enumeration value="RegiristoFederaldeContribuyentes"/>
-            <xsd:enumeration value="RegisteredCapitalReference"/>
-            <xsd:enumeration value="RegisteredContractorActivityType"/>
-            <xsd:enumeration value="RegisteredMailNumber"/>
-            <xsd:enumeration value="RegistrationNumber"/>
-            <xsd:enumeration value="RegistrationNumberOfPreviousCustomsDeclaration"/>
-            <xsd:enumeration value="RegistroInformacionFiscal"/>
-            <xsd:enumeration value="RegistroNacionaldeContribuyente"/>
-            <xsd:enumeration value="RegistroUnicodeContribuyente"/>
-            <xsd:enumeration value="RegulationPrimaryNumber"/>
-            <xsd:enumeration value="RegulationSecondaryNumber"/>
-            <xsd:enumeration value="RegulatoryGuidelineIdentifier"/>
-            <xsd:enumeration value="ReinsuranceReference"/>
-            <xsd:enumeration value="ReinsurersClaimNumber"/>
-            <xsd:enumeration value="ReissueCessionNumber"/>
-            <xsd:enumeration value="RejectionNumber"/>
-            <xsd:enumeration value="RelatedCase"/>
-            <xsd:enumeration value="RelatedContractLineItemNumber"/>
-            <xsd:enumeration value="RelatedDocumentNumber"/>
-            <xsd:enumeration value="RelatedNonconformanceNumber"/>
-            <xsd:enumeration value="RelatedObjectIdentificationNumber"/>
-            <xsd:enumeration value="RelatedTransactionReferenceNumber"/>
-            <xsd:enumeration value="RelatedVendorOrderNumber"/>
-            <xsd:enumeration value="RelativePriority"/>
-            <xsd:enumeration value="ReleaseInvoiceNumberForPriorBillAndHold"/>
-            <xsd:enumeration value="ReleaseNumber"/>
-            <xsd:enumeration value="RemittanceAdviceNumber"/>
-            <xsd:enumeration value="RemittingBanksReference"/>
-            <xsd:enumeration value="RemovalNumber"/>
-            <xsd:enumeration value="RentalAccountNumber"/>
-            <xsd:enumeration value="RentalAgreementNumber"/>
-            <xsd:enumeration value="RentPayorIdentification"/>
-            <xsd:enumeration value="RepairActionNumber"/>
-            <xsd:enumeration value="RepairCategoryNumber"/>
-            <xsd:enumeration value="RepairDataRequestNumber"/>
-            <xsd:enumeration value="RepairEstimateNumber"/>
-            <xsd:enumeration value="RepairOrderNumber"/>
-            <xsd:enumeration value="RepairPartNumber"/>
-            <xsd:enumeration value="RepeatLocation"/>
-            <xsd:enumeration value="RepetitiveBookingNumber"/>
-            <xsd:enumeration value="RepetitiveCargoShipmentNumber"/>
-            <xsd:enumeration value="RepetitivePatternCode"/>
-            <xsd:enumeration value="RepetitiveWaybillCode"/>
-            <xsd:enumeration value="ReplacementAssemblyModelNumber"/>
-            <xsd:enumeration value="ReplacementAssemblySerialNumber"/>
-            <xsd:enumeration value="ReplacementClaimNumber"/>
-            <xsd:enumeration value="ReplacementCustomerReferenceNumber"/>
-            <xsd:enumeration value="ReplacementDrugEnforcementAdministrationNumber"/>
-            <xsd:enumeration value="ReplacingPartNumber"/>
-            <xsd:enumeration value="ReplenishmentPurchaseOrderNumber"/>
-            <xsd:enumeration value="ReplenishmentPurchaseOrderRangeEndNumber"/>
-            <xsd:enumeration value="ReplenishmentPurchaseOrderRangeStartNumber"/>
-            <xsd:enumeration value="ReporterIdentification"/>
-            <xsd:enumeration value="ReportingFormNumber"/>
-            <xsd:enumeration value="ReportNumber"/>
-            <xsd:enumeration value="Representation"/>
-            <xsd:enumeration value="RepresentativeIdentificationNumber"/>
-            <xsd:enumeration value="RepricedClaimReferenceNumber"/>
-            <xsd:enumeration value="RepricedLineItemReferenceNumber"/>
-            <xsd:enumeration value="RequestForCancellationNumber"/>
-            <xsd:enumeration value="RequestforQuotationReference"/>
-            <xsd:enumeration value="RequestForQuoteNumber"/>
-            <xsd:enumeration value="RequestNumber"/>
-            <xsd:enumeration value="ReservationNumber"/>
-            <xsd:enumeration value="ReserveAssemblyLineFeedLocation"/>
-            <xsd:enumeration value="ResourceScreeningReference"/>
-            <xsd:enumeration value="ResourceUtilizationGroupNumber"/>
-            <xsd:enumeration value="ResponsetoaRequestforQuotationReference"/>
-            <xsd:enumeration value="RestrictedAvailabilityAuthorization"/>
-            <xsd:enumeration value="RestrictedAvailabilityNumber"/>
-            <xsd:enumeration value="ResubmissionNumber"/>
-            <xsd:enumeration value="ResubmissionReasonCode"/>
-            <xsd:enumeration value="Resubmitnumber"/>
-            <xsd:enumeration value="RetailMerchantsCertificationNumber"/>
-            <xsd:enumeration value="RetirementPlanAccountNumber"/>
-            <xsd:enumeration value="RetirementPlanPolicyNumber"/>
-            <xsd:enumeration value="ReturnableContainerReferenceNumber"/>
-            <xsd:enumeration value="ReturnableContainerSerialNumber"/>
-            <xsd:enumeration value="ReturnedGoodsAuthorizationNumber"/>
-            <xsd:enumeration value="ReturnGoodsBillOfLadingNumber"/>
-            <xsd:enumeration value="ReturnMaterialAuthorizationNumber"/>
-            <xsd:enumeration value="ReturnsNoticeNumber"/>
-            <xsd:enumeration value="RevenueSource"/>
-            <xsd:enumeration value="Review"/>
-            <xsd:enumeration value="ReviewerFileNumber"/>
-            <xsd:enumeration value="ReviewPeriodNumber"/>
-            <xsd:enumeration value="RevisionNumber"/>
-            <xsd:enumeration value="RIF"/>
-            <xsd:enumeration value="RigNumber"/>
-            <xsd:enumeration value="RoadConsignmentNoteNumber"/>
-            <xsd:enumeration value="RouteNumber"/>
-            <xsd:enumeration value="RouteOrderNumberDomestic"/>
-            <xsd:enumeration value="RouteOrderNumberEmergency"/>
-            <xsd:enumeration value="RouteOrderNumberExport"/>
-            <xsd:enumeration value="RoutingInstructionNumber"/>
-            <xsd:enumeration value="RUC"/>
-            <xsd:enumeration value="RuleSection"/>
-            <xsd:enumeration value="RunNumber"/>
-            <xsd:enumeration value="SafekeepingAccountNumber"/>
-            <xsd:enumeration value="SafetyEquipmentCertificate"/>
-            <xsd:enumeration value="SafetyofRadioCertificate"/>
-            <xsd:enumeration value="SafetyofShipCertificate"/>
-            <xsd:enumeration value="SalesOrTerritoryCode"/>
-            <xsd:enumeration value="SalesAllowanceNumber"/>
-            <xsd:enumeration value="SalesDepartmentNumber"/>
-            <xsd:enumeration value="SalesForecastNumber"/>
-            <xsd:enumeration value="SalesOfficeNumber"/>
-            <xsd:enumeration value="SalesPersonNumber"/>
-            <xsd:enumeration value="SalesProgramNumber"/>
-            <xsd:enumeration value="SalesRegionNumber"/>
-            <xsd:enumeration value="SalesReportNumber"/>
-            <xsd:enumeration value="SalesRepresentativeOrderNumber"/>
-            <xsd:enumeration value="SalesResponsibility"/>
-            <xsd:enumeration value="SampleNumber"/>
-            <xsd:enumeration value="Savings"/>
-            <xsd:enumeration value="SBA"/>
-            <xsd:enumeration value="ScaleNumber"/>
-            <xsd:enumeration value="ScanLine"/>
-            <xsd:enumeration value="ScheduleReferenceNumber"/>
-            <xsd:enumeration value="SchemeOrPlanNumber"/>
-            <xsd:enumeration value="SchoolLoanNumber"/>
-            <xsd:enumeration value="SchoolUse"/>
-            <xsd:enumeration value="SealNumber"/>
-            <xsd:enumeration value="SealOffNumber"/>
-            <xsd:enumeration value="SealOnNumber"/>
-            <xsd:enumeration value="SearchKey"/>
-            <xsd:enumeration value="SecondaryCoverageCertificateNumber"/>
-            <xsd:enumeration value="SecondaryCoverageCompanyNumber"/>
-            <xsd:enumeration value="SecondaryCustomsReference"/>
-            <xsd:enumeration value="SecondaryEmployeeIdentificationNumber"/>
-            <xsd:enumeration value="SecondaryHealthInsuranceIdentificationNumber"/>
-            <xsd:enumeration value="SecondaryPolicyNumber"/>
-            <xsd:enumeration value="SecondaryProviderNumber"/>
-            <xsd:enumeration value="SecondarySuffixCodeIndicator"/>
-            <xsd:enumeration value="SecondBeneficiarysReference"/>
-            <xsd:enumeration value="SecretariadeComerciayFamentaIndustrialNumber"/>
-            <xsd:enumeration value="SecretaryofStateAssignedIdentificationNumber"/>
-            <xsd:enumeration value="SectionNumber"/>
-            <xsd:enumeration value="SectionOfTheNationalHousingActCode"/>
-            <xsd:enumeration value="SecurityInstrumentNumber"/>
-            <xsd:enumeration value="SecurityType"/>
-            <xsd:enumeration value="SelfInsuranceIdentificationNumber"/>
-            <xsd:enumeration value="SelfInsurerAuthorizationTypeCode"/>
-            <xsd:enumeration value="SelfInsurerOrganizationType"/>
-            <xsd:enumeration value="SellerLoanNumber"/>
-            <xsd:enumeration value="SellersCatalogueNumber"/>
-            <xsd:enumeration value="SellersCreditMemo"/>
-            <xsd:enumeration value="SellersDebitMemo"/>
-            <xsd:enumeration value="SellersInvoiceNumber"/>
-            <xsd:enumeration value="SellersReferenceNumber"/>
-            <xsd:enumeration value="SellersSaleNumber"/>
-            <xsd:enumeration value="SellingArrangement"/>
-            <xsd:enumeration value="SenderDefinedClause"/>
-            <xsd:enumeration value="SendersClauseNumber"/>
-            <xsd:enumeration value="SendersFileReferenceNumber"/>
-            <xsd:enumeration value="SendersReferenceToTheOriginalMessage"/>
-            <xsd:enumeration value="SendingBankReferenceNumber"/>
-            <xsd:enumeration value="SendingCompanyAuditNumberAutomatedClearinghouseTransfers"/>
-            <xsd:enumeration value="SequenceNumber"/>
-            <xsd:enumeration value="SerialNumber"/>
-            <xsd:enumeration value="ServiceAuthorizationNumber"/>
-            <xsd:enumeration value="ServiceBulletinNumber"/>
-            <xsd:enumeration value="ServiceBureau"/>
-            <xsd:enumeration value="ServiceChangeNumber"/>
-            <xsd:enumeration value="ServiceChargeNumber"/>
-            <xsd:enumeration value="ServiceContractNumber"/>
-            <xsd:enumeration value="ServiceEstimateNumber"/>
-            <xsd:enumeration value="ServiceGroupIdentificationNumber"/>
-            <xsd:enumeration value="ServiceInterruptTrackingNumber"/>
-            <xsd:enumeration value="ServiceOrderNumber"/>
-            <xsd:enumeration value="ServicePerformedCode"/>
-            <xsd:enumeration value="Servicer"/>
-            <xsd:enumeration value="ServiceRequestNumber"/>
-            <xsd:enumeration value="ServicerLoanNumber"/>
-            <xsd:enumeration value="Session"/>
-            <xsd:enumeration value="SetNumber"/>
-            <xsd:enumeration value="Sheet"/>
-            <xsd:enumeration value="ShelfLifeIndicator"/>
-            <xsd:enumeration value="ShipFrom"/>
-            <xsd:enumeration value="ShipmentDestinationCode"/>
-            <xsd:enumeration value="ShipmentOriginCode"/>
-            <xsd:enumeration value="ShipmentReferenceNumber"/>
-            <xsd:enumeration value="ShipNoticeOrManifestNumber"/>
-            <xsd:enumeration value="ShipownersAuthorizationNumber"/>
-            <xsd:enumeration value="ShipperCarOrderNumber"/>
-            <xsd:enumeration value="ShippersBondNumber"/>
-            <xsd:enumeration value="ShippersHazardousNumber"/>
-            <xsd:enumeration value="ShippersOrder"/>
-            <xsd:enumeration value="ShippingLabelSerialNumber"/>
-            <xsd:enumeration value="ShippingNoteNumber"/>
-            <xsd:enumeration value="ShippingUnitIdentification"/>
-            <xsd:enumeration value="ShippingZone"/>
-            <xsd:enumeration value="ShortTermDisabilityPolicyNumber"/>
-            <xsd:enumeration value="ShowIdentification"/>
-            <xsd:enumeration value="SIC"/>
-            <xsd:enumeration value="SID"/>
-            <xsd:enumeration value="SignalCode"/>
-            <xsd:enumeration value="SignalCodeNumber"/>
-            <xsd:enumeration value="SingleTransactionSequenceNumber"/>
-            <xsd:enumeration value="SIRENNumber"/>
-            <xsd:enumeration value="SIRETNumber"/>
-            <xsd:enumeration value="SiteSpecificProceduresTermsAndConditions"/>
-            <xsd:enumeration value="SituationNumber"/>
-            <xsd:enumeration value="SlaughterPlantNumber"/>
-            <xsd:enumeration value="SocialInsuranceNumber"/>
-            <xsd:enumeration value="SocialSecurityNumber"/>
-            <xsd:enumeration value="SocietyofPropertyInformationCompilersandAnalysts"/>
-            <xsd:enumeration value="SoftwareApplicationNumber"/>
-            <xsd:enumeration value="Solicitation"/>
-            <xsd:enumeration value="SortAndSegregate"/>
-            <xsd:enumeration value="SourceDocumentInternalReference"/>
-            <xsd:enumeration value="SpacingUnitOrderNumber"/>
-            <xsd:enumeration value="SpecialApproval"/>
-            <xsd:enumeration value="SpecialBudgetAccountNumber"/>
-            <xsd:enumeration value="SpecialChargeOrAllowanceCode"/>
-            <xsd:enumeration value="SpecialClause"/>
-            <xsd:enumeration value="SpecialGovernmentAccountingClassificationReferenceNumber"/>
-            <xsd:enumeration value="SpecialInstructionsNumber"/>
-            <xsd:enumeration value="SpecialMoveReferenceNumber"/>
-            <xsd:enumeration value="SpecialPackagingInstructionNumber"/>
-            <xsd:enumeration value="SpecialPaymentReferenceNumber"/>
-            <xsd:enumeration value="SpecialProcessingCode"/>
-            <xsd:enumeration value="SpecialQuoteNumber"/>
-            <xsd:enumeration value="SpecialtyLicenseNumber"/>
-            <xsd:enumeration value="SpecificationClassNumber"/>
-            <xsd:enumeration value="SpecificationNumber"/>
-            <xsd:enumeration value="SpecificationRevision"/>
-            <xsd:enumeration value="SpecimenIdentifier"/>
-            <xsd:enumeration value="SplitBookingNumber"/>
-            <xsd:enumeration value="SplitPremiumAuditChangeIdentifier"/>
-            <xsd:enumeration value="SplitShipmentNumber"/>
-            <xsd:enumeration value="SponsorsReferenceNumber"/>
-            <xsd:enumeration value="SpouseTie"/>
-            <xsd:enumeration value="StackTrainIdentification"/>
-            <xsd:enumeration value="Standard"/>
-            <xsd:enumeration value="StandardCarrierAlphaCode"/>
-            <xsd:enumeration value="StandardClause"/>
-            <xsd:enumeration value="StandardIndustryClassificationCode"/>
-            <xsd:enumeration value="StandardNumberOfInspectionDocument"/>
-            <xsd:enumeration value="StandardPointLocationCode"/>
-            <xsd:enumeration value="StandardsCodeNumber"/>
-            <xsd:enumeration value="StandardsNumber"/>
-            <xsd:enumeration value="StandardsVersionNumber"/>
-            <xsd:enumeration value="StandardTransportationCommodityCodeBridgeNumber"/>
-            <xsd:enumeration value="StandardTransportationCommodityCodeReplacementCode"/>
-            <xsd:enumeration value="StartingPackageNumber"/>
-            <xsd:enumeration value="StateAssemblyDistrict"/>
-            <xsd:enumeration value="StateCharterNumber"/>
-            <xsd:enumeration value="StateControlledSubstanceLicenseNumber"/>
-            <xsd:enumeration value="StateCriminalHistoryRepositoryIndividualIdentification"/>
-            <xsd:enumeration value="StateDepartmentI20FormNumber"/>
-            <xsd:enumeration value="StateDepartmentIAP66FormNumber"/>
-            <xsd:enumeration value="StateHazardousWasteEntityIdentifier"/>
-            <xsd:enumeration value="StateIndustrialAccidentProviderNumber"/>
-            <xsd:enumeration value="StateLegislativeDistrict"/>
-            <xsd:enumeration value="StateLicenseIdentificationNumber"/>
-            <xsd:enumeration value="StateLicenseNumber"/>
-            <xsd:enumeration value="StatementNumber"/>
-            <xsd:enumeration value="StatementOfWork"/>
-            <xsd:enumeration value="StateNonResidentViolatorCompact"/>
-            <xsd:enumeration value="StateorProvinceAssignedBusinessRegistryNumber"/>
-            <xsd:enumeration value="StateOrProvinceAssignedEntityIdentification"/>
-            <xsd:enumeration value="StateSalesTaxIdentificationNumber"/>
-            <xsd:enumeration value="StateSenateDistrict"/>
-            <xsd:enumeration value="StateStudentIdentificationNumber"/>
-            <xsd:enumeration value="StateTaxIdentificationNumber"/>
-            <xsd:enumeration value="StatewideCourseNumber"/>
-            <xsd:enumeration value="StationReferenceNumber"/>
-            <xsd:enumeration value="Status"/>
-            <xsd:enumeration value="StatusReportNumber"/>
-            <xsd:enumeration value="StockCertificateNumber"/>
-            <xsd:enumeration value="StockExchangeCode"/>
-            <xsd:enumeration value="StockExchangeCompanyIdentifier"/>
-            <xsd:enumeration value="StockKeepingUnitNumber"/>
-            <xsd:enumeration value="StockNumber"/>
-            <xsd:enumeration value="StopSequenceNumber"/>
-            <xsd:enumeration value="StorageInformationCode"/>
-            <xsd:enumeration value="StoreNumber"/>
-            <xsd:enumeration value="Study"/>
-            <xsd:enumeration value="SubassemblyNumber"/>
-            <xsd:enumeration value="SubcontractLineItemNumber"/>
-            <xsd:enumeration value="SubcontractNumber"/>
-            <xsd:enumeration value="SubcontractorDataRequirements"/>
-            <xsd:enumeration value="SubdayNumber"/>
-            <xsd:enumeration value="SubdivisionIdentifier"/>
-            <xsd:enumeration value="SubexhibitLineItemNumber"/>
-            <xsd:enumeration value="SubFile"/>
-            <xsd:enumeration value="SubhouseBillOfLading"/>
-            <xsd:enumeration value="SubjectPropertyNonSaleReferenceNumber"/>
-            <xsd:enumeration value="SubjectPropertyReferenceNumber"/>
-            <xsd:enumeration value="SubjectPropertyVerificationSource"/>
-            <xsd:enumeration value="SublineofInsurance"/>
-            <xsd:enumeration value="SubmissionNumber"/>
-            <xsd:enumeration value="SubmitterIdentificationNumber"/>
-            <xsd:enumeration value="SubscriberAuthorizationNumber"/>
-            <xsd:enumeration value="SubscriberNumber"/>
-            <xsd:enumeration value="Subservicer"/>
-            <xsd:enumeration value="SubServicerLoanNumber"/>
-            <xsd:enumeration value="SubsistenceIdentificationNumber"/>
-            <xsd:enumeration value="SubstantivelyConsolidatedCase"/>
-            <xsd:enumeration value="SubstituteAirWaybillNumber"/>
-            <xsd:enumeration value="SubstituteManufacturersPartNumber"/>
-            <xsd:enumeration value="SubstituteNationalStockNumber"/>
-            <xsd:enumeration value="SubstitutePartNumber"/>
-            <xsd:enumeration value="SubSubhouseBillOfLading"/>
-            <xsd:enumeration value="SuccessorAccount"/>
-            <xsd:enumeration value="Suffix"/>
-            <xsd:enumeration value="SuperintendenciadeInversionesExtranjerasNumber"/>
-            <xsd:enumeration value="SupervisoryAppraiserCertificationNumber"/>
-            <xsd:enumeration value="SupplementalAccountNumber"/>
-            <xsd:enumeration value="SupplementalAgreementAuthority"/>
-            <xsd:enumeration value="SupplementalClaimNumber"/>
-            <xsd:enumeration value="SupplementNumber"/>
-            <xsd:enumeration value="Supplier"/>
-            <xsd:enumeration value="SupplierReplacement"/>
-            <xsd:enumeration value="SupplierDocumentIdentificationNumber"/>
-            <xsd:enumeration value="SuppliersControlNumber"/>
-            <xsd:enumeration value="SuppliersCreditClaimReferenceNumber"/>
-            <xsd:enumeration value="SupportingDocumentNumber"/>
-            <xsd:enumeration value="SuretyBondNumber"/>
-            <xsd:enumeration value="SuspensionIdentifier"/>
-            <xsd:enumeration value="SwapOrderNumber"/>
-            <xsd:enumeration value="SWIFT"/>
-            <xsd:enumeration value="SWIFTMT100"/>
-            <xsd:enumeration value="SWIFTMT202"/>
-            <xsd:enumeration value="SWIFTConfirmationNumber"/>
-            <xsd:enumeration value="SymbolNumber"/>
-            <xsd:enumeration value="SymbolNumberForMilestoneOrLOBReports"/>
-            <xsd:enumeration value="SystematizedNomenclatureofHumanandVeterinaryMedicine"/>
-            <xsd:enumeration value="SystemeInformatiquePourLeRepertoireDesEntreprises"/>
-            <xsd:enumeration value="SystemeInformatiquePourLeRepertoireDesEtablissements"/>
-            <xsd:enumeration value="SystemNumber"/>
-            <xsd:enumeration value="Tag"/>
-            <xsd:enumeration value="TankNumber"/>
-            <xsd:enumeration value="TariffNumber"/>
-            <xsd:enumeration value="TariffPageNumber"/>
-            <xsd:enumeration value="TariffRuleNumber"/>
-            <xsd:enumeration value="TariffSectionNumber"/>
-            <xsd:enumeration value="TariffSuffixNumber"/>
-            <xsd:enumeration value="TariffSupplementNumber"/>
-            <xsd:enumeration value="TaskOrder"/>
-            <xsd:enumeration value="TaxAgencyNumber"/>
-            <xsd:enumeration value="TaxExchangeCode"/>
-            <xsd:enumeration value="TaxExemptionLicenceNumber"/>
-            <xsd:enumeration value="TaxExemptNumber"/>
-            <xsd:enumeration value="TaxFiling"/>
-            <xsd:enumeration value="TaxFormCode"/>
-            <xsd:enumeration value="TaxingAuthorityIdentificationNumber"/>
-            <xsd:enumeration value="TaxLicenseExemption"/>
-            <xsd:enumeration value="TaxLienJurisdiction"/>
-            <xsd:enumeration value="TaxRegistrationNumber"/>
-            <xsd:enumeration value="TaxScheduleCode"/>
-            <xsd:enumeration value="TaxShelterNumber"/>
-            <xsd:enumeration value="TaxWorksheet"/>
-            <xsd:enumeration value="TCN"/>
-            <xsd:enumeration value="TeamAssignmentNumber"/>
-            <xsd:enumeration value="TechnicalDocumentationType"/>
-            <xsd:enumeration value="TechnicalDocumentNumber"/>
-            <xsd:enumeration value="TechnicalInformationPackage"/>
-            <xsd:enumeration value="TechnicalOrderNumber"/>
-            <xsd:enumeration value="TechnicalPhaseReference"/>
-            <xsd:enumeration value="TechnicalRegulation"/>
-            <xsd:enumeration value="TelecommunicationCircuitSupplementalID"/>
-            <xsd:enumeration value="TelexMessageNumber"/>
-            <xsd:enumeration value="TemplateSequenceNumber"/>
-            <xsd:enumeration value="Tenor"/>
-            <xsd:enumeration value="Term"/>
-            <xsd:enumeration value="TerminalCode"/>
-            <xsd:enumeration value="TerminalOperatorNumber"/>
-            <xsd:enumeration value="TerminalReleaseOrderNumber"/>
-            <xsd:enumeration value="TerminationFiling"/>
-            <xsd:enumeration value="TesterIdentification"/>
-            <xsd:enumeration value="TestReportNumber"/>
-            <xsd:enumeration value="TestSpecificationNumber"/>
-            <xsd:enumeration value="TextElementIdentifierDeletionReference"/>
-            <xsd:enumeration value="TheaterScreenNumber"/>
-            <xsd:enumeration value="ThirdBanksReferenceNumber"/>
-            <xsd:enumeration value="ThirdBanksReference"/>
-            <xsd:enumeration value="ThirdPartyAdministratorClaimNumber"/>
-            <xsd:enumeration value="ThirdPartyNoteHolderIdentification"/>
-            <xsd:enumeration value="ThirdPartyOrganizationAuthorizationNumber"/>
-            <xsd:enumeration value="ThirdPartyOriginatorNumber"/>
-            <xsd:enumeration value="ThirdPartyPurchaseOrderItemNumber"/>
-            <xsd:enumeration value="ThirdPartyPurchaseOrderNumber"/>
-            <xsd:enumeration value="ThirdPartyPurchaseOrderReleaseNumber"/>
-            <xsd:enumeration value="ThirdPartyReferenceNumber"/>
-            <xsd:enumeration value="ThroughBillOfLadingNumber"/>
-            <xsd:enumeration value="TicketNumber"/>
-            <xsd:enumeration value="TimeFailure"/>
-            <xsd:enumeration value="TirCarnetNumber"/>
-            <xsd:enumeration value="TIRNumber"/>
-            <xsd:enumeration value="TitleCompanyCodeBookReference"/>
-            <xsd:enumeration value="TitleDocumentSchedule"/>
-            <xsd:enumeration value="TitlePolicyNumber"/>
-            <xsd:enumeration value="TitleReference"/>
-            <xsd:enumeration value="TitleXIXIdentifierNumber"/>
-            <xsd:enumeration value="TokyoShokoResearchBusinessIdentifier"/>
-            <xsd:enumeration value="TollBillingTelephoneReferenceNumber"/>
-            <xsd:enumeration value="TotalCycleNumber"/>
-            <xsd:enumeration value="TotalOrderCycleNumber"/>
-            <xsd:enumeration value="TownshipNumber"/>
-            <xsd:enumeration value="ToxicologyID"/>
-            <xsd:enumeration value="TracerActionRequestNumber"/>
-            <xsd:enumeration value="TrackingNumber"/>
-            <xsd:enumeration value="Tract"/>
-            <xsd:enumeration value="TraderAccountNumber"/>
-            <xsd:enumeration value="TradingPartnerIdentificationNumber"/>
-            <xsd:enumeration value="TrailerTypeQualifier"/>
-            <xsd:enumeration value="TrailerUseAgreements"/>
-            <xsd:enumeration value="TrainingFlightNumber"/>
-            <xsd:enumeration value="TransactionCategoryOrType"/>
-            <xsd:enumeration value="TransactionReferenceNumber"/>
-            <xsd:enumeration value="TransferNumber"/>
-            <xsd:enumeration value="TransitGuaranteeNumber"/>
-            <xsd:enumeration value="TransponderNumber"/>
-            <xsd:enumeration value="TransportationAccountCode"/>
-            <xsd:enumeration value="TransportationAccountNumber"/>
-            <xsd:enumeration value="TransportationControlNumber"/>
-            <xsd:enumeration value="TransportationExportationNoForInBondMovement"/>
-            <xsd:enumeration value="TransportationPriorityNumber"/>
-            <xsd:enumeration value="TransportContractReferenceNumber"/>
-            <xsd:enumeration value="TransportCostsReferenceNumber"/>
-            <xsd:enumeration value="TransportDocumentNumber"/>
-            <xsd:enumeration value="TransportEquipmentReturnReference"/>
-            <xsd:enumeration value="TransportEquipmentStrippingOrder"/>
-            <xsd:enumeration value="TransportEquipmentStuffingOrder"/>
-            <xsd:enumeration value="TransportEquipmentSurveyReference"/>
-            <xsd:enumeration value="TransportEquipmentSurveyReferenceNumber"/>
-            <xsd:enumeration value="TransportEquipmentSurveyReportNumber"/>
-            <xsd:enumeration value="TransportRoute"/>
-            <xsd:enumeration value="TransportSectionReferenceNumber"/>
-            <xsd:enumeration value="TravelManifest"/>
-            <xsd:enumeration value="TreatyIdentifier"/>
-            <xsd:enumeration value="TreatyNumber"/>
-            <xsd:enumeration value="TrialLocationCode"/>
-            <xsd:enumeration value="Tripleback"/>
-            <xsd:enumeration value="TruckersBillOfLading"/>
-            <xsd:enumeration value="Trustee"/>
-            <xsd:enumeration value="TSRBusinessIdentifier"/>
-            <xsd:enumeration value="TypeOfComment"/>
-            <xsd:enumeration value="TypeOfEscrowNumber"/>
-            <xsd:enumeration value="TypeOfHouseholdGoodsCode"/>
-            <xsd:enumeration value="TypeOfLawSuit"/>
-            <xsd:enumeration value="TypeOfOutstandingJudgment"/>
-            <xsd:enumeration value="TypeOfScienceCode"/>
-            <xsd:enumeration value="U.S.DefenseFederalAcquisitionRegulationSupplement"/>
-            <xsd:enumeration value="U.S.DepartmentOfVeteransAffairsAcquisitionRegulation"/>
-            <xsd:enumeration value="U.S.GovernmentTransportationControlNumber"/>
-            <xsd:enumeration value="UltimateConsignee"/>
-            <xsd:enumeration value="UltimateCustomersOrderNumber"/>
-            <xsd:enumeration value="UltimateCustomersReferenceNumber"/>
-            <xsd:enumeration value="UnacceptableSourceDUNSNumber"/>
-            <xsd:enumeration value="UnacceptableSourcePurchaserID"/>
-            <xsd:enumeration value="UnacceptableSourceSupplierID"/>
-            <xsd:enumeration value="UnderwriterIdentificationNumber"/>
-            <xsd:enumeration value="UnderwritingAlertReferenceCode"/>
-            <xsd:enumeration value="UNDG"/>
-            <xsd:enumeration value="UnemploymentInsuranceNumber"/>
-            <xsd:enumeration value="UniformCommercialCodeFilingCollateralNumber"/>
-            <xsd:enumeration value="UniformResourceLocator"/>
-            <xsd:enumeration value="UnionNumber"/>
-            <xsd:enumeration value="UniqueClaimsReferenceNumberOfTheSender"/>
-            <xsd:enumeration value="UniqueConsignmentIdentifier"/>
-            <xsd:enumeration value="UniqueConsignmentReferenceNumber"/>
-            <xsd:enumeration value="UniqueCurracReferenceNumberOfTheSender"/>
-            <xsd:enumeration value="UniqueMarketReference"/>
-            <xsd:enumeration value="UniqueReinacReferenceNumberOfTheSender"/>
-            <xsd:enumeration value="UniqueSupplierIdentificationNumber"/>
-            <xsd:enumeration value="UnitedNationsHazardousClassificationNumber"/>
-            <xsd:enumeration value="UnitedStatesGovernmentVisaNumber"/>
-            <xsd:enumeration value="UnitedStatesStandardMetropolitanStatisticalAreaCode"/>
-            <xsd:enumeration value="UnitLoadDeviceIdentificationNumber"/>
-            <xsd:enumeration value="UnitNumber"/>
-            <xsd:enumeration value="UnitPropertyNumber"/>
-            <xsd:enumeration value="UnitReliefNumber"/>
-            <xsd:enumeration value="UnitReportPeriod"/>
-            <xsd:enumeration value="UnitReportPeriodID"/>
-            <xsd:enumeration value="UnitTrain"/>
-            <xsd:enumeration value="UniversalRailroadRevenueWaybillIdentifiedNumber"/>
-            <xsd:enumeration value="UniversalTransverseMercatorEast"/>
-            <xsd:enumeration value="UniversalTransverseMercatorNorth"/>
-            <xsd:enumeration value="UniversalTransverseMercatorZone"/>
-            <xsd:enumeration value="UnpaidInstallmentReferenceNumber"/>
-            <xsd:enumeration value="UpperSerialNumberOfRange"/>
-            <xsd:enumeration value="UpstreamShipperContractNumber"/>
-            <xsd:enumeration value="USCFR"/>
-            <xsd:enumeration value="USCS"/>
-            <xsd:enumeration value="USCustomsServiceAntiDumpingDutyCaseNumber"/>
-            <xsd:enumeration value="USCustomsServiceBindingRulingNumber"/>
-            <xsd:enumeration value="USCustomsServiceCommercialDescription"/>
-            <xsd:enumeration value="USCustomsServiceCountervailingDutyCaseNumber"/>
-            <xsd:enumeration value="USCustomsServiceEntryNumber"/>
-            <xsd:enumeration value="USCustomsServiceEntryTypeCode"/>
-            <xsd:enumeration value="USCustomsServicePreApprovalRulingNumber"/>
-            <xsd:enumeration value="USCustomsServicePreClassificationRulingNumber"/>
-            <xsd:enumeration value="USCustomsServiceStatementNumber"/>
-            <xsd:enumeration value="USDOEAndNCES"/>
-            <xsd:enumeration value="USDOTBondSuretyCode"/>
-            <xsd:enumeration value="UserID"/>
-            <xsd:enumeration value="UserIdentification"/>
-            <xsd:enumeration value="USFCCImportCondition"/>
-            <xsd:enumeration value="USFederalAcquisitionRegulation"/>
-            <xsd:enumeration value="USFederalInformationResourcesManagementRegulation"/>
-            <xsd:enumeration value="USFoodAndDrugAdministrationEstablishmentIndicator"/>
-            <xsd:enumeration value="USGeneralServicesAdministrationRegulation"/>
-            <xsd:enumeration value="USGovernmentAgencyNumber"/>
-            <xsd:enumeration value="ValueAddedTaxRegistrationNumber"/>
-            <xsd:enumeration value="VatRegistrationNumber"/>
-            <xsd:enumeration value="VehicleBusinessUseQualifier"/>
-            <xsd:enumeration value="VehicleLicenceNumber"/>
-            <xsd:enumeration value="VehicleRadiusofOperationQualifier"/>
-            <xsd:enumeration value="VehicleRelatedServicesReferenceNumber"/>
-            <xsd:enumeration value="VehicleSizeClassQualifier"/>
-            <xsd:enumeration value="VendorAbbreviationCode"/>
-            <xsd:enumeration value="VendorChangeIdentificationCode"/>
-            <xsd:enumeration value="VendorChangeProcedureCode"/>
-            <xsd:enumeration value="VendorContractNumber"/>
-            <xsd:enumeration value="VendorIDNumber"/>
-            <xsd:enumeration value="VendorOrderNumberSuffix"/>
-            <xsd:enumeration value="VendorProductNumber"/>
-            <xsd:enumeration value="VendorsPreviousJobNumber"/>
-            <xsd:enumeration value="VendorTerms"/>
-            <xsd:enumeration value="VerificationSourceCode"/>
-            <xsd:enumeration value="Version"/>
-            <xsd:enumeration value="VersionCodeLocal"/>
-            <xsd:enumeration value="VersionCodeNational"/>
-            <xsd:enumeration value="VerticalCoordinate"/>
-            <xsd:enumeration value="Vessel"/>
-            <xsd:enumeration value="VesselAgentNumber"/>
-            <xsd:enumeration value="VesselIdentification"/>
-            <xsd:enumeration value="VesselName"/>
-            <xsd:enumeration value="VeteransAdministrationOriginatorIdentification"/>
-            <xsd:enumeration value="VeteransAffairsCaseNumber"/>
-            <xsd:enumeration value="VIN"/>
-            <xsd:enumeration value="VisaType"/>
-            <xsd:enumeration value="VolumeNumber"/>
-            <xsd:enumeration value="VolumePurchaseAgreementNumber"/>
-            <xsd:enumeration value="VoucherNumber"/>
-            <xsd:enumeration value="VoyageNumber"/>
-            <xsd:enumeration value="WageDetermination"/>
-            <xsd:enumeration value="Waiver"/>
-            <xsd:enumeration value="Ward"/>
-            <xsd:enumeration value="WarehouseEntryNumber"/>
-            <xsd:enumeration value="WarehousePickTicketNumber"/>
-            <xsd:enumeration value="WarehouseReceiptNumber"/>
-            <xsd:enumeration value="WarehouseStorageLocationNumber"/>
-            <xsd:enumeration value="Warrant"/>
-            <xsd:enumeration value="WarrantyCoverageCode"/>
-            <xsd:enumeration value="WarrantyRegistrationNumber"/>
-            <xsd:enumeration value="WaybillNumber"/>
-            <xsd:enumeration value="WeaponSystemNumber"/>
-            <xsd:enumeration value="WeightAgreementNumber"/>
-            <xsd:enumeration value="WellClassificationCode"/>
-            <xsd:enumeration value="WellNumber"/>
-            <xsd:enumeration value="WithdrawalAccountNumber"/>
-            <xsd:enumeration value="WithdrawalRecord"/>
-            <xsd:enumeration value="WoolIdentificationNumber"/>
-            <xsd:enumeration value="WoolTaxReferenceNumber"/>
-            <xsd:enumeration value="WorkBreakdownStructure"/>
-            <xsd:enumeration value="WorkCandidateSequenceNumber"/>
-            <xsd:enumeration value="WorkCenter"/>
-            <xsd:enumeration value="WorkingShiftNumber"/>
-            <xsd:enumeration value="WorkItemQuantityDetermination"/>
-            <xsd:enumeration value="WorkOrderNumber"/>
-            <xsd:enumeration value="WorkPackage"/>
-            <xsd:enumeration value="WorkShift"/>
-            <xsd:enumeration value="WorksiteNumber"/>
-            <xsd:enumeration value="WorkTaskChargeNumber"/>
-            <xsd:enumeration value="WorkTeam"/>
-            <xsd:enumeration value="YardPosition"/>
-            <xsd:enumeration value="Zone"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Purpose">
-        <xsd:sequence>
-            <xsd:element name="PurposeCoded" type="PurposeCode"/>
-            <xsd:element minOccurs="0" name="PurposeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Purpose" type="Purpose"/>
-    <xsd:simpleType name="PurposeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Cancellation"/>
-            <xsd:enumeration value="Replace"/>
-            <xsd:enumeration value="Confirmation"/>
-            <xsd:enumeration value="Duplicate"/>
-            <xsd:enumeration value="Original"/>
-            <xsd:enumeration value="Change"/>
-            <xsd:enumeration value="InformationOnly"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="RequestedResponse">
-        <xsd:sequence>
-            <xsd:element name="RequestedResponseCoded" type="RequestedResponseCode"/>
-            <xsd:element minOccurs="0" name="RequestedResponseCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="RequestedResponse" type="RequestedResponse"/>
-    <xsd:simpleType name="RequestedResponseCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="DebitAdvice"/>
-            <xsd:enumeration value="AcknowledgeHoldStatus"/>
-            <xsd:enumeration value="AcknowledgementWhenError"/>
-            <xsd:enumeration value="AcknowledgeNoDetailOrChange"/>
-            <xsd:enumeration value="AcknowledgeOnlyChanges"/>
-            <xsd:enumeration value="AcknowledgeProductReplenishment"/>
-            <xsd:enumeration value="AcknowledgeWithDetailAndChange"/>
-            <xsd:enumeration value="AcknowledgeWithDetailNoChange"/>
-            <xsd:enumeration value="AdviceWithDetails"/>
-            <xsd:enumeration value="AdviceWithoutDetails"/>
-            <xsd:enumeration value="Authentication"/>
-            <xsd:enumeration value="CreditAdviceAndAcknowledgementForDirectDebit"/>
-            <xsd:enumeration value="CreditAdviceMessageAcknowledgement"/>
-            <xsd:enumeration value="CreditAdviceRequestedForDirectDebit"/>
-            <xsd:enumeration value="DebitAdviceForEachTransaction"/>
-            <xsd:enumeration value="DebitAdviceMessageAcknowledgement"/>
-            <xsd:enumeration value="DebitAdviceMessageAcknowledgementForEachTransaction"/>
-            <xsd:enumeration value="DebitAdviceRequested"/>
-            <xsd:enumeration value="MessageAcknowledgement"/>
-            <xsd:enumeration value="NoAcknowledgementNeeded"/>
-            <xsd:enumeration value="RequestAuthority"/>
-            <xsd:enumeration value="ResponseExpected"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="OrderType">
-        <xsd:sequence>
-            <xsd:element name="OrderTypeCoded" type="OrderTypeCode"/>
-            <xsd:element minOccurs="0" name="OrderTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderType" type="OrderType"/>
-    <xsd:simpleType name="OrderTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AcknowledgementMessage"/>
-            <xsd:enumeration value="AcknowledgementOfOrder"/>
-            <xsd:enumeration value="AClaimForPartsAndOrLabourCharges"/>
-            <xsd:enumeration value="AdviceOfAnAmendmentOfADocumentaryCredit"/>
-            <xsd:enumeration value="AdviceOfCollection"/>
-            <xsd:enumeration value="AdviceOfDistributionOfDocuments"/>
-            <xsd:enumeration value="AdvisingItemsToBeBookedToAFinancialAccount"/>
-            <xsd:enumeration value="Agreement"/>
-            <xsd:enumeration value="AgreementToPay"/>
-            <xsd:enumeration value="AirWaybill"/>
-            <xsd:enumeration value="AOGCritical"/>
-            <xsd:enumeration value="AOGService"/>
-            <xsd:enumeration value="ApplicationAcknowledgementAndErrorReport"/>
-            <xsd:enumeration value="ApplicationErrorAndAcknowledgement"/>
-            <xsd:enumeration value="ApplicationErrorMessage"/>
-            <xsd:enumeration value="ApplicationForBankersDraft"/>
-            <xsd:enumeration value="ApplicationForBankersGuarantee"/>
-            <xsd:enumeration value="ApplicationForDesignationOfBerthingPlaces"/>
-            <xsd:enumeration value="ApplicationForDocumentaryCredit"/>
-            <xsd:enumeration value="ApplicationForExchangeAllocation"/>
-            <xsd:enumeration value="ApplicationForGoodsControlCertificate"/>
-            <xsd:enumeration value="ApplicationForInspectionCertificate"/>
-            <xsd:enumeration value="ApplicationForPhytosanitaryCertificate"/>
-            <xsd:enumeration value="ApplicationForShiftingFromTheDesignatedPlaceInPort"/>
-            <xsd:enumeration value="ApplicationForUsageOfBerthOrMooringFacilities"/>
-            <xsd:enumeration value="ApplicationForVesselsEnteringIntoPortAreaInNight-Time"/>
-            <xsd:enumeration value="ApprovedUnpricedBillOfQuantity"/>
-            <xsd:enumeration value="ArrivalInformation"/>
-            <xsd:enumeration value="ArrivalNoticeGoods"/>
-            <xsd:enumeration value="AssortmentAgainstBlanket"/>
-            <xsd:enumeration value="AtaCarnet"/>
-            <xsd:enumeration value="AuthorizationToPlanAndShipOrders"/>
-            <xsd:enumeration value="AuthorizationToPlanAndSuggestOrders"/>
-            <xsd:enumeration value="AuthorityToProceed"/>
-            <xsd:enumeration value="Bailment"/>
-            <xsd:enumeration value="BailmentContract"/>
-            <xsd:enumeration value="BalanceConfirmation"/>
-            <xsd:enumeration value="BankersDraft"/>
-            <xsd:enumeration value="BankersGuarantee"/>
-            <xsd:enumeration value="BankingStatus"/>
-            <xsd:enumeration value="BankToBankFundsTransfer"/>
-            <xsd:enumeration value="BasicAgreement"/>
-            <xsd:enumeration value="BasicOrderingAgreement"/>
-            <xsd:enumeration value="Bidding"/>
-            <xsd:enumeration value="BillandHold"/>
-            <xsd:enumeration value="BillOfExchange"/>
-            <xsd:enumeration value="BillOfLading"/>
-            <xsd:enumeration value="BillOfLadingCopy"/>
-            <xsd:enumeration value="BillOfLadingOriginal"/>
-            <xsd:enumeration value="BlanketOrder"/>
-            <xsd:enumeration value="BlanketOrderEstimatedQuantities"/>
-            <xsd:enumeration value="BlanketPurchaseAgreement"/>
-            <xsd:enumeration value="BookingConfirmation"/>
-            <xsd:enumeration value="BookingRequest"/>
-            <xsd:enumeration value="Bordereau"/>
-            <xsd:enumeration value="BudgetaryQuote"/>
-            <xsd:enumeration value="BuyAmericaCertificateOfCompliance"/>
-            <xsd:enumeration value="Buying"/>
-            <xsd:enumeration value="CallingForwardNotice"/>
-            <xsd:enumeration value="CallOffDelivery"/>
-            <xsd:enumeration value="CallOffOrder"/>
-            <xsd:enumeration value="CampaignPriceSalesCatalogue"/>
-            <xsd:enumeration value="CargoAcceptanceOrder"/>
-            <xsd:enumeration value="CargoAnalysisVoyageReport"/>
-            <xsd:enumeration value="CargoDeclarationArrival"/>
-            <xsd:enumeration value="CargoDeclarationDeparture"/>
-            <xsd:enumeration value="CargoManifest"/>
-            <xsd:enumeration value="CargoMovementEventLog"/>
-            <xsd:enumeration value="CargoMovementVoyageSummary"/>
-            <xsd:enumeration value="CargoReleaseNotification"/>
-            <xsd:enumeration value="CargoStatus"/>
-            <xsd:enumeration value="CargoVesselDischargeOrder"/>
-            <xsd:enumeration value="CargoVesselLoadingOrder"/>
-            <xsd:enumeration value="CartageOrderLocalTransport"/>
-            <xsd:enumeration value="CashPoolFinancialStatement"/>
-            <xsd:enumeration value="CasingSanitaryCertificate"/>
-            <xsd:enumeration value="CatalogOrder"/>
-            <xsd:enumeration value="Certificate"/>
-            <xsd:enumeration value="CertificateOfAnalysis"/>
-            <xsd:enumeration value="CertificateOfConformity"/>
-            <xsd:enumeration value="CertificateOfOrigin"/>
-            <xsd:enumeration value="ApplicationForCertificateOfOrigin"/>
-            <xsd:enumeration value="CertificateOfOriginFormGsp"/>
-            <xsd:enumeration value="CertificateOfQuality"/>
-            <xsd:enumeration value="CertificateOfQuantity"/>
-            <xsd:enumeration value="CertificateOfRegistry"/>
-            <xsd:enumeration value="CertificateOfSealingOfExportMeatLockers"/>
-            <xsd:enumeration value="CertifiedCostAndPriceData"/>
-            <xsd:enumeration value="CertifiedInspectionAndTestResults"/>
-            <xsd:enumeration value="ChangeToContract"/>
-            <xsd:enumeration value="ChangeToPurchaseOrder"/>
-            <xsd:enumeration value="ChangeToRelease"/>
-            <xsd:enumeration value="Chargeback"/>
-            <xsd:enumeration value="ChargesNote"/>
-            <xsd:enumeration value="CivilLiabilityForOilCertificate"/>
-            <xsd:enumeration value="CloseOut"/>
-            <xsd:enumeration value="ClosingStatementOfAnAccount"/>
-            <xsd:enumeration value="CodeChangeRequest"/>
-            <xsd:enumeration value="Co-InsuranceCedingBordereau"/>
-            <xsd:enumeration value="CollateralAccount"/>
-            <xsd:enumeration value="CollectionOrder"/>
-            <xsd:enumeration value="CollectionPaymentAdvice"/>
-            <xsd:enumeration value="CombinedCertificateOfValueAndOrigin"/>
-            <xsd:enumeration value="CombinedTransportBillOfLadingMultimodalBillOfLading"/>
-            <xsd:enumeration value="CombinedTransportDocumentGeneric"/>
-            <xsd:enumeration value="CommercialAccountSummaryResponse"/>
-            <xsd:enumeration value="CommercialDispute"/>
-            <xsd:enumeration value="CommercialInvoice"/>
-            <xsd:enumeration value="CommercialInvoiceWhichIncludesAPackingList"/>
-            <xsd:enumeration value="CommissionNote"/>
-            <xsd:enumeration value="CompositeDataElementChangeRequest"/>
-            <xsd:enumeration value="CompositeDataElementRequest"/>
-            <xsd:enumeration value="Confirmation"/>
-            <xsd:enumeration value="ConsignmentInvoice"/>
-            <xsd:enumeration value="ConsignmentOrder"/>
-            <xsd:enumeration value="ConsignmentStatusReport"/>
-            <xsd:enumeration value="ConsignmentUnpackReport"/>
-            <xsd:enumeration value="ConsolidatedCreditNoteGoodsAndServices"/>
-            <xsd:enumeration value="ConsolidatedInvoice"/>
-            <xsd:enumeration value="ConsularInvoice"/>
-            <xsd:enumeration value="ContainerDischargeList"/>
-            <xsd:enumeration value="ContainerList"/>
-            <xsd:enumeration value="ContainerManifestUnitPackingList"/>
-            <xsd:enumeration value="ContainerOffHireNotice"/>
-            <xsd:enumeration value="ContainerStrippingOrder"/>
-            <xsd:enumeration value="ContainerStuffingOrder"/>
-            <xsd:enumeration value="Contract"/>
-            <xsd:enumeration value="ContractAwardNotification"/>
-            <xsd:enumeration value="ContractBillOfQuantities"/>
-            <xsd:enumeration value="ContractFundsStatusReport"/>
-            <xsd:enumeration value="ContractSecurityClassificationSpecification"/>
-            <xsd:enumeration value="ControlDocumentT5"/>
-            <xsd:enumeration value="ConveyanceDeclarationArrival"/>
-            <xsd:enumeration value="ConveyanceDeclarationCombined"/>
-            <xsd:enumeration value="ConveyanceDeclarationDeparture"/>
-            <xsd:enumeration value="CorporateSuperannuationContributionsAdvice"/>
-            <xsd:enumeration value="CorporateSuperannuationMemberMaintenanceMessage"/>
-            <xsd:enumeration value="CorrectedInvoice"/>
-            <xsd:enumeration value="CostDataSummary"/>
-            <xsd:enumeration value="CostPerformanceReport"/>
-            <xsd:enumeration value="CostPerformanceReportFormat1"/>
-            <xsd:enumeration value="CostPerformanceReportFormat2"/>
-            <xsd:enumeration value="CostPerformanceReportFormat3"/>
-            <xsd:enumeration value="CostPerformanceReportFormat4"/>
-            <xsd:enumeration value="CostPerformanceReportFormat5"/>
-            <xsd:enumeration value="CostScheduleStatusReport"/>
-            <xsd:enumeration value="CoverNote"/>
-            <xsd:enumeration value="CreditAdvice"/>
-            <xsd:enumeration value="CreditCover"/>
-            <xsd:enumeration value="CreditNote"/>
-            <xsd:enumeration value="CreditNoteForPriceVariation"/>
-            <xsd:enumeration value="CreditNoteRelatedToFinancialAdjustments"/>
-            <xsd:enumeration value="CreditNoteRelatedToGoodsOrServices"/>
-            <xsd:enumeration value="CrewListDeclaration"/>
-            <xsd:enumeration value="CrewsEffectsDeclaration"/>
-            <xsd:enumeration value="CrossDockingDespatchAdvice"/>
-            <xsd:enumeration value="CrossDockingOrder"/>
-            <xsd:enumeration value="CrossDockingServicesOrder"/>
-            <xsd:enumeration value="CurrentAccount"/>
-            <xsd:enumeration value="CustomerPaymentOrder"/>
-            <xsd:enumeration value="CustomsClearanceNotice"/>
-            <xsd:enumeration value="CustomsCrewAndConveyance"/>
-            <xsd:enumeration value="CustomsDeclarationPostParcels"/>
-            <xsd:enumeration value="CustomsDeclarationForCargoExamination"/>
-            <xsd:enumeration value="CustomsDeclarationForCargoExaminationAlternate"/>
-            <xsd:enumeration value="CustomsDeclarationWithCommercialAndItemDetail"/>
-            <xsd:enumeration value="CustomsDeclarationWithoutCommercialDetail"/>
-            <xsd:enumeration value="CustomsDeclarationWithoutItemDetail"/>
-            <xsd:enumeration value="CustomsDeliveryNote"/>
-            <xsd:enumeration value="CustomsDocumentsExpirationNotice"/>
-            <xsd:enumeration value="CustomsImmediateReleaseDeclaration"/>
-            <xsd:enumeration value="CustomsInvoice"/>
-            <xsd:enumeration value="CustomsManifest"/>
-            <xsd:enumeration value="CustomsSummaryDeclarationWithCommercialDetailAlternate"/>
-            <xsd:enumeration value="CustomsSummaryDeclarationWithoutCommercialDetailAlternate"/>
-            <xsd:enumeration value="DamageCertification"/>
-            <xsd:enumeration value="DangerousGoodsDeclaration"/>
-            <xsd:enumeration value="DangerousGoodsList"/>
-            <xsd:enumeration value="DebitAdvice"/>
-            <xsd:enumeration value="DebitNote"/>
-            <xsd:enumeration value="DebitNoteRelatedToFinancialAdjustments"/>
-            <xsd:enumeration value="DebitNoteRelatedToGoodsOrServices"/>
-            <xsd:enumeration value="DeclarationOfOrigin"/>
-            <xsd:enumeration value="DeclarationRegardingTheInwardAndOutwardMovementOfVessel"/>
-            <xsd:enumeration value="DelcredereCreditNote"/>
-            <xsd:enumeration value="DelcredereInvoice"/>
-            <xsd:enumeration value="DeliveryForecast"/>
-            <xsd:enumeration value="DeliveryInstructions"/>
-            <xsd:enumeration value="DeliveryJustInTime"/>
-            <xsd:enumeration value="DeliveryNote"/>
-            <xsd:enumeration value="DeliveryNoticeGoods"/>
-            <xsd:enumeration value="DeliveryNoticeRailTransport"/>
-            <xsd:enumeration value="DeliveryOrder"/>
-            <xsd:enumeration value="DeliveryRelease"/>
-            <xsd:enumeration value="DeliverySchedule"/>
-            <xsd:enumeration value="DeliveryScheduleResponse"/>
-            <xsd:enumeration value="DeliveryVerificationCertificate"/>
-            <xsd:enumeration value="DeratDocument"/>
-            <xsd:enumeration value="DespatchAdvice"/>
-            <xsd:enumeration value="DespatchNotePostParcels"/>
-            <xsd:enumeration value="DespatchNoteModelT"/>
-            <xsd:enumeration value="DespatchNoteModelT1"/>
-            <xsd:enumeration value="DespatchNoteModelT2"/>
-            <xsd:enumeration value="DespatchNoteModelT2L"/>
-            <xsd:enumeration value="DespatchOrder"/>
-            <xsd:enumeration value="DirectPaymentValuation"/>
-            <xsd:enumeration value="DirectPaymentValuationRequest"/>
-            <xsd:enumeration value="DirectShip"/>
-            <xsd:enumeration value="DocumentaryCredit"/>
-            <xsd:enumeration value="DocumentaryCreditAcceptanceAdvice"/>
-            <xsd:enumeration value="DocumentaryCreditAmendment"/>
-            <xsd:enumeration value="DocumentaryCreditAmendmentInformation"/>
-            <xsd:enumeration value="DocumentaryCreditAmendmentNotification"/>
-            <xsd:enumeration value="DocumentaryCreditApplication"/>
-            <xsd:enumeration value="DocumentaryCreditCollectionInstruction"/>
-            <xsd:enumeration value="DocumentaryCreditIssuanceInformation"/>
-            <xsd:enumeration value="DocumentaryCreditLetterOfIndemnity"/>
-            <xsd:enumeration value="DocumentaryCreditNegotiationAdvice"/>
-            <xsd:enumeration value="DocumentaryCreditNotification"/>
-            <xsd:enumeration value="DocumentaryCreditPaymentAdvice"/>
-            <xsd:enumeration value="DocumentaryCreditTransferAdvice"/>
-            <xsd:enumeration value="DocumentResponseCustoms"/>
-            <xsd:enumeration value="DocumentsPresentationForm"/>
-            <xsd:enumeration value="DraftBillOfQuantity"/>
-            <xsd:enumeration value="Drawing"/>
-            <xsd:enumeration value="DrivingLicenceInternational"/>
-            <xsd:enumeration value="DrivingLicenceNational"/>
-            <xsd:enumeration value="Dropship"/>
-            <xsd:enumeration value="EcCarnet"/>
-            <xsd:enumeration value="EdiAssociatedObjectAdministrationMessage"/>
-            <xsd:enumeration value="EmbargoPermit"/>
-            <xsd:enumeration value="EmergencyOrder"/>
-            <xsd:enumeration value="EmptyContainerBill"/>
-            <xsd:enumeration value="EmptyContainerDispositionOrder"/>
-            <xsd:enumeration value="EndUseAuthorization"/>
-            <xsd:enumeration value="Enquiry"/>
-            <xsd:enumeration value="ErrorResponseCustoms"/>
-            <xsd:enumeration value="EscortOfficialRecognition"/>
-            <xsd:enumeration value="EstimatedPricedBillOfQuantity"/>
-            <xsd:enumeration value="Eur1CertificateOfOrigin"/>
-            <xsd:enumeration value="ExceptionalOrder"/>
-            <xsd:enumeration value="ExchangeControlDeclarationImport"/>
-            <xsd:enumeration value="ExchangeControlDeclarationExport"/>
-            <xsd:enumeration value="ExciseCertificate"/>
-            <xsd:enumeration value="ExportLicence"/>
-            <xsd:enumeration value="ApplicationForExportLicence"/>
-            <xsd:enumeration value="ExtendedCreditAdvice"/>
-            <xsd:enumeration value="ExtendedPaymentOrder"/>
-            <xsd:enumeration value="Extra-CommunityTradeStatisticalDeclaration"/>
-            <xsd:enumeration value="FabricateAndHold"/>
-            <xsd:enumeration value="FactoredCreditNote"/>
-            <xsd:enumeration value="FactoredInvoice"/>
-            <xsd:enumeration value="FederalLabelApproval"/>
-            <xsd:enumeration value="FinalPaymentRequestBasedOnCompletionOfWork"/>
-            <xsd:enumeration value="FinancialStatementOfAccount"/>
-            <xsd:enumeration value="FirstSampleTestReport"/>
-            <xsd:enumeration value="ForeignExchangePermit"/>
-            <xsd:enumeration value="FormulaFunds"/>
-            <xsd:enumeration value="ForwardersAdviceToExporter"/>
-            <xsd:enumeration value="ForwardersAdviceToImportAgent"/>
-            <xsd:enumeration value="ForwardersBillOfLading"/>
-            <xsd:enumeration value="ForwardersCertificateOfReceipt"/>
-            <xsd:enumeration value="ForwardersCertificateOfTransport"/>
-            <xsd:enumeration value="ForwardersInvoice"/>
-            <xsd:enumeration value="ForwardersWarehouseReceipt"/>
-            <xsd:enumeration value="ForwardingInstructions"/>
-            <xsd:enumeration value="FreePass"/>
-            <xsd:enumeration value="FreightInvoice"/>
-            <xsd:enumeration value="FreightManifest"/>
-            <xsd:enumeration value="FumigationCertificate"/>
-            <xsd:enumeration value="GatePass"/>
-            <xsd:enumeration value="GeneralCargoSummaryManifestReport"/>
-            <xsd:enumeration value="GeneralResponseCustoms"/>
-            <xsd:enumeration value="GoodsControlCertificate"/>
-            <xsd:enumeration value="GoodsDeclarationForCustomsTransit"/>
-            <xsd:enumeration value="GoodsDeclarationForExportation"/>
-            <xsd:enumeration value="GoodsDeclarationForHomeUse"/>
-            <xsd:enumeration value="GoodsDeclarationForImportation"/>
-            <xsd:enumeration value="GoodsReceipt"/>
-            <xsd:enumeration value="GoodsReceiptCarriage"/>
-            <xsd:enumeration value="GovernmentContract"/>
-            <xsd:enumeration value="Grant"/>
-            <xsd:enumeration value="HandlingOrder"/>
-            <xsd:enumeration value="HireInvoice"/>
-            <xsd:enumeration value="HireOrder"/>
-            <xsd:enumeration value="HorsemeatSanitaryCertificate"/>
-            <xsd:enumeration value="HouseBillOfLading"/>
-            <xsd:enumeration value="HouseWaybill"/>
-            <xsd:enumeration value="IdentityCard"/>
-            <xsd:enumeration value="ImpendingArrival"/>
-            <xsd:enumeration value="ImplementationGuideline"/>
-            <xsd:enumeration value="ImportLicence"/>
-            <xsd:enumeration value="ApplicationForImportLicence"/>
-            <xsd:enumeration value="IndefiniteDeliveryDefiniteQuantity"/>
-            <xsd:enumeration value="IndefiniteDeliveryDefiniteQuantityContract"/>
-            <xsd:enumeration value="IndefiniteDeliveryIndefiniteQuantity"/>
-            <xsd:enumeration value="IndefiniteDeliveryIndefiniteQuantityContract"/>
-            <xsd:enumeration value="IndustrySuperannuationContributionsAdvice"/>
-            <xsd:enumeration value="IndustrySuperannuationMemberMaintenanceMessage"/>
-            <xsd:enumeration value="InedibleSanitaryCertificate"/>
-            <xsd:enumeration value="InformationCopy"/>
-            <xsd:enumeration value="InlandWaterwayBillOfLading"/>
-            <xsd:enumeration value="Inquiry"/>
-            <xsd:enumeration value="InspectionCertificate"/>
-            <xsd:enumeration value="InspectionReport"/>
-            <xsd:enumeration value="InspectionRequest"/>
-            <xsd:enumeration value="InstructionsForBankTransfer"/>
-            <xsd:enumeration value="InstructionToCollect"/>
-            <xsd:enumeration value="InsuranceCertificate"/>
-            <xsd:enumeration value="InsuranceDeclarationSheetBordereau"/>
-            <xsd:enumeration value="InsurancePolicy"/>
-            <xsd:enumeration value="InsurersInvoice"/>
-            <xsd:enumeration value="InterimApplicationForPayment"/>
-            <xsd:enumeration value="InternalTransportOrder"/>
-            <xsd:enumeration value="IntrastatDeclaration"/>
-            <xsd:enumeration value="InventoryAdjustmentStatusReport"/>
-            <xsd:enumeration value="InventoryMovementAdvice"/>
-            <xsd:enumeration value="InventoryReport"/>
-            <xsd:enumeration value="InventoryStatusAdvice"/>
-            <xsd:enumeration value="InvoicingDataSheet"/>
-            <xsd:enumeration value="ItemsBookedToAFinancialAccountReport"/>
-            <xsd:enumeration value="JobLot"/>
-            <xsd:enumeration value="KanbanSchedule"/>
-            <xsd:enumeration value="Lease"/>
-            <xsd:enumeration value="LeaseBlanketAgreement"/>
-            <xsd:enumeration value="LeaseInvoice"/>
-            <xsd:enumeration value="LeaseOrder"/>
-            <xsd:enumeration value="LegalStatementOfAnAccount"/>
-            <xsd:enumeration value="LetterContract"/>
-            <xsd:enumeration value="LetterOfIndemnityForNon-SurrenderOfBillOfLading"/>
-            <xsd:enumeration value="LetterOfIntent"/>
-            <xsd:enumeration value="LifeInsurancePayrollDeductionsAdvice"/>
-            <xsd:enumeration value="ListingStatementOfAnAccount"/>
-            <xsd:enumeration value="LoadlineDocument"/>
-            <xsd:enumeration value="Loan"/>
-            <xsd:enumeration value="LowValuePaymentOrder"/>
-            <xsd:enumeration value="MakeOrBuyPlan"/>
-            <xsd:enumeration value="ManufacturingInstructions"/>
-            <xsd:enumeration value="ManufacturingSpecification"/>
-            <xsd:enumeration value="MaritimeDeclarationOfHealth"/>
-            <xsd:enumeration value="MasterAirWaybill"/>
-            <xsd:enumeration value="MasterBillOfLading"/>
-            <xsd:enumeration value="MaterialInspectionAndReceivingReport"/>
-            <xsd:enumeration value="MateSReceipt"/>
-            <xsd:enumeration value="MeansOfTransportAdvice"/>
-            <xsd:enumeration value="MeansOfTransportationAvailabilityInformation"/>
-            <xsd:enumeration value="MeansOfTransportationScheduleInformation"/>
-            <xsd:enumeration value="MeatAndMeatBy-ProductsSanitaryCertificate"/>
-            <xsd:enumeration value="MeatFoodProductsSanitaryCertificate"/>
-            <xsd:enumeration value="MessageInDevelopmentRequest"/>
-            <xsd:enumeration value="MeteredServicesInvoice"/>
-            <xsd:enumeration value="MillCertificate"/>
-            <xsd:enumeration value="ModificationOfExistingMessage"/>
-            <xsd:enumeration value="MovementCertificateATr1"/>
-            <xsd:enumeration value="MultidropOrder"/>
-            <xsd:enumeration value="MultimodalCombinedTransportDocumentGeneric"/>
-            <xsd:enumeration value="MultimodalTransportDocumentGeneric"/>
-            <xsd:enumeration value="MultiplePaymentOrder"/>
-            <xsd:enumeration value="NameProductPlate"/>
-            <xsd:enumeration value="NewCodeRequest"/>
-            <xsd:enumeration value="NewMessageRequest"/>
-            <xsd:enumeration value="NewOrder"/>
-            <xsd:enumeration value="NewProductIntroduction"/>
-            <xsd:enumeration value="NewStoreOpening"/>
-            <xsd:enumeration value="Non-NegotiableMaritimeTransportDocumentGeneric"/>
-            <xsd:enumeration value="Non-Pre-AuthorisedDirectDebit"/>
-            <xsd:enumeration value="Non-Pre-AuthorisedDirectDebitRequest"/>
-            <xsd:enumeration value="NotForSale"/>
-            <xsd:enumeration value="NoticeOfCircumstancesPreventingDeliveryGoods"/>
-            <xsd:enumeration value="NoticeOfCircumstancesPreventingTransportGoods"/>
-            <xsd:enumeration value="NotificationOfEmergencyShiftingFromTheDesignatedPlaceInPort"/>
-            <xsd:enumeration value="NotificationOfUsageOfBerthOrMooringFacilities"/>
-            <xsd:enumeration value="OfferQuotation"/>
-            <xsd:enumeration value="OperatingInstructions"/>
-            <xsd:enumeration value="OpticalCharacterReadingPayment"/>
-            <xsd:enumeration value="Order"/>
-            <xsd:enumeration value="OrderStatusEnquiry"/>
-            <xsd:enumeration value="OrderStatusReport"/>
-            <xsd:enumeration value="PackageResponseCustoms"/>
-            <xsd:enumeration value="PackingInstructions"/>
-            <xsd:enumeration value="PackingList"/>
-            <xsd:enumeration value="PartialInvoice"/>
-            <xsd:enumeration value="PartyInformation"/>
-            <xsd:enumeration value="PassengerList"/>
-            <xsd:enumeration value="Passport"/>
-            <xsd:enumeration value="PaymentBond"/>
-            <xsd:enumeration value="PaymentOrder"/>
-            <xsd:enumeration value="PaymentOrPerformanceBond"/>
-            <xsd:enumeration value="PaymentRequestForCompletedUnits"/>
-            <xsd:enumeration value="PaymentValuation"/>
-            <xsd:enumeration value="PaymentValuationForUnscheduledItems"/>
-            <xsd:enumeration value="PerformanceBond"/>
-            <xsd:enumeration value="PharmaceuticalSanitaryCertificate"/>
-            <xsd:enumeration value="PhytosanitaryCertificate"/>
-            <xsd:enumeration value="PickUpNotice"/>
-            <xsd:enumeration value="PortChargesDocuments"/>
-            <xsd:enumeration value="PostReceipt"/>
-            <xsd:enumeration value="PoultrySanitaryCertificate"/>
-            <xsd:enumeration value="PreadviceOfACredit"/>
-            <xsd:enumeration value="PreAuthorizedDirectDebit"/>
-            <xsd:enumeration value="PreAuthorizedDirectDebitRequest"/>
-            <xsd:enumeration value="PreferenceCertificateOfOrigin"/>
-            <xsd:enumeration value="PreliminaryCreditAssessment"/>
-            <xsd:enumeration value="PreliminarySalesReport"/>
-            <xsd:enumeration value="PrepaymentInvoice"/>
-            <xsd:enumeration value="PreviousCustomsDocumentMessage"/>
-            <xsd:enumeration value="PriceSalesCatalogue"/>
-            <xsd:enumeration value="PriceSalesCatalogueResponse"/>
-            <xsd:enumeration value="PricedAlternateTenderBillOfQuantity"/>
-            <xsd:enumeration value="PricedTenderBoq"/>
-            <xsd:enumeration value="PriceNegotiationResult"/>
-            <xsd:enumeration value="PriceVariationInvoice"/>
-            <xsd:enumeration value="ProcessDataReport"/>
-            <xsd:enumeration value="ProductDataMessage"/>
-            <xsd:enumeration value="ProductPerformanceReport"/>
-            <xsd:enumeration value="ProductSpecificationReport"/>
-            <xsd:enumeration value="ProformaInvoice"/>
-            <xsd:enumeration value="ProgressiveDischargeReport"/>
-            <xsd:enumeration value="ProjectMasterPlan"/>
-            <xsd:enumeration value="ProjectMasterSchedule"/>
-            <xsd:enumeration value="ProjectPlan"/>
-            <xsd:enumeration value="ProjectPlanningAvailableResources"/>
-            <xsd:enumeration value="ProjectPlanningCalendar"/>
-            <xsd:enumeration value="ProjectProductionPlan"/>
-            <xsd:enumeration value="ProjectRecoveryPlan"/>
-            <xsd:enumeration value="ProjectSchedule"/>
-            <xsd:enumeration value="PromissoryNote"/>
-            <xsd:enumeration value="Promotion"/>
-            <xsd:enumeration value="ProvisionalPaymentValuation"/>
-            <xsd:enumeration value="PurchaseOrder"/>
-            <xsd:enumeration value="PurchaseOrderChangeRequest"/>
-            <xsd:enumeration value="PurchaseOrderResponse"/>
-            <xsd:enumeration value="PurchasingSpecification"/>
-            <xsd:enumeration value="QualityDataMessage"/>
-            <xsd:enumeration value="QuantityValuation"/>
-            <xsd:enumeration value="QuantityValuationRequest"/>
-            <xsd:enumeration value="Query"/>
-            <xsd:enumeration value="QuotaPriorAllocationCertificate"/>
-            <xsd:enumeration value="RailConsignmentNoteGenericTerm"/>
-            <xsd:enumeration value="ReadyForDespatchAdvice"/>
-            <xsd:enumeration value="Reassignment"/>
-            <xsd:enumeration value="ReceiptCustoms"/>
-            <xsd:enumeration value="RechargingDocument"/>
-            <xsd:enumeration value="RecordUpdateService"/>
-            <xsd:enumeration value="RegionalAppellationCertificate"/>
-            <xsd:enumeration value="RegistrationChange"/>
-            <xsd:enumeration value="RegistrationDocument"/>
-            <xsd:enumeration value="RegistrationRenewal"/>
-            <xsd:enumeration value="RejectedDirectDebit"/>
-            <xsd:enumeration value="RelatedDocument"/>
-            <xsd:enumeration value="ReleaseAgainstAssortment"/>
-            <xsd:enumeration value="ReleaseOrDeliveryOrder"/>
-            <xsd:enumeration value="RemittanceAdvice"/>
-            <xsd:enumeration value="RenewalOrder"/>
-            <xsd:enumeration value="Rental"/>
-            <xsd:enumeration value="Reorder"/>
-            <xsd:enumeration value="RepairAndReturn"/>
-            <xsd:enumeration value="RepairOrder"/>
-            <xsd:enumeration value="ReportOfTransactionsForInformationOnly"/>
-            <xsd:enumeration value="ReportOfTransactionsWhichNeedFurtherInformationFromTheReceiver"/>
-            <xsd:enumeration value="RequestForAnAmendmentOfADocumentaryCredit"/>
-            <xsd:enumeration value="RequestForDeliveryInstructions"/>
-            <xsd:enumeration value="RequestForFinancialCancellation"/>
-            <xsd:enumeration value="RequestForPayment"/>
-            <xsd:enumeration value="RequestForQuote"/>
-            <xsd:enumeration value="RequestForStatisticalData"/>
-            <xsd:enumeration value="RequestForTransfer"/>
-            <xsd:enumeration value="Requirements"/>
-            <xsd:enumeration value="RequirementsContract"/>
-            <xsd:enumeration value="Re-SendingConsignmentNote"/>
-            <xsd:enumeration value="ResponseToAnAmendmentOfADocumentaryCredit"/>
-            <xsd:enumeration value="ResponseToATradeStatisticsMessage"/>
-            <xsd:enumeration value="ResponseToPreviousBankingStatusMessage"/>
-            <xsd:enumeration value="ResponseToQuery"/>
-            <xsd:enumeration value="ResponseToRegistration"/>
-            <xsd:enumeration value="Restow"/>
-            <xsd:enumeration value="ResumeWorkOrder"/>
-            <xsd:enumeration value="RetailerPrecommitment"/>
-            <xsd:enumeration value="ReversalOfCredit"/>
-            <xsd:enumeration value="ReversalOfDebit"/>
-            <xsd:enumeration value="RoadConsignmentNote"/>
-            <xsd:enumeration value="RoadList-Smgs"/>
-            <xsd:enumeration value="RushOrder"/>
-            <xsd:enumeration value="SafetyAndHazardDataSheet"/>
-            <xsd:enumeration value="SafetyOfEquipmentCertificate"/>
-            <xsd:enumeration value="SafetyOfRadioCertificate"/>
-            <xsd:enumeration value="SafetyOfShipCertificate"/>
-            <xsd:enumeration value="SampleOrder"/>
-            <xsd:enumeration value="SanitaryCertificate"/>
-            <xsd:enumeration value="SeasonTicket"/>
-            <xsd:enumeration value="SeaWaybill"/>
-            <xsd:enumeration value="SegmentChangeRequest"/>
-            <xsd:enumeration value="SegmentRequest"/>
-            <xsd:enumeration value="SelfBilledCreditNote"/>
-            <xsd:enumeration value="Self-BilledInvoice"/>
-            <xsd:enumeration value="SequencedDeliverySchedule"/>
-            <xsd:enumeration value="ServiceDirectoryDefinition"/>
-            <xsd:enumeration value="SettlementOfALetterOfCredit"/>
-            <xsd:enumeration value="ShippedOrder"/>
-            <xsd:enumeration value="ShippersLetterOfInstructionsAir"/>
-            <xsd:enumeration value="ShippingInstructions"/>
-            <xsd:enumeration value="ShippingNote"/>
-            <xsd:enumeration value="ShipsStoresDeclaration"/>
-            <xsd:enumeration value="SimpleDataElementChangeRequest"/>
-            <xsd:enumeration value="SimpleDataElementRequest"/>
-            <xsd:enumeration value="SingleAdministrativeDocument"/>
-            <xsd:enumeration value="SparePartsOrder"/>
-            <xsd:enumeration value="SpecialOrder"/>
-            <xsd:enumeration value="SpotOrder"/>
-            <xsd:enumeration value="StandAloneOrder"/>
-            <xsd:enumeration value="StandingOrder"/>
-            <xsd:enumeration value="StatementOfAccountMessage"/>
-            <xsd:enumeration value="StatisticalAndOtherAdministrativeInternalDocuments"/>
-            <xsd:enumeration value="StatisticalData"/>
-            <xsd:enumeration value="StatisticalDefinitions"/>
-            <xsd:enumeration value="StatisticalDocumentExport"/>
-            <xsd:enumeration value="StatisticalDocumentImport"/>
-            <xsd:enumeration value="StatusInformation"/>
-            <xsd:enumeration value="StatusReport"/>
-            <xsd:enumeration value="StopWork"/>
-            <xsd:enumeration value="StoresRequisition"/>
-            <xsd:enumeration value="SubcontractorPlan"/>
-            <xsd:enumeration value="SubstituteAirWaybill"/>
-            <xsd:enumeration value="SummarySalesReport"/>
-            <xsd:enumeration value="SupplementaryDocumentForApplicationForCargoOperationOfDangerousGoods"/>
-            <xsd:enumeration value="SupplementaryDocumentForApplicationForTransportOfDangerousGoods"/>
-            <xsd:enumeration value="SupplyOrServiceOrder"/>
-            <xsd:enumeration value="SwapOrder"/>
-            <xsd:enumeration value="TankerBillOfLading"/>
-            <xsd:enumeration value="TaskOrder"/>
-            <xsd:enumeration value="TaxCalculationConfirmationResponseCustoms"/>
-            <xsd:enumeration value="TaxDeclarationGeneral"/>
-            <xsd:enumeration value="TaxDeclarationValueAddedTax"/>
-            <xsd:enumeration value="TaxDemand"/>
-            <xsd:enumeration value="TaxInvoice"/>
-            <xsd:enumeration value="TaxNotification"/>
-            <xsd:enumeration value="Termination"/>
-            <xsd:enumeration value="TestReport"/>
-            <xsd:enumeration value="ThroughBillOfLading"/>
-            <xsd:enumeration value="TifForm"/>
-            <xsd:enumeration value="TimeMaterials"/>
-            <xsd:enumeration value="TirCarnet"/>
-            <xsd:enumeration value="TollConversionOrder"/>
-            <xsd:enumeration value="TrackingNumberAssignmentReport"/>
-            <xsd:enumeration value="TradeData"/>
-            <xsd:enumeration value="TransportCargoReleaseOrder"/>
-            <xsd:enumeration value="TransportDepartureReport"/>
-            <xsd:enumeration value="TransportDischargeInstruction"/>
-            <xsd:enumeration value="TransportDischargeReport"/>
-            <xsd:enumeration value="TransportEmergencyCard"/>
-            <xsd:enumeration value="TransportEmptyEquipmentAdvice"/>
-            <xsd:enumeration value="TransportEquipmentAcceptanceOrder"/>
-            <xsd:enumeration value="TransportEquipmentDamageReport"/>
-            <xsd:enumeration value="TransportEquipmentDeliveryNotice"/>
-            <xsd:enumeration value="TransportEquipmentDirectInterchangeReport"/>
-            <xsd:enumeration value="TransportEquipmentEmptyReleaseInstruction"/>
-            <xsd:enumeration value="TransportEquipmentImpendingArrivalAdvice"/>
-            <xsd:enumeration value="TransportEquipmentMaintenanceAndRepairNotice"/>
-            <xsd:enumeration value="TransportEquipmentMaintenanceAndRepairWorkAuthorization"/>
-            <xsd:enumeration value="TransportEquipmentMaintenanceAndRepairWorkEstimateAdvice"/>
-            <xsd:enumeration value="TransportEquipmentMaintenanceAndRepairWorkEstimateOrder"/>
-            <xsd:enumeration value="TransportEquipmentMovementInstruction"/>
-            <xsd:enumeration value="TransportEquipmentMovementReport"/>
-            <xsd:enumeration value="TransportEquipmentOffHireReport"/>
-            <xsd:enumeration value="TransportEquipmentOffHireRequest"/>
-            <xsd:enumeration value="TransportEquipmentOnHireOrder"/>
-            <xsd:enumeration value="TransportEquipmentOnHireReport"/>
-            <xsd:enumeration value="TransportEquipmentOnHireRequest"/>
-            <xsd:enumeration value="TransportEquipmentPackingInstruction"/>
-            <xsd:enumeration value="TransportEquipmentPickUpAvailabilityConfirmation"/>
-            <xsd:enumeration value="TransportEquipmentPickUpAvailabilityRequest"/>
-            <xsd:enumeration value="TransportEquipmentPickUpReport"/>
-            <xsd:enumeration value="TransportEquipmentShiftReport"/>
-            <xsd:enumeration value="TransportEquipmentSpecialServiceInstruction"/>
-            <xsd:enumeration value="TransportEquipmentStatusChangeReport"/>
-            <xsd:enumeration value="TransportEquipmentStockReport"/>
-            <xsd:enumeration value="TransportEquipmentSurveyOrder"/>
-            <xsd:enumeration value="TransportEquipmentSurveyOrderResponse"/>
-            <xsd:enumeration value="TransportEquipmentSurveyReport"/>
-            <xsd:enumeration value="TransportEquipmentUnpackingInstruction"/>
-            <xsd:enumeration value="TransportEquipmentUnpackingReport"/>
-            <xsd:enumeration value="TransportLoadingInstruction"/>
-            <xsd:enumeration value="TransportLoadingReport"/>
-            <xsd:enumeration value="TransportMovementGateInReport"/>
-            <xsd:enumeration value="TransportMovementGateOutReport"/>
-            <xsd:enumeration value="TransportStatusReport"/>
-            <xsd:enumeration value="TransportStatusRequest"/>
-            <xsd:enumeration value="TransshipmentDespatchAdvice"/>
-            <xsd:enumeration value="TransshipmentOrder"/>
-            <xsd:enumeration value="TreatmentNilOutturn"/>
-            <xsd:enumeration value="TreatmentPersonalEffect"/>
-            <xsd:enumeration value="TreatmentTimber"/>
-            <xsd:enumeration value="TreatmentTimeUpUnderbond"/>
-            <xsd:enumeration value="TreatmentUnderbondBySea"/>
-            <xsd:enumeration value="UnderbondApproval"/>
-            <xsd:enumeration value="UnderbondRequest"/>
-            <xsd:enumeration value="UnitDown"/>
-            <xsd:enumeration value="UnitedNationsStandardMessageRequest"/>
-            <xsd:enumeration value="UnitExchange"/>
-            <xsd:enumeration value="UniversalMultipurposeTransportDocument"/>
-            <xsd:enumeration value="UnpricedBillOfQuantity"/>
-            <xsd:enumeration value="UnshipPermit"/>
-            <xsd:enumeration value="UrgentServiceRequest"/>
-            <xsd:enumeration value="UserDirectoryDefinition"/>
-            <xsd:enumeration value="VaccinationCertificate"/>
-            <xsd:enumeration value="ValidatedPricedTender"/>
-            <xsd:enumeration value="ValueDeclaration"/>
-            <xsd:enumeration value="VesselUnpackReport"/>
-            <xsd:enumeration value="VeterinaryCertificate"/>
-            <xsd:enumeration value="WageDetermination"/>
-            <xsd:enumeration value="WarehouseWarrant"/>
-            <xsd:enumeration value="WarrantyOrder"/>
-            <xsd:enumeration value="Waybill"/>
-            <xsd:enumeration value="WeightCertificate"/>
-            <xsd:enumeration value="WeightList"/>
-            <xsd:enumeration value="WineCertificate"/>
-            <xsd:enumeration value="WoolHealthCertificate"/>
-            <xsd:enumeration value="WrittenInstructionsInConformanceWithAdrArticleNumber10385"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Currency">
-        <xsd:sequence>
-            <xsd:element name="CurrencyCoded" type="CurrencyCode"/>
-            <xsd:element minOccurs="0" name="CurrencyCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Currency" type="Currency"/>
-    <xsd:simpleType name="CurrencyCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AFA"/>
-            <xsd:enumeration value="DZD"/>
-            <xsd:enumeration value="ADF"/>
-            <xsd:enumeration value="ADP"/>
-            <xsd:enumeration value="ARP"/>
-            <xsd:enumeration value="ARS"/>
-            <xsd:enumeration value="ARA"/>
-            <xsd:enumeration value="AMD"/>
-            <xsd:enumeration value="AWF"/>
-            <xsd:enumeration value="AUD"/>
-            <xsd:enumeration value="ATS"/>
-            <xsd:enumeration value="AZM"/>
-            <xsd:enumeration value="BSD"/>
-            <xsd:enumeration value="BHD"/>
-            <xsd:enumeration value="BDT"/>
-            <xsd:enumeration value="BBD"/>
-            <xsd:enumeration value="BYB"/>
-            <xsd:enumeration value="BEF"/>
-            <xsd:enumeration value="BZD"/>
-            <xsd:enumeration value="BMD"/>
-            <xsd:enumeration value="BTN"/>
-            <xsd:enumeration value="BOB"/>
-            <xsd:enumeration value="BAK"/>
-            <xsd:enumeration value="BWP"/>
-            <xsd:enumeration value="BRL"/>
-            <xsd:enumeration value="BND"/>
-            <xsd:enumeration value="BGL"/>
-            <xsd:enumeration value="BIF"/>
-            <xsd:enumeration value="KHR"/>
-            <xsd:enumeration value="CAD"/>
-            <xsd:enumeration value="CVE"/>
-            <xsd:enumeration value="KYD"/>
-            <xsd:enumeration value="XOF"/>
-            <xsd:enumeration value="XAF"/>
-            <xsd:enumeration value="XPF"/>
-            <xsd:enumeration value="CLP"/>
-            <xsd:enumeration value="CLF"/>
-            <xsd:enumeration value="CNY"/>
-            <xsd:enumeration value="COP"/>
-            <xsd:enumeration value="KMF"/>
-            <xsd:enumeration value="CRC"/>
-            <xsd:enumeration value="HRK"/>
-            <xsd:enumeration value="CUP"/>
-            <xsd:enumeration value="CYP"/>
-            <xsd:enumeration value="CZK"/>
-            <xsd:enumeration value="DKK"/>
-            <xsd:enumeration value="DEM"/>
-            <xsd:enumeration value="BAD"/>
-            <xsd:enumeration value="DJF"/>
-            <xsd:enumeration value="DOP"/>
-            <xsd:enumeration value="XCD"/>
-            <xsd:enumeration value="ECS"/>
-            <xsd:enumeration value="EGP"/>
-            <xsd:enumeration value="SVC"/>
-            <xsd:enumeration value="ERN"/>
-            <xsd:enumeration value="EEK"/>
-            <xsd:enumeration value="ETB"/>
-            <xsd:enumeration value="EUR"/>
-            <xsd:enumeration value="XEU"/>
-            <xsd:enumeration value="FKP"/>
-            <xsd:enumeration value="FJD"/>
-            <xsd:enumeration value="ZAL"/>
-            <xsd:enumeration value="FIM"/>
-            <xsd:enumeration value="FRF"/>
-            <xsd:enumeration value="GMD"/>
-            <xsd:enumeration value="GEL"/>
-            <xsd:enumeration value="GHC"/>
-            <xsd:enumeration value="GIP"/>
-            <xsd:enumeration value="XAU"/>
-            <xsd:enumeration value="GRD"/>
-            <xsd:enumeration value="GTQ"/>
-            <xsd:enumeration value="GNF"/>
-            <xsd:enumeration value="GWP"/>
-            <xsd:enumeration value="GYD"/>
-            <xsd:enumeration value="HTG"/>
-            <xsd:enumeration value="HNL"/>
-            <xsd:enumeration value="HKD"/>
-            <xsd:enumeration value="HUF"/>
-            <xsd:enumeration value="ISK"/>
-            <xsd:enumeration value="INR"/>
-            <xsd:enumeration value="IDR"/>
-            <xsd:enumeration value="IRA"/>
-            <xsd:enumeration value="IRR"/>
-            <xsd:enumeration value="IQD"/>
-            <xsd:enumeration value="IEP"/>
-            <xsd:enumeration value="ILS"/>
-            <xsd:enumeration value="ITL"/>
-            <xsd:enumeration value="JMD"/>
-            <xsd:enumeration value="JPY"/>
-            <xsd:enumeration value="JOD"/>
-            <xsd:enumeration value="KZT"/>
-            <xsd:enumeration value="KES"/>
-            <xsd:enumeration value="KWD"/>
-            <xsd:enumeration value="AOR"/>
-            <xsd:enumeration value="KGS"/>
-            <xsd:enumeration value="LAK"/>
-            <xsd:enumeration value="LVL"/>
-            <xsd:enumeration value="LBP"/>
-            <xsd:enumeration value="ALL"/>
-            <xsd:enumeration value="LSL"/>
-            <xsd:enumeration value="LRD"/>
-            <xsd:enumeration value="LYD"/>
-            <xsd:enumeration value="LTL"/>
-            <xsd:enumeration value="LUF"/>
-            <xsd:enumeration value="MOP"/>
-            <xsd:enumeration value="MKD"/>
-            <xsd:enumeration value="MGF"/>
-            <xsd:enumeration value="MWK"/>
-            <xsd:enumeration value="MYR"/>
-            <xsd:enumeration value="MVR"/>
-            <xsd:enumeration value="MTL"/>
-            <xsd:enumeration value="MRO"/>
-            <xsd:enumeration value="MUR"/>
-            <xsd:enumeration value="MXN"/>
-            <xsd:enumeration value="MDL"/>
-            <xsd:enumeration value="MNT"/>
-            <xsd:enumeration value="MAD"/>
-            <xsd:enumeration value="MZM"/>
-            <xsd:enumeration value="BOV"/>
-            <xsd:enumeration value="MMK"/>
-            <xsd:enumeration value="NAD"/>
-            <xsd:enumeration value="NPR"/>
-            <xsd:enumeration value="ANG"/>
-            <xsd:enumeration value="AWG"/>
-            <xsd:enumeration value="NLG"/>
-            <xsd:enumeration value="AON"/>
-            <xsd:enumeration value="TWD"/>
-            <xsd:enumeration value="ZRN"/>
-            <xsd:enumeration value="NZD"/>
-            <xsd:enumeration value="NIO"/>
-            <xsd:enumeration value="NGN"/>
-            <xsd:enumeration value="KPW"/>
-            <xsd:enumeration value="NOK"/>
-            <xsd:enumeration value="PKR"/>
-            <xsd:enumeration value="PAB"/>
-            <xsd:enumeration value="PGK"/>
-            <xsd:enumeration value="PYG"/>
-            <xsd:enumeration value="PEN"/>
-            <xsd:enumeration value="PHP"/>
-            <xsd:enumeration value="PLN"/>
-            <xsd:enumeration value="PLZ"/>
-            <xsd:enumeration value="PTE"/>
-            <xsd:enumeration value="GBP"/>
-            <xsd:enumeration value="QAR"/>
-            <xsd:enumeration value="OMR"/>
-            <xsd:enumeration value="ROL"/>
-            <xsd:enumeration value="RUR"/>
-            <xsd:enumeration value="RWF"/>
-            <xsd:enumeration value="WST"/>
-            <xsd:enumeration value="STD"/>
-            <xsd:enumeration value="SAR"/>
-            <xsd:enumeration value="SBL"/>
-            <xsd:enumeration value="SCR"/>
-            <xsd:enumeration value="SLL"/>
-            <xsd:enumeration value="SGD"/>
-            <xsd:enumeration value="SKK"/>
-            <xsd:enumeration value="SIT"/>
-            <xsd:enumeration value="SBD"/>
-            <xsd:enumeration value="SOS"/>
-            <xsd:enumeration value="ZAR"/>
-            <xsd:enumeration value="KRW"/>
-            <xsd:enumeration value="ESP"/>
-            <xsd:enumeration value="LKR"/>
-            <xsd:enumeration value="SHP"/>
-            <xsd:enumeration value="SDA"/>
-            <xsd:enumeration value="SDD"/>
-            <xsd:enumeration value="SDP"/>
-            <xsd:enumeration value="SRG"/>
-            <xsd:enumeration value="SZL"/>
-            <xsd:enumeration value="SEK"/>
-            <xsd:enumeration value="CHF"/>
-            <xsd:enumeration value="SYP"/>
-            <xsd:enumeration value="TJR"/>
-            <xsd:enumeration value="TZS"/>
-            <xsd:enumeration value="THB"/>
-            <xsd:enumeration value="TPE"/>
-            <xsd:enumeration value="TOP"/>
-            <xsd:enumeration value="TTD"/>
-            <xsd:enumeration value="TND"/>
-            <xsd:enumeration value="TRL"/>
-            <xsd:enumeration value="TMM"/>
-            <xsd:enumeration value="USD"/>
-            <xsd:enumeration value="AED"/>
-            <xsd:enumeration value="UGX"/>
-            <xsd:enumeration value="UAH"/>
-            <xsd:enumeration value="ECV"/>
-            <xsd:enumeration value="UYU"/>
-            <xsd:enumeration value="USN"/>
-            <xsd:enumeration value="UZS"/>
-            <xsd:enumeration value="VUV"/>
-            <xsd:enumeration value="VEB"/>
-            <xsd:enumeration value="VND"/>
-            <xsd:enumeration value="YER"/>
-            <xsd:enumeration value="YUN"/>
-            <xsd:enumeration value="ZMK"/>
-            <xsd:enumeration value="ZWD"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Language">
-        <xsd:sequence>
-            <xsd:element name="LanguageCoded" type="LanguageCode"/>
-            <xsd:element minOccurs="0" name="LanguageCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="LocaleCoded" type="LocaleCode"/>
-            <xsd:element minOccurs="0" name="LocaleCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-        <xsd:attribute name="LanguageDependent" type="xcblBoolean" use="optional"/>
-    </xsd:complexType>
-    <xsd:element name="Language" type="Language"/>
-    <xsd:simpleType name="LanguageCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="aa"/>
-            <xsd:enumeration value="ab"/>
-            <xsd:enumeration value="af"/>
-            <xsd:enumeration value="am"/>
-            <xsd:enumeration value="ar"/>
-            <xsd:enumeration value="as"/>
-            <xsd:enumeration value="ay"/>
-            <xsd:enumeration value="az"/>
-            <xsd:enumeration value="ba"/>
-            <xsd:enumeration value="be"/>
-            <xsd:enumeration value="bg"/>
-            <xsd:enumeration value="bh"/>
-            <xsd:enumeration value="bi"/>
-            <xsd:enumeration value="bn"/>
-            <xsd:enumeration value="bo"/>
-            <xsd:enumeration value="br"/>
-            <xsd:enumeration value="ca"/>
-            <xsd:enumeration value="co"/>
-            <xsd:enumeration value="cs"/>
-            <xsd:enumeration value="cy"/>
-            <xsd:enumeration value="da"/>
-            <xsd:enumeration value="de"/>
-            <xsd:enumeration value="dz"/>
-            <xsd:enumeration value="el"/>
-            <xsd:enumeration value="en"/>
-            <xsd:enumeration value="eo"/>
-            <xsd:enumeration value="es"/>
-            <xsd:enumeration value="et"/>
-            <xsd:enumeration value="eu"/>
-            <xsd:enumeration value="fa"/>
-            <xsd:enumeration value="fi"/>
-            <xsd:enumeration value="fj"/>
-            <xsd:enumeration value="fo"/>
-            <xsd:enumeration value="fr"/>
-            <xsd:enumeration value="fy"/>
-            <xsd:enumeration value="ga"/>
-            <xsd:enumeration value="gd"/>
-            <xsd:enumeration value="gl"/>
-            <xsd:enumeration value="gn"/>
-            <xsd:enumeration value="gu"/>
-            <xsd:enumeration value="ha"/>
-            <xsd:enumeration value="he"/>
-            <xsd:enumeration value="hi"/>
-            <xsd:enumeration value="hr"/>
-            <xsd:enumeration value="hu"/>
-            <xsd:enumeration value="hy"/>
-            <xsd:enumeration value="ia"/>
-            <xsd:enumeration value="id"/>
-            <xsd:enumeration value="ie"/>
-            <xsd:enumeration value="ik"/>
-            <xsd:enumeration value="is"/>
-            <xsd:enumeration value="it"/>
-            <xsd:enumeration value="iu"/>
-            <xsd:enumeration value="ja"/>
-            <xsd:enumeration value="jw"/>
-            <xsd:enumeration value="ka"/>
-            <xsd:enumeration value="kk"/>
-            <xsd:enumeration value="kl"/>
-            <xsd:enumeration value="km"/>
-            <xsd:enumeration value="kn"/>
-            <xsd:enumeration value="ko"/>
-            <xsd:enumeration value="ks"/>
-            <xsd:enumeration value="ku"/>
-            <xsd:enumeration value="ky"/>
-            <xsd:enumeration value="la"/>
-            <xsd:enumeration value="ln"/>
-            <xsd:enumeration value="lo"/>
-            <xsd:enumeration value="lt"/>
-            <xsd:enumeration value="lv"/>
-            <xsd:enumeration value="mg"/>
-            <xsd:enumeration value="mi"/>
-            <xsd:enumeration value="mk"/>
-            <xsd:enumeration value="ml"/>
-            <xsd:enumeration value="mn"/>
-            <xsd:enumeration value="mo"/>
-            <xsd:enumeration value="mr"/>
-            <xsd:enumeration value="ms"/>
-            <xsd:enumeration value="mt"/>
-            <xsd:enumeration value="my"/>
-            <xsd:enumeration value="na"/>
-            <xsd:enumeration value="ne"/>
-            <xsd:enumeration value="nl"/>
-            <xsd:enumeration value="no"/>
-            <xsd:enumeration value="oc"/>
-            <xsd:enumeration value="om"/>
-            <xsd:enumeration value="or"/>
-            <xsd:enumeration value="pa"/>
-            <xsd:enumeration value="pl"/>
-            <xsd:enumeration value="ps"/>
-            <xsd:enumeration value="pt"/>
-            <xsd:enumeration value="qu"/>
-            <xsd:enumeration value="rm"/>
-            <xsd:enumeration value="rn"/>
-            <xsd:enumeration value="ro"/>
-            <xsd:enumeration value="ru"/>
-            <xsd:enumeration value="rw"/>
-            <xsd:enumeration value="sa"/>
-            <xsd:enumeration value="sd"/>
-            <xsd:enumeration value="sg"/>
-            <xsd:enumeration value="sh"/>
-            <xsd:enumeration value="si"/>
-            <xsd:enumeration value="sk"/>
-            <xsd:enumeration value="sl"/>
-            <xsd:enumeration value="sm"/>
-            <xsd:enumeration value="sn"/>
-            <xsd:enumeration value="so"/>
-            <xsd:enumeration value="sq"/>
-            <xsd:enumeration value="sr"/>
-            <xsd:enumeration value="ss"/>
-            <xsd:enumeration value="st"/>
-            <xsd:enumeration value="su"/>
-            <xsd:enumeration value="sv"/>
-            <xsd:enumeration value="sw"/>
-            <xsd:enumeration value="ta"/>
-            <xsd:enumeration value="te"/>
-            <xsd:enumeration value="tg"/>
-            <xsd:enumeration value="th"/>
-            <xsd:enumeration value="ti"/>
-            <xsd:enumeration value="tk"/>
-            <xsd:enumeration value="tl"/>
-            <xsd:enumeration value="tn"/>
-            <xsd:enumeration value="to"/>
-            <xsd:enumeration value="tr"/>
-            <xsd:enumeration value="ts"/>
-            <xsd:enumeration value="tt"/>
-            <xsd:enumeration value="tw"/>
-            <xsd:enumeration value="ug"/>
-            <xsd:enumeration value="uk"/>
-            <xsd:enumeration value="ur"/>
-            <xsd:enumeration value="uz"/>
-            <xsd:enumeration value="vi"/>
-            <xsd:enumeration value="vo"/>
-            <xsd:enumeration value="wo"/>
-            <xsd:enumeration value="xh"/>
-            <xsd:enumeration value="yi"/>
-            <xsd:enumeration value="yo"/>
-            <xsd:enumeration value="za"/>
-            <xsd:enumeration value="zh"/>
-            <xsd:enumeration value="zu"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="LocaleCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="ae"/>
-            <xsd:enumeration value="af"/>
-            <xsd:enumeration value="ag"/>
-            <xsd:enumeration value="ai"/>
-            <xsd:enumeration value="al"/>
-            <xsd:enumeration value="am"/>
-            <xsd:enumeration value="an"/>
-            <xsd:enumeration value="ao"/>
-            <xsd:enumeration value="aq"/>
-            <xsd:enumeration value="ar"/>
-            <xsd:enumeration value="as"/>
-            <xsd:enumeration value="at"/>
-            <xsd:enumeration value="au"/>
-            <xsd:enumeration value="aw"/>
-            <xsd:enumeration value="az"/>
-            <xsd:enumeration value="ba"/>
-            <xsd:enumeration value="bb"/>
-            <xsd:enumeration value="bd"/>
-            <xsd:enumeration value="be"/>
-            <xsd:enumeration value="bf"/>
-            <xsd:enumeration value="bg"/>
-            <xsd:enumeration value="bh"/>
-            <xsd:enumeration value="bi"/>
-            <xsd:enumeration value="bj"/>
-            <xsd:enumeration value="bm"/>
-            <xsd:enumeration value="bn"/>
-            <xsd:enumeration value="bo"/>
-            <xsd:enumeration value="br"/>
-            <xsd:enumeration value="bs"/>
-            <xsd:enumeration value="bt"/>
-            <xsd:enumeration value="bu"/>
-            <xsd:enumeration value="bw"/>
-            <xsd:enumeration value="by"/>
-            <xsd:enumeration value="bz"/>
-            <xsd:enumeration value="ca"/>
-            <xsd:enumeration value="cc"/>
-            <xsd:enumeration value="cd"/>
-            <xsd:enumeration value="cf"/>
-            <xsd:enumeration value="cg"/>
-            <xsd:enumeration value="ch"/>
-            <xsd:enumeration value="ci"/>
-            <xsd:enumeration value="ck"/>
-            <xsd:enumeration value="cl"/>
-            <xsd:enumeration value="cm"/>
-            <xsd:enumeration value="cn"/>
-            <xsd:enumeration value="co"/>
-            <xsd:enumeration value="cr"/>
-            <xsd:enumeration value="cs"/>
-            <xsd:enumeration value="cu"/>
-            <xsd:enumeration value="cv"/>
-            <xsd:enumeration value="cx"/>
-            <xsd:enumeration value="cy"/>
-            <xsd:enumeration value="cz"/>
-            <xsd:enumeration value="de"/>
-            <xsd:enumeration value="dj"/>
-            <xsd:enumeration value="dk"/>
-            <xsd:enumeration value="dm"/>
-            <xsd:enumeration value="do"/>
-            <xsd:enumeration value="dz"/>
-            <xsd:enumeration value="ec"/>
-            <xsd:enumeration value="ee"/>
-            <xsd:enumeration value="eg"/>
-            <xsd:enumeration value="eh"/>
-            <xsd:enumeration value="er"/>
-            <xsd:enumeration value="es"/>
-            <xsd:enumeration value="et"/>
-            <xsd:enumeration value="fi"/>
-            <xsd:enumeration value="fj"/>
-            <xsd:enumeration value="fk"/>
-            <xsd:enumeration value="fm"/>
-            <xsd:enumeration value="fo"/>
-            <xsd:enumeration value="fr"/>
-            <xsd:enumeration value="ga"/>
-            <xsd:enumeration value="gb"/>
-            <xsd:enumeration value="gd"/>
-            <xsd:enumeration value="ge"/>
-            <xsd:enumeration value="gf"/>
-            <xsd:enumeration value="gh"/>
-            <xsd:enumeration value="gi"/>
-            <xsd:enumeration value="gl"/>
-            <xsd:enumeration value="gm"/>
-            <xsd:enumeration value="gn"/>
-            <xsd:enumeration value="gp"/>
-            <xsd:enumeration value="gq"/>
-            <xsd:enumeration value="gr"/>
-            <xsd:enumeration value="gs"/>
-            <xsd:enumeration value="gt"/>
-            <xsd:enumeration value="gu"/>
-            <xsd:enumeration value="gw"/>
-            <xsd:enumeration value="gy"/>
-            <xsd:enumeration value="hk"/>
-            <xsd:enumeration value="hn"/>
-            <xsd:enumeration value="hr"/>
-            <xsd:enumeration value="ht"/>
-            <xsd:enumeration value="hu"/>
-            <xsd:enumeration value="id"/>
-            <xsd:enumeration value="ie"/>
-            <xsd:enumeration value="il"/>
-            <xsd:enumeration value="in"/>
-            <xsd:enumeration value="io"/>
-            <xsd:enumeration value="iq"/>
-            <xsd:enumeration value="ir"/>
-            <xsd:enumeration value="is"/>
-            <xsd:enumeration value="it"/>
-            <xsd:enumeration value="jm"/>
-            <xsd:enumeration value="jo"/>
-            <xsd:enumeration value="jp"/>
-            <xsd:enumeration value="ke"/>
-            <xsd:enumeration value="kg"/>
-            <xsd:enumeration value="kh"/>
-            <xsd:enumeration value="ki"/>
-            <xsd:enumeration value="km"/>
-            <xsd:enumeration value="kn"/>
-            <xsd:enumeration value="kp"/>
-            <xsd:enumeration value="kr"/>
-            <xsd:enumeration value="kw"/>
-            <xsd:enumeration value="ky"/>
-            <xsd:enumeration value="kz"/>
-            <xsd:enumeration value="la"/>
-            <xsd:enumeration value="lb"/>
-            <xsd:enumeration value="lc"/>
-            <xsd:enumeration value="li"/>
-            <xsd:enumeration value="lk"/>
-            <xsd:enumeration value="lr"/>
-            <xsd:enumeration value="ls"/>
-            <xsd:enumeration value="lt"/>
-            <xsd:enumeration value="lu"/>
-            <xsd:enumeration value="lv"/>
-            <xsd:enumeration value="ly"/>
-            <xsd:enumeration value="ma"/>
-            <xsd:enumeration value="mc"/>
-            <xsd:enumeration value="md"/>
-            <xsd:enumeration value="mg"/>
-            <xsd:enumeration value="mh"/>
-            <xsd:enumeration value="mk"/>
-            <xsd:enumeration value="ml"/>
-            <xsd:enumeration value="mm"/>
-            <xsd:enumeration value="mn"/>
-            <xsd:enumeration value="mo"/>
-            <xsd:enumeration value="mp"/>
-            <xsd:enumeration value="mq"/>
-            <xsd:enumeration value="mr"/>
-            <xsd:enumeration value="ms"/>
-            <xsd:enumeration value="mt"/>
-            <xsd:enumeration value="mu"/>
-            <xsd:enumeration value="mv"/>
-            <xsd:enumeration value="mw"/>
-            <xsd:enumeration value="mx"/>
-            <xsd:enumeration value="my"/>
-            <xsd:enumeration value="mz"/>
-            <xsd:enumeration value="na"/>
-            <xsd:enumeration value="nc"/>
-            <xsd:enumeration value="ne"/>
-            <xsd:enumeration value="nf"/>
-            <xsd:enumeration value="ng"/>
-            <xsd:enumeration value="ni"/>
-            <xsd:enumeration value="nl"/>
-            <xsd:enumeration value="no"/>
-            <xsd:enumeration value="np"/>
-            <xsd:enumeration value="nr"/>
-            <xsd:enumeration value="nu"/>
-            <xsd:enumeration value="nz"/>
-            <xsd:enumeration value="om"/>
-            <xsd:enumeration value="pa"/>
-            <xsd:enumeration value="pe"/>
-            <xsd:enumeration value="pf"/>
-            <xsd:enumeration value="pg"/>
-            <xsd:enumeration value="ph"/>
-            <xsd:enumeration value="pk"/>
-            <xsd:enumeration value="pl"/>
-            <xsd:enumeration value="pm"/>
-            <xsd:enumeration value="pn"/>
-            <xsd:enumeration value="pr"/>
-            <xsd:enumeration value="pt"/>
-            <xsd:enumeration value="pw"/>
-            <xsd:enumeration value="py"/>
-            <xsd:enumeration value="qa"/>
-            <xsd:enumeration value="re"/>
-            <xsd:enumeration value="ro"/>
-            <xsd:enumeration value="ru"/>
-            <xsd:enumeration value="rw"/>
-            <xsd:enumeration value="sa"/>
-            <xsd:enumeration value="sb"/>
-            <xsd:enumeration value="sc"/>
-            <xsd:enumeration value="sd"/>
-            <xsd:enumeration value="se"/>
-            <xsd:enumeration value="sg"/>
-            <xsd:enumeration value="sh"/>
-            <xsd:enumeration value="si"/>
-            <xsd:enumeration value="sj"/>
-            <xsd:enumeration value="sk"/>
-            <xsd:enumeration value="sl"/>
-            <xsd:enumeration value="sm"/>
-            <xsd:enumeration value="sn"/>
-            <xsd:enumeration value="so"/>
-            <xsd:enumeration value="sr"/>
-            <xsd:enumeration value="st"/>
-            <xsd:enumeration value="sv"/>
-            <xsd:enumeration value="sy"/>
-            <xsd:enumeration value="sz"/>
-            <xsd:enumeration value="tc"/>
-            <xsd:enumeration value="td"/>
-            <xsd:enumeration value="tf"/>
-            <xsd:enumeration value="tg"/>
-            <xsd:enumeration value="th"/>
-            <xsd:enumeration value="tj"/>
-            <xsd:enumeration value="tm"/>
-            <xsd:enumeration value="tn"/>
-            <xsd:enumeration value="to"/>
-            <xsd:enumeration value="tp"/>
-            <xsd:enumeration value="tr"/>
-            <xsd:enumeration value="tt"/>
-            <xsd:enumeration value="tv"/>
-            <xsd:enumeration value="tw"/>
-            <xsd:enumeration value="tz"/>
-            <xsd:enumeration value="ua"/>
-            <xsd:enumeration value="ug"/>
-            <xsd:enumeration value="um"/>
-            <xsd:enumeration value="us"/>
-            <xsd:enumeration value="uy"/>
-            <xsd:enumeration value="uz"/>
-            <xsd:enumeration value="va"/>
-            <xsd:enumeration value="vc"/>
-            <xsd:enumeration value="ve"/>
-            <xsd:enumeration value="vg"/>
-            <xsd:enumeration value="vi"/>
-            <xsd:enumeration value="vn"/>
-            <xsd:enumeration value="vu"/>
-            <xsd:enumeration value="wf"/>
-            <xsd:enumeration value="ws"/>
-            <xsd:enumeration value="ye"/>
-            <xsd:enumeration value="yt"/>
-            <xsd:enumeration value="yu"/>
-            <xsd:enumeration value="za"/>
-            <xsd:enumeration value="zm"/>
-            <xsd:enumeration value="zw"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="TaxReference">
-        <xsd:complexContent>
-            <xsd:extension base="Tax">
-                <xsd:sequence>
-                    <xsd:element name="TaxTreatmentCoded" type="TaxTreatmentCode"/>
-                    <xsd:element minOccurs="0" name="TaxTreatmentCodedOther" type="xsd:string"/>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:element name="TaxReference" type="TaxReference"/>
-    <xsd:complexType name="TaxLocation">
-        <xsd:sequence>
-            <xsd:element ref="Location"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TaxLocation" type="TaxLocation"/>
-    <xsd:complexType name="Tax">
-        <xsd:sequence>
-            <xsd:element name="TaxFunctionQualifierCoded" type="TaxFunctionQualifierCode"/>
-            <xsd:element minOccurs="0" name="TaxFunctionQualifierCodedOther" type="xsd:string"/>
-            <xsd:element name="TaxCategoryCoded" type="TaxCategoryCode"/>
-            <xsd:element minOccurs="0" name="TaxCategoryCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ReasonTaxExemptCoded" type="ReasonTaxExemptCode"/>
-            <xsd:element minOccurs="0" name="ReasonTaxExemptCodedOther" type="xsd:string"/>
-            <xsd:element name="TaxTypeCoded" type="TaxTypeCode"/>
-            <xsd:element minOccurs="0" name="TaxTypeCodedOther">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="TaxPercent" type="Decimal10_4"/>
-            <xsd:element minOccurs="0" name="TaxPaymentMethodCoded" type="TaxPaymentMethodCode"/>
-            <xsd:element minOccurs="0" name="TaxPaymentMethodCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TaxableAmount" type="Decimal21_6"/>
-            <xsd:element minOccurs="0" name="TaxableAmountInTaxAccountingCurrency" type="Decimal21_6"/>
-            <xsd:element name="TaxAmount" type="Decimal21_6"/>
-            <xsd:element minOccurs="0" name="TaxAmountInTaxAccountingCurrency" type="Decimal21_6"/>
-            <xsd:element minOccurs="0" ref="TaxLocation"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Tax" type="Tax"/>
-    <xsd:simpleType name="TaxFunctionQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="IndividualDutyTaxOrFeeCustomsItem"/>
-            <xsd:enumeration value="TotalOfAllDutiesTaxesAndFeesCustomsItem"/>
-            <xsd:enumeration value="TotalOfEachDutyTaxOrFeeTypeCustomsDeclaration"/>
-            <xsd:enumeration value="TotalOfAllDutiesTaxesAndFeeTypesCustomsDeclaration"/>
-            <xsd:enumeration value="CustomsDuty"/>
-            <xsd:enumeration value="Fee"/>
-            <xsd:enumeration value="Tax"/>
-            <xsd:enumeration value="TaxRelatedInformation"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TaxCategoryCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Agriculture"/>
-            <xsd:enumeration value="DirectPayID"/>
-            <xsd:enumeration value="Disabled"/>
-            <xsd:enumeration value="DisabledVeteran"/>
-            <xsd:enumeration value="DutyPaidBySupplier"/>
-            <xsd:enumeration value="ExemptForExport"/>
-            <xsd:enumeration value="ExemptForResale"/>
-            <xsd:enumeration value="ExemptfromCountyPropertyTax"/>
-            <xsd:enumeration value="ExemptfromLocalPropertyTax"/>
-            <xsd:enumeration value="ExemptfromSchoolPropertyTax"/>
-            <xsd:enumeration value="ExemptfromStatePropertyTax"/>
-            <xsd:enumeration value="ExemptFromTax"/>
-            <xsd:enumeration value="ExemptGoodsandServicesTax"/>
-            <xsd:enumeration value="ExemptLetterOnFile"/>
-            <xsd:enumeration value="ExemptLocalService"/>
-            <xsd:enumeration value="ExemptNotForResale"/>
-            <xsd:enumeration value="Exempt-PerStateLaw"/>
-            <xsd:enumeration value="ExemptProvincialSalesTax"/>
-            <xsd:enumeration value="ExemptSaleToUSGovernment"/>
-            <xsd:enumeration value="ExemptTollService"/>
-            <xsd:enumeration value="FreeExportItemTaxNotCharged"/>
-            <xsd:enumeration value="HigherRate"/>
-            <xsd:enumeration value="Homestead"/>
-            <xsd:enumeration value="LaborTaxableMaterialExempt"/>
-            <xsd:enumeration value="LowerRate"/>
-            <xsd:enumeration value="MaterialTaxableLaborExempt"/>
-            <xsd:enumeration value="MixedTaxRate"/>
-            <xsd:enumeration value="Non-Homestead"/>
-            <xsd:enumeration value="No-NotTaxExempt"/>
-            <xsd:enumeration value="NotExemptForResale"/>
-            <xsd:enumeration value="NotExemptNotForResale"/>
-            <xsd:enumeration value="NotTaxable"/>
-            <xsd:enumeration value="OpenSpace"/>
-            <xsd:enumeration value="OtherPropertyTaxExemption"/>
-            <xsd:enumeration value="Over65"/>
-            <xsd:enumeration value="RecurringExempt"/>
-            <xsd:enumeration value="ServicesOutsideScopeOfTax"/>
-            <xsd:enumeration value="StandardRate"/>
-            <xsd:enumeration value="TotallyExempt"/>
-            <xsd:enumeration value="Transferred"/>
-            <xsd:enumeration value="UsageExempt"/>
-            <xsd:enumeration value="ValueAddedTaxDueFromAPreviousInvoice"/>
-            <xsd:enumeration value="ValueAddedTaxNotNowDueForPayment"/>
-            <xsd:enumeration value="WorkingFarm"/>
-            <xsd:enumeration value="Yes-TaxExempt"/>
-            <xsd:enumeration value="ZeroRatedGoods"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="ReasonTaxExemptCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Exempt-ForExport"/>
-            <xsd:enumeration value="Yes-TaxExempt"/>
-            <xsd:enumeration value="No-NotTaxExempt"/>
-            <xsd:enumeration value="Exempt-ForResale"/>
-            <xsd:enumeration value="NotExemptOrForResale"/>
-            <xsd:enumeration value="Exempt-NotForResale"/>
-            <xsd:enumeration value="NotExemptNotForResale"/>
-            <xsd:enumeration value="DirectPayId"/>
-            <xsd:enumeration value="Exempt-SaleToUSGovernment"/>
-            <xsd:enumeration value="Exempt-PerStateLaw"/>
-            <xsd:enumeration value="LaborTaxableMaterialExempt"/>
-            <xsd:enumeration value="MaterialTaxableLaborExempt"/>
-            <xsd:enumeration value="NotTaxable"/>
-            <xsd:enumeration value="Disabled"/>
-            <xsd:enumeration value="ExemptTollService"/>
-            <xsd:enumeration value="Exempt-GoodsAndServicesTax"/>
-            <xsd:enumeration value="Exempt-ProvincialSalesTax"/>
-            <xsd:enumeration value="Homestead"/>
-            <xsd:enumeration value="Agriculture"/>
-            <xsd:enumeration value="WorkingFarm"/>
-            <xsd:enumeration value="OpenSpace"/>
-            <xsd:enumeration value="ExemptLocalService"/>
-            <xsd:enumeration value="DisabledVeteran"/>
-            <xsd:enumeration value="Non-Homestead"/>
-            <xsd:enumeration value="Over65"/>
-            <xsd:enumeration value="ExemptFromSchoolPropertyTax"/>
-            <xsd:enumeration value="ExemptFromLocalPropertyTax"/>
-            <xsd:enumeration value="RecurringExempt"/>
-            <xsd:enumeration value="ExemptFromCountyPropertyTax"/>
-            <xsd:enumeration value="TotallyExempt"/>
-            <xsd:enumeration value="UsageExempt"/>
-            <xsd:enumeration value="ExemptFromStatePropertyTax"/>
-            <xsd:enumeration value="OtherPropertyTaxExemption"/>
-            <xsd:enumeration value="Exempt-LetterOnFile"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TaxTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="911CityTax"/>
-            <xsd:enumeration value="911CountyTax"/>
-            <xsd:enumeration value="911ExciseTax"/>
-            <xsd:enumeration value="911StateTax"/>
-            <xsd:enumeration value="911Tax"/>
-            <xsd:enumeration value="AccommodationsTax"/>
-            <xsd:enumeration value="AdValoremTax"/>
-            <xsd:enumeration value="AgriculturalExportRebate"/>
-            <xsd:enumeration value="Agriculturallevy"/>
-            <xsd:enumeration value="AlcoholicBeverageTax"/>
-            <xsd:enumeration value="AlcoholMarkTax"/>
-            <xsd:enumeration value="AllTaxes"/>
-            <xsd:enumeration value="Anti-DumpingDuty"/>
-            <xsd:enumeration value="Assessment"/>
-            <xsd:enumeration value="BusinessLicenseFee"/>
-            <xsd:enumeration value="BusinessPrivilegeTax"/>
-            <xsd:enumeration value="CarTax"/>
-            <xsd:enumeration value="CityRentalTax"/>
-            <xsd:enumeration value="CitySalesTax"/>
-            <xsd:enumeration value="CityTax"/>
-            <xsd:enumeration value="CoffeeTax"/>
-            <xsd:enumeration value="CoinOperatedDeviceTax"/>
-            <xsd:enumeration value="CommoditySpecificTax"/>
-            <xsd:enumeration value="CorporateIncomeTax"/>
-            <xsd:enumeration value="CountervailingDuty"/>
-            <xsd:enumeration value="CountyOrParishSalesTax"/>
-            <xsd:enumeration value="CountyRentalTax"/>
-            <xsd:enumeration value="CountyTax"/>
-            <xsd:enumeration value="CustomsDuty"/>
-            <xsd:enumeration value="DefaultLaborTax"/>
-            <xsd:enumeration value="EmploymentTax"/>
-            <xsd:enumeration value="EnergyTax"/>
-            <xsd:enumeration value="Enhanced911StateExciseTax"/>
-            <xsd:enumeration value="EnvironmentalTax"/>
-            <xsd:enumeration value="EquipmentTax"/>
-            <xsd:enumeration value="EstateTax"/>
-            <xsd:enumeration value="ExciseDuty"/>
-            <xsd:enumeration value="FederalExciseTax"/>
-            <xsd:enumeration value="FederalIncomeTaxWithholding"/>
-            <xsd:enumeration value="FederalTax"/>
-            <xsd:enumeration value="FederalValueAddedTaxOnGoods"/>
-            <xsd:enumeration value="FederalValueAddedTaxOnServices"/>
-            <xsd:enumeration value="FeeInLieu"/>
-            <xsd:enumeration value="FICAMedicareTax"/>
-            <xsd:enumeration value="FICASocialSecurityTax"/>
-            <xsd:enumeration value="FICATax"/>
-            <xsd:enumeration value="FranchiseTax"/>
-            <xsd:enumeration value="Free"/>
-            <xsd:enumeration value="FuelLUSTTax"/>
-            <xsd:enumeration value="FuelSpillTax"/>
-            <xsd:enumeration value="FuelSuperFundTax"/>
-            <xsd:enumeration value="GamingTax"/>
-            <xsd:enumeration value="GeneralConstructionTax"/>
-            <xsd:enumeration value="GiftTax"/>
-            <xsd:enumeration value="GoodsAndServicesTax"/>
-            <xsd:enumeration value="GrossReceiptsTax"/>
-            <xsd:enumeration value="HandicapTax"/>
-            <xsd:enumeration value="HazardousWasteTax"/>
-            <xsd:enumeration value="HighwayUseTax"/>
-            <xsd:enumeration value="IlluminantsTax"/>
-            <xsd:enumeration value="ImportTax"/>
-            <xsd:enumeration value="IndividualIncomeTax"/>
-            <xsd:enumeration value="IndividualTax"/>
-            <xsd:enumeration value="InheritanceTax"/>
-            <xsd:enumeration value="InternationalFuelTaxAgreementTax"/>
-            <xsd:enumeration value="LaborByTradeTax"/>
-            <xsd:enumeration value="LeakyUndergroundStorageTankTaxFederal"/>
-            <xsd:enumeration value="LeakyUndergroundStorageTankTaxState"/>
-            <xsd:enumeration value="LicenseTax"/>
-            <xsd:enumeration value="LightDuesPayable"/>
-            <xsd:enumeration value="LocalConstructionTax"/>
-            <xsd:enumeration value="LocalSalesTax"/>
-            <xsd:enumeration value="LocalTax"/>
-            <xsd:enumeration value="LustTax"/>
-            <xsd:enumeration value="MaterialTax"/>
-            <xsd:enumeration value="MetropolitanTransitTax"/>
-            <xsd:enumeration value="MinimumTax"/>
-            <xsd:enumeration value="MiscellaneousCashDeposit"/>
-            <xsd:enumeration value="MiscellaneousStateTax"/>
-            <xsd:enumeration value="MonetaryCompensatoryAmount"/>
-            <xsd:enumeration value="MotorFuelTax"/>
-            <xsd:enumeration value="MunicipalTax"/>
-            <xsd:enumeration value="OccupationalTax"/>
-            <xsd:enumeration value="OtherTaxes"/>
-            <xsd:enumeration value="PaperConsortiumTax-Italy"/>
-            <xsd:enumeration value="PersonalPropertyTax"/>
-            <xsd:enumeration value="PetroleumTax"/>
-            <xsd:enumeration value="PostThresholdTax"/>
-            <xsd:enumeration value="PreferenceDuty"/>
-            <xsd:enumeration value="PreThresholdTax"/>
-            <xsd:enumeration value="ProvisionalcountervailingDutyBond"/>
-            <xsd:enumeration value="ProvisionalCountervailingDutyCash"/>
-            <xsd:enumeration value="ProvisionalDutyBond"/>
-            <xsd:enumeration value="ProvisionalDutyCash"/>
-            <xsd:enumeration value="PublicHealthAndEducationTax"/>
-            <xsd:enumeration value="RealPropertyTax"/>
-            <xsd:enumeration value="SalesAndUseTax"/>
-            <xsd:enumeration value="SchoolTax"/>
-            <xsd:enumeration value="SecondaryPercentageTax"/>
-            <xsd:enumeration value="SeveranceTax"/>
-            <xsd:enumeration value="ShiftedSocialSecurities"/>
-            <xsd:enumeration value="ShiftedWageTax"/>
-            <xsd:enumeration value="SolidWasteTax"/>
-            <xsd:enumeration value="SpecialConstructionTax"/>
-            <xsd:enumeration value="StadiumTax"/>
-            <xsd:enumeration value="StampDuty-ImpostadiBollo"/>
-            <xsd:enumeration value="StateandLocalSalesTax"/>
-            <xsd:enumeration value="StateAndLocalTax"/>
-            <xsd:enumeration value="StateAndProvincialTax"/>
-            <xsd:enumeration value="StateExciseTax"/>
-            <xsd:enumeration value="StateorProvincialFuelTax"/>
-            <xsd:enumeration value="StateOrProvincialSalesTax"/>
-            <xsd:enumeration value="StateorProvincialTaxOnGoods"/>
-            <xsd:enumeration value="StateorProvincialTaxOnServices"/>
-            <xsd:enumeration value="StateRentalTax"/>
-            <xsd:enumeration value="StateTaxonSpecificLabor"/>
-            <xsd:enumeration value="SuperfundTax"/>
-            <xsd:enumeration value="SurTax"/>
-            <xsd:enumeration value="SuspendedDuty"/>
-            <xsd:enumeration value="TelecommunicationsDeviceForTheDeafServiceExciseTax"/>
-            <xsd:enumeration value="TelecommunicationsTax"/>
-            <xsd:enumeration value="ThresholdTax"/>
-            <xsd:enumeration value="TobaccoTax"/>
-            <xsd:enumeration value="TonnageTaxes"/>
-            <xsd:enumeration value="Total"/>
-            <xsd:enumeration value="TourismTax"/>
-            <xsd:enumeration value="TransitTax"/>
-            <xsd:enumeration value="TurnOverTax"/>
-            <xsd:enumeration value="UnemploymentTax"/>
-            <xsd:enumeration value="UseTax"/>
-            <xsd:enumeration value="UtilityUsersTax"/>
-            <xsd:enumeration value="ValuationDeposit"/>
-            <xsd:enumeration value="ValueAddedTax"/>
-            <xsd:enumeration value="WellService"/>
-            <xsd:enumeration value="WithholdingTax"/>
-            <xsd:enumeration value="WorkersCompensationTax"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="Decimal10_4">
-        <xsd:restriction base="xsd:decimal">
-            <xsd:totalDigits value="10"/>
-            <xsd:fractionDigits value="4"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TaxPaymentMethodCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Normal"/>
-            <xsd:enumeration value="DirectPay"/>
-            <xsd:enumeration value="SelfAssess"/>
-            <xsd:enumeration value="PayVendor"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="Decimal21_6">
-        <xsd:restriction base="xsd:decimal">
-            <xsd:totalDigits value="21"/>
-            <xsd:fractionDigits value="6"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Location">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="LocationQualifierCoded" type="LocationQualifierCode"/>
-            <xsd:element minOccurs="0" name="LocationQualifierCodedOther" type="xsd:string"/>
-            <xsd:choice>
-                <xsd:element ref="LocationIdentifier"/>
-                <xsd:element name="ExternalAddressID" type="xsd:string"/>
-                <xsd:element ref="NameAddress"/>
-            </xsd:choice>
-            <xsd:element minOccurs="0" ref="GPSCooridinates"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Location" type="Location"/>
-    <xsd:simpleType name="LocationQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="JurisdictionToReceiveCreditForUniformCommercialCodeFiling"/>
-            <xsd:enumeration value="TransmittingUtility"/>
-            <xsd:enumeration value="Consignor"/>
-            <xsd:enumeration value="CensusScheduleD"/>
-            <xsd:enumeration value="UniformCommercialCodeFilingOffice"/>
-            <xsd:enumeration value="CurrentAddress"/>
-            <xsd:enumeration value="CensusBlockGroup"/>
-            <xsd:enumeration value="HomeAddress"/>
-            <xsd:enumeration value="HomeBaseAddress"/>
-            <xsd:enumeration value="CensusTract"/>
-            <xsd:enumeration value="CensusScheduleK"/>
-            <xsd:enumeration value="LocalAddress"/>
-            <xsd:enumeration value="MailingAddress"/>
-            <xsd:enumeration value="OfficeAddress"/>
-            <xsd:enumeration value="PermanentAddress"/>
-            <xsd:enumeration value="Birthplace"/>
-            <xsd:enumeration value="WorldwideGeographicLocationCode"/>
-            <xsd:enumeration value="NearestCrossStreet"/>
-            <xsd:enumeration value="SecondaryCrossStreet"/>
-            <xsd:enumeration value="Range"/>
-            <xsd:enumeration value="Section"/>
-            <xsd:enumeration value="QuarterSection"/>
-            <xsd:enumeration value="MarkerIdentifierLocation"/>
-            <xsd:enumeration value="Route"/>
-            <xsd:enumeration value="RouteSubdivision"/>
-            <xsd:enumeration value="GridLocation"/>
-            <xsd:enumeration value="Page"/>
-            <xsd:enumeration value="MarkerType"/>
-            <xsd:enumeration value="Latitude-LongitudeSource"/>
-            <xsd:enumeration value="MapSource"/>
-            <xsd:enumeration value="MapReference"/>
-            <xsd:enumeration value="GridSource"/>
-            <xsd:enumeration value="Aliquot"/>
-            <xsd:enumeration value="Block"/>
-            <xsd:enumeration value="District"/>
-            <xsd:enumeration value="DrainholeNumber"/>
-            <xsd:enumeration value="CityBlock"/>
-            <xsd:enumeration value="FootageCallDirection"/>
-            <xsd:enumeration value="LocationDirection"/>
-            <xsd:enumeration value="OuterContinentalLeaseLocation"/>
-            <xsd:enumeration value="Lot"/>
-            <xsd:enumeration value="MapQuadrangle"/>
-            <xsd:enumeration value="PrincipalMeridian"/>
-            <xsd:enumeration value="OuterContinentalShelfArea"/>
-            <xsd:enumeration value="OuterContinentalShelfBlock"/>
-            <xsd:enumeration value="OfficialProtractionDiagram"/>
-            <xsd:enumeration value="QuarterQuarterQuarterSection"/>
-            <xsd:enumeration value="QuarterQuarterSection"/>
-            <xsd:enumeration value="SectionType"/>
-            <xsd:enumeration value="Abstract"/>
-            <xsd:enumeration value="Labor"/>
-            <xsd:enumeration value="League"/>
-            <xsd:enumeration value="Survey"/>
-            <xsd:enumeration value="Tier"/>
-            <xsd:enumeration value="Tract"/>
-            <xsd:enumeration value="UniversalTransverseMercatorQuadrant"/>
-            <xsd:enumeration value="CourseDirection"/>
-            <xsd:enumeration value="Area"/>
-            <xsd:enumeration value="SendersLocationCode"/>
-            <xsd:enumeration value="ReceiversLocationCode"/>
-            <xsd:enumeration value="Office"/>
-            <xsd:enumeration value="AnnualStatementsMailingAddress"/>
-            <xsd:enumeration value="CityandState"/>
-            <xsd:enumeration value="AllPoints"/>
-            <xsd:enumeration value="ArmedServicesLocationDesignation"/>
-            <xsd:enumeration value="Branch"/>
-            <xsd:enumeration value="BusinessEconomicAreaRegionCode"/>
-            <xsd:enumeration value="GovernmentBillofLadingOfficeCode"/>
-            <xsd:enumeration value="PlaceOfBusiness"/>
-            <xsd:enumeration value="GeopoliticalNameCode"/>
-            <xsd:enumeration value="CountryOfOrigin"/>
-            <xsd:enumeration value="ConfirmationMailingAddress"/>
-            <xsd:enumeration value="Country"/>
-            <xsd:enumeration value="CanadianCustomsOfficeCode"/>
-            <xsd:enumeration value="CorrespondenceMailingAddress"/>
-            <xsd:enumeration value="City"/>
-            <xsd:enumeration value="NationalRateBasis"/>
-            <xsd:enumeration value="CountyOrParishAndState"/>
-            <xsd:enumeration value="InTankCar"/>
-            <xsd:enumeration value="CanadianSPLC"/>
-            <xsd:enumeration value="CountyOrParish"/>
-            <xsd:enumeration value="DistributionCenterNumber"/>
-            <xsd:enumeration value="Destination-Shipping"/>
-            <xsd:enumeration value="DeliveryLocation"/>
-            <xsd:enumeration value="DistrictOffice"/>
-            <xsd:enumeration value="Department"/>
-            <xsd:enumeration value="DistrictOfResidence"/>
-            <xsd:enumeration value="DomicileTypeCode"/>
-            <xsd:enumeration value="EventLocation"/>
-            <xsd:enumeration value="EmployerLocation"/>
-            <xsd:enumeration value="Factory"/>
-            <xsd:enumeration value="FreightEqualizationPoint"/>
-            <xsd:enumeration value="ForeignFreightForwarderLocation"/>
-            <xsd:enumeration value="FederalInformationProcessingStandards55-NamedPopulatedPlaces"/>
-            <xsd:enumeration value="U.S.CustomsFacilitiesInformationandResourceManagementSystems"/>
-            <xsd:enumeration value="FreightStationAccountingCode"/>
-            <xsd:enumeration value="ForeignTradeZone"/>
-            <xsd:enumeration value="FreeAlongsideVessel-FreeOnBoardPoint"/>
-            <xsd:enumeration value="FreightStationGeographicLocation"/>
-            <xsd:enumeration value="InternationalAirTransportAssociationLocationQualifier"/>
-            <xsd:enumeration value="IssueLocation"/>
-            <xsd:enumeration value="MilitaryStandardMovementProcedures"/>
-            <xsd:enumeration value="Postal"/>
-            <xsd:enumeration value="InStore"/>
-            <xsd:enumeration value="IntermediateFOBPoint"/>
-            <xsd:enumeration value="PortOfEmbarkation"/>
-            <xsd:enumeration value="GovernmentFurnishedPropertyFOBPoint"/>
-            <xsd:enumeration value="LocalOffice"/>
-            <xsd:enumeration value="Mill"/>
-            <xsd:enumeration value="MetropolitanSamplingAreaRegionCode"/>
-            <xsd:enumeration value="MexicanPostalCode"/>
-            <xsd:enumeration value="CityOrStateFromPoints"/>
-            <xsd:enumeration value="Origin-AfterLoadingOnEquipment"/>
-            <xsd:enumeration value="OtherUnlistedFreeOnBoardPoint"/>
-            <xsd:enumeration value="OpenandPrepayStationListCode"/>
-            <xsd:enumeration value="OtherUnlistedAcceptancePoint"/>
-            <xsd:enumeration value="Origin-ShippingPoint"/>
-            <xsd:enumeration value="OnVessel-FreeOnBoardPoint"/>
-            <xsd:enumeration value="PortofArrival"/>
-            <xsd:enumeration value="PortofDischarge"/>
-            <xsd:enumeration value="PolicyMailingAddress"/>
-            <xsd:enumeration value="ParentsAddress"/>
-            <xsd:enumeration value="Primary"/>
-            <xsd:enumeration value="PriorBusiness"/>
-            <xsd:enumeration value="Plant"/>
-            <xsd:enumeration value="PrincipalServicingOffice"/>
-            <xsd:enumeration value="PoolPoint"/>
-            <xsd:enumeration value="3DigitUSZIP"/>
-            <xsd:enumeration value="4DigitUSZIP"/>
-            <xsd:enumeration value="5DigitUSZIP"/>
-            <xsd:enumeration value="3DigitCanadianPostalCode"/>
-            <xsd:enumeration value="6DigitCanadianPostalCode"/>
-            <xsd:enumeration value="RateAreaCode"/>
-            <xsd:enumeration value="InRailCar"/>
-            <xsd:enumeration value="RegionalEducationServiceAgency"/>
-            <xsd:enumeration value="RegionCode"/>
-            <xsd:enumeration value="Region"/>
-            <xsd:enumeration value="Rural"/>
-            <xsd:enumeration value="StandardCarrierAlphaCode"/>
-            <xsd:enumeration value="RouteAdministrativeMessageTo"/>
-            <xsd:enumeration value="Secondary"/>
-            <xsd:enumeration value="Suburban"/>
-            <xsd:enumeration value="CityOrStateAndPointsWithin"/>
-            <xsd:enumeration value="SchoolDistrict"/>
-            <xsd:enumeration value="Summer"/>
-            <xsd:enumeration value="Storage"/>
-            <xsd:enumeration value="SchoolCampusCode"/>
-            <xsd:enumeration value="US-SPLC"/>
-            <xsd:enumeration value="StoreNumber"/>
-            <xsd:enumeration value="StateOrProvince"/>
-            <xsd:enumeration value="School"/>
-            <xsd:enumeration value="InStorageTank"/>
-            <xsd:enumeration value="SwitchingDistrict"/>
-            <xsd:enumeration value="Tank"/>
-            <xsd:enumeration value="TranscontinentalFreightBureau"/>
-            <xsd:enumeration value="TerminalCargoLocation"/>
-            <xsd:enumeration value="Terminal"/>
-            <xsd:enumeration value="Township"/>
-            <xsd:enumeration value="Temporary"/>
-            <xsd:enumeration value="RailTerritory"/>
-            <xsd:enumeration value="TaxingDistrict"/>
-            <xsd:enumeration value="UnitedNationsLocationCode"/>
-            <xsd:enumeration value="Urban"/>
-            <xsd:enumeration value="BusinessUnit"/>
-            <xsd:enumeration value="Vacation"/>
-            <xsd:enumeration value="Village"/>
-            <xsd:enumeration value="VesselStowageLocation"/>
-            <xsd:enumeration value="Wharf"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="Winter"/>
-            <xsd:enumeration value="ZoneCode"/>
-            <xsd:enumeration value="OverseasAndPointLocation"/>
-            <xsd:enumeration value="FinalPortOfDischarge"/>
-            <xsd:enumeration value="CollectChargeLocation"/>
-            <xsd:enumeration value="CustomsOfficeOfManifestOrigin"/>
-            <xsd:enumeration value="CustomsOfficeOfManifestDestination"/>
-            <xsd:enumeration value="ActivityLocation"/>
-            <xsd:enumeration value="OriginRailIntermodalTerminal"/>
-            <xsd:enumeration value="DestinationRailIntermodalTerminal"/>
-            <xsd:enumeration value="FirstOptionalPortOfDischarge"/>
-            <xsd:enumeration value="SecondOptionalPortOfDischarge"/>
-            <xsd:enumeration value="PlaceOfAcceptance"/>
-            <xsd:enumeration value="ReconsolidationPoint"/>
-            <xsd:enumeration value="De-ConsolidationPoint"/>
-            <xsd:enumeration value="PortOfDischarge"/>
-            <xsd:enumeration value="PlaceOfDelivery"/>
-            <xsd:enumeration value="FreightPayableAt"/>
-            <xsd:enumeration value="PortOfEntry"/>
-            <xsd:enumeration value="PortOfExit"/>
-            <xsd:enumeration value="InterimPoint"/>
-            <xsd:enumeration value="BillOfLadingPortOfLoading"/>
-            <xsd:enumeration value="BillOfLadingPortOfDischarge"/>
-            <xsd:enumeration value="PortOfLoading"/>
-            <xsd:enumeration value="Destination"/>
-            <xsd:enumeration value="FinalDestination"/>
-            <xsd:enumeration value="Origin"/>
-            <xsd:enumeration value="DispatchingPool"/>
-            <xsd:enumeration value="BillOfLadingOriginOfGoods"/>
-            <xsd:enumeration value="PlaceOfReceipt"/>
-            <xsd:enumeration value="ReturnPool"/>
-            <xsd:enumeration value="TransshipmentPort"/>
-            <xsd:enumeration value="PrepaidChargeLocation"/>
-            <xsd:enumeration value="BillOfLadingReleaseOffice"/>
-            <xsd:enumeration value="ThirdOptionalPortOfDischarge"/>
-            <xsd:enumeration value="RelayPort"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="LocationIdentifier">
-        <xsd:sequence>
-            <xsd:element name="LocID">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="LocationDescription" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="LocationIdentifier" type="LocationIdentifier"/>
-    <xsd:complexType name="NameAddress">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="ExternalAddressID" type="xsd:string"/>
-            <xsd:element name="Name1" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Name2" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Name3" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Identifier"/>
-            <xsd:element minOccurs="0" ref="POBox"/>
-            <xsd:element minOccurs="0" name="Street" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HouseNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="StreetSupplement1" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="StreetSupplement2" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Building" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Floor" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="RoomNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="InhouseMail" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Department" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="PostalCode" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="City" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="County" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Region"/>
-            <xsd:element minOccurs="0" name="District" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Country"/>
-            <xsd:element minOccurs="0" ref="Timezone"/>
-        </xsd:sequence>
-        <xsd:attribute name="AddressTypeCoded" type="AddressTypeCode" use="optional" default="NotApplicable"/>
-        <xsd:attribute name="AddressTypeCodedOther" type="xsd:string" use="optional"/>
-    </xsd:complexType>
-    <xsd:element name="NameAddress" type="NameAddress"/>
-    <xsd:complexType name="POBox">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:string">
-                <xsd:attribute name="POBoxPostalCode" type="xsd:string" use="optional"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="POBox" type="POBox"/>
-    <xsd:complexType name="Region">
-        <xsd:sequence>
-            <xsd:element name="RegionCoded" type="RegionCode"/>
-            <xsd:element minOccurs="0" name="RegionCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Region" type="Region"/>
-    <xsd:simpleType name="RegionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AUACT"/>
-            <xsd:enumeration value="AUNSW"/>
-            <xsd:enumeration value="AUNT"/>
-            <xsd:enumeration value="AUQLD"/>
-            <xsd:enumeration value="AUSA"/>
-            <xsd:enumeration value="AUTAS"/>
-            <xsd:enumeration value="AUVIC"/>
-            <xsd:enumeration value="AUWA"/>
-            <xsd:enumeration value="BRAC"/>
-            <xsd:enumeration value="BRAL"/>
-            <xsd:enumeration value="BRAM"/>
-            <xsd:enumeration value="BRAP"/>
-            <xsd:enumeration value="BRBA"/>
-            <xsd:enumeration value="BRCE"/>
-            <xsd:enumeration value="BRDF"/>
-            <xsd:enumeration value="BRES"/>
-            <xsd:enumeration value="BRGO"/>
-            <xsd:enumeration value="BRMA"/>
-            <xsd:enumeration value="BRMG"/>
-            <xsd:enumeration value="BRMS"/>
-            <xsd:enumeration value="BRMT"/>
-            <xsd:enumeration value="BRPA"/>
-            <xsd:enumeration value="BRPB"/>
-            <xsd:enumeration value="BRPE"/>
-            <xsd:enumeration value="BRPI"/>
-            <xsd:enumeration value="BRPR"/>
-            <xsd:enumeration value="BRRJ"/>
-            <xsd:enumeration value="BRRN"/>
-            <xsd:enumeration value="BRRO"/>
-            <xsd:enumeration value="BRRR"/>
-            <xsd:enumeration value="BRRS"/>
-            <xsd:enumeration value="BRSC"/>
-            <xsd:enumeration value="BRSE"/>
-            <xsd:enumeration value="BRSP"/>
-            <xsd:enumeration value="BRTO"/>
-            <xsd:enumeration value="CAAB"/>
-            <xsd:enumeration value="CABC"/>
-            <xsd:enumeration value="CAMB"/>
-            <xsd:enumeration value="CANB"/>
-            <xsd:enumeration value="CANF"/>
-            <xsd:enumeration value="CANS"/>
-            <xsd:enumeration value="CANT"/>
-            <xsd:enumeration value="CAON"/>
-            <xsd:enumeration value="CAPE"/>
-            <xsd:enumeration value="CAQC"/>
-            <xsd:enumeration value="CASK"/>
-            <xsd:enumeration value="CAYT"/>
-            <xsd:enumeration value="GBAM"/>
-            <xsd:enumeration value="GBAR"/>
-            <xsd:enumeration value="GBAT"/>
-            <xsd:enumeration value="GBBA"/>
-            <xsd:enumeration value="GBBB"/>
-            <xsd:enumeration value="GBBE"/>
-            <xsd:enumeration value="GBBF"/>
-            <xsd:enumeration value="GBBH"/>
-            <xsd:enumeration value="GBBK"/>
-            <xsd:enumeration value="GBBL"/>
-            <xsd:enumeration value="GBBM"/>
-            <xsd:enumeration value="GBBN"/>
-            <xsd:enumeration value="GBBO"/>
-            <xsd:enumeration value="GBBP"/>
-            <xsd:enumeration value="GBBR"/>
-            <xsd:enumeration value="GBBS"/>
-            <xsd:enumeration value="GBBU"/>
-            <xsd:enumeration value="GBBY"/>
-            <xsd:enumeration value="GBCA"/>
-            <xsd:enumeration value="GBCE"/>
-            <xsd:enumeration value="GBCG"/>
-            <xsd:enumeration value="GBCH"/>
-            <xsd:enumeration value="GBCI"/>
-            <xsd:enumeration value="GBCK"/>
-            <xsd:enumeration value="GBCL"/>
-            <xsd:enumeration value="GBCO"/>
-            <xsd:enumeration value="GBCR"/>
-            <xsd:enumeration value="GBCS"/>
-            <xsd:enumeration value="GBCU"/>
-            <xsd:enumeration value="GBCV"/>
-            <xsd:enumeration value="GBDB"/>
-            <xsd:enumeration value="GBDF"/>
-            <xsd:enumeration value="GBDG"/>
-            <xsd:enumeration value="GBDL"/>
-            <xsd:enumeration value="GBDN"/>
-            <xsd:enumeration value="GBDO"/>
-            <xsd:enumeration value="GBDU"/>
-            <xsd:enumeration value="GBDV"/>
-            <xsd:enumeration value="GBDY"/>
-            <xsd:enumeration value="GBER"/>
-            <xsd:enumeration value="GBES"/>
-            <xsd:enumeration value="GBFI"/>
-            <xsd:enumeration value="GBFM"/>
-            <xsd:enumeration value="GBGL"/>
-            <xsd:enumeration value="GBGM"/>
-            <xsd:enumeration value="GBGR"/>
-            <xsd:enumeration value="GBGS"/>
-            <xsd:enumeration value="GBGW"/>
-            <xsd:enumeration value="GBGY"/>
-            <xsd:enumeration value="GBHA"/>
-            <xsd:enumeration value="GBHI"/>
-            <xsd:enumeration value="GBHL"/>
-            <xsd:enumeration value="GBHR"/>
-            <xsd:enumeration value="GBHT"/>
-            <xsd:enumeration value="GBHW"/>
-            <xsd:enumeration value="GBIW"/>
-            <xsd:enumeration value="GBKE"/>
-            <xsd:enumeration value="GBKH"/>
-            <xsd:enumeration value="GBLA"/>
-            <xsd:enumeration value="GBLC"/>
-            <xsd:enumeration value="GBLD"/>
-            <xsd:enumeration value="GBLE"/>
-            <xsd:enumeration value="GBLI"/>
-            <xsd:enumeration value="GBLM"/>
-            <xsd:enumeration value="GBLO"/>
-            <xsd:enumeration value="GBLR"/>
-            <xsd:enumeration value="GBLS"/>
-            <xsd:enumeration value="GBLT"/>
-            <xsd:enumeration value="GBLU"/>
-            <xsd:enumeration value="GBMA"/>
-            <xsd:enumeration value="GBMG"/>
-            <xsd:enumeration value="GBMI"/>
-            <xsd:enumeration value="GBMK"/>
-            <xsd:enumeration value="GBMO"/>
-            <xsd:enumeration value="GBMY"/>
-            <xsd:enumeration value="GBNA"/>
-            <xsd:enumeration value="GBNB"/>
-            <xsd:enumeration value="GBNC"/>
-            <xsd:enumeration value="GBND"/>
-            <xsd:enumeration value="GBNE"/>
-            <xsd:enumeration value="GBNH"/>
-            <xsd:enumeration value="GBNK"/>
-            <xsd:enumeration value="GBNL"/>
-            <xsd:enumeration value="GBNM"/>
-            <xsd:enumeration value="GBNS"/>
-            <xsd:enumeration value="GBNT"/>
-            <xsd:enumeration value="GBNU"/>
-            <xsd:enumeration value="GBOM"/>
-            <xsd:enumeration value="GBOR"/>
-            <xsd:enumeration value="GBOX"/>
-            <xsd:enumeration value="GBPB"/>
-            <xsd:enumeration value="GBPL"/>
-            <xsd:enumeration value="GBPM"/>
-            <xsd:enumeration value="GBPO"/>
-            <xsd:enumeration value="GBPY"/>
-            <xsd:enumeration value="GBRD"/>
-            <xsd:enumeration value="GBRE"/>
-            <xsd:enumeration value="GBRM"/>
-            <xsd:enumeration value="GBRU"/>
-            <xsd:enumeration value="GBSC"/>
-            <xsd:enumeration value="GBSD"/>
-            <xsd:enumeration value="GBSE"/>
-            <xsd:enumeration value="GBSG"/>
-            <xsd:enumeration value="GBSH"/>
-            <xsd:enumeration value="GBSK"/>
-            <xsd:enumeration value="GBSL"/>
-            <xsd:enumeration value="GBSN"/>
-            <xsd:enumeration value="GBSO"/>
-            <xsd:enumeration value="GBSP"/>
-            <xsd:enumeration value="GBSR"/>
-            <xsd:enumeration value="GBST"/>
-            <xsd:enumeration value="GBSU"/>
-            <xsd:enumeration value="GBSW"/>
-            <xsd:enumeration value="GBSY"/>
-            <xsd:enumeration value="GBTA"/>
-            <xsd:enumeration value="GBTD"/>
-            <xsd:enumeration value="GBTH"/>
-            <xsd:enumeration value="GBTO"/>
-            <xsd:enumeration value="GBTW"/>
-            <xsd:enumeration value="GBWA"/>
-            <xsd:enumeration value="GBWD"/>
-            <xsd:enumeration value="GBWG"/>
-            <xsd:enumeration value="GBWI"/>
-            <xsd:enumeration value="GBWL"/>
-            <xsd:enumeration value="GBWM"/>
-            <xsd:enumeration value="GBWO"/>
-            <xsd:enumeration value="GBWR"/>
-            <xsd:enumeration value="GBWT"/>
-            <xsd:enumeration value="GBYK"/>
-            <xsd:enumeration value="GBYN"/>
-            <xsd:enumeration value="GBYS"/>
-            <xsd:enumeration value="GBYW"/>
-            <xsd:enumeration value="ITAG"/>
-            <xsd:enumeration value="ITAL"/>
-            <xsd:enumeration value="ITAN"/>
-            <xsd:enumeration value="ITAO"/>
-            <xsd:enumeration value="ITAP"/>
-            <xsd:enumeration value="ITAQ"/>
-            <xsd:enumeration value="ITAR"/>
-            <xsd:enumeration value="ITAT"/>
-            <xsd:enumeration value="ITAV"/>
-            <xsd:enumeration value="ITBA"/>
-            <xsd:enumeration value="ITBG"/>
-            <xsd:enumeration value="ITBI"/>
-            <xsd:enumeration value="ITBL"/>
-            <xsd:enumeration value="ITBN"/>
-            <xsd:enumeration value="ITBO"/>
-            <xsd:enumeration value="ITBR"/>
-            <xsd:enumeration value="ITBS"/>
-            <xsd:enumeration value="ITBZ"/>
-            <xsd:enumeration value="ITCA"/>
-            <xsd:enumeration value="ITCB"/>
-            <xsd:enumeration value="ITCE"/>
-            <xsd:enumeration value="ITCH"/>
-            <xsd:enumeration value="ITCL"/>
-            <xsd:enumeration value="ITCN"/>
-            <xsd:enumeration value="ITCO"/>
-            <xsd:enumeration value="ITCR"/>
-            <xsd:enumeration value="ITCS"/>
-            <xsd:enumeration value="ITCT"/>
-            <xsd:enumeration value="ITCZ"/>
-            <xsd:enumeration value="ITEN"/>
-            <xsd:enumeration value="ITFE"/>
-            <xsd:enumeration value="ITFG"/>
-            <xsd:enumeration value="ITFI"/>
-            <xsd:enumeration value="ITFO"/>
-            <xsd:enumeration value="ITFR"/>
-            <xsd:enumeration value="ITGE"/>
-            <xsd:enumeration value="ITGO"/>
-            <xsd:enumeration value="ITGR"/>
-            <xsd:enumeration value="ITIM"/>
-            <xsd:enumeration value="ITIS"/>
-            <xsd:enumeration value="ITKR"/>
-            <xsd:enumeration value="ITLC"/>
-            <xsd:enumeration value="ITLE"/>
-            <xsd:enumeration value="ITLI"/>
-            <xsd:enumeration value="ITLO"/>
-            <xsd:enumeration value="ITLT"/>
-            <xsd:enumeration value="ITLU"/>
-            <xsd:enumeration value="ITMC"/>
-            <xsd:enumeration value="ITME"/>
-            <xsd:enumeration value="ITMI"/>
-            <xsd:enumeration value="ITMN"/>
-            <xsd:enumeration value="ITMO"/>
-            <xsd:enumeration value="ITMS"/>
-            <xsd:enumeration value="ITMT"/>
-            <xsd:enumeration value="ITNA"/>
-            <xsd:enumeration value="ITNO"/>
-            <xsd:enumeration value="ITNU"/>
-            <xsd:enumeration value="ITOR"/>
-            <xsd:enumeration value="ITPA"/>
-            <xsd:enumeration value="ITPC"/>
-            <xsd:enumeration value="ITPD"/>
-            <xsd:enumeration value="ITPE"/>
-            <xsd:enumeration value="ITPG"/>
-            <xsd:enumeration value="ITPI"/>
-            <xsd:enumeration value="ITPN"/>
-            <xsd:enumeration value="ITPO"/>
-            <xsd:enumeration value="ITPR"/>
-            <xsd:enumeration value="ITPS"/>
-            <xsd:enumeration value="ITPT"/>
-            <xsd:enumeration value="ITPV"/>
-            <xsd:enumeration value="ITPZ"/>
-            <xsd:enumeration value="ITRA"/>
-            <xsd:enumeration value="ITRC"/>
-            <xsd:enumeration value="ITRE"/>
-            <xsd:enumeration value="ITRG"/>
-            <xsd:enumeration value="ITRI"/>
-            <xsd:enumeration value="ITRM"/>
-            <xsd:enumeration value="ITRN"/>
-            <xsd:enumeration value="ITRO"/>
-            <xsd:enumeration value="ITRV"/>
-            <xsd:enumeration value="ITSA"/>
-            <xsd:enumeration value="ITSI"/>
-            <xsd:enumeration value="ITSO"/>
-            <xsd:enumeration value="ITSP"/>
-            <xsd:enumeration value="ITSR"/>
-            <xsd:enumeration value="ITSS"/>
-            <xsd:enumeration value="ITSV"/>
-            <xsd:enumeration value="ITTA"/>
-            <xsd:enumeration value="ITTE"/>
-            <xsd:enumeration value="ITTN"/>
-            <xsd:enumeration value="ITTO"/>
-            <xsd:enumeration value="ITTP"/>
-            <xsd:enumeration value="ITTR"/>
-            <xsd:enumeration value="ITTS"/>
-            <xsd:enumeration value="ITTV"/>
-            <xsd:enumeration value="ITUD"/>
-            <xsd:enumeration value="ITVA"/>
-            <xsd:enumeration value="ITVC"/>
-            <xsd:enumeration value="ITVE"/>
-            <xsd:enumeration value="ITVI"/>
-            <xsd:enumeration value="ITVR"/>
-            <xsd:enumeration value="ITVT"/>
-            <xsd:enumeration value="ITVV"/>
-            <xsd:enumeration value="USAK"/>
-            <xsd:enumeration value="USAL"/>
-            <xsd:enumeration value="USAR"/>
-            <xsd:enumeration value="USAS"/>
-            <xsd:enumeration value="USAZ"/>
-            <xsd:enumeration value="USCA"/>
-            <xsd:enumeration value="USCO"/>
-            <xsd:enumeration value="USCT"/>
-            <xsd:enumeration value="USDC"/>
-            <xsd:enumeration value="USDE"/>
-            <xsd:enumeration value="USFL"/>
-            <xsd:enumeration value="USGA"/>
-            <xsd:enumeration value="USGU"/>
-            <xsd:enumeration value="USHI"/>
-            <xsd:enumeration value="USIA"/>
-            <xsd:enumeration value="USID"/>
-            <xsd:enumeration value="USIL"/>
-            <xsd:enumeration value="USIN"/>
-            <xsd:enumeration value="USKS"/>
-            <xsd:enumeration value="USKY"/>
-            <xsd:enumeration value="USLA"/>
-            <xsd:enumeration value="USMA"/>
-            <xsd:enumeration value="USMD"/>
-            <xsd:enumeration value="USME"/>
-            <xsd:enumeration value="USMI"/>
-            <xsd:enumeration value="USMN"/>
-            <xsd:enumeration value="USMO"/>
-            <xsd:enumeration value="USMP"/>
-            <xsd:enumeration value="USMS"/>
-            <xsd:enumeration value="USMT"/>
-            <xsd:enumeration value="USNC"/>
-            <xsd:enumeration value="USND"/>
-            <xsd:enumeration value="USNE"/>
-            <xsd:enumeration value="USNH"/>
-            <xsd:enumeration value="USNJ"/>
-            <xsd:enumeration value="USNM"/>
-            <xsd:enumeration value="USNV"/>
-            <xsd:enumeration value="USNY"/>
-            <xsd:enumeration value="USOH"/>
-            <xsd:enumeration value="USOK"/>
-            <xsd:enumeration value="USOR"/>
-            <xsd:enumeration value="USPA"/>
-            <xsd:enumeration value="USPR"/>
-            <xsd:enumeration value="USRI"/>
-            <xsd:enumeration value="USSC"/>
-            <xsd:enumeration value="USSD"/>
-            <xsd:enumeration value="USTN"/>
-            <xsd:enumeration value="USTX"/>
-            <xsd:enumeration value="USUT"/>
-            <xsd:enumeration value="USVA"/>
-            <xsd:enumeration value="USVI"/>
-            <xsd:enumeration value="USVT"/>
-            <xsd:enumeration value="USWA"/>
-            <xsd:enumeration value="USWI"/>
-            <xsd:enumeration value="USWV"/>
-            <xsd:enumeration value="USWY"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Country">
-        <xsd:sequence>
-            <xsd:element name="CountryCoded" type="CountryCode"/>
-            <xsd:element minOccurs="0" name="CountryCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Country" type="Country"/>
-    <xsd:simpleType name="CountryCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AE"/>
-            <xsd:enumeration value="AF"/>
-            <xsd:enumeration value="AG"/>
-            <xsd:enumeration value="AI"/>
-            <xsd:enumeration value="AL"/>
-            <xsd:enumeration value="AM"/>
-            <xsd:enumeration value="AN"/>
-            <xsd:enumeration value="AO"/>
-            <xsd:enumeration value="AQ"/>
-            <xsd:enumeration value="AR"/>
-            <xsd:enumeration value="AS"/>
-            <xsd:enumeration value="AT"/>
-            <xsd:enumeration value="AU"/>
-            <xsd:enumeration value="AW"/>
-            <xsd:enumeration value="AZ"/>
-            <xsd:enumeration value="BA"/>
-            <xsd:enumeration value="BB"/>
-            <xsd:enumeration value="BD"/>
-            <xsd:enumeration value="BE"/>
-            <xsd:enumeration value="BF"/>
-            <xsd:enumeration value="BG"/>
-            <xsd:enumeration value="BH"/>
-            <xsd:enumeration value="BI"/>
-            <xsd:enumeration value="BJ"/>
-            <xsd:enumeration value="BM"/>
-            <xsd:enumeration value="BN"/>
-            <xsd:enumeration value="BO"/>
-            <xsd:enumeration value="BR"/>
-            <xsd:enumeration value="BS"/>
-            <xsd:enumeration value="BT"/>
-            <xsd:enumeration value="BU"/>
-            <xsd:enumeration value="BW"/>
-            <xsd:enumeration value="BY"/>
-            <xsd:enumeration value="BZ"/>
-            <xsd:enumeration value="CA"/>
-            <xsd:enumeration value="CC"/>
-            <xsd:enumeration value="CD"/>
-            <xsd:enumeration value="CF"/>
-            <xsd:enumeration value="CG"/>
-            <xsd:enumeration value="CH"/>
-            <xsd:enumeration value="CI"/>
-            <xsd:enumeration value="CK"/>
-            <xsd:enumeration value="CL"/>
-            <xsd:enumeration value="CM"/>
-            <xsd:enumeration value="CN"/>
-            <xsd:enumeration value="CO"/>
-            <xsd:enumeration value="CR"/>
-            <xsd:enumeration value="CS"/>
-            <xsd:enumeration value="CU"/>
-            <xsd:enumeration value="CV"/>
-            <xsd:enumeration value="CX"/>
-            <xsd:enumeration value="CY"/>
-            <xsd:enumeration value="CZ"/>
-            <xsd:enumeration value="DE"/>
-            <xsd:enumeration value="DJ"/>
-            <xsd:enumeration value="DK"/>
-            <xsd:enumeration value="DM"/>
-            <xsd:enumeration value="DO"/>
-            <xsd:enumeration value="DZ"/>
-            <xsd:enumeration value="EC"/>
-            <xsd:enumeration value="EE"/>
-            <xsd:enumeration value="EG"/>
-            <xsd:enumeration value="EH"/>
-            <xsd:enumeration value="ER"/>
-            <xsd:enumeration value="ES"/>
-            <xsd:enumeration value="ET"/>
-            <xsd:enumeration value="FI"/>
-            <xsd:enumeration value="FJ"/>
-            <xsd:enumeration value="FK"/>
-            <xsd:enumeration value="FM"/>
-            <xsd:enumeration value="FO"/>
-            <xsd:enumeration value="FR"/>
-            <xsd:enumeration value="GA"/>
-            <xsd:enumeration value="GB"/>
-            <xsd:enumeration value="GD"/>
-            <xsd:enumeration value="GE"/>
-            <xsd:enumeration value="GF"/>
-            <xsd:enumeration value="GH"/>
-            <xsd:enumeration value="GI"/>
-            <xsd:enumeration value="GL"/>
-            <xsd:enumeration value="GM"/>
-            <xsd:enumeration value="GN"/>
-            <xsd:enumeration value="GP"/>
-            <xsd:enumeration value="GQ"/>
-            <xsd:enumeration value="GR"/>
-            <xsd:enumeration value="GS"/>
-            <xsd:enumeration value="GT"/>
-            <xsd:enumeration value="GU"/>
-            <xsd:enumeration value="GW"/>
-            <xsd:enumeration value="GY"/>
-            <xsd:enumeration value="HK"/>
-            <xsd:enumeration value="HN"/>
-            <xsd:enumeration value="HR"/>
-            <xsd:enumeration value="HT"/>
-            <xsd:enumeration value="HU"/>
-            <xsd:enumeration value="ID"/>
-            <xsd:enumeration value="IE"/>
-            <xsd:enumeration value="IL"/>
-            <xsd:enumeration value="IN"/>
-            <xsd:enumeration value="IO"/>
-            <xsd:enumeration value="IQ"/>
-            <xsd:enumeration value="IR"/>
-            <xsd:enumeration value="IS"/>
-            <xsd:enumeration value="IT"/>
-            <xsd:enumeration value="JM"/>
-            <xsd:enumeration value="JO"/>
-            <xsd:enumeration value="JP"/>
-            <xsd:enumeration value="KE"/>
-            <xsd:enumeration value="KG"/>
-            <xsd:enumeration value="KH"/>
-            <xsd:enumeration value="KI"/>
-            <xsd:enumeration value="KM"/>
-            <xsd:enumeration value="KN"/>
-            <xsd:enumeration value="KP"/>
-            <xsd:enumeration value="KR"/>
-            <xsd:enumeration value="KW"/>
-            <xsd:enumeration value="KY"/>
-            <xsd:enumeration value="KZ"/>
-            <xsd:enumeration value="LA"/>
-            <xsd:enumeration value="LB"/>
-            <xsd:enumeration value="LC"/>
-            <xsd:enumeration value="LI"/>
-            <xsd:enumeration value="LK"/>
-            <xsd:enumeration value="LR"/>
-            <xsd:enumeration value="LS"/>
-            <xsd:enumeration value="LT"/>
-            <xsd:enumeration value="LU"/>
-            <xsd:enumeration value="LV"/>
-            <xsd:enumeration value="LY"/>
-            <xsd:enumeration value="MA"/>
-            <xsd:enumeration value="MC"/>
-            <xsd:enumeration value="MD"/>
-            <xsd:enumeration value="MG"/>
-            <xsd:enumeration value="MH"/>
-            <xsd:enumeration value="MK"/>
-            <xsd:enumeration value="ML"/>
-            <xsd:enumeration value="MM"/>
-            <xsd:enumeration value="MN"/>
-            <xsd:enumeration value="MO"/>
-            <xsd:enumeration value="MP"/>
-            <xsd:enumeration value="MQ"/>
-            <xsd:enumeration value="MR"/>
-            <xsd:enumeration value="MS"/>
-            <xsd:enumeration value="MT"/>
-            <xsd:enumeration value="MU"/>
-            <xsd:enumeration value="MV"/>
-            <xsd:enumeration value="MW"/>
-            <xsd:enumeration value="MX"/>
-            <xsd:enumeration value="MY"/>
-            <xsd:enumeration value="MZ"/>
-            <xsd:enumeration value="NA"/>
-            <xsd:enumeration value="NC"/>
-            <xsd:enumeration value="NE"/>
-            <xsd:enumeration value="NF"/>
-            <xsd:enumeration value="NG"/>
-            <xsd:enumeration value="NI"/>
-            <xsd:enumeration value="NL"/>
-            <xsd:enumeration value="NO"/>
-            <xsd:enumeration value="NP"/>
-            <xsd:enumeration value="NR"/>
-            <xsd:enumeration value="NU"/>
-            <xsd:enumeration value="NZ"/>
-            <xsd:enumeration value="OM"/>
-            <xsd:enumeration value="PA"/>
-            <xsd:enumeration value="PE"/>
-            <xsd:enumeration value="PF"/>
-            <xsd:enumeration value="PG"/>
-            <xsd:enumeration value="PH"/>
-            <xsd:enumeration value="PK"/>
-            <xsd:enumeration value="PL"/>
-            <xsd:enumeration value="PM"/>
-            <xsd:enumeration value="PN"/>
-            <xsd:enumeration value="PR"/>
-            <xsd:enumeration value="PT"/>
-            <xsd:enumeration value="PW"/>
-            <xsd:enumeration value="PY"/>
-            <xsd:enumeration value="QA"/>
-            <xsd:enumeration value="RE"/>
-            <xsd:enumeration value="RO"/>
-            <xsd:enumeration value="RU"/>
-            <xsd:enumeration value="RW"/>
-            <xsd:enumeration value="SA"/>
-            <xsd:enumeration value="SB"/>
-            <xsd:enumeration value="SC"/>
-            <xsd:enumeration value="SD"/>
-            <xsd:enumeration value="SE"/>
-            <xsd:enumeration value="SG"/>
-            <xsd:enumeration value="SH"/>
-            <xsd:enumeration value="SI"/>
-            <xsd:enumeration value="SJ"/>
-            <xsd:enumeration value="SK"/>
-            <xsd:enumeration value="SL"/>
-            <xsd:enumeration value="SM"/>
-            <xsd:enumeration value="SN"/>
-            <xsd:enumeration value="SO"/>
-            <xsd:enumeration value="SR"/>
-            <xsd:enumeration value="ST"/>
-            <xsd:enumeration value="SV"/>
-            <xsd:enumeration value="SY"/>
-            <xsd:enumeration value="SZ"/>
-            <xsd:enumeration value="TC"/>
-            <xsd:enumeration value="TD"/>
-            <xsd:enumeration value="TF"/>
-            <xsd:enumeration value="TG"/>
-            <xsd:enumeration value="TH"/>
-            <xsd:enumeration value="TJ"/>
-            <xsd:enumeration value="TM"/>
-            <xsd:enumeration value="TN"/>
-            <xsd:enumeration value="TO"/>
-            <xsd:enumeration value="TP"/>
-            <xsd:enumeration value="TR"/>
-            <xsd:enumeration value="TT"/>
-            <xsd:enumeration value="TV"/>
-            <xsd:enumeration value="TW"/>
-            <xsd:enumeration value="TZ"/>
-            <xsd:enumeration value="UA"/>
-            <xsd:enumeration value="UG"/>
-            <xsd:enumeration value="UM"/>
-            <xsd:enumeration value="US"/>
-            <xsd:enumeration value="UY"/>
-            <xsd:enumeration value="UZ"/>
-            <xsd:enumeration value="VA"/>
-            <xsd:enumeration value="VC"/>
-            <xsd:enumeration value="VE"/>
-            <xsd:enumeration value="VG"/>
-            <xsd:enumeration value="VI"/>
-            <xsd:enumeration value="VN"/>
-            <xsd:enumeration value="VU"/>
-            <xsd:enumeration value="WF"/>
-            <xsd:enumeration value="WS"/>
-            <xsd:enumeration value="YE"/>
-            <xsd:enumeration value="YT"/>
-            <xsd:enumeration value="YU"/>
-            <xsd:enumeration value="ZA"/>
-            <xsd:enumeration value="ZM"/>
-            <xsd:enumeration value="ZW"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Timezone">
-        <xsd:sequence>
-            <xsd:element name="TimezoneCoded" type="TimezoneCode"/>
-            <xsd:element minOccurs="0" name="TimezoneCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Timezone" type="Timezone"/>
-    <xsd:simpleType name="TimezoneCode">
-        <xsd:restriction base="xsd:string">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="12.00"/>
-            <xsd:enumeration value="11.45"/>
-            <xsd:enumeration value="11.30"/>
-            <xsd:enumeration value="11.15"/>
-            <xsd:enumeration value="11.00"/>
-            <xsd:enumeration value="10.45"/>
-            <xsd:enumeration value="10.30"/>
-            <xsd:enumeration value="10.15"/>
-            <xsd:enumeration value="10.00"/>
-            <xsd:enumeration value="09.45"/>
-            <xsd:enumeration value="09.30"/>
-            <xsd:enumeration value="09.15"/>
-            <xsd:enumeration value="09.00"/>
-            <xsd:enumeration value="08.45"/>
-            <xsd:enumeration value="08.30"/>
-            <xsd:enumeration value="08.15"/>
-            <xsd:enumeration value="08.00"/>
-            <xsd:enumeration value="07.45"/>
-            <xsd:enumeration value="07.30"/>
-            <xsd:enumeration value="07.15"/>
-            <xsd:enumeration value="07.00"/>
-            <xsd:enumeration value="06.45"/>
-            <xsd:enumeration value="06.30"/>
-            <xsd:enumeration value="06.15"/>
-            <xsd:enumeration value="06.00"/>
-            <xsd:enumeration value="05.45"/>
-            <xsd:enumeration value="05.30"/>
-            <xsd:enumeration value="05.15"/>
-            <xsd:enumeration value="05.00"/>
-            <xsd:enumeration value="04.45"/>
-            <xsd:enumeration value="04.30"/>
-            <xsd:enumeration value="04.15"/>
-            <xsd:enumeration value="04.00"/>
-            <xsd:enumeration value="03.45"/>
-            <xsd:enumeration value="03.30"/>
-            <xsd:enumeration value="03.15"/>
-            <xsd:enumeration value="03.00"/>
-            <xsd:enumeration value="02.45"/>
-            <xsd:enumeration value="02.30"/>
-            <xsd:enumeration value="02.15"/>
-            <xsd:enumeration value="02.00"/>
-            <xsd:enumeration value="01.45"/>
-            <xsd:enumeration value="01.30"/>
-            <xsd:enumeration value="01.15"/>
-            <xsd:enumeration value="01.00"/>
-            <xsd:enumeration value="00.45"/>
-            <xsd:enumeration value="00.30"/>
-            <xsd:enumeration value="00.15"/>
-            <xsd:enumeration value="00.00"/>
-            <xsd:enumeration value="-00.15"/>
-            <xsd:enumeration value="-00.30"/>
-            <xsd:enumeration value="-00.45"/>
-            <xsd:enumeration value="-01.00"/>
-            <xsd:enumeration value="-01.15"/>
-            <xsd:enumeration value="-01.30"/>
-            <xsd:enumeration value="-01.45"/>
-            <xsd:enumeration value="-02.00"/>
-            <xsd:enumeration value="-02.15"/>
-            <xsd:enumeration value="-02.30"/>
-            <xsd:enumeration value="-02.45"/>
-            <xsd:enumeration value="-03.00"/>
-            <xsd:enumeration value="-03.15"/>
-            <xsd:enumeration value="-03.30"/>
-            <xsd:enumeration value="-03.45"/>
-            <xsd:enumeration value="-04.00"/>
-            <xsd:enumeration value="-04.15"/>
-            <xsd:enumeration value="-04.30"/>
-            <xsd:enumeration value="-04.45"/>
-            <xsd:enumeration value="-05.00"/>
-            <xsd:enumeration value="-05.15"/>
-            <xsd:enumeration value="-05.30"/>
-            <xsd:enumeration value="-05.45"/>
-            <xsd:enumeration value="-06.00"/>
-            <xsd:enumeration value="-06.15"/>
-            <xsd:enumeration value="-06.30"/>
-            <xsd:enumeration value="-06.45"/>
-            <xsd:enumeration value="-07.00"/>
-            <xsd:enumeration value="-07.15"/>
-            <xsd:enumeration value="-07.30"/>
-            <xsd:enumeration value="-07.45"/>
-            <xsd:enumeration value="-08.00"/>
-            <xsd:enumeration value="-08.15"/>
-            <xsd:enumeration value="-08.30"/>
-            <xsd:enumeration value="-08.45"/>
-            <xsd:enumeration value="-09.00"/>
-            <xsd:enumeration value="-09.15"/>
-            <xsd:enumeration value="-09.30"/>
-            <xsd:enumeration value="-09.45"/>
-            <xsd:enumeration value="-10.00"/>
-            <xsd:enumeration value="-10.15"/>
-            <xsd:enumeration value="-10.30"/>
-            <xsd:enumeration value="-10.45"/>
-            <xsd:enumeration value="-11.00"/>
-            <xsd:enumeration value="-11.15"/>
-            <xsd:enumeration value="-11.30"/>
-            <xsd:enumeration value="-11.45"/>
-            <xsd:enumeration value="-12.00"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="AddressTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AcceptanceLocation"/>
-            <xsd:enumeration value="AccountsPayableOffice"/>
-            <xsd:enumeration value="AcknowledgementRecipient"/>
-            <xsd:enumeration value="AdditionalAddress"/>
-            <xsd:enumeration value="AdditionalDeliveryAddress"/>
-            <xsd:enumeration value="AdditionalPickUpAddress"/>
-            <xsd:enumeration value="AlcoholBeverageDepartment"/>
-            <xsd:enumeration value="AlternateReturnAddress"/>
-            <xsd:enumeration value="AlternativeAddressee"/>
-            <xsd:enumeration value="AuditOffice"/>
-            <xsd:enumeration value="BailmentWarehouse"/>
-            <xsd:enumeration value="BidOpeningLocation"/>
-            <xsd:enumeration value="BillAndShipTo"/>
-            <xsd:enumeration value="BilledFrom"/>
-            <xsd:enumeration value="BillOfLadingRecipient"/>
-            <xsd:enumeration value="BillTo"/>
-            <xsd:enumeration value="BookingOffice"/>
-            <xsd:enumeration value="CandyAndConfectionsDepartment"/>
-            <xsd:enumeration value="ChangedAddress"/>
-            <xsd:enumeration value="CompanyAssignedWell"/>
-            <xsd:enumeration value="Company-OwnedOilField"/>
-            <xsd:enumeration value="ConsigneeCourierTransferStation"/>
-            <xsd:enumeration value="ConsignorCourierTransferStation"/>
-            <xsd:enumeration value="ConsultantsOffice"/>
-            <xsd:enumeration value="ContactOffice"/>
-            <xsd:enumeration value="ContainerLocation"/>
-            <xsd:enumeration value="CopyMessageTo"/>
-            <xsd:enumeration value="CorporateOffice"/>
-            <xsd:enumeration value="CorrectedAddress"/>
-            <xsd:enumeration value="DeliveryAddress"/>
-            <xsd:enumeration value="DestinationMailFacility"/>
-            <xsd:enumeration value="DifferentPremiseAddress"/>
-            <xsd:enumeration value="DistributionRecipient"/>
-            <xsd:enumeration value="DocumentOrMessageIssuerOrSender"/>
-            <xsd:enumeration value="DocumentRecipient"/>
-            <xsd:enumeration value="DomesticFinancialInstitution"/>
-            <xsd:enumeration value="DownstreamMeterLocation"/>
-            <xsd:enumeration value="Drop-OffLocation"/>
-            <xsd:enumeration value="EmergencyDepartment"/>
-            <xsd:enumeration value="EstablishedLocation"/>
-            <xsd:enumeration value="EventLocation"/>
-            <xsd:enumeration value="FilingAddress"/>
-            <xsd:enumeration value="FilingLocation"/>
-            <xsd:enumeration value="FilingOffice"/>
-            <xsd:enumeration value="FinalMessageRecipient"/>
-            <xsd:enumeration value="FinalRecipient"/>
-            <xsd:enumeration value="FinalScheduledDestination"/>
-            <xsd:enumeration value="FinancialInstitution"/>
-            <xsd:enumeration value="FirstContact"/>
-            <xsd:enumeration value="FloralDepartment"/>
-            <xsd:enumeration value="ForeignDisclosureInformationOffice"/>
-            <xsd:enumeration value="ForeignOffice"/>
-            <xsd:enumeration value="ForeignRegistrationLocation"/>
-            <xsd:enumeration value="FormerAddress"/>
-            <xsd:enumeration value="FreeonBoardPoint"/>
-            <xsd:enumeration value="FrozenDepartment"/>
-            <xsd:enumeration value="GaragedLocation"/>
-            <xsd:enumeration value="GasPlant"/>
-            <xsd:enumeration value="GasTransactionEndingPoint"/>
-            <xsd:enumeration value="GasTransactionPoint1"/>
-            <xsd:enumeration value="GasTransactionPoint2"/>
-            <xsd:enumeration value="GasTransactionStartingPoint"/>
-            <xsd:enumeration value="HazardousMaterialOffice"/>
-            <xsd:enumeration value="HeadOffice"/>
-            <xsd:enumeration value="HomeOffice"/>
-            <xsd:enumeration value="ImportedFromLocation"/>
-            <xsd:enumeration value="IncorporatedLocation"/>
-            <xsd:enumeration value="IncorporationStatePlaceOfBusiness"/>
-            <xsd:enumeration value="IncorporationStatePrincipalOffice"/>
-            <xsd:enumeration value="InquiryAddress"/>
-            <xsd:enumeration value="InspectionAddress"/>
-            <xsd:enumeration value="InspectionAndAcceptanceLocation"/>
-            <xsd:enumeration value="InspectionLocation"/>
-            <xsd:enumeration value="InstalledAt"/>
-            <xsd:enumeration value="In-StoreBakeryDepartment"/>
-            <xsd:enumeration value="InsuredLocation"/>
-            <xsd:enumeration value="Laboratory"/>
-            <xsd:enumeration value="LastBreakTerminal"/>
-            <xsd:enumeration value="LeaseLocation"/>
-            <xsd:enumeration value="ListingOffice"/>
-            <xsd:enumeration value="LocalChain"/>
-            <xsd:enumeration value="LocationOfGoods"/>
-            <xsd:enumeration value="LocationOfGoodsForCustomsExaminationBeforeClearance"/>
-            <xsd:enumeration value="LocationOfLoadExchange"/>
-            <xsd:enumeration value="LocationOfSpotForStorage"/>
-            <xsd:enumeration value="Lot"/>
-            <xsd:enumeration value="MailAddress"/>
-            <xsd:enumeration value="MailTo"/>
-            <xsd:enumeration value="ManufacturingPlant"/>
-            <xsd:enumeration value="MasterProperty"/>
-            <xsd:enumeration value="MaterialChangeNoticeAddress"/>
-            <xsd:enumeration value="MaterialDispositionAuthorizationLocation"/>
-            <xsd:enumeration value="MeatDepartment"/>
-            <xsd:enumeration value="MeetingLocation"/>
-            <xsd:enumeration value="MessageFrom"/>
-            <xsd:enumeration value="MessageRecipient"/>
-            <xsd:enumeration value="MessageTo"/>
-            <xsd:enumeration value="Neighborhood"/>
-            <xsd:enumeration value="NewAddress"/>
-            <xsd:enumeration value="NewSupplySource"/>
-            <xsd:enumeration value="NextDestination"/>
-            <xsd:enumeration value="NextScheduledDestination"/>
-            <xsd:enumeration value="Non-TemporaryStorageFacility"/>
-            <xsd:enumeration value="NotApplicable"/>
-            <xsd:enumeration value="OperatorOfTheTransferPoint"/>
-            <xsd:enumeration value="OriginalLocation"/>
-            <xsd:enumeration value="OriginMailFacility"/>
-            <xsd:enumeration value="OriginSublocation"/>
-            <xsd:enumeration value="OriginTerminal"/>
-            <xsd:enumeration value="OtherDepartments"/>
-            <xsd:enumeration value="OuterContinentalShelfAreaLocation"/>
-            <xsd:enumeration value="Out-Of-StatePrincipalOffice"/>
-            <xsd:enumeration value="OwningInventoryControlPoint"/>
-            <xsd:enumeration value="PartSource"/>
-            <xsd:enumeration value="PaymentAddress"/>
-            <xsd:enumeration value="PersonnelOffice"/>
-            <xsd:enumeration value="PharmacyDepartment"/>
-            <xsd:enumeration value="PhysicalAddress"/>
-            <xsd:enumeration value="PickUpAddress"/>
-            <xsd:enumeration value="Pipeline"/>
-            <xsd:enumeration value="PipelineSegment"/>
-            <xsd:enumeration value="PipelineSegmentBoundary"/>
-            <xsd:enumeration value="PlaceOfBottling"/>
-            <xsd:enumeration value="PlaceOfBusiness"/>
-            <xsd:enumeration value="PostalMailingAddress"/>
-            <xsd:enumeration value="PreliminaryInspectionLocation"/>
-            <xsd:enumeration value="Premises"/>
-            <xsd:enumeration value="PresentAddress"/>
-            <xsd:enumeration value="PrimaryControlPointLocation"/>
-            <xsd:enumeration value="ProduceDepartment"/>
-            <xsd:enumeration value="ProductServicesAndRepairsCentre"/>
-            <xsd:enumeration value="ProjectCoordinationOffice"/>
-            <xsd:enumeration value="ProjectManagementOffice"/>
-            <xsd:enumeration value="ProjectProperty"/>
-            <xsd:enumeration value="Property"/>
-            <xsd:enumeration value="QualityControl"/>
-            <xsd:enumeration value="RadioControlStationLocation"/>
-            <xsd:enumeration value="Railroad"/>
-            <xsd:enumeration value="ReceiptMeterLocation"/>
-            <xsd:enumeration value="ReceiptZone"/>
-            <xsd:enumeration value="ReceivedFrom"/>
-            <xsd:enumeration value="ReceiverSite"/>
-            <xsd:enumeration value="ReceivingLocation"/>
-            <xsd:enumeration value="ReceivingPointForCustomerSamples"/>
-            <xsd:enumeration value="ReceivingSub-Location"/>
-            <xsd:enumeration value="ReclamationCenter"/>
-            <xsd:enumeration value="Record-KeepingAddress"/>
-            <xsd:enumeration value="Refinery"/>
-            <xsd:enumeration value="RegionalOffice"/>
-            <xsd:enumeration value="RegisteredOffice"/>
-            <xsd:enumeration value="ReleaseTo"/>
-            <xsd:enumeration value="RemitTo"/>
-            <xsd:enumeration value="RepairingOutlet"/>
-            <xsd:enumeration value="RepairOrRefurbishLocation"/>
-            <xsd:enumeration value="ReportingLocation"/>
-            <xsd:enumeration value="ResearchInstitute"/>
-            <xsd:enumeration value="ResidenceOrDomicile"/>
-            <xsd:enumeration value="ReturnedTo"/>
-            <xsd:enumeration value="RoutingPoint"/>
-            <xsd:enumeration value="SalesOffice"/>
-            <xsd:enumeration value="SamplesToBeReturnedTo"/>
-            <xsd:enumeration value="SamplingLocation"/>
-            <xsd:enumeration value="SecondaryLocationAddress"/>
-            <xsd:enumeration value="SecondHome"/>
-            <xsd:enumeration value="SellingOffice"/>
-            <xsd:enumeration value="ServiceBureau"/>
-            <xsd:enumeration value="ServiceLocation"/>
-            <xsd:enumeration value="ShelteredWorkshop"/>
-            <xsd:enumeration value="ShipFrom"/>
-            <xsd:enumeration value="ShipTo"/>
-            <xsd:enumeration value="SmallBaseStationLocation"/>
-            <xsd:enumeration value="SmallControlStationLocation"/>
-            <xsd:enumeration value="SoldToAndShipTo"/>
-            <xsd:enumeration value="SoldToIfDifferentFromBillTo"/>
-            <xsd:enumeration value="StorageArea"/>
-            <xsd:enumeration value="StorageFacilityatDestination"/>
-            <xsd:enumeration value="StorageFacilityAtOrigin"/>
-            <xsd:enumeration value="Store"/>
-            <xsd:enumeration value="SoldTo"/>
-            <xsd:enumeration value="SubcontractOrCognizantSecurityOffice"/>
-            <xsd:enumeration value="SubjectProperty"/>
-            <xsd:enumeration value="Sub-Office"/>
-            <xsd:enumeration value="Subsidiary"/>
-            <xsd:enumeration value="SubsidiaryDivision"/>
-            <xsd:enumeration value="SupplierOrManufacturer"/>
-            <xsd:enumeration value="SuppliersCorporateOffice"/>
-            <xsd:enumeration value="SupplySource"/>
-            <xsd:enumeration value="TankFarm"/>
-            <xsd:enumeration value="TaxAddress"/>
-            <xsd:enumeration value="TaxCollectorsOffice"/>
-            <xsd:enumeration value="TechnicalOffice"/>
-            <xsd:enumeration value="Terminal"/>
-            <xsd:enumeration value="TerminalLocation"/>
-            <xsd:enumeration value="TestingLaboratory"/>
-            <xsd:enumeration value="ToolSource"/>
-            <xsd:enumeration value="TransferPoint"/>
-            <xsd:enumeration value="TransferTo"/>
-            <xsd:enumeration value="TransportationOffice"/>
-            <xsd:enumeration value="UltimateConsignee"/>
-            <xsd:enumeration value="UltimateCustomer"/>
-            <xsd:enumeration value="UltimateParentCompany"/>
-            <xsd:enumeration value="UnitProperty"/>
-            <xsd:enumeration value="UpstreamMeterLocation"/>
-            <xsd:enumeration value="VacationHome"/>
-            <xsd:enumeration value="Vendor"/>
-            <xsd:enumeration value="VideoDepartment"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="Wholesaler"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="GPSCooridinates">
-        <xsd:sequence>
-            <xsd:element name="GPSSystem" type="xsd:string"/>
-            <xsd:element name="Latitude" type="xsd:string"/>
-            <xsd:element name="Longitude" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="GPSCooridinates" type="GPSCooridinates"/>
-    <xsd:simpleType name="TaxTreatmentCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="NoTaxApplies"/>
-            <xsd:enumeration value="NetInvoiceLevel"/>
-            <xsd:enumeration value="GrossInvoiceLevel"/>
-            <xsd:enumeration value="NetLineLevel"/>
-            <xsd:enumeration value="GrossLineLevel"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="OrderInvoiceMediumTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Circuitswitching"/>
-            <xsd:enumeration value="SITA"/>
-            <xsd:enumeration value="ARINC"/>
-            <xsd:enumeration value="Courier"/>
-            <xsd:enumeration value="CableAddress"/>
-            <xsd:enumeration value="EDITransmission"/>
-            <xsd:enumeration value="ElectronicMail"/>
-            <xsd:enumeration value="Extension"/>
-            <xsd:enumeration value="FileTransferAccessMethod"/>
-            <xsd:enumeration value="TeleFax"/>
-            <xsd:enumeration value="GEISMailbox"/>
-            <xsd:enumeration value="IBMInformationExchange"/>
-            <xsd:enumeration value="InternalMail"/>
-            <xsd:enumeration value="Mail"/>
-            <xsd:enumeration value="PostBoxNo"/>
-            <xsd:enumeration value="PacketSwitching"/>
-            <xsd:enumeration value="SWIFT"/>
-            <xsd:enumeration value="Telephone"/>
-            <xsd:enumeration value="Telegraph"/>
-            <xsd:enumeration value="Telex"/>
-            <xsd:enumeration value="TeleMail"/>
-            <xsd:enumeration value="TeleText"/>
-            <xsd:enumeration value="TWX"/>
-            <xsd:enumeration value="X.400"/>
-            <xsd:enumeration value="NotRequired"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="OrderDates">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="RequestedShipByDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" name="RequestedDeliverByDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" name="PromiseDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" ref="ValidityDates"/>
-            <xsd:element minOccurs="0" name="CancelByDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" ref="ListOfDateCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderDates" type="OrderDates"/>
-    <xsd:complexType name="ListOfDateCoded">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="DateCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfDateCoded" type="ListOfDateCoded"/>
-    <xsd:complexType name="DateCoded">
-        <xsd:sequence>
-            <xsd:element name="Date" type="xcblDatetime"/>
-            <xsd:element ref="DateQualifier"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="DateCoded" type="DateCoded"/>
-    <xsd:complexType name="DateQualifier">
-        <xsd:sequence>
-            <xsd:element name="DateQualifierCoded" type="DateQualifierCode"/>
-            <xsd:element minOccurs="0" name="DateQualifierCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="DateQualifier" type="DateQualifier"/>
-    <xsd:simpleType name="DateQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="36030"/>
-            <xsd:enumeration value="36530"/>
-            <xsd:enumeration value="365630"/>
-            <xsd:enumeration value="3602831"/>
-            <xsd:enumeration value="3652831"/>
-            <xsd:enumeration value="36562831"/>
-            <xsd:enumeration value="1stScheduleDelivery"/>
-            <xsd:enumeration value="1stScheduleShip"/>
-            <xsd:enumeration value="Acceleration"/>
-            <xsd:enumeration value="AcceptanceDateOfDocument"/>
-            <xsd:enumeration value="AcceptanceDateOfGoodsDeclarationCustoms"/>
-            <xsd:enumeration value="AcceptanceDateTimeOfGoods"/>
-            <xsd:enumeration value="AccidentBenefitAgeLimit"/>
-            <xsd:enumeration value="AccidentBenefitPeriod"/>
-            <xsd:enumeration value="AccidentDateAndOrTime"/>
-            <xsd:enumeration value="AccidentInsuranceEliminationPeriod"/>
-            <xsd:enumeration value="AccidentLifetimeBenefitQualificationAge"/>
-            <xsd:enumeration value="AccountantsOpinionDate"/>
-            <xsd:enumeration value="AccountClosedDate"/>
-            <xsd:enumeration value="AccountingMethodologyChangeDate"/>
-            <xsd:enumeration value="AccountingPeriod"/>
-            <xsd:enumeration value="AccountingPeriodEndDate"/>
-            <xsd:enumeration value="AccountingPeriodStartDate"/>
-            <xsd:enumeration value="AccountingTransactionDate"/>
-            <xsd:enumeration value="AccountingValueDate"/>
-            <xsd:enumeration value="AccountingYear"/>
-            <xsd:enumeration value="AccountOpened"/>
-            <xsd:enumeration value="AccountsReceivable-StatementDate"/>
-            <xsd:enumeration value="Acknowledgment"/>
-            <xsd:enumeration value="AcquisitionDate"/>
-            <xsd:enumeration value="ActionDate"/>
-            <xsd:enumeration value="ActionEndDate"/>
-            <xsd:enumeration value="ActivityReportingDate"/>
-            <xsd:enumeration value="ActivityPeriodDateRange"/>
-            <xsd:enumeration value="Actual"/>
-            <xsd:enumeration value="ActualArchive"/>
-            <xsd:enumeration value="ArrivalDateTimeActual"/>
-            <xsd:enumeration value="ActualComplete"/>
-            <xsd:enumeration value="DepartureDateTimeActual"/>
-            <xsd:enumeration value="DischargeDateTimeActual"/>
-            <xsd:enumeration value="ActualPortOfEntry"/>
-            <xsd:enumeration value="ActualRelease"/>
-            <xsd:enumeration value="ActualReturnToWork"/>
-            <xsd:enumeration value="StartDateActual"/>
-            <xsd:enumeration value="AcuteManifestationDate"/>
-            <xsd:enumeration value="AcuteManifestationOfAChronicCondition"/>
-            <xsd:enumeration value="Added"/>
-            <xsd:enumeration value="AddressPeriod"/>
-            <xsd:enumeration value="Adjournment"/>
-            <xsd:enumeration value="AdjustedAge"/>
-            <xsd:enumeration value="AdjustedContestability"/>
-            <xsd:enumeration value="AdjustedDeathBenefit"/>
-            <xsd:enumeration value="AdjustedEnd"/>
-            <xsd:enumeration value="AdjustedHire"/>
-            <xsd:enumeration value="AdjustedStart"/>
-            <xsd:enumeration value="AdjustmentEffectiveDate"/>
-            <xsd:enumeration value="AdjustmentPeriod"/>
-            <xsd:enumeration value="AdjustmentPeriodEnd"/>
-            <xsd:enumeration value="AdjustmentPeriodStart"/>
-            <xsd:enumeration value="AdjustmentProcessed"/>
-            <xsd:enumeration value="AdjustmentPromised"/>
-            <xsd:enumeration value="AdjustmentToBillDated"/>
-            <xsd:enumeration value="AdministratorOrderedDate"/>
-            <xsd:enumeration value="AdmissionDateAndOrTimeExpected"/>
-            <xsd:enumeration value="AdoptionDateActual"/>
-            <xsd:enumeration value="AdviseAfterDateTime"/>
-            <xsd:enumeration value="AdviseBeforeDateTime"/>
-            <xsd:enumeration value="AdviseCompletedDateTime"/>
-            <xsd:enumeration value="AdviseOnDateTime"/>
-            <xsd:enumeration value="AdvisingDate"/>
-            <xsd:enumeration value="Age"/>
-            <xsd:enumeration value="AgreementToPayDate"/>
-            <xsd:enumeration value="AiredDate"/>
-            <xsd:enumeration value="AllotmentPeriodStart"/>
-            <xsd:enumeration value="AllowableEffective"/>
-            <xsd:enumeration value="AllowedRenewalDurationPeriod"/>
-            <xsd:enumeration value="AlternateBasePeriod"/>
-            <xsd:enumeration value="AlternateProblemResolution"/>
-            <xsd:enumeration value="AlternativeDueDate"/>
-            <xsd:enumeration value="AnalysisMonthEnding"/>
-            <xsd:enumeration value="AnesthesiaAdministration"/>
-            <xsd:enumeration value="Anniversary"/>
-            <xsd:enumeration value="AnnualReportDelinquentOnDate"/>
-            <xsd:enumeration value="AnnualReportDueDate"/>
-            <xsd:enumeration value="AnnualReportFilingDate"/>
-            <xsd:enumeration value="AnnualReportMailingDate"/>
-            <xsd:enumeration value="Annuitization"/>
-            <xsd:enumeration value="AnnuityCommencementDate"/>
-            <xsd:enumeration value="AnticipatedClosing"/>
-            <xsd:enumeration value="AppliancePlacement"/>
-            <xsd:enumeration value="ApplicantSigned"/>
-            <xsd:enumeration value="Application"/>
-            <xsd:enumeration value="ApplicationEntry"/>
-            <xsd:enumeration value="ApplicationLoggedDate"/>
-            <xsd:enumeration value="ApplicationStatus"/>
-            <xsd:enumeration value="AppointmentEffective"/>
-            <xsd:enumeration value="AppointmentExpiryDate"/>
-            <xsd:enumeration value="AppraisalOrdered"/>
-            <xsd:enumeration value="ApprovalOffer"/>
-            <xsd:enumeration value="ApprovalDate"/>
-            <xsd:enumeration value="Arrested"/>
-            <xsd:enumeration value="ArrivalDateTimeAtInitialPort"/>
-            <xsd:enumeration value="ArrivalDateTimeEarliest"/>
-            <xsd:enumeration value="ArrivalDateTimeOfTransportLeadTime"/>
-            <xsd:enumeration value="ArrivalDateTimeScheduled"/>
-            <xsd:enumeration value="ArrivalDateTimeUltimate"/>
-            <xsd:enumeration value="ArrivalInCountry"/>
-            <xsd:enumeration value="ArterialBloodGasTest"/>
-            <xsd:enumeration value="AsOf"/>
-            <xsd:enumeration value="AssemblyStart"/>
-            <xsd:enumeration value="Asset"/>
-            <xsd:enumeration value="AssetAndLiabilityScheduleDate"/>
-            <xsd:enumeration value="AssetDocumentationExpiration"/>
-            <xsd:enumeration value="AssignedDate"/>
-            <xsd:enumeration value="AssignmentRecorded"/>
-            <xsd:enumeration value="AttendanceDateAndOrTimeAndOrPeriod"/>
-            <xsd:enumeration value="AudienceDeficiencyPeriod"/>
-            <xsd:enumeration value="AuditPeriodAfterSplitDate"/>
-            <xsd:enumeration value="AuditPeriodPriorToSplitDate"/>
-            <xsd:enumeration value="AuthenticationDateTimeOfDocument"/>
-            <xsd:enumeration value="AuthenticationValidationDateTime"/>
-            <xsd:enumeration value="AuthorizationDate"/>
-            <xsd:enumeration value="AutomaticPremiumLoan"/>
-            <xsd:enumeration value="AvailabilityDueDate"/>
-            <xsd:enumeration value="Availability"/>
-            <xsd:enumeration value="AverageDeliveryDelay"/>
-            <xsd:enumeration value="AveragePaymentPeriod"/>
-            <xsd:enumeration value="Award"/>
-            <xsd:enumeration value="BackOnMarket"/>
-            <xsd:enumeration value="BackOrderDeliveryDateTimePeriod"/>
-            <xsd:enumeration value="BalanceDateTimePeriod"/>
-            <xsd:enumeration value="BalanceSheetDateLatest"/>
-            <xsd:enumeration value="Base"/>
-            <xsd:enumeration value="Baseline"/>
-            <xsd:enumeration value="BaselineComplete"/>
-            <xsd:enumeration value="BaselineStart"/>
-            <xsd:enumeration value="BeforeInventoryIsReplenishedBasedOnStockCheckLeadTime"/>
-            <xsd:enumeration value="BeginningLayDate"/>
-            <xsd:enumeration value="BeginTherapy"/>
-            <xsd:enumeration value="BeneficiarysBanksDueDate"/>
-            <xsd:enumeration value="Benefit"/>
-            <xsd:enumeration value="BenefitAdjustmentEnd"/>
-            <xsd:enumeration value="BenefitAdjustmentPeriod"/>
-            <xsd:enumeration value="BenefitAdjustmentStart"/>
-            <xsd:enumeration value="BenefitApplicationDate"/>
-            <xsd:enumeration value="BenefitBegin"/>
-            <xsd:enumeration value="BenefitChangeDateTime"/>
-            <xsd:enumeration value="BenefitCreditEnd"/>
-            <xsd:enumeration value="BenefitCreditPeriod"/>
-            <xsd:enumeration value="BenefitCreditStart"/>
-            <xsd:enumeration value="BenefitDebitEnd"/>
-            <xsd:enumeration value="BenefitDebitStart"/>
-            <xsd:enumeration value="BenefitEnd"/>
-            <xsd:enumeration value="BenefitPaymentsTerminationDate"/>
-            <xsd:enumeration value="BenefitPeriod"/>
-            <xsd:enumeration value="BenefitReleaseAuthorizationDate"/>
-            <xsd:enumeration value="BenefitsPaid"/>
-            <xsd:enumeration value="BenefitTransferEnd"/>
-            <xsd:enumeration value="BenefitTransferPeriod"/>
-            <xsd:enumeration value="BenefitTransferStart"/>
-            <xsd:enumeration value="BenefitTypeGrossWeeklyAmountEffective"/>
-            <xsd:enumeration value="BenefitTypeNetWeeklyAmountEffective"/>
-            <xsd:enumeration value="BenefitPeriodEndDate"/>
-            <xsd:enumeration value="BenefitPeriodStartDate"/>
-            <xsd:enumeration value="BestBeforeDate"/>
-            <xsd:enumeration value="BestTimeToCall"/>
-            <xsd:enumeration value="BiannualTerminalInspectionDate"/>
-            <xsd:enumeration value="BidEffective"/>
-            <xsd:enumeration value="BidOpenDateBidsWillBeOpened"/>
-            <xsd:enumeration value="BidPriceException"/>
-            <xsd:enumeration value="Bill"/>
-            <xsd:enumeration value="BilledThrough"/>
-            <xsd:enumeration value="BillOfLadingDate"/>
-            <xsd:enumeration value="BirthCertificate"/>
-            <xsd:enumeration value="BirthDateTime"/>
-            <xsd:enumeration value="BlanksValueDate"/>
-            <xsd:enumeration value="Blueprint"/>
-            <xsd:enumeration value="BoardOfDirectorsIncompleteAsOf"/>
-            <xsd:enumeration value="BoardOfDirectorsNotAuthorizedAsOfGivenDate"/>
-            <xsd:enumeration value="BoardOfDirectorsNotCompleteAsOfGivenDate"/>
-            <xsd:enumeration value="BoardOfDirectorsRegistrationDate"/>
-            <xsd:enumeration value="BookEntryDelivery"/>
-            <xsd:enumeration value="BookingDateTime"/>
-            <xsd:enumeration value="BritishThermalUnitTestPerformed"/>
-            <xsd:enumeration value="BudgetLineApplicationDate"/>
-            <xsd:enumeration value="BusinessControlChangeDate"/>
-            <xsd:enumeration value="BusinessOpenedDate"/>
-            <xsd:enumeration value="BusinessTerminationDate"/>
-            <xsd:enumeration value="BuyersDock"/>
-            <xsd:enumeration value="BuyersLocalTime"/>
-            <xsd:enumeration value="CalculationDate"/>
-            <xsd:enumeration value="CalendarAnniversary"/>
-            <xsd:enumeration value="CalendarYear"/>
-            <xsd:enumeration value="CancelAfter"/>
-            <xsd:enumeration value="CancelAfterExCountry"/>
-            <xsd:enumeration value="CancelAfterExFactory"/>
-            <xsd:enumeration value="CancelIfNotDeliveredByThisDate"/>
-            <xsd:enumeration value="CancelIfNotPublishedByThisDate"/>
-            <xsd:enumeration value="CancelIfNotShippedByThisDate"/>
-            <xsd:enumeration value="CancellationDate"/>
-            <xsd:enumeration value="CancellationDateTimeLatest"/>
-            <xsd:enumeration value="CapitalizationDate"/>
-            <xsd:enumeration value="CapitationPeriodEnd"/>
-            <xsd:enumeration value="CapitationPeriodStart"/>
-            <xsd:enumeration value="CargoBookingConfirmedDateTime"/>
-            <xsd:enumeration value="CargoReleaseDateTimeUltimate"/>
-            <xsd:enumeration value="CaseConverted"/>
-            <xsd:enumeration value="CaseReopened"/>
-            <xsd:enumeration value="CashCallDate"/>
-            <xsd:enumeration value="CategoryChangeDateTime"/>
-            <xsd:enumeration value="CeasedOperations"/>
-            <xsd:enumeration value="CertificateEffective"/>
-            <xsd:enumeration value="Certification"/>
-            <xsd:enumeration value="CertificationOfWeightDateTime"/>
-            <xsd:enumeration value="CertificationPeriodStart"/>
-            <xsd:enumeration value="CertificationRevision"/>
-            <xsd:enumeration value="ChangedAccountingDate"/>
-            <xsd:enumeration value="ChangedDate"/>
-            <xsd:enumeration value="ChargeBackDateTime"/>
-            <xsd:enumeration value="ChargePeriod"/>
-            <xsd:enumeration value="ChargePeriodEndDate"/>
-            <xsd:enumeration value="ChargePeriodStartDate"/>
-            <xsd:enumeration value="ChartOfAccountPeriod"/>
-            <xsd:enumeration value="Check"/>
-            <xsd:enumeration value="CheckedDate"/>
-            <xsd:enumeration value="ChildbirthDateAndOrTimeActual"/>
-            <xsd:enumeration value="ChildbirthDateEstimated"/>
-            <xsd:enumeration value="Christening"/>
-            <xsd:enumeration value="Citation"/>
-            <xsd:enumeration value="CitizenshipChangeDate"/>
-            <xsd:enumeration value="ClaimAdministratorKnowledgeOfTheInjury"/>
-            <xsd:enumeration value="ClaimAdministratorNotifiedOfEmployeeLegalRepresentation"/>
-            <xsd:enumeration value="ClaimIncurredDate"/>
-            <xsd:enumeration value="ClaimMadeDate"/>
-            <xsd:enumeration value="ClaimNotificationReceived"/>
-            <xsd:enumeration value="ClaimsMade"/>
-            <xsd:enumeration value="ClaimStatementPeriodEnd"/>
-            <xsd:enumeration value="ClaimStatementPeriodStart"/>
-            <xsd:enumeration value="Clause"/>
-            <xsd:enumeration value="ClearanceDateCustoms"/>
-            <xsd:enumeration value="ClinicalExaminationDateAndOrTime"/>
-            <xsd:enumeration value="Closed"/>
-            <xsd:enumeration value="ClosedUntilDate"/>
-            <xsd:enumeration value="ClosingDateOfFirstBalanceSheet"/>
-            <xsd:enumeration value="ClosingDateTime"/>
-            <xsd:enumeration value="ClosureDateTimePeriod"/>
-            <xsd:enumeration value="CollateralDependent"/>
-            <xsd:enumeration value="CollateralDependentBegin"/>
-            <xsd:enumeration value="CollateralDependentEnd"/>
-            <xsd:enumeration value="Collection"/>
-            <xsd:enumeration value="CollectionDateTimeEarliest"/>
-            <xsd:enumeration value="CollectionDateTimeLatest"/>
-            <xsd:enumeration value="CommencedPumpingBallastDateTime"/>
-            <xsd:enumeration value="CommencedTankCleaningDateTime"/>
-            <xsd:enumeration value="CommercialRating"/>
-            <xsd:enumeration value="CompanyTermination"/>
-            <xsd:enumeration value="ComparisonPeriod"/>
-            <xsd:enumeration value="CompilationDateAndTime"/>
-            <xsd:enumeration value="Complaint"/>
-            <xsd:enumeration value="CompletedPumpingBallastDateTime"/>
-            <xsd:enumeration value="CompletedTankCleaningDateTime"/>
-            <xsd:enumeration value="CompletionDate"/>
-            <xsd:enumeration value="CompletionDateOrTimeNotAfter"/>
-            <xsd:enumeration value="CompletionDateOrTimeNotBefore"/>
-            <xsd:enumeration value="CompletionDateOrTimeScheduled"/>
-            <xsd:enumeration value="Compliance"/>
-            <xsd:enumeration value="ConditionInitialTreatmentDate"/>
-            <xsd:enumeration value="Confinement"/>
-            <xsd:enumeration value="ConfinementEnd"/>
-            <xsd:enumeration value="ConfinementStart"/>
-            <xsd:enumeration value="ConfirmationDateLeadTime"/>
-            <xsd:enumeration value="ConfirmedDateTime"/>
-            <xsd:enumeration value="Connection"/>
-            <xsd:enumeration value="Consolidated"/>
-            <xsd:enumeration value="ConsolidatedOmnibusBudgetReconciliationActCOBRA"/>
-            <xsd:enumeration value="ConsolidatedOmnibusBudgetReconciliationActCOBRABegin"/>
-            <xsd:enumeration value="ConsolidatedOmnibusBudgetReconciliationActCOBRAEnd"/>
-            <xsd:enumeration value="ConsolidatedOmnibusBudgetReconciliationActCOBRAQualifyingEvent"/>
-            <xsd:enumeration value="ConsolidationDate"/>
-            <xsd:enumeration value="ConstructionDateActual"/>
-            <xsd:enumeration value="ConstructionStart"/>
-            <xsd:enumeration value="ContainerSafetyConventionCscInspectionDate"/>
-            <xsd:enumeration value="ContainerSafetyConventionCscPlateExpirationDate"/>
-            <xsd:enumeration value="ContainerStrippingDateTimeUltimate"/>
-            <xsd:enumeration value="ContainerStuffingDateTimeUltimate"/>
-            <xsd:enumeration value="Contestability"/>
-            <xsd:enumeration value="Contingency"/>
-            <xsd:enumeration value="ContingencyEnd"/>
-            <xsd:enumeration value="Continuance"/>
-            <xsd:enumeration value="ContinuationOfPayStartDate"/>
-            <xsd:enumeration value="ContinuingEducationRequirement"/>
-            <xsd:enumeration value="ContinuousCoverageDates"/>
-            <xsd:enumeration value="ContinuousPassiveMotionCPM"/>
-            <xsd:enumeration value="ContractAuditDate"/>
-            <xsd:enumeration value="ContractAwardDateTime"/>
-            <xsd:enumeration value="ContractBindingDate"/>
-            <xsd:enumeration value="ContractCompletionDate"/>
-            <xsd:enumeration value="ContractCostsThrough"/>
-            <xsd:enumeration value="ContractDate"/>
-            <xsd:enumeration value="ContractDefinition"/>
-            <xsd:enumeration value="ContractEffectiveDate"/>
-            <xsd:enumeration value="ContractExpiryDate"/>
-            <xsd:enumeration value="ContractMailed"/>
-            <xsd:enumeration value="ContractPerformanceDelivery"/>
-            <xsd:enumeration value="ContractPerformanceStart"/>
-            <xsd:enumeration value="ContractPeriod"/>
-            <xsd:enumeration value="ContractRe-Open"/>
-            <xsd:enumeration value="ContractStart"/>
-            <xsd:enumeration value="ContractualDeliveryDate"/>
-            <xsd:enumeration value="ContractualStartDateTime"/>
-            <xsd:enumeration value="ContributionPeriodEndDateTime"/>
-            <xsd:enumeration value="ContributionPeriodStartDateTime"/>
-            <xsd:enumeration value="ContributionsCeasingDateTime"/>
-            <xsd:enumeration value="ControlPlan"/>
-            <xsd:enumeration value="ControvertDate"/>
-            <xsd:enumeration value="ConversionPrivilegeEnd"/>
-            <xsd:enumeration value="ConversionToRepayment"/>
-            <xsd:enumeration value="ConversionIntoHoldingCompanyDate"/>
-            <xsd:enumeration value="ConvertedToElectronicDate"/>
-            <xsd:enumeration value="ConveyanceRegistrationDate"/>
-            <xsd:enumeration value="ConvictedDate"/>
-            <xsd:enumeration value="CoordinationOfBenefits"/>
-            <xsd:enumeration value="CoordinationOfBenefitsBegin"/>
-            <xsd:enumeration value="CoordinationOfBenefitsEnd"/>
-            <xsd:enumeration value="CorrectedDateOfBirth"/>
-            <xsd:enumeration value="Correction"/>
-            <xsd:enumeration value="CosignerSigned"/>
-            <xsd:enumeration value="CourtDismissalDate"/>
-            <xsd:enumeration value="CourtEvent"/>
-            <xsd:enumeration value="CourtNotice"/>
-            <xsd:enumeration value="CourtRegistrationDate"/>
-            <xsd:enumeration value="CoverageDuration"/>
-            <xsd:enumeration value="CoverageIssueDate"/>
-            <xsd:enumeration value="CoveredIncomePeriod"/>
-            <xsd:enumeration value="CreditAdvice"/>
-            <xsd:enumeration value="CreditDocumentationExpiration"/>
-            <xsd:enumeration value="CreditedService"/>
-            <xsd:enumeration value="CreditedServiceBegin"/>
-            <xsd:enumeration value="CreditedServiceEnd"/>
-            <xsd:enumeration value="CreditorsRequestedValueDate"/>
-            <xsd:enumeration value="Crime"/>
-            <xsd:enumeration value="CriminalSentenceDuration"/>
-            <xsd:enumeration value="CrossborderDateTime"/>
-            <xsd:enumeration value="CumulativeQuantityEndDate"/>
-            <xsd:enumeration value="CumulativeQuantityStartDate"/>
-            <xsd:enumeration value="CureTime"/>
-            <xsd:enumeration value="Current"/>
-            <xsd:enumeration value="CurrentAuthorityControlStartDate"/>
-            <xsd:enumeration value="CurrentDisabilityPeriodEnd"/>
-            <xsd:enumeration value="CurrentDisabilityPeriodLastDayWorked"/>
-            <xsd:enumeration value="CurrentDisabilityPeriodStart"/>
-            <xsd:enumeration value="CurrentIncomePeriod"/>
-            <xsd:enumeration value="CurrentLegalStructureEffectiveDate"/>
-            <xsd:enumeration value="CurrentList"/>
-            <xsd:enumeration value="CurrentMonthEnding"/>
-            <xsd:enumeration value="CurrentNameEffectiveDate"/>
-            <xsd:enumeration value="CurrentReportDate"/>
-            <xsd:enumeration value="CurrentScheduleDelivery"/>
-            <xsd:enumeration value="CurrentScheduleShip"/>
-            <xsd:enumeration value="CurtailmentDate"/>
-            <xsd:enumeration value="CurtailmentDatefromAdviceOfPayment"/>
-            <xsd:enumeration value="CustomerContractEffective"/>
-            <xsd:enumeration value="CustomerContractExpiration"/>
-            <xsd:enumeration value="CustomerOrder"/>
-            <xsd:enumeration value="CustomerValueDate"/>
-            <xsd:enumeration value="CustomsCargoRelease"/>
-            <xsd:enumeration value="CustomsClearance"/>
-            <xsd:enumeration value="CustomsEntryDate"/>
-            <xsd:enumeration value="Cycle"/>
-            <xsd:enumeration value="CycleBegin"/>
-            <xsd:enumeration value="CycleEnd"/>
-            <xsd:enumeration value="CycleToDate"/>
-            <xsd:enumeration value="DateAccountMatures"/>
-            <xsd:enumeration value="DateAcquired"/>
-            <xsd:enumeration value="DateAndOrTimeOfHandlingEstimated"/>
-            <xsd:enumeration value="DateAsAt"/>
-            <xsd:enumeration value="DateAssignmentFiledForRecord"/>
-            <xsd:enumeration value="BankruptcyFiledDate"/>
-            <xsd:enumeration value="DateBecameAware"/>
-            <xsd:enumeration value="DateClaimPaid"/>
-            <xsd:enumeration value="DateCourseOfOrthodonticsTreatmentBeganOrIsExpectedToBegin"/>
-            <xsd:enumeration value="DateDeedFiledForRecord"/>
-            <xsd:enumeration value="DateDefaultWasCured"/>
-            <xsd:enumeration value="DateDocumentationOrPaperworkOrBothWasSent"/>
-            <xsd:enumeration value="FiledDate"/>
-            <xsd:enumeration value="DateForeclosureHeld"/>
-            <xsd:enumeration value="DateForeclosureProceedingsInstituted"/>
-            <xsd:enumeration value="DateForeclosureSaleScheduled"/>
-            <xsd:enumeration value="DateForTheLastUpdate"/>
-            <xsd:enumeration value="DateHazardInsurancePolicyCancelled"/>
-            <xsd:enumeration value="DateHazardInsurancePolicyRefused"/>
-            <xsd:enumeration value="DateMaterialUsageSuspended"/>
-            <xsd:enumeration value="DateOfAbandonment"/>
-            <xsd:enumeration value="DateOfAcquisitionOfTitle"/>
-            <xsd:enumeration value="DateOfAction"/>
-            <xsd:enumeration value="DateOfAdvance"/>
-            <xsd:enumeration value="DateOfAppraisal"/>
-            <xsd:enumeration value="DateOfAssignmentApproval"/>
-            <xsd:enumeration value="DateOfAssignmentRejection"/>
-            <xsd:enumeration value="DateOfClaim"/>
-            <xsd:enumeration value="DateOfClosing"/>
-            <xsd:enumeration value="DateOfDamage"/>
-            <xsd:enumeration value="DeceaseDate"/>
-            <xsd:enumeration value="DateOfDeedInLieu"/>
-            <xsd:enumeration value="DateOfDivorce"/>
-            <xsd:enumeration value="DateOfExtensionToConvey"/>
-            <xsd:enumeration value="DateOfFirmCommitment"/>
-            <xsd:enumeration value="DateOfFirstMortgagePayment"/>
-            <xsd:enumeration value="DateOfFirstRegistration"/>
-            <xsd:enumeration value="DateOfFirstUncuredDefault"/>
-            <xsd:enumeration value="DateOfForeclosureNotice"/>
-            <xsd:enumeration value="DateOfLastContact"/>
-            <xsd:enumeration value="DateOfLastDraw"/>
-            <xsd:enumeration value="DateOfLastInstallmentReceived"/>
-            <xsd:enumeration value="DateOfLastPaymentReceived"/>
-            <xsd:enumeration value="DateOfLastUpdate"/>
-            <xsd:enumeration value="DateOfLoan"/>
-            <xsd:enumeration value="DateOfLocalOfficeApprovalOfConveyanceOfDamagedRealEstateProperty"/>
-            <xsd:enumeration value="DateOfLocalOfficeApprovalOfConveyanceOfOccupied"/>
-            <xsd:enumeration value="DateOfLocalOfficeCertificationOfConveyanceOfDamagedRealEstate"/>
-            <xsd:enumeration value="DateOfMaximumMedicalImprovement"/>
-            <xsd:enumeration value="DateOfNoticeOfProbableIneligibilityForAssignment"/>
-            <xsd:enumeration value="DateOfNoticeOfReferralForAssignment"/>
-            <xsd:enumeration value="DateOfNoticeToConvey"/>
-            <xsd:enumeration value="DateOfOperation"/>
-            <xsd:enumeration value="DateOfOrderLeadTime"/>
-            <xsd:enumeration value="DateOfPossession"/>
-            <xsd:enumeration value="DateOfProductFailure"/>
-            <xsd:enumeration value="DateOfPropertyInspection"/>
-            <xsd:enumeration value="ReleaseFromBankruptcyDate"/>
-            <xsd:enumeration value="DateOfRepairOrService"/>
-            <xsd:enumeration value="DateOfSeizure"/>
-            <xsd:enumeration value="DateOfSeparation"/>
-            <xsd:enumeration value="DateOfSourceDocument"/>
-            <xsd:enumeration value="DateOfSpecification"/>
-            <xsd:enumeration value="DateOfStandard"/>
-            <xsd:enumeration value="DateOnWhichAssetsJudgedInsufficientToPayCreditors"/>
-            <xsd:enumeration value="DateOutstandingLoanBalanceReported"/>
-            <xsd:enumeration value="PackagingDate"/>
-            <xsd:enumeration value="DatePaid"/>
-            <xsd:enumeration value="DatePlacedInDisfavour"/>
-            <xsd:enumeration value="DatePossessoryActionInitiated"/>
-            <xsd:enumeration value="DatePracticeCeased"/>
-            <xsd:enumeration value="DatePracticeEstablished"/>
-            <xsd:enumeration value="DatePropertySold"/>
-            <xsd:enumeration value="DateReadyForCollection"/>
-            <xsd:enumeration value="DateRedemptionPeriodEnds"/>
-            <xsd:enumeration value="DateReferredToAttorneyForForeclosure"/>
-            <xsd:enumeration value="RequestDate"/>
-            <xsd:enumeration value="DateThroughWhichPropertyTaxesHaveBeenPaid"/>
-            <xsd:enumeration value="DateTimeOfDiscountTermination"/>
-            <xsd:enumeration value="DateTimeOfInterestDue"/>
-            <xsd:enumeration value="DateTimeOfLatestAccountsFilingAtPublicRegistry"/>
-            <xsd:enumeration value="DateTotalAmountOfDelinquencyReported"/>
-            <xsd:enumeration value="DateVoluntaryConveyanceAccepted"/>
-            <xsd:enumeration value="DateWhenContainerEquipmentBecomesDomestic"/>
-            <xsd:enumeration value="DaylightOverdraftTime"/>
-            <xsd:enumeration value="DaysOfOperation"/>
-            <xsd:enumeration value="DeathDateAndOrTime"/>
-            <xsd:enumeration value="DebitAdvice"/>
-            <xsd:enumeration value="DebitValueDateRequested"/>
-            <xsd:enumeration value="DebtIncurred"/>
-            <xsd:enumeration value="DecisionDate"/>
-            <xsd:enumeration value="Declaration"/>
-            <xsd:enumeration value="DeclarationPresentationDate"/>
-            <xsd:enumeration value="DeclarationReferencePeriod"/>
-            <xsd:enumeration value="Deductible"/>
-            <xsd:enumeration value="DeedNotAvailableAsOfGivenDate"/>
-            <xsd:enumeration value="Deferral"/>
-            <xsd:enumeration value="DeferredDistribution"/>
-            <xsd:enumeration value="DeferredPayment"/>
-            <xsd:enumeration value="DeferredPeriod"/>
-            <xsd:enumeration value="DefinitionOfDisabilityDuration"/>
-            <xsd:enumeration value="DelayedBillingNotDelayedPayment"/>
-            <xsd:enumeration value="DeletionDate"/>
-            <xsd:enumeration value="Delivered"/>
-            <xsd:enumeration value="DeliverNotBeforeAndNotAfterDates"/>
-            <xsd:enumeration value="DeliveryAppointmentDateAndTime"/>
-            <xsd:enumeration value="DeliveryDateTime1StSchedule"/>
-            <xsd:enumeration value="DeliveryDateTimeActual"/>
-            <xsd:enumeration value="DeliveryDateTimeCurrentSchedule"/>
-            <xsd:enumeration value="DeliveryDateTimeDeferred"/>
-            <xsd:enumeration value="DeliveryDateTimeEarliest"/>
-            <xsd:enumeration value="DeliveryDateTimeExpected"/>
-            <xsd:enumeration value="DeliveryDateTimeFirst"/>
-            <xsd:enumeration value="DeliveryDateTimeLast"/>
-            <xsd:enumeration value="DeliveryDateTimeLatest"/>
-            <xsd:enumeration value="DeliveryDateTimePromisedFor"/>
-            <xsd:enumeration value="DeliveryDateTimePromisedForAfterAndIncluding"/>
-            <xsd:enumeration value="DeliveryDateTimePromisedForPriorToAndIncluding"/>
-            <xsd:enumeration value="DeliveryDateTimeRequested"/>
-            <xsd:enumeration value="DeliveryDateTimeScheduledFor"/>
-            <xsd:enumeration value="DeliveryEnd"/>
-            <xsd:enumeration value="DeliveryOrderIssued"/>
-            <xsd:enumeration value="DeliveryRating"/>
-            <xsd:enumeration value="DeliveryRequested"/>
-            <xsd:enumeration value="DeliveryStart"/>
-            <xsd:enumeration value="DeliveryTicket"/>
-            <xsd:enumeration value="DenialEffective"/>
-            <xsd:enumeration value="DenialRescission"/>
-            <xsd:enumeration value="DepartmentAdmissionDateAndOrTime"/>
-            <xsd:enumeration value="DepartmentDischargeDateAndOrTime"/>
-            <xsd:enumeration value="DepartmentOfLaborWageDeterminationDate"/>
-            <xsd:enumeration value="DepartureDateTime"/>
-            <xsd:enumeration value="DepartureDateTimeEarliest"/>
-            <xsd:enumeration value="DepartureDateTimeFromLastPortOfCall"/>
-            <xsd:enumeration value="DepartureDateTimeScheduled"/>
-            <xsd:enumeration value="DepartureDateTimeUltimate"/>
-            <xsd:enumeration value="DepartureFromSpecification"/>
-            <xsd:enumeration value="DepositDateTime"/>
-            <xsd:enumeration value="DespatchDateAndOrTime"/>
-            <xsd:enumeration value="DespatchNoteDate"/>
-            <xsd:enumeration value="DetrimentalInformationReceiptDate"/>
-            <xsd:enumeration value="DirectInterchangeDate"/>
-            <xsd:enumeration value="Disability"/>
-            <xsd:enumeration value="DisabilityWaitPeriod"/>
-            <xsd:enumeration value="DisbursementDate"/>
-            <xsd:enumeration value="DischargeDateTime"/>
-            <xsd:enumeration value="DischargeAndLoadingCompletedDateTime"/>
-            <xsd:enumeration value="Discharge-Planned"/>
-            <xsd:enumeration value="Discovered"/>
-            <xsd:enumeration value="DiscrepancyDateTime"/>
-            <xsd:enumeration value="DisembarkationDateAndTime"/>
-            <xsd:enumeration value="DismissalDate"/>
-            <xsd:enumeration value="Disposal"/>
-            <xsd:enumeration value="Disposition"/>
-            <xsd:enumeration value="DistributorEffective"/>
-            <xsd:enumeration value="DistributorTermination"/>
-            <xsd:enumeration value="DividendApplied"/>
-            <xsd:enumeration value="DocumentaryCreditAmendmentDate"/>
-            <xsd:enumeration value="DocumentaryCreditExpiryDateTime"/>
-            <xsd:enumeration value="DocumentaryCreditIssueDate"/>
-            <xsd:enumeration value="DocumentaryCreditPresentationPeriod"/>
-            <xsd:enumeration value="DocumentDate"/>
-            <xsd:enumeration value="DocumentDue"/>
-            <xsd:enumeration value="DocumentMessageDateTime"/>
-            <xsd:enumeration value="DocumentReceivedDateTime"/>
-            <xsd:enumeration value="DocumentRequestedDateTime"/>
-            <xsd:enumeration value="DoNotDeliverAfter"/>
-            <xsd:enumeration value="DoNotDeliverBefore"/>
-            <xsd:enumeration value="DoNotShipBeforeExCountry"/>
-            <xsd:enumeration value="DoNotShipBeforeExFactory"/>
-            <xsd:enumeration value="Draft"/>
-            <xsd:enumeration value="DrawingRevisionDate"/>
-            <xsd:enumeration value="DropActionDate"/>
-            <xsd:enumeration value="DroppedToLessThanHalfTime"/>
-            <xsd:enumeration value="DueDate"/>
-            <xsd:enumeration value="DueDateLastCompleteInstallmentPaid"/>
-            <xsd:enumeration value="DueDateOfFirstPaymentToPrincipalAndInterest"/>
-            <xsd:enumeration value="DueToCustomer"/>
-            <xsd:enumeration value="DuplicateBill"/>
-            <xsd:enumeration value="Duration"/>
-            <xsd:enumeration value="EarliestFilingPeriod"/>
-            <xsd:enumeration value="EarliestSaleDate"/>
-            <xsd:enumeration value="EarlyFinish"/>
-            <xsd:enumeration value="EarlyStart"/>
-            <xsd:enumeration value="EarlyWithdrawal"/>
-            <xsd:enumeration value="EarningsEffectiveDate"/>
-            <xsd:enumeration value="Education"/>
-            <xsd:enumeration value="EducationBegin"/>
-            <xsd:enumeration value="EducationEndDate"/>
-            <xsd:enumeration value="EducationStartDate"/>
-            <xsd:enumeration value="EffectiveDateTime"/>
-            <xsd:enumeration value="EffectiveDateOfChange"/>
-            <xsd:enumeration value="Election"/>
-            <xsd:enumeration value="Eligibility"/>
-            <xsd:enumeration value="EligibilityBegin"/>
-            <xsd:enumeration value="EligibilityEnd"/>
-            <xsd:enumeration value="EmbarkationDateAndTime"/>
-            <xsd:enumeration value="EmployedInThisPosition"/>
-            <xsd:enumeration value="EmployedInThisProfession"/>
-            <xsd:enumeration value="EmployeeEffectiveDateOfCoverage"/>
-            <xsd:enumeration value="EmployeeLaidOff"/>
-            <xsd:enumeration value="EmployeeTemporaryLaidOffPeriodStartDate"/>
-            <xsd:enumeration value="EmployeeTemporaryLaidOffPeriodEndDate"/>
-            <xsd:enumeration value="EmployeeWagesCeased"/>
-            <xsd:enumeration value="EmployerKnowledgeOfTheInjury"/>
-            <xsd:enumeration value="EmployerReportedInjuryToClaimAdministrator"/>
-            <xsd:enumeration value="EmploymentPositionStartDate"/>
-            <xsd:enumeration value="EmploymentEnd"/>
-            <xsd:enumeration value="EmploymentOrHire"/>
-            <xsd:enumeration value="EmploymentPositionStartDateEstimated"/>
-            <xsd:enumeration value="EmploymentProfessionStartDate"/>
-            <xsd:enumeration value="EndDateTime"/>
-            <xsd:enumeration value="EndAvailabilityDate"/>
-            <xsd:enumeration value="EndDateOfSupport"/>
-            <xsd:enumeration value="EndDateScheduled"/>
-            <xsd:enumeration value="EndingLayDate"/>
-            <xsd:enumeration value="EndOfGrace"/>
-            <xsd:enumeration value="EndOfLastFiscalYear"/>
-            <xsd:enumeration value="EndorsedCertificateIssueDate"/>
-            <xsd:enumeration value="EndorsementDate"/>
-            <xsd:enumeration value="EngineeringChangeLevelDate"/>
-            <xsd:enumeration value="EngineeringDataList"/>
-            <xsd:enumeration value="Enrollment"/>
-            <xsd:enumeration value="EnrollmentSignatureDate"/>
-            <xsd:enumeration value="EntryDate"/>
-            <xsd:enumeration value="EntryDateEstimatedCustoms"/>
-            <xsd:enumeration value="EquipmentCollectionOrPickUpDateTimeActual"/>
-            <xsd:enumeration value="EquipmentCollectionOrPickUpDateTimeEarliest"/>
-            <xsd:enumeration value="EquipmentCollectionOrPickUpDateTimePlanned"/>
-            <xsd:enumeration value="EquipmentLogEntry"/>
-            <xsd:enumeration value="EquipmentPositioningDateTimeActual"/>
-            <xsd:enumeration value="EquipmentPositioningDateTimeEstimated"/>
-            <xsd:enumeration value="EquipmentPositioningDateTimeRequested"/>
-            <xsd:enumeration value="EquipmentPositioningDateTimeUltimate"/>
-            <xsd:enumeration value="EquipmentPreTripDate"/>
-            <xsd:enumeration value="EquipmentReconditioningDateTimeActual"/>
-            <xsd:enumeration value="EquipmentRepairReadyDateTimeUltimate"/>
-            <xsd:enumeration value="EquipmentReturnPeriodExpected"/>
-            <xsd:enumeration value="EquipmentStockCheckDateTime"/>
-            <xsd:enumeration value="EscalationDate"/>
-            <xsd:enumeration value="EscalationStartDate"/>
-            <xsd:enumeration value="EstablishedDate"/>
-            <xsd:enumeration value="EstimateComment"/>
-            <xsd:enumeration value="Estimated"/>
-            <xsd:enumeration value="EstimatedAcceptanceDate"/>
-            <xsd:enumeration value="ArrivalDateTimeEstimated"/>
-            <xsd:enumeration value="CompletionDateOrTimeEstimated"/>
-            <xsd:enumeration value="EstimatedCompletion-FirstPriorMonth"/>
-            <xsd:enumeration value="EstimatedCompletion-SecondPriorMonth"/>
-            <xsd:enumeration value="EstimatedCompletion-ThirdPriorMonth"/>
-            <xsd:enumeration value="ConstructionDateEstimated"/>
-            <xsd:enumeration value="DateOfBirthEstimated"/>
-            <xsd:enumeration value="DeliveryDateTimeEstimated"/>
-            <xsd:enumeration value="DepartureDateTimeEstimated"/>
-            <xsd:enumeration value="EstimatedEscrowClosing"/>
-            <xsd:enumeration value="EstimatedImmigrationDate"/>
-            <xsd:enumeration value="EstimatedPointOfArrival"/>
-            <xsd:enumeration value="EstimatedPointOfDischarge"/>
-            <xsd:enumeration value="EstimatedPortOfEntry"/>
-            <xsd:enumeration value="StartDateEstimated"/>
-            <xsd:enumeration value="EstimatedStart-FirstPriorMonth"/>
-            <xsd:enumeration value="EstimatedStart-SecondPriorMonth"/>
-            <xsd:enumeration value="EstimatedStart-ThirdPriorMonth"/>
-            <xsd:enumeration value="EstimatePreparation"/>
-            <xsd:enumeration value="EvaluationDate"/>
-            <xsd:enumeration value="EventDate"/>
-            <xsd:enumeration value="Examination"/>
-            <xsd:enumeration value="ExecutionDate"/>
-            <xsd:enumeration value="ExecutionDateTimeRequested"/>
-            <xsd:enumeration value="ExitPlantDate"/>
-            <xsd:enumeration value="ExpectedContainerHireFromDateTime"/>
-            <xsd:enumeration value="ExpectedFundingDate"/>
-            <xsd:enumeration value="ExpectedProblemResolutionDate"/>
-            <xsd:enumeration value="ExpectedReply"/>
-            <xsd:enumeration value="ExpectedValueDate"/>
-            <xsd:enumeration value="ExpeditedOn"/>
-            <xsd:enumeration value="Expiration"/>
-            <xsd:enumeration value="ExpirationDateOfExtensionToAssign"/>
-            <xsd:enumeration value="ExpirationDateOfExtensiontoForeclose"/>
-            <xsd:enumeration value="ExpirationDateTimeOfCustomsDocument"/>
-            <xsd:enumeration value="ExpirationDateToSubmitTitleEvidence"/>
-            <xsd:enumeration value="ExpirationOfExtensionToConvey"/>
-            <xsd:enumeration value="ExpirationOfExtensionToSubmitFiscalData"/>
-            <xsd:enumeration value="ExpirationOfForeclosureTimeframe"/>
-            <xsd:enumeration value="ExpiryDate"/>
-            <xsd:enumeration value="ExpiryDateOfExportLicence"/>
-            <xsd:enumeration value="ExpiryDateOfImportLicence"/>
-            <xsd:enumeration value="Explantation"/>
-            <xsd:enumeration value="ExportationDate"/>
-            <xsd:enumeration value="ExportationDateForTextiles"/>
-            <xsd:enumeration value="Exposure"/>
-            <xsd:enumeration value="ExposureSourcePeriod"/>
-            <xsd:enumeration value="Extended"/>
-            <xsd:enumeration value="Extract"/>
-            <xsd:enumeration value="FacsimileDueBy"/>
-            <xsd:enumeration value="Failed"/>
-            <xsd:enumeration value="FailureModeEffective"/>
-            <xsd:enumeration value="FeasibilitySignOff"/>
-            <xsd:enumeration value="FederalHighwayAdministrationFhwaInspectionDate"/>
-            <xsd:enumeration value="FeeCapitalization"/>
-            <xsd:enumeration value="FieldFailure"/>
-            <xsd:enumeration value="FieldTest"/>
-            <xsd:enumeration value="FileGenerationDateAndOrTime"/>
-            <xsd:enumeration value="FilingPeriod"/>
-            <xsd:enumeration value="FinalIssue"/>
-            <xsd:enumeration value="FinalReconciliationValueEstimateAsOf"/>
-            <xsd:enumeration value="FinalScheduledPayment"/>
-            <xsd:enumeration value="FinancialCoveragePeriod"/>
-            <xsd:enumeration value="FinancialInformationDate"/>
-            <xsd:enumeration value="FinancialInformationSubmissionDateTime"/>
-            <xsd:enumeration value="FinishDateOrTimeMandatory"/>
-            <xsd:enumeration value="FinishDateOrTimeEarliest"/>
-            <xsd:enumeration value="FinishDateOrTimeLatest"/>
-            <xsd:enumeration value="FirstContact"/>
-            <xsd:enumeration value="FirstDateOfOrdering"/>
-            <xsd:enumeration value="FirstInterestBearingDate"/>
-            <xsd:enumeration value="FirstInterestPaymentDue"/>
-            <xsd:enumeration value="FirstInvolvement"/>
-            <xsd:enumeration value="FirstIssue"/>
-            <xsd:enumeration value="FirstMarketed"/>
-            <xsd:enumeration value="FirstPaymentChange"/>
-            <xsd:enumeration value="FirstPaymentDue"/>
-            <xsd:enumeration value="FirstProduced"/>
-            <xsd:enumeration value="FirstPublishedDate"/>
-            <xsd:enumeration value="FirstRateAdjustment"/>
-            <xsd:enumeration value="FirstSaleDateAndOrTimeAndOrPeriod"/>
-            <xsd:enumeration value="FirstSubmission"/>
-            <xsd:enumeration value="FirstVisitorConsultation"/>
-            <xsd:enumeration value="FiscalAnniversary"/>
-            <xsd:enumeration value="FlatExtraEnd"/>
-            <xsd:enumeration value="FlatExtraPeriod"/>
-            <xsd:enumeration value="ForecastPeriod"/>
-            <xsd:enumeration value="ForecastPeriodEndDate"/>
-            <xsd:enumeration value="ForecastPeriodStart"/>
-            <xsd:enumeration value="Formation"/>
-            <xsd:enumeration value="FreightBillDateTime"/>
-            <xsd:enumeration value="FromDateOfAwardToCompletion"/>
-            <xsd:enumeration value="FromDateOfAwardToDelivery"/>
-            <xsd:enumeration value="FromDateOfAwardToEarliestDelivery"/>
-            <xsd:enumeration value="FromDateOfAwardToLatestDelivery"/>
-            <xsd:enumeration value="FromDateOfNoticeToProceedToCommencementOf"/>
-            <xsd:enumeration value="FromDateOfNoticeToProceedToCompletion"/>
-            <xsd:enumeration value="FromDateOfOrderReceiptToDelivery"/>
-            <xsd:enumeration value="FromDateOfOrderReceiptToSampleReady"/>
-            <xsd:enumeration value="FromDateOfOrderReceiptToShipment"/>
-            <xsd:enumeration value="FromDateOfReceiptOfItemToApproval"/>
-            <xsd:enumeration value="FromDateOfReceiptOfToolingAidsToSampleReady"/>
-            <xsd:enumeration value="FromDateOfSampleApprovalToFirstProductShipment"/>
-            <xsd:enumeration value="FromDateOfToolingAuthorizationToSampleReady"/>
-            <xsd:enumeration value="FromLastBookedOrderToDelivery"/>
-            <xsd:enumeration value="FumigationDateAndOrTime"/>
-            <xsd:enumeration value="FunctionalTest"/>
-            <xsd:enumeration value="FundsAppropriation-End"/>
-            <xsd:enumeration value="FundsAppropriation-Start"/>
-            <xsd:enumeration value="FuturePeriod"/>
-            <xsd:enumeration value="GallonsPerMinuteTestPerformed"/>
-            <xsd:enumeration value="GoodsCollectionOrPickUpDateTimePlanned"/>
-            <xsd:enumeration value="GoodsPositioningDateTimeExpected"/>
-            <xsd:enumeration value="GoodsPositioningDateTimePlanned"/>
-            <xsd:enumeration value="GoodsReceiptDateTime"/>
-            <xsd:enumeration value="GraduationDate"/>
-            <xsd:enumeration value="GroupContractEffective"/>
-            <xsd:enumeration value="GroupContractExpiration"/>
-            <xsd:enumeration value="GuaranteeDate"/>
-            <xsd:enumeration value="GuaranteePeriod"/>
-            <xsd:enumeration value="GuarantorReceived"/>
-            <xsd:enumeration value="HandOverDateTimeActual"/>
-            <xsd:enumeration value="HandOverDateTimePlanned"/>
-            <xsd:enumeration value="HighCapitalYear"/>
-            <xsd:enumeration value="HighFabricationReleaseAuthorization"/>
-            <xsd:enumeration value="HighRawMaterialAuthorization"/>
-            <xsd:enumeration value="HiredFromDate"/>
-            <xsd:enumeration value="HiredUntilDate"/>
-            <xsd:enumeration value="HoldAsOf"/>
-            <xsd:enumeration value="HoldAsStockAsOf"/>
-            <xsd:enumeration value="Holiday"/>
-            <xsd:enumeration value="HolidayFinish"/>
-            <xsd:enumeration value="HolidayStart"/>
-            <xsd:enumeration value="Homestead"/>
-            <xsd:enumeration value="HorizonEndDate"/>
-            <xsd:enumeration value="HorizonPeriod"/>
-            <xsd:enumeration value="HorizonStartDate"/>
-            <xsd:enumeration value="HosesConnectedDateTime"/>
-            <xsd:enumeration value="HosesDisconnectedDateTime"/>
-            <xsd:enumeration value="HospitalAdmissionDateAndOrTime"/>
-            <xsd:enumeration value="HospitalDischargeDateAndOrTime"/>
-            <xsd:enumeration value="HydrotestDate"/>
-            <xsd:enumeration value="Illness"/>
-            <xsd:enumeration value="IllnessBegin"/>
-            <xsd:enumeration value="IllnessRecoveryDateExpected"/>
-            <xsd:enumeration value="ImmigrationDate"/>
-            <xsd:enumeration value="Implantation"/>
-            <xsd:enumeration value="ImplementationDateTimePeriod"/>
-            <xsd:enumeration value="Import"/>
-            <xsd:enumeration value="ImportationDate"/>
-            <xsd:enumeration value="ImportLicenceDate"/>
-            <xsd:enumeration value="InactivityEndDate"/>
-            <xsd:enumeration value="Inactivity"/>
-            <xsd:enumeration value="InboundMovementAuthorizationDate"/>
-            <xsd:enumeration value="Incident"/>
-            <xsd:enumeration value="Income"/>
-            <xsd:enumeration value="IncomeDocumentationExpiration"/>
-            <xsd:enumeration value="IncomeIncreasePeriod"/>
-            <xsd:enumeration value="IncomePeriod"/>
-            <xsd:enumeration value="IncorporationDate"/>
-            <xsd:enumeration value="IncorporationDissolution"/>
-            <xsd:enumeration value="IncumbencyPeriod"/>
-            <xsd:enumeration value="IndividualEducationPlanIEP"/>
-            <xsd:enumeration value="In-force"/>
-            <xsd:enumeration value="InformationReleaseAuthorizationDate"/>
-            <xsd:enumeration value="InitialClaim"/>
-            <xsd:enumeration value="InitialCompletion"/>
-            <xsd:enumeration value="InitialContactDate"/>
-            <xsd:enumeration value="InitialDisabilityPeriodEnd"/>
-            <xsd:enumeration value="InitialDisabilityPeriodLastDayWorked"/>
-            <xsd:enumeration value="InitialDisabilityPeriodReturnToWork"/>
-            <xsd:enumeration value="InitialDisabilityPeriodStart"/>
-            <xsd:enumeration value="InitialFeeDue"/>
-            <xsd:enumeration value="InitialFinancialAccountsFiledDate"/>
-            <xsd:enumeration value="PlacementDateInitial"/>
-            <xsd:enumeration value="InitialPremium"/>
-            <xsd:enumeration value="InitialPremiumEffective"/>
-            <xsd:enumeration value="InitialRequestDate"/>
-            <xsd:enumeration value="InitialTreatment"/>
-            <xsd:enumeration value="InjuryBegin"/>
-            <xsd:enumeration value="InjuryEnd"/>
-            <xsd:enumeration value="InjuryOrIllness"/>
-            <xsd:enumeration value="InlandShip"/>
-            <xsd:enumeration value="InquiryDate"/>
-            <xsd:enumeration value="InServiceSurveyDate"/>
-            <xsd:enumeration value="InsolvencyDischargeGrantedDate"/>
-            <xsd:enumeration value="InspectionDate"/>
-            <xsd:enumeration value="InstallationDateTimePeriod"/>
-            <xsd:enumeration value="InstallmentDate"/>
-            <xsd:enumeration value="InstalmentPaymentDueDate"/>
-            <xsd:enumeration value="InstructionsOriginalExecutionDate"/>
-            <xsd:enumeration value="InsufficientAssetsJudgementDate"/>
-            <xsd:enumeration value="InsuranceCard"/>
-            <xsd:enumeration value="InterestCapitalization"/>
-            <xsd:enumeration value="InterestPaidThrough"/>
-            <xsd:enumeration value="InterestPaidTo"/>
-            <xsd:enumeration value="InterestPeriod"/>
-            <xsd:enumeration value="InterestRateValidityPeriod"/>
-            <xsd:enumeration value="InternationalAssessmentApprovalForPublicationDate"/>
-            <xsd:enumeration value="InternationalReviewCycleStartDate"/>
-            <xsd:enumeration value="InterruptionEnd"/>
-            <xsd:enumeration value="InterruptionStart"/>
-            <xsd:enumeration value="InterviewedDate"/>
-            <xsd:enumeration value="InterviewerSigned"/>
-            <xsd:enumeration value="Inventory"/>
-            <xsd:enumeration value="InventoryReportDate"/>
-            <xsd:enumeration value="InvestigationEndDate"/>
-            <xsd:enumeration value="InvestigationStartDate"/>
-            <xsd:enumeration value="InvestmentNumberAllocationDate"/>
-            <xsd:enumeration value="InvitationToTenderDateTime"/>
-            <xsd:enumeration value="InvoiceDateTime"/>
-            <xsd:enumeration value="InvoiceDateRequired"/>
-            <xsd:enumeration value="InvoicePeriodEnd"/>
-            <xsd:enumeration value="InvoicePeriodStart"/>
-            <xsd:enumeration value="InvoicingPeriod"/>
-            <xsd:enumeration value="IrregularInterestPaymentDue"/>
-            <xsd:enumeration value="IssueDate"/>
-            <xsd:enumeration value="ItemContractEffective"/>
-            <xsd:enumeration value="ItemContractExpiration"/>
-            <xsd:enumeration value="JoinedEmployerDate"/>
-            <xsd:enumeration value="JoinedFundDateTime"/>
-            <xsd:enumeration value="JudgementDate"/>
-            <xsd:enumeration value="Judgment"/>
-            <xsd:enumeration value="KeyEventCalendarYear"/>
-            <xsd:enumeration value="KeyEventFiscalYear"/>
-            <xsd:enumeration value="LabourWageDeterminationDate"/>
-            <xsd:enumeration value="LastActivityDate"/>
-            <xsd:enumeration value="LastAnnualReportDate"/>
-            <xsd:enumeration value="LastCapitalChangeDate"/>
-            <xsd:enumeration value="LastCertification"/>
-            <xsd:enumeration value="LastChange"/>
-            <xsd:enumeration value="LastCheckForBalanceSheetUpdateDate"/>
-            <xsd:enumeration value="LastCivilianFlight"/>
-            <xsd:enumeration value="LastDateForAGovernmentAgencyToFileAClaim"/>
-            <xsd:enumeration value="LastDateOfAccountsFiledAtPublicRegister"/>
-            <xsd:enumeration value="LastDateOfOrdering"/>
-            <xsd:enumeration value="LastDateToFileAClaim"/>
-            <xsd:enumeration value="LastDateToObject"/>
-            <xsd:enumeration value="LastEpisode"/>
-            <xsd:enumeration value="LastFlight"/>
-            <xsd:enumeration value="LastFollow-up"/>
-            <xsd:enumeration value="LastInsuranceMedical"/>
-            <xsd:enumeration value="LastInterestBearingDate"/>
-            <xsd:enumeration value="LastItemDelivery"/>
-            <xsd:enumeration value="LastLogged"/>
-            <xsd:enumeration value="LastMarketed"/>
-            <xsd:enumeration value="LastMeal"/>
-            <xsd:enumeration value="LastMenstrualCycleStartDate"/>
-            <xsd:enumeration value="LastMenstrualPeriod"/>
-            <xsd:enumeration value="LastMilitaryFlight"/>
-            <xsd:enumeration value="LastNotification"/>
-            <xsd:enumeration value="LastOffHireDate"/>
-            <xsd:enumeration value="LastOnHireDate"/>
-            <xsd:enumeration value="LastPaidInstallmentDate"/>
-            <xsd:enumeration value="LastPaymentMade"/>
-            <xsd:enumeration value="LastPhysical"/>
-            <xsd:enumeration value="LastPremiumEffective"/>
-            <xsd:enumeration value="LastPremiumPaidDate"/>
-            <xsd:enumeration value="LastProduction"/>
-            <xsd:enumeration value="LastPublication"/>
-            <xsd:enumeration value="LastPublishedDate"/>
-            <xsd:enumeration value="LastSalaryIncrease"/>
-            <xsd:enumeration value="LastSaleDateAndOrTimeAndOrPeriod"/>
-            <xsd:enumeration value="LastScreening"/>
-            <xsd:enumeration value="LastSeenDate"/>
-            <xsd:enumeration value="LastVisitDate"/>
-            <xsd:enumeration value="LastXRayDate"/>
-            <xsd:enumeration value="LateFinish"/>
-            <xsd:enumeration value="LatestAbsence"/>
-            <xsd:enumeration value="LateStart"/>
-            <xsd:enumeration value="LatestBalanceSheet"/>
-            <xsd:enumeration value="LatestCheckInTime"/>
-            <xsd:enumeration value="LatestDeliveryDateatPier"/>
-            <xsd:enumeration value="LatestDeliveryDateAtRailRamp"/>
-            <xsd:enumeration value="LatestFilingPeriod"/>
-            <xsd:enumeration value="LatestMaterialSafetyDataSheetDate"/>
-            <xsd:enumeration value="LatestMeterReadingDate"/>
-            <xsd:enumeration value="LatestOnBoardCarrierDate"/>
-            <xsd:enumeration value="LatestPriceAdjustmentDate"/>
-            <xsd:enumeration value="LatestReceivingDateCutoffDate"/>
-            <xsd:enumeration value="LatestVisitorConsultation"/>
-            <xsd:enumeration value="LayTimeFirstDay"/>
-            <xsd:enumeration value="LayTimeLastDay"/>
-            <xsd:enumeration value="LeadTime"/>
-            <xsd:enumeration value="LeaseCommencement"/>
-            <xsd:enumeration value="LeasePeriod"/>
-            <xsd:enumeration value="LeaseTermEndDate"/>
-            <xsd:enumeration value="LeaseTermStartDate"/>
-            <xsd:enumeration value="LeftEmployerDate"/>
-            <xsd:enumeration value="LegalActionClosedDate"/>
-            <xsd:enumeration value="LegalActionStarted"/>
-            <xsd:enumeration value="LegalSettlementTermsMetDate"/>
-            <xsd:enumeration value="LegalStructureChangeDate"/>
-            <xsd:enumeration value="LenderCreditCheck"/>
-            <xsd:enumeration value="LetterOfAgreementDate"/>
-            <xsd:enumeration value="LetterOfLiabilityDate"/>
-            <xsd:enumeration value="License"/>
-            <xsd:enumeration value="LicenseEffective"/>
-            <xsd:enumeration value="LicenseExpiration"/>
-            <xsd:enumeration value="LicenseRenewal"/>
-            <xsd:enumeration value="LicenseRequested"/>
-            <xsd:enumeration value="Lien"/>
-            <xsd:enumeration value="LiquidationDate"/>
-            <xsd:enumeration value="ListingReceived"/>
-            <xsd:enumeration value="ListPriceChange"/>
-            <xsd:enumeration value="LoadedonVessel"/>
-            <xsd:enumeration value="LoadingDateTimeActual"/>
-            <xsd:enumeration value="Loan"/>
-            <xsd:enumeration value="LoanPurchase"/>
-            <xsd:enumeration value="LoanServicingTransfer"/>
-            <xsd:enumeration value="LocationExceptionOrderNumberAssigned"/>
-            <xsd:enumeration value="Loss"/>
-            <xsd:enumeration value="LotNumberExpiration"/>
-            <xsd:enumeration value="LowestActivityPeriod"/>
-            <xsd:enumeration value="LowPeriod"/>
-            <xsd:enumeration value="MailBy"/>
-            <xsd:enumeration value="MailingDate"/>
-            <xsd:enumeration value="MailReceiptDate"/>
-            <xsd:enumeration value="Maintenance"/>
-            <xsd:enumeration value="MaintenanceComment"/>
-            <xsd:enumeration value="MaintenanceEffective"/>
-            <xsd:enumeration value="MakegoodCommercialDate"/>
-            <xsd:enumeration value="ManagementAvailableDate"/>
-            <xsd:enumeration value="ManagerNotRegisteredAsOfGivenDate"/>
-            <xsd:enumeration value="MandatoryOrTargetFinish"/>
-            <xsd:enumeration value="MandatoryOrTargetStart"/>
-            <xsd:enumeration value="ManifestShipNoticeDate"/>
-            <xsd:enumeration value="Manufacture"/>
-            <xsd:enumeration value="Map"/>
-            <xsd:enumeration value="DateOfMarriage"/>
-            <xsd:enumeration value="MasterLeaseAgreement"/>
-            <xsd:enumeration value="MaterialChangeNotice"/>
-            <xsd:enumeration value="MaterialClassification"/>
-            <xsd:enumeration value="MaterialSpecification"/>
-            <xsd:enumeration value="Maturity"/>
-            <xsd:enumeration value="MaturityDate"/>
-            <xsd:enumeration value="MaximumCreditGrantedDate"/>
-            <xsd:enumeration value="MeatAgeingPeriod"/>
-            <xsd:enumeration value="Medicaid"/>
-            <xsd:enumeration value="MedicaidBegin"/>
-            <xsd:enumeration value="MedicaidEnd"/>
-            <xsd:enumeration value="MedicalCertificate"/>
-            <xsd:enumeration value="MedicalInformationSignature"/>
-            <xsd:enumeration value="MedicalInformationSystem"/>
-            <xsd:enumeration value="Medicare"/>
-            <xsd:enumeration value="MedicareBegin"/>
-            <xsd:enumeration value="MedicareEnd"/>
-            <xsd:enumeration value="MedicarePartACoverageEffectiveDate"/>
-            <xsd:enumeration value="MedicarePartAEligibilityBeginDate"/>
-            <xsd:enumeration value="MedicarePartAEligibilityEndDate"/>
-            <xsd:enumeration value="MedicarePartATerminationDate"/>
-            <xsd:enumeration value="MedicarePartBCoverageEffectiveDate"/>
-            <xsd:enumeration value="MedicarePartBEligibilityBeginDate"/>
-            <xsd:enumeration value="MedicarePartBEligibilityEndDate"/>
-            <xsd:enumeration value="MedicarePartBTerminationDate"/>
-            <xsd:enumeration value="Medication"/>
-            <xsd:enumeration value="MeetingDate"/>
-            <xsd:enumeration value="Merger"/>
-            <xsd:enumeration value="Message"/>
-            <xsd:enumeration value="MeterReading"/>
-            <xsd:enumeration value="MidpointOfPerformance"/>
-            <xsd:enumeration value="MinimumRequiredDistribution"/>
-            <xsd:enumeration value="MinimumShelfLifeRemainingAtTimeOfDespatchPeriod"/>
-            <xsd:enumeration value="MinimumShelfLifeRemainingAtTimeOfReceipt"/>
-            <xsd:enumeration value="MonthEnding"/>
-            <xsd:enumeration value="MonthToDate"/>
-            <xsd:enumeration value="MooringDateAndTime"/>
-            <xsd:enumeration value="MortgageeOfficialSignatureDate"/>
-            <xsd:enumeration value="MortgageeReportedCurtailmentDate"/>
-            <xsd:enumeration value="MortgageNoteDate"/>
-            <xsd:enumeration value="MostLikelyEarlyFinish"/>
-            <xsd:enumeration value="MostLikelyEarlyStart"/>
-            <xsd:enumeration value="MostLikelyLateFinish"/>
-            <xsd:enumeration value="MostLikelyLateStart"/>
-            <xsd:enumeration value="MostRecentHemoglobinOrHematocritOrBoth"/>
-            <xsd:enumeration value="MostRecentRenewal"/>
-            <xsd:enumeration value="MostRecentRevisionorInitialVersion"/>
-            <xsd:enumeration value="MostRecentSerumCreatine"/>
-            <xsd:enumeration value="MovedFromLocationDate"/>
-            <xsd:enumeration value="NegotiatedExtensionDate"/>
-            <xsd:enumeration value="NegotiatedFinish"/>
-            <xsd:enumeration value="NegotiatedStart"/>
-            <xsd:enumeration value="NegotiationsStartDate"/>
-            <xsd:enumeration value="NetCreditServiceDate"/>
-            <xsd:enumeration value="NetWorthDate"/>
-            <xsd:enumeration value="NextActivity"/>
-            <xsd:enumeration value="NextAnniversary"/>
-            <xsd:enumeration value="NextAnnualMeeting"/>
-            <xsd:enumeration value="NextInstallmentDueDate"/>
-            <xsd:enumeration value="NextInterestChangeDate"/>
-            <xsd:enumeration value="NextPayIncrease"/>
-            <xsd:enumeration value="NextPaymentDue"/>
-            <xsd:enumeration value="NextReviewDate"/>
-            <xsd:enumeration value="NonWorking"/>
-            <xsd:enumeration value="NoProductionScheduleEstablishedAsOf"/>
-            <xsd:enumeration value="NoPromiseAsOf"/>
-            <xsd:enumeration value="NoShippingScheduleEstablishedAsOf"/>
-            <xsd:enumeration value="NotAfter"/>
-            <xsd:enumeration value="NotBefore"/>
-            <xsd:enumeration value="Note"/>
-            <xsd:enumeration value="Notice"/>
-            <xsd:enumeration value="NotificationDateTime"/>
-            <xsd:enumeration value="NotificationOfDeath"/>
-            <xsd:enumeration value="NotificationTimeLimit"/>
-            <xsd:enumeration value="Notified"/>
-            <xsd:enumeration value="NotRegistered"/>
-            <xsd:enumeration value="NotRegisteredAsOfGivenDate"/>
-            <xsd:enumeration value="NursingHome"/>
-            <xsd:enumeration value="NursingHomeFrom"/>
-            <xsd:enumeration value="NursingHomeTo"/>
-            <xsd:enumeration value="Occupancy"/>
-            <xsd:enumeration value="Occurrence"/>
-            <xsd:enumeration value="OccurrenceSpan"/>
-            <xsd:enumeration value="OccurrenceSpanFrom"/>
-            <xsd:enumeration value="OccurrenceSpanTo"/>
-            <xsd:enumeration value="OfferExpiration"/>
-            <xsd:enumeration value="OffHireSurveyDate"/>
-            <xsd:enumeration value="OffHold"/>
-            <xsd:enumeration value="OfficialRailCarInterchangeEitherActualorAgreedUpon"/>
-            <xsd:enumeration value="Off-Market"/>
-            <xsd:enumeration value="Offset"/>
-            <xsd:enumeration value="OffsetBegin"/>
-            <xsd:enumeration value="OffsetEnd"/>
-            <xsd:enumeration value="OffsetFromCoordinatedUniversalTimeUtc"/>
-            <xsd:enumeration value="OldestUnpaidInstallment"/>
-            <xsd:enumeration value="On"/>
-            <xsd:enumeration value="OnBoardDate"/>
-            <xsd:enumeration value="OnHireSurveyDate"/>
-            <xsd:enumeration value="OnHold"/>
-            <xsd:enumeration value="OnsetOfCurrentSymptomsOrIllness"/>
-            <xsd:enumeration value="OnsetOfSimilarSymptomsOrIllness"/>
-            <xsd:enumeration value="OpenHouse"/>
-            <xsd:enumeration value="OpeningDate"/>
-            <xsd:enumeration value="OperationsCeasedDate"/>
-            <xsd:enumeration value="Opinion"/>
-            <xsd:enumeration value="OptimisticEarlyFinish"/>
-            <xsd:enumeration value="OptimisticEarlyStart"/>
-            <xsd:enumeration value="OptimisticLateFinish"/>
-            <xsd:enumeration value="OptimisticLateStart"/>
-            <xsd:enumeration value="Option"/>
-            <xsd:enumeration value="Order"/>
-            <xsd:enumeration value="OrderAmendmentBindingDate"/>
-            <xsd:enumeration value="OrderCompletionDateTimeUltimate"/>
-            <xsd:enumeration value="OrderDateTime"/>
-            <xsd:enumeration value="OrderEnd"/>
-            <xsd:enumeration value="OrderReceivedDateTime"/>
-            <xsd:enumeration value="OrderStart"/>
-            <xsd:enumeration value="OrderToProceedDate"/>
-            <xsd:enumeration value="Original"/>
-            <xsd:enumeration value="OriginalDueDate"/>
-            <xsd:enumeration value="OriginalDuration"/>
-            <xsd:enumeration value="OriginalEarlyFinish"/>
-            <xsd:enumeration value="OriginalEarlyStart"/>
-            <xsd:enumeration value="OriginalEstimateDate"/>
-            <xsd:enumeration value="OriginalIssueAge"/>
-            <xsd:enumeration value="OriginalList"/>
-            <xsd:enumeration value="OriginallyScheduledShip"/>
-            <xsd:enumeration value="OriginalMaturityDate"/>
-            <xsd:enumeration value="OriginalNameChangeDate"/>
-            <xsd:enumeration value="OriginalPostingDate"/>
-            <xsd:enumeration value="OriginalReceipt"/>
-            <xsd:enumeration value="OrthodonticTreatmentPeriodRemaining"/>
-            <xsd:enumeration value="OrthodonticTreatmentPeriodTotal"/>
-            <xsd:enumeration value="Out-Of-Pocket"/>
-            <xsd:enumeration value="OutsideAuditorsReport"/>
-            <xsd:enumeration value="Overhauled"/>
-            <xsd:enumeration value="OverrideDateForSettlement"/>
-            <xsd:enumeration value="OverTargetBaselineMonth"/>
-            <xsd:enumeration value="OvertimeEndDate"/>
-            <xsd:enumeration value="OvertimeStartDate"/>
-            <xsd:enumeration value="OwnershipChangeDate"/>
-            <xsd:enumeration value="OwnershipPeriod"/>
-            <xsd:enumeration value="OxygenSaturationTest"/>
-            <xsd:enumeration value="OxygenTherapy"/>
-            <xsd:enumeration value="OxygenTherapyEvaluation"/>
-            <xsd:enumeration value="OxygenTherapyFrom"/>
-            <xsd:enumeration value="OxygenTherapyTo"/>
-            <xsd:enumeration value="PackingEndDate"/>
-            <xsd:enumeration value="PackingStartDate"/>
-            <xsd:enumeration value="PaidInFull"/>
-            <xsd:enumeration value="PaidThroughDate"/>
-            <xsd:enumeration value="Paid-ThroughDateForAccruedSickPay"/>
-            <xsd:enumeration value="PaidThroughDateForMinimumPayment"/>
-            <xsd:enumeration value="Paid-ThroughDateForSalaryContinuation"/>
-            <xsd:enumeration value="PaidThroughDateForTotalPayment"/>
-            <xsd:enumeration value="Paid-ThroughDateForVacationPay"/>
-            <xsd:enumeration value="PaidToDate"/>
-            <xsd:enumeration value="Paid-up"/>
-            <xsd:enumeration value="PaperworkMailed"/>
-            <xsd:enumeration value="PartialAnnuitization"/>
-            <xsd:enumeration value="ParticipationDate"/>
-            <xsd:enumeration value="PartTimeWorkingChangeDateTime"/>
-            <xsd:enumeration value="PastDue"/>
-            <xsd:enumeration value="PatientFirstVisitForCondition"/>
-            <xsd:enumeration value="PaymentCommencement"/>
-            <xsd:enumeration value="PaymentDate"/>
-            <xsd:enumeration value="PaymentDateTimeDeferred"/>
-            <xsd:enumeration value="PaymentDueDate"/>
-            <xsd:enumeration value="PaymentEffective"/>
-            <xsd:enumeration value="PaymentInitiated"/>
-            <xsd:enumeration value="PaymentInstructionDateTime"/>
-            <xsd:enumeration value="PaymentIssue"/>
-            <xsd:enumeration value="PaymentPeriod"/>
-            <xsd:enumeration value="PaymentPeriodEnd"/>
-            <xsd:enumeration value="PaymentPeriodStart"/>
-            <xsd:enumeration value="PaymentValuationPresentationDateTime"/>
-            <xsd:enumeration value="PayrollDeductionDateTime"/>
-            <xsd:enumeration value="PayrollPeriod"/>
-            <xsd:enumeration value="PayrollPeriodBegin"/>
-            <xsd:enumeration value="PayrollPeriodEnd"/>
-            <xsd:enumeration value="PeakActivityPeriod"/>
-            <xsd:enumeration value="PeerReviewOrganizationPROApprovedStay"/>
-            <xsd:enumeration value="PeerReviewOrganizationPROApprovedStayFrom"/>
-            <xsd:enumeration value="PeerReviewOrganizationPROApprovedStayTo"/>
-            <xsd:enumeration value="Penalty"/>
-            <xsd:enumeration value="PenaltyBegin"/>
-            <xsd:enumeration value="PenaltyEnd"/>
-            <xsd:enumeration value="PendingArchive"/>
-            <xsd:enumeration value="PercolationTest"/>
-            <xsd:enumeration value="PeriodAnEventIsLateDueToCustomer"/>
-            <xsd:enumeration value="PeriodAssigned"/>
-            <xsd:enumeration value="PeriodBetweenChanges"/>
-            <xsd:enumeration value="PeriodCoveredBySourceDocuments"/>
-            <xsd:enumeration value="PeriodEnd"/>
-            <xsd:enumeration value="PeriodExtended"/>
-            <xsd:enumeration value="PeriodicInspectionDate"/>
-            <xsd:enumeration value="PeriodOfCareEndDateAndOrTime"/>
-            <xsd:enumeration value="PeriodOfCareStartDateAndOrTime"/>
-            <xsd:enumeration value="PeriodOfIllnessEndDate"/>
-            <xsd:enumeration value="PeriodOfIllnessStartDate"/>
-            <xsd:enumeration value="PeriodOverdue"/>
-            <xsd:enumeration value="PeriodStart"/>
-            <xsd:enumeration value="PeriodWorkedForTheCompany"/>
-            <xsd:enumeration value="PermitToAdmitDate"/>
-            <xsd:enumeration value="PermitYear"/>
-            <xsd:enumeration value="PessimisticEarlyFinish"/>
-            <xsd:enumeration value="PessimisticEarlyStart"/>
-            <xsd:enumeration value="PessimisticLateFinish"/>
-            <xsd:enumeration value="PessimisticLateStart"/>
-            <xsd:enumeration value="PickUpCollectionDateTimeOfCargo"/>
-            <xsd:enumeration value="PickUpDateTimeOfEquipment"/>
-            <xsd:enumeration value="Placement"/>
-            <xsd:enumeration value="PlacementDate"/>
-            <xsd:enumeration value="PlacementDatePrevious"/>
-            <xsd:enumeration value="PlacementPeriodExpiration"/>
-            <xsd:enumeration value="Plan"/>
-            <xsd:enumeration value="PlanAnniversary"/>
-            <xsd:enumeration value="PlanBegin"/>
-            <xsd:enumeration value="PlanEnd"/>
-            <xsd:enumeration value="PlanEntry"/>
-            <xsd:enumeration value="PlannedDurationOfWorks"/>
-            <xsd:enumeration value="PlannedRelease"/>
-            <xsd:enumeration value="PlanOfTreatmentPeriod"/>
-            <xsd:enumeration value="PlanParticipationSuspension"/>
-            <xsd:enumeration value="PlanPeriodElection"/>
-            <xsd:enumeration value="PlanPeriodElectionBegin"/>
-            <xsd:enumeration value="PlanPeriodElectionEnd"/>
-            <xsd:enumeration value="PlanTermination"/>
-            <xsd:enumeration value="PluggedAndAbandoned"/>
-            <xsd:enumeration value="PolicyEffective"/>
-            <xsd:enumeration value="PolicyEffectiveOnOrAfter"/>
-            <xsd:enumeration value="PolicyEffectiveOnOrBefore"/>
-            <xsd:enumeration value="PolicyExpiration"/>
-            <xsd:enumeration value="PolicySurrender"/>
-            <xsd:enumeration value="PoolSettlement"/>
-            <xsd:enumeration value="PositioningDateTimeOfEquipment"/>
-            <xsd:enumeration value="PositioningDateTimeOfGoods"/>
-            <xsd:enumeration value="PostingDate"/>
-            <xsd:enumeration value="PostmarkDateTime"/>
-            <xsd:enumeration value="Post-Reclassification"/>
-            <xsd:enumeration value="Post-ReclassificationEndOfSecondYear"/>
-            <xsd:enumeration value="Post-ReclassificationFirstReportCard"/>
-            <xsd:enumeration value="Post-ReclassificationFirstSemi-annual"/>
-            <xsd:enumeration value="Post-ReclassificationSecondSemi-annual"/>
-            <xsd:enumeration value="PrearrangedDealMatch"/>
-            <xsd:enumeration value="Pre-AwardSurvey"/>
-            <xsd:enumeration value="PrecedingPeriod"/>
-            <xsd:enumeration value="Pre-certificationDate"/>
-            <xsd:enumeration value="PreforeclosureAcceptanceDate"/>
-            <xsd:enumeration value="PreforeclosureSaleClosingDate"/>
-            <xsd:enumeration value="PregnancyBegin"/>
-            <xsd:enumeration value="PregnancyDurationActual"/>
-            <xsd:enumeration value="PregnancyEnd"/>
-            <xsd:enumeration value="PremiumChangePeriod"/>
-            <xsd:enumeration value="PremiumPaidToDate"/>
-            <xsd:enumeration value="PremiumPaidToDateBegin"/>
-            <xsd:enumeration value="PremiumPaidToDateEnd"/>
-            <xsd:enumeration value="PreparationDateTimeOfDocument"/>
-            <xsd:enumeration value="Prescription"/>
-            <xsd:enumeration value="PrescriptionDispensingDateAndOrTime"/>
-            <xsd:enumeration value="PrescriptionFill"/>
-            <xsd:enumeration value="PrescriptionFrom"/>
-            <xsd:enumeration value="PrescriptionIssueDateAndOrTime"/>
-            <xsd:enumeration value="PrescriptionTo"/>
-            <xsd:enumeration value="PresentationDateLatest"/>
-            <xsd:enumeration value="PresentationDateOfGoodsDeclarationCustoms"/>
-            <xsd:enumeration value="PresentationToBankruptcyReceiversDate"/>
-            <xsd:enumeration value="PresentControl"/>
-            <xsd:enumeration value="PresentedToReceivers"/>
-            <xsd:enumeration value="PresentLegalStructure"/>
-            <xsd:enumeration value="PresentlyResiding"/>
-            <xsd:enumeration value="PresentmentDate"/>
-            <xsd:enumeration value="PresentName"/>
-            <xsd:enumeration value="PresentResidenceStartDate"/>
-            <xsd:enumeration value="PreviousBookingDateTime"/>
-            <xsd:enumeration value="PreviousCourtEvent"/>
-            <xsd:enumeration value="PreviousCurrentAccountDate"/>
-            <xsd:enumeration value="PreviousEmployment"/>
-            <xsd:enumeration value="PreviousEmploymentEnd"/>
-            <xsd:enumeration value="PreviousEmploymentStart"/>
-            <xsd:enumeration value="PreviousInvoiceDate"/>
-            <xsd:enumeration value="PreviouslyReportedDateOfBirth"/>
-            <xsd:enumeration value="PreviouslyResided"/>
-            <xsd:enumeration value="PreviousMeterReadingDate"/>
-            <xsd:enumeration value="PreviousMonthEnding"/>
-            <xsd:enumeration value="PreviousPeriod"/>
-            <xsd:enumeration value="PreviousReportDate"/>
-            <xsd:enumeration value="PreviousResidence"/>
-            <xsd:enumeration value="PreviousResidenceEnd"/>
-            <xsd:enumeration value="PreviousResidenceStart"/>
-            <xsd:enumeration value="PreviousTerminationDate"/>
-            <xsd:enumeration value="PriceAdjustmentDate"/>
-            <xsd:enumeration value="PriceAdjustmentLimitDate"/>
-            <xsd:enumeration value="PriceAdjustmentStartDate"/>
-            <xsd:enumeration value="PriceBaseDateTime"/>
-            <xsd:enumeration value="PriceProtection"/>
-            <xsd:enumeration value="PrimaryCareProvider"/>
-            <xsd:enumeration value="PrimaryCareProviderBegin"/>
-            <xsd:enumeration value="PrimaryCareProviderEnd"/>
-            <xsd:enumeration value="Printed"/>
-            <xsd:enumeration value="PriorContractAnniversary"/>
-            <xsd:enumeration value="PriorContractIssue"/>
-            <xsd:enumeration value="PriorHospitalizationDatesRelatedToCurrentServices"/>
-            <xsd:enumeration value="PriorIncorrectDateOfBirth"/>
-            <xsd:enumeration value="PriorNotice"/>
-            <xsd:enumeration value="PriorPlacement"/>
-            <xsd:enumeration value="PrivilegeDetailsVerificationDate"/>
-            <xsd:enumeration value="ProcessingDateTime"/>
-            <xsd:enumeration value="ProcessingDatePeriod"/>
-            <xsd:enumeration value="ProcessingEndDateTime"/>
-            <xsd:enumeration value="ProcessingStartDateTime"/>
-            <xsd:enumeration value="ProductAvailabilityDate"/>
-            <xsd:enumeration value="ProductHeldUntil"/>
-            <xsd:enumeration value="Production"/>
-            <xsd:enumeration value="ProductionDateNoScheduleEstablishedAsOf"/>
-            <xsd:enumeration value="ProductionInspectionDate"/>
-            <xsd:enumeration value="ProductionManufactureDate"/>
-            <xsd:enumeration value="ProductLifespanAtTimeOfProduction"/>
-            <xsd:enumeration value="ProfitPeriod"/>
-            <xsd:enumeration value="ProgrammedCalendarYear"/>
-            <xsd:enumeration value="ProgrammedFiscalYear"/>
-            <xsd:enumeration value="ProgressPayment"/>
-            <xsd:enumeration value="ProjectedActionEndDate"/>
-            <xsd:enumeration value="ProjectedForeclosureSaleDate"/>
-            <xsd:enumeration value="ProjectOverTargetBaselineDate"/>
-            <xsd:enumeration value="PromisedForDelivery"/>
-            <xsd:enumeration value="PromisedForDeliveryAfterAndIncluding"/>
-            <xsd:enumeration value="PromisedForDeliveryPriorToAndIncluding"/>
-            <xsd:enumeration value="PromisedForDeliveryWeekOf"/>
-            <xsd:enumeration value="PromisedForShipment"/>
-            <xsd:enumeration value="PromisedForShipmentAfterAndIncluding"/>
-            <xsd:enumeration value="PromisedForShipmentPriortoAndIncluding"/>
-            <xsd:enumeration value="PromisedForShipmentWeekOf"/>
-            <xsd:enumeration value="PromotionDatePeriod"/>
-            <xsd:enumeration value="PromotionEndDateTime"/>
-            <xsd:enumeration value="PromotionFloorStockProtect-End"/>
-            <xsd:enumeration value="PromotionFloorStockProtect-Start"/>
-            <xsd:enumeration value="PromotionInvoicePerformance-End"/>
-            <xsd:enumeration value="PromotionInvoicePerformance-Start"/>
-            <xsd:enumeration value="PromotionOrder-End"/>
-            <xsd:enumeration value="PromotionOrder-Start"/>
-            <xsd:enumeration value="PromotionPerformance-End"/>
-            <xsd:enumeration value="PromotionPerformance-Start"/>
-            <xsd:enumeration value="PromotionRequestedDelivery-End"/>
-            <xsd:enumeration value="PromotionRequestedDelivery-Start"/>
-            <xsd:enumeration value="PromotionShip-End"/>
-            <xsd:enumeration value="PromotionShip-Start"/>
-            <xsd:enumeration value="PromotionStartDateTime"/>
-            <xsd:enumeration value="Property"/>
-            <xsd:enumeration value="PropertyAcquired"/>
-            <xsd:enumeration value="PropertyBuilt"/>
-            <xsd:enumeration value="PrototypeTest"/>
-            <xsd:enumeration value="ProviderSignatureDate"/>
-            <xsd:enumeration value="PublicationDate"/>
-            <xsd:enumeration value="PurchasedDate"/>
-            <xsd:enumeration value="PurchaseOrder"/>
-            <xsd:enumeration value="PurchaseOrderLatestPossibleChangeDate"/>
-            <xsd:enumeration value="PurchaseOrderReceived"/>
-            <xsd:enumeration value="PutIntoService"/>
-            <xsd:enumeration value="QualityRating"/>
-            <xsd:enumeration value="QuarterEnding"/>
-            <xsd:enumeration value="QuotaDate"/>
-            <xsd:enumeration value="Quote"/>
-            <xsd:enumeration value="QuoteToBeReceivedBy"/>
-            <xsd:enumeration value="RateAdjustment"/>
-            <xsd:enumeration value="RateDate"/>
-            <xsd:enumeration value="RateOfExchangeDateTime"/>
-            <xsd:enumeration value="RatePriceDateTime"/>
-            <xsd:enumeration value="ReachedTotalDepth"/>
-            <xsd:enumeration value="ReadyForInspection"/>
-            <xsd:enumeration value="RealEstateProperty"/>
-            <xsd:enumeration value="RealEstateTaxYear"/>
-            <xsd:enumeration value="Rebuilt"/>
-            <xsd:enumeration value="Recapture"/>
-            <xsd:enumeration value="ReceivablesCollectionPeriod"/>
-            <xsd:enumeration value="Received"/>
-            <xsd:enumeration value="ReceiveAtLockboxDate"/>
-            <xsd:enumeration value="ReceivedDateTime"/>
-            <xsd:enumeration value="ReceivedInTheMail"/>
-            <xsd:enumeration value="ReceiverAppointed"/>
-            <xsd:enumeration value="ReceivershipPeriod"/>
-            <xsd:enumeration value="ReceivershipResultDate"/>
-            <xsd:enumeration value="Reclassification"/>
-            <xsd:enumeration value="ReclassificationExitDate"/>
-            <xsd:enumeration value="Recompletion"/>
-            <xsd:enumeration value="RecordedDate"/>
-            <xsd:enumeration value="Recovery"/>
-            <xsd:enumeration value="RecoveryFinish"/>
-            <xsd:enumeration value="RecoveryStart"/>
-            <xsd:enumeration value="Re-entry"/>
-            <xsd:enumeration value="Re-evaluationDate"/>
-            <xsd:enumeration value="ReExportationDate"/>
-            <xsd:enumeration value="ReferenceDateTime"/>
-            <xsd:enumeration value="ReferencedItemCreationDate"/>
-            <xsd:enumeration value="ReferralDate"/>
-            <xsd:enumeration value="ReferredFrom"/>
-            <xsd:enumeration value="ReferredTo"/>
-            <xsd:enumeration value="Refinance"/>
-            <xsd:enumeration value="RefusalPeriod"/>
-            <xsd:enumeration value="Registered"/>
-            <xsd:enumeration value="RegisteredContractorNumberAssignmentDateOriginal"/>
-            <xsd:enumeration value="RegistrationDate"/>
-            <xsd:enumeration value="RegistrationDateOfPreviousCustomsDeclaration"/>
-            <xsd:enumeration value="RegistrationOfBoardOfDirectors"/>
-            <xsd:enumeration value="Rehire"/>
-            <xsd:enumeration value="ReimbursementClaimIssueDateAndOrTime"/>
-            <xsd:enumeration value="ReImportationDate"/>
-            <xsd:enumeration value="ReinstatementDate"/>
-            <xsd:enumeration value="ReinsuranceAccountingPeriod"/>
-            <xsd:enumeration value="ReinsuranceCoverageDuration"/>
-            <xsd:enumeration value="ReinsuranceCurrentAccountPeriod"/>
-            <xsd:enumeration value="ReinsuranceEffective"/>
-            <xsd:enumeration value="ReinsuranceIssueAge"/>
-            <xsd:enumeration value="ReinsurancePaidUpDate"/>
-            <xsd:enumeration value="ReinsurancePaymentFrequency"/>
-            <xsd:enumeration value="Reissue"/>
-            <xsd:enumeration value="Rejected"/>
-            <xsd:enumeration value="ReleaseDateTime"/>
-            <xsd:enumeration value="ReleaseDateCustoms"/>
-            <xsd:enumeration value="ReleaseDateOfCustomer"/>
-            <xsd:enumeration value="ReleaseDateOfSupplier"/>
-            <xsd:enumeration value="ReleasedReturnToWork"/>
-            <xsd:enumeration value="ReleasedToVessel"/>
-            <xsd:enumeration value="ReleaseFrequency"/>
-            <xsd:enumeration value="ReleaseOfInformation"/>
-            <xsd:enumeration value="Remittance"/>
-            <xsd:enumeration value="RemodelingCompleted"/>
-            <xsd:enumeration value="Removed"/>
-            <xsd:enumeration value="RenewalDate"/>
-            <xsd:enumeration value="RentalPeriod"/>
-            <xsd:enumeration value="RentStart"/>
-            <xsd:enumeration value="RentSurvey"/>
-            <xsd:enumeration value="RepairTurnaroundTime"/>
-            <xsd:enumeration value="RepaymentBegin"/>
-            <xsd:enumeration value="RepaymentScheduleSent"/>
-            <xsd:enumeration value="Replaced"/>
-            <xsd:enumeration value="Replacement"/>
-            <xsd:enumeration value="ReplacementEffective"/>
-            <xsd:enumeration value="ReplyDate"/>
-            <xsd:enumeration value="Report"/>
-            <xsd:enumeration value="ReportedDate"/>
-            <xsd:enumeration value="ReportEndDate"/>
-            <xsd:enumeration value="ReportingCycleDate"/>
-            <xsd:enumeration value="ReportPeriod"/>
-            <xsd:enumeration value="ReportStartDate"/>
-            <xsd:enumeration value="Requalification"/>
-            <xsd:enumeration value="Request"/>
-            <xsd:enumeration value="RequestedContract"/>
-            <xsd:enumeration value="RequestedDepartureDate"/>
-            <xsd:enumeration value="RequestedFinish"/>
-            <xsd:enumeration value="DeliveryDateTimeRequestedForAfterAndIncluding"/>
-            <xsd:enumeration value="DeliveryDateTimeRequestedForPriorToAndIncluding"/>
-            <xsd:enumeration value="RequestedForDeliveryWeekOf"/>
-            <xsd:enumeration value="ShipmentDateTimeRequestedForAfterAndIncluding"/>
-            <xsd:enumeration value="ShipmentDateTimeRequestedForPriorToAndIncluding"/>
-            <xsd:enumeration value="RequestedForShipmentWeekOf"/>
-            <xsd:enumeration value="RequestedOffer"/>
-            <xsd:enumeration value="RequestedPick-up"/>
-            <xsd:enumeration value="RequestedSettlement"/>
-            <xsd:enumeration value="RequestedShip"/>
-            <xsd:enumeration value="RequestedStart"/>
-            <xsd:enumeration value="RequestForQuotation"/>
-            <xsd:enumeration value="RequiredBy"/>
-            <xsd:enumeration value="RequiredDelivery"/>
-            <xsd:enumeration value="ReservationOfFacility"/>
-            <xsd:enumeration value="ResidentLicenseEffective"/>
-            <xsd:enumeration value="ResidentLicenseExpiration"/>
-            <xsd:enumeration value="ResignationDate"/>
-            <xsd:enumeration value="Resigned"/>
-            <xsd:enumeration value="ResolvedDate"/>
-            <xsd:enumeration value="RestDay"/>
-            <xsd:enumeration value="RestFinish"/>
-            <xsd:enumeration value="RestStart"/>
-            <xsd:enumeration value="Resubmission"/>
-            <xsd:enumeration value="RetentionReleaseDateTime"/>
-            <xsd:enumeration value="RetentionReleaseDateTimePartial"/>
-            <xsd:enumeration value="Retermination"/>
-            <xsd:enumeration value="Retirement"/>
-            <xsd:enumeration value="RetransmissionTimeStamp"/>
-            <xsd:enumeration value="ReturnedDate"/>
-            <xsd:enumeration value="ReturnedToCustomer"/>
-            <xsd:enumeration value="ReturnToWorkDate"/>
-            <xsd:enumeration value="ReturnToWorkPartTime"/>
-            <xsd:enumeration value="ReviewDate"/>
-            <xsd:enumeration value="ReviewPeriodEnd"/>
-            <xsd:enumeration value="RevisedAdjustedEnd"/>
-            <xsd:enumeration value="RevisedAdjustedStart"/>
-            <xsd:enumeration value="RevisedEstimateDate"/>
-            <xsd:enumeration value="Revision"/>
-            <xsd:enumeration value="Revocation"/>
-            <xsd:enumeration value="Revoked"/>
-            <xsd:enumeration value="RigArrival"/>
-            <xsd:enumeration value="RoadFundTaxExpiryDate"/>
-            <xsd:enumeration value="Sailing"/>
-            <xsd:enumeration value="SalaryChangeEffectiveDate"/>
-            <xsd:enumeration value="SalaryDeferral"/>
-            <xsd:enumeration value="SaleableStockDemandCoverPeriodExpected"/>
-            <xsd:enumeration value="SalesDateAndOrTimeAndOrPeriod"/>
-            <xsd:enumeration value="SalesPeriod"/>
-            <xsd:enumeration value="SampleAvailableDate"/>
-            <xsd:enumeration value="SampleCollected"/>
-            <xsd:enumeration value="SampleRequiredDate"/>
-            <xsd:enumeration value="SamplesToBeReturnedBy"/>
-            <xsd:enumeration value="Sanction"/>
-            <xsd:enumeration value="SatisfactionDate"/>
-            <xsd:enumeration value="Satisfied"/>
-            <xsd:enumeration value="Schedule"/>
-            <xsd:enumeration value="ScheduledFinish"/>
-            <xsd:enumeration value="ScheduledForDeliveryOnOrAfter"/>
-            <xsd:enumeration value="ScheduledForDeliveryOnOrBefore"/>
-            <xsd:enumeration value="ScheduledForDeliveryWeekOf"/>
-            <xsd:enumeration value="ScheduledForShipmentAfterAndIncluding"/>
-            <xsd:enumeration value="ScheduledForShipmentPriorToAndIncluding"/>
-            <xsd:enumeration value="ScheduledForShipmentWeekOf"/>
-            <xsd:enumeration value="ScheduledInterchangeDelivery"/>
-            <xsd:enumeration value="ScheduledStart"/>
-            <xsd:enumeration value="ScheduleRelease"/>
-            <xsd:enumeration value="SchoolRefund"/>
-            <xsd:enumeration value="Seal"/>
-            <xsd:enumeration value="SecondAdmissionDate"/>
-            <xsd:enumeration value="SecondDischargeDate"/>
-            <xsd:enumeration value="SecurityRateAdjustment"/>
-            <xsd:enumeration value="SecuritySharePriceAsOfGivenDate"/>
-            <xsd:enumeration value="Selected"/>
-            <xsd:enumeration value="SelectionPeriodEndDate"/>
-            <xsd:enumeration value="SelectionPeriodStartDate"/>
-            <xsd:enumeration value="SellByDate"/>
-            <xsd:enumeration value="SellersLocalTime"/>
-            <xsd:enumeration value="SemiannualEnding"/>
-            <xsd:enumeration value="SendingRoadTimeStamp"/>
-            <xsd:enumeration value="SepticApproval"/>
-            <xsd:enumeration value="Service"/>
-            <xsd:enumeration value="ServiceCompletionDateTimeActual"/>
-            <xsd:enumeration value="ServiceInterruption"/>
-            <xsd:enumeration value="ServicePeriodEnd"/>
-            <xsd:enumeration value="ServicePeriodStart"/>
-            <xsd:enumeration value="ServiceRequested"/>
-            <xsd:enumeration value="ServicerSignatureDate"/>
-            <xsd:enumeration value="Setoff"/>
-            <xsd:enumeration value="Settled"/>
-            <xsd:enumeration value="SettlementDate"/>
-            <xsd:enumeration value="SettlementDateAsSpecifiedByTheOriginator"/>
-            <xsd:enumeration value="SettlementDateFromInterlineSettlementSystemOnly"/>
-            <xsd:enumeration value="SettlementDatePlanned"/>
-            <xsd:enumeration value="SettlementDueDate"/>
-            <xsd:enumeration value="SettlementStatus"/>
-            <xsd:enumeration value="SharePrice"/>
-            <xsd:enumeration value="ShelfLifeExpiration"/>
-            <xsd:enumeration value="ShipDateOriginallyScheduled"/>
-            <xsd:enumeration value="ShipDuringDate"/>
-            <xsd:enumeration value="ShipmentDateTimePromisedFor"/>
-            <xsd:enumeration value="ShipmentDateTimePromisedForPriorToAndIncluding"/>
-            <xsd:enumeration value="ShipmentDateTimeRequested"/>
-            <xsd:enumeration value="ShipNotLaterThanDateTime"/>
-            <xsd:enumeration value="ShipNotBeforeDateTime"/>
-            <xsd:enumeration value="ShipNotBeforeAndNotAfterDateTime"/>
-            <xsd:enumeration value="ShipOnOrAboutDate"/>
-            <xsd:enumeration value="Shipped"/>
-            <xsd:enumeration value="ShippingDateAndOrTimeCurrentSchedule"/>
-            <xsd:enumeration value="ShippingDateNoScheduleEstablishedAsOf"/>
-            <xsd:enumeration value="ShipWeekOfDate"/>
-            <xsd:enumeration value="ShutIn"/>
-            <xsd:enumeration value="SicknessBenefitAgeLimit"/>
-            <xsd:enumeration value="SicknessBenefitPeriod"/>
-            <xsd:enumeration value="SicknessInsuranceEliminationPeriod"/>
-            <xsd:enumeration value="SicknessLifetimeBenefitQualificationAge"/>
-            <xsd:enumeration value="SidetrackedWellbore"/>
-            <xsd:enumeration value="SignatureDate"/>
-            <xsd:enumeration value="SignatureReceived"/>
-            <xsd:enumeration value="SimilarIllnessOnsetDate"/>
-            <xsd:enumeration value="SimpleInterestDue"/>
-            <xsd:enumeration value="SlaughteringEndDate"/>
-            <xsd:enumeration value="SlaughteringStartDate"/>
-            <xsd:enumeration value="SocialSecurityClaimsVerificationDate"/>
-            <xsd:enumeration value="Sold"/>
-            <xsd:enumeration value="SoldBookPublication"/>
-            <xsd:enumeration value="SoleDirectorshipRegistrationDate"/>
-            <xsd:enumeration value="Solicitation"/>
-            <xsd:enumeration value="SourceDocumentCaptureDate"/>
-            <xsd:enumeration value="SpacingOrderUnitAssigned"/>
-            <xsd:enumeration value="SponsoredDependent"/>
-            <xsd:enumeration value="SponsoredDependentBegin"/>
-            <xsd:enumeration value="SponsoredDependentEnd"/>
-            <xsd:enumeration value="SpouseRetirement"/>
-            <xsd:enumeration value="Spud"/>
-            <xsd:enumeration value="StartDateTime"/>
-            <xsd:enumeration value="StartDateOrTimeActual"/>
-            <xsd:enumeration value="StartDateOrTimeEarliest"/>
-            <xsd:enumeration value="StartDateOrTimeEstimated"/>
-            <xsd:enumeration value="StartDateOrTimeLatest"/>
-            <xsd:enumeration value="StartDateOrTimeMandatory"/>
-            <xsd:enumeration value="StartDateOrTimeNotAfter"/>
-            <xsd:enumeration value="StartDateOrTimeNotBefore"/>
-            <xsd:enumeration value="StartDateOrTimeScheduled"/>
-            <xsd:enumeration value="StartDateTimePlanned"/>
-            <xsd:enumeration value="StartedDoingBusiness"/>
-            <xsd:enumeration value="StartNoEarlierThan"/>
-            <xsd:enumeration value="StartNoLaterThan"/>
-            <xsd:enumeration value="Statement"/>
-            <xsd:enumeration value="StateResidencyDate"/>
-            <xsd:enumeration value="StateTermination"/>
-            <xsd:enumeration value="StatisticalTimeSeriesDate"/>
-            <xsd:enumeration value="Status"/>
-            <xsd:enumeration value="StatusAfterAndIncluding"/>
-            <xsd:enumeration value="StatusAssignmentDate"/>
-            <xsd:enumeration value="StatusChangeDateTime"/>
-            <xsd:enumeration value="StatusCommercial"/>
-            <xsd:enumeration value="StatusOutsideProcessor"/>
-            <xsd:enumeration value="StatusPriorAndIncluding"/>
-            <xsd:enumeration value="StopDistributionDate"/>
-            <xsd:enumeration value="StopWorkAsOfGivenDate"/>
-            <xsd:enumeration value="Stored"/>
-            <xsd:enumeration value="StudentSigned"/>
-            <xsd:enumeration value="SubcontractorPeriodOfHire"/>
-            <xsd:enumeration value="SubmissionDate"/>
-            <xsd:enumeration value="Submittal"/>
-            <xsd:enumeration value="SubsequentInterestPaymentDue"/>
-            <xsd:enumeration value="SubsequentSubmission"/>
-            <xsd:enumeration value="SupersededDateTime"/>
-            <xsd:enumeration value="SupplementalIssue"/>
-            <xsd:enumeration value="SuppliersAverageCreditPeriod"/>
-            <xsd:enumeration value="SurfaceCasingAuthorityApproval"/>
-            <xsd:enumeration value="Surgery"/>
-            <xsd:enumeration value="Surrender"/>
-            <xsd:enumeration value="SurveyYear"/>
-            <xsd:enumeration value="SuspendedDate"/>
-            <xsd:enumeration value="SuspensionEffective"/>
-            <xsd:enumeration value="SuspensionPeriod"/>
-            <xsd:enumeration value="SwornAndSubscribed"/>
-            <xsd:enumeration value="SymptomsOnsetPatientAlleged"/>
-            <xsd:enumeration value="SystemSurvey"/>
-            <xsd:enumeration value="SystemTest"/>
-            <xsd:enumeration value="TableRatingEnd"/>
-            <xsd:enumeration value="TailCoverageBegin"/>
-            <xsd:enumeration value="TailCoverageEnd"/>
-            <xsd:enumeration value="TanksAcceptedDateTime"/>
-            <xsd:enumeration value="TanksInspectedDateTime"/>
-            <xsd:enumeration value="Tax"/>
-            <xsd:enumeration value="TaxPeriod"/>
-            <xsd:enumeration value="TaxPeriodEndDate"/>
-            <xsd:enumeration value="TaxPeriodStartDate"/>
-            <xsd:enumeration value="TaxPointDate"/>
-            <xsd:enumeration value="TaxYear"/>
-            <xsd:enumeration value="TechnicalRating"/>
-            <xsd:enumeration value="TelexDate"/>
-            <xsd:enumeration value="TemporaryProsthesisDate"/>
-            <xsd:enumeration value="TenderSubmissionDateTime"/>
-            <xsd:enumeration value="TerminatedDate"/>
-            <xsd:enumeration value="Termination"/>
-            <xsd:enumeration value="TerminationOfFacility"/>
-            <xsd:enumeration value="TermsDiscountDueDateTime"/>
-            <xsd:enumeration value="TermsMet"/>
-            <xsd:enumeration value="TermsNetDueDate"/>
-            <xsd:enumeration value="TestCompletionDate"/>
-            <xsd:enumeration value="TestPerformed"/>
-            <xsd:enumeration value="TestPeriodEnding"/>
-            <xsd:enumeration value="TestStartDate"/>
-            <xsd:enumeration value="TexasLineTermination"/>
-            <xsd:enumeration value="Therapy"/>
-            <xsd:enumeration value="TimeEmployeeBeganWork"/>
-            <xsd:enumeration value="TimeInUS"/>
-            <xsd:enumeration value="TimeLimit"/>
-            <xsd:enumeration value="TimeNowDate"/>
-            <xsd:enumeration value="TimePeriod"/>
-            <xsd:enumeration value="TitleTransfer"/>
-            <xsd:enumeration value="ToolingRequiredDate"/>
-            <xsd:enumeration value="TotalShelfLifePeriod"/>
-            <xsd:enumeration value="Tour"/>
-            <xsd:enumeration value="TradeDate"/>
-            <xsd:enumeration value="TradeStyleRegistrationDate"/>
-            <xsd:enumeration value="TrainingBegin"/>
-            <xsd:enumeration value="TrainingEnd"/>
-            <xsd:enumeration value="TransactionCreationDate"/>
-            <xsd:enumeration value="TransferNoteAcceptanceDateAndTime"/>
-            <xsd:enumeration value="Transferred"/>
-            <xsd:enumeration value="TranshipmentDateTime"/>
-            <xsd:enumeration value="Transition"/>
-            <xsd:enumeration value="TransitTimeLimits"/>
-            <xsd:enumeration value="TransmissionDateTimeOfDocument"/>
-            <xsd:enumeration value="Transmitted"/>
-            <xsd:enumeration value="TransportEquipmentStrippingDateAndOrTime"/>
-            <xsd:enumeration value="TransportEquipmentStuffingDateAndOrTime"/>
-            <xsd:enumeration value="Travel"/>
-            <xsd:enumeration value="Treatment"/>
-            <xsd:enumeration value="TreatmentEnd"/>
-            <xsd:enumeration value="TreatmentStart"/>
-            <xsd:enumeration value="TrialBalancePeriod"/>
-            <xsd:enumeration value="TrialSet"/>
-            <xsd:enumeration value="TrialStartDateActual"/>
-            <xsd:enumeration value="TrialStartDateScheduled"/>
-            <xsd:enumeration value="Trust"/>
-            <xsd:enumeration value="UnderwritingYear"/>
-            <xsd:enumeration value="UnloadedDateAndTime"/>
-            <xsd:enumeration value="ValidationDate"/>
-            <xsd:enumeration value="ValidityPeriod"/>
-            <xsd:enumeration value="ValidityStartDate"/>
-            <xsd:enumeration value="ValidUntil"/>
-            <xsd:enumeration value="ValuationDateTime"/>
-            <xsd:enumeration value="ValuationDateCustoms"/>
-            <xsd:enumeration value="ValueAddedTaxClaimsVerificationDate"/>
-            <xsd:enumeration value="ValueDate"/>
-            <xsd:enumeration value="ValueDateOfIndex"/>
-            <xsd:enumeration value="VerbalReportNeeded"/>
-            <xsd:enumeration value="VerificationReceived"/>
-            <xsd:enumeration value="VerificationSent"/>
-            <xsd:enumeration value="Verified"/>
-            <xsd:enumeration value="Version"/>
-            <xsd:enumeration value="VesselRegistry"/>
-            <xsd:enumeration value="VestingService"/>
-            <xsd:enumeration value="VestingServiceBegin"/>
-            <xsd:enumeration value="VestingServiceEnd"/>
-            <xsd:enumeration value="VoluntaryTermination"/>
-            <xsd:enumeration value="VoucherDateOf"/>
-            <xsd:enumeration value="WageEffective"/>
-            <xsd:enumeration value="WagesEarned"/>
-            <xsd:enumeration value="WagePeriodEndDate"/>
-            <xsd:enumeration value="WagePeriodStartDate"/>
-            <xsd:enumeration value="WaitingTime"/>
-            <xsd:enumeration value="WarrantyExpiration"/>
-            <xsd:enumeration value="Waybill"/>
-            <xsd:enumeration value="WeekEnding"/>
-            <xsd:enumeration value="Weighed"/>
-            <xsd:enumeration value="WellLogRun"/>
-            <xsd:enumeration value="WholesaleContractEffective"/>
-            <xsd:enumeration value="WholesaleContractExpiration"/>
-            <xsd:enumeration value="WillAdviseAsOf"/>
-            <xsd:enumeration value="WithdrawnDate"/>
-            <xsd:enumeration value="WithheldDate"/>
-            <xsd:enumeration value="WorkEffectiveStartDate"/>
-            <xsd:enumeration value="WorkingPeriodEndDate"/>
-            <xsd:enumeration value="WorkingPeriodStartDate"/>
-            <xsd:enumeration value="WorkPeriod"/>
-            <xsd:enumeration value="WorksCompletionDateTimeActual"/>
-            <xsd:enumeration value="WorksCompletionDateTimePlanned"/>
-            <xsd:enumeration value="WorstTimeToCall"/>
-            <xsd:enumeration value="YearBeginning"/>
-            <xsd:enumeration value="YearDue"/>
-            <xsd:enumeration value="YearEnding"/>
-            <xsd:enumeration value="YearOfOccurrence"/>
-            <xsd:enumeration value="YearToDate"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="OrderParty">
-        <xsd:sequence>
-            <xsd:element name="BuyerParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="BuyerTaxInformation">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="PartyTaxInformation"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="SellerParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="SellerTaxInformation">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="PartyTaxInformation"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ShipToParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="BillToParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="RemitToParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ShipFromParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="WarehouseParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="SoldToParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ManufacturingToParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="MaterialIssuer">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ListOfPartyCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderParty" type="OrderParty"/>
-    <xsd:complexType name="Party">
-        <xsd:sequence>
-            <xsd:element name="PartyID">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ListOfIdentifier"/>
-            <xsd:element minOccurs="0" name="MDFBusiness" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" ref="NameAddress"/>
-            <xsd:element minOccurs="0" name="OrderContact">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Contact"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ReceivingContact">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Contact"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ShippingContact">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Contact"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OtherContacts">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfContact"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="CorrespondenceLanguage">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Language"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Party" type="Party"/>
-    <xsd:complexType name="ListOfIdentifier">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Identifier"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfIdentifier" type="ListOfIdentifier"/>
-    <xsd:complexType name="Contact">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="ContactID">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="ContactName" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ContactFunction"/>
-            <xsd:element minOccurs="0" name="ContactDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfContactNumber"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Contact" type="Contact"/>
-    <xsd:complexType name="ContactFunction">
-        <xsd:sequence>
-            <xsd:element name="ContactFunctionCoded" type="ContactFunctionCode"/>
-            <xsd:element minOccurs="0" name="ContactFunctionCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ContactFunction" type="ContactFunction"/>
-    <xsd:simpleType name="ContactFunctionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AcceptingContact"/>
-            <xsd:enumeration value="AcceptingOfficial"/>
-            <xsd:enumeration value="Accountingcontact"/>
-            <xsd:enumeration value="AccountsPayableContact"/>
-            <xsd:enumeration value="AccountsReceivableContact"/>
-            <xsd:enumeration value="AdditionalInsuranceInformationContact"/>
-            <xsd:enumeration value="AdministrativeContractingOfficer"/>
-            <xsd:enumeration value="Administrator"/>
-            <xsd:enumeration value="Advisor"/>
-            <xsd:enumeration value="After-HoursContact"/>
-            <xsd:enumeration value="Agent"/>
-            <xsd:enumeration value="AlternateContact"/>
-            <xsd:enumeration value="Applicant"/>
-            <xsd:enumeration value="AppointmentScheduler"/>
-            <xsd:enumeration value="Appraiser"/>
-            <xsd:enumeration value="Attention-ToParty"/>
-            <xsd:enumeration value="Attorney"/>
-            <xsd:enumeration value="AuditingContact"/>
-            <xsd:enumeration value="AuthorizedFinancialContact"/>
-            <xsd:enumeration value="AuthorizedNegotiator"/>
-            <xsd:enumeration value="AuthorizedRepresentative"/>
-            <xsd:enumeration value="AuthorizedSignature"/>
-            <xsd:enumeration value="AutomatedClearinghouseContact"/>
-            <xsd:enumeration value="BankingContact"/>
-            <xsd:enumeration value="BillInquiryContact"/>
-            <xsd:enumeration value="BoardStaff"/>
-            <xsd:enumeration value="Broker"/>
-            <xsd:enumeration value="BrokerContact"/>
-            <xsd:enumeration value="BusinessUnitManager"/>
-            <xsd:enumeration value="BuyerNameorDepartment"/>
-            <xsd:enumeration value="CADAndCAMSpecialist"/>
-            <xsd:enumeration value="Carrier"/>
-            <xsd:enumeration value="CaseManager"/>
-            <xsd:enumeration value="CertificationContact"/>
-            <xsd:enumeration value="Certifier"/>
-            <xsd:enumeration value="ChairmanOfTheBoard"/>
-            <xsd:enumeration value="ChangedBy"/>
-            <xsd:enumeration value="ChangeOrderApprover"/>
-            <xsd:enumeration value="ChiefExecutiveOfficer"/>
-            <xsd:enumeration value="ChiefFinancialOfficer"/>
-            <xsd:enumeration value="ChiefInformationOfficer"/>
-            <xsd:enumeration value="ChiefOperatingOfficer"/>
-            <xsd:enumeration value="CityWorksAuthorityContact"/>
-            <xsd:enumeration value="Claimant"/>
-            <xsd:enumeration value="ClaimApprover"/>
-            <xsd:enumeration value="ClaimRecipient"/>
-            <xsd:enumeration value="ClaimsContact"/>
-            <xsd:enumeration value="ClearinghouseContact"/>
-            <xsd:enumeration value="ClerkOfCourt"/>
-            <xsd:enumeration value="Co-Borrower"/>
-            <xsd:enumeration value="Co-Investigator"/>
-            <xsd:enumeration value="Collector"/>
-            <xsd:enumeration value="CollegeofEducationAdmissionsOffice"/>
-            <xsd:enumeration value="ComplianceOfficer"/>
-            <xsd:enumeration value="ComponentEngineer"/>
-            <xsd:enumeration value="ComputerSystemsContact"/>
-            <xsd:enumeration value="ConcurrentEmployerContact"/>
-            <xsd:enumeration value="ConfirmedWith"/>
-            <xsd:enumeration value="Consignee"/>
-            <xsd:enumeration value="Consignor"/>
-            <xsd:enumeration value="ContainerManager"/>
-            <xsd:enumeration value="ContractContact"/>
-            <xsd:enumeration value="CoordinationContact"/>
-            <xsd:enumeration value="Coordinator"/>
-            <xsd:enumeration value="CorporatePurchasingAgent"/>
-            <xsd:enumeration value="CostAndScheduleCoordinator"/>
-            <xsd:enumeration value="CustomerContactGrantingAppointment"/>
-            <xsd:enumeration value="CustomerEngineer"/>
-            <xsd:enumeration value="CustomerMaintenanceManager"/>
-            <xsd:enumeration value="CustomerRelations"/>
-            <xsd:enumeration value="DangerousGoodsContact"/>
-            <xsd:enumeration value="DeliveryContact"/>
-            <xsd:enumeration value="DeliveryInstructionsContact"/>
-            <xsd:enumeration value="DentalSchoolAdmissionsOffice"/>
-            <xsd:enumeration value="DepartmentOrEmployeeToExecuteExportProcedures"/>
-            <xsd:enumeration value="DepartmentOrEmployeeToExecuteImportProcedures"/>
-            <xsd:enumeration value="DepartmentOrPersonResponsibleForProcessingPurchaseOrder"/>
-            <xsd:enumeration value="DesignEngineer"/>
-            <xsd:enumeration value="Development"/>
-            <xsd:enumeration value="Director"/>
-            <xsd:enumeration value="DirectoryAdvertisingContact"/>
-            <xsd:enumeration value="DivisionDirector"/>
-            <xsd:enumeration value="DivisionManager"/>
-            <xsd:enumeration value="EDICoordinator"/>
-            <xsd:enumeration value="EducationCoordinator"/>
-            <xsd:enumeration value="ElectricitySupplyContact"/>
-            <xsd:enumeration value="ElectronicDataInterchangeCoordinator"/>
-            <xsd:enumeration value="ElectronicSubmissionRecipient"/>
-            <xsd:enumeration value="EmergencyContact"/>
-            <xsd:enumeration value="EmergencyContact-Consignee"/>
-            <xsd:enumeration value="EmergencyContact-MilitaryTrafficManagementCommand"/>
-            <xsd:enumeration value="EmergencyContact-Shipper"/>
-            <xsd:enumeration value="EmergencyDangerousGoodsContact"/>
-            <xsd:enumeration value="EmployerContact"/>
-            <xsd:enumeration value="Engineer"/>
-            <xsd:enumeration value="EngineeringContact"/>
-            <xsd:enumeration value="EnteredBy"/>
-            <xsd:enumeration value="Estimator"/>
-            <xsd:enumeration value="EveningProgramsOffice"/>
-            <xsd:enumeration value="ExecutiveOfficer"/>
-            <xsd:enumeration value="ExecutiveVice-President"/>
-            <xsd:enumeration value="Expeditor"/>
-            <xsd:enumeration value="FinancialAidOffice"/>
-            <xsd:enumeration value="ForeclosingLenderAdministrativeContact"/>
-            <xsd:enumeration value="ForwarderContact"/>
-            <xsd:enumeration value="FunctionalManager"/>
-            <xsd:enumeration value="GasSupplyContact"/>
-            <xsd:enumeration value="GeneralContact"/>
-            <xsd:enumeration value="GoodsReceivingContact"/>
-            <xsd:enumeration value="GraduateAdmissionsOffice"/>
-            <xsd:enumeration value="GraduateBusinessOffice"/>
-            <xsd:enumeration value="GraduateEngineeringOffice"/>
-            <xsd:enumeration value="GraduateFineArtsOffice"/>
-            <xsd:enumeration value="GuidanceCounselor"/>
-            <xsd:enumeration value="HazardousMaterialContact"/>
-            <xsd:enumeration value="HeadOfUnitForInformationDissemination"/>
-            <xsd:enumeration value="HeadOfUnitForInformationProduction"/>
-            <xsd:enumeration value="HeadOfUnitOrComputerDataProcessing"/>
-            <xsd:enumeration value="HealthMaintenanceOrganizationContact"/>
-            <xsd:enumeration value="HumanResources"/>
-            <xsd:enumeration value="InformationContact"/>
-            <xsd:enumeration value="InsuranceContact"/>
-            <xsd:enumeration value="InsuredParty"/>
-            <xsd:enumeration value="InsurerContact"/>
-            <xsd:enumeration value="Interviewer"/>
-            <xsd:enumeration value="Investigator"/>
-            <xsd:enumeration value="InvestmentContact"/>
-            <xsd:enumeration value="IssuingOfficer"/>
-            <xsd:enumeration value="JointWorkAgent"/>
-            <xsd:enumeration value="LaboratoryContact"/>
-            <xsd:enumeration value="LandregistryContact"/>
-            <xsd:enumeration value="LawFirm"/>
-            <xsd:enumeration value="LawSchoolAdmissionsOffice"/>
-            <xsd:enumeration value="LegalAuditingContact"/>
-            <xsd:enumeration value="Licensee"/>
-            <xsd:enumeration value="LocalPurchasingAgent"/>
-            <xsd:enumeration value="MaintenanceContact"/>
-            <xsd:enumeration value="Manager"/>
-            <xsd:enumeration value="Manufacturing"/>
-            <xsd:enumeration value="ManufacturingPlantContact"/>
-            <xsd:enumeration value="MarketingDepartment"/>
-            <xsd:enumeration value="MarketingDirector"/>
-            <xsd:enumeration value="MaterialControlContact"/>
-            <xsd:enumeration value="MaterialDispositionContact"/>
-            <xsd:enumeration value="MaterialHandlingContact"/>
-            <xsd:enumeration value="MaterialSafetyDataSheetContact"/>
-            <xsd:enumeration value="Mayor"/>
-            <xsd:enumeration value="MedicalAdmissionsOffice"/>
-            <xsd:enumeration value="MedicalContact"/>
-            <xsd:enumeration value="MessageRecipientContact"/>
-            <xsd:enumeration value="MessageSenderContact"/>
-            <xsd:enumeration value="MultipleListingServiceStaff"/>
-            <xsd:enumeration value="MultipleListingServiceVendor"/>
-            <xsd:enumeration value="NationalAgent"/>
-            <xsd:enumeration value="NewBusinessProcessing"/>
-            <xsd:enumeration value="NewDevelopmentsContact"/>
-            <xsd:enumeration value="NotaryPublic"/>
-            <xsd:enumeration value="NotificationContact"/>
-            <xsd:enumeration value="NumericalControlEngineer"/>
-            <xsd:enumeration value="OfficeManager"/>
-            <xsd:enumeration value="OfficeStaff"/>
-            <xsd:enumeration value="Operations"/>
-            <xsd:enumeration value="OrderContact"/>
-            <xsd:enumeration value="OrderDepartment"/>
-            <xsd:enumeration value="OrderingOfficer"/>
-            <xsd:enumeration value="OtherAdult"/>
-            <xsd:enumeration value="Owner"/>
-            <xsd:enumeration value="OwnerRepresentative"/>
-            <xsd:enumeration value="Packager"/>
-            <xsd:enumeration value="ParentorGuardian"/>
-            <xsd:enumeration value="ParticipatingLaboratoryContact"/>
-            <xsd:enumeration value="Partner"/>
-            <xsd:enumeration value="Patient"/>
-            <xsd:enumeration value="PayeeContact"/>
-            <xsd:enumeration value="PayersClaimOffice"/>
-            <xsd:enumeration value="PerformanceEvaluationCommittee"/>
-            <xsd:enumeration value="PersonnelContact"/>
-            <xsd:enumeration value="Physician"/>
-            <xsd:enumeration value="PlaceOfCollectionContact"/>
-            <xsd:enumeration value="PlaceOfDeliveryContact"/>
-            <xsd:enumeration value="PlantManager"/>
-            <xsd:enumeration value="PlantOrEquipmentContact"/>
-            <xsd:enumeration value="PlatformMaintenanceManager"/>
-            <xsd:enumeration value="PortEngineer"/>
-            <xsd:enumeration value="PreawardSurveyManager"/>
-            <xsd:enumeration value="PreferredProviderOrganizationContact"/>
-            <xsd:enumeration value="Preparer"/>
-            <xsd:enumeration value="President"/>
-            <xsd:enumeration value="PriceAdministration"/>
-            <xsd:enumeration value="PrimaryContact"/>
-            <xsd:enumeration value="PrimaryControlPoint"/>
-            <xsd:enumeration value="PrimaryTaxpayer"/>
-            <xsd:enumeration value="PrincipalStudyContactorAuthor"/>
-            <xsd:enumeration value="ProbationorLegalOfficer"/>
-            <xsd:enumeration value="ProcessEngineer"/>
-            <xsd:enumeration value="Processor"/>
-            <xsd:enumeration value="ProductionRepresentative"/>
-            <xsd:enumeration value="ProductManagementContact"/>
-            <xsd:enumeration value="ProgramDirector"/>
-            <xsd:enumeration value="ProgramManager"/>
-            <xsd:enumeration value="ProjectDirector"/>
-            <xsd:enumeration value="ProjectManagementContact"/>
-            <xsd:enumeration value="ProjectManager"/>
-            <xsd:enumeration value="PrototypeCoordinator"/>
-            <xsd:enumeration value="Provider"/>
-            <xsd:enumeration value="PublicRelationsContact"/>
-            <xsd:enumeration value="PurchaseServiceProvider"/>
-            <xsd:enumeration value="PurchasingContact"/>
-            <xsd:enumeration value="PurchasingContractingOfficer"/>
-            <xsd:enumeration value="QualityAssuranceContact"/>
-            <xsd:enumeration value="QualityCoordinatorContact"/>
-            <xsd:enumeration value="QualityInspector"/>
-            <xsd:enumeration value="QualityManager"/>
-            <xsd:enumeration value="QuantitySurveyorContact"/>
-            <xsd:enumeration value="QuotingParty"/>
-            <xsd:enumeration value="RateSupervisorOrClerk"/>
-            <xsd:enumeration value="RealEstatePropertyKeyHolder"/>
-            <xsd:enumeration value="RealEstatePropertyOccupant"/>
-            <xsd:enumeration value="RebateOrChargebackContact"/>
-            <xsd:enumeration value="ReceivingContact"/>
-            <xsd:enumeration value="ReceivingDockContact"/>
-            <xsd:enumeration value="Registrar"/>
-            <xsd:enumeration value="RentalCompanyAdministrativeContact"/>
-            <xsd:enumeration value="ReportAuthorizer"/>
-            <xsd:enumeration value="ReportPreparer"/>
-            <xsd:enumeration value="Requestor"/>
-            <xsd:enumeration value="Respondant"/>
-            <xsd:enumeration value="ResponsiblePerson"/>
-            <xsd:enumeration value="ResponsiblePersonForComputerDataProcessing"/>
-            <xsd:enumeration value="ResponsiblePersonforInformationDissemination"/>
-            <xsd:enumeration value="ResponsiblePersonForInformationProduction"/>
-            <xsd:enumeration value="ReviewAndRepricingContact"/>
-            <xsd:enumeration value="SalesAdministration"/>
-            <xsd:enumeration value="SalesRepresentativeOrDepartment"/>
-            <xsd:enumeration value="ScheduleContact"/>
-            <xsd:enumeration value="SchoolClerk"/>
-            <xsd:enumeration value="SchoolofTheologyAdmissionsOffice"/>
-            <xsd:enumeration value="SchoolofVeterinaryMedicineAdmissionsOffice"/>
-            <xsd:enumeration value="SchoolPrincipal"/>
-            <xsd:enumeration value="SecondaryTaxpayer"/>
-            <xsd:enumeration value="Secretary"/>
-            <xsd:enumeration value="ServiceContact"/>
-            <xsd:enumeration value="ServiceManager"/>
-            <xsd:enumeration value="ServiceOrderWriter"/>
-            <xsd:enumeration value="ServiceOrganization"/>
-            <xsd:enumeration value="ServiceTeam"/>
-            <xsd:enumeration value="ServiceTechnician"/>
-            <xsd:enumeration value="ShipperContact"/>
-            <xsd:enumeration value="ShippingContact"/>
-            <xsd:enumeration value="SocialServicesWorker"/>
-            <xsd:enumeration value="SoftwareHouseContact"/>
-            <xsd:enumeration value="SpecialProgramContact"/>
-            <xsd:enumeration value="Spouse"/>
-            <xsd:enumeration value="Staff"/>
-            <xsd:enumeration value="Student"/>
-            <xsd:enumeration value="StudentinAbsentia"/>
-            <xsd:enumeration value="StudySubmitterContact"/>
-            <xsd:enumeration value="SubmittingContact"/>
-            <xsd:enumeration value="Supervisor"/>
-            <xsd:enumeration value="SupplierContact"/>
-            <xsd:enumeration value="SystemsAdministrator"/>
-            <xsd:enumeration value="TechnicalContact"/>
-            <xsd:enumeration value="TechnicalDepartment"/>
-            <xsd:enumeration value="TechnicalDocumentationRecipient"/>
-            <xsd:enumeration value="TechnicalMarketingRepresentative"/>
-            <xsd:enumeration value="TechnicalWriter"/>
-            <xsd:enumeration value="TelecommunicationsNetworkContact"/>
-            <xsd:enumeration value="TelephoneAnsweringServiceContact"/>
-            <xsd:enumeration value="Tenant"/>
-            <xsd:enumeration value="TenderDeveloper"/>
-            <xsd:enumeration value="TestContact"/>
-            <xsd:enumeration value="Third-PartyAdministratorContact"/>
-            <xsd:enumeration value="TownPlanningContact"/>
-            <xsd:enumeration value="TrafficAdministrator"/>
-            <xsd:enumeration value="TrafficAuthorityContact"/>
-            <xsd:enumeration value="Transmitter"/>
-            <xsd:enumeration value="TransportContact"/>
-            <xsd:enumeration value="TransportInfrastructureAuthority"/>
-            <xsd:enumeration value="Treasurer"/>
-            <xsd:enumeration value="UltimateConsignee"/>
-            <xsd:enumeration value="UltimateReceiver"/>
-            <xsd:enumeration value="UndergraduateAdmissionsOffice"/>
-            <xsd:enumeration value="Underwriter"/>
-            <xsd:enumeration value="UnionPresident"/>
-            <xsd:enumeration value="VicePresident"/>
-            <xsd:enumeration value="WaiverContact"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="WaterSupplyContact"/>
-            <xsd:enumeration value="Witness"/>
-            <xsd:enumeration value="WorkBrokerMaintenanceManager"/>
-            <xsd:enumeration value="WorkshopContact"/>
-            <xsd:enumeration value="WorksManagementContact"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfContactNumber">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ContactNumber"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfContactNumber" type="ListOfContactNumber"/>
-    <xsd:complexType name="ContactNumber">
-        <xsd:sequence>
-            <xsd:element name="ContactNumberValue" type="xsd:string"/>
-            <xsd:element name="ContactNumberTypeCoded" type="ContactNumberTypeCode"/>
-            <xsd:element minOccurs="0" name="ContactNumberTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ContactNumber" type="ContactNumber"/>
-    <xsd:simpleType name="ContactNumberTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="TelephoneNumber"/>
-            <xsd:enumeration value="FaxNumber"/>
-            <xsd:enumeration value="EmailAddress"/>
-            <xsd:enumeration value="MobileNumber"/>
-            <xsd:enumeration value="TelexNumber"/>
-            <xsd:enumeration value="PagerNumber"/>
-            <xsd:enumeration value="HomePage"/>
-            <xsd:enumeration value="WWW"/>
-            <xsd:enumeration value="FTP"/>
-            <xsd:enumeration value="URLOther"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfContact">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Contact"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfContact" type="ListOfContact"/>
-    <xsd:complexType name="PartyTaxInformation">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="TaxIdentifier">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="RegisteredName" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="RegisteredOffice" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="TaxLocation"/>
-            <xsd:element minOccurs="0" name="CompanyRegistrationNumber" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PartyTaxInformation" type="PartyTaxInformation"/>
-    <xsd:complexType name="ListOfPartyCoded">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="PartyCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfPartyCoded" type="ListOfPartyCoded"/>
-    <xsd:complexType name="PartyCoded">
-        <xsd:complexContent>
-            <xsd:extension base="Party">
-                <xsd:sequence>
-                    <xsd:element name="PartyRoleCoded" type="PartyRoleCode"/>
-                    <xsd:element minOccurs="0" name="PartyRoleCodedOther" type="xsd:string"/>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:element name="PartyCoded" type="PartyCoded"/>
-    <xsd:complexType name="ListOfTransport">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Transport"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfTransport" type="ListOfTransport"/>
-    <xsd:complexType name="Transport">
-        <xsd:sequence>
-            <xsd:element name="TransportID" type="xsd:int"/>
-            <xsd:element minOccurs="0" ref="TransportMode"/>
-            <xsd:element minOccurs="0" ref="TransportMeans"/>
-            <xsd:element minOccurs="0" name="CarrierName" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CarrierID">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="CustShippingContractNum" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ServiceLevelCoded" type="ServiceLevelCode"/>
-            <xsd:element minOccurs="0" name="ServiceLevelCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ShippingInstructions" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TransportLegCoded" type="TransportLegCode"/>
-            <xsd:element minOccurs="0" name="TransportLegCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfTransportEquipment"/>
-            <xsd:element minOccurs="0" ref="TransitDirection"/>
-            <xsd:element minOccurs="0" name="TransportNote" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Transport" type="Transport"/>
-    <xsd:complexType name="TransportMode">
-        <xsd:sequence>
-            <xsd:element name="TransportModeCoded" type="TransportModeCode"/>
-            <xsd:element minOccurs="0" name="TransportModeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TransportMode" type="TransportMode"/>
-    <xsd:simpleType name="TransportModeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Air"/>
-            <xsd:enumeration value="AirCharter"/>
-            <xsd:enumeration value="AirExpress"/>
-            <xsd:enumeration value="AirFreight"/>
-            <xsd:enumeration value="AirFrieghtForwarder"/>
-            <xsd:enumeration value="AirTaxi"/>
-            <xsd:enumeration value="AirTransport"/>
-            <xsd:enumeration value="ArmedForcesCourierService"/>
-            <xsd:enumeration value="Backhaul"/>
-            <xsd:enumeration value="Barge"/>
-            <xsd:enumeration value="BestWay-ShippersOption"/>
-            <xsd:enumeration value="BookPostal"/>
-            <xsd:enumeration value="Bus"/>
-            <xsd:enumeration value="CabOrTaxi"/>
-            <xsd:enumeration value="CommonIrregularCarrier"/>
-            <xsd:enumeration value="Consolidation"/>
-            <xsd:enumeration value="ContainerizedOcean"/>
-            <xsd:enumeration value="ContractCarrier"/>
-            <xsd:enumeration value="ConventionalOcean"/>
-            <xsd:enumeration value="CustomerPickup"/>
-            <xsd:enumeration value="CustomerPickupOrCustomersExpense"/>
-            <xsd:enumeration value="Driveaway"/>
-            <xsd:enumeration value="DriveawayService"/>
-            <xsd:enumeration value="EuropeanOrPacificDistributionSystem"/>
-            <xsd:enumeration value="ExpeditedTruck"/>
-            <xsd:enumeration value="FixedTransportInstallation"/>
-            <xsd:enumeration value="Flyaway"/>
-            <xsd:enumeration value="GeographicReceiving"/>
-            <xsd:enumeration value="GeographicReceivingOrShipping"/>
-            <xsd:enumeration value="GeographicShipping"/>
-            <xsd:enumeration value="InlandWaterTransport"/>
-            <xsd:enumeration value="InlandWaterway"/>
-            <xsd:enumeration value="Intermodal-Piggyback"/>
-            <xsd:enumeration value="LessThanTrailerLoad"/>
-            <xsd:enumeration value="Logair"/>
-            <xsd:enumeration value="Mail"/>
-            <xsd:enumeration value="MaritimeTransport"/>
-            <xsd:enumeration value="MilitaryIntratheaterAirliftService"/>
-            <xsd:enumeration value="MilitaryOfficialMail"/>
-            <xsd:enumeration value="ModeUnknown"/>
-            <xsd:enumeration value="Motor"/>
-            <xsd:enumeration value="Motor-BulkCarrier"/>
-            <xsd:enumeration value="Motor-CommonCarrier"/>
-            <xsd:enumeration value="Motor-Flatbed"/>
-            <xsd:enumeration value="Motor-PackageCarrier"/>
-            <xsd:enumeration value="Motor-Van"/>
-            <xsd:enumeration value="MutimodalTransport"/>
-            <xsd:enumeration value="Ocean"/>
-            <xsd:enumeration value="OceanConferenceCarrier"/>
-            <xsd:enumeration value="OceanNon-ConferenceCarrier"/>
-            <xsd:enumeration value="ParcelPost"/>
-            <xsd:enumeration value="Pipeline"/>
-            <xsd:enumeration value="PooledAir"/>
-            <xsd:enumeration value="PooledPiggyback"/>
-            <xsd:enumeration value="PooledRail"/>
-            <xsd:enumeration value="PooledTruck"/>
-            <xsd:enumeration value="PoolToPool"/>
-            <xsd:enumeration value="PrivateCarrier"/>
-            <xsd:enumeration value="PrivateParcelService"/>
-            <xsd:enumeration value="PrivateVessel"/>
-            <xsd:enumeration value="Quicktrans"/>
-            <xsd:enumeration value="Rail"/>
-            <xsd:enumeration value="RailTransport"/>
-            <xsd:enumeration value="Roadrailer"/>
-            <xsd:enumeration value="RoadTransport"/>
-            <xsd:enumeration value="SeaOrAir"/>
-            <xsd:enumeration value="ShipperAgent"/>
-            <xsd:enumeration value="ShipperAgent-Truck"/>
-            <xsd:enumeration value="ShipperAssociation"/>
-            <xsd:enumeration value="StackTrain"/>
-            <xsd:enumeration value="Steamship"/>
-            <xsd:enumeration value="SupplierTruck"/>
-            <xsd:enumeration value="TowawayService"/>
-            <xsd:enumeration value="Vessel"/>
-            <xsd:enumeration value="WaterOrPipelineIntermodalMovement"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="TransportMeans">
-        <xsd:sequence>
-            <xsd:element name="TransportMeansCoded" type="TransportMeansCode"/>
-            <xsd:element minOccurs="0" name="TransportMeansCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TransportMeans" type="TransportMeans"/>
-    <xsd:simpleType name="TransportMeansCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="20FtILContainer-ClosedTop"/>
-            <xsd:enumeration value="20FtILContainer-OpenTop"/>
-            <xsd:enumeration value="40FtILContainer-OpenTop"/>
-            <xsd:enumeration value="40FtILContainer-ClosedTop"/>
-            <xsd:enumeration value="Aircraft"/>
-            <xsd:enumeration value="AirFreight-BreakBulk"/>
-            <xsd:enumeration value="AirRideVan"/>
-            <xsd:enumeration value="Barge"/>
-            <xsd:enumeration value="BargeChemicalTanker"/>
-            <xsd:enumeration value="BargeOpen"/>
-            <xsd:enumeration value="BilevelRailcarFullyEnclosed"/>
-            <xsd:enumeration value="BilevelRailcarFullyOpen"/>
-            <xsd:enumeration value="BilevelRailcarScreened-NoRoof"/>
-            <xsd:enumeration value="BilevelRailcarScreened-WithRoof"/>
-            <xsd:enumeration value="Bogie"/>
-            <xsd:enumeration value="Boxcar"/>
-            <xsd:enumeration value="BoxcarCushionUnderFrameOF"/>
-            <xsd:enumeration value="Boxcar-DamageFreeEquipped"/>
-            <xsd:enumeration value="Boxcar-Insulated"/>
-            <xsd:enumeration value="Boxcar-InteriorBulkheads"/>
-            <xsd:enumeration value="Bulktruck"/>
-            <xsd:enumeration value="BulkTruckAndBulkTrailer"/>
-            <xsd:enumeration value="BulkTruckAndExtendableGondolaTrailer"/>
-            <xsd:enumeration value="BulkTruckAndExtendableTrailer"/>
-            <xsd:enumeration value="BulkTruckAndGondolaTrailer"/>
-            <xsd:enumeration value="BulkTruckAndTankTrailer"/>
-            <xsd:enumeration value="BulkTruckAndTrailerWithOpeningFloor"/>
-            <xsd:enumeration value="Bus"/>
-            <xsd:enumeration value="Caboose"/>
-            <xsd:enumeration value="Car"/>
-            <xsd:enumeration value="CarCarrier"/>
-            <xsd:enumeration value="CargoAndPassengerVessel"/>
-            <xsd:enumeration value="CarWithCaravan"/>
-            <xsd:enumeration value="CementVessel"/>
-            <xsd:enumeration value="Chassis"/>
-            <xsd:enumeration value="Chassis-Gooseneck"/>
-            <xsd:enumeration value="ClosedContainer"/>
-            <xsd:enumeration value="ClosedContainer-ControlledTemperature"/>
-            <xsd:enumeration value="ClosedVan"/>
-            <xsd:enumeration value="CoalVessel"/>
-            <xsd:enumeration value="CoasterChemicalTanker"/>
-            <xsd:enumeration value="Coil-CarCovered"/>
-            <xsd:enumeration value="CoilCarOpen"/>
-            <xsd:enumeration value="Container"/>
-            <xsd:enumeration value="Container-Aluminum"/>
-            <xsd:enumeration value="Container-Bulk"/>
-            <xsd:enumeration value="Container-ClosedTop-LengthUnspecified"/>
-            <xsd:enumeration value="Container-HeatedOrInsulatedOrVentilated"/>
-            <xsd:enumeration value="Container-HighSideOpenTop"/>
-            <xsd:enumeration value="Container-Insulated"/>
-            <xsd:enumeration value="Container-InsulatedOrVentilated"/>
-            <xsd:enumeration value="Container-LowSideOpenTop"/>
-            <xsd:enumeration value="ContainerOnlyVessel"/>
-            <xsd:enumeration value="Container-Open-Sided"/>
-            <xsd:enumeration value="Container-OpenTop-LengthUnspecified"/>
-            <xsd:enumeration value="Container-Platform"/>
-            <xsd:enumeration value="ContainerrestingonaChassis"/>
-            <xsd:enumeration value="ContainerShip"/>
-            <xsd:enumeration value="Container-Steel"/>
-            <xsd:enumeration value="Container-Tank"/>
-            <xsd:enumeration value="Container-TankChemicals"/>
-            <xsd:enumeration value="Container-TankFoodGrade-Liquid"/>
-            <xsd:enumeration value="Container-TankGas"/>
-            <xsd:enumeration value="Container-Upgraded"/>
-            <xsd:enumeration value="Container-Vented"/>
-            <xsd:enumeration value="ContainerwithBagHangers"/>
-            <xsd:enumeration value="ContainerwithFloorSecuringRings"/>
-            <xsd:enumeration value="ContainerwithFlushDoors"/>
-            <xsd:enumeration value="ContainerwithHangarBars"/>
-            <xsd:enumeration value="ContainerWithSmoothSides"/>
-            <xsd:enumeration value="ContainerWithWavyOrRippleSides"/>
-            <xsd:enumeration value="ControlledTemperatureTrailer"/>
-            <xsd:enumeration value="ControlUnit"/>
-            <xsd:enumeration value="CoveredBarge"/>
-            <xsd:enumeration value="CrudeOilTanker"/>
-            <xsd:enumeration value="CustomerDeterminedDeansOfTransport"/>
-            <xsd:enumeration value="CustomerRailTanker"/>
-            <xsd:enumeration value="Cut-InHelper"/>
-            <xsd:enumeration value="DeepSeaChemicalTanker"/>
-            <xsd:enumeration value="Double-DropTrailer"/>
-            <xsd:enumeration value="DropBackTrailer"/>
-            <xsd:enumeration value="DryBulkCarrier"/>
-            <xsd:enumeration value="EndofTrainDevice"/>
-            <xsd:enumeration value="ExceptionalTransport"/>
-            <xsd:enumeration value="Ferry"/>
-            <xsd:enumeration value="FishingVessel"/>
-            <xsd:enumeration value="Fixed-RackDoubleDropTrailer"/>
-            <xsd:enumeration value="FixedRack-FlatBedTrailer"/>
-            <xsd:enumeration value="FixedRack-SingleDropTrailer"/>
-            <xsd:enumeration value="FlatbedSlidingTandem"/>
-            <xsd:enumeration value="FlatBedTrailer"/>
-            <xsd:enumeration value="FlatBedTrailer-RemovableSides"/>
-            <xsd:enumeration value="FlatBedTrailerwithHeadboards"/>
-            <xsd:enumeration value="FlatBedTrailerwithNoHeadboards"/>
-            <xsd:enumeration value="FlatCar"/>
-            <xsd:enumeration value="FlatCar-EndBulkheads"/>
-            <xsd:enumeration value="FlatcarWithPedestal"/>
-            <xsd:enumeration value="FreezerTruck"/>
-            <xsd:enumeration value="FreezerTruckAndIsothermicTrailer"/>
-            <xsd:enumeration value="FreezerTruckAndRefrigeratedTrailer"/>
-            <xsd:enumeration value="FreezerTruckAndTrailer"/>
-            <xsd:enumeration value="FreezerVan"/>
-            <xsd:enumeration value="FrozenFoodTrailer"/>
-            <xsd:enumeration value="FurnitureTruck"/>
-            <xsd:enumeration value="GasTanker"/>
-            <xsd:enumeration value="GeneralCargoVessel"/>
-            <xsd:enumeration value="GeneratorSet"/>
-            <xsd:enumeration value="GondolaCar-CoveredInteriorBulkheads"/>
-            <xsd:enumeration value="GondolaCar-Open"/>
-            <xsd:enumeration value="GondolaCovered"/>
-            <xsd:enumeration value="Graincarrier"/>
-            <xsd:enumeration value="GravelVessel"/>
-            <xsd:enumeration value="HalfHeightFlatRack"/>
-            <xsd:enumeration value="Head-EndHelperUnit"/>
-            <xsd:enumeration value="HeadofTrainDevice"/>
-            <xsd:enumeration value="HighCubeVan"/>
-            <xsd:enumeration value="HopperCar-Covered"/>
-            <xsd:enumeration value="HopperCar-CoveredPneumaticDischarge"/>
-            <xsd:enumeration value="HopperCar-Open"/>
-            <xsd:enumeration value="HydrantCart"/>
-            <xsd:enumeration value="IdlerCar"/>
-            <xsd:enumeration value="IsothermicTruck"/>
-            <xsd:enumeration value="IsothermicTruckAndFreezerTrailer"/>
-            <xsd:enumeration value="IsothermicTruckAndIsothermicTrailer"/>
-            <xsd:enumeration value="Isothermictruckandrefrigeratedtrailer"/>
-            <xsd:enumeration value="IsothermicVan"/>
-            <xsd:enumeration value="LiquefiedNaturalGasCarrier"/>
-            <xsd:enumeration value="LiquefiedPetroleumGasCarrier"/>
-            <xsd:enumeration value="LoadOrUnloadDeviceOnEquipment"/>
-            <xsd:enumeration value="Locomotive"/>
-            <xsd:enumeration value="OceanVessel"/>
-            <xsd:enumeration value="OilProductsTanker"/>
-            <xsd:enumeration value="Open-TopOrFlatBedTrailer"/>
-            <xsd:enumeration value="OpenTopVan"/>
-            <xsd:enumeration value="OreCarrier"/>
-            <xsd:enumeration value="PassengerVessel"/>
-            <xsd:enumeration value="PatrolVessel"/>
-            <xsd:enumeration value="Pick-UpTruck"/>
-            <xsd:enumeration value="Pipeline"/>
-            <xsd:enumeration value="PowerPack"/>
-            <xsd:enumeration value="ProtectedTrailer"/>
-            <xsd:enumeration value="RailBulkCar"/>
-            <xsd:enumeration value="RailCar"/>
-            <xsd:enumeration value="RailExpress"/>
-            <xsd:enumeration value="RailroadMaintenanceOfWayCar"/>
-            <xsd:enumeration value="RailSiloTanker"/>
-            <xsd:enumeration value="RailTanker"/>
-            <xsd:enumeration value="Rear-EndHelperUnit"/>
-            <xsd:enumeration value="RefrigeratedCar"/>
-            <xsd:enumeration value="RefrigeratedContainer"/>
-            <xsd:enumeration value="RefrigeratedTruck"/>
-            <xsd:enumeration value="RefrigeratedTruckAndFreezerTrailer"/>
-            <xsd:enumeration value="RefrigeratedTruckAndIsothermicTrailer"/>
-            <xsd:enumeration value="RefrigeratedTruckAndTrailer"/>
-            <xsd:enumeration value="RefrigeratedVan"/>
-            <xsd:enumeration value="RemovableSideTrailer"/>
-            <xsd:enumeration value="RemovalTruckAndTrailer"/>
-            <xsd:enumeration value="RigidTruckWithTank"/>
-            <xsd:enumeration value="RigidTruckWithTankAndBulkTrailer"/>
-            <xsd:enumeration value="RigidTruckWithTankAndTankTrailer"/>
-            <xsd:enumeration value="RoadRailer"/>
-            <xsd:enumeration value="RoadSiloTanker"/>
-            <xsd:enumeration value="RoadTanker"/>
-            <xsd:enumeration value="RollOn-RollOffVessel"/>
-            <xsd:enumeration value="Saddle"/>
-            <xsd:enumeration value="SellerDeterminedMeansOfTransport"/>
-            <xsd:enumeration value="ServiceCar"/>
-            <xsd:enumeration value="Ship"/>
-            <xsd:enumeration value="ShipTanker"/>
-            <xsd:enumeration value="Single-DropTrailer"/>
-            <xsd:enumeration value="StackCar"/>
-            <xsd:enumeration value="STAK-RAK"/>
-            <xsd:enumeration value="SteelProductsVessel"/>
-            <xsd:enumeration value="TankCar"/>
-            <xsd:enumeration value="Tautliner25TonneWith90CubicMeterTrailer"/>
-            <xsd:enumeration value="TautlinerTruck"/>
-            <xsd:enumeration value="TautlinerTruckAndExtendableGondolaTrailer"/>
-            <xsd:enumeration value="TautlinerTruckAndExtendableTrailer"/>
-            <xsd:enumeration value="TautlinerTruckAndGondolaTrailer"/>
-            <xsd:enumeration value="TautlinerTruckAndRemovalTrailer"/>
-            <xsd:enumeration value="TautlinerTruckAndTrailerWithOpeningFloor"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoof"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoofAndExtendableGondolaTrailer"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoofAndExtendableTrailer"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoofAndGondolaTrailer"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoofAndRemovalTrailer"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoofandTrailerWithOpeningFloor"/>
-            <xsd:enumeration value="Taxi"/>
-            <xsd:enumeration value="TelescopingTrailer"/>
-            <xsd:enumeration value="TimberOrLogCarrier"/>
-            <xsd:enumeration value="Tip-UpArticulatedTruck"/>
-            <xsd:enumeration value="Tip-Uptruck"/>
-            <xsd:enumeration value="Tip-UpTruckAndExtendableGondolaTrailer"/>
-            <xsd:enumeration value="Tip-UpTruckAndGondolaTrailer"/>
-            <xsd:enumeration value="Tip-UpTruckAndTrailerWithOpeningFloor"/>
-            <xsd:enumeration value="Tractor"/>
-            <xsd:enumeration value="Trailer-Boat"/>
-            <xsd:enumeration value="Trailer-Car"/>
-            <xsd:enumeration value="Trailer-DryFreight"/>
-            <xsd:enumeration value="Trailer-ElectricHeat"/>
-            <xsd:enumeration value="Trailer-HeatedOrInsulatedOrVentilated"/>
-            <xsd:enumeration value="Trailer-Insulated"/>
-            <xsd:enumeration value="Trailer-InsulatedOrVentilated"/>
-            <xsd:enumeration value="Trailer-NotOtherwiseSpecified"/>
-            <xsd:enumeration value="Trailer-Pneumatic"/>
-            <xsd:enumeration value="Trailer-Refrigerated"/>
-            <xsd:enumeration value="Trailer-Tank-Chemicals"/>
-            <xsd:enumeration value="Trailer-Tank-FoodGradeLiquid"/>
-            <xsd:enumeration value="Trailer-Tank-Gas"/>
-            <xsd:enumeration value="TrainingVessel"/>
-            <xsd:enumeration value="TrainWith20OrMoreWagons"/>
-            <xsd:enumeration value="TrainWithMoreThanOneAndLessThan20Wagons"/>
-            <xsd:enumeration value="TrainWithOneWagon"/>
-            <xsd:enumeration value="TrilevelRailcar20Feet"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-FullyEnclosed"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-NoRoof"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-WithDoorsNoRoof"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-WithRoof"/>
-            <xsd:enumeration value="Truck"/>
-            <xsd:enumeration value="TruckAndTrailerWithOpeningFloor"/>
-            <xsd:enumeration value="Truck-OpenTop"/>
-            <xsd:enumeration value="Truck-OpenTopHighSide"/>
-            <xsd:enumeration value="Truck-OpenTopLowSide"/>
-            <xsd:enumeration value="TruckOrTrailerWithTilt"/>
-            <xsd:enumeration value="Truck-Van"/>
-            <xsd:enumeration value="TruckWithOpeningFloor"/>
-            <xsd:enumeration value="TruckWithOpeningFloorAndExtendableGondolaTrailer"/>
-            <xsd:enumeration value="TruckWithOpeningFloorAndExtendableTrailer"/>
-            <xsd:enumeration value="TruckWithOpeningFloorAndGondolaTrailer"/>
-            <xsd:enumeration value="TugandOrPushboat"/>
-            <xsd:enumeration value="UnitLoadDevice"/>
-            <xsd:enumeration value="Van"/>
-            <xsd:enumeration value="Van-SpecialInsideLengthWidthOrHeightRequirements"/>
-            <xsd:enumeration value="Vessel-Lake"/>
-            <xsd:enumeration value="Vessel-Ocean"/>
-            <xsd:enumeration value="Vessel-Ocean-Containership"/>
-            <xsd:enumeration value="Vessel-Ocean-Lash"/>
-            <xsd:enumeration value="Vessel-Ocean-RollOn-RollOff"/>
-            <xsd:enumeration value="Woodchipcarrier"/>
-            <xsd:enumeration value="WorkVessel"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="ServiceLevelCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="BulkCommodityTrain"/>
-            <xsd:enumeration value="PremiumSurface"/>
-            <xsd:enumeration value="ThreeDayService"/>
-            <xsd:enumeration value="9AM"/>
-            <xsd:enumeration value="AirCargo"/>
-            <xsd:enumeration value="AirEconomy"/>
-            <xsd:enumeration value="AM"/>
-            <xsd:enumeration value="BusinessClass"/>
-            <xsd:enumeration value="ConsigneeBillingService"/>
-            <xsd:enumeration value="CourierExpress"/>
-            <xsd:enumeration value="Ground"/>
-            <xsd:enumeration value="ExpressService"/>
-            <xsd:enumeration value="DeliveryScheduledNextDayByCartageAgent"/>
-            <xsd:enumeration value="DeliveryScheduledSecondDayByCartageAgent"/>
-            <xsd:enumeration value="DeliveryScheduledThirdDayByCartageAgent"/>
-            <xsd:enumeration value="DeliveryConfirmation"/>
-            <xsd:enumeration value="DeferredService"/>
-            <xsd:enumeration value="DeliveryConfirmationReturn"/>
-            <xsd:enumeration value="DoorService"/>
-            <xsd:enumeration value="DeliveryNotificationOnly"/>
-            <xsd:enumeration value="ExpeditedService"/>
-            <xsd:enumeration value="ProofOfDeliveryWithSignature"/>
-            <xsd:enumeration value="FirstClass"/>
-            <xsd:enumeration value="StandardService"/>
-            <xsd:enumeration value="ExpressServicePlus"/>
-            <xsd:enumeration value="TrackingGround"/>
-            <xsd:enumeration value="Iata"/>
-            <xsd:enumeration value="ExpeditedServiceWorldwide"/>
-            <xsd:enumeration value="ExpressServiceWorldwide"/>
-            <xsd:enumeration value="Metro"/>
-            <xsd:enumeration value="Multiweight"/>
-            <xsd:enumeration value="NextDayAir"/>
-            <xsd:enumeration value="NextFlightOut"/>
-            <xsd:enumeration value="NextDayHundredWeight"/>
-            <xsd:enumeration value="NextMorning"/>
-            <xsd:enumeration value="NotServed"/>
-            <xsd:enumeration value="Overnight"/>
-            <xsd:enumeration value="PrimaryServiceAreaNextDayBy1030AM"/>
-            <xsd:enumeration value="PriorityMail"/>
-            <xsd:enumeration value="PrimaryServiceAreaNextDayBy930AM"/>
-            <xsd:enumeration value="PriorityMailInsured"/>
-            <xsd:enumeration value="PM"/>
-            <xsd:enumeration value="PrimaryServiceAreaNextDayByNoon"/>
-            <xsd:enumeration value="POBoxZipCode"/>
-            <xsd:enumeration value="PrimaryServiceAreaNextDayBy500PM"/>
-            <xsd:enumeration value="PrimaryServiceAreaSecondDayByNoon"/>
-            <xsd:enumeration value="PassengerService"/>
-            <xsd:enumeration value="QualityIntermodalHighSpeed70MilesPerHour"/>
-            <xsd:enumeration value="OtherIntermodalAndStackService"/>
-            <xsd:enumeration value="60MilesPerHourService"/>
-            <xsd:enumeration value="ManifestFreight"/>
-            <xsd:enumeration value="CircusTrain"/>
-            <xsd:enumeration value="WorkTrain"/>
-            <xsd:enumeration value="CommuterService"/>
-            <xsd:enumeration value="AuthorizedReturnService"/>
-            <xsd:enumeration value="SameDay"/>
-            <xsd:enumeration value="SecondDayAir"/>
-            <xsd:enumeration value="Saturday"/>
-            <xsd:enumeration value="SecondDay"/>
-            <xsd:enumeration value="StandardGround"/>
-            <xsd:enumeration value="SecondDayHundredWeight"/>
-            <xsd:enumeration value="StandardGroundHundredWeight"/>
-            <xsd:enumeration value="SecondMorning"/>
-            <xsd:enumeration value="SaturdayPickup"/>
-            <xsd:enumeration value="StandardClass"/>
-            <xsd:enumeration value="Express"/>
-            <xsd:enumeration value="HighSpeed"/>
-            <xsd:enumeration value="NormalSpeed"/>
-            <xsd:enumeration value="PostService"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TransportLegCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="InlandTransport"/>
-            <xsd:enumeration value="AtTheStatisticalTerritoryLimit"/>
-            <xsd:enumeration value="Pre-CarriageTransport"/>
-            <xsd:enumeration value="AtBorder"/>
-            <xsd:enumeration value="AtDeparture"/>
-            <xsd:enumeration value="AtDestination"/>
-            <xsd:enumeration value="MainCarriage-FourthCarrier"/>
-            <xsd:enumeration value="MainCarriage-FifthCarrier"/>
-            <xsd:enumeration value="MainCarriage-SixthCarrier"/>
-            <xsd:enumeration value="MainCarriage-SeventhCarrier"/>
-            <xsd:enumeration value="MainCarriage-EighthCarrier"/>
-            <xsd:enumeration value="Main-CarriageTransport"/>
-            <xsd:enumeration value="MainCarriage-FirstCarrier"/>
-            <xsd:enumeration value="MaiCarriage-SecondCarrier"/>
-            <xsd:enumeration value="MainCarriage-ThirdCarrier"/>
-            <xsd:enumeration value="InlandWaterwayTransport"/>
-            <xsd:enumeration value="DeliveryCarrierAllTransport"/>
-            <xsd:enumeration value="SecondPre-CarriageTransport"/>
-            <xsd:enumeration value="Pre-AcceptanceTransport"/>
-            <xsd:enumeration value="SecondOn-CarriageTransport"/>
-            <xsd:enumeration value="MainCarriage-NinthCarrier"/>
-            <xsd:enumeration value="On-CarriageTransport"/>
-            <xsd:enumeration value="MainCarriage-TenthCarrier"/>
-            <xsd:enumeration value="MainCarriage-EleventhCarrier"/>
-            <xsd:enumeration value="MainCarriage-TwelfthCarrier"/>
-            <xsd:enumeration value="1stCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="2ndCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="3rdCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="4thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="5thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="6thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="7thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="8thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="9thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="AgentsRoutingOriginCarrier"/>
-            <xsd:enumeration value="OriginDeliveryCarrier"/>
-            <xsd:enumeration value="DELY"/>
-            <xsd:enumeration value="HaulageRightsCarrierAndJunction"/>
-            <xsd:enumeration value="OriginSwitchCarrier"/>
-            <xsd:enumeration value="HaulageMovementCarrierAndJunction"/>
-            <xsd:enumeration value="OriginCarrierAirMotorOrOcean"/>
-            <xsd:enumeration value="OriginCarrierRule11Shipment"/>
-            <xsd:enumeration value="ShippersRoutingOriginCarrier"/>
-            <xsd:enumeration value="IntermediateSwitchCarrier"/>
-            <xsd:enumeration value="LastCarrierInRouteOnReturnRouteMove"/>
-            <xsd:enumeration value="JunctionSettlementCarrierFollowing"/>
-            <xsd:enumeration value="JunctionSettlementCarrierPredecessor"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfTransportEquipment">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="TransportEquipment"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfTransportEquipment" type="ListOfTransportEquipment"/>
-    <xsd:complexType name="TransportEquipment">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="EquipmentProviderCoded" type="EquipmentProviderCode"/>
-            <xsd:element minOccurs="0" name="EquipmentProviderCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="EquipmentOwnerCoded" type="EquipmentOwnerCode"/>
-            <xsd:element minOccurs="0" name="EquipmentOwnerCodedOther" type="xsd:string"/>
-            <xsd:element name="EquipmentID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="EquipmentSizeTypeCoded" type="EquipmentSizeTypeCode"/>
-            <xsd:element minOccurs="0" name="EquipementSizeTypeCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="EquipmentStatusCoded" type="EquipmentStatusCode"/>
-            <xsd:element minOccurs="0" name="EquipmentStatusCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FullIndicatorCoded" type="FullIndicatorCode"/>
-            <xsd:element minOccurs="0" name="FullIndicatorCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Conditions"/>
-            <xsd:element minOccurs="0" name="EquipmentNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfSealInfo"/>
-            <xsd:element minOccurs="0" name="ListOfEquipmentMeasurements">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfDimension"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TransportEquipment" type="TransportEquipment"/>
-    <xsd:simpleType name="EquipmentProviderCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="ShipperSupplied"/>
-            <xsd:enumeration value="CarrierSupplied"/>
-            <xsd:enumeration value="ConsolidatorSupplied"/>
-            <xsd:enumeration value="DeconsolidatorSupplied"/>
-            <xsd:enumeration value="ThirdPartySupplied"/>
-            <xsd:enumeration value="ForwarderSuppliedFromALeasingCompany"/>
-            <xsd:enumeration value="ForwarderSuppliedFromTheRailwaysPool"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="EquipmentOwnerCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="NotCustomerOwnedOrLeased"/>
-            <xsd:enumeration value="SellerOwned"/>
-            <xsd:enumeration value="CustomerOwnedOrLeased"/>
-            <xsd:enumeration value="TripLeased"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="EquipmentSizeTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="20FtIlContainer-ClosedTop"/>
-            <xsd:enumeration value="20FtIlContainer-OpenTop"/>
-            <xsd:enumeration value="40FtIlContainer-ClosedTop"/>
-            <xsd:enumeration value="40FtIlContainer-OpenTop"/>
-            <xsd:enumeration value="Aircraft"/>
-            <xsd:enumeration value="AirFreight-BreakBulk"/>
-            <xsd:enumeration value="AirRideVan"/>
-            <xsd:enumeration value="Barge"/>
-            <xsd:enumeration value="BargeOpen"/>
-            <xsd:enumeration value="BilevelRailcarFullyEnclosed"/>
-            <xsd:enumeration value="BilevelRailcarFullyOpen"/>
-            <xsd:enumeration value="BilevelRailcarScreened-NoRoof"/>
-            <xsd:enumeration value="BilevelRailcarScreenedWithRoof"/>
-            <xsd:enumeration value="Bogie"/>
-            <xsd:enumeration value="Boxcar"/>
-            <xsd:enumeration value="BoxcarCushionUnderFrameOf"/>
-            <xsd:enumeration value="Boxcar-DamageFreeEquipped"/>
-            <xsd:enumeration value="Boxcar-Insulated"/>
-            <xsd:enumeration value="Boxcar-InteriorBulkheads"/>
-            <xsd:enumeration value="BoxPallet"/>
-            <xsd:enumeration value="Caboose"/>
-            <xsd:enumeration value="Chassis"/>
-            <xsd:enumeration value="Chassis-Gooseneck"/>
-            <xsd:enumeration value="ClosedContainer"/>
-            <xsd:enumeration value="ClosedContainer-ControlledTemperature"/>
-            <xsd:enumeration value="ClosedVan"/>
-            <xsd:enumeration value="Coil-CarCovered"/>
-            <xsd:enumeration value="CoilCarOpen"/>
-            <xsd:enumeration value="Container"/>
-            <xsd:enumeration value="Container-Aluminum"/>
-            <xsd:enumeration value="Container-Bulk"/>
-            <xsd:enumeration value="Container-ClosedTop-LengthUnspecified"/>
-            <xsd:enumeration value="Container-HeatedOrInsulatedOrVentilated"/>
-            <xsd:enumeration value="Container-HighSideOpenTop"/>
-            <xsd:enumeration value="ContainerIc20Feet"/>
-            <xsd:enumeration value="ContainerIc30Feet"/>
-            <xsd:enumeration value="ContainerIc40Feet"/>
-            <xsd:enumeration value="Container-Insulated"/>
-            <xsd:enumeration value="Container-InsulatedOrVentilated"/>
-            <xsd:enumeration value="Container-LowSideOpenTop"/>
-            <xsd:enumeration value="Container-Open-Sided"/>
-            <xsd:enumeration value="Container-OpenTop-LengthUnspecified"/>
-            <xsd:enumeration value="Container-Platform"/>
-            <xsd:enumeration value="ContainerRestingOnAChassis"/>
-            <xsd:enumeration value="Container-Steel"/>
-            <xsd:enumeration value="Container-Tank"/>
-            <xsd:enumeration value="Container-Tank-Chemicals"/>
-            <xsd:enumeration value="Container-Tank-FoodGrade-Liquid"/>
-            <xsd:enumeration value="Container-Tank-Gas"/>
-            <xsd:enumeration value="Container-Upgraded"/>
-            <xsd:enumeration value="Container-Vented"/>
-            <xsd:enumeration value="ContainerWithBagHangers"/>
-            <xsd:enumeration value="ContainerWithFloorSecuringRings"/>
-            <xsd:enumeration value="ContainerWithFlushDoors"/>
-            <xsd:enumeration value="ContainerWithHangarBars"/>
-            <xsd:enumeration value="ContainerWithSmoothSides"/>
-            <xsd:enumeration value="ContainerWithWavyOrRippleSides"/>
-            <xsd:enumeration value="ControlledTemperatureTrailer-Reefer"/>
-            <xsd:enumeration value="ControlUnit"/>
-            <xsd:enumeration value="CoveredBarge"/>
-            <xsd:enumeration value="Cut-InHelper"/>
-            <xsd:enumeration value="DimeCoatedTank"/>
-            <xsd:enumeration value="Double-DropTrailer"/>
-            <xsd:enumeration value="DropBackTrailer"/>
-            <xsd:enumeration value="DualTrailers"/>
-            <xsd:enumeration value="EndOfTrainDevice"/>
-            <xsd:enumeration value="EpoxyCoatedTank"/>
-            <xsd:enumeration value="EuroPallet"/>
-            <xsd:enumeration value="ExchangeablePallet"/>
-            <xsd:enumeration value="Fixed-Rack-DoubleDropTrailer"/>
-            <xsd:enumeration value="Fixed-Rack-Flat-BedTrailer"/>
-            <xsd:enumeration value="Fixed-Rack-Single-DropTrailer"/>
-            <xsd:enumeration value="FlatbedSlidingTandem"/>
-            <xsd:enumeration value="FlatBedTrailer"/>
-            <xsd:enumeration value="FlatBedTrailer-RemovableSides"/>
-            <xsd:enumeration value="FlatBedTrailerWithHeadboards"/>
-            <xsd:enumeration value="FlatBedTrailerWithNoHeadboards"/>
-            <xsd:enumeration value="FlatCar"/>
-            <xsd:enumeration value="FlatCar-EndBulkheads"/>
-            <xsd:enumeration value="FlatcarWithPedestal"/>
-            <xsd:enumeration value="FrozenFoodTrailer"/>
-            <xsd:enumeration value="GeneratorSet"/>
-            <xsd:enumeration value="GondolaCar-Covered-InteriorBulkheads"/>
-            <xsd:enumeration value="GondolaCar-Open"/>
-            <xsd:enumeration value="GondolaCovered"/>
-            <xsd:enumeration value="HalfHeightFlatRack"/>
-            <xsd:enumeration value="Head-EndHelperUnit"/>
-            <xsd:enumeration value="HeadOfTrainDevice"/>
-            <xsd:enumeration value="HighCubeVan"/>
-            <xsd:enumeration value="HopperCar-Covered"/>
-            <xsd:enumeration value="HopperCar-Covered-PneumaticDischarge"/>
-            <xsd:enumeration value="HopperCar-Open"/>
-            <xsd:enumeration value="Hydrant-Cart"/>
-            <xsd:enumeration value="IdlerCar"/>
-            <xsd:enumeration value="IMO1"/>
-            <xsd:enumeration value="IMO2"/>
-            <xsd:enumeration value="IMO3"/>
-            <xsd:enumeration value="LoadOrUnloadDeviceOnEquipment"/>
-            <xsd:enumeration value="Locomotive"/>
-            <xsd:enumeration value="MovableCase-Between10.90MAnd13.75M"/>
-            <xsd:enumeration value="MovableCase-Between6.15MAnd7.82M"/>
-            <xsd:enumeration value="MovableCase-Between7.82MAnd9.15M"/>
-            <xsd:enumeration value="MovableCase-Between9.15MAnd10.90M"/>
-            <xsd:enumeration value="MovableCase-LessThan6.15M"/>
-            <xsd:enumeration value="NonworkingReeferContainer20Ft"/>
-            <xsd:enumeration value="NonworkingReeferContainer40Ft"/>
-            <xsd:enumeration value="NonWorkingRefrigeratedOrReeferContainer30Ft"/>
-            <xsd:enumeration value="OceanVessel-BreakBulk"/>
-            <xsd:enumeration value="Open-TopOrFlatbedTrailer"/>
-            <xsd:enumeration value="OpenTopVan"/>
-            <xsd:enumeration value="Pick-UpTruck"/>
-            <xsd:enumeration value="PowerPack"/>
-            <xsd:enumeration value="PressurizedTank"/>
-            <xsd:enumeration value="ProtectedTrailer"/>
-            <xsd:enumeration value="RailCar"/>
-            <xsd:enumeration value="RailroadMaintenanceOfWayCar"/>
-            <xsd:enumeration value="Rear-EndHelperUnit"/>
-            <xsd:enumeration value="RefrigeratedContainer"/>
-            <xsd:enumeration value="RefrigeratedOrReeferCar"/>
-            <xsd:enumeration value="RefrigeratedTank"/>
-            <xsd:enumeration value="RefrigeratedTank20Feet"/>
-            <xsd:enumeration value="RefrigeratedTank30Feet"/>
-            <xsd:enumeration value="RefrigeratedTank40Feet"/>
-            <xsd:enumeration value="RefrigeratedTankIc20Feet"/>
-            <xsd:enumeration value="RefrigeratedTankIc40Feet"/>
-            <xsd:enumeration value="RemovableSideTrailer"/>
-            <xsd:enumeration value="Roadrailer"/>
-            <xsd:enumeration value="Saddle"/>
-            <xsd:enumeration value="ScandinavianPallet"/>
-            <xsd:enumeration value="Semi-Refrigerated"/>
-            <xsd:enumeration value="Semi-Trailer"/>
-            <xsd:enumeration value="ServiceCar"/>
-            <xsd:enumeration value="Single-DropTrailer"/>
-            <xsd:enumeration value="StackCar"/>
-            <xsd:enumeration value="StainlessSteelTank"/>
-            <xsd:enumeration value="Stak-Rak"/>
-            <xsd:enumeration value="TankCar"/>
-            <xsd:enumeration value="TankContainer20Feet"/>
-            <xsd:enumeration value="TankContainer30Feet"/>
-            <xsd:enumeration value="TankContainer40Feet"/>
-            <xsd:enumeration value="TankContainerIc20Feet"/>
-            <xsd:enumeration value="TankContainerIc30Feet"/>
-            <xsd:enumeration value="TankContainerIc40Feet"/>
-            <xsd:enumeration value="TelescopingTrailer"/>
-            <xsd:enumeration value="TemperatureControlledContainer20Ft"/>
-            <xsd:enumeration value="TemperatureControlledContainer30Ft"/>
-            <xsd:enumeration value="TemperatureControlledContainer40Ft"/>
-            <xsd:enumeration value="Totebin"/>
-            <xsd:enumeration value="Tractor"/>
-            <xsd:enumeration value="Trailer"/>
-            <xsd:enumeration value="Trailer-Boat"/>
-            <xsd:enumeration value="Trailer-Car"/>
-            <xsd:enumeration value="Trailer-DryFreight"/>
-            <xsd:enumeration value="Trailer-ElectricHeat"/>
-            <xsd:enumeration value="Trailer-HeatedOrInsulatedOrVentilated"/>
-            <xsd:enumeration value="Trailer-Insulated"/>
-            <xsd:enumeration value="Trailer-InsulatedOrVentilated"/>
-            <xsd:enumeration value="Trailer-NotOtherwiseSpecified"/>
-            <xsd:enumeration value="Trailer-Pneumatic"/>
-            <xsd:enumeration value="Trailer-Refrigerated"/>
-            <xsd:enumeration value="Trailer-Tank-Chemicals"/>
-            <xsd:enumeration value="Trailer-Tank-FoodGrade-Liquid"/>
-            <xsd:enumeration value="Trailer-Tank-Gas"/>
-            <xsd:enumeration value="TrilevelRailcar20Feet"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-FullyEnclosed"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-NoRoof"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-WithDoors-NoRoof"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-WithRoof"/>
-            <xsd:enumeration value="Truck-OpenTop"/>
-            <xsd:enumeration value="Truck-OpenTopHighSide"/>
-            <xsd:enumeration value="Truck-OpenTopLowSide"/>
-            <xsd:enumeration value="Truck-Van"/>
-            <xsd:enumeration value="UnitLoadDevice"/>
-            <xsd:enumeration value="Van-SpecialInsideLength-WidthOrHeightRequirements"/>
-            <xsd:enumeration value="Vessel-Lake"/>
-            <xsd:enumeration value="Vessel-Ocean"/>
-            <xsd:enumeration value="Vessel-Ocean-Containership"/>
-            <xsd:enumeration value="Vessel-Ocean-Lash"/>
-            <xsd:enumeration value="Vessel-Ocean-Rollon-Rolloff"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="EquipmentStatusCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Continental"/>
-            <xsd:enumeration value="Export"/>
-            <xsd:enumeration value="Import"/>
-            <xsd:enumeration value="RemainOnBoard"/>
-            <xsd:enumeration value="Shifter"/>
-            <xsd:enumeration value="Transhipment"/>
-            <xsd:enumeration value="Shortlanded"/>
-            <xsd:enumeration value="Overlanded"/>
-            <xsd:enumeration value="Domestic"/>
-            <xsd:enumeration value="Positioning"/>
-            <xsd:enumeration value="Delivery"/>
-            <xsd:enumeration value="Redelivery"/>
-            <xsd:enumeration value="Repair"/>
-            <xsd:enumeration value="Reloader"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="FullIndicatorCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Full"/>
-            <xsd:enumeration value="Empty"/>
-            <xsd:enumeration value="Partial"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Conditions">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="RefrigerationOn" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" name="Residue" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" name="ListOfConditions">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfDimension"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Conditions" type="Conditions"/>
-    <xsd:complexType name="ListOfDimension">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Dimension"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfDimension" type="ListOfDimension"/>
-    <xsd:complexType name="Dimension">
-        <xsd:sequence>
-            <xsd:element ref="Measurement"/>
-            <xsd:element name="DimensionCoded" type="DimensionCode"/>
-            <xsd:element minOccurs="0" name="DimensionCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Dimension" type="Dimension"/>
-    <xsd:complexType name="Measurement">
-        <xsd:sequence>
-            <xsd:choice>
-                <xsd:element ref="MeasurementValue"/>
-                <xsd:element ref="MeasurementRange"/>
-            </xsd:choice>
-            <xsd:element ref="UnitOfMeasurement"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Measurement" type="Measurement"/>
-    <xsd:complexType name="MeasurementValue">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:decimal">
-                <xsd:attribute name="SignificanceCoded" type="SignificanceCode" use="optional"/>
-                <xsd:attribute name="SignificanceCodedOther" type="xsd:string" use="optional"/>
-                <xsd:attribute name="ConditionsCoded" type="ConditionsCode" use="optional"/>
-                <xsd:attribute name="ConditionsCodedOther" type="xsd:string" use="optional"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="MeasurementValue" type="MeasurementValue"/>
-    <xsd:simpleType name="SignificanceCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Approximately"/>
-            <xsd:enumeration value="EqualTo"/>
-            <xsd:enumeration value="GreaterThanOrEqualTo"/>
-            <xsd:enumeration value="GreaterThan"/>
-            <xsd:enumeration value="LessThan"/>
-            <xsd:enumeration value="LessThanOrEqualTo"/>
-            <xsd:enumeration value="NotEqualTo"/>
-            <xsd:enumeration value="Trace"/>
-            <xsd:enumeration value="TrueValue"/>
-            <xsd:enumeration value="ObservedValue"/>
-            <xsd:enumeration value="OutOfRange"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="ConditionsCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="WhereAirEquals1"/>
-            <xsd:enumeration value="WhereButylAcetateEquals1"/>
-            <xsd:enumeration value="WhereH2OEquals1OrWaterEquals1"/>
-            <xsd:enumeration value="CorrectedTo60DegreesFahrenheit"/>
-            <xsd:enumeration value="WhereTolueneEquals1"/>
-            <xsd:enumeration value="VaporInAir"/>
-            <xsd:enumeration value="VaporInOtherThanAir"/>
-            <xsd:enumeration value="StandardTemperatureAndPressure"/>
-            <xsd:enumeration value="ConditionsOtherThanStandardTemperatureAndPressure"/>
-            <xsd:enumeration value="InEthylAlcohol"/>
-            <xsd:enumeration value="InEthylEther"/>
-            <xsd:enumeration value="InWater"/>
-            <xsd:enumeration value="At1AtmospherePressure"/>
-            <xsd:enumeration value="WhereEtherEquals1"/>
-            <xsd:enumeration value="Actual"/>
-            <xsd:enumeration value="Predicted"/>
-            <xsd:enumeration value="Air-DriedBasis"/>
-            <xsd:enumeration value="As-ReceivedBasis"/>
-            <xsd:enumeration value="DryBasis"/>
-            <xsd:enumeration value="EquilibriumBasis"/>
-            <xsd:enumeration value="MoistureAndAsh-FreeBasis"/>
-            <xsd:enumeration value="OxidizingAtmosphere"/>
-            <xsd:enumeration value="ReducingAtmosphere"/>
-            <xsd:enumeration value="Calculated"/>
-            <xsd:enumeration value="ScaledWeight"/>
-            <xsd:enumeration value="Ratchet"/>
-            <xsd:enumeration value="SaturatedVapor"/>
-            <xsd:enumeration value="Unconditional"/>
-            <xsd:enumeration value="Short-Term"/>
-            <xsd:enumeration value="Time-Weighted"/>
-            <xsd:enumeration value="Corrected"/>
-            <xsd:enumeration value="Uncorrected"/>
-            <xsd:enumeration value="OffPeak"/>
-            <xsd:enumeration value="OnPeak"/>
-            <xsd:enumeration value="Intermediate"/>
-            <xsd:enumeration value="Average"/>
-            <xsd:enumeration value="PerGallon"/>
-            <xsd:enumeration value="Estimated"/>
-            <xsd:enumeration value="Minimum"/>
-            <xsd:enumeration value="Mist"/>
-            <xsd:enumeration value="Predominant"/>
-            <xsd:enumeration value="Total"/>
-            <xsd:enumeration value="Cost"/>
-            <xsd:enumeration value="Tenant"/>
-            <xsd:enumeration value="Owner"/>
-            <xsd:enumeration value="ForSale"/>
-            <xsd:enumeration value="RealEstateOwnedOrCorporateOwned"/>
-            <xsd:enumeration value="BoardedOrBlockedUp"/>
-            <xsd:enumeration value="Planned"/>
-            <xsd:enumeration value="Completed"/>
-            <xsd:enumeration value="Sold"/>
-            <xsd:enumeration value="Rented"/>
-            <xsd:enumeration value="Current"/>
-            <xsd:enumeration value="CurrentList"/>
-            <xsd:enumeration value="Effective"/>
-            <xsd:enumeration value="ListWhenSold"/>
-            <xsd:enumeration value="Sales"/>
-            <xsd:enumeration value="FinalList"/>
-            <xsd:enumeration value="AsIs"/>
-            <xsd:enumeration value="AsRepairedOrImproved"/>
-            <xsd:enumeration value="Instantaneous"/>
-            <xsd:enumeration value="Low"/>
-            <xsd:enumeration value="LowToGood"/>
-            <xsd:enumeration value="LowToHigh"/>
-            <xsd:enumeration value="LowToMedium"/>
-            <xsd:enumeration value="LowToModerate"/>
-            <xsd:enumeration value="Medium"/>
-            <xsd:enumeration value="MediumToGood"/>
-            <xsd:enumeration value="MediumToHigh"/>
-            <xsd:enumeration value="Moderate"/>
-            <xsd:enumeration value="ModerateToGood"/>
-            <xsd:enumeration value="ModerateToHigh"/>
-            <xsd:enumeration value="ModerateToMedium"/>
-            <xsd:enumeration value="Good"/>
-            <xsd:enumeration value="GoodToHigh"/>
-            <xsd:enumeration value="High"/>
-            <xsd:enumeration value="Budgeted"/>
-            <xsd:enumeration value="Forecast"/>
-            <xsd:enumeration value="Adjusted"/>
-            <xsd:enumeration value="Allocated"/>
-            <xsd:enumeration value="Increasing"/>
-            <xsd:enumeration value="Stable"/>
-            <xsd:enumeration value="Declining"/>
-            <xsd:enumeration value="Previous"/>
-            <xsd:enumeration value="Potential"/>
-            <xsd:enumeration value="Modeled"/>
-            <xsd:enumeration value="Measured"/>
-            <xsd:enumeration value="Maximum"/>
-            <xsd:enumeration value="SummerOn-Peak"/>
-            <xsd:enumeration value="SummerMid-Peak"/>
-            <xsd:enumeration value="SummerOff-Peak"/>
-            <xsd:enumeration value="SummerSuperOn-Peak"/>
-            <xsd:enumeration value="SummerSuperOff-Peak"/>
-            <xsd:enumeration value="WinterOn-Peak"/>
-            <xsd:enumeration value="WinterMid-Peak"/>
-            <xsd:enumeration value="WinterOff-Peak"/>
-            <xsd:enumeration value="WinterSuperOn-Peak"/>
-            <xsd:enumeration value="WinterSuperOff-Peak"/>
-            <xsd:enumeration value="SummerDay"/>
-            <xsd:enumeration value="SummerNight"/>
-            <xsd:enumeration value="WinterDay"/>
-            <xsd:enumeration value="WinterNight"/>
-            <xsd:enumeration value="Summer"/>
-            <xsd:enumeration value="Winter"/>
-            <xsd:enumeration value="Day"/>
-            <xsd:enumeration value="Night"/>
-            <xsd:enumeration value="Peak-2"/>
-            <xsd:enumeration value="Peak-3"/>
-            <xsd:enumeration value="Peak-4"/>
-            <xsd:enumeration value="Shoulder"/>
-            <xsd:enumeration value="NonTimeRelatedDemand"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="MeasurementRange">
-        <xsd:sequence>
-            <xsd:element ref="MinimumValue"/>
-            <xsd:element ref="MaximumValue"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="MeasurementRange" type="MeasurementRange"/>
-    <xsd:complexType name="MinimumValue">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:decimal">
-                <xsd:attribute name="SignificanceCoded" type="SignificanceCode" use="optional"/>
-                <xsd:attribute name="SignificanceCodedOther" type="xsd:string" use="optional"/>
-                <xsd:attribute name="ConditionsCoded" type="ConditionsCode" use="optional"/>
-                <xsd:attribute name="ConditionsCodedOther" type="xsd:string" use="optional"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="MinimumValue" type="MinimumValue"/>
-    <xsd:complexType name="MaximumValue">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:decimal">
-                <xsd:attribute name="SignificanceCoded" type="SignificanceCode" use="optional"/>
-                <xsd:attribute name="SignificanceCodedOther" type="xsd:string" use="optional"/>
-                <xsd:attribute name="ConditionsCoded" type="ConditionsCode" use="optional"/>
-                <xsd:attribute name="ConditionsCodedOther" type="xsd:string" use="optional"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="MaximumValue" type="MaximumValue"/>
-    <xsd:complexType name="UnitOfMeasurement">
-        <xsd:sequence>
-            <xsd:element name="UOMCoded" type="UOMCode"/>
-            <xsd:element minOccurs="0" name="UOMCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="UnitOfMeasurement" type="UnitOfMeasurement"/>
-    <xsd:simpleType name="UOMCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="1"/>
-            <xsd:enumeration value="4"/>
-            <xsd:enumeration value="5"/>
-            <xsd:enumeration value="8"/>
-            <xsd:enumeration value="10"/>
-            <xsd:enumeration value="11"/>
-            <xsd:enumeration value="13"/>
-            <xsd:enumeration value="14"/>
-            <xsd:enumeration value="15"/>
-            <xsd:enumeration value="16"/>
-            <xsd:enumeration value="17"/>
-            <xsd:enumeration value="18"/>
-            <xsd:enumeration value="19"/>
-            <xsd:enumeration value="20"/>
-            <xsd:enumeration value="21"/>
-            <xsd:enumeration value="22"/>
-            <xsd:enumeration value="23"/>
-            <xsd:enumeration value="24"/>
-            <xsd:enumeration value="25"/>
-            <xsd:enumeration value="26"/>
-            <xsd:enumeration value="27"/>
-            <xsd:enumeration value="28"/>
-            <xsd:enumeration value="29"/>
-            <xsd:enumeration value="30"/>
-            <xsd:enumeration value="31"/>
-            <xsd:enumeration value="32"/>
-            <xsd:enumeration value="33"/>
-            <xsd:enumeration value="34"/>
-            <xsd:enumeration value="35"/>
-            <xsd:enumeration value="36"/>
-            <xsd:enumeration value="37"/>
-            <xsd:enumeration value="38"/>
-            <xsd:enumeration value="40"/>
-            <xsd:enumeration value="41"/>
-            <xsd:enumeration value="43"/>
-            <xsd:enumeration value="44"/>
-            <xsd:enumeration value="45"/>
-            <xsd:enumeration value="46"/>
-            <xsd:enumeration value="47"/>
-            <xsd:enumeration value="48"/>
-            <xsd:enumeration value="50"/>
-            <xsd:enumeration value="51"/>
-            <xsd:enumeration value="53"/>
-            <xsd:enumeration value="54"/>
-            <xsd:enumeration value="56"/>
-            <xsd:enumeration value="57"/>
-            <xsd:enumeration value="58"/>
-            <xsd:enumeration value="59"/>
-            <xsd:enumeration value="60"/>
-            <xsd:enumeration value="61"/>
-            <xsd:enumeration value="62"/>
-            <xsd:enumeration value="63"/>
-            <xsd:enumeration value="64"/>
-            <xsd:enumeration value="66"/>
-            <xsd:enumeration value="69"/>
-            <xsd:enumeration value="71"/>
-            <xsd:enumeration value="72"/>
-            <xsd:enumeration value="73"/>
-            <xsd:enumeration value="74"/>
-            <xsd:enumeration value="76"/>
-            <xsd:enumeration value="77"/>
-            <xsd:enumeration value="78"/>
-            <xsd:enumeration value="80"/>
-            <xsd:enumeration value="81"/>
-            <xsd:enumeration value="84"/>
-            <xsd:enumeration value="85"/>
-            <xsd:enumeration value="86"/>
-            <xsd:enumeration value="87"/>
-            <xsd:enumeration value="89"/>
-            <xsd:enumeration value="90"/>
-            <xsd:enumeration value="91"/>
-            <xsd:enumeration value="92"/>
-            <xsd:enumeration value="93"/>
-            <xsd:enumeration value="94"/>
-            <xsd:enumeration value="95"/>
-            <xsd:enumeration value="96"/>
-            <xsd:enumeration value="97"/>
-            <xsd:enumeration value="98"/>
-            <xsd:enumeration value="1A"/>
-            <xsd:enumeration value="1B"/>
-            <xsd:enumeration value="1C"/>
-            <xsd:enumeration value="1D"/>
-            <xsd:enumeration value="1E"/>
-            <xsd:enumeration value="1F"/>
-            <xsd:enumeration value="1G"/>
-            <xsd:enumeration value="1H"/>
-            <xsd:enumeration value="1I"/>
-            <xsd:enumeration value="1J"/>
-            <xsd:enumeration value="1K"/>
-            <xsd:enumeration value="1L"/>
-            <xsd:enumeration value="1M"/>
-            <xsd:enumeration value="1X"/>
-            <xsd:enumeration value="2A"/>
-            <xsd:enumeration value="2B"/>
-            <xsd:enumeration value="2C"/>
-            <xsd:enumeration value="2F"/>
-            <xsd:enumeration value="2G"/>
-            <xsd:enumeration value="2H"/>
-            <xsd:enumeration value="2I"/>
-            <xsd:enumeration value="2J"/>
-            <xsd:enumeration value="2K"/>
-            <xsd:enumeration value="2L"/>
-            <xsd:enumeration value="2M"/>
-            <xsd:enumeration value="2N"/>
-            <xsd:enumeration value="2P"/>
-            <xsd:enumeration value="2Q"/>
-            <xsd:enumeration value="2R"/>
-            <xsd:enumeration value="2U"/>
-            <xsd:enumeration value="2V"/>
-            <xsd:enumeration value="2W"/>
-            <xsd:enumeration value="2X"/>
-            <xsd:enumeration value="2Y"/>
-            <xsd:enumeration value="2Z"/>
-            <xsd:enumeration value="3B"/>
-            <xsd:enumeration value="3C"/>
-            <xsd:enumeration value="3E"/>
-            <xsd:enumeration value="3F"/>
-            <xsd:enumeration value="3G"/>
-            <xsd:enumeration value="3H"/>
-            <xsd:enumeration value="3I"/>
-            <xsd:enumeration value="4A"/>
-            <xsd:enumeration value="4B"/>
-            <xsd:enumeration value="4C"/>
-            <xsd:enumeration value="4E"/>
-            <xsd:enumeration value="4G"/>
-            <xsd:enumeration value="4H"/>
-            <xsd:enumeration value="4I"/>
-            <xsd:enumeration value="4J"/>
-            <xsd:enumeration value="4K"/>
-            <xsd:enumeration value="4L"/>
-            <xsd:enumeration value="4M"/>
-            <xsd:enumeration value="4N"/>
-            <xsd:enumeration value="4O"/>
-            <xsd:enumeration value="4P"/>
-            <xsd:enumeration value="4Q"/>
-            <xsd:enumeration value="4R"/>
-            <xsd:enumeration value="4T"/>
-            <xsd:enumeration value="4U"/>
-            <xsd:enumeration value="4W"/>
-            <xsd:enumeration value="4X"/>
-            <xsd:enumeration value="5A"/>
-            <xsd:enumeration value="5B"/>
-            <xsd:enumeration value="5C"/>
-            <xsd:enumeration value="5E"/>
-            <xsd:enumeration value="5F"/>
-            <xsd:enumeration value="5G"/>
-            <xsd:enumeration value="5H"/>
-            <xsd:enumeration value="5I"/>
-            <xsd:enumeration value="5J"/>
-            <xsd:enumeration value="5K"/>
-            <xsd:enumeration value="5P"/>
-            <xsd:enumeration value="5Q"/>
-            <xsd:enumeration value="A1"/>
-            <xsd:enumeration value="A10"/>
-            <xsd:enumeration value="A11"/>
-            <xsd:enumeration value="A12"/>
-            <xsd:enumeration value="A13"/>
-            <xsd:enumeration value="A14"/>
-            <xsd:enumeration value="A15"/>
-            <xsd:enumeration value="A16"/>
-            <xsd:enumeration value="A17"/>
-            <xsd:enumeration value="A18"/>
-            <xsd:enumeration value="A19"/>
-            <xsd:enumeration value="A2"/>
-            <xsd:enumeration value="A20"/>
-            <xsd:enumeration value="A22"/>
-            <xsd:enumeration value="A23"/>
-            <xsd:enumeration value="A24"/>
-            <xsd:enumeration value="A25"/>
-            <xsd:enumeration value="A26"/>
-            <xsd:enumeration value="A27"/>
-            <xsd:enumeration value="A28"/>
-            <xsd:enumeration value="A29"/>
-            <xsd:enumeration value="A3"/>
-            <xsd:enumeration value="A30"/>
-            <xsd:enumeration value="A31"/>
-            <xsd:enumeration value="A32"/>
-            <xsd:enumeration value="A33"/>
-            <xsd:enumeration value="A34"/>
-            <xsd:enumeration value="A35"/>
-            <xsd:enumeration value="A36"/>
-            <xsd:enumeration value="A37"/>
-            <xsd:enumeration value="A38"/>
-            <xsd:enumeration value="A39"/>
-            <xsd:enumeration value="A4"/>
-            <xsd:enumeration value="A40"/>
-            <xsd:enumeration value="A41"/>
-            <xsd:enumeration value="A42"/>
-            <xsd:enumeration value="A43"/>
-            <xsd:enumeration value="A44"/>
-            <xsd:enumeration value="A45"/>
-            <xsd:enumeration value="A47"/>
-            <xsd:enumeration value="A48"/>
-            <xsd:enumeration value="A49"/>
-            <xsd:enumeration value="A5"/>
-            <xsd:enumeration value="A50"/>
-            <xsd:enumeration value="A51"/>
-            <xsd:enumeration value="A52"/>
-            <xsd:enumeration value="A53"/>
-            <xsd:enumeration value="A54"/>
-            <xsd:enumeration value="A55"/>
-            <xsd:enumeration value="A56"/>
-            <xsd:enumeration value="A57"/>
-            <xsd:enumeration value="A58"/>
-            <xsd:enumeration value="A6"/>
-            <xsd:enumeration value="A60"/>
-            <xsd:enumeration value="A61"/>
-            <xsd:enumeration value="A62"/>
-            <xsd:enumeration value="A63"/>
-            <xsd:enumeration value="A64"/>
-            <xsd:enumeration value="A65"/>
-            <xsd:enumeration value="A66"/>
-            <xsd:enumeration value="A67"/>
-            <xsd:enumeration value="A68"/>
-            <xsd:enumeration value="A69"/>
-            <xsd:enumeration value="A7"/>
-            <xsd:enumeration value="A70"/>
-            <xsd:enumeration value="A71"/>
-            <xsd:enumeration value="A73"/>
-            <xsd:enumeration value="A74"/>
-            <xsd:enumeration value="A75"/>
-            <xsd:enumeration value="A76"/>
-            <xsd:enumeration value="A77"/>
-            <xsd:enumeration value="A78"/>
-            <xsd:enumeration value="A79"/>
-            <xsd:enumeration value="A8"/>
-            <xsd:enumeration value="A80"/>
-            <xsd:enumeration value="A81"/>
-            <xsd:enumeration value="A82"/>
-            <xsd:enumeration value="A83"/>
-            <xsd:enumeration value="A84"/>
-            <xsd:enumeration value="A85"/>
-            <xsd:enumeration value="A86"/>
-            <xsd:enumeration value="A87"/>
-            <xsd:enumeration value="A88"/>
-            <xsd:enumeration value="A89"/>
-            <xsd:enumeration value="A9"/>
-            <xsd:enumeration value="A90"/>
-            <xsd:enumeration value="A91"/>
-            <xsd:enumeration value="A93"/>
-            <xsd:enumeration value="A94"/>
-            <xsd:enumeration value="A95"/>
-            <xsd:enumeration value="A96"/>
-            <xsd:enumeration value="A97"/>
-            <xsd:enumeration value="A98"/>
-            <xsd:enumeration value="AA"/>
-            <xsd:enumeration value="AB"/>
-            <xsd:enumeration value="ACR"/>
-            <xsd:enumeration value="AD"/>
-            <xsd:enumeration value="AE"/>
-            <xsd:enumeration value="AH"/>
-            <xsd:enumeration value="AI"/>
-            <xsd:enumeration value="AJ"/>
-            <xsd:enumeration value="AK"/>
-            <xsd:enumeration value="AL"/>
-            <xsd:enumeration value="AM"/>
-            <xsd:enumeration value="AMH"/>
-            <xsd:enumeration value="AMP"/>
-            <xsd:enumeration value="AN"/>
-            <xsd:enumeration value="ANN"/>
-            <xsd:enumeration value="AP"/>
-            <xsd:enumeration value="APZ"/>
-            <xsd:enumeration value="AQ"/>
-            <xsd:enumeration value="AR"/>
-            <xsd:enumeration value="ARE"/>
-            <xsd:enumeration value="AS"/>
-            <xsd:enumeration value="ASM"/>
-            <xsd:enumeration value="ASU"/>
-            <xsd:enumeration value="AT"/>
-            <xsd:enumeration value="ATM"/>
-            <xsd:enumeration value="ATT"/>
-            <xsd:enumeration value="AU"/>
-            <xsd:enumeration value="AV"/>
-            <xsd:enumeration value="AW"/>
-            <xsd:enumeration value="AX"/>
-            <xsd:enumeration value="AY"/>
-            <xsd:enumeration value="AZ"/>
-            <xsd:enumeration value="B0"/>
-            <xsd:enumeration value="B1"/>
-            <xsd:enumeration value="B11"/>
-            <xsd:enumeration value="B12"/>
-            <xsd:enumeration value="B13"/>
-            <xsd:enumeration value="B14"/>
-            <xsd:enumeration value="B15"/>
-            <xsd:enumeration value="B16"/>
-            <xsd:enumeration value="B18"/>
-            <xsd:enumeration value="B2"/>
-            <xsd:enumeration value="B20"/>
-            <xsd:enumeration value="B21"/>
-            <xsd:enumeration value="B22"/>
-            <xsd:enumeration value="B23"/>
-            <xsd:enumeration value="B24"/>
-            <xsd:enumeration value="B25"/>
-            <xsd:enumeration value="B26"/>
-            <xsd:enumeration value="B27"/>
-            <xsd:enumeration value="B28"/>
-            <xsd:enumeration value="B29"/>
-            <xsd:enumeration value="B3"/>
-            <xsd:enumeration value="B31"/>
-            <xsd:enumeration value="B32"/>
-            <xsd:enumeration value="B33"/>
-            <xsd:enumeration value="B34"/>
-            <xsd:enumeration value="B35"/>
-            <xsd:enumeration value="B36"/>
-            <xsd:enumeration value="B37"/>
-            <xsd:enumeration value="B38"/>
-            <xsd:enumeration value="B39"/>
-            <xsd:enumeration value="B4"/>
-            <xsd:enumeration value="B40"/>
-            <xsd:enumeration value="B41"/>
-            <xsd:enumeration value="B42"/>
-            <xsd:enumeration value="B43"/>
-            <xsd:enumeration value="B44"/>
-            <xsd:enumeration value="B45"/>
-            <xsd:enumeration value="B46"/>
-            <xsd:enumeration value="B47"/>
-            <xsd:enumeration value="B48"/>
-            <xsd:enumeration value="B49"/>
-            <xsd:enumeration value="B5"/>
-            <xsd:enumeration value="B50"/>
-            <xsd:enumeration value="B51"/>
-            <xsd:enumeration value="B52"/>
-            <xsd:enumeration value="B53"/>
-            <xsd:enumeration value="B54"/>
-            <xsd:enumeration value="B55"/>
-            <xsd:enumeration value="B56"/>
-            <xsd:enumeration value="B57"/>
-            <xsd:enumeration value="B58"/>
-            <xsd:enumeration value="B59"/>
-            <xsd:enumeration value="B6"/>
-            <xsd:enumeration value="B60"/>
-            <xsd:enumeration value="B61"/>
-            <xsd:enumeration value="B62"/>
-            <xsd:enumeration value="B63"/>
-            <xsd:enumeration value="B64"/>
-            <xsd:enumeration value="B65"/>
-            <xsd:enumeration value="B66"/>
-            <xsd:enumeration value="B67"/>
-            <xsd:enumeration value="B69"/>
-            <xsd:enumeration value="B7"/>
-            <xsd:enumeration value="B70"/>
-            <xsd:enumeration value="B71"/>
-            <xsd:enumeration value="B72"/>
-            <xsd:enumeration value="B73"/>
-            <xsd:enumeration value="B74"/>
-            <xsd:enumeration value="B75"/>
-            <xsd:enumeration value="B76"/>
-            <xsd:enumeration value="B77"/>
-            <xsd:enumeration value="B78"/>
-            <xsd:enumeration value="B79"/>
-            <xsd:enumeration value="B8"/>
-            <xsd:enumeration value="B81"/>
-            <xsd:enumeration value="B83"/>
-            <xsd:enumeration value="B84"/>
-            <xsd:enumeration value="B85"/>
-            <xsd:enumeration value="B86"/>
-            <xsd:enumeration value="B87"/>
-            <xsd:enumeration value="B88"/>
-            <xsd:enumeration value="B89"/>
-            <xsd:enumeration value="B9"/>
-            <xsd:enumeration value="B90"/>
-            <xsd:enumeration value="B91"/>
-            <xsd:enumeration value="B92"/>
-            <xsd:enumeration value="B93"/>
-            <xsd:enumeration value="B94"/>
-            <xsd:enumeration value="B95"/>
-            <xsd:enumeration value="B96"/>
-            <xsd:enumeration value="B97"/>
-            <xsd:enumeration value="B98"/>
-            <xsd:enumeration value="B99"/>
-            <xsd:enumeration value="BAR"/>
-            <xsd:enumeration value="BB"/>
-            <xsd:enumeration value="BD"/>
-            <xsd:enumeration value="BE"/>
-            <xsd:enumeration value="BFT"/>
-            <xsd:enumeration value="BG"/>
-            <xsd:enumeration value="BH"/>
-            <xsd:enumeration value="BHP"/>
-            <xsd:enumeration value="BIL"/>
-            <xsd:enumeration value="BJ"/>
-            <xsd:enumeration value="BK"/>
-            <xsd:enumeration value="BL"/>
-            <xsd:enumeration value="BLD"/>
-            <xsd:enumeration value="BLL"/>
-            <xsd:enumeration value="BO"/>
-            <xsd:enumeration value="BP"/>
-            <xsd:enumeration value="BQL"/>
-            <xsd:enumeration value="BT"/>
-            <xsd:enumeration value="BTU"/>
-            <xsd:enumeration value="BU"/>
-            <xsd:enumeration value="BUA"/>
-            <xsd:enumeration value="BUI"/>
-            <xsd:enumeration value="BW"/>
-            <xsd:enumeration value="BX"/>
-            <xsd:enumeration value="BZ"/>
-            <xsd:enumeration value="C0"/>
-            <xsd:enumeration value="C1"/>
-            <xsd:enumeration value="C10"/>
-            <xsd:enumeration value="C11"/>
-            <xsd:enumeration value="C12"/>
-            <xsd:enumeration value="C13"/>
-            <xsd:enumeration value="C14"/>
-            <xsd:enumeration value="C15"/>
-            <xsd:enumeration value="C16"/>
-            <xsd:enumeration value="C17"/>
-            <xsd:enumeration value="C18"/>
-            <xsd:enumeration value="C19"/>
-            <xsd:enumeration value="C2"/>
-            <xsd:enumeration value="C20"/>
-            <xsd:enumeration value="C22"/>
-            <xsd:enumeration value="C23"/>
-            <xsd:enumeration value="C24"/>
-            <xsd:enumeration value="C25"/>
-            <xsd:enumeration value="C26"/>
-            <xsd:enumeration value="C27"/>
-            <xsd:enumeration value="C28"/>
-            <xsd:enumeration value="C29"/>
-            <xsd:enumeration value="C3"/>
-            <xsd:enumeration value="C30"/>
-            <xsd:enumeration value="C31"/>
-            <xsd:enumeration value="C32"/>
-            <xsd:enumeration value="C33"/>
-            <xsd:enumeration value="C34"/>
-            <xsd:enumeration value="C35"/>
-            <xsd:enumeration value="C36"/>
-            <xsd:enumeration value="C38"/>
-            <xsd:enumeration value="C39"/>
-            <xsd:enumeration value="C4"/>
-            <xsd:enumeration value="C40"/>
-            <xsd:enumeration value="C41"/>
-            <xsd:enumeration value="C42"/>
-            <xsd:enumeration value="C43"/>
-            <xsd:enumeration value="C44"/>
-            <xsd:enumeration value="C45"/>
-            <xsd:enumeration value="C46"/>
-            <xsd:enumeration value="C47"/>
-            <xsd:enumeration value="C48"/>
-            <xsd:enumeration value="C49"/>
-            <xsd:enumeration value="C5"/>
-            <xsd:enumeration value="C50"/>
-            <xsd:enumeration value="C51"/>
-            <xsd:enumeration value="C52"/>
-            <xsd:enumeration value="C53"/>
-            <xsd:enumeration value="C54"/>
-            <xsd:enumeration value="C55"/>
-            <xsd:enumeration value="C56"/>
-            <xsd:enumeration value="C57"/>
-            <xsd:enumeration value="C58"/>
-            <xsd:enumeration value="C59"/>
-            <xsd:enumeration value="C6"/>
-            <xsd:enumeration value="C60"/>
-            <xsd:enumeration value="C61"/>
-            <xsd:enumeration value="C62"/>
-            <xsd:enumeration value="C63"/>
-            <xsd:enumeration value="C64"/>
-            <xsd:enumeration value="C65"/>
-            <xsd:enumeration value="C66"/>
-            <xsd:enumeration value="C67"/>
-            <xsd:enumeration value="C68"/>
-            <xsd:enumeration value="C69"/>
-            <xsd:enumeration value="C7"/>
-            <xsd:enumeration value="C70"/>
-            <xsd:enumeration value="C71"/>
-            <xsd:enumeration value="C72"/>
-            <xsd:enumeration value="C73"/>
-            <xsd:enumeration value="C75"/>
-            <xsd:enumeration value="C76"/>
-            <xsd:enumeration value="C77"/>
-            <xsd:enumeration value="C78"/>
-            <xsd:enumeration value="C8"/>
-            <xsd:enumeration value="C80"/>
-            <xsd:enumeration value="C81"/>
-            <xsd:enumeration value="C82"/>
-            <xsd:enumeration value="C83"/>
-            <xsd:enumeration value="C84"/>
-            <xsd:enumeration value="C85"/>
-            <xsd:enumeration value="C86"/>
-            <xsd:enumeration value="C87"/>
-            <xsd:enumeration value="C88"/>
-            <xsd:enumeration value="C89"/>
-            <xsd:enumeration value="C9"/>
-            <xsd:enumeration value="C90"/>
-            <xsd:enumeration value="C91"/>
-            <xsd:enumeration value="C92"/>
-            <xsd:enumeration value="C93"/>
-            <xsd:enumeration value="C94"/>
-            <xsd:enumeration value="C95"/>
-            <xsd:enumeration value="C96"/>
-            <xsd:enumeration value="C97"/>
-            <xsd:enumeration value="C98"/>
-            <xsd:enumeration value="C99"/>
-            <xsd:enumeration value="CA"/>
-            <xsd:enumeration value="CCT"/>
-            <xsd:enumeration value="CD"/>
-            <xsd:enumeration value="CDL"/>
-            <xsd:enumeration value="CE"/>
-            <xsd:enumeration value="CEL"/>
-            <xsd:enumeration value="CEN"/>
-            <xsd:enumeration value="CG"/>
-            <xsd:enumeration value="CGM"/>
-            <xsd:enumeration value="CH"/>
-            <xsd:enumeration value="CJ"/>
-            <xsd:enumeration value="CK"/>
-            <xsd:enumeration value="CKG"/>
-            <xsd:enumeration value="CL"/>
-            <xsd:enumeration value="CLF"/>
-            <xsd:enumeration value="CLT"/>
-            <xsd:enumeration value="CMK"/>
-            <xsd:enumeration value="CMQ"/>
-            <xsd:enumeration value="CMT"/>
-            <xsd:enumeration value="CNP"/>
-            <xsd:enumeration value="CNT"/>
-            <xsd:enumeration value="CO"/>
-            <xsd:enumeration value="COU"/>
-            <xsd:enumeration value="CQ"/>
-            <xsd:enumeration value="CR"/>
-            <xsd:enumeration value="CS"/>
-            <xsd:enumeration value="CT"/>
-            <xsd:enumeration value="CTM"/>
-            <xsd:enumeration value="CU"/>
-            <xsd:enumeration value="CUR"/>
-            <xsd:enumeration value="CV"/>
-            <xsd:enumeration value="CWA"/>
-            <xsd:enumeration value="CWI"/>
-            <xsd:enumeration value="CY"/>
-            <xsd:enumeration value="CZ"/>
-            <xsd:enumeration value="D1"/>
-            <xsd:enumeration value="D10"/>
-            <xsd:enumeration value="D12"/>
-            <xsd:enumeration value="D13"/>
-            <xsd:enumeration value="D14"/>
-            <xsd:enumeration value="D16"/>
-            <xsd:enumeration value="D17"/>
-            <xsd:enumeration value="D18"/>
-            <xsd:enumeration value="D19"/>
-            <xsd:enumeration value="D2"/>
-            <xsd:enumeration value="D20"/>
-            <xsd:enumeration value="D21"/>
-            <xsd:enumeration value="D22"/>
-            <xsd:enumeration value="D23"/>
-            <xsd:enumeration value="D24"/>
-            <xsd:enumeration value="D25"/>
-            <xsd:enumeration value="D26"/>
-            <xsd:enumeration value="D27"/>
-            <xsd:enumeration value="D28"/>
-            <xsd:enumeration value="D29"/>
-            <xsd:enumeration value="D30"/>
-            <xsd:enumeration value="D31"/>
-            <xsd:enumeration value="D33"/>
-            <xsd:enumeration value="D34"/>
-            <xsd:enumeration value="D35"/>
-            <xsd:enumeration value="D37"/>
-            <xsd:enumeration value="D38"/>
-            <xsd:enumeration value="D39"/>
-            <xsd:enumeration value="D40"/>
-            <xsd:enumeration value="D41"/>
-            <xsd:enumeration value="D42"/>
-            <xsd:enumeration value="D43"/>
-            <xsd:enumeration value="D44"/>
-            <xsd:enumeration value="D45"/>
-            <xsd:enumeration value="D46"/>
-            <xsd:enumeration value="D47"/>
-            <xsd:enumeration value="D48"/>
-            <xsd:enumeration value="D49"/>
-            <xsd:enumeration value="D5"/>
-            <xsd:enumeration value="D50"/>
-            <xsd:enumeration value="D51"/>
-            <xsd:enumeration value="D52"/>
-            <xsd:enumeration value="D53"/>
-            <xsd:enumeration value="D54"/>
-            <xsd:enumeration value="D55"/>
-            <xsd:enumeration value="D56"/>
-            <xsd:enumeration value="D57"/>
-            <xsd:enumeration value="D58"/>
-            <xsd:enumeration value="D59"/>
-            <xsd:enumeration value="D6"/>
-            <xsd:enumeration value="D60"/>
-            <xsd:enumeration value="D63"/>
-            <xsd:enumeration value="D64"/>
-            <xsd:enumeration value="D65"/>
-            <xsd:enumeration value="D66"/>
-            <xsd:enumeration value="D67"/>
-            <xsd:enumeration value="D69"/>
-            <xsd:enumeration value="D7"/>
-            <xsd:enumeration value="D70"/>
-            <xsd:enumeration value="D71"/>
-            <xsd:enumeration value="D72"/>
-            <xsd:enumeration value="D73"/>
-            <xsd:enumeration value="D74"/>
-            <xsd:enumeration value="D75"/>
-            <xsd:enumeration value="D76"/>
-            <xsd:enumeration value="D77"/>
-            <xsd:enumeration value="D79"/>
-            <xsd:enumeration value="D8"/>
-            <xsd:enumeration value="D80"/>
-            <xsd:enumeration value="D81"/>
-            <xsd:enumeration value="D82"/>
-            <xsd:enumeration value="D83"/>
-            <xsd:enumeration value="D85"/>
-            <xsd:enumeration value="D86"/>
-            <xsd:enumeration value="D87"/>
-            <xsd:enumeration value="D88"/>
-            <xsd:enumeration value="D89"/>
-            <xsd:enumeration value="D9"/>
-            <xsd:enumeration value="D90"/>
-            <xsd:enumeration value="D91"/>
-            <xsd:enumeration value="D92"/>
-            <xsd:enumeration value="D93"/>
-            <xsd:enumeration value="D94"/>
-            <xsd:enumeration value="D95"/>
-            <xsd:enumeration value="D96"/>
-            <xsd:enumeration value="D97"/>
-            <xsd:enumeration value="D98"/>
-            <xsd:enumeration value="D99"/>
-            <xsd:enumeration value="DAA"/>
-            <xsd:enumeration value="DAD"/>
-            <xsd:enumeration value="DAY"/>
-            <xsd:enumeration value="DB"/>
-            <xsd:enumeration value="DC"/>
-            <xsd:enumeration value="DD"/>
-            <xsd:enumeration value="DE"/>
-            <xsd:enumeration value="DEC"/>
-            <xsd:enumeration value="DF"/>
-            <xsd:enumeration value="DG"/>
-            <xsd:enumeration value="DH"/>
-            <xsd:enumeration value="DI"/>
-            <xsd:enumeration value="DJ"/>
-            <xsd:enumeration value="DLT"/>
-            <xsd:enumeration value="DMK"/>
-            <xsd:enumeration value="DMQ"/>
-            <xsd:enumeration value="DMT"/>
-            <xsd:enumeration value="DN"/>
-            <xsd:enumeration value="DO"/>
-            <xsd:enumeration value="DPC"/>
-            <xsd:enumeration value="DPR"/>
-            <xsd:enumeration value="DPT"/>
-            <xsd:enumeration value="DQ"/>
-            <xsd:enumeration value="DR"/>
-            <xsd:enumeration value="DRA"/>
-            <xsd:enumeration value="DRI"/>
-            <xsd:enumeration value="DRL"/>
-            <xsd:enumeration value="DRM"/>
-            <xsd:enumeration value="DS"/>
-            <xsd:enumeration value="DT"/>
-            <xsd:enumeration value="DTN"/>
-            <xsd:enumeration value="DU"/>
-            <xsd:enumeration value="DWT"/>
-            <xsd:enumeration value="DX"/>
-            <xsd:enumeration value="DY"/>
-            <xsd:enumeration value="DZN"/>
-            <xsd:enumeration value="DZP"/>
-            <xsd:enumeration value="E2"/>
-            <xsd:enumeration value="E3"/>
-            <xsd:enumeration value="E4"/>
-            <xsd:enumeration value="E5"/>
-            <xsd:enumeration value="E9"/>
-            <xsd:enumeration value="EA"/>
-            <xsd:enumeration value="EB"/>
-            <xsd:enumeration value="EC"/>
-            <xsd:enumeration value="EP"/>
-            <xsd:enumeration value="EQ"/>
-            <xsd:enumeration value="EV"/>
-            <xsd:enumeration value="EX"/>
-            <xsd:enumeration value="EZ"/>
-            <xsd:enumeration value="F1"/>
-            <xsd:enumeration value="F9"/>
-            <xsd:enumeration value="FAH"/>
-            <xsd:enumeration value="FAR"/>
-            <xsd:enumeration value="FB"/>
-            <xsd:enumeration value="FC"/>
-            <xsd:enumeration value="FD"/>
-            <xsd:enumeration value="FE"/>
-            <xsd:enumeration value="FF"/>
-            <xsd:enumeration value="FG"/>
-            <xsd:enumeration value="FH"/>
-            <xsd:enumeration value="FL"/>
-            <xsd:enumeration value="FM"/>
-            <xsd:enumeration value="FO"/>
-            <xsd:enumeration value="FOT"/>
-            <xsd:enumeration value="FP"/>
-            <xsd:enumeration value="FR"/>
-            <xsd:enumeration value="FS"/>
-            <xsd:enumeration value="FTK"/>
-            <xsd:enumeration value="FTQ"/>
-            <xsd:enumeration value="FZ"/>
-            <xsd:enumeration value="G2"/>
-            <xsd:enumeration value="G3"/>
-            <xsd:enumeration value="G5"/>
-            <xsd:enumeration value="G7"/>
-            <xsd:enumeration value="GB"/>
-            <xsd:enumeration value="GBQ"/>
-            <xsd:enumeration value="GC"/>
-            <xsd:enumeration value="GD"/>
-            <xsd:enumeration value="GE"/>
-            <xsd:enumeration value="GF"/>
-            <xsd:enumeration value="GFI"/>
-            <xsd:enumeration value="GG"/>
-            <xsd:enumeration value="GGR"/>
-            <xsd:enumeration value="GH"/>
-            <xsd:enumeration value="GI"/>
-            <xsd:enumeration value="GIA"/>
-            <xsd:enumeration value="GII"/>
-            <xsd:enumeration value="GJ"/>
-            <xsd:enumeration value="GK"/>
-            <xsd:enumeration value="GL"/>
-            <xsd:enumeration value="GLD"/>
-            <xsd:enumeration value="GLI"/>
-            <xsd:enumeration value="GLL"/>
-            <xsd:enumeration value="GM"/>
-            <xsd:enumeration value="GN"/>
-            <xsd:enumeration value="GO"/>
-            <xsd:enumeration value="GP"/>
-            <xsd:enumeration value="GQ"/>
-            <xsd:enumeration value="GRM"/>
-            <xsd:enumeration value="GRN"/>
-            <xsd:enumeration value="GRO"/>
-            <xsd:enumeration value="GRT"/>
-            <xsd:enumeration value="GT"/>
-            <xsd:enumeration value="GV"/>
-            <xsd:enumeration value="GW"/>
-            <xsd:enumeration value="GWH"/>
-            <xsd:enumeration value="GY"/>
-            <xsd:enumeration value="GZ"/>
-            <xsd:enumeration value="H1"/>
-            <xsd:enumeration value="H2"/>
-            <xsd:enumeration value="HA"/>
-            <xsd:enumeration value="HAR"/>
-            <xsd:enumeration value="HBA"/>
-            <xsd:enumeration value="HBX"/>
-            <xsd:enumeration value="HC"/>
-            <xsd:enumeration value="HD"/>
-            <xsd:enumeration value="HE"/>
-            <xsd:enumeration value="HF"/>
-            <xsd:enumeration value="HGM"/>
-            <xsd:enumeration value="HH"/>
-            <xsd:enumeration value="HI"/>
-            <xsd:enumeration value="HIU"/>
-            <xsd:enumeration value="HJ"/>
-            <xsd:enumeration value="HK"/>
-            <xsd:enumeration value="HL"/>
-            <xsd:enumeration value="HLT"/>
-            <xsd:enumeration value="HM"/>
-            <xsd:enumeration value="HMQ"/>
-            <xsd:enumeration value="HMT"/>
-            <xsd:enumeration value="HN"/>
-            <xsd:enumeration value="HO"/>
-            <xsd:enumeration value="HP"/>
-            <xsd:enumeration value="HPA"/>
-            <xsd:enumeration value="HS"/>
-            <xsd:enumeration value="HT"/>
-            <xsd:enumeration value="HTZ"/>
-            <xsd:enumeration value="HUR"/>
-            <xsd:enumeration value="HV"/>
-            <xsd:enumeration value="HW"/>
-            <xsd:enumeration value="HY"/>
-            <xsd:enumeration value="IA"/>
-            <xsd:enumeration value="IB"/>
-            <xsd:enumeration value="IC"/>
-            <xsd:enumeration value="IE"/>
-            <xsd:enumeration value="IF"/>
-            <xsd:enumeration value="II"/>
-            <xsd:enumeration value="IL"/>
-            <xsd:enumeration value="IM"/>
-            <xsd:enumeration value="INH"/>
-            <xsd:enumeration value="INK"/>
-            <xsd:enumeration value="INQ"/>
-            <xsd:enumeration value="IP"/>
-            <xsd:enumeration value="IT"/>
-            <xsd:enumeration value="IU"/>
-            <xsd:enumeration value="IV"/>
-            <xsd:enumeration value="IW"/>
-            <xsd:enumeration value="J2"/>
-            <xsd:enumeration value="JB"/>
-            <xsd:enumeration value="JE"/>
-            <xsd:enumeration value="JG"/>
-            <xsd:enumeration value="JK"/>
-            <xsd:enumeration value="JM"/>
-            <xsd:enumeration value="JO"/>
-            <xsd:enumeration value="JOU"/>
-            <xsd:enumeration value="JR"/>
-            <xsd:enumeration value="K1"/>
-            <xsd:enumeration value="K2"/>
-            <xsd:enumeration value="K3"/>
-            <xsd:enumeration value="K5"/>
-            <xsd:enumeration value="K6"/>
-            <xsd:enumeration value="KA"/>
-            <xsd:enumeration value="KB"/>
-            <xsd:enumeration value="KBA"/>
-            <xsd:enumeration value="KD"/>
-            <xsd:enumeration value="KEL"/>
-            <xsd:enumeration value="KF"/>
-            <xsd:enumeration value="KG"/>
-            <xsd:enumeration value="KGM"/>
-            <xsd:enumeration value="KGS"/>
-            <xsd:enumeration value="KHZ"/>
-            <xsd:enumeration value="KI"/>
-            <xsd:enumeration value="KJ"/>
-            <xsd:enumeration value="KJO"/>
-            <xsd:enumeration value="KK"/>
-            <xsd:enumeration value="KL"/>
-            <xsd:enumeration value="KMH"/>
-            <xsd:enumeration value="KMK"/>
-            <xsd:enumeration value="KMQ"/>
-            <xsd:enumeration value="KNI"/>
-            <xsd:enumeration value="KNS"/>
-            <xsd:enumeration value="KNT"/>
-            <xsd:enumeration value="KO"/>
-            <xsd:enumeration value="KPA"/>
-            <xsd:enumeration value="KPH"/>
-            <xsd:enumeration value="KPO"/>
-            <xsd:enumeration value="KPP"/>
-            <xsd:enumeration value="KR"/>
-            <xsd:enumeration value="KS"/>
-            <xsd:enumeration value="KSD"/>
-            <xsd:enumeration value="KSH"/>
-            <xsd:enumeration value="KT"/>
-            <xsd:enumeration value="KMT"/>
-            <xsd:enumeration value="KTN"/>
-            <xsd:enumeration value="KUR"/>
-            <xsd:enumeration value="KVA"/>
-            <xsd:enumeration value="KVR"/>
-            <xsd:enumeration value="KVT"/>
-            <xsd:enumeration value="KW"/>
-            <xsd:enumeration value="KWH"/>
-            <xsd:enumeration value="KWT"/>
-            <xsd:enumeration value="KX"/>
-            <xsd:enumeration value="L2"/>
-            <xsd:enumeration value="LA"/>
-            <xsd:enumeration value="LBR"/>
-            <xsd:enumeration value="LBT"/>
-            <xsd:enumeration value="LC"/>
-            <xsd:enumeration value="LD"/>
-            <xsd:enumeration value="LE"/>
-            <xsd:enumeration value="LEF"/>
-            <xsd:enumeration value="LF"/>
-            <xsd:enumeration value="LG"/>
-            <xsd:enumeration value="LH"/>
-            <xsd:enumeration value="LI"/>
-            <xsd:enumeration value="LJ"/>
-            <xsd:enumeration value="LK"/>
-            <xsd:enumeration value="LM"/>
-            <xsd:enumeration value="LN"/>
-            <xsd:enumeration value="LO"/>
-            <xsd:enumeration value="LP"/>
-            <xsd:enumeration value="LPA"/>
-            <xsd:enumeration value="LR"/>
-            <xsd:enumeration value="LS"/>
-            <xsd:enumeration value="LTN"/>
-            <xsd:enumeration value="LTR"/>
-            <xsd:enumeration value="LUM"/>
-            <xsd:enumeration value="LUX"/>
-            <xsd:enumeration value="LX"/>
-            <xsd:enumeration value="LY"/>
-            <xsd:enumeration value="M0"/>
-            <xsd:enumeration value="M1"/>
-            <xsd:enumeration value="M2"/>
-            <xsd:enumeration value="M4"/>
-            <xsd:enumeration value="M5"/>
-            <xsd:enumeration value="M7"/>
-            <xsd:enumeration value="M9"/>
-            <xsd:enumeration value="MA"/>
-            <xsd:enumeration value="MAL"/>
-            <xsd:enumeration value="MAM"/>
-            <xsd:enumeration value="MAW"/>
-            <xsd:enumeration value="MB"/>
-            <xsd:enumeration value="MBE"/>
-            <xsd:enumeration value="MBF"/>
-            <xsd:enumeration value="MBR"/>
-            <xsd:enumeration value="MC"/>
-            <xsd:enumeration value="MCU"/>
-            <xsd:enumeration value="MD"/>
-            <xsd:enumeration value="MF"/>
-            <xsd:enumeration value="MGM"/>
-            <xsd:enumeration value="MH"/>
-            <xsd:enumeration value="MHZ"/>
-            <xsd:enumeration value="MI"/>
-            <xsd:enumeration value="MIK"/>
-            <xsd:enumeration value="MIL"/>
-            <xsd:enumeration value="MIN"/>
-            <xsd:enumeration value="MIO"/>
-            <xsd:enumeration value="MIU"/>
-            <xsd:enumeration value="MK"/>
-            <xsd:enumeration value="MLD"/>
-            <xsd:enumeration value="MLT"/>
-            <xsd:enumeration value="MMK"/>
-            <xsd:enumeration value="MMQ"/>
-            <xsd:enumeration value="MMT"/>
-            <xsd:enumeration value="MON"/>
-            <xsd:enumeration value="MPA"/>
-            <xsd:enumeration value="MQ"/>
-            <xsd:enumeration value="MQH"/>
-            <xsd:enumeration value="MQS"/>
-            <xsd:enumeration value="MSK"/>
-            <xsd:enumeration value="MT"/>
-            <xsd:enumeration value="MTK"/>
-            <xsd:enumeration value="MTQ"/>
-            <xsd:enumeration value="MTR"/>
-            <xsd:enumeration value="MTS"/>
-            <xsd:enumeration value="MV"/>
-            <xsd:enumeration value="MVA"/>
-            <xsd:enumeration value="MW"/>
-            <xsd:enumeration value="MWH"/>
-            <xsd:enumeration value="MX"/>
-            <xsd:enumeration value="MY"/>
-            <xsd:enumeration value="MZ"/>
-            <xsd:enumeration value="N1"/>
-            <xsd:enumeration value="N2"/>
-            <xsd:enumeration value="N3"/>
-            <xsd:enumeration value="NA"/>
-            <xsd:enumeration value="NAR"/>
-            <xsd:enumeration value="NB"/>
-            <xsd:enumeration value="NBB"/>
-            <xsd:enumeration value="NC"/>
-            <xsd:enumeration value="NCL"/>
-            <xsd:enumeration value="ND"/>
-            <xsd:enumeration value="NE"/>
-            <xsd:enumeration value="NEW"/>
-            <xsd:enumeration value="NF"/>
-            <xsd:enumeration value="NG"/>
-            <xsd:enumeration value="NH"/>
-            <xsd:enumeration value="NI"/>
-            <xsd:enumeration value="NIU"/>
-            <xsd:enumeration value="NJ"/>
-            <xsd:enumeration value="NL"/>
-            <xsd:enumeration value="NMI"/>
-            <xsd:enumeration value="NMP"/>
-            <xsd:enumeration value="NN"/>
-            <xsd:enumeration value="NPL"/>
-            <xsd:enumeration value="NPR"/>
-            <xsd:enumeration value="NPT"/>
-            <xsd:enumeration value="NQ"/>
-            <xsd:enumeration value="NR"/>
-            <xsd:enumeration value="NRL"/>
-            <xsd:enumeration value="NT"/>
-            <xsd:enumeration value="NTT"/>
-            <xsd:enumeration value="NU"/>
-            <xsd:enumeration value="NV"/>
-            <xsd:enumeration value="NX"/>
-            <xsd:enumeration value="NY"/>
-            <xsd:enumeration value="OA"/>
-            <xsd:enumeration value="OHM"/>
-            <xsd:enumeration value="ON"/>
-            <xsd:enumeration value="ONZ"/>
-            <xsd:enumeration value="OP"/>
-            <xsd:enumeration value="OT"/>
-            <xsd:enumeration value="OZ"/>
-            <xsd:enumeration value="OZA"/>
-            <xsd:enumeration value="OZI"/>
-            <xsd:enumeration value="P0"/>
-            <xsd:enumeration value="P1"/>
-            <xsd:enumeration value="P2"/>
-            <xsd:enumeration value="P3"/>
-            <xsd:enumeration value="P4"/>
-            <xsd:enumeration value="P5"/>
-            <xsd:enumeration value="P6"/>
-            <xsd:enumeration value="P7"/>
-            <xsd:enumeration value="P8"/>
-            <xsd:enumeration value="P9"/>
-            <xsd:enumeration value="PA"/>
-            <xsd:enumeration value="PAL"/>
-            <xsd:enumeration value="PB"/>
-            <xsd:enumeration value="PD"/>
-            <xsd:enumeration value="PE"/>
-            <xsd:enumeration value="PF"/>
-            <xsd:enumeration value="PG"/>
-            <xsd:enumeration value="PGL"/>
-            <xsd:enumeration value="PI"/>
-            <xsd:enumeration value="PK"/>
-            <xsd:enumeration value="PL"/>
-            <xsd:enumeration value="PM"/>
-            <xsd:enumeration value="PN"/>
-            <xsd:enumeration value="PO"/>
-            <xsd:enumeration value="PQ"/>
-            <xsd:enumeration value="PR"/>
-            <xsd:enumeration value="PS"/>
-            <xsd:enumeration value="PT"/>
-            <xsd:enumeration value="PTD"/>
-            <xsd:enumeration value="PTI"/>
-            <xsd:enumeration value="PTL"/>
-            <xsd:enumeration value="PU"/>
-            <xsd:enumeration value="PV"/>
-            <xsd:enumeration value="PW"/>
-            <xsd:enumeration value="PY"/>
-            <xsd:enumeration value="PZ"/>
-            <xsd:enumeration value="Q1"/>
-            <xsd:enumeration value="Q2"/>
-            <xsd:enumeration value="Q3"/>
-            <xsd:enumeration value="Q4"/>
-            <xsd:enumeration value="Q5"/>
-            <xsd:enumeration value="Q6"/>
-            <xsd:enumeration value="Q7"/>
-            <xsd:enumeration value="QA"/>
-            <xsd:enumeration value="QAN"/>
-            <xsd:enumeration value="QB"/>
-            <xsd:enumeration value="QD"/>
-            <xsd:enumeration value="QH"/>
-            <xsd:enumeration value="QK"/>
-            <xsd:enumeration value="QR"/>
-            <xsd:enumeration value="QS"/>
-            <xsd:enumeration value="QT"/>
-            <xsd:enumeration value="QTD"/>
-            <xsd:enumeration value="QTI"/>
-            <xsd:enumeration value="QTL"/>
-            <xsd:enumeration value="QTR"/>
-            <xsd:enumeration value="R1"/>
-            <xsd:enumeration value="R4"/>
-            <xsd:enumeration value="R5"/>
-            <xsd:enumeration value="R6"/>
-            <xsd:enumeration value="R9"/>
-            <xsd:enumeration value="RA"/>
-            <xsd:enumeration value="RD"/>
-            <xsd:enumeration value="RG"/>
-            <xsd:enumeration value="RH"/>
-            <xsd:enumeration value="RK"/>
-            <xsd:enumeration value="RL"/>
-            <xsd:enumeration value="RM"/>
-            <xsd:enumeration value="RN"/>
-            <xsd:enumeration value="RO"/>
-            <xsd:enumeration value="RP"/>
-            <xsd:enumeration value="RPM"/>
-            <xsd:enumeration value="RPS"/>
-            <xsd:enumeration value="RS"/>
-            <xsd:enumeration value="RT"/>
-            <xsd:enumeration value="RU"/>
-            <xsd:enumeration value="S3"/>
-            <xsd:enumeration value="S4"/>
-            <xsd:enumeration value="S5"/>
-            <xsd:enumeration value="S6"/>
-            <xsd:enumeration value="S7"/>
-            <xsd:enumeration value="S8"/>
-            <xsd:enumeration value="SA"/>
-            <xsd:enumeration value="SAN"/>
-            <xsd:enumeration value="SCO"/>
-            <xsd:enumeration value="SCR"/>
-            <xsd:enumeration value="SD"/>
-            <xsd:enumeration value="SE"/>
-            <xsd:enumeration value="SEC"/>
-            <xsd:enumeration value="SET"/>
-            <xsd:enumeration value="SG"/>
-            <xsd:enumeration value="SHT"/>
-            <xsd:enumeration value="SIE"/>
-            <xsd:enumeration value="SK"/>
-            <xsd:enumeration value="SL"/>
-            <xsd:enumeration value="SMI"/>
-            <xsd:enumeration value="SN"/>
-            <xsd:enumeration value="SO"/>
-            <xsd:enumeration value="SP"/>
-            <xsd:enumeration value="SQ"/>
-            <xsd:enumeration value="SR"/>
-            <xsd:enumeration value="SS"/>
-            <xsd:enumeration value="SST"/>
-            <xsd:enumeration value="ST"/>
-            <xsd:enumeration value="STI"/>
-            <xsd:enumeration value="STN"/>
-            <xsd:enumeration value="SV"/>
-            <xsd:enumeration value="SW"/>
-            <xsd:enumeration value="SX"/>
-            <xsd:enumeration value="T0"/>
-            <xsd:enumeration value="T1"/>
-            <xsd:enumeration value="T2"/>
-            <xsd:enumeration value="T3"/>
-            <xsd:enumeration value="T4"/>
-            <xsd:enumeration value="T5"/>
-            <xsd:enumeration value="T6"/>
-            <xsd:enumeration value="T7"/>
-            <xsd:enumeration value="T8"/>
-            <xsd:enumeration value="T9"/>
-            <xsd:enumeration value="TA"/>
-            <xsd:enumeration value="TAH"/>
-            <xsd:enumeration value="TC"/>
-            <xsd:enumeration value="TD"/>
-            <xsd:enumeration value="TE"/>
-            <xsd:enumeration value="TF"/>
-            <xsd:enumeration value="TI"/>
-            <xsd:enumeration value="TJ"/>
-            <xsd:enumeration value="TK"/>
-            <xsd:enumeration value="TL"/>
-            <xsd:enumeration value="TM"/>
-            <xsd:enumeration value="TN"/>
-            <xsd:enumeration value="TNE"/>
-            <xsd:enumeration value="TP"/>
-            <xsd:enumeration value="TPR"/>
-            <xsd:enumeration value="TQ"/>
-            <xsd:enumeration value="TQD"/>
-            <xsd:enumeration value="TR"/>
-            <xsd:enumeration value="TRL"/>
-            <xsd:enumeration value="TS"/>
-            <xsd:enumeration value="TSD"/>
-            <xsd:enumeration value="TSH"/>
-            <xsd:enumeration value="TT"/>
-            <xsd:enumeration value="TU"/>
-            <xsd:enumeration value="TV"/>
-            <xsd:enumeration value="TW"/>
-            <xsd:enumeration value="TY"/>
-            <xsd:enumeration value="U1"/>
-            <xsd:enumeration value="U2"/>
-            <xsd:enumeration value="U3"/>
-            <xsd:enumeration value="U5"/>
-            <xsd:enumeration value="UA"/>
-            <xsd:enumeration value="UB"/>
-            <xsd:enumeration value="UC"/>
-            <xsd:enumeration value="UD"/>
-            <xsd:enumeration value="UE"/>
-            <xsd:enumeration value="UF"/>
-            <xsd:enumeration value="UH"/>
-            <xsd:enumeration value="UL"/>
-            <xsd:enumeration value="UM"/>
-            <xsd:enumeration value="VA"/>
-            <xsd:enumeration value="VC"/>
-            <xsd:enumeration value="VI"/>
-            <xsd:enumeration value="VLT"/>
-            <xsd:enumeration value="VQ"/>
-            <xsd:enumeration value="VS"/>
-            <xsd:enumeration value="VT"/>
-            <xsd:enumeration value="W2"/>
-            <xsd:enumeration value="W4"/>
-            <xsd:enumeration value="WA"/>
-            <xsd:enumeration value="WB"/>
-            <xsd:enumeration value="WCD"/>
-            <xsd:enumeration value="WE"/>
-            <xsd:enumeration value="WEB"/>
-            <xsd:enumeration value="WEE"/>
-            <xsd:enumeration value="WG"/>
-            <xsd:enumeration value="WH"/>
-            <xsd:enumeration value="WHR"/>
-            <xsd:enumeration value="WI"/>
-            <xsd:enumeration value="WM"/>
-            <xsd:enumeration value="WR"/>
-            <xsd:enumeration value="WSD"/>
-            <xsd:enumeration value="WTT"/>
-            <xsd:enumeration value="WW"/>
-            <xsd:enumeration value="X1"/>
-            <xsd:enumeration value="YDK"/>
-            <xsd:enumeration value="YDQ"/>
-            <xsd:enumeration value="YL"/>
-            <xsd:enumeration value="YRD"/>
-            <xsd:enumeration value="YT"/>
-            <xsd:enumeration value="Z1"/>
-            <xsd:enumeration value="Z2"/>
-            <xsd:enumeration value="Z3"/>
-            <xsd:enumeration value="Z4"/>
-            <xsd:enumeration value="Z5"/>
-            <xsd:enumeration value="Z6"/>
-            <xsd:enumeration value="Z8"/>
-            <xsd:enumeration value="ZP"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="DimensionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="ConsolidatedWeight"/>
-            <xsd:enumeration value="UnitNetWeight"/>
-            <xsd:enumeration value="UnitGrossWeight"/>
-            <xsd:enumeration value="TotalNetWeight"/>
-            <xsd:enumeration value="TotalGrossWeight"/>
-            <xsd:enumeration value="ItemGrossWeight"/>
-            <xsd:enumeration value="NetNetWeight"/>
-            <xsd:enumeration value="NumberOfUnitsPerPallet"/>
-            <xsd:enumeration value="FatContent"/>
-            <xsd:enumeration value="NetWeight"/>
-            <xsd:enumeration value="GrossTonnageOfTheVessel"/>
-            <xsd:enumeration value="NetTonnageOfTheVessel"/>
-            <xsd:enumeration value="Humidity"/>
-            <xsd:enumeration value="Voltage"/>
-            <xsd:enumeration value="PowerConsumption"/>
-            <xsd:enumeration value="HeatDissipation"/>
-            <xsd:enumeration value="AirFlow"/>
-            <xsd:enumeration value="ShockImpact"/>
-            <xsd:enumeration value="OperativeTemperature"/>
-            <xsd:enumeration value="NonOperativeTemperature"/>
-            <xsd:enumeration value="GrossVolume"/>
-            <xsd:enumeration value="NetVolume"/>
-            <xsd:enumeration value="WaterContent"/>
-            <xsd:enumeration value="TensileStress"/>
-            <xsd:enumeration value="Fibrosity"/>
-            <xsd:enumeration value="GaugeLength"/>
-            <xsd:enumeration value="Radius"/>
-            <xsd:enumeration value="Straightness"/>
-            <xsd:enumeration value="Strain"/>
-            <xsd:enumeration value="Volume"/>
-            <xsd:enumeration value="ItemWeight"/>
-            <xsd:enumeration value="WeightOfConveyance"/>
-            <xsd:enumeration value="ConveyanceSummerDeadWeight"/>
-            <xsd:enumeration value="ContainerizedCargoOnVesselsWeight"/>
-            <xsd:enumeration value="Non-ContainerizedCargoOnVesselsWeight"/>
-            <xsd:enumeration value="WeightAscertained"/>
-            <xsd:enumeration value="ChargeableWeight"/>
-            <xsd:enumeration value="EstimatedGrossWeight"/>
-            <xsd:enumeration value="EstimatedVolume"/>
-            <xsd:enumeration value="VesselOverallLength"/>
-            <xsd:enumeration value="LoadingMeters"/>
-            <xsd:enumeration value="NumberOfAxles"/>
-            <xsd:enumeration value="Payload"/>
-            <xsd:enumeration value="StartPositionInTheLength"/>
-            <xsd:enumeration value="EndPositionInTheLength"/>
-            <xsd:enumeration value="StartPositionInTheWidth"/>
-            <xsd:enumeration value="EndPositionInTheWidth"/>
-            <xsd:enumeration value="StartPositionInTheThickness"/>
-            <xsd:enumeration value="EndPositionInTheThickness"/>
-            <xsd:enumeration value="TransportContainerActualFillingWeight"/>
-            <xsd:enumeration value="TransportContainerMaximumCapacity"/>
-            <xsd:enumeration value="DeclaredNetWeight"/>
-            <xsd:enumeration value="LoadingHeight"/>
-            <xsd:enumeration value="StackingHeight"/>
-            <xsd:enumeration value="CalculatedWeight"/>
-            <xsd:enumeration value="Ferrite"/>
-            <xsd:enumeration value="Impurity"/>
-            <xsd:enumeration value="GrainSize"/>
-            <xsd:enumeration value="Lanthanides"/>
-            <xsd:enumeration value="Elasticity"/>
-            <xsd:enumeration value="DrainedWeight"/>
-            <xsd:enumeration value="Gallium"/>
-            <xsd:enumeration value="Strontium"/>
-            <xsd:enumeration value="EquipmentStorageLimitation"/>
-            <xsd:enumeration value="RadioactiveIndexOfTransport"/>
-            <xsd:enumeration value="Radioactivity"/>
-            <xsd:enumeration value="AverageGrossWeight"/>
-            <xsd:enumeration value="ForwardDraft"/>
-            <xsd:enumeration value="AfterDraft"/>
-            <xsd:enumeration value="TransportEquipmentGrossWeight"/>
-            <xsd:enumeration value="TotalTransportEquipmentGrossWeight"/>
-            <xsd:enumeration value="AcidityOfJuice"/>
-            <xsd:enumeration value="Penetrometry"/>
-            <xsd:enumeration value="Durofel"/>
-            <xsd:enumeration value="JuiceWeightPer100Grams"/>
-            <xsd:enumeration value="FruitSkinColour"/>
-            <xsd:enumeration value="AngleOfBend"/>
-            <xsd:enumeration value="FixedIncrementalMeasurement"/>
-            <xsd:enumeration value="DurofelD10"/>
-            <xsd:enumeration value="DurofelD25"/>
-            <xsd:enumeration value="DurofelD50"/>
-            <xsd:enumeration value="MaximumStackingWeight"/>
-            <xsd:enumeration value="GrossMeasureCube"/>
-            <xsd:enumeration value="PercentageFatContentInDryMatter"/>
-            <xsd:enumeration value="SaccharometricContent"/>
-            <xsd:enumeration value="HydrateContentOfAnAlcoholicProductAfterBottling"/>
-            <xsd:enumeration value="AnhydrousContent"/>
-            <xsd:enumeration value="CertifiedWeight"/>
-            <xsd:enumeration value="BilledWeight"/>
-            <xsd:enumeration value="BreakingLoad"/>
-            <xsd:enumeration value="Platinum"/>
-            <xsd:enumeration value="Silver"/>
-            <xsd:enumeration value="List"/>
-            <xsd:enumeration value="Trim"/>
-            <xsd:enumeration value="FreeWater"/>
-            <xsd:enumeration value="Bands"/>
-            <xsd:enumeration value="AmericanPetroleumInstituteGravity"/>
-            <xsd:enumeration value="PetroleumGrossObservedVolume"/>
-            <xsd:enumeration value="PetroleumGrossStandardVolume"/>
-            <xsd:enumeration value="VolumeVariance"/>
-            <xsd:enumeration value="PetroleumNetStandardVolume"/>
-            <xsd:enumeration value="MaterialOn-BoardQuantity-AfterDischarge"/>
-            <xsd:enumeration value="PetroleumTotalCalculatedVolume"/>
-            <xsd:enumeration value="PetroleumTotalObservedVolume"/>
-            <xsd:enumeration value="InnageGaugeDistance"/>
-            <xsd:enumeration value="PetroleumNetStandardWeight"/>
-            <xsd:enumeration value="SedimentAndWaterInPetroleum"/>
-            <xsd:enumeration value="ObservedReferenceHeight-Tank"/>
-            <xsd:enumeration value="ReferenceHeight-Tank"/>
-            <xsd:enumeration value="UllageGaugeDistance"/>
-            <xsd:enumeration value="TrimCorrection"/>
-            <xsd:enumeration value="BowToBridgeDistance"/>
-            <xsd:enumeration value="Brightness"/>
-            <xsd:enumeration value="Brakes"/>
-            <xsd:enumeration value="Break"/>
-            <xsd:enumeration value="BreakingStrength"/>
-            <xsd:enumeration value="BreakingStrengthWet"/>
-            <xsd:enumeration value="BasisWeight"/>
-            <xsd:enumeration value="Change"/>
-            <xsd:enumeration value="Colour"/>
-            <xsd:enumeration value="ContentsOfPackage"/>
-            <xsd:enumeration value="CommercialWeight"/>
-            <xsd:enumeration value="CoreLength"/>
-            <xsd:enumeration value="DestinationWeightAgreement"/>
-            <xsd:enumeration value="Diameter"/>
-            <xsd:enumeration value="DeltaValueL"/>
-            <xsd:enumeration value="Density"/>
-            <xsd:enumeration value="Depth"/>
-            <xsd:enumeration value="Denier"/>
-            <xsd:enumeration value="DistanceBetweenPoints"/>
-            <xsd:enumeration value="Width-BoxcarDoor"/>
-            <xsd:enumeration value="EstimatedNewWeight"/>
-            <xsd:enumeration value="Elongation"/>
-            <xsd:enumeration value="DeficitWeight"/>
-            <xsd:enumeration value="FilamentCount"/>
-            <xsd:enumeration value="LongitudinalFlatness"/>
-            <xsd:enumeration value="Flatness"/>
-            <xsd:enumeration value="TransverseFlatness"/>
-            <xsd:enumeration value="GrossWeight"/>
-            <xsd:enumeration value="Gauge"/>
-            <xsd:enumeration value="GrossWeight-Maximum"/>
-            <xsd:enumeration value="Hardness"/>
-            <xsd:enumeration value="Height-Maximum"/>
-            <xsd:enumeration value="HeightDimension"/>
-            <xsd:enumeration value="ImpactEnergy"/>
-            <xsd:enumeration value="InsideDiameter"/>
-            <xsd:enumeration value="LegalWeight"/>
-            <xsd:enumeration value="Length-Maximum"/>
-            <xsd:enumeration value="LengthDimension"/>
-            <xsd:enumeration value="LostEnd"/>
-            <xsd:enumeration value="MinimumWeight"/>
-            <xsd:enumeration value="Moisture"/>
-            <xsd:enumeration value="MaximumWeight"/>
-            <xsd:enumeration value="ActualNetWeight"/>
-            <xsd:enumeration value="OutsideDiameter"/>
-            <xsd:enumeration value="PreStretch"/>
-            <xsd:enumeration value="PerTonne"/>
-            <xsd:enumeration value="RelativeHumidity"/>
-            <xsd:enumeration value="Resistivity"/>
-            <xsd:enumeration value="RockwellC"/>
-            <xsd:enumeration value="ReamWeight"/>
-            <xsd:enumeration value="ReductionOfArea"/>
-            <xsd:enumeration value="Run-Process"/>
-            <xsd:enumeration value="Ratio"/>
-            <xsd:enumeration value="ShippedQuantity"/>
-            <xsd:enumeration value="TareWeight"/>
-            <xsd:enumeration value="Temperature"/>
-            <xsd:enumeration value="Thickness"/>
-            <xsd:enumeration value="TimePeriod"/>
-            <xsd:enumeration value="Time"/>
-            <xsd:enumeration value="WeightPerUnit"/>
-            <xsd:enumeration value="Height-VanDoor"/>
-            <xsd:enumeration value="Width-VanDoor"/>
-            <xsd:enumeration value="WeightPerUnitOfArea"/>
-            <xsd:enumeration value="WidthDimension"/>
-            <xsd:enumeration value="Width-Maximum"/>
-            <xsd:enumeration value="Weight"/>
-            <xsd:enumeration value="WeightPerUnitOfLength"/>
-            <xsd:enumeration value="SideHeight-FlatBedWithRemovableSides"/>
-            <xsd:enumeration value="Teir"/>
-            <xsd:enumeration value="Block"/>
-            <xsd:enumeration value="Squareness"/>
-            <xsd:enumeration value="SpoolSize"/>
-            <xsd:enumeration value="YieldStress"/>
-            <xsd:enumeration value="Aluminium"/>
-            <xsd:enumeration value="Arsenic"/>
-            <xsd:enumeration value="Boron"/>
-            <xsd:enumeration value="Bismuth"/>
-            <xsd:enumeration value="Carbon"/>
-            <xsd:enumeration value="Calcium"/>
-            <xsd:enumeration value="Columbium"/>
-            <xsd:enumeration value="Cerium"/>
-            <xsd:enumeration value="Chlorine"/>
-            <xsd:enumeration value="Cobalt"/>
-            <xsd:enumeration value="Chromium"/>
-            <xsd:enumeration value="Copper"/>
-            <xsd:enumeration value="Iron"/>
-            <xsd:enumeration value="IronPlusSilicon"/>
-            <xsd:enumeration value="Germanium"/>
-            <xsd:enumeration value="Hydrogen"/>
-            <xsd:enumeration value="Potassium"/>
-            <xsd:enumeration value="Magnesium"/>
-            <xsd:enumeration value="Manganese"/>
-            <xsd:enumeration value="Molybdenum"/>
-            <xsd:enumeration value="Nitrogen"/>
-            <xsd:enumeration value="Sodium"/>
-            <xsd:enumeration value="Niobium"/>
-            <xsd:enumeration value="Nickel"/>
-            <xsd:enumeration value="Oxygen"/>
-            <xsd:enumeration value="Phosphorus"/>
-            <xsd:enumeration value="Lead"/>
-            <xsd:enumeration value="Sulphur"/>
-            <xsd:enumeration value="Antimony"/>
-            <xsd:enumeration value="Selenium"/>
-            <xsd:enumeration value="Silicon"/>
-            <xsd:enumeration value="SiliciumOxyd"/>
-            <xsd:enumeration value="Tin"/>
-            <xsd:enumeration value="Tantalium"/>
-            <xsd:enumeration value="Tellurium"/>
-            <xsd:enumeration value="Titanium"/>
-            <xsd:enumeration value="Vanadium"/>
-            <xsd:enumeration value="Tungsten"/>
-            <xsd:enumeration value="WasteContent"/>
-            <xsd:enumeration value="Zinc"/>
-            <xsd:enumeration value="Zirconium"/>
-            <xsd:enumeration value="StorageTemperature"/>
-            <xsd:enumeration value="TransportTemperature"/>
-            <xsd:enumeration value="CargoOperatingTemperature"/>
-            <xsd:enumeration value="TransportEmergencyTemperature"/>
-            <xsd:enumeration value="TransportControlTemperature"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfSealInfo">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="SealInfo"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfSealInfo" type="ListOfSealInfo"/>
-    <xsd:complexType name="SealInfo">
-        <xsd:sequence>
-            <xsd:element name="SealNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="SealIssuer"/>
-            <xsd:element minOccurs="0" ref="SealStatusDescription"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="SealInfo" type="SealInfo"/>
-    <xsd:complexType name="SealIssuer">
-        <xsd:sequence>
-            <xsd:element name="SealIssuerCoded" type="SealIssuerCode"/>
-            <xsd:element minOccurs="0" name="SealIssuerCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="SealIssuer" type="SealIssuer"/>
-    <xsd:simpleType name="SealIssuerCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Consolidator"/>
-            <xsd:enumeration value="Unknown"/>
-            <xsd:enumeration value="QuarantineAgency"/>
-            <xsd:enumeration value="Carrier"/>
-            <xsd:enumeration value="Customs"/>
-            <xsd:enumeration value="Shipper"/>
-            <xsd:enumeration value="TerminalOperator"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="SealStatusDescription">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="SealStatusCoded" type="SealStatusCode"/>
-            <xsd:element minOccurs="0" name="SealStatusCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SealStatusInfo" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="SealStatusDescription" type="SealStatusDescription"/>
-    <xsd:simpleType name="SealStatusCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Broken"/>
-            <xsd:enumeration value="Damaged"/>
-            <xsd:enumeration value="InRightCondition"/>
-            <xsd:enumeration value="Missing"/>
-            <xsd:enumeration value="Replaced"/>
-            <xsd:enumeration value="TheElectronicSealIsFaulty"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="TransitDirection">
-        <xsd:sequence>
-            <xsd:element name="TransitDirectionCoded" type="TransitDirectionCode"/>
-            <xsd:element minOccurs="0" name="TransitDirectionCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TransitTimeQualifierCoded" type="TransitTimeQualifierCode"/>
-            <xsd:element minOccurs="0" name="TransitTimeQualifierCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TransitTime" type="xsd:decimal"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TransitDirection" type="TransitDirection"/>
-    <xsd:simpleType name="TransitDirectionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="BuyerToSeller"/>
-            <xsd:enumeration value="SellerToBuyer"/>
-            <xsd:enumeration value="SubcontractorToSeller"/>
-            <xsd:enumeration value="SellerToDropShipDesignatedLocation"/>
-            <xsd:enumeration value="SellerToFreightForwarder"/>
-            <xsd:enumeration value="SellerToSubcontractor"/>
-            <xsd:enumeration value="MotherVesselToLighter"/>
-            <xsd:enumeration value="LighterToMotherVessel"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TransitTimeQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AirHours"/>
-            <xsd:enumeration value="AirDays"/>
-            <xsd:enumeration value="CalendarDays"/>
-            <xsd:enumeration value="CalendarWeeks"/>
-            <xsd:enumeration value="Hours"/>
-            <xsd:enumeration value="SurfaceDays"/>
-            <xsd:enumeration value="SurfaceHours"/>
-            <xsd:enumeration value="WorkingDays"/>
-            <xsd:enumeration value="5DayWorkWeek"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="TermsOfDelivery">
-        <xsd:sequence>
-            <xsd:element name="TermsOfDeliveryFunctionCoded" type="TermsOfDeliveryFunctionCode"/>
-            <xsd:element minOccurs="0" name="TermsOfDeliveryFunctionCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TransportTermsCoded" type="TransportTermsCode"/>
-            <xsd:element minOccurs="0" name="TransportTermsCodedOther" type="xsd:string"/>
-            <xsd:element name="ShipmentMethodOfPaymentCoded" type="ShipmentMethodOfPaymentCode"/>
-            <xsd:element minOccurs="0" name="ShipmentMethodOfPaymentCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Location"/>
-            <xsd:element minOccurs="0" name="TermsOfDeliveryDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TransportDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="RiskOfLossCoded" type="RiskOfLossCode"/>
-            <xsd:element minOccurs="0" name="RiskOfLossCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="RiskOfLossDescription" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TermsOfDelivery" type="TermsOfDelivery"/>
-    <xsd:simpleType name="TermsOfDeliveryFunctionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="PriceCondition"/>
-            <xsd:enumeration value="DespatchCondition"/>
-            <xsd:enumeration value="PriceandDespatchCondition"/>
-            <xsd:enumeration value="CollectedByCustomer"/>
-            <xsd:enumeration value="TransportCondition"/>
-            <xsd:enumeration value="DeliveryCondition"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TransportTermsCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Ex-Works"/>
-            <xsd:enumeration value="Free-Carrier"/>
-            <xsd:enumeration value="FreeAlongsideShip"/>
-            <xsd:enumeration value="FreeOnBoard"/>
-            <xsd:enumeration value="CostAndFreight"/>
-            <xsd:enumeration value="Cost-InsuranceAndFreight"/>
-            <xsd:enumeration value="CarriagePaidTo"/>
-            <xsd:enumeration value="Carriage-InsurancePaidTo"/>
-            <xsd:enumeration value="DeliveredAtFrontier"/>
-            <xsd:enumeration value="DeliveredEx-Ship"/>
-            <xsd:enumeration value="DeliveredEx-Quay"/>
-            <xsd:enumeration value="DeliveredDutyUnpaid"/>
-            <xsd:enumeration value="DeliveredDutyPaid"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="ShipmentMethodOfPaymentCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Account"/>
-            <xsd:enumeration value="AdvanceCollect"/>
-            <xsd:enumeration value="AdvancePrepaid"/>
-            <xsd:enumeration value="CashOnDeliveryServiceChargePaidByConsignee"/>
-            <xsd:enumeration value="CashOnDeliveryServiceChargePaidByConsignor"/>
-            <xsd:enumeration value="Collect"/>
-            <xsd:enumeration value="CollectFreightCreditedToPaymentCustomer"/>
-            <xsd:enumeration value="CollectOnDelivery"/>
-            <xsd:enumeration value="CustomerPick-UpOrBackhaul"/>
-            <xsd:enumeration value="DefinedByBuyerAndSeller"/>
-            <xsd:enumeration value="FobPortOfCall"/>
-            <xsd:enumeration value="HalfPrepaid"/>
-            <xsd:enumeration value="InformationCopy-NoPaymentDue"/>
-            <xsd:enumeration value="InsuranceCostsPaidByConsignee"/>
-            <xsd:enumeration value="InsuranceCostsPaidByConsignor"/>
-            <xsd:enumeration value="Mixed"/>
-            <xsd:enumeration value="NonRevenue"/>
-            <xsd:enumeration value="NotSpecified"/>
-            <xsd:enumeration value="PaidByBuyer"/>
-            <xsd:enumeration value="PaidBySupplierOrSeller"/>
-            <xsd:enumeration value="PayableElsewhere"/>
-            <xsd:enumeration value="PerContract"/>
-            <xsd:enumeration value="Pickup"/>
-            <xsd:enumeration value="PrepaidAndSummaryBill"/>
-            <xsd:enumeration value="PrepaidButChargedToCustomer"/>
-            <xsd:enumeration value="PrepaidByProcessor"/>
-            <xsd:enumeration value="Prepaid-BySeller"/>
-            <xsd:enumeration value="PrepaidLocalCollectOutstate"/>
-            <xsd:enumeration value="PrepaidOnly"/>
-            <xsd:enumeration value="ReturnContainerFreightFree"/>
-            <xsd:enumeration value="ReturnContainerFreightPaidByCustomer"/>
-            <xsd:enumeration value="ReturnContainerFreightPaidBySupplier"/>
-            <xsd:enumeration value="Rule11Shipment"/>
-            <xsd:enumeration value="ServiceFreight-NoCharge"/>
-            <xsd:enumeration value="ThirdPartyPay"/>
-            <xsd:enumeration value="WeightCondition"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="RiskOfLossCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="RiskOfLossInTransitToDestinationIsBuyers"/>
-            <xsd:enumeration value="RiskOfLossInTransitToFreightEqualizationPointIsSellers"/>
-            <xsd:enumeration value="RiskOfLossInTransitToPoolPointIsSellers"/>
-            <xsd:enumeration value="RiskOfLossInTransitToDestinationIsSellers"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfPrice">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Price"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfPrice" type="ListOfPrice"/>
-    <xsd:complexType name="Price">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" ref="PricingType"/>
-            <xsd:element ref="UnitPrice"/>
-            <xsd:element minOccurs="0" name="PriceBasisQuantity">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="CalculatedPriceBasisQuantity">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ValidityDates"/>
-            <xsd:element minOccurs="0" name="PriceQuantityRange">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="PriceMultiplier"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Price" type="Price"/>
-    <xsd:complexType name="PricingType">
-        <xsd:sequence>
-            <xsd:element name="PriceTypeCoded" type="PriceTypeCode"/>
-            <xsd:element minOccurs="0" name="PriceTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PricingType" type="PricingType"/>
-    <xsd:simpleType name="PriceTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="CancellationPrice"/>
-            <xsd:enumeration value="PerTon"/>
-            <xsd:enumeration value="MinimumOrderPrice"/>
-            <xsd:enumeration value="ExportPrice"/>
-            <xsd:enumeration value="RangeDependentPrice"/>
-            <xsd:enumeration value="ActiveIngredient"/>
-            <xsd:enumeration value="AsIsQuantity"/>
-            <xsd:enumeration value="CalculationNet"/>
-            <xsd:enumeration value="CalculationGross"/>
-            <xsd:enumeration value="TaxIncludedAllowancesAndChargesNotIncluded"/>
-            <xsd:enumeration value="Actual"/>
-            <xsd:enumeration value="AverageSellingPrice"/>
-            <xsd:enumeration value="InformationPriceTaxIncludedExcludingAllowancesOrCharges"/>
-            <xsd:enumeration value="InformationPriceExcludingAllowancesOrChargesAndTaxes"/>
-            <xsd:enumeration value="AdditiveUnitPriceComponent"/>
-            <xsd:enumeration value="AverageGenericProductPrice"/>
-            <xsd:enumeration value="AlternatePrice"/>
-            <xsd:enumeration value="AverageWholesalePrice"/>
-            <xsd:enumeration value="BaseCharge"/>
-            <xsd:enumeration value="ContractTier1"/>
-            <xsd:enumeration value="ContractTier2"/>
-            <xsd:enumeration value="ContractTier3"/>
-            <xsd:enumeration value="ContractTier4"/>
-            <xsd:enumeration value="ContractTier5"/>
-            <xsd:enumeration value="ContractTier6"/>
-            <xsd:enumeration value="ContractTier7"/>
-            <xsd:enumeration value="ContractTier8"/>
-            <xsd:enumeration value="ContractTier9"/>
-            <xsd:enumeration value="ContractTier10"/>
-            <xsd:enumeration value="ContractTier11"/>
-            <xsd:enumeration value="ContractTier12"/>
-            <xsd:enumeration value="ContractTier13"/>
-            <xsd:enumeration value="ContractTier14"/>
-            <xsd:enumeration value="ContractTier15"/>
-            <xsd:enumeration value="ContractTier16"/>
-            <xsd:enumeration value="ContractTier17"/>
-            <xsd:enumeration value="ContractTier18"/>
-            <xsd:enumeration value="ContractTier19"/>
-            <xsd:enumeration value="ContractTier20"/>
-            <xsd:enumeration value="ContractTier21"/>
-            <xsd:enumeration value="ContractTier22"/>
-            <xsd:enumeration value="ContractTier23"/>
-            <xsd:enumeration value="ContractTier24"/>
-            <xsd:enumeration value="ContractTier25"/>
-            <xsd:enumeration value="ContractTier26"/>
-            <xsd:enumeration value="ContractTier27"/>
-            <xsd:enumeration value="ContractTier28"/>
-            <xsd:enumeration value="ContractTier29"/>
-            <xsd:enumeration value="ContractTier30"/>
-            <xsd:enumeration value="CalculationPrice"/>
-            <xsd:enumeration value="CatalogPrice"/>
-            <xsd:enumeration value="CentralDistributionFacility"/>
-            <xsd:enumeration value="CurrentDomesticValue"/>
-            <xsd:enumeration value="ChangedPrice"/>
-            <xsd:enumeration value="ContractPrice"/>
-            <xsd:enumeration value="ConsumerUnit"/>
-            <xsd:enumeration value="ConfirmedUnitPrice"/>
-            <xsd:enumeration value="DeclaredCustomsUnitValue"/>
-            <xsd:enumeration value="DealerAdjustedPrice"/>
-            <xsd:enumeration value="DistributorsPrice"/>
-            <xsd:enumeration value="DiscountPrice"/>
-            <xsd:enumeration value="DiscountAmountAllowed"/>
-            <xsd:enumeration value="DirectStoreDelivery"/>
-            <xsd:enumeration value="DirectShipProgramPrice"/>
-            <xsd:enumeration value="EcscPrice"/>
-            <xsd:enumeration value="EmergencyDirectShipPriceOriginalEquipmentManufacturer"/>
-            <xsd:enumeration value="EmergencyDirectShipPrice"/>
-            <xsd:enumeration value="EmergencyDirectShipPriceSupplier"/>
-            <xsd:enumeration value="EmergencyDirectShipPriceWarehouse"/>
-            <xsd:enumeration value="EstimatedPrice"/>
-            <xsd:enumeration value="ExpectedUnitPrice"/>
-            <xsd:enumeration value="FlatCharge"/>
-            <xsd:enumeration value="FrequentDeliveryService"/>
-            <xsd:enumeration value="FederalExciseTax"/>
-            <xsd:enumeration value="FreeGoodsPrice"/>
-            <xsd:enumeration value="FederalUpperLimitPriceMaximumAllowableCostPricingForDrugs"/>
-            <xsd:enumeration value="FirmPriceDoNotAdvise"/>
-            <xsd:enumeration value="GovernmentPrice"/>
-            <xsd:enumeration value="UnitPriceThroughQuantity"/>
-            <xsd:enumeration value="IndustrialPrice"/>
-            <xsd:enumeration value="InformationPrice"/>
-            <xsd:enumeration value="InstitutionalPrice"/>
-            <xsd:enumeration value="InvoiceBillingPrice"/>
-            <xsd:enumeration value="ListPrice"/>
-            <xsd:enumeration value="MandatoryToAdviseUnitPrice"/>
-            <xsd:enumeration value="MinimumActivitySurcharge"/>
-            <xsd:enumeration value="MaximumOrderQuantityPrice"/>
-            <xsd:enumeration value="MinimumOrderQuantityPrice"/>
-            <xsd:enumeration value="MinimumCharge"/>
-            <xsd:enumeration value="MinimumReleaseQuantityPrice"/>
-            <xsd:enumeration value="MaximumPriceReduction"/>
-            <xsd:enumeration value="ManufacturersSuggestedRetail"/>
-            <xsd:enumeration value="MaximumReleaseQuantityPrice"/>
-            <xsd:enumeration value="NoncontractTier1"/>
-            <xsd:enumeration value="NoncontractTier2"/>
-            <xsd:enumeration value="NoncontractTier3"/>
-            <xsd:enumeration value="NoncontractTier4"/>
-            <xsd:enumeration value="NoncontractTier5"/>
-            <xsd:enumeration value="NoncontractTier6"/>
-            <xsd:enumeration value="NoncontractTier7"/>
-            <xsd:enumeration value="NoncontractTier8"/>
-            <xsd:enumeration value="NoncontractTier9"/>
-            <xsd:enumeration value="NoncontractTier10"/>
-            <xsd:enumeration value="NoncontractTier11"/>
-            <xsd:enumeration value="NoncontractTier12"/>
-            <xsd:enumeration value="NoncontractTier13"/>
-            <xsd:enumeration value="NoncontractTier14"/>
-            <xsd:enumeration value="NoncontractTier15"/>
-            <xsd:enumeration value="NoncontractTier16"/>
-            <xsd:enumeration value="NoncontractTier17"/>
-            <xsd:enumeration value="NoncontractTier18"/>
-            <xsd:enumeration value="NoncontractTier19"/>
-            <xsd:enumeration value="NoncontractTier20"/>
-            <xsd:enumeration value="NoncontractTier21"/>
-            <xsd:enumeration value="NoncontractTier22"/>
-            <xsd:enumeration value="NoncontractTier23"/>
-            <xsd:enumeration value="NoncontractTier24"/>
-            <xsd:enumeration value="NoncontractTier25"/>
-            <xsd:enumeration value="NoncontractTier26"/>
-            <xsd:enumeration value="NoncontractTier27"/>
-            <xsd:enumeration value="NoncontractTier28"/>
-            <xsd:enumeration value="NoncontractTier29"/>
-            <xsd:enumeration value="NoncontractTier30"/>
-            <xsd:enumeration value="NetItemPrice"/>
-            <xsd:enumeration value="NetWeight"/>
-            <xsd:enumeration value="OptionalToAdviseUnitPrice"/>
-            <xsd:enumeration value="OriginalPurchaseOrderPrice"/>
-            <xsd:enumeration value="PriceBreakQuantity"/>
-            <xsd:enumeration value="UnitPriceBeginningQuantity"/>
-            <xsd:enumeration value="PriceBreakPurchaseOrderCount"/>
-            <xsd:enumeration value="PriceCatalogue"/>
-            <xsd:enumeration value="PerEach"/>
-            <xsd:enumeration value="PriceInEffectAtTimeOfShipment"/>
-            <xsd:enumeration value="PerKilogram"/>
-            <xsd:enumeration value="PerLiter"/>
-            <xsd:enumeration value="PrepaidFreightCharges"/>
-            <xsd:enumeration value="ProfessionalPrice"/>
-            <xsd:enumeration value="ProducersPrice"/>
-            <xsd:enumeration value="PromotionalPrice"/>
-            <xsd:enumeration value="PerTonne"/>
-            <xsd:enumeration value="SpecifiedUnit"/>
-            <xsd:enumeration value="ProvisionalPrice"/>
-            <xsd:enumeration value="GrossWeight"/>
-            <xsd:enumeration value="Purchase"/>
-            <xsd:enumeration value="QuotePrice"/>
-            <xsd:enumeration value="Resale"/>
-            <xsd:enumeration value="Retail"/>
-            <xsd:enumeration value="SuggestedDealerNetPrice"/>
-            <xsd:enumeration value="SuggestedFleetPrice"/>
-            <xsd:enumeration value="ShipAndDebit"/>
-            <xsd:enumeration value="SuggestedListPrice"/>
-            <xsd:enumeration value="SpecialPrice"/>
-            <xsd:enumeration value="SinglePriceFactorsEqualized"/>
-            <xsd:enumeration value="SuggestedRetail"/>
-            <xsd:enumeration value="StandardPrice"/>
-            <xsd:enumeration value="SumOfLineItems"/>
-            <xsd:enumeration value="SuggestedWholesalePrice"/>
-            <xsd:enumeration value="ToBeNegotiated"/>
-            <xsd:enumeration value="ThresholdPrice"/>
-            <xsd:enumeration value="TotalInvoiceAmountDue"/>
-            <xsd:enumeration value="Transfer"/>
-            <xsd:enumeration value="TradedUnit"/>
-            <xsd:enumeration value="TheoreticalWeight"/>
-            <xsd:enumeration value="UnitCostPrice"/>
-            <xsd:enumeration value="Wholesale"/>
-            <xsd:enumeration value="ZonePrice"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="UnitPrice">
-        <xsd:sequence>
-            <xsd:element name="UnitPriceValue" type="Decimal21_6"/>
-            <xsd:element minOccurs="0" ref="Currency"/>
-            <xsd:element minOccurs="0" ref="UnitOfMeasurement"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="UnitPrice" type="UnitPrice"/>
-    <xsd:complexType name="Quantity">
-        <xsd:sequence>
-            <xsd:choice>
-                <xsd:element ref="QuantityValue"/>
-                <xsd:element ref="QuantityRange"/>
-            </xsd:choice>
-            <xsd:element ref="UnitOfMeasurement"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Quantity" type="Quantity"/>
-    <xsd:complexType name="QuantityValue">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:decimal">
-                <xsd:attribute name="SignificanceCoded" type="SignificanceCode" use="optional"/>
-                <xsd:attribute name="SignificanceCodedOther" type="xsd:string" use="optional"/>
-                <xsd:attribute name="ConditionsCoded" type="ConditionsCode" use="optional"/>
-                <xsd:attribute name="ConditionsCodedOther" type="xsd:string" use="optional"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="QuantityValue" type="QuantityValue"/>
-    <xsd:complexType name="QuantityRange">
-        <xsd:sequence>
-            <xsd:element ref="MinimumValue"/>
-            <xsd:element ref="MaximumValue"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="QuantityRange" type="QuantityRange"/>
-    <xsd:complexType name="PriceMultiplier">
-        <xsd:sequence>
-            <xsd:element name="PriceMultiplierCoded" type="PriceMultiplierCode"/>
-            <xsd:element minOccurs="0" name="PriceMultiplierCodedOther" type="xsd:string"/>
-            <xsd:element name="Multiplier" type="xsd:decimal"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PriceMultiplier" type="PriceMultiplier"/>
-    <xsd:simpleType name="PriceMultiplierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="CostMarkupMultiplier-OriginalCost"/>
-            <xsd:enumeration value="CostMarkupMultiplier-RetailCost"/>
-            <xsd:enumeration value="DiscountMultiplier"/>
-            <xsd:enumeration value="CostMarkupMultiplier-WholesaleCost"/>
-            <xsd:enumeration value="PercentSolutionMultiplier"/>
-            <xsd:enumeration value="SellingMultiplier"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="PaymentInstructions">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="PaymentTerms"/>
-            <xsd:element maxOccurs="unbounded" ref="PaymentMethod"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PaymentInstructions" type="PaymentInstructions"/>
-    <xsd:complexType name="PaymentTerms">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="PaymentTerm"/>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" ref="Discounts"/>
-            <xsd:element minOccurs="0" name="PaymentTermsNote" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PaymentTerms" type="PaymentTerms"/>
-    <xsd:complexType name="PaymentTerm">
-        <xsd:sequence>
-            <xsd:element name="PaymentTermCoded" type="PaymentTermCode"/>
-            <xsd:element minOccurs="0" name="PaymentTermCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="PaymentTermValue" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="PaymentTermDetails">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Discounts"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PaymentTerm" type="PaymentTerm"/>
-    <xsd:simpleType name="PaymentTermCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="10DaysAfterEndOfMonth"/>
-            <xsd:enumeration value="AdjustmentPayment"/>
-            <xsd:enumeration value="AdvancedPayment"/>
-            <xsd:enumeration value="Anticipation"/>
-            <xsd:enumeration value="AvailableByAcceptance"/>
-            <xsd:enumeration value="AvailableByDeferredPayment"/>
-            <xsd:enumeration value="AvailableByNegotiation"/>
-            <xsd:enumeration value="AvailableByNegotiationByNamedBank"/>
-            <xsd:enumeration value="AvailableByNegotiationWithAnyBank"/>
-            <xsd:enumeration value="AvailableByNegotiationWithAnyBankin"/>
-            <xsd:enumeration value="AvailableBySightPayment"/>
-            <xsd:enumeration value="BankTransfer"/>
-            <xsd:enumeration value="Basic"/>
-            <xsd:enumeration value="BasicCommissionTerms"/>
-            <xsd:enumeration value="BasicDiscountOffered"/>
-            <xsd:enumeration value="BillOfExchange"/>
-            <xsd:enumeration value="BillToBill"/>
-            <xsd:enumeration value="CancellationOption"/>
-            <xsd:enumeration value="Cash"/>
-            <xsd:enumeration value="CashAccount"/>
-            <xsd:enumeration value="CashAgainstDocuments"/>
-            <xsd:enumeration value="CashByStateLaw"/>
-            <xsd:enumeration value="CashDiscountTermsApply"/>
-            <xsd:enumeration value="CashonAdvance"/>
-            <xsd:enumeration value="CashonArrival"/>
-            <xsd:enumeration value="CashOnDelivery"/>
-            <xsd:enumeration value="CashPerVendorRequest"/>
-            <xsd:enumeration value="CashWithOrder"/>
-            <xsd:enumeration value="CertifiedCheck"/>
-            <xsd:enumeration value="ChargeCard"/>
-            <xsd:enumeration value="CompletePayment"/>
-            <xsd:enumeration value="Consignment"/>
-            <xsd:enumeration value="ContractBasis"/>
-            <xsd:enumeration value="CostPlus"/>
-            <xsd:enumeration value="CreditControlled"/>
-            <xsd:enumeration value="DatingGiven"/>
-            <xsd:enumeration value="DeferredOrInstallment"/>
-            <xsd:enumeration value="DepositRequired"/>
-            <xsd:enumeration value="Discount"/>
-            <xsd:enumeration value="DiscountNotApplicable"/>
-            <xsd:enumeration value="DiscountWithAdvancePayment"/>
-            <xsd:enumeration value="DiscountWithPromptPay"/>
-            <xsd:enumeration value="DocumentsAgainstAcceptance"/>
-            <xsd:enumeration value="DocumentsAgainstPayment"/>
-            <xsd:enumeration value="Elective"/>
-            <xsd:enumeration value="EndOfMonth"/>
-            <xsd:enumeration value="Extended"/>
-            <xsd:enumeration value="FastPay"/>
-            <xsd:enumeration value="FixedDate"/>
-            <xsd:enumeration value="FixedDateLatePaymentPenaltyApplies"/>
-            <xsd:enumeration value="FixedFee"/>
-            <xsd:enumeration value="InstallmentPaymentsAreDueAnnually"/>
-            <xsd:enumeration value="InstallmentPaymentsAreDueMonthly"/>
-            <xsd:enumeration value="InstallmentPaymentsAreDueQuarterly"/>
-            <xsd:enumeration value="InstallmentPaymentsAreDueSemiAnnually"/>
-            <xsd:enumeration value="Instant"/>
-            <xsd:enumeration value="InterCompanyAccount"/>
-            <xsd:enumeration value="IrrevocableLetterOfCredit"/>
-            <xsd:enumeration value="LatePayment"/>
-            <xsd:enumeration value="LeaseAgreement"/>
-            <xsd:enumeration value="LetterOfCredit"/>
-            <xsd:enumeration value="LetterOfCreditAtSight"/>
-            <xsd:enumeration value="Liquidation"/>
-            <xsd:enumeration value="LumpSum"/>
-            <xsd:enumeration value="Mixed"/>
-            <xsd:enumeration value="NetMonthFollowingInvoice"/>
-            <xsd:enumeration value="NoCharge"/>
-            <xsd:enumeration value="NonStandard"/>
-            <xsd:enumeration value="NotYetDefined"/>
-            <xsd:enumeration value="PaidAgainstStatement"/>
-            <xsd:enumeration value="PartialAdvance"/>
-            <xsd:enumeration value="PaymentByInstalment"/>
-            <xsd:enumeration value="PaymentByinstalmentsAccordingToProgressAA"/>
-            <xsd:enumeration value="PaymentByInstalmentsAccordingToProgressTBA"/>
-            <xsd:enumeration value="PaymentDueUponReceiptOfInvoice"/>
-            <xsd:enumeration value="PaymentOrderThroughBank"/>
-            <xsd:enumeration value="PaymentTermsDefinedInConsolidatedInvoice"/>
-            <xsd:enumeration value="PaymentUponCompletion"/>
-            <xsd:enumeration value="PenaltyTerms"/>
-            <xsd:enumeration value="Prepayment"/>
-            <xsd:enumeration value="PreviouslyAgreedUpon"/>
-            <xsd:enumeration value="ProgressPayment"/>
-            <xsd:enumeration value="PromissoryNotes"/>
-            <xsd:enumeration value="PromptPaymentAct"/>
-            <xsd:enumeration value="Proximo"/>
-            <xsd:enumeration value="SecuredAccount"/>
-            <xsd:enumeration value="SellByNote"/>
-            <xsd:enumeration value="SellerToAdviseBuyer"/>
-            <xsd:enumeration value="SpecialProximo"/>
-            <xsd:enumeration value="SupplierFloorPlan"/>
-            <xsd:enumeration value="TenorPaymentTerms"/>
-            <xsd:enumeration value="TermsNotApplicable"/>
-            <xsd:enumeration value="TradeAcceptance"/>
-            <xsd:enumeration value="Ultimo"/>
-            <xsd:enumeration value="UnitedStatesFundsRequired"/>
-            <xsd:enumeration value="Unknown"/>
-            <xsd:enumeration value="UsanceBill"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Discounts">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="DiscountPercent" type="Decimal10_4"/>
-            <xsd:element minOccurs="0" name="DiscountAmount">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="MonetaryValue"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="DiscountDaysDue" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="DiscountDueDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" name="DiscountDayOfMonth" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="DiscountDateTimeRefCoded" type="DateTimeRefCode"/>
-            <xsd:element minOccurs="0" name="DiscountDateTimeRefCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="NetDaysDue" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="NetDueDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" name="NetDateTimeRefCoded" type="DateTimeRefCode"/>
-            <xsd:element minOccurs="0" name="NetDateTimeRefCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Discounts" type="Discounts"/>
-    <xsd:complexType name="MonetaryValue">
-        <xsd:sequence>
-            <xsd:element name="MonetaryAmount" type="Decimal21_6"/>
-            <xsd:element minOccurs="0" ref="Currency"/>
-            <xsd:element minOccurs="0" ref="RateOfExchangeDetail"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="MonetaryValue" type="MonetaryValue"/>
-    <xsd:complexType name="RateOfExchangeDetail">
-        <xsd:sequence>
-            <xsd:element name="ReferenceCurrency">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Currency"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="TargetCurrency">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Currency"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="RateOfExchange" type="Decimal19_9"/>
-            <xsd:element minOccurs="0" name="InverseRateOfExchange" type="Decimal19_9"/>
-            <xsd:element minOccurs="0" name="DateOfRateOfExchange" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" name="ListOfRateOfExchangeReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfReference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="RateOfExchangeDetail" type="RateOfExchangeDetail"/>
-    <xsd:simpleType name="Decimal19_9">
-        <xsd:restriction base="xsd:decimal">
-            <xsd:totalDigits value="19"/>
-            <xsd:fractionDigits value="9"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfReference">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Reference"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfReference" type="ListOfReference"/>
-    <xsd:simpleType name="DateTimeRefCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AnticipatedDeliveryDate"/>
-            <xsd:enumeration value="ApprovalOfGageDate"/>
-            <xsd:enumeration value="ApprovalOfSampleDate"/>
-            <xsd:enumeration value="CompletionAndAcceptanceDate"/>
-            <xsd:enumeration value="CustomsClearanceDateExport"/>
-            <xsd:enumeration value="CustomsClearanceDateImport"/>
-            <xsd:enumeration value="DateCreditNoteReceived"/>
-            <xsd:enumeration value="DateExWorks"/>
-            <xsd:enumeration value="DateGoodsHandedOverForShipmentBySellerOrAgent"/>
-            <xsd:enumeration value="DateGoodsReceivedByBuyer"/>
-            <xsd:enumeration value="DateGoodsReceivedByBuyersAgent"/>
-            <xsd:enumeration value="DateGoodsReceivedByCarrier"/>
-            <xsd:enumeration value="DateInvoiceReceived"/>
-            <xsd:enumeration value="DateOfAcceptanceOfFirstSamplesProducedUnderProductionConditions"/>
-            <xsd:enumeration value="DateOfAcceptanceOfNegotiableInstrument"/>
-            <xsd:enumeration value="DateOfAcceptanceOfTooling"/>
-            <xsd:enumeration value="DateOfArrivalOfTransport"/>
-            <xsd:enumeration value="DateOfBillOfLadingConsignmentNoteOrOtherTransportDocument"/>
-            <xsd:enumeration value="DateOfCertificateOfFinalAcceptance"/>
-            <xsd:enumeration value="DateOfCertificateOfPreliminaryAcceptance"/>
-            <xsd:enumeration value="DateOfConfirmation"/>
-            <xsd:enumeration value="DateOfConfirmationOfOrderReceived"/>
-            <xsd:enumeration value="DateOfContract"/>
-            <xsd:enumeration value="DateOfCreditNote"/>
-            <xsd:enumeration value="DeliveryDate"/>
-            <xsd:enumeration value="DateOfDeliveryOfGoodsToEstablishmentsDomicileSite"/>
-            <xsd:enumeration value="DateOfDeliveryToBuyerOfDocumentsRepresentingGoods"/>
-            <xsd:enumeration value="DateOfDeliveryToBuyersAgentOfDocumentsRepresentingGoods"/>
-            <xsd:enumeration value="DateOfDeliveryToCarrierOfDocumentsRepresentingGoods"/>
-            <xsd:enumeration value="DateOfDeliveryToIntermediaryBankOfDocumentsRepresentingGood"/>
-            <xsd:enumeration value="DateOfEndOfWork"/>
-            <xsd:enumeration value="DateOfFinalAcceptanceOfWork"/>
-            <xsd:enumeration value="DateOfInvoice"/>
-            <xsd:enumeration value="DateOfInwardFrontierCrossing"/>
-            <xsd:enumeration value="DateOfIssueOfTransportDocument"/>
-            <xsd:enumeration value="DateOfNegotiableInstrumentDraftPromissoryNoteBank"/>
-            <xsd:enumeration value="DateOfOrder"/>
-            <xsd:enumeration value="DateOfOutwardFrontierCrossing"/>
-            <xsd:enumeration value="DateOfPresentationOfDocuments"/>
-            <xsd:enumeration value="DateOfPresentationOfNegotiableInstrument"/>
-            <xsd:enumeration value="DateOfPresentDocument"/>
-            <xsd:enumeration value="DateOfProvisionalReceptionOfWork"/>
-            <xsd:enumeration value="DateOfReceiptForLoadingMatesReceipt"/>
-            <xsd:enumeration value="DateOfReceiptOfToolDependentInitialSamplesPlusUnlimitedAbsoluteBankGuaranteePlusValueAddedTax"/>
-            <xsd:enumeration value="DateOfReceiptOfTooling"/>
-            <xsd:enumeration value="DateOfResaleByBuyer"/>
-            <xsd:enumeration value="DateOfSalaryPayment"/>
-            <xsd:enumeration value="ShipDate"/>
-            <xsd:enumeration value="DateOfShipmentAsEvidencedByTheTransportDocument"/>
-            <xsd:enumeration value="DateOfSignatureOfContract"/>
-            <xsd:enumeration value="DateOfStartOfWork"/>
-            <xsd:enumeration value="DatePresentDocumentReceived"/>
-            <xsd:enumeration value="DateProceedsOfResaleCollectedByBuyer"/>
-            <xsd:enumeration value="DraftAtDaysAfterDateOfIssuanceOfTransportDocument"/>
-            <xsd:enumeration value="DraftAtDaysAfterDateOfPresentationOfDocuments"/>
-            <xsd:enumeration value="DraftAtDaysDate"/>
-            <xsd:enumeration value="DraftAtDaysSight"/>
-            <xsd:enumeration value="DueDateOfNegotiableInstrument"/>
-            <xsd:enumeration value="EffectiveDate"/>
-            <xsd:enumeration value="InvoiceDate"/>
-            <xsd:enumeration value="InvoiceReceiptDate"/>
-            <xsd:enumeration value="InvoiceTransmissionDate"/>
-            <xsd:enumeration value="InvoiceVerificationDate"/>
-            <xsd:enumeration value="OtherReferenceDateAgreedUponBetweenTheParties"/>
-            <xsd:enumeration value="PaymentDate"/>
-            <xsd:enumeration value="PaymentDueDate"/>
-            <xsd:enumeration value="PurchaseOrderDate"/>
-            <xsd:enumeration value="QualityApprovalDate"/>
-            <xsd:enumeration value="QuarterStartDate"/>
-            <xsd:enumeration value="ReceiptOfGoods"/>
-            <xsd:enumeration value="RequestedDateOfDelivery"/>
-            <xsd:enumeration value="SpecifiedDate"/>
-            <xsd:enumeration value="SpecifiedDraftDate"/>
-            <xsd:enumeration value="StipulatedDateForAcceptanceOfDocumentaryCredit"/>
-            <xsd:enumeration value="StipulatedDateForNegotiationOfDocumentaryCredit"/>
-            <xsd:enumeration value="StipulatedDateForPaymentOfDocumentaryCredit"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="PaymentMethod">
-        <xsd:sequence>
-            <xsd:element name="PaymentMeanCoded" type="PaymentMeanCode"/>
-            <xsd:element minOccurs="0" name="PaymentMeanCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="PaymentMeanReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Reference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="PaymentSystemCoded" type="PaymentSystemCode"/>
-            <xsd:element minOccurs="0" name="PaymentSystemCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="OriginatingFIAccount">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="FIAccount"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ReceivingFIAccount">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="FIAccount"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="CardInfo"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PaymentMethod" type="PaymentMethod"/>
-    <xsd:simpleType name="PaymentMeanCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="1035Exchange"/>
-            <xsd:enumeration value="AcceptedBillOfExchange"/>
-            <xsd:enumeration value="ACHDemandCashConcentrationOrDisbursementCredit"/>
-            <xsd:enumeration value="ACHDemandCashConcentrationOrDisbursementDebit"/>
-            <xsd:enumeration value="ACHDemandCashConcentrationOrDisbursementPlusCredit"/>
-            <xsd:enumeration value="ACHDemandCashConcentrationOrDisbursementPlusDebit"/>
-            <xsd:enumeration value="ACHDemandCorporateTradeExchangeCredit"/>
-            <xsd:enumeration value="ACHDemandCorporateTradeExchangeDebit"/>
-            <xsd:enumeration value="ACHDemandCorporateTradePaymentCredit"/>
-            <xsd:enumeration value="ACHDemandCorporateTradePaymentDebit"/>
-            <xsd:enumeration value="ACHDemandCredit"/>
-            <xsd:enumeration value="ACHDemandCreditReversal"/>
-            <xsd:enumeration value="ACHDemandDebit"/>
-            <xsd:enumeration value="ACHDemandDebitReversal"/>
-            <xsd:enumeration value="ACHPreArrangedPaymentAndDeposit"/>
-            <xsd:enumeration value="ACHReversal"/>
-            <xsd:enumeration value="ACHSavingsCashConcentrationOrDisbursementCredit"/>
-            <xsd:enumeration value="ACHSavingsCashConcentrationOrDisbursementDebit"/>
-            <xsd:enumeration value="ACHSavingsCashConcentrationOrDisbursementPPDCredit"/>
-            <xsd:enumeration value="ACHSavingsCashConcentrationOrDisbursementPPDDebit"/>
-            <xsd:enumeration value="ACHSavingsCashConcentrationOrDisbursementPPDPlusCredit"/>
-            <xsd:enumeration value="ACHSavingsCashConcentrationOrDisbursementPPDPlusDebit"/>
-            <xsd:enumeration value="ACHSavingsCashConcentrationOrDisbursementPlusCredit"/>
-            <xsd:enumeration value="ACHSavingsCashConcentrationOrDisbursementPlusDebit"/>
-            <xsd:enumeration value="ACHSavingsCorporateTradeExchangeCredit"/>
-            <xsd:enumeration value="ACHSavingsCorporateTradeExchangeDebit"/>
-            <xsd:enumeration value="ACHSavingsCorporateTradePaymentCredit"/>
-            <xsd:enumeration value="ACHSavingsCorporateTradePaymentDebit"/>
-            <xsd:enumeration value="ACHSavingsCredit"/>
-            <xsd:enumeration value="ACHSavingsCreditReversal"/>
-            <xsd:enumeration value="ACHSavingsDebit"/>
-            <xsd:enumeration value="ACHSavingsDebitReversal"/>
-            <xsd:enumeration value="AutomatedClearingHouse"/>
-            <xsd:enumeration value="AutomatedClearingHouseCredit"/>
-            <xsd:enumeration value="AutomatedClearingHouseDebit"/>
-            <xsd:enumeration value="BankCard"/>
-            <xsd:enumeration value="Bankcheque-IssuedByABankingOrSimilarEstablishment"/>
-            <xsd:enumeration value="BankDraft"/>
-            <xsd:enumeration value="BankersDraft"/>
-            <xsd:enumeration value="BillDrawnByCreditorOnThirdPartyAndAcceptedAndEndorsedByABank"/>
-            <xsd:enumeration value="BillDrawnByTheCreditorAndEndorsedByAnotherBank"/>
-            <xsd:enumeration value="BillDrawnByTheCreditorOnABank"/>
-            <xsd:enumeration value="BillDrawnByTheCreditorOnABankAndEndorsedByAThirdParty"/>
-            <xsd:enumeration value="BillDrawnByTheCreditorOnAThirdParty"/>
-            <xsd:enumeration value="BillDrawnByTheCreditorOnTheDebtor"/>
-            <xsd:enumeration value="BillingAccount"/>
-            <xsd:enumeration value="BookEntry"/>
-            <xsd:enumeration value="BookEntryCredit"/>
-            <xsd:enumeration value="BookEntryDebit"/>
-            <xsd:enumeration value="Cash"/>
-            <xsd:enumeration value="CashiersCheck"/>
-            <xsd:enumeration value="Ccd"/>
-            <xsd:enumeration value="CcdPlus"/>
-            <xsd:enumeration value="CertifiedBankersDraft"/>
-            <xsd:enumeration value="CertifiedCheque"/>
-            <xsd:enumeration value="Cheque"/>
-            <xsd:enumeration value="ClearingBetweenPartners"/>
-            <xsd:enumeration value="ClearingHouse"/>
-            <xsd:enumeration value="ClearingHouseInterbankPaymentSystem"/>
-            <xsd:enumeration value="CollectPaymentByCertifiedFunds"/>
-            <xsd:enumeration value="CollectPaymentByCompanyCheck"/>
-            <xsd:enumeration value="CompensationByBalance"/>
-            <xsd:enumeration value="Credit"/>
-            <xsd:enumeration value="CreditAccount"/>
-            <xsd:enumeration value="CreditDebitAccount"/>
-            <xsd:enumeration value="CreditCard"/>
-            <xsd:enumeration value="CreditTransfer"/>
-            <xsd:enumeration value="Ctp"/>
-            <xsd:enumeration value="Ctx"/>
-            <xsd:enumeration value="Debited"/>
-            <xsd:enumeration value="DebitCard"/>
-            <xsd:enumeration value="DebitTransfer"/>
-            <xsd:enumeration value="DeductionFromFilmRental"/>
-            <xsd:enumeration value="DirectDebit"/>
-            <xsd:enumeration value="DirectDeposit"/>
-            <xsd:enumeration value="DirectPayToOthers"/>
-            <xsd:enumeration value="Draft"/>
-            <xsd:enumeration value="EBINAXClearingNetwork"/>
-            <xsd:enumeration value="ElectronicPaymentSystem"/>
-            <xsd:enumeration value="FederalReserveFundsOrWireTransferRepetitive"/>
-            <xsd:enumeration value="FederalReserveFundsOrWireTransferNonRepetitive"/>
-            <xsd:enumeration value="FinancialInstitutionOption"/>
-            <xsd:enumeration value="FreeFormatGiro"/>
-            <xsd:enumeration value="FreightPaymentBank"/>
-            <xsd:enumeration value="Graduated"/>
-            <xsd:enumeration value="Hold"/>
-            <xsd:enumeration value="Home-BankingDebitTransfer"/>
-            <xsd:enumeration value="InCash"/>
-            <xsd:enumeration value="IncomeContingent"/>
-            <xsd:enumeration value="IncomeSensitive"/>
-            <xsd:enumeration value="InKindPayment"/>
-            <xsd:enumeration value="InstrumentNotDefined"/>
-            <xsd:enumeration value="InterBankDebitTransfer"/>
-            <xsd:enumeration value="InvoicedSeparately"/>
-            <xsd:enumeration value="LetterOfCredit"/>
-            <xsd:enumeration value="Level-SumConstant"/>
-            <xsd:enumeration value="LocalCheque"/>
-            <xsd:enumeration value="LockBox"/>
-            <xsd:enumeration value="MoneyOrder"/>
-            <xsd:enumeration value="NationalOrRegionalClearing"/>
-            <xsd:enumeration value="NonPaymentData"/>
-            <xsd:enumeration value="NotTransferableBankersDraft"/>
-            <xsd:enumeration value="NotTransferableLocalCheque"/>
-            <xsd:enumeration value="PayByCheck"/>
-            <xsd:enumeration value="PaymentByPostGiro"/>
-            <xsd:enumeration value="PaymentToBankAccount"/>
-            <xsd:enumeration value="PayrollDeduction"/>
-            <xsd:enumeration value="PetroleumClearinghouseBank"/>
-            <xsd:enumeration value="PPDCreditToDemandDepositAccount"/>
-            <xsd:enumeration value="PPDDebitToDemandDepositAccount"/>
-            <xsd:enumeration value="PPDPlusAddendumCreditToDemandDepositAccount"/>
-            <xsd:enumeration value="PPDPlusAddendumDebitToDemandDepositAccount"/>
-            <xsd:enumeration value="PreauthroizedCheck"/>
-            <xsd:enumeration value="PreviouslyCharged"/>
-            <xsd:enumeration value="PrivateNettingAgreementPayByWireTransfer"/>
-            <xsd:enumeration value="PrivateNettingPayByCheck"/>
-            <xsd:enumeration value="PromissoryNote"/>
-            <xsd:enumeration value="PromissoryNoteSignedByABank"/>
-            <xsd:enumeration value="PromissoryNoteSignedByABankAndEndorsedByAnotherBank"/>
-            <xsd:enumeration value="PromissoryNoteSignedByAThirdParty"/>
-            <xsd:enumeration value="PromissoryNoteSignedByAThirdPartyAndEndorsedByABank"/>
-            <xsd:enumeration value="PromissoryNoteSignedByTheDebtor"/>
-            <xsd:enumeration value="PromissoryNoteSignedByTheDebtorAndEndorsedByAThirdParty"/>
-            <xsd:enumeration value="PromissoryNoteSignedByTheDebtorAndEndorsedByBank"/>
-            <xsd:enumeration value="ProprietaryNetwork"/>
-            <xsd:enumeration value="ReferencedHome-BankingCreditTransfer"/>
-            <xsd:enumeration value="ReferenceGiro"/>
-            <xsd:enumeration value="RelatedDetailAccount"/>
-            <xsd:enumeration value="RequestedMethodForPaymentWasNotUsed"/>
-            <xsd:enumeration value="SpecialAccount"/>
-            <xsd:enumeration value="SummaryAccount"/>
-            <xsd:enumeration value="SWIFT"/>
-            <xsd:enumeration value="TravelersCheck"/>
-            <xsd:enumeration value="UrgentGiro"/>
-            <xsd:enumeration value="VISASpecialElectronicFundsTransferNetwork"/>
-            <xsd:enumeration value="Waived"/>
-            <xsd:enumeration value="WireTransfer"/>
-            <xsd:enumeration value="X12"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="PaymentSystemCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="OrdinaryPost"/>
-            <xsd:enumeration value="AirMail"/>
-            <xsd:enumeration value="BillPayment"/>
-            <xsd:enumeration value="ConsumerEmployeeCheck"/>
-            <xsd:enumeration value="CashConcentrationDisbursement"/>
-            <xsd:enumeration value="CashConcentrationDisbursementPlusAddenda"/>
-            <xsd:enumeration value="CustomerInitiatedEntry"/>
-            <xsd:enumeration value="CustomerInitiatedEntryPlusAddenda"/>
-            <xsd:enumeration value="CorporateTradeExchange"/>
-            <xsd:enumeration value="CorporateCheck"/>
-            <xsd:enumeration value="Telegraph"/>
-            <xsd:enumeration value="Telex"/>
-            <xsd:enumeration value="SWIFT"/>
-            <xsd:enumeration value="OtherTransmissionNetworks"/>
-            <xsd:enumeration value="NetworksNotDefined"/>
-            <xsd:enumeration value="Fedwire"/>
-            <xsd:enumeration value="Personal-Face-To-Face"/>
-            <xsd:enumeration value="PrearrangedPaymentAndDeposit"/>
-            <xsd:enumeration value="PrearrangedPaymentAndDepositPlusAddenda"/>
-            <xsd:enumeration value="PreauthorizedDraft"/>
-            <xsd:enumeration value="RegisteredAirMail"/>
-            <xsd:enumeration value="RegisteredMail"/>
-            <xsd:enumeration value="Courier"/>
-            <xsd:enumeration value="Messenger"/>
-            <xsd:enumeration value="NationalACH"/>
-            <xsd:enumeration value="OtherACH"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="FIAccount">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" ref="AccountDetail"/>
-            <xsd:element ref="FinancialInstitution"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="FIAccount" type="FIAccount"/>
-    <xsd:complexType name="AccountDetail">
-        <xsd:sequence>
-            <xsd:element name="AccountID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SecondaryAccountID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="IBAN" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="AccountControlKey" type="xsd:string"/>
-            <xsd:element name="AccountTypeCoded" type="AccountTypeCode"/>
-            <xsd:element minOccurs="0" name="AccountTypeCodedOther" type="xsd:string"/>
-            <xsd:element name="AccountName1" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="AccountName2" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Currency"/>
-            <xsd:element minOccurs="0" name="AccountReferences">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfReferenceCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="AccountDetail" type="AccountDetail"/>
-    <xsd:simpleType name="AccountTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="NewBusinessAccount"/>
-            <xsd:enumeration value="GroupNumber"/>
-            <xsd:enumeration value="PolicyNumber"/>
-            <xsd:enumeration value="MoneyMarketFund"/>
-            <xsd:enumeration value="RetirementAccountVestedInterestatMarketValue"/>
-            <xsd:enumeration value="RetirementAccountVestedInterestNetCashValue"/>
-            <xsd:enumeration value="IndividualRetirementAccount-IRA-VestedInterestatMarketValue"/>
-            <xsd:enumeration value="IndividualRetirementAccount-IRA-VestedInterestNetCashValue"/>
-            <xsd:enumeration value="CorporateControlledRetirementAccountVestedInterest"/>
-            <xsd:enumeration value="TimeDeposit"/>
-            <xsd:enumeration value="CheckingAccount"/>
-            <xsd:enumeration value="Stock"/>
-            <xsd:enumeration value="Bond"/>
-            <xsd:enumeration value="LifeInsuranceFaceValue"/>
-            <xsd:enumeration value="RetirementAccount-VestedInterest"/>
-            <xsd:enumeration value="BusinessAccount"/>
-            <xsd:enumeration value="TrustFundAccount"/>
-            <xsd:enumeration value="StocksandBondsAccount"/>
-            <xsd:enumeration value="LifeInsuranceAccount-NetCashValue"/>
-            <xsd:enumeration value="EmployeeRetirementAccount-401K"/>
-            <xsd:enumeration value="Agency"/>
-            <xsd:enumeration value="Application"/>
-            <xsd:enumeration value="BrokerageAccount"/>
-            <xsd:enumeration value="ChargeBackAccountforReturns"/>
-            <xsd:enumeration value="CreditCard"/>
-            <xsd:enumeration value="CashManagement"/>
-            <xsd:enumeration value="DemandDeposit"/>
-            <xsd:enumeration value="DebitCard"/>
-            <xsd:enumeration value="ExistingCarrier"/>
-            <xsd:enumeration value="ReturnItemsonDemandDepositAccount"/>
-            <xsd:enumeration value="ReturnItemsonSavingsAccount"/>
-            <xsd:enumeration value="Savings"/>
-            <xsd:enumeration value="AgencyLocationCode"/>
-            <xsd:enumeration value="Annuity"/>
-            <xsd:enumeration value="ControlledDisbursementMasterAccount"/>
-            <xsd:enumeration value="ControlledDisbursementSubAccount"/>
-            <xsd:enumeration value="CreditUnion"/>
-            <xsd:enumeration value="EnrichedPlanContractNumber"/>
-            <xsd:enumeration value="Long-termDisabilityPolicyNumber"/>
-            <xsd:enumeration value="MutualFund"/>
-            <xsd:enumeration value="PrimaryBank"/>
-            <xsd:enumeration value="RelationshipSummaryAccount"/>
-            <xsd:enumeration value="Safekeeping-CustodyAccount"/>
-            <xsd:enumeration value="ZeroBalanceMasterAccount"/>
-            <xsd:enumeration value="ZeroBalanceAffiliateAccount"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="FinancialInstitution">
-        <xsd:sequence>
-            <xsd:element name="FinancialInstitutionID" type="xsd:string"/>
-            <xsd:element name="FinancialInstitutionName" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FIBranchID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FIBranchName" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FIBranchStreet" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FIBranchHouseNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FIBranchStreetSupplement1" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FIBranchStreetSupplement2" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FIBranchPostalCode" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FIBranchCity" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FIBranchRegion">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Region"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="FIBranchCountry">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Country"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="FinancialInstitution" type="FinancialInstitution"/>
-    <xsd:complexType name="CardInfo">
-        <xsd:sequence>
-            <xsd:element name="CardNum" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CardAuthCode" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CardRefNum" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CardExpirationDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" name="CardType" type="CardTypeCode"/>
-            <xsd:element minOccurs="0" name="CardTypeOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CardHolderName" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="CardInfo" type="CardInfo"/>
-    <xsd:simpleType name="CardTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AMEX"/>
-            <xsd:enumeration value="VISA"/>
-            <xsd:enumeration value="MC"/>
-            <xsd:enumeration value="Discover"/>
-            <xsd:enumeration value="JCB"/>
-            <xsd:enumeration value="Diners"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfAllowOrCharge">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="AllowOrCharge"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfAllowOrCharge" type="ListOfAllowOrCharge"/>
-    <xsd:complexType name="AllowOrCharge">
-        <xsd:sequence>
-            <xsd:element name="IndicatorCoded" type="IndicatorCode"/>
-            <xsd:element minOccurs="0" name="IndicatorCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="BasisCoded" type="BasisCode"/>
-            <xsd:element minOccurs="0" name="BasisCodedOther" type="xsd:string"/>
-            <xsd:element name="MethodOfHandlingCoded" type="MethodOfHandlingCode"/>
-            <xsd:element minOccurs="0" name="MethodOfHandlingCodedOther" type="xsd:string"/>
-            <xsd:element name="AllowanceOrChargeDescription">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="AllowOrChgDesc"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ValidityDates"/>
-            <xsd:choice minOccurs="0">
-                <xsd:element name="BasisQuantityRange">
-                    <xsd:complexType>
-                        <xsd:sequence>
-                            <xsd:element ref="Quantity"/>
-                        </xsd:sequence>
-                    </xsd:complexType>
-                </xsd:element>
-                <xsd:element ref="BasisMonetaryRange"/>
-            </xsd:choice>
-            <xsd:element ref="TypeOfAllowanceOrCharge"/>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" ref="Tax"/>
-        </xsd:sequence>
-        <xsd:attribute name="SeqNo" type="xsd:int" use="optional" default="1"/>
-    </xsd:complexType>
-    <xsd:element name="AllowOrCharge" type="AllowOrCharge"/>
-    <xsd:simpleType name="IndicatorCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="About"/>
-            <xsd:enumeration value="Adjustment"/>
-            <xsd:enumeration value="Allowance"/>
-            <xsd:enumeration value="AllowanceLineItems"/>
-            <xsd:enumeration value="AllowanceMessage"/>
-            <xsd:enumeration value="AllowancePerCallOf"/>
-            <xsd:enumeration value="AllowanceRequest"/>
-            <xsd:enumeration value="Charge"/>
-            <xsd:enumeration value="ChargeLineItems"/>
-            <xsd:enumeration value="ChargeMessage"/>
-            <xsd:enumeration value="ChargePerCallOf"/>
-            <xsd:enumeration value="ChargeRequest"/>
-            <xsd:enumeration value="Exact"/>
-            <xsd:enumeration value="LineItemAllowance"/>
-            <xsd:enumeration value="LineItemCharge"/>
-            <xsd:enumeration value="Maximum"/>
-            <xsd:enumeration value="Minus-Amount"/>
-            <xsd:enumeration value="Minus-Percentage"/>
-            <xsd:enumeration value="NoAllowance"/>
-            <xsd:enumeration value="NoAllowanceOrCharge"/>
-            <xsd:enumeration value="NoCharge"/>
-            <xsd:enumeration value="Plus-Amount"/>
-            <xsd:enumeration value="Plus-Percentage"/>
-            <xsd:enumeration value="PlusOrMinusOrAmount"/>
-            <xsd:enumeration value="PlusOrMinus-Percentage"/>
-            <xsd:enumeration value="Promotion"/>
-            <xsd:enumeration value="Service"/>
-            <xsd:enumeration value="TotalOther"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="BasisCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="None"/>
-            <xsd:enumeration value="Quantity"/>
-            <xsd:enumeration value="Percent"/>
-            <xsd:enumeration value="MonetaryAmount"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="MethodOfHandlingCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="BillBack"/>
-            <xsd:enumeration value="OffInvoice"/>
-            <xsd:enumeration value="VendorCheckToCustomer"/>
-            <xsd:enumeration value="CreditCustomerAccount"/>
-            <xsd:enumeration value="ChargeToBePaidByVendor"/>
-            <xsd:enumeration value="ChargeToBePaidByCustomer"/>
-            <xsd:enumeration value="Optional"/>
-            <xsd:enumeration value="OffGrossQuantityInvoiced"/>
-            <xsd:enumeration value="AllowanceToBeIssuedByVendor"/>
-            <xsd:enumeration value="AllowanceToBeIssuedByReseller"/>
-            <xsd:enumeration value="ChargeDeniedByVendor"/>
-            <xsd:enumeration value="CancelAllowance"/>
-            <xsd:enumeration value="ProvideAmount"/>
-            <xsd:enumeration value="InformationOnly"/>
-            <xsd:enumeration value="Non-PayableTax"/>
-            <xsd:enumeration value="AccrualFund"/>
-            <xsd:enumeration value="FlatFund"/>
-            <xsd:enumeration value="CashInAdvance"/>
-            <xsd:enumeration value="CalculateAndAddtoInvoice"/>
-            <xsd:enumeration value="Collect"/>
-            <xsd:enumeration value="Prepaid"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="AllowOrChgDesc">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="RefID" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfDescription"/>
-            <xsd:element name="ServiceCoded" type="ServiceCode"/>
-            <xsd:element minOccurs="0" name="ServiceCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="AllowOrChgDesc" type="AllowOrChgDesc"/>
-    <xsd:complexType name="ListOfDescription">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Description"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfDescription" type="ListOfDescription"/>
-    <xsd:complexType name="Description">
-        <xsd:sequence>
-            <xsd:element name="DescriptionText" type="xsd:string"/>
-            <xsd:element ref="Language"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Description" type="Description"/>
-    <xsd:simpleType name="ServiceCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="About"/>
-            <xsd:enumeration value="AbsoluteMinimumCharge"/>
-            <xsd:enumeration value="AccessCharge-Federal"/>
-            <xsd:enumeration value="AccessCharges"/>
-            <xsd:enumeration value="AccessCharge-State"/>
-            <xsd:enumeration value="AccountNumberCorrectionCharge"/>
-            <xsd:enumeration value="AcidBattery"/>
-            <xsd:enumeration value="AcknowledgmentofDeliveryFeeAOD"/>
-            <xsd:enumeration value="ActivationOfCarnet"/>
-            <xsd:enumeration value="AdditionalCommercialInvoices"/>
-            <xsd:enumeration value="AdditionalCopiesOfFreightBill"/>
-            <xsd:enumeration value="AdditionalMaterial"/>
-            <xsd:enumeration value="AdditionalTariffClassifications"/>
-            <xsd:enumeration value="AddOn-Destination"/>
-            <xsd:enumeration value="AddOn-Origin"/>
-            <xsd:enumeration value="AddressCorrection"/>
-            <xsd:enumeration value="AddToMakeMarketValue"/>
-            <xsd:enumeration value="Adjustment"/>
-            <xsd:enumeration value="AdjustmentForMaximumChargesBilling"/>
-            <xsd:enumeration value="AdjustmentForMinimumAverageTimeRequirementBilling"/>
-            <xsd:enumeration value="Adjustments"/>
-            <xsd:enumeration value="Administrative"/>
-            <xsd:enumeration value="AdValorem"/>
-            <xsd:enumeration value="AdvanceChargesHandling"/>
-            <xsd:enumeration value="AdvanceDestinationAmount"/>
-            <xsd:enumeration value="AdvanceDestinationFee"/>
-            <xsd:enumeration value="AdvanceFee"/>
-            <xsd:enumeration value="AdvanceLadingCharge"/>
-            <xsd:enumeration value="AdvanceOriginAmount"/>
-            <xsd:enumeration value="AdvanceOriginFee"/>
-            <xsd:enumeration value="Advances"/>
-            <xsd:enumeration value="AdvertisingAllowance"/>
-            <xsd:enumeration value="Affidavit"/>
-            <xsd:enumeration value="AgentDisbursement-Destination"/>
-            <xsd:enumeration value="AgentDisbursement-Origin"/>
-            <xsd:enumeration value="AircraftOnGround"/>
-            <xsd:enumeration value="AirExportCertificate"/>
-            <xsd:enumeration value="AirExpressCharge"/>
-            <xsd:enumeration value="AirlineOpeningFee"/>
-            <xsd:enumeration value="AirportTerminalHandlingCharge"/>
-            <xsd:enumeration value="AirTransportationCharge"/>
-            <xsd:enumeration value="AlcoholicBeverageReportCharge"/>
-            <xsd:enumeration value="AlleghenyCountyPADeliveryCharge"/>
-            <xsd:enumeration value="Allowance"/>
-            <xsd:enumeration value="AllowanceLineItems"/>
-            <xsd:enumeration value="AllowanceMessage"/>
-            <xsd:enumeration value="AllowancePerCallOf"/>
-            <xsd:enumeration value="AllowanceAdvance"/>
-            <xsd:enumeration value="AllowanceForConsignmentMerchandise"/>
-            <xsd:enumeration value="AllowanceNon-Performance"/>
-            <xsd:enumeration value="AllowanceRequest"/>
-            <xsd:enumeration value="Alterations"/>
-            <xsd:enumeration value="AmendingExportDocumentation"/>
-            <xsd:enumeration value="AnnealHeatSteelorGlassTreatment"/>
-            <xsd:enumeration value="AnodizingCharge"/>
-            <xsd:enumeration value="Anti-dumpingDuty"/>
-            <xsd:enumeration value="AppointmentNotification"/>
-            <xsd:enumeration value="ArbitraryInAdditionToThroughRatesandCharges"/>
-            <xsd:enumeration value="ArtWork"/>
-            <xsd:enumeration value="Assembly"/>
-            <xsd:enumeration value="AssistAmount"/>
-            <xsd:enumeration value="AttachmentsToBillOfLadingCharge"/>
-            <xsd:enumeration value="BadDebt"/>
-            <xsd:enumeration value="BankingDrafts"/>
-            <xsd:enumeration value="BargeFreightAllKindsService"/>
-            <xsd:enumeration value="BaseCharge"/>
-            <xsd:enumeration value="BasicReorderAllowance"/>
-            <xsd:enumeration value="BeamingCharge"/>
-            <xsd:enumeration value="BeddingFeedingDisinfecting"/>
-            <xsd:enumeration value="BeefFee"/>
-            <xsd:enumeration value="BeyondCharge"/>
-            <xsd:enumeration value="BeyondFreightCharges"/>
-            <xsd:enumeration value="BillAndHold"/>
-            <xsd:enumeration value="BilledDemand"/>
-            <xsd:enumeration value="BillOfLadingAttendancy"/>
-            <xsd:enumeration value="BillOfLadingCharge"/>
-            <xsd:enumeration value="BlackLungTax"/>
-            <xsd:enumeration value="BlockingAndBracingCharge"/>
-            <xsd:enumeration value="BlowerCharge"/>
-            <xsd:enumeration value="BobtailCharges"/>
-            <xsd:enumeration value="BondAmount"/>
-            <xsd:enumeration value="BondCharge"/>
-            <xsd:enumeration value="BopSheet"/>
-            <xsd:enumeration value="BordeauxArbitraries"/>
-            <xsd:enumeration value="Both-Flat"/>
-            <xsd:enumeration value="BreakbulkServices"/>
-            <xsd:enumeration value="BreakBulkSurfaceCharge"/>
-            <xsd:enumeration value="BridgeToll"/>
-            <xsd:enumeration value="BrokenLot"/>
-            <xsd:enumeration value="BrokenPackageCharge"/>
-            <xsd:enumeration value="Brokerage"/>
-            <xsd:enumeration value="BrokerageOrDuty"/>
-            <xsd:enumeration value="BunkerAdjustment"/>
-            <xsd:enumeration value="BunkerAdjustment-20FootContainer"/>
-            <xsd:enumeration value="BunkerAdjustment-40FootContainer"/>
-            <xsd:enumeration value="BunkerSurcharge"/>
-            <xsd:enumeration value="BurdenOverheadOrAllowanceForIndirectCosts"/>
-            <xsd:enumeration value="Burning"/>
-            <xsd:enumeration value="BuyerHandCarry"/>
-            <xsd:enumeration value="BuyersCarAllowance"/>
-            <xsd:enumeration value="CablePressurization"/>
-            <xsd:enumeration value="CablesSendingOf"/>
-            <xsd:enumeration value="CallTag"/>
-            <xsd:enumeration value="CampArbitrary"/>
-            <xsd:enumeration value="CanadaGreatLakesAdditionals"/>
-            <xsd:enumeration value="CanadianCQCustomsClearance"/>
-            <xsd:enumeration value="CanadianCurrencyExchange"/>
-            <xsd:enumeration value="CanadianImportTerminationFee"/>
-            <xsd:enumeration value="CanadianReconsignmentFee"/>
-            <xsd:enumeration value="CanadianRemanifestFee"/>
-            <xsd:enumeration value="CancellationCharge"/>
-            <xsd:enumeration value="CancelledOrderHeavyDutyFlatcar"/>
-            <xsd:enumeration value="Capping"/>
-            <xsd:enumeration value="CaptureAdditionalData"/>
-            <xsd:enumeration value="CargoTaxes"/>
-            <xsd:enumeration value="CarLoading"/>
-            <xsd:enumeration value="CarRental"/>
-            <xsd:enumeration value="Carrier"/>
-            <xsd:enumeration value="CarrierCreditAllowance"/>
-            <xsd:enumeration value="CarrierDebitAllowance"/>
-            <xsd:enumeration value="CarrierNotificationCharge"/>
-            <xsd:enumeration value="Cartage"/>
-            <xsd:enumeration value="CartageCharge"/>
-            <xsd:enumeration value="CatalogingServices"/>
-            <xsd:enumeration value="CentralBuy"/>
-            <xsd:enumeration value="CentsOff"/>
-            <xsd:enumeration value="CertificateOfConformance"/>
-            <xsd:enumeration value="CertificateOfOrigin"/>
-            <xsd:enumeration value="CertificateOfRegistration"/>
-            <xsd:enumeration value="Certification"/>
-            <xsd:enumeration value="ChainAndBinders"/>
-            <xsd:enumeration value="ChamberOfCommerceServiceCharge"/>
-            <xsd:enumeration value="ChangeOfAirbill-ServiceFee"/>
-            <xsd:enumeration value="Charge"/>
-            <xsd:enumeration value="ChargeLineItems"/>
-            <xsd:enumeration value="ChargeMessage"/>
-            <xsd:enumeration value="ChargePerCallOf"/>
-            <xsd:enumeration value="ChargesForwardAdvanceCharge"/>
-            <xsd:enumeration value="CharterServices"/>
-            <xsd:enumeration value="ChassisTransfer"/>
-            <xsd:enumeration value="ChemicalMillingCharge"/>
-            <xsd:enumeration value="ChicagoLoopCharge"/>
-            <xsd:enumeration value="CigaretteStamping"/>
-            <xsd:enumeration value="CityDelivery"/>
-            <xsd:enumeration value="CityMaintenanceFee"/>
-            <xsd:enumeration value="CityPick-up"/>
-            <xsd:enumeration value="CityTerminalCharge"/>
-            <xsd:enumeration value="CleaningCharge"/>
-            <xsd:enumeration value="ClosingSealing"/>
-            <xsd:enumeration value="CoatingDipRustproofEDP"/>
-            <xsd:enumeration value="CODAmount"/>
-            <xsd:enumeration value="CODCharges"/>
-            <xsd:enumeration value="CollectOnDeliveryAlterationCharge"/>
-            <xsd:enumeration value="CollectOnDeliveryDeletionCharge"/>
-            <xsd:enumeration value="CollectSurcharge"/>
-            <xsd:enumeration value="Co-manufacturingDiscount"/>
-            <xsd:enumeration value="Combination"/>
-            <xsd:enumeration value="CombinationPerformanceAndNon-performance"/>
-            <xsd:enumeration value="CombineAllSameDayShipment"/>
-            <xsd:enumeration value="CommissionAmount"/>
-            <xsd:enumeration value="CommunicationsCharges"/>
-            <xsd:enumeration value="CompetitiveAllowance"/>
-            <xsd:enumeration value="CompetitiveCarAllowance"/>
-            <xsd:enumeration value="CompetitivePrice"/>
-            <xsd:enumeration value="CompressorCharge"/>
-            <xsd:enumeration value="ConcessionCredit"/>
-            <xsd:enumeration value="ConcessionMoney"/>
-            <xsd:enumeration value="CongestionSurcharge"/>
-            <xsd:enumeration value="ConnectCharge"/>
-            <xsd:enumeration value="ConservationResearchFee"/>
-            <xsd:enumeration value="ConsigneeUnload"/>
-            <xsd:enumeration value="Consolidation"/>
-            <xsd:enumeration value="ConstantSurveillanceService"/>
-            <xsd:enumeration value="ConstantSurveillanceService-Armed"/>
-            <xsd:enumeration value="ConsularizationFee"/>
-            <xsd:enumeration value="ConsularLegalizationService"/>
-            <xsd:enumeration value="ConsultingService"/>
-            <xsd:enumeration value="ConsumerServiceProviderCharge"/>
-            <xsd:enumeration value="ContainerAllowance"/>
-            <xsd:enumeration value="ContainerDeposits"/>
-            <xsd:enumeration value="ContainerDestuffing"/>
-            <xsd:enumeration value="ContainerDiscount"/>
-            <xsd:enumeration value="ContainerDiversion"/>
-            <xsd:enumeration value="ContainerLease"/>
-            <xsd:enumeration value="ContainerLeasing"/>
-            <xsd:enumeration value="ContainerLossDamage"/>
-            <xsd:enumeration value="ContainerServiceChargeUKEUR"/>
-            <xsd:enumeration value="ContainerServiceChargeUSACanada"/>
-            <xsd:enumeration value="ContainerStuffing"/>
-            <xsd:enumeration value="ContainerTrailerAllowance"/>
-            <xsd:enumeration value="ContinuousMileage"/>
-            <xsd:enumeration value="ContractAllowance"/>
-            <xsd:enumeration value="ContractEscalation"/>
-            <xsd:enumeration value="ContractServiceCharge"/>
-            <xsd:enumeration value="ControlledAtmosphere"/>
-            <xsd:enumeration value="Converting"/>
-            <xsd:enumeration value="Co-opCredit"/>
-            <xsd:enumeration value="CooperativeAdvertisingMerchandisingAllowancePerformance"/>
-            <xsd:enumeration value="Copying"/>
-            <xsd:enumeration value="CopyOfBillOfLadingCharge"/>
-            <xsd:enumeration value="CopyOfDeliveryReceiptCharge"/>
-            <xsd:enumeration value="CoreCharge"/>
-            <xsd:enumeration value="CostRecoveryAdjustment"/>
-            <xsd:enumeration value="CostRecoveryFactor"/>
-            <xsd:enumeration value="CottonFee"/>
-            <xsd:enumeration value="CountAndRecount"/>
-            <xsd:enumeration value="CountervailingDuty"/>
-            <xsd:enumeration value="CouponReimbursement"/>
-            <xsd:enumeration value="Crafting"/>
-            <xsd:enumeration value="Crating"/>
-            <xsd:enumeration value="Credit"/>
-            <xsd:enumeration value="CurrencyAdjustment"/>
-            <xsd:enumeration value="CurrencyAdjustment-20FootContainer"/>
-            <xsd:enumeration value="CurrencyAdjustment-40FootContainer"/>
-            <xsd:enumeration value="CurrencyAdjustment-BreakBulk"/>
-            <xsd:enumeration value="CurrencyAdjustmentFactor"/>
-            <xsd:enumeration value="CurrencyDiscount"/>
-            <xsd:enumeration value="CustomerAccountIdentification"/>
-            <xsd:enumeration value="CustomerEquipmentAllowance"/>
-            <xsd:enumeration value="CustomsBrokerFee"/>
-            <xsd:enumeration value="CustomsCharge"/>
-            <xsd:enumeration value="CustomsDuty"/>
-            <xsd:enumeration value="CustomsEntry"/>
-            <xsd:enumeration value="CustomsExam"/>
-            <xsd:enumeration value="CustomsFees-ContainerLevel"/>
-            <xsd:enumeration value="CustomsFees-LiftLevel"/>
-            <xsd:enumeration value="CustomsFormalities"/>
-            <xsd:enumeration value="CustomsInvoice"/>
-            <xsd:enumeration value="CustomsInvoice-AdditionalPage"/>
-            <xsd:enumeration value="CustomsPenalty"/>
-            <xsd:enumeration value="Cut"/>
-            <xsd:enumeration value="CutAndParallel"/>
-            <xsd:enumeration value="CuttingCharge"/>
-            <xsd:enumeration value="DamagedMerchandise"/>
-            <xsd:enumeration value="DamageToCarrierEquipment"/>
-            <xsd:enumeration value="DamageToCarrierVessel"/>
-            <xsd:enumeration value="DamageToGovernmentEquipment"/>
-            <xsd:enumeration value="DataDrawingCharge"/>
-            <xsd:enumeration value="DeadheadMileageCharge"/>
-            <xsd:enumeration value="DeafAndDisabledSurcharge"/>
-            <xsd:enumeration value="DeclaredValueForCarriage"/>
-            <xsd:enumeration value="DeclaredValueForCustoms"/>
-            <xsd:enumeration value="DeclaredValueForInsurance"/>
-            <xsd:enumeration value="DeductToMakeMarketValue"/>
-            <xsd:enumeration value="DefectiveAllowance"/>
-            <xsd:enumeration value="DeficitFreight"/>
-            <xsd:enumeration value="De-Installation"/>
-            <xsd:enumeration value="DelayFurnishingDestinationWeights"/>
-            <xsd:enumeration value="Delivery"/>
-            <xsd:enumeration value="DeliverySurcharge"/>
-            <xsd:enumeration value="DemandCharge"/>
-            <xsd:enumeration value="Demurrage"/>
-            <xsd:enumeration value="Demurrage-AverageAgreement"/>
-            <xsd:enumeration value="Demurrage-Special"/>
-            <xsd:enumeration value="Deposit"/>
-            <xsd:enumeration value="DepositCharges"/>
-            <xsd:enumeration value="DepositInLieuOfOrder"/>
-            <xsd:enumeration value="Deramping"/>
-            <xsd:enumeration value="DerrickCharge"/>
-            <xsd:enumeration value="DesignatedSupplierInspection"/>
-            <xsd:enumeration value="DestinationCharge"/>
-            <xsd:enumeration value="DetentionLoading"/>
-            <xsd:enumeration value="DetentionOfPowerUnits"/>
-            <xsd:enumeration value="DetentionOfTrailers"/>
-            <xsd:enumeration value="Detention-SpecialTypeFlatCar"/>
-            <xsd:enumeration value="DetentionUnloading"/>
-            <xsd:enumeration value="DeterminedFreight"/>
-            <xsd:enumeration value="DevelopmentCharge"/>
-            <xsd:enumeration value="DieServiceCharge"/>
-            <xsd:enumeration value="DirectProductHandling"/>
-            <xsd:enumeration value="Disbursement"/>
-            <xsd:enumeration value="DisconnectCharge"/>
-            <xsd:enumeration value="Discount"/>
-            <xsd:enumeration value="Discount-DropBoxConvenienceCtr"/>
-            <xsd:enumeration value="Discount-Incentive"/>
-            <xsd:enumeration value="Discount-MultipleShipment"/>
-            <xsd:enumeration value="Discount-ServiceOptionDelivery"/>
-            <xsd:enumeration value="Discount-ServiceOptionPickup"/>
-            <xsd:enumeration value="Discount-Special"/>
-            <xsd:enumeration value="DisplayAllowance"/>
-            <xsd:enumeration value="DistributionFee"/>
-            <xsd:enumeration value="DistributionService"/>
-            <xsd:enumeration value="DistributorDiscountAllowance"/>
-            <xsd:enumeration value="DiversionAndReconsignment"/>
-            <xsd:enumeration value="DiversionCharge"/>
-            <xsd:enumeration value="DiversionToAirCharge"/>
-            <xsd:enumeration value="Dockage-BoatDetention"/>
-            <xsd:enumeration value="DocumentationCharge"/>
-            <xsd:enumeration value="DocumentHandling"/>
-            <xsd:enumeration value="Door-To-Door"/>
-            <xsd:enumeration value="DowelPinCharge"/>
-            <xsd:enumeration value="DrayagAtPortOfDebarkation"/>
-            <xsd:enumeration value="Drayage"/>
-            <xsd:enumeration value="DrayageatPortOfDebarkationRateZone"/>
-            <xsd:enumeration value="DrayageAtPortOfEmbarkation"/>
-            <xsd:enumeration value="DrayageatPortOfEmbarkationRateZone"/>
-            <xsd:enumeration value="DrayageLineHaul"/>
-            <xsd:enumeration value="DriverAssistedUnloading"/>
-            <xsd:enumeration value="DriversWages"/>
-            <xsd:enumeration value="DropDock"/>
-            <xsd:enumeration value="DropYard"/>
-            <xsd:enumeration value="DrumCost"/>
-            <xsd:enumeration value="DrumDeposit"/>
-            <xsd:enumeration value="DrumUpCharge"/>
-            <xsd:enumeration value="DryerCharge"/>
-            <xsd:enumeration value="DryIce"/>
-            <xsd:enumeration value="Dunnage"/>
-            <xsd:enumeration value="DutyCharge"/>
-            <xsd:enumeration value="DutyDrawback"/>
-            <xsd:enumeration value="EarlyBuyAllowance"/>
-            <xsd:enumeration value="EarlyPaymentAllowance"/>
-            <xsd:enumeration value="EarlyShipAllowance"/>
-            <xsd:enumeration value="EmergencyPortCharge"/>
-            <xsd:enumeration value="EmergencyService"/>
-            <xsd:enumeration value="EmergencySurcharge"/>
-            <xsd:enumeration value="EmptyWeighingCharge"/>
-            <xsd:enumeration value="Enclosure"/>
-            <xsd:enumeration value="EndorsementFee"/>
-            <xsd:enumeration value="Energycharge"/>
-            <xsd:enumeration value="EnergySurchargeFuelAdjustmentFactor"/>
-            <xsd:enumeration value="EngineeringCharge"/>
-            <xsd:enumeration value="EngineeringSupplies"/>
-            <xsd:enumeration value="Engraving"/>
-            <xsd:enumeration value="EnteredValue"/>
-            <xsd:enumeration value="EnvironmentalProtectionService"/>
-            <xsd:enumeration value="EquipmentManufacturerRestorationAudit"/>
-            <xsd:enumeration value="Escalation"/>
-            <xsd:enumeration value="EscortService"/>
-            <xsd:enumeration value="Escrow"/>
-            <xsd:enumeration value="Eur1PresentationFee"/>
-            <xsd:enumeration value="EuropeanPortCharges"/>
-            <xsd:enumeration value="Exact"/>
-            <xsd:enumeration value="ExcessiveValueCharge"/>
-            <xsd:enumeration value="ExcessMileageCharge"/>
-            <xsd:enumeration value="ExcessPeriods"/>
-            <xsd:enumeration value="ExcessValueFee"/>
-            <xsd:enumeration value="ExcessWeight"/>
-            <xsd:enumeration value="ExchangeAccessCredit"/>
-            <xsd:enumeration value="ExclusiveUse"/>
-            <xsd:enumeration value="ExclusiveUseOfEquipment"/>
-            <xsd:enumeration value="ExhibitionDeliveryCharge"/>
-            <xsd:enumeration value="ExhibitionPickupCharge"/>
-            <xsd:enumeration value="ExpandedService"/>
-            <xsd:enumeration value="ExpeditedOneDayConsularService"/>
-            <xsd:enumeration value="ExpeditedServiceCharge"/>
-            <xsd:enumeration value="ExpeditedShipments"/>
-            <xsd:enumeration value="ExpeditingFee"/>
-            <xsd:enumeration value="ExpeditingPremium"/>
-            <xsd:enumeration value="ExportCustomsClearance"/>
-            <xsd:enumeration value="ExportDeclarations-Automated"/>
-            <xsd:enumeration value="ExportDeclarations-USShippers"/>
-            <xsd:enumeration value="ExportImportCharge"/>
-            <xsd:enumeration value="ExportLicenseApplication"/>
-            <xsd:enumeration value="ExportShippingCharge"/>
-            <xsd:enumeration value="ExtraCopiesandMailings"/>
-            <xsd:enumeration value="ExtraLaborHelperService"/>
-            <xsd:enumeration value="ExtraLength"/>
-            <xsd:enumeration value="ExtraLengthSurcharge"/>
-            <xsd:enumeration value="ExtraService-Counter-To-Counter"/>
-            <xsd:enumeration value="FabricationCharge"/>
-            <xsd:enumeration value="FacsimileCharges"/>
-            <xsd:enumeration value="FacsimileCharges-AdditionalPages"/>
-            <xsd:enumeration value="FailedLampPanelCharge"/>
-            <xsd:enumeration value="FaxPre-alert"/>
-            <xsd:enumeration value="FederalTransferSurcharge"/>
-            <xsd:enumeration value="Fee"/>
-            <xsd:enumeration value="FinanceCharge"/>
-            <xsd:enumeration value="FirstArticleCharge"/>
-            <xsd:enumeration value="FirstFlightOut"/>
-            <xsd:enumeration value="FlatrackSurcharge"/>
-            <xsd:enumeration value="FlatRate"/>
-            <xsd:enumeration value="FloorStockProtection"/>
-            <xsd:enumeration value="FoodAndLodging"/>
-            <xsd:enumeration value="ForeignCustomsDuty"/>
-            <xsd:enumeration value="ForeignMilitarySalesRental"/>
-            <xsd:enumeration value="ForeignMilitarySalesSpecialCharge"/>
-            <xsd:enumeration value="ForeignOfficeAdvance"/>
-            <xsd:enumeration value="ForwardCoupons"/>
-            <xsd:enumeration value="ForwardingAgentCommission"/>
-            <xsd:enumeration value="ForwardingCharge"/>
-            <xsd:enumeration value="FranchiseFee"/>
-            <xsd:enumeration value="FreeDomicileShipmentProcessing"/>
-            <xsd:enumeration value="FreeGoods"/>
-            <xsd:enumeration value="Freight"/>
-            <xsd:enumeration value="FreightBasedOnDollarMinimum"/>
-            <xsd:enumeration value="FreightChargesToBorder"/>
-            <xsd:enumeration value="FreightChargesToDestination"/>
-            <xsd:enumeration value="FreightEqualization"/>
-            <xsd:enumeration value="FreightInternational"/>
-            <xsd:enumeration value="FreightInternationalNon-USDollars"/>
-            <xsd:enumeration value="FreightInternationalUSDollars"/>
-            <xsd:enumeration value="FreightPassthrough"/>
-            <xsd:enumeration value="FreightSurcharge"/>
-            <xsd:enumeration value="FreshnessLeakerAllowance"/>
-            <xsd:enumeration value="FuelCharge"/>
-            <xsd:enumeration value="FuelSurcharge"/>
-            <xsd:enumeration value="FullService"/>
-            <xsd:enumeration value="FullTruckloadAllowance"/>
-            <xsd:enumeration value="Fumigation"/>
-            <xsd:enumeration value="GarmentDistrict"/>
-            <xsd:enumeration value="GarmentSurcharge"/>
-            <xsd:enumeration value="GasPressure"/>
-            <xsd:enumeration value="GatewayFee"/>
-            <xsd:enumeration value="Glaze"/>
-            <xsd:enumeration value="GoldFactor"/>
-            <xsd:enumeration value="GoodsAndServicesCharge"/>
-            <xsd:enumeration value="GoodsAndServicesCreditAllowance"/>
-            <xsd:enumeration value="GoodsAndServicesTaxCharge"/>
-            <xsd:enumeration value="GovernmentInspection"/>
-            <xsd:enumeration value="GovernmentWarehouseFee-Destination"/>
-            <xsd:enumeration value="GovernmentWarehouseFee-Origin"/>
-            <xsd:enumeration value="GrainDoors"/>
-            <xsd:enumeration value="GrainFlowCharge"/>
-            <xsd:enumeration value="Gratuity"/>
-            <xsd:enumeration value="Grinding"/>
-            <xsd:enumeration value="GrossReceiptsSurcharge"/>
-            <xsd:enumeration value="GroupageDiscount"/>
-            <xsd:enumeration value="GroupedItems"/>
-            <xsd:enumeration value="GuaranteedInspectionTechnicalService"/>
-            <xsd:enumeration value="GulfPortDeliveryCharge"/>
-            <xsd:enumeration value="Handling"/>
-            <xsd:enumeration value="HandlingChargesOnDistributionFreightForwardedBeyond"/>
-            <xsd:enumeration value="HandlingFreightAtPositionsNotImmediatelyAdjacentToVehicleCharge"/>
-            <xsd:enumeration value="HarborMaintenanceFee"/>
-            <xsd:enumeration value="HarborMaintenanceReport"/>
-            <xsd:enumeration value="HaulingAndHoisting"/>
-            <xsd:enumeration value="HaulingAndHoistingToBeDirectBilled"/>
-            <xsd:enumeration value="HazardousCargoCharge"/>
-            <xsd:enumeration value="HazardousCargoOnDeck"/>
-            <xsd:enumeration value="HazardousMaterialsHandlingFee-Domestic"/>
-            <xsd:enumeration value="HazardousMaterialsHandlingFee-International"/>
-            <xsd:enumeration value="HazardousStorage"/>
-            <xsd:enumeration value="HeatInTransitCharges"/>
-            <xsd:enumeration value="HeatTreatCharge"/>
-            <xsd:enumeration value="HeavyDutyFlatCarCharge"/>
-            <xsd:enumeration value="HeavyLift"/>
-            <xsd:enumeration value="HighSecurityRedIn-bondSealCharge"/>
-            <xsd:enumeration value="HighwayInterchange"/>
-            <xsd:enumeration value="HointinsAndHauling"/>
-            <xsd:enumeration value="HoldingCharge"/>
-            <xsd:enumeration value="HomeLineFreightCharge"/>
-            <xsd:enumeration value="HoneyFee"/>
-            <xsd:enumeration value="Hook-upcharge"/>
-            <xsd:enumeration value="HoseCharge"/>
-            <xsd:enumeration value="HoseChargeSpecial"/>
-            <xsd:enumeration value="HouseholdGoodsPick-upOrDelivery"/>
-            <xsd:enumeration value="IATAAirbillPreparation"/>
-            <xsd:enumeration value="IATAFee"/>
-            <xsd:enumeration value="Identification"/>
-            <xsd:enumeration value="ImportServiceFee"/>
-            <xsd:enumeration value="ImproperDocumentation"/>
-            <xsd:enumeration value="InboundFreightCharges"/>
-            <xsd:enumeration value="IncomeFreightManufacturingToShippingPoint"/>
-            <xsd:enumeration value="IncorrectBillingAccountCharge"/>
-            <xsd:enumeration value="IndustryPriceAllowance"/>
-            <xsd:enumeration value="InitialLicenseFee"/>
-            <xsd:enumeration value="InlandTransportation"/>
-            <xsd:enumeration value="InsideCableConnectors"/>
-            <xsd:enumeration value="InsideDelivery"/>
-            <xsd:enumeration value="InsidePick-up"/>
-            <xsd:enumeration value="InspectAtDestination"/>
-            <xsd:enumeration value="InspectAtOrigin"/>
-            <xsd:enumeration value="Inspection"/>
-            <xsd:enumeration value="Installation"/>
-            <xsd:enumeration value="InstallationAndTraining"/>
-            <xsd:enumeration value="InstallationWarranty"/>
-            <xsd:enumeration value="InsulatedTankCharge"/>
-            <xsd:enumeration value="Insurance"/>
-            <xsd:enumeration value="InsuranceFee"/>
-            <xsd:enumeration value="InsurancePlacementCostCharge"/>
-            <xsd:enumeration value="InsurancePremium"/>
-            <xsd:enumeration value="InsuranceProvidedByLessee"/>
-            <xsd:enumeration value="InsuranceProvidedByLessor"/>
-            <xsd:enumeration value="InsuranceSurcharge"/>
-            <xsd:enumeration value="InterdivisionProfit"/>
-            <xsd:enumeration value="InterestAmount"/>
-            <xsd:enumeration value="InterestOnRefund"/>
-            <xsd:enumeration value="InterestOnSecurityDeposit"/>
-            <xsd:enumeration value="InterimUsePermittedAtSpecialRate"/>
-            <xsd:enumeration value="InternationalAirTransportAssociationCommission"/>
-            <xsd:enumeration value="InternationalAirTransportAssociationMarkup"/>
-            <xsd:enumeration value="InternationalCourier"/>
-            <xsd:enumeration value="InternationalDoor-to-DoorHandlingFee"/>
-            <xsd:enumeration value="InterplantCharge"/>
-            <xsd:enumeration value="InterstateHighwayToll"/>
-            <xsd:enumeration value="InTransitPriceProtection"/>
-            <xsd:enumeration value="Intra-plantCharge"/>
-            <xsd:enumeration value="InvoiceAdditionalAmount"/>
-            <xsd:enumeration value="InvoiceAdjustment"/>
-            <xsd:enumeration value="InvoiceAt-CostAmount"/>
-            <xsd:enumeration value="InvoiceDeliveryTermsAmount"/>
-            <xsd:enumeration value="InvoiceNo-ChargeAmount"/>
-            <xsd:enumeration value="InvoiceServices"/>
-            <xsd:enumeration value="InvoiceWithGoods"/>
-            <xsd:enumeration value="IrishArbitraries"/>
-            <xsd:enumeration value="IslandDeliveryCharge"/>
-            <xsd:enumeration value="IslandPick-UpCharge"/>
-            <xsd:enumeration value="ItalianReleaseCharge"/>
-            <xsd:enumeration value="ItemPercentage"/>
-            <xsd:enumeration value="Item-Unit"/>
-            <xsd:enumeration value="KeepFromFreezingPercentDifferential"/>
-            <xsd:enumeration value="Koshering"/>
-            <xsd:enumeration value="LabelAllowance"/>
-            <xsd:enumeration value="Labeling"/>
-            <xsd:enumeration value="LaborCharges"/>
-            <xsd:enumeration value="LaborCostOfRemoval"/>
-            <xsd:enumeration value="LaborModify"/>
-            <xsd:enumeration value="LaborNoTroubleFound"/>
-            <xsd:enumeration value="LaborOvertime"/>
-            <xsd:enumeration value="LaborPremiumOvertime"/>
-            <xsd:enumeration value="LaborRepairAndReturnOrders"/>
-            <xsd:enumeration value="LaborService"/>
-            <xsd:enumeration value="LaborStraight-time"/>
-            <xsd:enumeration value="LaborTestAndCalibrate"/>
-            <xsd:enumeration value="LadingAdjustmentCharge"/>
-            <xsd:enumeration value="LandCurrencyAdjustmentFactor-20FootContainer"/>
-            <xsd:enumeration value="LandCurrencyAdjustmentFactor-40FootContainer"/>
-            <xsd:enumeration value="Lashing"/>
-            <xsd:enumeration value="LateOrderCharge"/>
-            <xsd:enumeration value="LatePaymentCharge"/>
-            <xsd:enumeration value="LayoutDesign"/>
-            <xsd:enumeration value="LayoverCharges"/>
-            <xsd:enumeration value="LeadFactor"/>
-            <xsd:enumeration value="LeakingUndergroundStorageTax"/>
-            <xsd:enumeration value="LeaseShortfallConsideration"/>
-            <xsd:enumeration value="LessThanContainer"/>
-            <xsd:enumeration value="LessThanTruckloadCharge"/>
-            <xsd:enumeration value="LetterOfCreditProcessing"/>
-            <xsd:enumeration value="LicenseAndTitle"/>
-            <xsd:enumeration value="LifelineSurcharge"/>
-            <xsd:enumeration value="LiftGateTruckOrForkliftServiceAtPick-upDelivery"/>
-            <xsd:enumeration value="LimeFee"/>
-            <xsd:enumeration value="LineItemAllowance"/>
-            <xsd:enumeration value="LineItemCharge"/>
-            <xsd:enumeration value="LinehaulFromPortOfDebarkation"/>
-            <xsd:enumeration value="LinehaulPercentDifferential"/>
-            <xsd:enumeration value="LinehaulToPortOfEmbarkation"/>
-            <xsd:enumeration value="LinerTermsAtPortOfDebarkation"/>
-            <xsd:enumeration value="LinerTermsAtPortOfEmbarkation"/>
-            <xsd:enumeration value="LiquidatedDamages"/>
-            <xsd:enumeration value="LiquidationAnti-DumpingDuty"/>
-            <xsd:enumeration value="LiquidationCountervailingDuty"/>
-            <xsd:enumeration value="LiquidationTaxAmount"/>
-            <xsd:enumeration value="LiquidationTotalDueUSCustomsService"/>
-            <xsd:enumeration value="LiquidationTotalFees"/>
-            <xsd:enumeration value="Loading"/>
-            <xsd:enumeration value="LoadingLaborCharges"/>
-            <xsd:enumeration value="LoadWeighingCharge"/>
-            <xsd:enumeration value="LoanFee"/>
-            <xsd:enumeration value="LocalDeliveryDrayage"/>
-            <xsd:enumeration value="LocomotiveDelayedInSwitchingService"/>
-            <xsd:enumeration value="LocomotiveUnderOwnPower"/>
-            <xsd:enumeration value="LotCharge"/>
-            <xsd:enumeration value="LotteryChargeBack"/>
-            <xsd:enumeration value="LotteryCrossRedeemed"/>
-            <xsd:enumeration value="Low-TierLotteryCashingBonus"/>
-            <xsd:enumeration value="Low-TierLotteryWinners"/>
-            <xsd:enumeration value="LumpSum"/>
-            <xsd:enumeration value="MachiningCharge"/>
-            <xsd:enumeration value="MailFee"/>
-            <xsd:enumeration value="Mailing-PostageCost"/>
-            <xsd:enumeration value="Mailing-ServiceFee"/>
-            <xsd:enumeration value="MailInvoice"/>
-            <xsd:enumeration value="MailInvoiceToEachLocation"/>
-            <xsd:enumeration value="ManifestCharge"/>
-            <xsd:enumeration value="Manufacturing"/>
-            <xsd:enumeration value="MarketDevelopmentFunds"/>
-            <xsd:enumeration value="MarkingOrTaggingCharge"/>
-            <xsd:enumeration value="MarriageRule"/>
-            <xsd:enumeration value="Maximum"/>
-            <xsd:enumeration value="MemoReturnableContainer"/>
-            <xsd:enumeration value="MerchandiseProcessingFee"/>
-            <xsd:enumeration value="MessageCharge"/>
-            <xsd:enumeration value="MessageRateAdjustment"/>
-            <xsd:enumeration value="MessengerService"/>
-            <xsd:enumeration value="MetalsSurcharge"/>
-            <xsd:enumeration value="MeterCharge"/>
-            <xsd:enumeration value="Mid-TierLotteryCashingBonus"/>
-            <xsd:enumeration value="Mid-TierLotteryWinners"/>
-            <xsd:enumeration value="MileageFeeForRepairAndReturn"/>
-            <xsd:enumeration value="MileageOrTravel"/>
-            <xsd:enumeration value="Minus-Amount"/>
-            <xsd:enumeration value="Minus-Percentage"/>
-            <xsd:enumeration value="ModifiedAtmosphere"/>
-            <xsd:enumeration value="MonthlyRental"/>
-            <xsd:enumeration value="MountDemount"/>
-            <xsd:enumeration value="Mounting"/>
-            <xsd:enumeration value="MunicipalSurcharge"/>
-            <xsd:enumeration value="MushroomFee"/>
-            <xsd:enumeration value="NewDiscount"/>
-            <xsd:enumeration value="NewDistributionAllowance"/>
-            <xsd:enumeration value="NewItemAllowance"/>
-            <xsd:enumeration value="NewStoreAllowance"/>
-            <xsd:enumeration value="NewStoreDiscount"/>
-            <xsd:enumeration value="NewWarehouse"/>
-            <xsd:enumeration value="NewWarehouseDiscount"/>
-            <xsd:enumeration value="NewYorkDeliveryCharge"/>
-            <xsd:enumeration value="NewYorkPick-upCharge"/>
-            <xsd:enumeration value="NHDWharfage"/>
-            <xsd:enumeration value="NoAllowance"/>
-            <xsd:enumeration value="NoAllowanceOrCharge"/>
-            <xsd:enumeration value="NoCharge"/>
-            <xsd:enumeration value="Non-DutiableCharges"/>
-            <xsd:enumeration value="NonGeneratedFreight"/>
-            <xsd:enumeration value="Non-returnableContainers"/>
-            <xsd:enumeration value="NoReturnCreditAllowance"/>
-            <xsd:enumeration value="NormalPumpCharge"/>
-            <xsd:enumeration value="NotarizedAffidavit"/>
-            <xsd:enumeration value="NotifyConsignee"/>
-            <xsd:enumeration value="NotifyConsigneeBeforeDelivery"/>
-            <xsd:enumeration value="NozzleCharge"/>
-            <xsd:enumeration value="OceanCharges-Hazardous"/>
-            <xsd:enumeration value="OceanFreight"/>
-            <xsd:enumeration value="OfficeSupplies"/>
-            <xsd:enumeration value="Offshore-AlaskaHawaii"/>
-            <xsd:enumeration value="OnCarriage"/>
-            <xsd:enumeration value="OnDeckBreakBulkDifferential"/>
-            <xsd:enumeration value="One-DayService"/>
-            <xsd:enumeration value="OneTimeEngineeringCharge"/>
-            <xsd:enumeration value="One-TimeLicenseFee"/>
-            <xsd:enumeration value="One-Time-OnlyCharge"/>
-            <xsd:enumeration value="OnetimeTooling"/>
-            <xsd:enumeration value="OnHandService"/>
-            <xsd:enumeration value="OperatorCredit"/>
-            <xsd:enumeration value="OptionalCharge"/>
-            <xsd:enumeration value="OptionalSoftwareSupportForOperationalSupportSystems"/>
-            <xsd:enumeration value="OptionalSoftwareSupportForSwitchingSystems"/>
-            <xsd:enumeration value="OptionChargeColorFabricOfficeFurniture"/>
-            <xsd:enumeration value="Order-Flat"/>
-            <xsd:enumeration value="OrderNotifyCharge"/>
-            <xsd:enumeration value="OtherAccessorialServiceCharge"/>
-            <xsd:enumeration value="OtherAdvances"/>
-            <xsd:enumeration value="OtherExportCharges"/>
-            <xsd:enumeration value="OtherGovernmentAgencyDeclaration"/>
-            <xsd:enumeration value="OtherGovernmentAgencyExam"/>
-            <xsd:enumeration value="OtherImportCharge"/>
-            <xsd:enumeration value="OtherMiscellaneousEarningOrAdditive"/>
-            <xsd:enumeration value="OtherSeeRelatedDescription"/>
-            <xsd:enumeration value="OutOfRouteMiles"/>
-            <xsd:enumeration value="OutOfZonePick-upOrDelivery"/>
-            <xsd:enumeration value="OutsideCableConnectors"/>
-            <xsd:enumeration value="OverDimension"/>
-            <xsd:enumeration value="OverHeightContainer"/>
-            <xsd:enumeration value="OverrunCharge"/>
-            <xsd:enumeration value="OversizedPremium"/>
-            <xsd:enumeration value="OvertimeLoading"/>
-            <xsd:enumeration value="OverWidthContainer"/>
-            <xsd:enumeration value="Packaging"/>
-            <xsd:enumeration value="PackagingService"/>
-            <xsd:enumeration value="PackingCratingAndHandlingCharge"/>
-            <xsd:enumeration value="PackingCratingHandlingAndTransportationCharge"/>
-            <xsd:enumeration value="PackInvoiceWithShipment"/>
-            <xsd:enumeration value="PaintingPrimerOrFinish"/>
-            <xsd:enumeration value="Pallet"/>
-            <xsd:enumeration value="PalletExchangeCharge"/>
-            <xsd:enumeration value="Palletizing"/>
-            <xsd:enumeration value="Paralleling"/>
-            <xsd:enumeration value="ParishCountySalesTaxOnly"/>
-            <xsd:enumeration value="PassingShippersExportEntry"/>
-            <xsd:enumeration value="Payment"/>
-            <xsd:enumeration value="PayrollAdditivesOvertimeLabor"/>
-            <xsd:enumeration value="PayrollAdditivesStraightTimeLabor"/>
-            <xsd:enumeration value="PayrollTaxes"/>
-            <xsd:enumeration value="PecanFee"/>
-            <xsd:enumeration value="PenaltyCharge"/>
-            <xsd:enumeration value="PercentDifferential-LessThanContainer"/>
-            <xsd:enumeration value="PercentOfProduct"/>
-            <xsd:enumeration value="PercentOfShipmentValueThatIsReturnable"/>
-            <xsd:enumeration value="PercentOfShippedQuantityThatIsReturnable"/>
-            <xsd:enumeration value="PerformanceAllowance"/>
-            <xsd:enumeration value="PerformanceAward"/>
-            <xsd:enumeration value="PerItemCharge"/>
-            <xsd:enumeration value="PermitCharge"/>
-            <xsd:enumeration value="PermitsBondsEscortAttendant"/>
-            <xsd:enumeration value="PerOrderCharge"/>
-            <xsd:enumeration value="PerPoundCharge"/>
-            <xsd:enumeration value="PersonalPropertyMember"/>
-            <xsd:enumeration value="PersonalPropertySpouse"/>
-            <xsd:enumeration value="PhosphatizingSteelTreatment"/>
-            <xsd:enumeration value="PickleAndOil"/>
-            <xsd:enumeration value="PickUp"/>
-            <xsd:enumeration value="Pick-upAndDelivery"/>
-            <xsd:enumeration value="Pickup-OutOfArea"/>
-            <xsd:enumeration value="PickupSurcharge"/>
-            <xsd:enumeration value="PierChargesOtherThanWharfage"/>
-            <xsd:enumeration value="PierCharges-Wharfage"/>
-            <xsd:enumeration value="PierPick-upAndOrDelivery"/>
-            <xsd:enumeration value="PierUnloading"/>
-            <xsd:enumeration value="PilotInspection"/>
-            <xsd:enumeration value="PlacementAndOrRemovalCharge"/>
-            <xsd:enumeration value="Plating"/>
-            <xsd:enumeration value="Plus-Amount"/>
-            <xsd:enumeration value="Plus-Percentage"/>
-            <xsd:enumeration value="PlusOrMinus-Amount"/>
-            <xsd:enumeration value="PlusOrMinus-Percentage"/>
-            <xsd:enumeration value="PoleLashingEquipmentSurcharge"/>
-            <xsd:enumeration value="PoleWood-ServiceCharge"/>
-            <xsd:enumeration value="PorkFee"/>
-            <xsd:enumeration value="PortChanges"/>
-            <xsd:enumeration value="PortHandlingAndUnloading"/>
-            <xsd:enumeration value="PositioningAtOrigin"/>
-            <xsd:enumeration value="Postage"/>
-            <xsd:enumeration value="PostDamagedHandling"/>
-            <xsd:enumeration value="PotatoFee"/>
-            <xsd:enumeration value="PowerFactorAdjustment"/>
-            <xsd:enumeration value="Pre-carriage"/>
-            <xsd:enumeration value="Pre-carriageExcess"/>
-            <xsd:enumeration value="PreciousMetalContent"/>
-            <xsd:enumeration value="PreloadingCharge"/>
-            <xsd:enumeration value="PrelodgeCharge"/>
-            <xsd:enumeration value="PremiseUse"/>
-            <xsd:enumeration value="PremiumCharge"/>
-            <xsd:enumeration value="PremiumTransportation"/>
-            <xsd:enumeration value="PrepaidUsageAllowance"/>
-            <xsd:enumeration value="Preparation"/>
-            <xsd:enumeration value="PreparationAndDelivery"/>
-            <xsd:enumeration value="PreparationOfAirWaybill-Origin"/>
-            <xsd:enumeration value="PreparationOfCanadianCustomsInvoice"/>
-            <xsd:enumeration value="PreparationOfCommercialInvoice"/>
-            <xsd:enumeration value="PreparationOfExportEntry"/>
-            <xsd:enumeration value="PreparationOfInsuranceCertificate"/>
-            <xsd:enumeration value="PreparationOfUSExportDocumentation"/>
-            <xsd:enumeration value="Pre-PositionedInventoryService"/>
-            <xsd:enumeration value="PreviousBilling"/>
-            <xsd:enumeration value="PriceAdjustmentPercent"/>
-            <xsd:enumeration value="PriceAndMarketingAllowance"/>
-            <xsd:enumeration value="PriceDeviation"/>
-            <xsd:enumeration value="PriorBalance"/>
-            <xsd:enumeration value="PriorBillingAmount"/>
-            <xsd:enumeration value="PriorDeliveryOfBillCharge"/>
-            <xsd:enumeration value="PriorityService"/>
-            <xsd:enumeration value="PriorMonthCredit"/>
-            <xsd:enumeration value="PrivateOwnedVehicleProcessing"/>
-            <xsd:enumeration value="Processing"/>
-            <xsd:enumeration value="ProcessingCharge"/>
-            <xsd:enumeration value="ProcessInTransitPrivilege"/>
-            <xsd:enumeration value="ProcurementCharge"/>
-            <xsd:enumeration value="ProfessionalFees"/>
-            <xsd:enumeration value="ProformaInvoice"/>
-            <xsd:enumeration value="ProgressPaymentRequirement"/>
-            <xsd:enumeration value="PromotionalAllowance"/>
-            <xsd:enumeration value="PromotionalDiscount"/>
-            <xsd:enumeration value="ProofComposition"/>
-            <xsd:enumeration value="ProofOfDelivery"/>
-            <xsd:enumeration value="ProtectiveServiceCharge"/>
-            <xsd:enumeration value="ProtectiveService-Cold"/>
-            <xsd:enumeration value="ProtectiveService-Heat"/>
-            <xsd:enumeration value="ProvideHouseholdIdentifier"/>
-            <xsd:enumeration value="ProvideNameAndAddress"/>
-            <xsd:enumeration value="PullingEyes"/>
-            <xsd:enumeration value="PumpAirCharge"/>
-            <xsd:enumeration value="PumpCharge"/>
-            <xsd:enumeration value="PurchaseOption"/>
-            <xsd:enumeration value="QuantityDiscount"/>
-            <xsd:enumeration value="QuantitySurcharge"/>
-            <xsd:enumeration value="RailheadHandling"/>
-            <xsd:enumeration value="Ramping"/>
-            <xsd:enumeration value="RateCode"/>
-            <xsd:enumeration value="RateReductionBond"/>
-            <xsd:enumeration value="Rebate"/>
-            <xsd:enumeration value="Re-BillCharge"/>
-            <xsd:enumeration value="RebilledDrayage-Destination"/>
-            <xsd:enumeration value="RebilledDrayage-Origin"/>
-            <xsd:enumeration value="Receiving"/>
-            <xsd:enumeration value="RecipientAddressCorrection"/>
-            <xsd:enumeration value="ReclamationCenterHandlingChute"/>
-            <xsd:enumeration value="ReclamationFederal"/>
-            <xsd:enumeration value="ReclamationSharedResponsibility"/>
-            <xsd:enumeration value="ReclamationState"/>
-            <xsd:enumeration value="Reconciliation"/>
-            <xsd:enumeration value="Reconnectcharge"/>
-            <xsd:enumeration value="ReconsignConsigneeCharge"/>
-            <xsd:enumeration value="ReconsignDeliveryCharge"/>
-            <xsd:enumeration value="ReconsignmentCharge"/>
-            <xsd:enumeration value="RecooperingAtOwnersOrShippersExpense"/>
-            <xsd:enumeration value="RecordFiling"/>
-            <xsd:enumeration value="Recovery"/>
-            <xsd:enumeration value="RecoveryFee"/>
-            <xsd:enumeration value="RecratingRecoopering-Destination"/>
-            <xsd:enumeration value="RecratingRecoopering-Origin"/>
-            <xsd:enumeration value="RecurringHardwareMaintenanceCharge"/>
-            <xsd:enumeration value="RecurringLicenseFee"/>
-            <xsd:enumeration value="RecurringSoftwareMaintenanceCharge"/>
-            <xsd:enumeration value="Redelivery"/>
-            <xsd:enumeration value="RedistributionAllowance"/>
-            <xsd:enumeration value="ReductionPrepalletizedCargo"/>
-            <xsd:enumeration value="ReeferCargoPercentDifferential"/>
-            <xsd:enumeration value="ReeferMaintenance"/>
-            <xsd:enumeration value="Reel"/>
-            <xsd:enumeration value="ReelCable"/>
-            <xsd:enumeration value="ReelDeposit"/>
-            <xsd:enumeration value="Refrigeration"/>
-            <xsd:enumeration value="RefrigerationMechanicalDetention"/>
-            <xsd:enumeration value="Refund"/>
-            <xsd:enumeration value="RefurbishingCharge"/>
-            <xsd:enumeration value="Regain"/>
-            <xsd:enumeration value="RegistrationOfExportForReentry"/>
-            <xsd:enumeration value="RegistrationOfExportShipments"/>
-            <xsd:enumeration value="RegulatoryFee"/>
-            <xsd:enumeration value="RegulatoryRequiredRefund"/>
-            <xsd:enumeration value="ReliabilityCharge"/>
-            <xsd:enumeration value="RelinquishmentCharge"/>
-            <xsd:enumeration value="ReliquidationAnti-DumpingDuty"/>
-            <xsd:enumeration value="ReliquidationCountervailingDuty"/>
-            <xsd:enumeration value="ReliquidationTaxAmount"/>
-            <xsd:enumeration value="ReliquidationTotalDueUSCustomsService"/>
-            <xsd:enumeration value="ReliquidationTotalFees"/>
-            <xsd:enumeration value="RentalCharge"/>
-            <xsd:enumeration value="RentalDeduction"/>
-            <xsd:enumeration value="RentsAndLeases"/>
-            <xsd:enumeration value="RepackCharge"/>
-            <xsd:enumeration value="Repair"/>
-            <xsd:enumeration value="RepairAtBuyersExpenseCharge"/>
-            <xsd:enumeration value="RepairAtCustomerExpenseCharge"/>
-            <xsd:enumeration value="RepairAtGovernmentExpenseCharge"/>
-            <xsd:enumeration value="Repickup"/>
-            <xsd:enumeration value="RequestViaCanada"/>
-            <xsd:enumeration value="ResearchDevelopmentFee"/>
-            <xsd:enumeration value="ResellersDiscount"/>
-            <xsd:enumeration value="ResidentialDelivery"/>
-            <xsd:enumeration value="ResidentialPick-up"/>
-            <xsd:enumeration value="Respotting"/>
-            <xsd:enumeration value="RestockingCharge"/>
-            <xsd:enumeration value="RestrictedArticleFee"/>
-            <xsd:enumeration value="Retainer"/>
-            <xsd:enumeration value="ReturnableContainer"/>
-            <xsd:enumeration value="ReturnCargoCharge"/>
-            <xsd:enumeration value="ReturnedLoad"/>
-            <xsd:enumeration value="Rework"/>
-            <xsd:enumeration value="RidingAttendantCharge"/>
-            <xsd:enumeration value="RockyMountainBureau583Item1100ArbitraryCharge"/>
-            <xsd:enumeration value="RollOutAdjustment"/>
-            <xsd:enumeration value="RollRebate"/>
-            <xsd:enumeration value="Royalties"/>
-            <xsd:enumeration value="Salvage"/>
-            <xsd:enumeration value="Same-DayService"/>
-            <xsd:enumeration value="SaturdayDelivery"/>
-            <xsd:enumeration value="SaturdayPick-Up"/>
-            <xsd:enumeration value="SaturdayPick-upOrDeliveryCharge"/>
-            <xsd:enumeration value="ScaleCharge"/>
-            <xsd:enumeration value="ScaleChargeUnloading"/>
-            <xsd:enumeration value="ScrapAllowance"/>
-            <xsd:enumeration value="SecuritySignatureService"/>
-            <xsd:enumeration value="SegregatingSorting"/>
-            <xsd:enumeration value="SelectCharge"/>
-            <xsd:enumeration value="SelfUnloader"/>
-            <xsd:enumeration value="SellerHandCarry"/>
-            <xsd:enumeration value="ServiceAssistanceProgramSurcharge"/>
-            <xsd:enumeration value="ServiceCharge"/>
-            <xsd:enumeration value="ServiceChargeWithCashDiscount"/>
-            <xsd:enumeration value="ServiceUpgrade"/>
-            <xsd:enumeration value="Set-up"/>
-            <xsd:enumeration value="Shearing"/>
-            <xsd:enumeration value="SheepFee"/>
-            <xsd:enumeration value="ShipperLoad"/>
-            <xsd:enumeration value="ShipperLoadAndCount"/>
-            <xsd:enumeration value="ShipperLoadCarrierCount"/>
-            <xsd:enumeration value="ShipperLoadConsigneeUnload"/>
-            <xsd:enumeration value="Shipping"/>
-            <xsd:enumeration value="ShippingAndHandling"/>
-            <xsd:enumeration value="ShipsidePickup"/>
-            <xsd:enumeration value="ShipToStockQualityAudit"/>
-            <xsd:enumeration value="Shotblasting"/>
-            <xsd:enumeration value="ShrinkageAllowance"/>
-            <xsd:enumeration value="ShrinkAllowance"/>
-            <xsd:enumeration value="Shrink-WrapCharge"/>
-            <xsd:enumeration value="SingleFactorOriginationDestination"/>
-            <xsd:enumeration value="SingleFactorOriginationPortOfDebarkation"/>
-            <xsd:enumeration value="SingleFactorPortOfEmbarkationDestination"/>
-            <xsd:enumeration value="SingleInvoiceAllowance"/>
-            <xsd:enumeration value="SinglePick-up"/>
-            <xsd:enumeration value="SingleShipmentFee"/>
-            <xsd:enumeration value="Sleeving"/>
-            <xsd:enumeration value="SlipSheetRail"/>
-            <xsd:enumeration value="SlipSheetTruck"/>
-            <xsd:enumeration value="SlipSheetUnloadingAllowance"/>
-            <xsd:enumeration value="SlottingAllowance"/>
-            <xsd:enumeration value="SmallOrderCharge"/>
-            <xsd:enumeration value="SoftwareSupportService"/>
-            <xsd:enumeration value="SourceInspection"/>
-            <xsd:enumeration value="SpecialAllowance"/>
-            <xsd:enumeration value="SpecialBuy"/>
-            <xsd:enumeration value="SpecialCircusTrains"/>
-            <xsd:enumeration value="SpecialCredit"/>
-            <xsd:enumeration value="SpecialDelivery"/>
-            <xsd:enumeration value="SpecialDetentionCharge"/>
-            <xsd:enumeration value="SpecialEquipmentCharge"/>
-            <xsd:enumeration value="SpecialFinishCharge"/>
-            <xsd:enumeration value="SpecialFreightSupplements"/>
-            <xsd:enumeration value="SpecialHandling"/>
-            <xsd:enumeration value="SpecialMileageMovements"/>
-            <xsd:enumeration value="SpecialPackaging"/>
-            <xsd:enumeration value="SpecialPermits"/>
-            <xsd:enumeration value="SpecialPickup"/>
-            <xsd:enumeration value="SpecialPumpCharge"/>
-            <xsd:enumeration value="SpecialSealCharge"/>
-            <xsd:enumeration value="SpecialServices"/>
-            <xsd:enumeration value="SpecialTestEquipmentCharge"/>
-            <xsd:enumeration value="SpecialToolingCharge"/>
-            <xsd:enumeration value="SpecialToolingreworkcharge"/>
-            <xsd:enumeration value="SpecialTrainMovement"/>
-            <xsd:enumeration value="SpecialUse"/>
-            <xsd:enumeration value="SpecialVehicleRent"/>
-            <xsd:enumeration value="SpecificationReview"/>
-            <xsd:enumeration value="SpecificDuty"/>
-            <xsd:enumeration value="SplitDelivery"/>
-            <xsd:enumeration value="SplitPick-up"/>
-            <xsd:enumeration value="SplitPick-UpAtPierCharge"/>
-            <xsd:enumeration value="SpoolCharge"/>
-            <xsd:enumeration value="SpottingOfTrailer"/>
-            <xsd:enumeration value="SpreaderCharge"/>
-            <xsd:enumeration value="StampFee"/>
-            <xsd:enumeration value="Stamping"/>
-            <xsd:enumeration value="StandbyCharge"/>
-            <xsd:enumeration value="StateMetropolitanTransitAuthoritySurcharge"/>
-            <xsd:enumeration value="StateMotorFuel"/>
-            <xsd:enumeration value="StateSalesCharge"/>
-            <xsd:enumeration value="StateSurcharge"/>
-            <xsd:enumeration value="SteamingCharge"/>
-            <xsd:enumeration value="StencilingCharge"/>
-            <xsd:enumeration value="Stopcharge"/>
-            <xsd:enumeration value="Stop-offAtDestination"/>
-            <xsd:enumeration value="Stop-offAtOrigination"/>
-            <xsd:enumeration value="Stop-offAtPierCharge"/>
-            <xsd:enumeration value="Stop-offCharge"/>
-            <xsd:enumeration value="StoppingInTransit"/>
-            <xsd:enumeration value="Storage"/>
-            <xsd:enumeration value="StorageInTransit"/>
-            <xsd:enumeration value="StraighteningCharge"/>
-            <xsd:enumeration value="Strapping"/>
-            <xsd:enumeration value="StreetLampsCharge"/>
-            <xsd:enumeration value="StrippingSortingAndConsolidation"/>
-            <xsd:enumeration value="Stuffing"/>
-            <xsd:enumeration value="StuffingCharge"/>
-            <xsd:enumeration value="SubjectToCooperativeAdvertisingAllowance"/>
-            <xsd:enumeration value="SubjectToTaxOnResale"/>
-            <xsd:enumeration value="SufferanceWarehouseChargeExportOrImport"/>
-            <xsd:enumeration value="SugarFee"/>
-            <xsd:enumeration value="SumOfAddsAndDeductsToMakeMarketValue"/>
-            <xsd:enumeration value="SundayOrHolidayPick-upOrDelivery"/>
-            <xsd:enumeration value="SuperBagCharge"/>
-            <xsd:enumeration value="SupervisorCharge"/>
-            <xsd:enumeration value="SupplementalDuty"/>
-            <xsd:enumeration value="SupplementalItems"/>
-            <xsd:enumeration value="Surcharge"/>
-            <xsd:enumeration value="SuretyBond"/>
-            <xsd:enumeration value="Swell"/>
-            <xsd:enumeration value="SwitchCharge"/>
-            <xsd:enumeration value="SwitchingCharge"/>
-            <xsd:enumeration value="TankCarAllowance"/>
-            <xsd:enumeration value="TankRental"/>
-            <xsd:enumeration value="Tarping"/>
-            <xsd:enumeration value="Tax"/>
-            <xsd:enumeration value="Tax-AirportTaxDestination"/>
-            <xsd:enumeration value="Tax-AirportTaxOrigin"/>
-            <xsd:enumeration value="Tax-BeverageTax"/>
-            <xsd:enumeration value="Tax-CitySalesTaxOnly"/>
-            <xsd:enumeration value="TaxCredit"/>
-            <xsd:enumeration value="Tax-ExciseTax-Destination"/>
-            <xsd:enumeration value="Tax-ExciseTax-Origin"/>
-            <xsd:enumeration value="Tax-FederalExciseTax"/>
-            <xsd:enumeration value="Tax-FederalExciseTaxOnTires"/>
-            <xsd:enumeration value="Tax-Governmental"/>
-            <xsd:enumeration value="Tax-HandlingChargeTax"/>
-            <xsd:enumeration value="TaxLiability-Amortized"/>
-            <xsd:enumeration value="TaxLiability-OneTime"/>
-            <xsd:enumeration value="Tax-LocalSalesTax"/>
-            <xsd:enumeration value="Tax-LocalTax"/>
-            <xsd:enumeration value="Tax-MetropolitanTransitTax"/>
-            <xsd:enumeration value="TaxOnMiscellaneousCharges"/>
-            <xsd:enumeration value="TaxOnTransportation"/>
-            <xsd:enumeration value="Tax-RegulatoryTax"/>
-            <xsd:enumeration value="Tax-SalesandUse"/>
-            <xsd:enumeration value="Tax-SalesTaxStateAndLocal"/>
-            <xsd:enumeration value="Tax-StateHazardousSubstance"/>
-            <xsd:enumeration value="Tax-StateTax"/>
-            <xsd:enumeration value="Tax-SuperFundExciseTax"/>
-            <xsd:enumeration value="Tax-UseTax"/>
-            <xsd:enumeration value="Tax-ValueAddedTax"/>
-            <xsd:enumeration value="TeaFee"/>
-            <xsd:enumeration value="TechnologyExchange"/>
-            <xsd:enumeration value="TelegramChargeback"/>
-            <xsd:enumeration value="TelephoneCharge"/>
-            <xsd:enumeration value="Telephone-Destination"/>
-            <xsd:enumeration value="Telephone-Origin"/>
-            <xsd:enumeration value="TemperatureProtection"/>
-            <xsd:enumeration value="TemporaryAllowance"/>
-            <xsd:enumeration value="TemporaryVoluntaryAllowance"/>
-            <xsd:enumeration value="TenderedAsTruckload"/>
-            <xsd:enumeration value="TerminalCharge"/>
-            <xsd:enumeration value="TerminalDifferential"/>
-            <xsd:enumeration value="TerminalHandlingCharges"/>
-            <xsd:enumeration value="TerminalServiceFee"/>
-            <xsd:enumeration value="TermsAllowance"/>
-            <xsd:enumeration value="Testing"/>
-            <xsd:enumeration value="TestingServicesCharge"/>
-            <xsd:enumeration value="TestQualificationCharge"/>
-            <xsd:enumeration value="ThirdPartyAllowance"/>
-            <xsd:enumeration value="ThirdPartyPallets"/>
-            <xsd:enumeration value="ThroughputAllowance"/>
-            <xsd:enumeration value="ThroughputContainerCharge"/>
-            <xsd:enumeration value="ThruwayCharge"/>
-            <xsd:enumeration value="TicketingService"/>
-            <xsd:enumeration value="TobaccoProductsReportCharge"/>
-            <xsd:enumeration value="TOFCServiceCharge"/>
-            <xsd:enumeration value="ToolCharge"/>
-            <xsd:enumeration value="Tooling"/>
-            <xsd:enumeration value="ToolingReworkCharge"/>
-            <xsd:enumeration value="ToolsForPrinting"/>
-            <xsd:enumeration value="TotalOther"/>
-            <xsd:enumeration value="TotalAssessorialCharges"/>
-            <xsd:enumeration value="TotalDueUSCustomsService"/>
-            <xsd:enumeration value="TotalFees"/>
-            <xsd:enumeration value="TotalInvoiceAmount"/>
-            <xsd:enumeration value="TotalInvoiceAmountNon-USDollars"/>
-            <xsd:enumeration value="TotalInvoiceAmountUSDollars"/>
-            <xsd:enumeration value="TotalMaterialInvoiceAmount"/>
-            <xsd:enumeration value="TracingInboundViaOtherCarriers"/>
-            <xsd:enumeration value="TracingServiceFee"/>
-            <xsd:enumeration value="TrackStorage"/>
-            <xsd:enumeration value="TradeDiscount"/>
-            <xsd:enumeration value="TradeIn"/>
-            <xsd:enumeration value="TrailerRentalCharge"/>
-            <xsd:enumeration value="TransferCharge"/>
-            <xsd:enumeration value="TransferOfLadingCharge"/>
-            <xsd:enumeration value="TransferredCharges"/>
-            <xsd:enumeration value="Transit"/>
-            <xsd:enumeration value="TransmissionCharge"/>
-            <xsd:enumeration value="TransportationAndSetup"/>
-            <xsd:enumeration value="TransportationChargeMinimumRate"/>
-            <xsd:enumeration value="TransportationDirectBilling"/>
-            <xsd:enumeration value="TransportationThirdPartyBilling"/>
-            <xsd:enumeration value="TransportationVendorProvided"/>
-            <xsd:enumeration value="TrimmingCharge"/>
-            <xsd:enumeration value="TruckDetention"/>
-            <xsd:enumeration value="TruckloadDiscount"/>
-            <xsd:enumeration value="TurningCharge"/>
-            <xsd:enumeration value="Two-DayService"/>
-            <xsd:enumeration value="TwoDoorPickUp"/>
-            <xsd:enumeration value="UnabsorbedSwitching"/>
-            <xsd:enumeration value="Unitized"/>
-            <xsd:enumeration value="Unloading"/>
-            <xsd:enumeration value="UnloadingLaborCharges"/>
-            <xsd:enumeration value="UnloadingReloadingCharge"/>
-            <xsd:enumeration value="UnsaleableMerchandiseAllowance"/>
-            <xsd:enumeration value="UnscheduledFee"/>
-            <xsd:enumeration value="UpCharge"/>
-            <xsd:enumeration value="UsagePlanDetailCharge"/>
-            <xsd:enumeration value="USCustomsServiceFlatAssistAmount"/>
-            <xsd:enumeration value="USCustomsServiceMaximumAssistAmount"/>
-            <xsd:enumeration value="USDAInspectedStampingCertification"/>
-            <xsd:enumeration value="UseChargeToolingPersonnel"/>
-            <xsd:enumeration value="Use-SpecialTypeFlatCar"/>
-            <xsd:enumeration value="USVehicles"/>
-            <xsd:enumeration value="ValuationFee"/>
-            <xsd:enumeration value="VanCleaning"/>
-            <xsd:enumeration value="VehicleOrderedButNotUsed"/>
-            <xsd:enumeration value="VehiclePrepChargeCourtesyDelivery"/>
-            <xsd:enumeration value="VehicleRoadCharge"/>
-            <xsd:enumeration value="VendorFreight"/>
-            <xsd:enumeration value="VentingInstructions"/>
-            <xsd:enumeration value="VirginIslandTransferCharge"/>
-            <xsd:enumeration value="VolumeDiscount"/>
-            <xsd:enumeration value="VoluntaryContributionCharge"/>
-            <xsd:enumeration value="WaitingTime"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="Warehousing"/>
-            <xsd:enumeration value="Warranties"/>
-            <xsd:enumeration value="WarRiskCrewInsurance"/>
-            <xsd:enumeration value="WarRiskInsurance"/>
-            <xsd:enumeration value="WarRiskSurcharge"/>
-            <xsd:enumeration value="WastedFutileTrip"/>
-            <xsd:enumeration value="WatermelonFee"/>
-            <xsd:enumeration value="WaybillAndInvoiceDistribution"/>
-            <xsd:enumeration value="WeatherProtection"/>
-            <xsd:enumeration value="WeightVerificationCharge"/>
-            <xsd:enumeration value="Wharfage-Breakbulk"/>
-            <xsd:enumeration value="WharfageCharge"/>
-            <xsd:enumeration value="Wharfage-Container"/>
-            <xsd:enumeration value="WharfageHandling"/>
-            <xsd:enumeration value="WideAreaTelephoneServiceUsageCredit"/>
-            <xsd:enumeration value="WillCallCharge"/>
-            <xsd:enumeration value="WrittenProofOfDelivery"/>
-            <xsd:enumeration value="X-rayCharge"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="BasisMonetaryRange">
-        <xsd:choice>
-            <xsd:element ref="MonetaryRange"/>
-            <xsd:element ref="MonetaryLimit"/>
-        </xsd:choice>
-    </xsd:complexType>
-    <xsd:element name="BasisMonetaryRange" type="BasisMonetaryRange"/>
-    <xsd:complexType name="MonetaryRange">
-        <xsd:sequence>
-            <xsd:element name="MinimumMonetaryValue" type="Decimal21_6"/>
-            <xsd:element name="MaximumMonetaryValue" type="Decimal21_6"/>
-            <xsd:element ref="Currency"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="MonetaryRange" type="MonetaryRange"/>
-    <xsd:complexType name="MonetaryLimit">
-        <xsd:sequence>
-            <xsd:element name="MonetaryLimitValue" type="Decimal21_6"/>
-            <xsd:element ref="Currency"/>
-        </xsd:sequence>
-        <xsd:attribute name="SignificanceCoded" type="SignificanceCode" use="optional"/>
-        <xsd:attribute name="SignificanceCodedOther" type="xsd:string" use="optional"/>
-    </xsd:complexType>
-    <xsd:element name="MonetaryLimit" type="MonetaryLimit"/>
-    <xsd:complexType name="TypeOfAllowanceOrCharge">
-        <xsd:choice>
-            <xsd:element ref="QuantityAllowanceOrCharge"/>
-            <xsd:element ref="PercentageAllowanceOrCharge"/>
-            <xsd:element ref="MonetaryValue"/>
-        </xsd:choice>
-    </xsd:complexType>
-    <xsd:element name="TypeOfAllowanceOrCharge" type="TypeOfAllowanceOrCharge"/>
-    <xsd:complexType name="QuantityAllowanceOrCharge">
-        <xsd:sequence>
-            <xsd:element ref="Quantity"/>
-            <xsd:element ref="Rate"/>
-            <xsd:element minOccurs="0" name="QuantityMonetaryValue">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="MonetaryValue"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="QuantityAllowanceOrCharge" type="QuantityAllowanceOrCharge"/>
-    <xsd:complexType name="Rate">
-        <xsd:sequence>
-            <xsd:element name="RatePerUnit">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="UnitPrice"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="UnitPriceBasis" type="Decimal18_3"/>
-            <xsd:element minOccurs="0" ref="UnitOfMeasurement"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Rate" type="Rate"/>
-    <xsd:simpleType name="Decimal18_3">
-        <xsd:restriction base="xsd:decimal">
-            <xsd:totalDigits value="18"/>
-            <xsd:fractionDigits value="3"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="PercentageAllowanceOrCharge">
-        <xsd:sequence>
-            <xsd:element ref="PercentQualifier"/>
-            <xsd:element name="Percent" type="Decimal10_4"/>
-            <xsd:element minOccurs="0" name="PercentageMonetaryValue">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="MonetaryValue"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PercentageAllowanceOrCharge" type="PercentageAllowanceOrCharge"/>
-    <xsd:complexType name="PercentQualifier">
-        <xsd:sequence>
-            <xsd:element name="PercentQualifierCoded" type="PercentQualifierCode"/>
-            <xsd:element minOccurs="0" name="PercentQualifierCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PercentQualifier" type="PercentQualifier"/>
-    <xsd:simpleType name="PercentQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="ItemListCost"/>
-            <xsd:enumeration value="ItemNetCost"/>
-            <xsd:enumeration value="Discount-Gross"/>
-            <xsd:enumeration value="Discount-Net"/>
-            <xsd:enumeration value="BasePriceperUnit"/>
-            <xsd:enumeration value="BasePriceAmount"/>
-            <xsd:enumeration value="BasePriceAmountLessPreviousDiscount"/>
-            <xsd:enumeration value="NetMonthlyOnAllInvoicesPastDue"/>
-            <xsd:enumeration value="LatePaymentChargeBaseAmount"/>
-            <xsd:enumeration value="FuelRate"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="RoundTripInformation">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="Immutable" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" name="ReLink" type="xsd:anyURI"/>
-            <xsd:element minOccurs="0" name="SupplierShoppingCartID" type="xsd:string"/>
-        </xsd:sequence>
-        <xsd:attribute name="RoundTripOrder" type="xcblBoolean" fixed="true"/>
-    </xsd:complexType>
-    <xsd:element name="RoundTripInformation" type="RoundTripInformation"/>
-    <xsd:complexType name="ListOfStructuredNote">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="StructuredNote"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfStructuredNote" type="ListOfStructuredNote"/>
-    <xsd:complexType name="StructuredNote">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="GeneralNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="NoteID" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Agency"/>
-            <xsd:element minOccurs="0" name="NoteURL" type="xsd:anyURI"/>
-            <xsd:element minOccurs="0" name="TextTypeCoded" type="TextTypeCode"/>
-            <xsd:element minOccurs="0" name="TextTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="StructuredNote" type="StructuredNote"/>
-    <xsd:simpleType name="TextTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Deadlines"/>
-            <xsd:enumeration value="Warranties"/>
-            <xsd:enumeration value="PenaltyForBreachOfContract"/>
-            <xsd:enumeration value="Guarantees"/>
-            <xsd:enumeration value="ContractRiders"/>
-            <xsd:enumeration value="Asset"/>
-            <xsd:enumeration value="OtherContractualStipulations"/>
-            <xsd:enumeration value="InfoRecordPOText"/>
-            <xsd:enumeration value="MaterialPOText"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfNameValueSet">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="NameValueSet"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfNameValueSet" type="ListOfNameValueSet"/>
-    <xsd:complexType name="NameValueSet">
-        <xsd:sequence>
-            <xsd:element name="SetName" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SetID" type="xsd:string"/>
-            <xsd:element ref="ListOfNameValuePair"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="NameValueSet" type="NameValueSet"/>
-    <xsd:complexType name="ListOfNameValuePair">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="NameValuePair"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfNameValuePair" type="ListOfNameValuePair"/>
-    <xsd:complexType name="NameValuePair">
-        <xsd:sequence>
-            <xsd:element name="Name" type="xsd:string"/>
-            <xsd:element name="Value" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Datatype" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="NameValuePair" type="NameValuePair"/>
-    <xsd:complexType name="ListOfAttachment">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Attachment"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfAttachment" type="ListOfAttachment"/>
-    <xsd:complexType name="Attachment">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="AttachmentActionCoded" type="AttachmentActionCode"/>
-            <xsd:element minOccurs="0" name="AttachmentActionCodedOther" type="xsd:string"/>
-            <xsd:element name="AttachmentPurpose" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FileName" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="AttachmentTitle" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="AttachmentDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Language"/>
-            <xsd:element minOccurs="0" name="MIMEType" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ReplacementFile" type="xcblBoolean"/>
-            <xsd:element name="AttachmentLocation" type="xsd:anyURI"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Attachment" type="Attachment"/>
-    <xsd:simpleType name="AttachmentActionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Add"/>
-            <xsd:enumeration value="Update"/>
-            <xsd:enumeration value="Delete"/>
-            <xsd:enumeration value="NoChange"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="OrderDetail">
-        <xsd:sequence>
-            <xsd:element ref="ListOfItemDetail"/>
-            <xsd:element minOccurs="0" ref="ListOfPackageDetail"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderDetail" type="OrderDetail"/>
-    <xsd:complexType name="ListOfItemDetail">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ItemDetail"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfItemDetail" type="ListOfItemDetail"/>
-    <xsd:complexType name="ItemDetail">
-        <xsd:sequence>
-            <xsd:element ref="BaseItemDetail"/>
-            <xsd:element minOccurs="0" ref="PricingDetail"/>
-            <xsd:element minOccurs="0" ref="DeliveryDetail"/>
-            <xsd:element minOccurs="0" ref="RoundTripInformation"/>
-            <xsd:element minOccurs="0" name="LineItemNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfStructuredNote"/>
-            <xsd:element minOccurs="0" ref="ListOfNameValueSet"/>
-            <xsd:element minOccurs="0" name="LineItemAttachments">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfAttachment"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ItemDetail" type="ItemDetail"/>
-    <xsd:complexType name="BaseItemDetail">
-        <xsd:sequence>
-            <xsd:element ref="LineItemNum"/>
-            <xsd:element minOccurs="0" ref="LineItemType"/>
-            <xsd:element minOccurs="0" name="ParentItemNumber">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="LineItemNumberReference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ItemIdentifiers"/>
-            <xsd:element minOccurs="0" ref="ListOfDimension"/>
-            <xsd:element minOccurs="0" name="TotalQuantity">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="MaxBackOrderQuantity">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ListOfQuantityCoded"/>
-            <xsd:element minOccurs="0" name="OffCatalogFlag" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" ref="CatalogReference"/>
-            <xsd:element minOccurs="0" name="ItemContractReferences">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfContractItem"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ListOfItemReferences">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfReferenceCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="CountryOfOrigin">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Country"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="CountryOfDestination">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Country"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="FinalRecipient">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ListOfPartyCoded"/>
-            <xsd:element minOccurs="0" ref="ConditionsOfSale"/>
-            <xsd:element minOccurs="0" name="HazardousMaterials">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Hazardous"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="BaseItemDetail" type="BaseItemDetail"/>
-    <xsd:complexType name="LineItemNum">
-        <xsd:sequence>
-            <xsd:element name="BuyerLineItemNum" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="SellerLineItemNum" type="xsd:int"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="LineItemNum" type="LineItemNum"/>
-    <xsd:complexType name="LineItemType">
-        <xsd:sequence>
-            <xsd:element name="LineItemTypeCoded" type="LineItemTypeCode"/>
-            <xsd:element minOccurs="0" name="LineItemTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="LineItemType" type="LineItemType"/>
-    <xsd:simpleType name="LineItemTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Item"/>
-            <xsd:enumeration value="ComponentGroup"/>
-            <xsd:enumeration value="TextItem"/>
-            <xsd:enumeration value="Other"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="LineItemNumberReference">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:int">
-                <xsd:attribute name="LineItemNumTypeCoded" type="LineItemNumTypeCode" use="optional" default="Buyer"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="LineItemNumberReference" type="LineItemNumberReference"/>
-    <xsd:simpleType name="LineItemNumTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Buyer"/>
-            <xsd:enumeration value="Seller"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ItemIdentifiers">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" ref="PartNumbers"/>
-            <xsd:element minOccurs="0" name="Service" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" name="ItemDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfItemCharacteristic"/>
-            <xsd:element minOccurs="0" name="CommodityCode">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="Category"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ItemIdentifiers" type="ItemIdentifiers"/>
-    <xsd:complexType name="PartNumbers">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="SellerPartNumber">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="PartNum"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="BuyerPartNumber">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="PartNum"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ManufacturerPartNumber"/>
-            <xsd:element minOccurs="0" name="StandardPartNumber">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ProductIdentifierCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="SubstitutePartNumbers">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfProductIdentifierCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OtherItemIdentifiers">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfProductIdentifierCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PartNumbers" type="PartNumbers"/>
-    <xsd:complexType name="PartNum">
-        <xsd:sequence>
-            <xsd:element name="PartID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="PartIDExt" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="RevisionNumber" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PartNum" type="PartNum"/>
-    <xsd:complexType name="ManufacturerPartNumber">
-        <xsd:complexContent>
-            <xsd:extension base="PartNum">
-                <xsd:sequence>
-                    <xsd:element minOccurs="0" name="ManufacturerID">
-                        <xsd:complexType>
-                            <xsd:sequence>
-                                <xsd:element ref="Identifier"/>
-                            </xsd:sequence>
-                        </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element minOccurs="0" name="ManufacturerName" type="xsd:string"/>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:element name="ManufacturerPartNumber" type="ManufacturerPartNumber"/>
-    <xsd:complexType name="ProductIdentifierCoded">
-        <xsd:sequence>
-            <xsd:element name="ProductIdentifierQualifierCoded" type="ProductIdentifierQualifierCode"/>
-            <xsd:element minOccurs="0" name="ProductIdentifierQualifierCodedOther" type="xsd:string"/>
-            <xsd:element name="ProductIdentifier" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ProductIdentifierExt" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ProductIdentifierCoded" type="ProductIdentifierCoded"/>
-    <xsd:simpleType name="ProductIdentifierQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AdditionalProductIdentificationAssignedByTheManufacturer"/>
-            <xsd:enumeration value="AdvertisingPackageIdentificationCode"/>
-            <xsd:enumeration value="Age"/>
-            <xsd:enumeration value="AggregationCode"/>
-            <xsd:enumeration value="AirTransportationAssociationProprietaryRightsCode"/>
-            <xsd:enumeration value="AllocationMethodologyIdentificationCode"/>
-            <xsd:enumeration value="AlternateISBN"/>
-            <xsd:enumeration value="AmericanDentalAssociationCodes"/>
-            <xsd:enumeration value="AmericanTruckingAssociationsAssembly"/>
-            <xsd:enumeration value="AmericanTruckingAssociationsPart"/>
-            <xsd:enumeration value="AmericanTruckingAssociationsSystem"/>
-            <xsd:enumeration value="Anniversary"/>
-            <xsd:enumeration value="ApplicationCompletionMethod"/>
-            <xsd:enumeration value="ApplicationState"/>
-            <xsd:enumeration value="AppraisalProductType"/>
-            <xsd:enumeration value="AppraisalService"/>
-            <xsd:enumeration value="ARNICPartNumber"/>
-            <xsd:enumeration value="Assembly"/>
-            <xsd:enumeration value="AssemblyLotNumber"/>
-            <xsd:enumeration value="AssetCategory"/>
-            <xsd:enumeration value="AssetNumber"/>
-            <xsd:enumeration value="AssetType"/>
-            <xsd:enumeration value="AssortabilityCode"/>
-            <xsd:enumeration value="AuthorCode"/>
-            <xsd:enumeration value="AuthorizedPartsListNumber"/>
-            <xsd:enumeration value="AutomaticTransmissionSerialNumber"/>
-            <xsd:enumeration value="AuxiliaryTransmissionSerialNumber"/>
-            <xsd:enumeration value="AuxillaryTransmission"/>
-            <xsd:enumeration value="AxleRatio"/>
-            <xsd:enumeration value="AxleSerialNumber"/>
-            <xsd:enumeration value="Backing"/>
-            <xsd:enumeration value="BaleNumber"/>
-            <xsd:enumeration value="Bar-CodedSerialNumber"/>
-            <xsd:enumeration value="BatchNumber"/>
-            <xsd:enumeration value="BeamNumber"/>
-            <xsd:enumeration value="BenefitID"/>
-            <xsd:enumeration value="BeverageCommonCode"/>
-            <xsd:enumeration value="BillboardsCommercial"/>
-            <xsd:enumeration value="BillCreditCode"/>
-            <xsd:enumeration value="BillSubgroupCode"/>
-            <xsd:enumeration value="BindingCode"/>
-            <xsd:enumeration value="BrandOrLabel"/>
-            <xsd:enumeration value="BrokerPriceOpinionService"/>
-            <xsd:enumeration value="BusBodySerialNumber"/>
-            <xsd:enumeration value="BuyerGroundShadeIdentifier"/>
-            <xsd:enumeration value="BuyersCatalogNumber"/>
-            <xsd:enumeration value="BuyersColor"/>
-            <xsd:enumeration value="BuyersEndProductNumber"/>
-            <xsd:enumeration value="BuyersEngineeringChangeLevelNumber"/>
-            <xsd:enumeration value="BuyersInternalProductGroupCode"/>
-            <xsd:enumeration value="BuyersItemNumber"/>
-            <xsd:enumeration value="BuyersPartNumber"/>
-            <xsd:enumeration value="BuyersQualifierForSize"/>
-            <xsd:enumeration value="BuyersSizeCode"/>
-            <xsd:enumeration value="BuyersStyleNumber"/>
-            <xsd:enumeration value="BuyersSublineItemNumber"/>
-            <xsd:enumeration value="CAGECode"/>
-            <xsd:enumeration value="CandidateOil"/>
-            <xsd:enumeration value="Carry-OverPartNumber"/>
-            <xsd:enumeration value="Case"/>
-            <xsd:enumeration value="CatalogNumber"/>
-            <xsd:enumeration value="Channel"/>
-            <xsd:enumeration value="ChassisSerialNumber"/>
-            <xsd:enumeration value="ChemicalAbstractServiceRegistryNumber"/>
-            <xsd:enumeration value="Classification"/>
-            <xsd:enumeration value="ClassOfContractCode"/>
-            <xsd:enumeration value="CLEICode"/>
-            <xsd:enumeration value="CognizanceSymbol"/>
-            <xsd:enumeration value="ColdRollNumber"/>
-            <xsd:enumeration value="Color"/>
-            <xsd:enumeration value="CombinedNCCMAOrBankServiceCode"/>
-            <xsd:enumeration value="CommissionIdentifier"/>
-            <xsd:enumeration value="CommissionYear"/>
-            <xsd:enumeration value="CommitteeForUniformSecurityIdentificationProcedureNumber"/>
-            <xsd:enumeration value="CommodityGrouping"/>
-            <xsd:enumeration value="CommodityName"/>
-            <xsd:enumeration value="CommonLanguageEquipmentIdentifier"/>
-            <xsd:enumeration value="Company-OwnedUnitTrainNumber"/>
-            <xsd:enumeration value="CompanyPartNumber"/>
-            <xsd:enumeration value="CompatibleCutNumber"/>
-            <xsd:enumeration value="CompensationAllocationCode"/>
-            <xsd:enumeration value="CompensationTypeCode"/>
-            <xsd:enumeration value="CompletionNumber"/>
-            <xsd:enumeration value="ConceptCode"/>
-            <xsd:enumeration value="ConfigurationItemIdentifier"/>
-            <xsd:enumeration value="ConnectorType"/>
-            <xsd:enumeration value="Continuation"/>
-            <xsd:enumeration value="ContractActivityCode"/>
-            <xsd:enumeration value="ContractBreakdown"/>
-            <xsd:enumeration value="ContractChangeAuthorizationType"/>
-            <xsd:enumeration value="ContractNumber"/>
-            <xsd:enumeration value="ContractorEstablishmentCode"/>
-            <xsd:enumeration value="ContractTransferReasonCode"/>
-            <xsd:enumeration value="ContributionYear"/>
-            <xsd:enumeration value="ControlNumber"/>
-            <xsd:enumeration value="CountryFromWhichProcured"/>
-            <xsd:enumeration value="CountryOfOriginCode"/>
-            <xsd:enumeration value="CouponFamilyCode"/>
-            <xsd:enumeration value="CouponNumber"/>
-            <xsd:enumeration value="CoverageRiskType"/>
-            <xsd:enumeration value="CoverageType"/>
-            <xsd:enumeration value="CurrentProceduralTerminologyCodes"/>
-            <xsd:enumeration value="CustomerCompanyRegistryNumber"/>
-            <xsd:enumeration value="CustomerOrderNumber"/>
-            <xsd:enumeration value="CustomerProvidedEquipment"/>
-            <xsd:enumeration value="CustomsArticleNumber"/>
-            <xsd:enumeration value="CutNumber"/>
-            <xsd:enumeration value="DataCategory"/>
-            <xsd:enumeration value="DepartmentOfDefenseIdentificationCode"/>
-            <xsd:enumeration value="DepositItemNumber"/>
-            <xsd:enumeration value="DesignNumber"/>
-            <xsd:enumeration value="DeviceFamily"/>
-            <xsd:enumeration value="DeviceType"/>
-            <xsd:enumeration value="DiagnosisCodePointer"/>
-            <xsd:enumeration value="DieNumber"/>
-            <xsd:enumeration value="DiscontinuedPartNumber"/>
-            <xsd:enumeration value="DiscountGrouping"/>
-            <xsd:enumeration value="Distributor"/>
-            <xsd:enumeration value="DividendUse"/>
-            <xsd:enumeration value="DocumentIdentificationCode"/>
-            <xsd:enumeration value="Drawing"/>
-            <xsd:enumeration value="DrawingRevisionNumber"/>
-            <xsd:enumeration value="DrugUPCConsumerPackageCode1-4-6-1"/>
-            <xsd:enumeration value="DrugUPCShippingContainerCode1-2-4-6-1"/>
-            <xsd:enumeration value="DunAndBradstreetStandardProductAndServiceCode"/>
-            <xsd:enumeration value="DyeLotNumber"/>
-            <xsd:enumeration value="EAN2-5-5-1"/>
-            <xsd:enumeration value="EAN-99In-StoreCouponCode"/>
-            <xsd:enumeration value="EditionCode"/>
-            <xsd:enumeration value="EndItemNumber"/>
-            <xsd:enumeration value="End-ItemDescription"/>
-            <xsd:enumeration value="EngineDisplacementIdentification"/>
-            <xsd:enumeration value="EngineeringChangeLevel"/>
-            <xsd:enumeration value="EngineeringDataList"/>
-            <xsd:enumeration value="EngineSerialNumber"/>
-            <xsd:enumeration value="EquipmentCodePerCOPASStandard"/>
-            <xsd:enumeration value="EquipmentHierarchicalSequenceIdentifier"/>
-            <xsd:enumeration value="EquipmentIdentificationNumber"/>
-            <xsd:enumeration value="EquipmentLocation"/>
-            <xsd:enumeration value="EquipmentType"/>
-            <xsd:enumeration value="EventType"/>
-            <xsd:enumeration value="ExchangedPartOrAssemblyOrProduct"/>
-            <xsd:enumeration value="Exhibit"/>
-            <xsd:enumeration value="ExhibitIdentifier"/>
-            <xsd:enumeration value="ExhibitLineItemNumber"/>
-            <xsd:enumeration value="ExpendableContainerIdentification"/>
-            <xsd:enumeration value="ExpenseIdentifier"/>
-            <xsd:enumeration value="FAAServiceBulletinNumber"/>
-            <xsd:enumeration value="FabricPiecesPerRoll"/>
-            <xsd:enumeration value="FailedSubassemblyModelNumber"/>
-            <xsd:enumeration value="FailedSubassemblySerialNumber"/>
-            <xsd:enumeration value="FannieMaeAffordableLendingProductCode"/>
-            <xsd:enumeration value="FannieMaeProjectCondominiumClassificationCode"/>
-            <xsd:enumeration value="Feature"/>
-            <xsd:enumeration value="FederalSupplyClassification"/>
-            <xsd:enumeration value="FifthWheelSerialNumber"/>
-            <xsd:enumeration value="FinalTestLotNumber"/>
-            <xsd:enumeration value="FinancialPhase"/>
-            <xsd:enumeration value="FinishLotNumber"/>
-            <xsd:enumeration value="FinishNumber"/>
-            <xsd:enumeration value="FinishOrHandStandardReference"/>
-            <xsd:enumeration value="FirePump"/>
-            <xsd:enumeration value="FirstPriorIdentifier"/>
-            <xsd:enumeration value="FormerPublisher"/>
-            <xsd:enumeration value="FormNumber"/>
-            <xsd:enumeration value="FreddieMacAffordableLendingProductCode"/>
-            <xsd:enumeration value="FreddieMacProjectCondominiumClassificationCode"/>
-            <xsd:enumeration value="FrontAxle-Rear"/>
-            <xsd:enumeration value="FrontAxleDrivenSerialNumber"/>
-            <xsd:enumeration value="FrontAxleNonDrivenSerialNumber"/>
-            <xsd:enumeration value="FrontAxleSerialNumber"/>
-            <xsd:enumeration value="FuelTankSerialNumber"/>
-            <xsd:enumeration value="Fund"/>
-            <xsd:enumeration value="FundAbbreviation"/>
-            <xsd:enumeration value="FundManager"/>
-            <xsd:enumeration value="FundSub-Advisor"/>
-            <xsd:enumeration value="FundType"/>
-            <xsd:enumeration value="GASFLOWInvoicePostingCode"/>
-            <xsd:enumeration value="GASFLOWProductorServiceChargeCode"/>
-            <xsd:enumeration value="Gathering"/>
-            <xsd:enumeration value="GearRatio"/>
-            <xsd:enumeration value="GeneralSpecificationNumber"/>
-            <xsd:enumeration value="GenericNameDescription"/>
-            <xsd:enumeration value="GliderKit"/>
-            <xsd:enumeration value="GradeCode"/>
-            <xsd:enumeration value="GradeName"/>
-            <xsd:enumeration value="GrainDirection"/>
-            <xsd:enumeration value="GraphicsIndustryBarCode"/>
-            <xsd:enumeration value="GroundShadeStandardReference"/>
-            <xsd:enumeration value="GroupID"/>
-            <xsd:enumeration value="GroupQualifierCode"/>
-            <xsd:enumeration value="GTIN"/>
-            <xsd:enumeration value="HarmonisedSystem"/>
-            <xsd:enumeration value="HCPCS"/>
-            <xsd:enumeration value="HeatNumber"/>
-            <xsd:enumeration value="HIBC-HealthIndustryBarCode"/>
-            <xsd:enumeration value="HIBCSupplierLabelingStandardPrimaryDataMessage"/>
-            <xsd:enumeration value="HIECProductOrServiceCode"/>
-            <xsd:enumeration value="HotRollNumber"/>
-            <xsd:enumeration value="ICD-9-CM-Procedure"/>
-            <xsd:enumeration value="IgnitionKeyNumber"/>
-            <xsd:enumeration value="Imprint-TrademarkCodeOfSubsidiary"/>
-            <xsd:enumeration value="IndustryCommodityCode"/>
-            <xsd:enumeration value="InformationMediaType"/>
-            <xsd:enumeration value="Ingredient"/>
-            <xsd:enumeration value="InsurancePlanDescriptionCharacteristics"/>
-            <xsd:enumeration value="InsurersFundCode"/>
-            <xsd:enumeration value="InterchangeabilityCode"/>
-            <xsd:enumeration value="InteriorColorNumber"/>
-            <xsd:enumeration value="InternalNumber"/>
-            <xsd:enumeration value="InternationalArticleNumberingAssociation"/>
-            <xsd:enumeration value="ICD-9-CM-Diagnosis"/>
-            <xsd:enumeration value="InternationalHarmonizedCommodityCode"/>
-            <xsd:enumeration value="InternationalStandardBookNumber"/>
-            <xsd:enumeration value="InvestmentFundType"/>
-            <xsd:enumeration value="IRSQualificationCode"/>
-            <xsd:enumeration value="ISBN"/>
-            <xsd:enumeration value="ISSN"/>
-            <xsd:enumeration value="ItemManagementCode"/>
-            <xsd:enumeration value="ItemTypeNumber"/>
-            <xsd:enumeration value="JobNumber"/>
-            <xsd:enumeration value="JobSequenceNumber"/>
-            <xsd:enumeration value="JointLifeType"/>
-            <xsd:enumeration value="JurisdictionSpecificProcedureAndSupplyCodes"/>
-            <xsd:enumeration value="KanbanPlanNumber"/>
-            <xsd:enumeration value="LaboratorySampleIdentification"/>
-            <xsd:enumeration value="LaboratoryTestConditionCode"/>
-            <xsd:enumeration value="LaborGroup"/>
-            <xsd:enumeration value="LeaseNumber"/>
-            <xsd:enumeration value="LibraryOfCongressCode"/>
-            <xsd:enumeration value="LifeOrAnnuityProductCode"/>
-            <xsd:enumeration value="LifeOrAnnuityServiceFeatures"/>
-            <xsd:enumeration value="LiftGateSerialNumber"/>
-            <xsd:enumeration value="LineOfAuthority"/>
-            <xsd:enumeration value="LineOfBusiness"/>
-            <xsd:enumeration value="LoadSequence"/>
-            <xsd:enumeration value="LocallyAssignedControlNumber"/>
-            <xsd:enumeration value="LocalStockNumber"/>
-            <xsd:enumeration value="LocationCode"/>
-            <xsd:enumeration value="LOINCCodes"/>
-            <xsd:enumeration value="LotNumber"/>
-            <xsd:enumeration value="LotPricingUnitNumber"/>
-            <xsd:enumeration value="MachineNumber"/>
-            <xsd:enumeration value="MaintenanceIndexPageReferenceNumber"/>
-            <xsd:enumeration value="MajorProductOrMaterialOrMachineType"/>
-            <xsd:enumeration value="ManualTransmissionSerialNumber"/>
-            <xsd:enumeration value="Manufacturer"/>
-            <xsd:enumeration value="ManufacturersArticleNumber"/>
-            <xsd:enumeration value="ManufacturersPartNumber"/>
-            <xsd:enumeration value="MarketProgramCode"/>
-            <xsd:enumeration value="MaterialCode"/>
-            <xsd:enumeration value="MaterialControlCode"/>
-            <xsd:enumeration value="MaterialDischargeNumber"/>
-            <xsd:enumeration value="MeasurementTypeCode"/>
-            <xsd:enumeration value="MedicalInformationBureauAuthorization"/>
-            <xsd:enumeration value="MedicalStopLossCoverageCodes"/>
-            <xsd:enumeration value="MedicalStopLossLevelCodes"/>
-            <xsd:enumeration value="MedicalStopLossProductLineCodes"/>
-            <xsd:enumeration value="MedicationCode"/>
-            <xsd:enumeration value="MEMAProductTypeCode"/>
-            <xsd:enumeration value="MethodOfDeliveryCode"/>
-            <xsd:enumeration value="MilestoneEventNumber"/>
-            <xsd:enumeration value="MilitaryStandard"/>
-            <xsd:enumeration value="MILSPECNumber"/>
-            <xsd:enumeration value="ModelNumber"/>
-            <xsd:enumeration value="MortgageCreditDataOrderType"/>
-            <xsd:enumeration value="MortgageInsuranceProductCodeOrNumber"/>
-            <xsd:enumeration value="MortgageProductCode"/>
-            <xsd:enumeration value="MortgageUnderwritingType"/>
-            <xsd:enumeration value="MotorVehicleIdNumber"/>
-            <xsd:enumeration value="MotorVehicle-LineDesignator"/>
-            <xsd:enumeration value="MovementTypeCode"/>
-            <xsd:enumeration value="NationalDrugCode"/>
-            <xsd:enumeration value="NationalDrugCode4-4-2Format"/>
-            <xsd:enumeration value="NationalDrugCode5-3-2Format"/>
-            <xsd:enumeration value="NationalDrugCode5-4-1Format"/>
-            <xsd:enumeration value="NationalDrugCode5-4-2Format"/>
-            <xsd:enumeration value="NationalHealthRelatedItemCode"/>
-            <xsd:enumeration value="NationalHealthRelatedItemCodeIn4-6Format"/>
-            <xsd:enumeration value="NationalHealthRelatedItemCodeIn5-5Format"/>
-            <xsd:enumeration value="NationalProductGroupCode"/>
-            <xsd:enumeration value="NationalRetailFederationColorCode"/>
-            <xsd:enumeration value="NationalRetailFederationSizeCode"/>
-            <xsd:enumeration value="NationalStockNumber"/>
-            <xsd:enumeration value="NDC"/>
-            <xsd:enumeration value="NewMicrocode"/>
-            <xsd:enumeration value="NewReplacementPartOrAssemblyDefective"/>
-            <xsd:enumeration value="NextHigherAssemblyNumber"/>
-            <xsd:enumeration value="NextHigherUsedAssembly"/>
-            <xsd:enumeration value="NonforfeitureOption"/>
-            <xsd:enumeration value="Non-ResaleableItemExcludingDepositNumber"/>
-            <xsd:enumeration value="NSN-NorthAtlanticTreatyOrganizationStockNumber"/>
-            <xsd:enumeration value="NUBCUB82Codes"/>
-            <xsd:enumeration value="NUBCUB92Codes"/>
-            <xsd:enumeration value="NumberOfPositionsOnMachine"/>
-            <xsd:enumeration value="ObligationAuthorityNumber"/>
-            <xsd:enumeration value="ObsoletePartNumber"/>
-            <xsd:enumeration value="OfferNumber"/>
-            <xsd:enumeration value="OldMicrocode"/>
-            <xsd:enumeration value="OldUPCOrEANCaseCode"/>
-            <xsd:enumeration value="OldUPCOrEANConsumerPackageCode"/>
-            <xsd:enumeration value="OldUPCOrEANModuleCode"/>
-            <xsd:enumeration value="OldUPCOrEANMultipackCode"/>
-            <xsd:enumeration value="OperatorAssignedPropertyIdentification"/>
-            <xsd:enumeration value="Opposite-HandPartNumber"/>
-            <xsd:enumeration value="OpticalCableCode"/>
-            <xsd:enumeration value="OpticalIndustryProductCode"/>
-            <xsd:enumeration value="OriginalEquipmentNumber"/>
-            <xsd:enumeration value="OutsideProductionOperationSheetNumber"/>
-            <xsd:enumeration value="PackageTypeCode"/>
-            <xsd:enumeration value="PackagingDrawing"/>
-            <xsd:enumeration value="PackagingSpecificationNumber"/>
-            <xsd:enumeration value="PackNumber"/>
-            <xsd:enumeration value="PartDrawing"/>
-            <xsd:enumeration value="PartNumber"/>
-            <xsd:enumeration value="PartNumberDescription"/>
-            <xsd:enumeration value="PartReferenceNumber"/>
-            <xsd:enumeration value="PatternNumber"/>
-            <xsd:enumeration value="PASCCEC-GoodsAndServicesTaxForwarded"/>
-            <xsd:enumeration value="PASCCEC-GoodsAndServicesTaxNotApplicable"/>
-            <xsd:enumeration value="PASC-NonTubularCode"/>
-            <xsd:enumeration value="PASCOMC-GoodsAndServicesTaxForwarded"/>
-            <xsd:enumeration value="PASCOMC-GoodsAndServicesTaxNotApplicable"/>
-            <xsd:enumeration value="PetroleumAccountantsSocietyOfCanadaTubularCode"/>
-            <xsd:enumeration value="Phase"/>
-            <xsd:enumeration value="PiecesInRoll"/>
-            <xsd:enumeration value="PiggybackCommercial"/>
-            <xsd:enumeration value="PipelineTransactionCode"/>
-            <xsd:enumeration value="PlanCode"/>
-            <xsd:enumeration value="PlantEquipmentNumber"/>
-            <xsd:enumeration value="Ply"/>
-            <xsd:enumeration value="PolicyForm"/>
-            <xsd:enumeration value="Position"/>
-            <xsd:enumeration value="PreferredManufacturer"/>
-            <xsd:enumeration value="PreferredNationalStockNumber"/>
-            <xsd:enumeration value="PreferredPartNumber"/>
-            <xsd:enumeration value="PremiumRateType"/>
-            <xsd:enumeration value="PremiumUse"/>
-            <xsd:enumeration value="PreviousCarrier"/>
-            <xsd:enumeration value="PreviousSampleIdentification"/>
-            <xsd:enumeration value="PriceLookUpNumber"/>
-            <xsd:enumeration value="PrimeContractorPartNumber"/>
-            <xsd:enumeration value="PrintColorStandardReference"/>
-            <xsd:enumeration value="PrintOrDrawing"/>
-            <xsd:enumeration value="ProcessNumber"/>
-            <xsd:enumeration value="ProductOrServiceIdentificationNumber"/>
-            <xsd:enumeration value="ProductChangeNoticeNumber"/>
-            <xsd:enumeration value="ProductDateCode"/>
-            <xsd:enumeration value="ProductIdAttributeCode"/>
-            <xsd:enumeration value="ProductTypeCode"/>
-            <xsd:enumeration value="ProductVersionNumber"/>
-            <xsd:enumeration value="ProgramCode"/>
-            <xsd:enumeration value="ProgramDescriptionIdentifier"/>
-            <xsd:enumeration value="ProgramLevel"/>
-            <xsd:enumeration value="PromotionalVariantNumber"/>
-            <xsd:enumeration value="PropertyAndCasualtyServiceCode"/>
-            <xsd:enumeration value="PublicationNumber"/>
-            <xsd:enumeration value="PublisherCode"/>
-            <xsd:enumeration value="PurchaseOrderNumber"/>
-            <xsd:enumeration value="PurchasersItemCode"/>
-            <xsd:enumeration value="PurchasersOrderLineNumber"/>
-            <xsd:enumeration value="PurposeOfInsurance"/>
-            <xsd:enumeration value="RackNumber"/>
-            <xsd:enumeration value="RadiatorSerialNumber"/>
-            <xsd:enumeration value="Railroad-OwnedUnitTrainNumber"/>
-            <xsd:enumeration value="RandomWeightAggregationCode"/>
-            <xsd:enumeration value="RateDetailCard"/>
-            <xsd:enumeration value="RealEstatePropertyInformationService"/>
-            <xsd:enumeration value="RearAxleExtendedTag"/>
-            <xsd:enumeration value="RearAxleFrontRearDrivenSerialNumber"/>
-            <xsd:enumeration value="RearAxleMiddle"/>
-            <xsd:enumeration value="RearAxlePusher"/>
-            <xsd:enumeration value="RearAxleRearDrivenSerialNumber"/>
-            <xsd:enumeration value="RearAxleRearNonDrivenSerialNumber"/>
-            <xsd:enumeration value="RearAxleSerialNumber"/>
-            <xsd:enumeration value="RearAxleTag"/>
-            <xsd:enumeration value="ReclamationProcess"/>
-            <xsd:enumeration value="RecordKeepingOrModelYear"/>
-            <xsd:enumeration value="ReeferSerialNumber"/>
-            <xsd:enumeration value="ReelNumber"/>
-            <xsd:enumeration value="ReelType"/>
-            <xsd:enumeration value="ReferenceOil"/>
-            <xsd:enumeration value="RefinedProductCode"/>
-            <xsd:enumeration value="RelatedModelNumber"/>
-            <xsd:enumeration value="RelatedModelType"/>
-            <xsd:enumeration value="RelatedPolicyIdentification"/>
-            <xsd:enumeration value="RelativeValueUnits"/>
-            <xsd:enumeration value="ReleaseNumber"/>
-            <xsd:enumeration value="ReligiousRetailNon-BookItem"/>
-            <xsd:enumeration value="RepairFromProductCode"/>
-            <xsd:enumeration value="RepairInductionIdentifier"/>
-            <xsd:enumeration value="RepairTagNumber"/>
-            <xsd:enumeration value="ReplacedPartNumber"/>
-            <xsd:enumeration value="ReplacementNationalStockNumber"/>
-            <xsd:enumeration value="ReplacementProductNumber"/>
-            <xsd:enumeration value="ReplacementSubassemblyModelNumber"/>
-            <xsd:enumeration value="ReplacementSubassemblySerialNumber"/>
-            <xsd:enumeration value="ResourceNumber"/>
-            <xsd:enumeration value="RetailPLU"/>
-            <xsd:enumeration value="ReturnableContainerNumber"/>
-            <xsd:enumeration value="ReturnCode"/>
-            <xsd:enumeration value="RollNumber"/>
-            <xsd:enumeration value="RollSequenceNumber"/>
-            <xsd:enumeration value="RSKNumber"/>
-            <xsd:enumeration value="RunNumber"/>
-            <xsd:enumeration value="SalesPresentationID"/>
-            <xsd:enumeration value="SampleNumber"/>
-            <xsd:enumeration value="SchematicDiagramReferenceNumber"/>
-            <xsd:enumeration value="SeatSerialNumber"/>
-            <xsd:enumeration value="SecondaryPly"/>
-            <xsd:enumeration value="SecondPriorIdentifier"/>
-            <xsd:enumeration value="SectionPrintNumber"/>
-            <xsd:enumeration value="SellersDateCode"/>
-            <xsd:enumeration value="SellersLotNumber"/>
-            <xsd:enumeration value="SerialItemAndContributionIdentifier"/>
-            <xsd:enumeration value="SerialNumber"/>
-            <xsd:enumeration value="SeriesIdentifier"/>
-            <xsd:enumeration value="ServiceCodePerCOPASStandard"/>
-            <xsd:enumeration value="ServiceControlIdentification"/>
-            <xsd:enumeration value="ServiceFeatureID"/>
-            <xsd:enumeration value="ServiceRendered"/>
-            <xsd:enumeration value="ServiceRequested"/>
-            <xsd:enumeration value="SetNumber"/>
-            <xsd:enumeration value="SettlementOrPayoutOption"/>
-            <xsd:enumeration value="Shelf-LifeActionCode"/>
-            <xsd:enumeration value="Shelf-LifeCode"/>
-            <xsd:enumeration value="ShiftWorked"/>
-            <xsd:enumeration value="SideUpOrSideDown"/>
-            <xsd:enumeration value="SkillCode"/>
-            <xsd:enumeration value="SKU"/>
-            <xsd:enumeration value="SlabNumber"/>
-            <xsd:enumeration value="SleeperBoxKeyNumber"/>
-            <xsd:enumeration value="SleeperBoxSerialNumber"/>
-            <xsd:enumeration value="SNOMED"/>
-            <xsd:enumeration value="SoftwareRevisionNumber"/>
-            <xsd:enumeration value="SourceOfDepositCode"/>
-            <xsd:enumeration value="SourceOfLeadCode"/>
-            <xsd:enumeration value="SpecialMaterialIdentificationCode"/>
-            <xsd:enumeration value="SSCC-18AndApplicationIdentifier"/>
-            <xsd:enumeration value="StandardGroupOfProducts-MixedAssortment"/>
-            <xsd:enumeration value="StandardIndustrialClassificationCode"/>
-            <xsd:enumeration value="StateLabelCode"/>
-            <xsd:enumeration value="StateSampleIdentification"/>
-            <xsd:enumeration value="StockNumber"/>
-            <xsd:enumeration value="StyleNumber"/>
-            <xsd:enumeration value="SublineItemNumber"/>
-            <xsd:enumeration value="SubmissionNumber"/>
-            <xsd:enumeration value="SubsistenceIdentificationNumber"/>
-            <xsd:enumeration value="SubstituteProductNumber"/>
-            <xsd:enumeration value="SubtopicLevel"/>
-            <xsd:enumeration value="SupersededPartNumber"/>
-            <xsd:enumeration value="SupersededPurchaseOrderNumber"/>
-            <xsd:enumeration value="SupplierBrandCode"/>
-            <xsd:enumeration value="SupplierCompanyRegistryNumber"/>
-            <xsd:enumeration value="SuppliersArticleNumber"/>
-            <xsd:enumeration value="SuppliersSupplierArticleNumber"/>
-            <xsd:enumeration value="SurfaceFinish"/>
-            <xsd:enumeration value="SyntheticLube"/>
-            <xsd:enumeration value="SystemIdentifier"/>
-            <xsd:enumeration value="TACTCommodityCode"/>
-            <xsd:enumeration value="TaxCode"/>
-            <xsd:enumeration value="TechnicalManualNumber"/>
-            <xsd:enumeration value="TechnicalOrderNumber"/>
-            <xsd:enumeration value="TechnicalPhase"/>
-            <xsd:enumeration value="TelecommunicationsCircuitId"/>
-            <xsd:enumeration value="TelecommunicationsIndustryServiceCode"/>
-            <xsd:enumeration value="TelecomServiceType"/>
-            <xsd:enumeration value="TelephoneIndustryManufacturerCode"/>
-            <xsd:enumeration value="TestedMaterialIdentificationNumber"/>
-            <xsd:enumeration value="Tex"/>
-            <xsd:enumeration value="ThirdPriorIdentifier"/>
-            <xsd:enumeration value="TimeCompliantTechnicalOrder"/>
-            <xsd:enumeration value="TitleCode"/>
-            <xsd:enumeration value="TopicLevel"/>
-            <xsd:enumeration value="TradeInIdentifier"/>
-            <xsd:enumeration value="TransferCaseSerialNumber"/>
-            <xsd:enumeration value="TransmissionSerialNumber"/>
-            <xsd:enumeration value="TransportGroupNumber"/>
-            <xsd:enumeration value="TreasuryManagementAssociation"/>
-            <xsd:enumeration value="TreasuryManagementAssociationServiceCode"/>
-            <xsd:enumeration value="TreasuryManagementAssociationServiceCodeAndBankServiceCode"/>
-            <xsd:enumeration value="TreatmentCodes"/>
-            <xsd:enumeration value="TruckBodySerialNumber"/>
-            <xsd:enumeration value="TypeSelvage"/>
-            <xsd:enumeration value="UCCOrEAN-128CouponExtendedCode"/>
-            <xsd:enumeration value="UltimateCustomersArticleNumber"/>
-            <xsd:enumeration value="UNCCS"/>
-            <xsd:enumeration value="UnderwritingMethodOfDirectWriter"/>
-            <xsd:enumeration value="UniformStockSymbolSystemCodeNumber"/>
-            <xsd:enumeration value="UniversalProductNumber"/>
-            <xsd:enumeration value="UNNumberDangerousGoods"/>
-            <xsd:enumeration value="UPC"/>
-            <xsd:enumeration value="UPCOrEAN"/>
-            <xsd:enumeration value="UPCCaseCodeNumber1-1-5-5"/>
-            <xsd:enumeration value="UPCConsumerPackageCode1-5-5"/>
-            <xsd:enumeration value="UPCConsumerPackageCode1-5-5-1"/>
-            <xsd:enumeration value="UPCCouponCode1-5-5-1"/>
-            <xsd:enumeration value="UPCOrEANCaseCode2-5-5"/>
-            <xsd:enumeration value="UPCOrEANConsumerPackageCode2-5-5"/>
-            <xsd:enumeration value="UPCOrEANCouponCode2-5-5"/>
-            <xsd:enumeration value="UPCOrEANModuleCode2-5-5"/>
-            <xsd:enumeration value="UPCOrEANMultipackCode"/>
-            <xsd:enumeration value="UPCOrEANShippingContainerCode1-2-5-5-1"/>
-            <xsd:enumeration value="UPCShippingContainerCode1-2-5-5"/>
-            <xsd:enumeration value="UPCSuffix"/>
-            <xsd:enumeration value="UPCSuffix-DefinesPackingVariations"/>
-            <xsd:enumeration value="User-DefinedShippingContainerIdentifier"/>
-            <xsd:enumeration value="UVMRPMLines"/>
-            <xsd:enumeration value="UVMULine"/>
-            <xsd:enumeration value="VariableMeasureProductCode"/>
-            <xsd:enumeration value="VaryItemProductNumber"/>
-            <xsd:enumeration value="VehicleMaintenanceReportingStandards"/>
-            <xsd:enumeration value="VendorAlphanumericSizeCode"/>
-            <xsd:enumeration value="VendorColor"/>
-            <xsd:enumeration value="VendorGroundShadeIdentifier"/>
-            <xsd:enumeration value="VendorItemNumber"/>
-            <xsd:enumeration value="VendorsCatalogNumber"/>
-            <xsd:enumeration value="VendorsItemNumber"/>
-            <xsd:enumeration value="VendorsPartNumber"/>
-            <xsd:enumeration value="VendorsBasicUnitNumber"/>
-            <xsd:enumeration value="VendorsEngineeringChangeLevelNumber"/>
-            <xsd:enumeration value="VendorsOrderNumber"/>
-            <xsd:enumeration value="VendorSpecificationNumber"/>
-            <xsd:enumeration value="VendorsStyleNumber"/>
-            <xsd:enumeration value="VendorsSupplementalItemNumber"/>
-            <xsd:enumeration value="Vintage"/>
-            <xsd:enumeration value="VolumeSet"/>
-            <xsd:enumeration value="VolumeTypeIdentificationCode"/>
-            <xsd:enumeration value="VolumeUsageIdentificationCode"/>
-            <xsd:enumeration value="WaferLotIdentifier"/>
-            <xsd:enumeration value="WellNumber"/>
-            <xsd:enumeration value="WheelChairLiftSerialNumber"/>
-            <xsd:enumeration value="WoolenCut"/>
-            <xsd:enumeration value="WoolenRun"/>
-            <xsd:enumeration value="WorkTaskNumber"/>
-            <xsd:enumeration value="WorkUnitNumber"/>
-            <xsd:enumeration value="WorldCode"/>
-            <xsd:enumeration value="YarnCount-English"/>
-            <xsd:enumeration value="YarnCount-Metric"/>
-            <xsd:enumeration value="YarnCountWorsted"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfProductIdentifierCoded">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ProductIdentifierCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfProductIdentifierCoded" type="ListOfProductIdentifierCoded"/>
-    <xsd:complexType name="ListOfItemCharacteristic">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ItemCharacteristic"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfItemCharacteristic" type="ListOfItemCharacteristic"/>
-    <xsd:complexType name="ItemCharacteristic">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="ItemCharacteristicCoded" type="ItemCharacteristicCode"/>
-            <xsd:element minOccurs="0" name="ItemCharacteristicCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SurfaceLayerPositionCoded" type="SurfaceLayerPositionCode"/>
-            <xsd:element minOccurs="0" name="SurfaceLayerPositionCodedOther" type="xsd:string"/>
-            <xsd:element name="ItemCharacteristicValue" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Identifier"/>
-            <xsd:element minOccurs="0" ref="UnitOfMeasurement"/>
-            <xsd:element minOccurs="0" ref="ListOfDimension"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ItemCharacteristic" type="ItemCharacteristic"/>
-    <xsd:simpleType name="ItemCharacteristicCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AdditionalSectorialCharacteristics"/>
-            <xsd:enumeration value="Age"/>
-            <xsd:enumeration value="AlcoholBeverageClass"/>
-            <xsd:enumeration value="AlcoholBeverageType"/>
-            <xsd:enumeration value="Alloy"/>
-            <xsd:enumeration value="AnatomicalOriginOfSample"/>
-            <xsd:enumeration value="Appearance"/>
-            <xsd:enumeration value="Artist"/>
-            <xsd:enumeration value="AssemblyRequired"/>
-            <xsd:enumeration value="Author"/>
-            <xsd:enumeration value="BalanceOutArticle"/>
-            <xsd:enumeration value="BasisWeightSize"/>
-            <xsd:enumeration value="Behind-the-CounterDrugs"/>
-            <xsd:enumeration value="BeverageAge"/>
-            <xsd:enumeration value="BeverageBrand"/>
-            <xsd:enumeration value="BeverageCategory"/>
-            <xsd:enumeration value="BeverageContainerCharacteristics"/>
-            <xsd:enumeration value="BeverageFlavour"/>
-            <xsd:enumeration value="BeverageSegment"/>
-            <xsd:enumeration value="Binding"/>
-            <xsd:enumeration value="BottomholeLocationMethod"/>
-            <xsd:enumeration value="BottomholePressureMethod"/>
-            <xsd:enumeration value="BrandGroup"/>
-            <xsd:enumeration value="BrandGroup-AGroupingOfSimilarBrands"/>
-            <xsd:enumeration value="BureauofAlcoholTobaccoAndFirearmsClassCode"/>
-            <xsd:enumeration value="BureauOfAlcoholTobaccoAndFirearmsTypeCode"/>
-            <xsd:enumeration value="BuyersColorDescription"/>
-            <xsd:enumeration value="BuyersItemSizeDescription"/>
-            <xsd:enumeration value="Casing-Liner-TubingType"/>
-            <xsd:enumeration value="CasingOrLinerType"/>
-            <xsd:enumeration value="CertificateOfConformity"/>
-            <xsd:enumeration value="Chassis"/>
-            <xsd:enumeration value="ChemicalFamilyName"/>
-            <xsd:enumeration value="Chemistry"/>
-            <xsd:enumeration value="CID-CommercialItemDescription"/>
-            <xsd:enumeration value="Coating"/>
-            <xsd:enumeration value="CoatingOrPaintSystemCode"/>
-            <xsd:enumeration value="CoatingOrPaintSystemName"/>
-            <xsd:enumeration value="Collateral"/>
-            <xsd:enumeration value="CollectionMethodCode"/>
-            <xsd:enumeration value="Color"/>
-            <xsd:enumeration value="Color-LowerBody"/>
-            <xsd:enumeration value="Color-UpperBody"/>
-            <xsd:enumeration value="CommercialStatus"/>
-            <xsd:enumeration value="CommonChemicalName"/>
-            <xsd:enumeration value="CompanyFieldCode"/>
-            <xsd:enumeration value="ComplianceMethod"/>
-            <xsd:enumeration value="Composer"/>
-            <xsd:enumeration value="ConditionedCode"/>
-            <xsd:enumeration value="ConstructionMethod"/>
-            <xsd:enumeration value="ConsumableResource"/>
-            <xsd:enumeration value="ConsumerInstructions"/>
-            <xsd:enumeration value="ControlItem"/>
-            <xsd:enumeration value="ControlledSubstance"/>
-            <xsd:enumeration value="ControlledSubstance-Class2"/>
-            <xsd:enumeration value="ControlledSubstance-Class3Narcotic"/>
-            <xsd:enumeration value="ControlledSubstance-Class3NNon-narcotic"/>
-            <xsd:enumeration value="ControlledSubstance-Class4"/>
-            <xsd:enumeration value="ControlledSubstance-Class5"/>
-            <xsd:enumeration value="CoordinateDescriptionCode"/>
-            <xsd:enumeration value="Coordinates"/>
-            <xsd:enumeration value="CorrosionResistance"/>
-            <xsd:enumeration value="Coupling"/>
-            <xsd:enumeration value="CurrentArticle"/>
-            <xsd:enumeration value="CurrentArticleSpares"/>
-            <xsd:enumeration value="CustomsSpecifications"/>
-            <xsd:enumeration value="DamageCode"/>
-            <xsd:enumeration value="DamageFault"/>
-            <xsd:enumeration value="Denier"/>
-            <xsd:enumeration value="Density"/>
-            <xsd:enumeration value="Dimensional"/>
-            <xsd:enumeration value="DirectionalIndicator"/>
-            <xsd:enumeration value="Dispersion"/>
-            <xsd:enumeration value="DosageForm"/>
-            <xsd:enumeration value="DrugEfficacy"/>
-            <xsd:enumeration value="DrugEfficacyStudyImplementation"/>
-            <xsd:enumeration value="DyeLot"/>
-            <xsd:enumeration value="DyeLotDescription"/>
-            <xsd:enumeration value="EdgeTreatment"/>
-            <xsd:enumeration value="Edition"/>
-            <xsd:enumeration value="Editor"/>
-            <xsd:enumeration value="Electrical"/>
-            <xsd:enumeration value="ElectronicallyCleaned"/>
-            <xsd:enumeration value="ElectronicField"/>
-            <xsd:enumeration value="Ends-Slitting-Splitting-Cutting"/>
-            <xsd:enumeration value="EndTreatment"/>
-            <xsd:enumeration value="EndUseApplication"/>
-            <xsd:enumeration value="Engine"/>
-            <xsd:enumeration value="EnginewithTransmission"/>
-            <xsd:enumeration value="Equipment"/>
-            <xsd:enumeration value="EscrowCode"/>
-            <xsd:enumeration value="EuropeanCommunityRiskClass"/>
-            <xsd:enumeration value="Fabric"/>
-            <xsd:enumeration value="FabricDescription"/>
-            <xsd:enumeration value="FailureAnalysisProcess"/>
-            <xsd:enumeration value="FEDSPEC-FederalSpecification"/>
-            <xsd:enumeration value="FED-STD-FederalStandard"/>
-            <xsd:enumeration value="Fiber"/>
-            <xsd:enumeration value="FibreTow"/>
-            <xsd:enumeration value="FieldCode-EIAOrDOD"/>
-            <xsd:enumeration value="FieldTest"/>
-            <xsd:enumeration value="Filament"/>
-            <xsd:enumeration value="Filter"/>
-            <xsd:enumeration value="Finish"/>
-            <xsd:enumeration value="FinishOrSurfaceRoughness"/>
-            <xsd:enumeration value="Flavor"/>
-            <xsd:enumeration value="Flow"/>
-            <xsd:enumeration value="Fluid"/>
-            <xsd:enumeration value="FoldConfiguration"/>
-            <xsd:enumeration value="Font"/>
-            <xsd:enumeration value="ForecastDeviation"/>
-            <xsd:enumeration value="Forming"/>
-            <xsd:enumeration value="Formula"/>
-            <xsd:enumeration value="Fragrance"/>
-            <xsd:enumeration value="Fuel"/>
-            <xsd:enumeration value="FunctionalPerformance"/>
-            <xsd:enumeration value="FurtherIdentifyingCharacteristic"/>
-            <xsd:enumeration value="GeneralDescription"/>
-            <xsd:enumeration value="GeneralMerchandise"/>
-            <xsd:enumeration value="GeneralProductForm"/>
-            <xsd:enumeration value="GenericDrug"/>
-            <xsd:enumeration value="Goods"/>
-            <xsd:enumeration value="Grade"/>
-            <xsd:enumeration value="GrainDirection"/>
-            <xsd:enumeration value="GrapeVariety"/>
-            <xsd:enumeration value="HazardousMaterial"/>
-            <xsd:enumeration value="HazardRatingSystem"/>
-            <xsd:enumeration value="HealthAndBeautyAids"/>
-            <xsd:enumeration value="HeatTreatOrAnneal"/>
-            <xsd:enumeration value="Hydraulics"/>
-            <xsd:enumeration value="Ingredient"/>
-            <xsd:enumeration value="InitialSample"/>
-            <xsd:enumeration value="Injectables"/>
-            <xsd:enumeration value="Key-Word"/>
-            <xsd:enumeration value="Kit"/>
-            <xsd:enumeration value="Labour"/>
-            <xsd:enumeration value="LabourDoubleTime"/>
-            <xsd:enumeration value="LabourOvertime"/>
-            <xsd:enumeration value="LeadOrCopperSampleType"/>
-            <xsd:enumeration value="LeasedResource"/>
-            <xsd:enumeration value="LimitingOperation"/>
-            <xsd:enumeration value="Luster"/>
-            <xsd:enumeration value="MachineRun"/>
-            <xsd:enumeration value="Magnetic"/>
-            <xsd:enumeration value="MajorGrade"/>
-            <xsd:enumeration value="ManufacturingMethod"/>
-            <xsd:enumeration value="ManufacturingProcess"/>
-            <xsd:enumeration value="MarketSegment"/>
-            <xsd:enumeration value="Marking"/>
-            <xsd:enumeration value="Material"/>
-            <xsd:enumeration value="MaterialClassification"/>
-            <xsd:enumeration value="MaterialDescription"/>
-            <xsd:enumeration value="MaterialResource"/>
-            <xsd:enumeration value="MaterialStatus-OutsideProcessor"/>
-            <xsd:enumeration value="Mechanical"/>
-            <xsd:enumeration value="MedicalSupplies"/>
-            <xsd:enumeration value="Metallographic"/>
-            <xsd:enumeration value="MILSPEC-MilitarySpecification"/>
-            <xsd:enumeration value="MMSBLM-IndianLandPropertyOrUnitNumber"/>
-            <xsd:enumeration value="Moisture"/>
-            <xsd:enumeration value="Multi-Media"/>
-            <xsd:enumeration value="MusicStyle"/>
-            <xsd:enumeration value="MutuallyDefined"/>
-            <xsd:enumeration value="NewArticle"/>
-            <xsd:enumeration value="Non-HazardousMaterial"/>
-            <xsd:enumeration value="Non-PrescriptionDrug"/>
-            <xsd:enumeration value="NonRecurringResource"/>
-            <xsd:enumeration value="Nutrition"/>
-            <xsd:enumeration value="ObsoleteArticle"/>
-            <xsd:enumeration value="Odor"/>
-            <xsd:enumeration value="Odorized"/>
-            <xsd:enumeration value="Options"/>
-            <xsd:enumeration value="Orientation"/>
-            <xsd:enumeration value="OtherDirectResource"/>
-            <xsd:enumeration value="OtherPhysicalDescription"/>
-            <xsd:enumeration value="Over-the-CounterDrug"/>
-            <xsd:enumeration value="PackageIntegrity"/>
-            <xsd:enumeration value="Parameter"/>
-            <xsd:enumeration value="Pattern"/>
-            <xsd:enumeration value="PercentageOfAlcohol"/>
-            <xsd:enumeration value="PerforationContinuityIndicator"/>
-            <xsd:enumeration value="PerforationInterval"/>
-            <xsd:enumeration value="PerforationType"/>
-            <xsd:enumeration value="Physical"/>
-            <xsd:enumeration value="PhysicalForm"/>
-            <xsd:enumeration value="PhysicalForm-Aerosol"/>
-            <xsd:enumeration value="PhysicalForm-AsDiluted"/>
-            <xsd:enumeration value="PhysicalForm-Concentrate"/>
-            <xsd:enumeration value="PhysicalForm-Emulsion"/>
-            <xsd:enumeration value="PhysicalForm-Gas"/>
-            <xsd:enumeration value="PhysicalForm-Liquid"/>
-            <xsd:enumeration value="PhysicalForm-Powder"/>
-            <xsd:enumeration value="PhysicalForm-Semisolid"/>
-            <xsd:enumeration value="PhysicalForm-Solid"/>
-            <xsd:enumeration value="PipeCoupling"/>
-            <xsd:enumeration value="PipelineStream"/>
-            <xsd:enumeration value="PrecautionaryInstructions"/>
-            <xsd:enumeration value="PrescriptionDrug"/>
-            <xsd:enumeration value="PresentationEffect"/>
-            <xsd:enumeration value="Preservative"/>
-            <xsd:enumeration value="PrimaryGrape"/>
-            <xsd:enumeration value="PrintOrientation"/>
-            <xsd:enumeration value="PrivateLabelName"/>
-            <xsd:enumeration value="ProcessActionTaken"/>
-            <xsd:enumeration value="ProcessOrProductionUnit"/>
-            <xsd:enumeration value="Product"/>
-            <xsd:enumeration value="ProductApplication"/>
-            <xsd:enumeration value="ProductDataBaseManagementDescription"/>
-            <xsd:enumeration value="ProductLifeCycle"/>
-            <xsd:enumeration value="Program"/>
-            <xsd:enumeration value="ProjectSubject"/>
-            <xsd:enumeration value="PromotionalEvent"/>
-            <xsd:enumeration value="PromotionalOffer"/>
-            <xsd:enumeration value="Proof"/>
-            <xsd:enumeration value="Proprietary"/>
-            <xsd:enumeration value="PublicInformation"/>
-            <xsd:enumeration value="Publisher"/>
-            <xsd:enumeration value="PureForm"/>
-            <xsd:enumeration value="Put-upDescription"/>
-            <xsd:enumeration value="Quality"/>
-            <xsd:enumeration value="QualityAssuranceStatus"/>
-            <xsd:enumeration value="Quality-QualityLevel"/>
-            <xsd:enumeration value="RecordingMedium"/>
-            <xsd:enumeration value="RecurringResource"/>
-            <xsd:enumeration value="Recycle"/>
-            <xsd:enumeration value="RefurbishedArticle"/>
-            <xsd:enumeration value="RegulatoryOrStateDistrict"/>
-            <xsd:enumeration value="Regulatory-StateOrEntityCode"/>
-            <xsd:enumeration value="ReinstatedArticle"/>
-            <xsd:enumeration value="RejectionReason"/>
-            <xsd:enumeration value="ReservoirCode-Company"/>
-            <xsd:enumeration value="ResultsMethodCode"/>
-            <xsd:enumeration value="RevisedArticle"/>
-            <xsd:enumeration value="RevisedDesign"/>
-            <xsd:enumeration value="RouteOfAdministration"/>
-            <xsd:enumeration value="SampleType"/>
-            <xsd:enumeration value="SecondaryGrape"/>
-            <xsd:enumeration value="SecretOrConfidentialInformation"/>
-            <xsd:enumeration value="SectionProfile"/>
-            <xsd:enumeration value="SeriesTitle"/>
-            <xsd:enumeration value="ServiceFeature"/>
-            <xsd:enumeration value="Services"/>
-            <xsd:enumeration value="Shade"/>
-            <xsd:enumeration value="Shelf-LifeCode"/>
-            <xsd:enumeration value="ShelfTag"/>
-            <xsd:enumeration value="ShippingUnitComponent"/>
-            <xsd:enumeration value="ShipToLine"/>
-            <xsd:enumeration value="ShipToStock"/>
-            <xsd:enumeration value="Silhouette"/>
-            <xsd:enumeration value="Size"/>
-            <xsd:enumeration value="SizeSystem"/>
-            <xsd:enumeration value="SocietyGovernmentAndOrCustomerSpecifications"/>
-            <xsd:enumeration value="Solubility"/>
-            <xsd:enumeration value="Source"/>
-            <xsd:enumeration value="SpecialProcessing"/>
-            <xsd:enumeration value="SpecialSpecification"/>
-            <xsd:enumeration value="Specification"/>
-            <xsd:enumeration value="StateControlled"/>
-            <xsd:enumeration value="StorageAndDisplay"/>
-            <xsd:enumeration value="SubcontractResource"/>
-            <xsd:enumeration value="Sub-Product"/>
-            <xsd:enumeration value="SurfaceCondition"/>
-            <xsd:enumeration value="SurfaceLocationMethod"/>
-            <xsd:enumeration value="SurfaceProtection"/>
-            <xsd:enumeration value="SurfaceTreatment-Chemical"/>
-            <xsd:enumeration value="SurfaceTreatment-Mechanical"/>
-            <xsd:enumeration value="Synonym"/>
-            <xsd:enumeration value="Temper"/>
-            <xsd:enumeration value="TestingAndInspectionAgencies"/>
-            <xsd:enumeration value="TestPanelType"/>
-            <xsd:enumeration value="TestSampleDirection"/>
-            <xsd:enumeration value="TestSampleFrequency"/>
-            <xsd:enumeration value="TestSampleLocation"/>
-            <xsd:enumeration value="TheoreticalWeightFormula"/>
-            <xsd:enumeration value="TherapeuticClass"/>
-            <xsd:enumeration value="TherapeuticEquivalency"/>
-            <xsd:enumeration value="Threshold"/>
-            <xsd:enumeration value="Tint"/>
-            <xsd:enumeration value="Tire"/>
-            <xsd:enumeration value="Title"/>
-            <xsd:enumeration value="TitleInsuranceForm"/>
-            <xsd:enumeration value="Tow"/>
-            <xsd:enumeration value="TradeName"/>
-            <xsd:enumeration value="Translator"/>
-            <xsd:enumeration value="Transmission"/>
-            <xsd:enumeration value="Trim"/>
-            <xsd:enumeration value="Twist"/>
-            <xsd:enumeration value="TypeAndOrProcess"/>
-            <xsd:enumeration value="Typeface"/>
-            <xsd:enumeration value="TypeOfSample"/>
-            <xsd:enumeration value="TypeOfTest-Inspection"/>
-            <xsd:enumeration value="TypeSpinning"/>
-            <xsd:enumeration value="Vehicle"/>
-            <xsd:enumeration value="VendorColorDescription"/>
-            <xsd:enumeration value="VendorSizeDescription"/>
-            <xsd:enumeration value="Vintage"/>
-            <xsd:enumeration value="Visual"/>
-            <xsd:enumeration value="VolatileOrganicCompoundControl"/>
-            <xsd:enumeration value="VolumeTitle"/>
-            <xsd:enumeration value="WarrantyDescription"/>
-            <xsd:enumeration value="WarrantyTypeDescription"/>
-            <xsd:enumeration value="Waste"/>
-            <xsd:enumeration value="WaxCode"/>
-            <xsd:enumeration value="WeldsOrSplices"/>
-            <xsd:enumeration value="WellClassification"/>
-            <xsd:enumeration value="WellDirection"/>
-            <xsd:enumeration value="WellPerforationContinuity"/>
-            <xsd:enumeration value="WellPerforationInterval"/>
-            <xsd:enumeration value="WellTestType"/>
-            <xsd:enumeration value="WindingInstructions"/>
-            <xsd:enumeration value="WineFruit"/>
-            <xsd:enumeration value="WineGrowingRegion"/>
-            <xsd:enumeration value="YarnCount"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="SurfaceLayerPositionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="All"/>
-            <xsd:enumeration value="BackOfCab"/>
-            <xsd:enumeration value="Bilateral"/>
-            <xsd:enumeration value="Block"/>
-            <xsd:enumeration value="Bolster"/>
-            <xsd:enumeration value="BothSides"/>
-            <xsd:enumeration value="Bottom"/>
-            <xsd:enumeration value="Brick"/>
-            <xsd:enumeration value="CasingHeadFlange"/>
-            <xsd:enumeration value="Center"/>
-            <xsd:enumeration value="CornerDiagonals"/>
-            <xsd:enumeration value="DoubleEndOverhang"/>
-            <xsd:enumeration value="DownstreamTap"/>
-            <xsd:enumeration value="DualFuelTankPositions"/>
-            <xsd:enumeration value="Exterior"/>
-            <xsd:enumeration value="Front"/>
-            <xsd:enumeration value="FrontSpare"/>
-            <xsd:enumeration value="Inside"/>
-            <xsd:enumeration value="InsideLeftRear"/>
-            <xsd:enumeration value="InsideRightRear"/>
-            <xsd:enumeration value="Interior"/>
-            <xsd:enumeration value="KellyBushing"/>
-            <xsd:enumeration value="Left"/>
-            <xsd:enumeration value="LeftFront"/>
-            <xsd:enumeration value="LeftRear"/>
-            <xsd:enumeration value="LessCriticalSurface"/>
-            <xsd:enumeration value="Lower"/>
-            <xsd:enumeration value="Middle"/>
-            <xsd:enumeration value="MoreCriticalSurface"/>
-            <xsd:enumeration value="Multiple"/>
-            <xsd:enumeration value="NextRelativePosition"/>
-            <xsd:enumeration value="NotSpecified"/>
-            <xsd:enumeration value="OffSurface"/>
-            <xsd:enumeration value="OneSide"/>
-            <xsd:enumeration value="OnSurface"/>
-            <xsd:enumeration value="OppositeCorners"/>
-            <xsd:enumeration value="Outside"/>
-            <xsd:enumeration value="OutsideLeftRear"/>
-            <xsd:enumeration value="OutsideRightRear"/>
-            <xsd:enumeration value="Overall"/>
-            <xsd:enumeration value="Port"/>
-            <xsd:enumeration value="Rear"/>
-            <xsd:enumeration value="RearSpare"/>
-            <xsd:enumeration value="RelativePosition1"/>
-            <xsd:enumeration value="RelativePosition10"/>
-            <xsd:enumeration value="RelativePosition11"/>
-            <xsd:enumeration value="RelativePosition12"/>
-            <xsd:enumeration value="RelativePosition13"/>
-            <xsd:enumeration value="RelativePosition14"/>
-            <xsd:enumeration value="RelativePosition15"/>
-            <xsd:enumeration value="RelativePosition16"/>
-            <xsd:enumeration value="RelativePosition17"/>
-            <xsd:enumeration value="RelativePosition18"/>
-            <xsd:enumeration value="RelativePosition19"/>
-            <xsd:enumeration value="RelativePosition2"/>
-            <xsd:enumeration value="RelativePosition20"/>
-            <xsd:enumeration value="RelativePosition21"/>
-            <xsd:enumeration value="RelativePosition22"/>
-            <xsd:enumeration value="RelativePosition23"/>
-            <xsd:enumeration value="RelativePosition24"/>
-            <xsd:enumeration value="RelativePosition25"/>
-            <xsd:enumeration value="RelativePosition26"/>
-            <xsd:enumeration value="RelativePosition27"/>
-            <xsd:enumeration value="RelativePosition28"/>
-            <xsd:enumeration value="RelativePosition29"/>
-            <xsd:enumeration value="RelativePosition3"/>
-            <xsd:enumeration value="RelativePosition30"/>
-            <xsd:enumeration value="RelativePosition31"/>
-            <xsd:enumeration value="RelativePosition32"/>
-            <xsd:enumeration value="RelativePosition33"/>
-            <xsd:enumeration value="RelativePosition34"/>
-            <xsd:enumeration value="RelativePosition35"/>
-            <xsd:enumeration value="RelativePosition36"/>
-            <xsd:enumeration value="RelativePosition37"/>
-            <xsd:enumeration value="RelativePosition38"/>
-            <xsd:enumeration value="RelativePosition39"/>
-            <xsd:enumeration value="RelativePosition4"/>
-            <xsd:enumeration value="RelativePosition40"/>
-            <xsd:enumeration value="RelativePosition41"/>
-            <xsd:enumeration value="RelativePosition42"/>
-            <xsd:enumeration value="RelativePosition43"/>
-            <xsd:enumeration value="RelativePosition44"/>
-            <xsd:enumeration value="RelativePosition45"/>
-            <xsd:enumeration value="RelativePosition46"/>
-            <xsd:enumeration value="RelativePosition47"/>
-            <xsd:enumeration value="RelativePosition48"/>
-            <xsd:enumeration value="RelativePosition49"/>
-            <xsd:enumeration value="RelativePosition5"/>
-            <xsd:enumeration value="RelativePosition50"/>
-            <xsd:enumeration value="RelativePosition6"/>
-            <xsd:enumeration value="RelativePosition7"/>
-            <xsd:enumeration value="RelativePosition8"/>
-            <xsd:enumeration value="RelativePosition9"/>
-            <xsd:enumeration value="RigFloor"/>
-            <xsd:enumeration value="Right"/>
-            <xsd:enumeration value="RightFront"/>
-            <xsd:enumeration value="RightRear"/>
-            <xsd:enumeration value="SideOne"/>
-            <xsd:enumeration value="SideTwo"/>
-            <xsd:enumeration value="Siding"/>
-            <xsd:enumeration value="Single"/>
-            <xsd:enumeration value="SingleEndOverhang"/>
-            <xsd:enumeration value="Soluble"/>
-            <xsd:enumeration value="SpareTirePosition"/>
-            <xsd:enumeration value="Starboard"/>
-            <xsd:enumeration value="Stone"/>
-            <xsd:enumeration value="Stucco"/>
-            <xsd:enumeration value="Sub-Sea"/>
-            <xsd:enumeration value="TankBottom"/>
-            <xsd:enumeration value="ToothBuccalSurface"/>
-            <xsd:enumeration value="ToothDistalSurface"/>
-            <xsd:enumeration value="ToothFacialSurface"/>
-            <xsd:enumeration value="ToothIncisalSurface"/>
-            <xsd:enumeration value="ToothLingualSurface"/>
-            <xsd:enumeration value="ToothMesialSurface"/>
-            <xsd:enumeration value="ToothOcclusalSurface"/>
-            <xsd:enumeration value="Top"/>
-            <xsd:enumeration value="TwoSides"/>
-            <xsd:enumeration value="UnderCab"/>
-            <xsd:enumeration value="Unilateral"/>
-            <xsd:enumeration value="Upper"/>
-            <xsd:enumeration value="UpstreamTap"/>
-            <xsd:enumeration value="Wood"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Category">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="CategoryID" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="StandardCategoryID"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Category" type="Category"/>
-    <xsd:complexType name="StandardCategoryID">
-        <xsd:sequence>
-            <xsd:element name="StandardCategoryType" type="xsd:string"/>
-            <xsd:element name="ClassificationID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TechnicalID" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="StandardCategoryID" type="StandardCategoryID"/>
-    <xsd:complexType name="ListOfQuantityCoded">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="QuantityCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfQuantityCoded" type="ListOfQuantityCoded"/>
-    <xsd:complexType name="QuantityCoded">
-        <xsd:complexContent>
-            <xsd:extension base="Quantity">
-                <xsd:sequence>
-                    <xsd:element name="QuantityQualifierCoded" type="QuantityQualifierCode"/>
-                    <xsd:element minOccurs="0" name="QuantityQualifierCodedOther" type="xsd:string"/>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:element name="QuantityCoded" type="QuantityCoded"/>
-    <xsd:simpleType name="QuantityQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AcceptableUnserviceableQuantity"/>
-            <xsd:enumeration value="Accidents"/>
-            <xsd:enumeration value="Accounts"/>
-            <xsd:enumeration value="AccountsPayableAverageOverdueDays"/>
-            <xsd:enumeration value="AccountsPlacedForCollection"/>
-            <xsd:enumeration value="AcknowledgedQuantity"/>
-            <xsd:enumeration value="ActiveAccounts"/>
-            <xsd:enumeration value="ActiveContractsDelinquent"/>
-            <xsd:enumeration value="ActiveContractsDelinquent-BuyingPartyCaused"/>
-            <xsd:enumeration value="ActiveContractsDelinquent-ContractorCaused"/>
-            <xsd:enumeration value="ActiveContractsDelinquent-UnknownCauses"/>
-            <xsd:enumeration value="ActiveIngredient"/>
-            <xsd:enumeration value="ActiveIngredientDosePerUnit"/>
-            <xsd:enumeration value="ActiveIngredientDosePerUnitDispensed"/>
-            <xsd:enumeration value="ActiveLineItemsDelinquent"/>
-            <xsd:enumeration value="ActiveLineItemsDelinquent-BuyingPartyCaused"/>
-            <xsd:enumeration value="ActiveLineItemsDelinquent-ContractorCaused"/>
-            <xsd:enumeration value="ActiveLineItemsDelinquent-UnknownCauses"/>
-            <xsd:enumeration value="ActiveListings"/>
-            <xsd:enumeration value="ActiveMaintenanceTime"/>
-            <xsd:enumeration value="ActivityCodes"/>
-            <xsd:enumeration value="Actual"/>
-            <xsd:enumeration value="ActualDuration"/>
-            <xsd:enumeration value="ActualHours"/>
-            <xsd:enumeration value="ActualStock"/>
-            <xsd:enumeration value="ActualUnits"/>
-            <xsd:enumeration value="ActualUnitsCumulativeToDate"/>
-            <xsd:enumeration value="AddedEmployees"/>
-            <xsd:enumeration value="AdditionalAmount"/>
-            <xsd:enumeration value="AdditionalDemandQuantity"/>
-            <xsd:enumeration value="AdditionalPromotionSalesForecastQuantity"/>
-            <xsd:enumeration value="AdditionalReplenishmentDemandQuantity"/>
-            <xsd:enumeration value="AdditionalUsageQuantity"/>
-            <xsd:enumeration value="AdjustedCorrectorReading"/>
-            <xsd:enumeration value="AdjustedQuantity"/>
-            <xsd:enumeration value="AdjustedUnits"/>
-            <xsd:enumeration value="AdjustmentToInventoryQuantity"/>
-            <xsd:enumeration value="Administrators"/>
-            <xsd:enumeration value="Age"/>
-            <xsd:enumeration value="AgeAtDeath"/>
-            <xsd:enumeration value="AgedActiveLineItemsDelinquent-ContractorCaused"/>
-            <xsd:enumeration value="AgedLineItemsCompleted-ContractorCaused"/>
-            <xsd:enumeration value="AgedLineItemsDelinquent"/>
-            <xsd:enumeration value="AgeHighValue"/>
-            <xsd:enumeration value="AgeLowValue"/>
-            <xsd:enumeration value="AgeModifyingUnits"/>
-            <xsd:enumeration value="AgeNearest"/>
-            <xsd:enumeration value="AgeNext"/>
-            <xsd:enumeration value="Agents"/>
-            <xsd:enumeration value="AgeOfFinancialInformation"/>
-            <xsd:enumeration value="AggregateBenefitPeriod"/>
-            <xsd:enumeration value="AgriculturalWorkers"/>
-            <xsd:enumeration value="AircraftRadios"/>
-            <xsd:enumeration value="AirlineAttendants"/>
-            <xsd:enumeration value="AllocatedQuantity"/>
-            <xsd:enumeration value="AllottedUsageQuantity"/>
-            <xsd:enumeration value="Allowance"/>
-            <xsd:enumeration value="AllTimeBuy"/>
-            <xsd:enumeration value="AmortisationQuantity"/>
-            <xsd:enumeration value="AmortizationCumulatedQuantity"/>
-            <xsd:enumeration value="AmortizationOrderQuantity"/>
-            <xsd:enumeration value="AmortizationTerm"/>
-            <xsd:enumeration value="AmortizationTotalQuantity"/>
-            <xsd:enumeration value="AnticipatedLengthOfService"/>
-            <xsd:enumeration value="ApprovalOrOfferDuration"/>
-            <xsd:enumeration value="ApprovedAmount"/>
-            <xsd:enumeration value="ApproximateNumberOfHolders"/>
-            <xsd:enumeration value="ApproximateNumberOfUnitsForSaleProjected"/>
-            <xsd:enumeration value="ApproximateNumberOfUnitsProjected"/>
-            <xsd:enumeration value="AreaDamaged"/>
-            <xsd:enumeration value="AreaOfLevel"/>
-            <xsd:enumeration value="AreaPerUnits"/>
-            <xsd:enumeration value="Arrests"/>
-            <xsd:enumeration value="AsIsQuantity"/>
-            <xsd:enumeration value="AssetSeizers"/>
-            <xsd:enumeration value="Associates"/>
-            <xsd:enumeration value="AtCompleteVariance"/>
-            <xsd:enumeration value="AtCompletionQuantityEstimated"/>
-            <xsd:enumeration value="Attendant-HandledQuantity"/>
-            <xsd:enumeration value="Auctions"/>
-            <xsd:enumeration value="Auditor"/>
-            <xsd:enumeration value="AuthorisedShares"/>
-            <xsd:enumeration value="AuthorizedRetentionLevel"/>
-            <xsd:enumeration value="AuthorizedShares"/>
-            <xsd:enumeration value="AvailableQuantity"/>
-            <xsd:enumeration value="AvailableResourceTaskQuantity"/>
-            <xsd:enumeration value="AvailableUnits"/>
-            <xsd:enumeration value="Average"/>
-            <xsd:enumeration value="AverageEmployees"/>
-            <xsd:enumeration value="AverageNumberOfEmployees"/>
-            <xsd:enumeration value="Axles"/>
-            <xsd:enumeration value="BackorderLines"/>
-            <xsd:enumeration value="BackorderQuantity"/>
-            <xsd:enumeration value="BankRejectItemCount."/>
-            <xsd:enumeration value="BankruptcyPetitionsFiled"/>
-            <xsd:enumeration value="BathroomCount"/>
-            <xsd:enumeration value="BathroomsFinishedAreaAboveGrade"/>
-            <xsd:enumeration value="BedroomCount"/>
-            <xsd:enumeration value="BedroomsFinishedAreaAboveGrade"/>
-            <xsd:enumeration value="Beds"/>
-            <xsd:enumeration value="BeginningShares"/>
-            <xsd:enumeration value="BenefitAmount"/>
-            <xsd:enumeration value="BenefitPeriod"/>
-            <xsd:enumeration value="BillableQuantity"/>
-            <xsd:enumeration value="Billed"/>
-            <xsd:enumeration value="BillingUnitPerPricingUnit"/>
-            <xsd:enumeration value="BirthWeight"/>
-            <xsd:enumeration value="BlankVotes"/>
-            <xsd:enumeration value="BloodRecord"/>
-            <xsd:enumeration value="BookInventory"/>
-            <xsd:enumeration value="BookOrderQuantity"/>
-            <xsd:enumeration value="Branches"/>
-            <xsd:enumeration value="BranchLocations"/>
-            <xsd:enumeration value="BranchLocationsLeased"/>
-            <xsd:enumeration value="BranchLocationsOwned"/>
-            <xsd:enumeration value="BranchOfficeLocationsEstimated"/>
-            <xsd:enumeration value="BrothersDeceased"/>
-            <xsd:enumeration value="BrothersLiving"/>
-            <xsd:enumeration value="Budget"/>
-            <xsd:enumeration value="BudgetAtComplete"/>
-            <xsd:enumeration value="BudgetCumulativeToDate"/>
-            <xsd:enumeration value="BudgetedHours"/>
-            <xsd:enumeration value="BusinessClassFailureIncidences"/>
-            <xsd:enumeration value="BusinessFailureClassIncidence"/>
-            <xsd:enumeration value="BusinessFailureIndustryIncidence"/>
-            <xsd:enumeration value="BusinessFailureNationalAverageIncidence"/>
-            <xsd:enumeration value="Buyer"/>
-            <xsd:enumeration value="BuyupOrBuydownRatePerBasisPoint"/>
-            <xsd:enumeration value="Bytes"/>
-            <xsd:enumeration value="CalendarUnits"/>
-            <xsd:enumeration value="CancelledQuantity"/>
-            <xsd:enumeration value="CapitalChanges"/>
-            <xsd:enumeration value="CertifiedRegisteredNurseAnesthetistNumberOfConcurrentProcedures"/>
-            <xsd:enumeration value="Changes"/>
-            <xsd:enumeration value="ChangesInCapitalStructure"/>
-            <xsd:enumeration value="Charge"/>
-            <xsd:enumeration value="ChargeableCubicMeasurements"/>
-            <xsd:enumeration value="ChargeableDistance"/>
-            <xsd:enumeration value="ChargeableGrossWeight"/>
-            <xsd:enumeration value="ChargeableLength"/>
-            <xsd:enumeration value="ChargeableNumberOfAxles"/>
-            <xsd:enumeration value="ChargeableNumberOfContainers"/>
-            <xsd:enumeration value="ChargeableNumberOfPackages"/>
-            <xsd:enumeration value="ChargeableNumberOfRailWagons"/>
-            <xsd:enumeration value="ChargeableNumberOfUnits"/>
-            <xsd:enumeration value="ChargeablePeriod"/>
-            <xsd:enumeration value="ChargeableSurface"/>
-            <xsd:enumeration value="ChargeableTareWeight"/>
-            <xsd:enumeration value="ChargeableVolume"/>
-            <xsd:enumeration value="ChargeableWeight"/>
-            <xsd:enumeration value="Children"/>
-            <xsd:enumeration value="CirculatingOil"/>
-            <xsd:enumeration value="Citations"/>
-            <xsd:enumeration value="ClaimPeriod"/>
-            <xsd:enumeration value="Clerks"/>
-            <xsd:enumeration value="ClosingStatementBalance"/>
-            <xsd:enumeration value="ClosingStockBalanceQuantity"/>
-            <xsd:enumeration value="Co2InjectionVolume"/>
-            <xsd:enumeration value="Co-Insured-Actual"/>
-            <xsd:enumeration value="Co-Insured-Estimated"/>
-            <xsd:enumeration value="CollateralRequirements"/>
-            <xsd:enumeration value="CollectionPeriod"/>
-            <xsd:enumeration value="CommitmentPeriod"/>
-            <xsd:enumeration value="CommittedQuantity"/>
-            <xsd:enumeration value="CommunityServiceDuration"/>
-            <xsd:enumeration value="CompaniesIncludedInConsolidatedFinancialStatement"/>
-            <xsd:enumeration value="CompaniesIncludedInConsolidation"/>
-            <xsd:enumeration value="CompaniesInSameActivity"/>
-            <xsd:enumeration value="ComparisonPeriod"/>
-            <xsd:enumeration value="Completed"/>
-            <xsd:enumeration value="CompletedContracts"/>
-            <xsd:enumeration value="CompletedLineItems"/>
-            <xsd:enumeration value="CompletedProjects"/>
-            <xsd:enumeration value="ComponentMeterReadingCount"/>
-            <xsd:enumeration value="ConcurrentItemOutputOfTooling"/>
-            <xsd:enumeration value="Confirmed"/>
-            <xsd:enumeration value="ConsolidatedDiscountInventory"/>
-            <xsd:enumeration value="ConsumerReservedQuantity"/>
-            <xsd:enumeration value="ContinuanceDuration"/>
-            <xsd:enumeration value="ContractBuydown"/>
-            <xsd:enumeration value="ContractBuyup"/>
-            <xsd:enumeration value="ContractCompletedDelinquent-ContractorCaused"/>
-            <xsd:enumeration value="ContractLineItemQuantity"/>
-            <xsd:enumeration value="ContractorAtComplete"/>
-            <xsd:enumeration value="ContractorCumulativeToDate"/>
-            <xsd:enumeration value="ContractsCompletedDelinquent-BuyingPartyCaused"/>
-            <xsd:enumeration value="ContractsCompletedDelinquent-UnknownCauses"/>
-            <xsd:enumeration value="ContributionTotal"/>
-            <xsd:enumeration value="ControlQuantity"/>
-            <xsd:enumeration value="ConventionalMobiles"/>
-            <xsd:enumeration value="ConvictionsSent"/>
-            <xsd:enumeration value="CooperativeShares"/>
-            <xsd:enumeration value="CorrectedQuantity"/>
-            <xsd:enumeration value="CorrectiveActionRequests-MethodC"/>
-            <xsd:enumeration value="CorrectiveActionRequests-MethodD"/>
-            <xsd:enumeration value="CorrectiveActionRequests-MethodE"/>
-            <xsd:enumeration value="CorrectiveActionRequests-Verbal"/>
-            <xsd:enumeration value="CorrectiveActionRequests-Written"/>
-            <xsd:enumeration value="CounterClerks"/>
-            <xsd:enumeration value="CourseSegments"/>
-            <xsd:enumeration value="Coverage"/>
-            <xsd:enumeration value="Covered-Actual"/>
-            <xsd:enumeration value="Covered-Estimated"/>
-            <xsd:enumeration value="Creditors"/>
-            <xsd:enumeration value="CriminalSentenceDuration"/>
-            <xsd:enumeration value="CumulativeActual"/>
-            <xsd:enumeration value="CumulativeBudget"/>
-            <xsd:enumeration value="CumulativeEarnedValue"/>
-            <xsd:enumeration value="CumulativeEffectOfPriorPeriodAdjustment"/>
-            <xsd:enumeration value="CumulativeGasInjectionVolume"/>
-            <xsd:enumeration value="CumulativeGasVolume"/>
-            <xsd:enumeration value="CumulativeLiquidInjectionVolume"/>
-            <xsd:enumeration value="CumulativeOilOrCondensateVolume"/>
-            <xsd:enumeration value="CumulativeQuantity"/>
-            <xsd:enumeration value="CumulativeQuantityActualEstimated"/>
-            <xsd:enumeration value="CumulativeQuantityActualMeasured"/>
-            <xsd:enumeration value="CumulativeQuantityActualPlanned"/>
-            <xsd:enumeration value="CumulativeQuantityOrdered"/>
-            <xsd:enumeration value="CumulativeQuantityPrecedingPeriodEstimated"/>
-            <xsd:enumeration value="CumulativeQuantityPrecedingPeriodMeasured"/>
-            <xsd:enumeration value="CumulativeQuantityPrecedingPeriodPlanned"/>
-            <xsd:enumeration value="CumulativeQuantityPrecedingPeriodReached"/>
-            <xsd:enumeration value="CumulativeQuantityReceived"/>
-            <xsd:enumeration value="CumulativeQuantityReceivedEndOfPriorYear"/>
-            <xsd:enumeration value="CumulativeQuantity-RejectedMaterial"/>
-            <xsd:enumeration value="CumulativeQuantity-RejectedMaterial-DispositionCredit"/>
-            <xsd:enumeration value="CumulativeQuantity-RejectedMaterial-DispositionPending"/>
-            <xsd:enumeration value="CumulativeQuantity-RejectedMaterial-DispositionReplacement"/>
-            <xsd:enumeration value="CumulativeQuantityRequiredPriorToTheFirstScheduledPeriod"/>
-            <xsd:enumeration value="CumulativeQuantityScheduled"/>
-            <xsd:enumeration value="CumulativeQuantityScheduledUpToAccumulationStartDate"/>
-            <xsd:enumeration value="CumulativeQuantityShipped"/>
-            <xsd:enumeration value="CumulativeQuantityShippedLong-DispositionChallenged"/>
-            <xsd:enumeration value="CumulativeQuantityShippedLong-DispositionPending"/>
-            <xsd:enumeration value="CumulativeQuantityShippedShort-DispositionChallenged"/>
-            <xsd:enumeration value="CumulativeQuantityShippedShort-DispositionPending"/>
-            <xsd:enumeration value="CumulativeScheduleVariance"/>
-            <xsd:enumeration value="CumulativeScrapQuantity"/>
-            <xsd:enumeration value="CumulativeVariance"/>
-            <xsd:enumeration value="CumulativeWaterVolume"/>
-            <xsd:enumeration value="CurrentDaysOnMarket"/>
-            <xsd:enumeration value="DeductibleBloodUnits"/>
-            <xsd:enumeration value="DefaultNotificationResponsePeriod"/>
-            <xsd:enumeration value="DegreeSegments"/>
-            <xsd:enumeration value="Deleted"/>
-            <xsd:enumeration value="DeliveryBatch"/>
-            <xsd:enumeration value="DeliveryBatchMultiple"/>
-            <xsd:enumeration value="DeliveryQuantity"/>
-            <xsd:enumeration value="DeliveryQuantityBalance"/>
-            <xsd:enumeration value="Departments"/>
-            <xsd:enumeration value="DependentCount"/>
-            <xsd:enumeration value="DependentsAge"/>
-            <xsd:enumeration value="DependentTotal"/>
-            <xsd:enumeration value="DesignEmployees"/>
-            <xsd:enumeration value="DespatchNoteQuantity"/>
-            <xsd:enumeration value="DespatchQuantity"/>
-            <xsd:enumeration value="DestroyedQuantity"/>
-            <xsd:enumeration value="DetrimentalLegalFilings"/>
-            <xsd:enumeration value="DetrimentalLegalFilingsAgainstDirectors"/>
-            <xsd:enumeration value="DimensionalSampleQuantity"/>
-            <xsd:enumeration value="Directors"/>
-            <xsd:enumeration value="DirectShipmentQuantity"/>
-            <xsd:enumeration value="DirectWorkers"/>
-            <xsd:enumeration value="DisbursementPeriod"/>
-            <xsd:enumeration value="DiscreetQuantity-RejectedMaterial"/>
-            <xsd:enumeration value="DiscreteQuantity"/>
-            <xsd:enumeration value="DiscreteQuantity-RejectedMaterial-DispositionCredit"/>
-            <xsd:enumeration value="DiscreteQuantity-RejectedMaterial-DispositionPending"/>
-            <xsd:enumeration value="DiscreteQuantity-RejectedMaterial-DispositionReplacement"/>
-            <xsd:enumeration value="Disposed"/>
-            <xsd:enumeration value="DispositionUndeterminedQuantity"/>
-            <xsd:enumeration value="Distributed"/>
-            <xsd:enumeration value="DistributorInventory"/>
-            <xsd:enumeration value="DomesticAffiliatedCompanies"/>
-            <xsd:enumeration value="DomesticUses"/>
-            <xsd:enumeration value="Dose"/>
-            <xsd:enumeration value="Drafts"/>
-            <xsd:enumeration value="Drivers"/>
-            <xsd:enumeration value="Due"/>
-            <xsd:enumeration value="Due-In"/>
-            <xsd:enumeration value="Duplicates"/>
-            <xsd:enumeration value="DurationInCurrentJob"/>
-            <xsd:enumeration value="DwellingArea"/>
-            <xsd:enumeration value="EarnedValue"/>
-            <xsd:enumeration value="EarnedValueCumulativeToDate"/>
-            <xsd:enumeration value="EarnedValueHours"/>
-            <xsd:enumeration value="EffectiveAge"/>
-            <xsd:enumeration value="ElapsedDuration"/>
-            <xsd:enumeration value="ElectronicSignatures"/>
-            <xsd:enumeration value="EliminationPeriod"/>
-            <xsd:enumeration value="EliminationPeriod-Accident"/>
-            <xsd:enumeration value="EliminationPeriod-Sickness"/>
-            <xsd:enumeration value="EmergencyModifyingUnits"/>
-            <xsd:enumeration value="EmployedAtLocation"/>
-            <xsd:enumeration value="EmployedAtThisLocation"/>
-            <xsd:enumeration value="EmployedByThisCompany"/>
-            <xsd:enumeration value="EmployedInThisProfession"/>
-            <xsd:enumeration value="EmployedOnThisJob"/>
-            <xsd:enumeration value="EmployeeAverage"/>
-            <xsd:enumeration value="Employees"/>
-            <xsd:enumeration value="EmployeesAge"/>
-            <xsd:enumeration value="Employees-Nonowner"/>
-            <xsd:enumeration value="EmployeesNotIncludingOwners"/>
-            <xsd:enumeration value="EmployeesNumberOfDaysAwayFromWorkDueToInjury"/>
-            <xsd:enumeration value="EmployeesNumberOfDaysOfRestrictedWorkActivityDueToInjury"/>
-            <xsd:enumeration value="Employees-Owner"/>
-            <xsd:enumeration value="Employees-PartTime"/>
-            <xsd:enumeration value="Employees-SameDuties"/>
-            <xsd:enumeration value="Employees-SameOccupation"/>
-            <xsd:enumeration value="EmployeesShared"/>
-            <xsd:enumeration value="EmployeesTotalNumberOfDaysAwayFromWorkDueToIllness"/>
-            <xsd:enumeration value="EmployeeTotal"/>
-            <xsd:enumeration value="EmployeeTotalFirstMonthOfQuarter"/>
-            <xsd:enumeration value="EmployeeTotalSecondMonthOfQuarter"/>
-            <xsd:enumeration value="EmployeeTotalThirdMonthOfQuarter"/>
-            <xsd:enumeration value="EndingStock"/>
-            <xsd:enumeration value="EndOfMonthInventoryPriorToShip"/>
-            <xsd:enumeration value="EndQuantity"/>
-            <xsd:enumeration value="EngineeredStandard"/>
-            <xsd:enumeration value="Engineers"/>
-            <xsd:enumeration value="EquipmentQuantity"/>
-            <xsd:enumeration value="EquitySecurityHolder"/>
-            <xsd:enumeration value="EstimateAtComplete"/>
-            <xsd:enumeration value="Estimated"/>
-            <xsd:enumeration value="EstimatedAccounts"/>
-            <xsd:enumeration value="EstimatedAnnualVolume"/>
-            <xsd:enumeration value="EstimatedDuration"/>
-            <xsd:enumeration value="EstimatedEmployeesAtLocation"/>
-            <xsd:enumeration value="EstimatedHours"/>
-            <xsd:enumeration value="EstimatedQuantity"/>
-            <xsd:enumeration value="EstimatedReadingQuantity"/>
-            <xsd:enumeration value="EstimatedRemainingEconomicLife"/>
-            <xsd:enumeration value="EstimatedRemainingPhysicalLife"/>
-            <xsd:enumeration value="EstimatedTotalEmployees"/>
-            <xsd:enumeration value="EvaporatedWater"/>
-            <xsd:enumeration value="ExclusiveUses"/>
-            <xsd:enumeration value="Executives"/>
-            <xsd:enumeration value="ExistenceLimitPeriod"/>
-            <xsd:enumeration value="ExpenditureQuantity"/>
-            <xsd:enumeration value="Expense"/>
-            <xsd:enumeration value="ExtendedTerm"/>
-            <xsd:enumeration value="ExtraUnplannedDelivery"/>
-            <xsd:enumeration value="Factor"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidClaimMandate-Category1"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidClaimMandate-Category2"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidClaimMandate-Category3"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidClaimMandate-Category4"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidClaimMandate-Category5"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidPaymentMandate-Category1"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidPaymentMandate-Category2"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidPaymentMandate-Category3"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidPaymentMandate-Category4"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidPaymentMandate-Category5"/>
-            <xsd:enumeration value="FederalPensionMandate-Category1"/>
-            <xsd:enumeration value="FederalPensionMandate-Category2"/>
-            <xsd:enumeration value="FederalPensionMandate-Category3"/>
-            <xsd:enumeration value="FederalPensionMandate-Category4"/>
-            <xsd:enumeration value="FederalPensionMandate-Category5"/>
-            <xsd:enumeration value="FederalVotes"/>
-            <xsd:enumeration value="FieldWorkers"/>
-            <xsd:enumeration value="FileSizeAfterCompression"/>
-            <xsd:enumeration value="FileSizeBeforeCompression"/>
-            <xsd:enumeration value="FinalDeliveryQuantity"/>
-            <xsd:enumeration value="FinancialCoveragePeriod"/>
-            <xsd:enumeration value="FinancialInstitutions"/>
-            <xsd:enumeration value="FinishOffset"/>
-            <xsd:enumeration value="FirstQuarterNon-RecurringDemand"/>
-            <xsd:enumeration value="FirstQuarterNon-RecurringOrders"/>
-            <xsd:enumeration value="FirstQuarterRecurringDemand"/>
-            <xsd:enumeration value="FirstQuarterRecurringOrders"/>
-            <xsd:enumeration value="FlareOrFlash"/>
-            <xsd:enumeration value="FlatExtraPremium"/>
-            <xsd:enumeration value="Floors"/>
-            <xsd:enumeration value="FloorsOccupied"/>
-            <xsd:enumeration value="Forecast"/>
-            <xsd:enumeration value="ForecastAtComplete"/>
-            <xsd:enumeration value="ForecastedScannedQuantity"/>
-            <xsd:enumeration value="ForecastToComplete"/>
-            <xsd:enumeration value="ForeignRelatedEntities"/>
-            <xsd:enumeration value="Foremen"/>
-            <xsd:enumeration value="FourthQuarterNon-RecurringDemand"/>
-            <xsd:enumeration value="FourthQuarterNon-RecurringOrders"/>
-            <xsd:enumeration value="FourthQuarterRecurringDemand"/>
-            <xsd:enumeration value="FourthQuarterRecurringOrders"/>
-            <xsd:enumeration value="FreeFloat-InCalendarUnits"/>
-            <xsd:enumeration value="FreeFloatTime"/>
-            <xsd:enumeration value="FreeGoodsQuantity"/>
-            <xsd:enumeration value="FreelanceDebtCollectors"/>
-            <xsd:enumeration value="FreelanceSalespersons"/>
-            <xsd:enumeration value="FreeQuantityIncluded"/>
-            <xsd:enumeration value="FreeQuantityNotIncluded"/>
-            <xsd:enumeration value="Frequency"/>
-            <xsd:enumeration value="Fuel"/>
-            <xsd:enumeration value="FuelConsumedOrBurnedAmount"/>
-            <xsd:enumeration value="FuelPumps"/>
-            <xsd:enumeration value="FullBaths"/>
-            <xsd:enumeration value="FunctionalGroups"/>
-            <xsd:enumeration value="FunctionalSampleQuantity"/>
-            <xsd:enumeration value="FurnishedBloodUnits"/>
-            <xsd:enumeration value="GarageOrCarportArea"/>
-            <xsd:enumeration value="GasInjectionVolume"/>
-            <xsd:enumeration value="GasLiftVolume"/>
-            <xsd:enumeration value="GasReceiptVolume"/>
-            <xsd:enumeration value="GasReturnedToEarth"/>
-            <xsd:enumeration value="GasReturnedToPropertyForFuel"/>
-            <xsd:enumeration value="GasShrinkage"/>
-            <xsd:enumeration value="GasSold"/>
-            <xsd:enumeration value="GasUsedForDrilling"/>
-            <xsd:enumeration value="GasUsedForFuelSystem"/>
-            <xsd:enumeration value="GasUsedForPlantFuel"/>
-            <xsd:enumeration value="GasUsedForRepressuringOrPressureMaintenance"/>
-            <xsd:enumeration value="GasUsedOnProperty"/>
-            <xsd:enumeration value="GasVented"/>
-            <xsd:enumeration value="GasVolume"/>
-            <xsd:enumeration value="GeneralEliminationPeriod"/>
-            <xsd:enumeration value="GovernmentReportingQuantity"/>
-            <xsd:enumeration value="GradeTransferAmount"/>
-            <xsd:enumeration value="GrossAnnualIncomeMultiplier"/>
-            <xsd:enumeration value="GrossBuildingArea"/>
-            <xsd:enumeration value="GrossEstimate"/>
-            <xsd:enumeration value="GrossLivingArea"/>
-            <xsd:enumeration value="GrossLivingFinishedAreaAboveGrade"/>
-            <xsd:enumeration value="GrossProduction"/>
-            <xsd:enumeration value="GrossRentMultiplier"/>
-            <xsd:enumeration value="GroupEmployees"/>
-            <xsd:enumeration value="GuaranteeFeeBuyupMaximum"/>
-            <xsd:enumeration value="GuaranteeFeeRateAfterAlternatePaymentMethod"/>
-            <xsd:enumeration value="GuaranteeFeeRateAfterBuyupOrBuydown"/>
-            <xsd:enumeration value="GuaranteePeriod"/>
-            <xsd:enumeration value="Height"/>
-            <xsd:enumeration value="HighFabricationAuthorizationQuantity"/>
-            <xsd:enumeration value="HighRawMaterialAuthorizationQuantity"/>
-            <xsd:enumeration value="HoldingPeriod"/>
-            <xsd:enumeration value="Hours"/>
-            <xsd:enumeration value="HoursFlown-AircraftOrTypeFlying"/>
-            <xsd:enumeration value="HoursFlown-AircraftTypeOrLife"/>
-            <xsd:enumeration value="HoursFlown-AircraftTypeOrPeriod"/>
-            <xsd:enumeration value="HoursFlown-Lifetime"/>
-            <xsd:enumeration value="HoursFlown-TypeFlying"/>
-            <xsd:enumeration value="ImpairmentDuration"/>
-            <xsd:enumeration value="ImpairmentFrequency"/>
-            <xsd:enumeration value="IncrementalOrderQuantity"/>
-            <xsd:enumeration value="IndirectEmployees"/>
-            <xsd:enumeration value="IndustryBusinessFailureIncidences"/>
-            <xsd:enumeration value="InformationProviderStandardizedMotorVehiclePenaltyPoints"/>
-            <xsd:enumeration value="InformationReadingQuantity"/>
-            <xsd:enumeration value="Inspectors"/>
-            <xsd:enumeration value="InstalledCapacity"/>
-            <xsd:enumeration value="Installers"/>
-            <xsd:enumeration value="InstallmentFrequency"/>
-            <xsd:enumeration value="InstallmentPayments"/>
-            <xsd:enumeration value="Installments"/>
-            <xsd:enumeration value="InsufficientFundsReturnedCheques"/>
-            <xsd:enumeration value="IntendedChangeTimePeriod"/>
-            <xsd:enumeration value="InterestForOverdrawnAccount"/>
-            <xsd:enumeration value="InterimTermPeriod"/>
-            <xsd:enumeration value="IntertankTransferAmount"/>
-            <xsd:enumeration value="InTransitQuantity"/>
-            <xsd:enumeration value="In-Use"/>
-            <xsd:enumeration value="InventoryCategoryTransfer"/>
-            <xsd:enumeration value="InventoryDiscrepancy"/>
-            <xsd:enumeration value="InventoryMovementQuantity"/>
-            <xsd:enumeration value="InventoryOnShelfWorkInProgress"/>
-            <xsd:enumeration value="InventoryQuantityAtSuppliersNotSubjectToInspectionByCustomer"/>
-            <xsd:enumeration value="InventoryQuantityAtSuppliersSubjectToInspectionByCustomer"/>
-            <xsd:enumeration value="InventoryWithdrawalQuantity"/>
-            <xsd:enumeration value="InvoicedQuantity"/>
-            <xsd:enumeration value="Invoices"/>
-            <xsd:enumeration value="InvolvementPeriod"/>
-            <xsd:enumeration value="IssuedShares"/>
-            <xsd:enumeration value="JailSentenceDuration"/>
-            <xsd:enumeration value="JudgementsRegistered"/>
-            <xsd:enumeration value="Judgments"/>
-            <xsd:enumeration value="JudicialStayDuration"/>
-            <xsd:enumeration value="Laborers"/>
-            <xsd:enumeration value="LabourHours"/>
-            <xsd:enumeration value="LagTime"/>
-            <xsd:enumeration value="LandHolding"/>
-            <xsd:enumeration value="LandSize"/>
-            <xsd:enumeration value="Lanes"/>
-            <xsd:enumeration value="Late"/>
-            <xsd:enumeration value="LatePaymentPeriod"/>
-            <xsd:enumeration value="LatestCumulativeQuantity"/>
-            <xsd:enumeration value="LawSuits"/>
-            <xsd:enumeration value="LeadTime"/>
-            <xsd:enumeration value="LeasePeriods"/>
-            <xsd:enumeration value="LengthOfResidency"/>
-            <xsd:enumeration value="LevelResource-Quantity"/>
-            <xsd:enumeration value="LevelResourceTaskQuantity"/>
-            <xsd:enumeration value="LevelsOccupied"/>
-            <xsd:enumeration value="LicenseWithdrawalDuration"/>
-            <xsd:enumeration value="LicenseWithdrawalsSent"/>
-            <xsd:enumeration value="Liens"/>
-            <xsd:enumeration value="LiensRegistered"/>
-            <xsd:enumeration value="LifetimeCapacityOfTooling"/>
-            <xsd:enumeration value="Life-TimeReserve-Actual"/>
-            <xsd:enumeration value="LifetimeReserveDays-AppliedToThisClaim"/>
-            <xsd:enumeration value="Life-TimeReserve-Estimated"/>
-            <xsd:enumeration value="LimitedQuantity"/>
-            <xsd:enumeration value="LineItemsCompletedDelinquent-BuyingPartyCaused"/>
-            <xsd:enumeration value="LineItemsCompletedDelinquent-ContractorCaused"/>
-            <xsd:enumeration value="LineItemsCompletedDelinquent-UnknownCauses"/>
-            <xsd:enumeration value="LineThreadQuantity"/>
-            <xsd:enumeration value="LiquidInjectionVolume"/>
-            <xsd:enumeration value="Livestock"/>
-            <xsd:enumeration value="LoanRate"/>
-            <xsd:enumeration value="LoanRepaymentTotal"/>
-            <xsd:enumeration value="LossAllowance"/>
-            <xsd:enumeration value="LossOrGain"/>
-            <xsd:enumeration value="LostGas"/>
-            <xsd:enumeration value="LostGoods"/>
-            <xsd:enumeration value="LostOil"/>
-            <xsd:enumeration value="LostWorkTimeActual"/>
-            <xsd:enumeration value="LostWorkTimeEstimated"/>
-            <xsd:enumeration value="LotSize"/>
-            <xsd:enumeration value="Machines"/>
-            <xsd:enumeration value="MaintenanceUnits"/>
-            <xsd:enumeration value="Manufactured"/>
-            <xsd:enumeration value="ManufacturedUnits"/>
-            <xsd:enumeration value="MarineRadios"/>
-            <xsd:enumeration value="MarketPriceChange"/>
-            <xsd:enumeration value="MatchingEquipment"/>
-            <xsd:enumeration value="MaterialOn-BoardQuantityPriorToLoading"/>
-            <xsd:enumeration value="Maximum"/>
-            <xsd:enumeration value="MaximumAge"/>
-            <xsd:enumeration value="MaximumBenefitPeriod"/>
-            <xsd:enumeration value="MaximumBenefitPeriod-Accident"/>
-            <xsd:enumeration value="MaximumBenefitPeriodAccidentToAge"/>
-            <xsd:enumeration value="MaximumBenefitPeriod-Sickness"/>
-            <xsd:enumeration value="MaximumBenefitPeriodSicknessToAge"/>
-            <xsd:enumeration value="MaximumCriminalSentenceDuration"/>
-            <xsd:enumeration value="MaximumDeliveryBatch"/>
-            <xsd:enumeration value="MaximumForecastQuantity"/>
-            <xsd:enumeration value="MaximumInventory"/>
-            <xsd:enumeration value="MaximumMaturityExtension"/>
-            <xsd:enumeration value="MaximumNumberOfEmployees"/>
-            <xsd:enumeration value="MaximumNumberOfEmployeesAtLocation"/>
-            <xsd:enumeration value="MaximumNumberOfPurchaseOrdersAllowed"/>
-            <xsd:enumeration value="MaximumNumberOfShipmentsAllowed"/>
-            <xsd:enumeration value="MaximumOrderQuantity"/>
-            <xsd:enumeration value="MaximumProductionBatch"/>
-            <xsd:enumeration value="MaximumQuantityToWhichTaxRateApplies"/>
-            <xsd:enumeration value="MaximumRequestableQuantity"/>
-            <xsd:enumeration value="MaximumShipQuantity"/>
-            <xsd:enumeration value="MaximumStackability"/>
-            <xsd:enumeration value="MaximumStockLevel"/>
-            <xsd:enumeration value="MaximumSupplyQuantitySupplierEndorsed"/>
-            <xsd:enumeration value="MaximumTransfer"/>
-            <xsd:enumeration value="Mechanics"/>
-            <xsd:enumeration value="MedicationDuration"/>
-            <xsd:enumeration value="MembersInGroup"/>
-            <xsd:enumeration value="Messengers"/>
-            <xsd:enumeration value="MeterReading"/>
-            <xsd:enumeration value="Miles"/>
-            <xsd:enumeration value="MilitarySalesQuantity"/>
-            <xsd:enumeration value="MillionDollarRoundtableCredits"/>
-            <xsd:enumeration value="Minimum"/>
-            <xsd:enumeration value="MinimumAge"/>
-            <xsd:enumeration value="MinimumAverageTimeRequirementUnits"/>
-            <xsd:enumeration value="MinimumContractQuantity"/>
-            <xsd:enumeration value="MinimumCriminalSentenceDuration"/>
-            <xsd:enumeration value="MinimumDeliveryBatch"/>
-            <xsd:enumeration value="MinimumEmployeesAtLocation"/>
-            <xsd:enumeration value="MinimumFabricationQuantity"/>
-            <xsd:enumeration value="MinimumForecastQuantity"/>
-            <xsd:enumeration value="MinimumInventory"/>
-            <xsd:enumeration value="MinimumNumberOfEmployees"/>
-            <xsd:enumeration value="MinimumOrderPackageLevel"/>
-            <xsd:enumeration value="MinimumOrderQuantity"/>
-            <xsd:enumeration value="MinimumProductionBatch"/>
-            <xsd:enumeration value="MinimumQuantityToWhichTaxRateApplies"/>
-            <xsd:enumeration value="MinimumRequestableQuantity"/>
-            <xsd:enumeration value="MinimumShipQuantity"/>
-            <xsd:enumeration value="MinimumStockLevel"/>
-            <xsd:enumeration value="MinimumTransfer"/>
-            <xsd:enumeration value="MiscellaneousAllowance"/>
-            <xsd:enumeration value="MobileLoadingAllocation"/>
-            <xsd:enumeration value="ModelOrTargetStock"/>
-            <xsd:enumeration value="Month"/>
-            <xsd:enumeration value="MortgagePoolCount"/>
-            <xsd:enumeration value="MostLikelyDuration"/>
-            <xsd:enumeration value="NationalBusinessFailureIncidences"/>
-            <xsd:enumeration value="Net"/>
-            <xsd:enumeration value="NetQuantityDecrease"/>
-            <xsd:enumeration value="NetQuantityIncrease"/>
-            <xsd:enumeration value="NetToPayItemCount."/>
-            <xsd:enumeration value="NoDeliveryRequirementInThisInstruction"/>
-            <xsd:enumeration value="Non-BillableQuantity"/>
-            <xsd:enumeration value="NoncommittedInventoryOnShelf"/>
-            <xsd:enumeration value="NonconformanceQuantity"/>
-            <xsd:enumeration value="Non-ConsolidatedTotal-DomesticSubsidiaries"/>
-            <xsd:enumeration value="Non-ConsolidatedTotal-ForeignSubsidiaries"/>
-            <xsd:enumeration value="Noncovered-Actual"/>
-            <xsd:enumeration value="Non-Covered-Estimated"/>
-            <xsd:enumeration value="Non-DomesticStockholders"/>
-            <xsd:enumeration value="NonexclusiveUses"/>
-            <xsd:enumeration value="Non-UnionEmployees"/>
-            <xsd:enumeration value="Non-UrgentDeliveryQuantity"/>
-            <xsd:enumeration value="NormalDelivery"/>
-            <xsd:enumeration value="NormalReadingQuantity"/>
-            <xsd:enumeration value="NotReplacedBloodUnits"/>
-            <xsd:enumeration value="NoVotes"/>
-            <xsd:enumeration value="NumberOfAccountsPastDue"/>
-            <xsd:enumeration value="NumberOfActiveAccountsThisCycle"/>
-            <xsd:enumeration value="NumberOfAddedLocations"/>
-            <xsd:enumeration value="NumberOfAdjustmentPeriods"/>
-            <xsd:enumeration value="NumberOfAttacksOrOccurrences"/>
-            <xsd:enumeration value="NumberOfBatches"/>
-            <xsd:enumeration value="NumberOfBorrowers"/>
-            <xsd:enumeration value="NumberOfCardsNotReceived"/>
-            <xsd:enumeration value="NumberOfCardsOutstanding"/>
-            <xsd:enumeration value="NumberOfChecks"/>
-            <xsd:enumeration value="NumberOfClaimants"/>
-            <xsd:enumeration value="NumberOfClosedLocations"/>
-            <xsd:enumeration value="NumberOfCo-InsuranceDays"/>
-            <xsd:enumeration value="NumberOfCopiesOfBillOfLading"/>
-            <xsd:enumeration value="NumberOfCrew"/>
-            <xsd:enumeration value="NumberOfDaysCoveredByInventory"/>
-            <xsd:enumeration value="NumberOfDead"/>
-            <xsd:enumeration value="NumberOfDelinquentInstallments"/>
-            <xsd:enumeration value="NumberOfDeliveriesPerDespatchPeriod"/>
-            <xsd:enumeration value="NumberOfDependents"/>
-            <xsd:enumeration value="NumberOfEndUsers"/>
-            <xsd:enumeration value="NumberOfEntitledExemptions"/>
-            <xsd:enumeration value="NumberOfFailedBusinessesOfDirectors"/>
-            <xsd:enumeration value="NumberOfFranchisees"/>
-            <xsd:enumeration value="NumberOfFull-TimeEmployees"/>
-            <xsd:enumeration value="NumberOfHospitals"/>
-            <xsd:enumeration value="NumberOfIdenticalHandlingUnits"/>
-            <xsd:enumeration value="NumberOfInsuredLives"/>
-            <xsd:enumeration value="NumberOfInterestPayments"/>
-            <xsd:enumeration value="NumberOfIrregularInterestPayments"/>
-            <xsd:enumeration value="NumberOfItemsAuthorizedAtStore"/>
-            <xsd:enumeration value="NumberOfItemsAuthorizedAtWarehouse"/>
-            <xsd:enumeration value="NumberOfItemsInStock"/>
-            <xsd:enumeration value="NumberOfLateCharges"/>
-            <xsd:enumeration value="NumberOfLevels"/>
-            <xsd:enumeration value="NumberOfLimitedPartnershipShares"/>
-            <xsd:enumeration value="NumberOfLiving"/>
-            <xsd:enumeration value="NumberOfLoans"/>
-            <xsd:enumeration value="NumberOfLostCards"/>
-            <xsd:enumeration value="NumberOfMembers"/>
-            <xsd:enumeration value="NumberOfMessageRecipients"/>
-            <xsd:enumeration value="NumberOfMonths"/>
-            <xsd:enumeration value="NumberOfMortgagors"/>
-            <xsd:enumeration value="NumberOfMoulds"/>
-            <xsd:enumeration value="NumberOfNon-CoveredDays"/>
-            <xsd:enumeration value="NumberOfNonsufficientFundItems"/>
-            <xsd:enumeration value="NumberOfOpenAccounts"/>
-            <xsd:enumeration value="NumberOfOperatingPeriodsAtFailure"/>
-            <xsd:enumeration value="NumberOfOperatorCredits"/>
-            <xsd:enumeration value="NumberOfOriginals"/>
-            <xsd:enumeration value="NumberOfPackagesInHandlingUnit"/>
-            <xsd:enumeration value="NumberOfPassengers"/>
-            <xsd:enumeration value="NumberOfPatientAdmissions"/>
-            <xsd:enumeration value="NumberOfPeopleLivingAtResidence"/>
-            <xsd:enumeration value="NumberOfPhysicians"/>
-            <xsd:enumeration value="NumberOfProducingWellsRemainingOnPropertyOrFacility"/>
-            <xsd:enumeration value="NumberOfProducingWellsRemainingOnRoyaltyAccount"/>
-            <xsd:enumeration value="NumberOfQuantitativeIncentiveSchemeUnits"/>
-            <xsd:enumeration value="NumberOfServicesOrProcedures"/>
-            <xsd:enumeration value="NumberOfShelfFacings"/>
-            <xsd:enumeration value="NumberOfShelfTags"/>
-            <xsd:enumeration value="NumberOfSignedBillsOfLading"/>
-            <xsd:enumeration value="NumberOfStations"/>
-            <xsd:enumeration value="NumberOfStolenCards"/>
-            <xsd:enumeration value="NumberOfStops"/>
-            <xsd:enumeration value="NumberOfTheatres"/>
-            <xsd:enumeration value="NumberOfTimes"/>
-            <xsd:enumeration value="NumberOfTimesDeported"/>
-            <xsd:enumeration value="NumberOfTransportDocuments"/>
-            <xsd:enumeration value="NumberOfUnits"/>
-            <xsd:enumeration value="NumberOfUnits-Housing"/>
-            <xsd:enumeration value="NumberOfUnitsInTheDepthOfALayer"/>
-            <xsd:enumeration value="NumberOfUnitsInTheWidthOfALayer"/>
-            <xsd:enumeration value="NumberOfUnsignedBillsOfLading"/>
-            <xsd:enumeration value="NumberOfWithholdingExemptions"/>
-            <xsd:enumeration value="NumbersOfConsumerUnitsInTheTradedUnit"/>
-            <xsd:enumeration value="NumberWeeksPaid"/>
-            <xsd:enumeration value="Nurses"/>
-            <xsd:enumeration value="OemInventory"/>
-            <xsd:enumeration value="OfficeSize"/>
-            <xsd:enumeration value="OfficeWorkers"/>
-            <xsd:enumeration value="OffLeaseFuel"/>
-            <xsd:enumeration value="OffPremiseSalesQuantity"/>
-            <xsd:enumeration value="OffPremisesSales"/>
-            <xsd:enumeration value="OilCondensateSold"/>
-            <xsd:enumeration value="OilCondensateUsedOnProperty"/>
-            <xsd:enumeration value="OilOrCondensateVolume"/>
-            <xsd:enumeration value="OilSedimentation"/>
-            <xsd:enumeration value="OilTheft"/>
-            <xsd:enumeration value="OnHandAndDue-In"/>
-            <xsd:enumeration value="OnHoldForShipment"/>
-            <xsd:enumeration value="OnOrderQuantity"/>
-            <xsd:enumeration value="OnPremiseSalesQuantity"/>
-            <xsd:enumeration value="OnPremisesSales"/>
-            <xsd:enumeration value="OpeningStatementBalance"/>
-            <xsd:enumeration value="OpeningStockBalanceQuantity"/>
-            <xsd:enumeration value="OpenQuantity"/>
-            <xsd:enumeration value="OperatingBeds"/>
-            <xsd:enumeration value="OperatingDivisions"/>
-            <xsd:enumeration value="OperatingQuantity"/>
-            <xsd:enumeration value="Operators"/>
-            <xsd:enumeration value="OperatorsWorkingInterest"/>
-            <xsd:enumeration value="OptimalQuantity"/>
-            <xsd:enumeration value="OptimisticDuration"/>
-            <xsd:enumeration value="OrderCount"/>
-            <xsd:enumeration value="OrderedQuantity"/>
-            <xsd:enumeration value="OrderQuantityMultiple"/>
-            <xsd:enumeration value="Original"/>
-            <xsd:enumeration value="OriginalDuration"/>
-            <xsd:enumeration value="OriginalLoanTerm"/>
-            <xsd:enumeration value="OriginalPaymentItemCount."/>
-            <xsd:enumeration value="OriginalQuantity"/>
-            <xsd:enumeration value="OriginalTermInYears"/>
-            <xsd:enumeration value="OtherEmployees"/>
-            <xsd:enumeration value="OtherGasDisposition"/>
-            <xsd:enumeration value="OtherInjectionVolume"/>
-            <xsd:enumeration value="OtherMiscellaneousDisposition"/>
-            <xsd:enumeration value="OtherOilCondensateDisposition"/>
-            <xsd:enumeration value="OtherUnlistedParticipants"/>
-            <xsd:enumeration value="OtherUnlistedStockholders"/>
-            <xsd:enumeration value="OtherWarReserveMaterialRequirementsProtectableQuantity"/>
-            <xsd:enumeration value="OtherWaterDisposition"/>
-            <xsd:enumeration value="OutlierDays"/>
-            <xsd:enumeration value="OutOfInventoryQuantity"/>
-            <xsd:enumeration value="OutstandingQuantity"/>
-            <xsd:enumeration value="OutstandingShares"/>
-            <xsd:enumeration value="Out-TurnedQuantity"/>
-            <xsd:enumeration value="Overage"/>
-            <xsd:enumeration value="OverflowQuantity"/>
-            <xsd:enumeration value="OverShipped"/>
-            <xsd:enumeration value="Owner"/>
-            <xsd:enumeration value="OwnersEquity"/>
-            <xsd:enumeration value="OwnershipChangeAge"/>
-            <xsd:enumeration value="OwnershipDuration"/>
-            <xsd:enumeration value="OwnershipPercentage"/>
-            <xsd:enumeration value="OwnOccupationQualificationPeriod"/>
-            <xsd:enumeration value="Pagers"/>
-            <xsd:enumeration value="Paid"/>
-            <xsd:enumeration value="Paid-InCommonShares"/>
-            <xsd:enumeration value="Paid-InPreferredShares"/>
-            <xsd:enumeration value="Paid-InSecurityShares"/>
-            <xsd:enumeration value="ParkingSpaces"/>
-            <xsd:enumeration value="PartialBaths"/>
-            <xsd:enumeration value="ParticipantTotal"/>
-            <xsd:enumeration value="ParticipationShares"/>
-            <xsd:enumeration value="Partners"/>
-            <xsd:enumeration value="PartTimeEmployees"/>
-            <xsd:enumeration value="PastDueQuantity"/>
-            <xsd:enumeration value="Patients"/>
-            <xsd:enumeration value="PaymentCancellationItemCount"/>
-            <xsd:enumeration value="PaymentDurationWeeks"/>
-            <xsd:enumeration value="PaymentExperiencesInTheLast12Months"/>
-            <xsd:enumeration value="PaymentExperiencesInTheLast3Months"/>
-            <xsd:enumeration value="PaymentFrequency"/>
-            <xsd:enumeration value="PaymentOrdersFiled"/>
-            <xsd:enumeration value="PaymentsNumber"/>
-            <xsd:enumeration value="PercentageOfOrderedQuantity"/>
-            <xsd:enumeration value="PeriodicCapacityOfTooling"/>
-            <xsd:enumeration value="PeriodOfEmployment"/>
-            <xsd:enumeration value="PeriodQuantityMeasured"/>
-            <xsd:enumeration value="PeriodQuantityPlanned"/>
-            <xsd:enumeration value="PeriodQuantityReached"/>
-            <xsd:enumeration value="Persistency"/>
-            <xsd:enumeration value="PessimisticDuration"/>
-            <xsd:enumeration value="PetitionsFiled"/>
-            <xsd:enumeration value="PhysicalStatusIii"/>
-            <xsd:enumeration value="PhysicalStatusIv"/>
-            <xsd:enumeration value="PhysicalStatusV"/>
-            <xsd:enumeration value="Physicians"/>
-            <xsd:enumeration value="PictureCount"/>
-            <xsd:enumeration value="PiecesDelivered"/>
-            <xsd:enumeration value="PilferageGoods"/>
-            <xsd:enumeration value="Pilots"/>
-            <xsd:enumeration value="PipelineAdjustmentOrAllowance"/>
-            <xsd:enumeration value="Pipes"/>
-            <xsd:enumeration value="PittedWater"/>
-            <xsd:enumeration value="PlacementPeriodExpiration"/>
-            <xsd:enumeration value="PlannedUnitDevelopmentUnits"/>
-            <xsd:enumeration value="PlantSize"/>
-            <xsd:enumeration value="PlantWorkers"/>
-            <xsd:enumeration value="PlatformCount"/>
-            <xsd:enumeration value="PortableRadios"/>
-            <xsd:enumeration value="PortedTelephoneLines"/>
-            <xsd:enumeration value="Post-OpDays"/>
-            <xsd:enumeration value="Poultry"/>
-            <xsd:enumeration value="PredominateAge"/>
-            <xsd:enumeration value="Pre-OpDays"/>
-            <xsd:enumeration value="PrepaidQuantityNotShipped"/>
-            <xsd:enumeration value="PrepaidQuantityShipped"/>
-            <xsd:enumeration value="Pre-ProductionQuantity"/>
-            <xsd:enumeration value="Prescription"/>
-            <xsd:enumeration value="PrescriptionDosage"/>
-            <xsd:enumeration value="PrescriptionEffectivePeriod"/>
-            <xsd:enumeration value="PrescriptionFrequency"/>
-            <xsd:enumeration value="PresidentialVotes"/>
-            <xsd:enumeration value="PressureBase"/>
-            <xsd:enumeration value="PreviousBenefits"/>
-            <xsd:enumeration value="PreviousCumulativeQuantity"/>
-            <xsd:enumeration value="PreviousHighestCumulativeQuantity"/>
-            <xsd:enumeration value="PreviouslyAmortisedQuantity"/>
-            <xsd:enumeration value="PreviousMonthsUsage"/>
-            <xsd:enumeration value="PreviousNumberOfAccounts"/>
-            <xsd:enumeration value="PreviousNumberOfBranchLocations"/>
-            <xsd:enumeration value="PreviousNumberOfEmployees"/>
-            <xsd:enumeration value="PreviousOrderQuantityToBeCancelled"/>
-            <xsd:enumeration value="PreviousQuantity"/>
-            <xsd:enumeration value="PreviousWeekQuantity"/>
-            <xsd:enumeration value="PriceBreakFrom"/>
-            <xsd:enumeration value="PriceBreakTo"/>
-            <xsd:enumeration value="PricingUnitPerBillingUnit"/>
-            <xsd:enumeration value="PrimaryManagers"/>
-            <xsd:enumeration value="PrimaryMeterReadingValue"/>
-            <xsd:enumeration value="PrimaryNetQuantity"/>
-            <xsd:enumeration value="PrincipalsIncludedAsEmployees"/>
-            <xsd:enumeration value="PriorCumulativeImbalance"/>
-            <xsd:enumeration value="PriorUnitsAccepted"/>
-            <xsd:enumeration value="ProbationDuration"/>
-            <xsd:enumeration value="ProducingWells"/>
-            <xsd:enumeration value="ProductExchangeAmount"/>
-            <xsd:enumeration value="ProductionRequirements"/>
-            <xsd:enumeration value="ProductionWorkers"/>
-            <xsd:enumeration value="ProductSalesAmount"/>
-            <xsd:enumeration value="Professionals"/>
-            <xsd:enumeration value="Professor"/>
-            <xsd:enumeration value="ProjectedAvailableInventory"/>
-            <xsd:enumeration value="ProjectPhases"/>
-            <xsd:enumeration value="ProjectsInProcess"/>
-            <xsd:enumeration value="ProjectUnitsSold"/>
-            <xsd:enumeration value="Promoters"/>
-            <xsd:enumeration value="PromotionQuantity"/>
-            <xsd:enumeration value="ProtestedBills"/>
-            <xsd:enumeration value="ProvidedQuantity"/>
-            <xsd:enumeration value="PublicationTurnSize"/>
-            <xsd:enumeration value="PurchaseOfProduct"/>
-            <xsd:enumeration value="QualificationPeriod"/>
-            <xsd:enumeration value="QualifyingWeeks"/>
-            <xsd:enumeration value="QualityControlFailed"/>
-            <xsd:enumeration value="QualityControlHeld"/>
-            <xsd:enumeration value="QuantitativeIncentiveSchemeBase"/>
-            <xsd:enumeration value="QuantityAdvised"/>
-            <xsd:enumeration value="QuantityApproved"/>
-            <xsd:enumeration value="QuantityAt100Pct"/>
-            <xsd:enumeration value="QuantityAvailableForReturn"/>
-            <xsd:enumeration value="QuantityAvailableForSale-StockQuantity"/>
-            <xsd:enumeration value="QuantityAvailableOnShelf"/>
-            <xsd:enumeration value="QuantityAwaitingDelivery"/>
-            <xsd:enumeration value="QuantityByPosition"/>
-            <xsd:enumeration value="QuantityCancelled"/>
-            <xsd:enumeration value="QuantityCarriedForward"/>
-            <xsd:enumeration value="QuantityDeferred"/>
-            <xsd:enumeration value="QuantityDelivered"/>
-            <xsd:enumeration value="QuantityDisapproved"/>
-            <xsd:enumeration value="QuantityDispensed"/>
-            <xsd:enumeration value="QuantityDisplayedNotAvailableForSale"/>
-            <xsd:enumeration value="QuantityEarned"/>
-            <xsd:enumeration value="QuantityHeldByDeliveryVehicle"/>
-            <xsd:enumeration value="QuantityHeldByLogisticServiceProvider"/>
-            <xsd:enumeration value="QuantityHeldByRetailOutlet"/>
-            <xsd:enumeration value="QuantityInFloat"/>
-            <xsd:enumeration value="QuantityInHoldOut"/>
-            <xsd:enumeration value="QuantityInManufacturingProcess"/>
-            <xsd:enumeration value="QuantityInPhysicalInventory"/>
-            <xsd:enumeration value="QuantityInQuarantine"/>
-            <xsd:enumeration value="QuantityInTransit"/>
-            <xsd:enumeration value="QuantityLanded"/>
-            <xsd:enumeration value="QuantityLoaded"/>
-            <xsd:enumeration value="QuantityManifested"/>
-            <xsd:enumeration value="QuantityNotAvailableForDespatch"/>
-            <xsd:enumeration value="QuantityOfDealerLicensePlates"/>
-            <xsd:enumeration value="QuantityOfMaterialInOrderedTime"/>
-            <xsd:enumeration value="QuantityOnHand"/>
-            <xsd:enumeration value="QuantityOnHold"/>
-            <xsd:enumeration value="QuantityPerNextHigherAssembly"/>
-            <xsd:enumeration value="QuantityPerPack"/>
-            <xsd:enumeration value="QuantityPerSkid"/>
-            <xsd:enumeration value="QuantityPerUnitOfIssue"/>
-            <xsd:enumeration value="QuantityReceived"/>
-            <xsd:enumeration value="QuantityRemaining"/>
-            <xsd:enumeration value="QuantityRequirementForMaintenanceAndRepairOf"/>
-            <xsd:enumeration value="QuantityRequirementForSampleInspection"/>
-            <xsd:enumeration value="QuantityRequiringManipulationBeforeDespatch"/>
-            <xsd:enumeration value="QuantityReturnedDefectiveOrDamaged"/>
-            <xsd:enumeration value="QuantityScheduled"/>
-            <xsd:enumeration value="QuantityServiced"/>
-            <xsd:enumeration value="QuantitySold"/>
-            <xsd:enumeration value="QuantitySoldNet"/>
-            <xsd:enumeration value="QuantitySuspended"/>
-            <xsd:enumeration value="QuantityToBeDelivered"/>
-            <xsd:enumeration value="QuantityUsed"/>
-            <xsd:enumeration value="QuantityWithdrawn"/>
-            <xsd:enumeration value="QuantityWithheldByOwnerOfGoods"/>
-            <xsd:enumeration value="QuoteQuantityOnInventory"/>
-            <xsd:enumeration value="RangeAverage"/>
-            <xsd:enumeration value="RangeMaximum"/>
-            <xsd:enumeration value="RangeMinimum"/>
-            <xsd:enumeration value="RatePerDay"/>
-            <xsd:enumeration value="Receipts"/>
-            <xsd:enumeration value="ReceivedAndAccepted"/>
-            <xsd:enumeration value="ReceivedNotAcceptedToBeDestroyed"/>
-            <xsd:enumeration value="ReceivedNotAcceptedToBeReturned"/>
-            <xsd:enumeration value="ReceivedQuantity"/>
-            <xsd:enumeration value="RecommendedMaintenanceQuantity"/>
-            <xsd:enumeration value="RecommendedOverhaulAndRepairQuantity"/>
-            <xsd:enumeration value="ReconsiderationPeriod"/>
-            <xsd:enumeration value="RedeliveryAfterPostProcessing"/>
-            <xsd:enumeration value="RefillsAuthorized"/>
-            <xsd:enumeration value="RegisteredBrandsDistributed"/>
-            <xsd:enumeration value="RegisteredBrandsManufactured"/>
-            <xsd:enumeration value="RejectedQuantity"/>
-            <xsd:enumeration value="RejectedReturnQuantity"/>
-            <xsd:enumeration value="RelatedBusinessEntities"/>
-            <xsd:enumeration value="RelatedEntities"/>
-            <xsd:enumeration value="RelationshipDuration"/>
-            <xsd:enumeration value="RelativesEmployed"/>
-            <xsd:enumeration value="RemainingAuthorizedQuantity"/>
-            <xsd:enumeration value="RemainingDuration"/>
-            <xsd:enumeration value="RemainingQuantity"/>
-            <xsd:enumeration value="ReorderingLevel"/>
-            <xsd:enumeration value="ReorderPointQuantity"/>
-            <xsd:enumeration value="ReplacedAmount"/>
-            <xsd:enumeration value="ReplacedBloodUnits"/>
-            <xsd:enumeration value="ReplenishmentOverrideQuantity"/>
-            <xsd:enumeration value="ReplenishmentQuantity"/>
-            <xsd:enumeration value="ReportDifference"/>
-            <xsd:enumeration value="ReportedDeficiencies"/>
-            <xsd:enumeration value="Reports"/>
-            <xsd:enumeration value="RequestedAmount"/>
-            <xsd:enumeration value="RequirementQuantity"/>
-            <xsd:enumeration value="RequirementQuantityThatWasPreviouslyReleased"/>
-            <xsd:enumeration value="RequisitioningObjective"/>
-            <xsd:enumeration value="ReservedQuantity"/>
-            <xsd:enumeration value="ReservedQuantityCustomerDirectDeliverySales"/>
-            <xsd:enumeration value="ReservedQuantityRetailSales"/>
-            <xsd:enumeration value="ResidenceDuration"/>
-            <xsd:enumeration value="Resource-Quantity-Available"/>
-            <xsd:enumeration value="RestingQuantity"/>
-            <xsd:enumeration value="RestrictionDuration"/>
-            <xsd:enumeration value="RetailSales"/>
-            <xsd:enumeration value="RetentionQuantity"/>
-            <xsd:enumeration value="ReturnedByConsumerQuantity"/>
-            <xsd:enumeration value="ReturnQuantity"/>
-            <xsd:enumeration value="ReturnsReplacementQuantity"/>
-            <xsd:enumeration value="RoomCount"/>
-            <xsd:enumeration value="Rooms"/>
-            <xsd:enumeration value="RoomsFinishedAreaAboveGrade"/>
-            <xsd:enumeration value="Royalty"/>
-            <xsd:enumeration value="SafetyLevel"/>
-            <xsd:enumeration value="Salespersons"/>
-            <xsd:enumeration value="SalesQuantityNotIncludedInTheReplenishmentCalculation"/>
-            <xsd:enumeration value="SalesQuantityPlanned"/>
-            <xsd:enumeration value="SampleAmount"/>
-            <xsd:enumeration value="ScatteredVotes"/>
-            <xsd:enumeration value="ScheduleVariance"/>
-            <xsd:enumeration value="ScrapAllowed"/>
-            <xsd:enumeration value="ScrapQuantity"/>
-            <xsd:enumeration value="Seats"/>
-            <xsd:enumeration value="SecondaryNetQuantity"/>
-            <xsd:enumeration value="SecondQuarterNon-RecurringDemand"/>
-            <xsd:enumeration value="SecondQuarterNon-RecurringOrders"/>
-            <xsd:enumeration value="SecondQuarterRecurringDemand"/>
-            <xsd:enumeration value="SecondQuarterRecurringOrders"/>
-            <xsd:enumeration value="Secretaries"/>
-            <xsd:enumeration value="SecuredChargesRegistered"/>
-            <xsd:enumeration value="SecuritiesShares"/>
-            <xsd:enumeration value="Segments"/>
-            <xsd:enumeration value="Seller"/>
-            <xsd:enumeration value="ServiceResale"/>
-            <xsd:enumeration value="Shareholders"/>
-            <xsd:enumeration value="ShareholdersHoldingRemainderOfShares"/>
-            <xsd:enumeration value="Shares"/>
-            <xsd:enumeration value="SharesAdded"/>
-            <xsd:enumeration value="SharesDeleted"/>
-            <xsd:enumeration value="SharesHeldAsTreasuryStock"/>
-            <xsd:enumeration value="SharesOfCommonStock"/>
-            <xsd:enumeration value="SharesOfPreferredStock"/>
-            <xsd:enumeration value="SharesOwnedByIn-StateResidents"/>
-            <xsd:enumeration value="SharesOwnedByOut-Of-StateResidents"/>
-            <xsd:enumeration value="SharesSubscribed"/>
-            <xsd:enumeration value="SharesSubscribedButNotIssued"/>
-            <xsd:enumeration value="Shifts"/>
-            <xsd:enumeration value="Shipments"/>
-            <xsd:enumeration value="ShipNoticeQuantity"/>
-            <xsd:enumeration value="ShippedQuantity"/>
-            <xsd:enumeration value="Shortage"/>
-            <xsd:enumeration value="Short-LandedGoods"/>
-            <xsd:enumeration value="ShortShipped"/>
-            <xsd:enumeration value="SilentPartners"/>
-            <xsd:enumeration value="SinceLastTravel"/>
-            <xsd:enumeration value="SingleDeliveryQuantity"/>
-            <xsd:enumeration value="SistersDeceased"/>
-            <xsd:enumeration value="SistersLiving"/>
-            <xsd:enumeration value="Site"/>
-            <xsd:enumeration value="SizeOfHousehold"/>
-            <xsd:enumeration value="SkilledWorker"/>
-            <xsd:enumeration value="SmallBusinessUses"/>
-            <xsd:enumeration value="Solicited"/>
-            <xsd:enumeration value="SortedQuantity"/>
-            <xsd:enumeration value="SortedQuantityRejected"/>
-            <xsd:enumeration value="SpaceOccupied"/>
-            <xsd:enumeration value="SpecialPartners"/>
-            <xsd:enumeration value="SpeedCapacity"/>
-            <xsd:enumeration value="SplitQuantity"/>
-            <xsd:enumeration value="SplitShipment"/>
-            <xsd:enumeration value="Standard"/>
-            <xsd:enumeration value="Started"/>
-            <xsd:enumeration value="StartOffset"/>
-            <xsd:enumeration value="StartQuantity"/>
-            <xsd:enumeration value="StateOrProvinceMotorVehiclePenaltyPoints"/>
-            <xsd:enumeration value="StatisticalSalesQuantity"/>
-            <xsd:enumeration value="StockTransfersIn"/>
-            <xsd:enumeration value="StockTransfersOut"/>
-            <xsd:enumeration value="StolenCheques"/>
-            <xsd:enumeration value="SubcontractorAtComplete"/>
-            <xsd:enumeration value="SubcontractorCumulativeToDate"/>
-            <xsd:enumeration value="Subcontractors"/>
-            <xsd:enumeration value="SubmittedQuantityReturned"/>
-            <xsd:enumeration value="SubmittedQuantitySold"/>
-            <xsd:enumeration value="SubsequentDeliveryQuantity"/>
-            <xsd:enumeration value="Subsidiaries"/>
-            <xsd:enumeration value="SubstitutionalQuantity"/>
-            <xsd:enumeration value="Suits"/>
-            <xsd:enumeration value="Supervisors"/>
-            <xsd:enumeration value="SuppliedQuantity"/>
-            <xsd:enumeration value="SupplierEstimatedLatestMeterReading"/>
-            <xsd:enumeration value="SupplierEstimatedPreviousMeterReading"/>
-            <xsd:enumeration value="SupplierLatestMeterReading"/>
-            <xsd:enumeration value="SupplierPreviousMeterReading"/>
-            <xsd:enumeration value="Suppliers"/>
-            <xsd:enumeration value="SuppliersCredit"/>
-            <xsd:enumeration value="SurplusGoods"/>
-            <xsd:enumeration value="SurveysInAverageRating"/>
-            <xsd:enumeration value="SuspendedDuration"/>
-            <xsd:enumeration value="Swan-Ganz"/>
-            <xsd:enumeration value="TablesAvailable"/>
-            <xsd:enumeration value="TalkPaths"/>
-            <xsd:enumeration value="TankAllowance"/>
-            <xsd:enumeration value="TariffLossAllowance"/>
-            <xsd:enumeration value="TaxableQuantity"/>
-            <xsd:enumeration value="Teachers"/>
-            <xsd:enumeration value="Technicians"/>
-            <xsd:enumeration value="TheoreticalQuantity"/>
-            <xsd:enumeration value="ThirdQuarterNon-RecurringDemand"/>
-            <xsd:enumeration value="ThirdQuarterNon-RecurringOrders"/>
-            <xsd:enumeration value="ThirdQuarterRecurringDemand"/>
-            <xsd:enumeration value="ThirdQuarterRecurringOrders"/>
-            <xsd:enumeration value="TimeExpended"/>
-            <xsd:enumeration value="TimeFrame"/>
-            <xsd:enumeration value="TimeInCountry"/>
-            <xsd:enumeration value="TimeInPosition"/>
-            <xsd:enumeration value="TimeSinceHospitalization"/>
-            <xsd:enumeration value="TimeSinceLastApplication"/>
-            <xsd:enumeration value="TimeSinceLastCivilianFlight"/>
-            <xsd:enumeration value="TimeSinceLastInsuranceMedical"/>
-            <xsd:enumeration value="TimeSinceLastMilitaryFlight"/>
-            <xsd:enumeration value="TimeSinceMedicalConsult"/>
-            <xsd:enumeration value="TimeSinceMedicationEnd"/>
-            <xsd:enumeration value="TimeSinceMedicationStart"/>
-            <xsd:enumeration value="TimeSinceOnset"/>
-            <xsd:enumeration value="TimeSinceSurgery"/>
-            <xsd:enumeration value="TimeSinceTrip"/>
-            <xsd:enumeration value="TimeUnits"/>
-            <xsd:enumeration value="TimeUnitsKnown"/>
-            <xsd:enumeration value="TimeUnitsPerShift"/>
-            <xsd:enumeration value="TimeUnitsSpentOnDuty"/>
-            <xsd:enumeration value="Tires"/>
-            <xsd:enumeration value="ToCompleteQuantityEstimated"/>
-            <xsd:enumeration value="Tolerance"/>
-            <xsd:enumeration value="Total"/>
-            <xsd:enumeration value="TotalAdjustmentsVolume"/>
-            <xsd:enumeration value="TotalAmortisationQuantity"/>
-            <xsd:enumeration value="TotalAtComplete"/>
-            <xsd:enumeration value="TotalAuthorizedQuantity"/>
-            <xsd:enumeration value="TotalBeginningInventory"/>
-            <xsd:enumeration value="TotalClaimsAssociatedWithRepeatedTrauma"/>
-            <xsd:enumeration value="TotalClaimsWithDaysAwayFromWork"/>
-            <xsd:enumeration value="TotalClaimsWithDisordersDueToPhysicalAgents"/>
-            <xsd:enumeration value="TotalClaimsWithDustDiseasesOfTheLungs"/>
-            <xsd:enumeration value="TotalClaimsWithoutDaysAwayFromWorkAndWithoutRestrictedWorkActivity"/>
-            <xsd:enumeration value="TotalClaimsWithPoisoningIllnesses"/>
-            <xsd:enumeration value="TotalClaimsWithRespiratoryConditionsDueToToxicAgents"/>
-            <xsd:enumeration value="TotalClaimsWithSkinDiseasesOrDisorders"/>
-            <xsd:enumeration value="TotalConsolidatedDomesticSubsidiaries"/>
-            <xsd:enumeration value="TotalConsolidatedForeignSubsidiaries"/>
-            <xsd:enumeration value="TotalConsolidatedSubsidiaries"/>
-            <xsd:enumeration value="TotalCredits"/>
-            <xsd:enumeration value="TotalCreditsAccepted"/>
-            <xsd:enumeration value="TotalCreditsReceived"/>
-            <xsd:enumeration value="TotalCreditsRejected"/>
-            <xsd:enumeration value="TotalDaysAwayFromWork"/>
-            <xsd:enumeration value="TotalDaysAwayFromWorkDueToIllness"/>
-            <xsd:enumeration value="TotalDaysAwayFromWorkDueToInjury"/>
-            <xsd:enumeration value="TotalDaysOfRestrictedWorkActivity"/>
-            <xsd:enumeration value="TotalDaysOfRestrictedWorkActivityDueToIllness"/>
-            <xsd:enumeration value="TotalDaysOnMarket"/>
-            <xsd:enumeration value="TotalDaysWithRestrictedWorkActivityDueToInjury"/>
-            <xsd:enumeration value="TotalDeathClaims"/>
-            <xsd:enumeration value="TotalDeathsAsAResultOfIllness"/>
-            <xsd:enumeration value="TotalDeathsAsAResultOfInjury"/>
-            <xsd:enumeration value="TotalDebits"/>
-            <xsd:enumeration value="TotalDebitsAccepted"/>
-            <xsd:enumeration value="TotalDebitsReceived"/>
-            <xsd:enumeration value="TotalDebitsRejected"/>
-            <xsd:enumeration value="TotalDeliveryQuantity"/>
-            <xsd:enumeration value="TotalDemandOrders"/>
-            <xsd:enumeration value="TotalDemandQuantity"/>
-            <xsd:enumeration value="TotalEmployees"/>
-            <xsd:enumeration value="TotalEndingInventory"/>
-            <xsd:enumeration value="TotalFloatTime"/>
-            <xsd:enumeration value="TotalGasDisposition"/>
-            <xsd:enumeration value="TotalGasInjectionVolume"/>
-            <xsd:enumeration value="TotalIllnessClaimsWithDaysAwayFromWork"/>
-            <xsd:enumeration value="TotalIllnessClaimsWithOccupationalIllnessesNotOtherwiseClassified"/>
-            <xsd:enumeration value="TotalIllnessClaimsWithoutLostWorkDays"/>
-            <xsd:enumeration value="TotalIllnessWithLostWorkDaysOrRestrictedWorkActivity"/>
-            <xsd:enumeration value="TotalInjuryClaimsWithDaysAwayFromWork"/>
-            <xsd:enumeration value="TotalInjuryClaimsWithDaysAwayFromWorkOrRestrictedWorkActivity"/>
-            <xsd:enumeration value="TotalInjuryClaimsWithoutLostWorkDays"/>
-            <xsd:enumeration value="TotalInventory"/>
-            <xsd:enumeration value="TotalNon-ConsolidatedSubsidiaries"/>
-            <xsd:enumeration value="TotalNumberOfConvictions"/>
-            <xsd:enumeration value="TotalNumberOfDomesticSubsidiariesIncludedInFinancial"/>
-            <xsd:enumeration value="TotalNumberOfDomesticSubsidiariesNotIncludedIn"/>
-            <xsd:enumeration value="TotalNumberOfForeignSubsidiariesIncludedInFinancial"/>
-            <xsd:enumeration value="TotalNumberOfForeignSubsidiariesNotIncludedIn"/>
-            <xsd:enumeration value="TotalNumberOfLoanDetailRecords"/>
-            <xsd:enumeration value="TotalNumberOfMortgagees"/>
-            <xsd:enumeration value="TotalNumberOfParkingSpaces"/>
-            <xsd:enumeration value="TotalNumberOfSubsidiariesNotIncludedInTheFinancial"/>
-            <xsd:enumeration value="TotalNumberOfUnits"/>
-            <xsd:enumeration value="TotalNumberOfUnitsForSale"/>
-            <xsd:enumeration value="TotalNumberOfWorkersCompensationCombinedReports"/>
-            <xsd:enumeration value="TotalNumberOfWorkersCompensationFirstReports"/>
-            <xsd:enumeration value="TotalNumberOfWorkersCompensationSubsequentReports"/>
-            <xsd:enumeration value="TotalOfIssuableAssets"/>
-            <xsd:enumeration value="TotalOilAndOrCondensateDisposition"/>
-            <xsd:enumeration value="TotalOilAndOrCondensateInjectionVolume"/>
-            <xsd:enumeration value="TotalOtherPropertiesOwnedAndFinanced"/>
-            <xsd:enumeration value="TotalPaymentsRejected"/>
-            <xsd:enumeration value="TotalPost-AdvicesAccepted"/>
-            <xsd:enumeration value="TotalPost-AdvicesReceived"/>
-            <xsd:enumeration value="TotalPost-AdvicesRejected"/>
-            <xsd:enumeration value="TotalPre-AdvicesAccepted"/>
-            <xsd:enumeration value="TotalPre-AdvicesReceived"/>
-            <xsd:enumeration value="TotalPre-AdvicesRejected"/>
-            <xsd:enumeration value="TotalPrenotesAccepted"/>
-            <xsd:enumeration value="TotalPrenotesReceived"/>
-            <xsd:enumeration value="TotalPrenotesRejected"/>
-            <xsd:enumeration value="TotalProductionVolume"/>
-            <xsd:enumeration value="TotalPropertiesOwned"/>
-            <xsd:enumeration value="TotalQuantityPlanned"/>
-            <xsd:enumeration value="TotalResource-Quantity"/>
-            <xsd:enumeration value="TotalRooms"/>
-            <xsd:enumeration value="TotalSales"/>
-            <xsd:enumeration value="TotalServiceBackorderQuantityHighPriority"/>
-            <xsd:enumeration value="TotalServiceBackorderQuantityLowPriority"/>
-            <xsd:enumeration value="TotalSharesOfStock"/>
-            <xsd:enumeration value="TotalSystemBackorderQuantityHighPriority"/>
-            <xsd:enumeration value="TotalSystemBackorderQuantityLowPriority"/>
-            <xsd:enumeration value="TotalToDate"/>
-            <xsd:enumeration value="TotalTransactions"/>
-            <xsd:enumeration value="TotalUnidentifiedTransactionsRejected"/>
-            <xsd:enumeration value="TotalWaterDisposition"/>
-            <xsd:enumeration value="TotalWaterInjectionVolume"/>
-            <xsd:enumeration value="TotalWorkedByAllEmployees"/>
-            <xsd:enumeration value="TotalWorkingInterest"/>
-            <xsd:enumeration value="TrademarkRepresented"/>
-            <xsd:enumeration value="TrademarksUsed"/>
-            <xsd:enumeration value="Trainees"/>
-            <xsd:enumeration value="Trainers"/>
-            <xsd:enumeration value="TransactionSets"/>
-            <xsd:enumeration value="TransferQuantity"/>
-            <xsd:enumeration value="TransferredInQuantity"/>
-            <xsd:enumeration value="TransferredOutQuantity"/>
-            <xsd:enumeration value="TravelFrequency"/>
-            <xsd:enumeration value="TravellingEmployees"/>
-            <xsd:enumeration value="TravelPeriod"/>
-            <xsd:enumeration value="TripDuration"/>
-            <xsd:enumeration value="Trips"/>
-            <xsd:enumeration value="TrunkedChannels"/>
-            <xsd:enumeration value="UnacknowledgedQuantity"/>
-            <xsd:enumeration value="UnadjustedCorrectorReading"/>
-            <xsd:enumeration value="UncoveredCheques"/>
-            <xsd:enumeration value="UniformCommercialCodeFilings"/>
-            <xsd:enumeration value="UnionEmployees"/>
-            <xsd:enumeration value="Units"/>
-            <xsd:enumeration value="UnitsCompleted"/>
-            <xsd:enumeration value="UnitsForSale"/>
-            <xsd:enumeration value="UnitsPerUnitPrice"/>
-            <xsd:enumeration value="UnitsProduced"/>
-            <xsd:enumeration value="UnitsRented"/>
-            <xsd:enumeration value="UnitsWorkedLastDay"/>
-            <xsd:enumeration value="UnitsWorkedPerDay"/>
-            <xsd:enumeration value="UnitsWorkedPerQuarter"/>
-            <xsd:enumeration value="UnitsWorkedPerWeek"/>
-            <xsd:enumeration value="Unpaid"/>
-            <xsd:enumeration value="UnsaleableQuantity"/>
-            <xsd:enumeration value="UnsoldQuantityHeldByWholesaler"/>
-            <xsd:enumeration value="UntilNextTravel"/>
-            <xsd:enumeration value="UnusableQuantity"/>
-            <xsd:enumeration value="UnusedAccumulatedSickDays"/>
-            <xsd:enumeration value="UnverifiedReceipts"/>
-            <xsd:enumeration value="UrgentDeliveryQuantity"/>
-            <xsd:enumeration value="Used"/>
-            <xsd:enumeration value="UseOfExtracorporealCirculation"/>
-            <xsd:enumeration value="UseOfHyperbaricPressurization"/>
-            <xsd:enumeration value="UseOfHypertension"/>
-            <xsd:enumeration value="UseOfHypotension"/>
-            <xsd:enumeration value="UseOfHypothermia"/>
-            <xsd:enumeration value="Vacancies"/>
-            <xsd:enumeration value="Variance"/>
-            <xsd:enumeration value="VarianceAdjustment"/>
-            <xsd:enumeration value="VehicularRadios"/>
-            <xsd:enumeration value="VerifiedReceipts"/>
-            <xsd:enumeration value="VisitationFrequency"/>
-            <xsd:enumeration value="Visits"/>
-            <xsd:enumeration value="VoiceStorageQuantity"/>
-            <xsd:enumeration value="VoidVotes"/>
-            <xsd:enumeration value="VolumeShrinkageAdjustmentOrAllowance"/>
-            <xsd:enumeration value="Votes"/>
-            <xsd:enumeration value="VotingSharesHeld"/>
-            <xsd:enumeration value="WarehouseEmployees"/>
-            <xsd:enumeration value="WarehouseSize"/>
-            <xsd:enumeration value="WaterRe-InjectedOnProperty"/>
-            <xsd:enumeration value="WaterVolume"/>
-            <xsd:enumeration value="WeeksWorked"/>
-            <xsd:enumeration value="Weight"/>
-            <xsd:enumeration value="WeightChangePeriod"/>
-            <xsd:enumeration value="WeightGain"/>
-            <xsd:enumeration value="WeightLoss"/>
-            <xsd:enumeration value="WholesalerToWholesalerSales"/>
-            <xsd:enumeration value="WideAreaTelephoneServicePer800ServiceUnits"/>
-            <xsd:enumeration value="WorkCalendarUnits"/>
-            <xsd:enumeration value="WorkDays"/>
-            <xsd:enumeration value="WorkInProcess"/>
-            <xsd:enumeration value="WorkPeriod"/>
-            <xsd:enumeration value="WorkTimeUnits"/>
-            <xsd:enumeration value="WorkTimeUnitsPerShift"/>
-            <xsd:enumeration value="Years"/>
-            <xsd:enumeration value="YearsInSchool"/>
-            <xsd:enumeration value="YearsInThisLineOfWorkOrProfession"/>
-            <xsd:enumeration value="YearsOnJob"/>
-            <xsd:enumeration value="YearsRemaining"/>
-            <xsd:enumeration value="YesVotes"/>
-            <xsd:enumeration value="CurrentDuration"/>
-            <xsd:enumeration value="CurrentInventoryQuantityAvailableForShipment"/>
-            <xsd:enumeration value="CurrentPeriodImbalance"/>
-            <xsd:enumeration value="CurrentServiceLife"/>
-            <xsd:enumeration value="CurrentShareBalance"/>
-            <xsd:enumeration value="CustomerEstimatedLatestMeterReading"/>
-            <xsd:enumeration value="CustomerEstimatedPreviousMeterReading"/>
-            <xsd:enumeration value="CustomerReadingQuantity"/>
-            <xsd:enumeration value="DailyAdjustments"/>
-            <xsd:enumeration value="DailyAverageQuantity"/>
-            <xsd:enumeration value="DailyWorkShifts"/>
-            <xsd:enumeration value="DamagedGoods"/>
-            <xsd:enumeration value="DataStorageQuantity"/>
-            <xsd:enumeration value="Days"/>
-            <xsd:enumeration value="DaysOperated"/>
-            <xsd:enumeration value="DaysProduced"/>
-            <xsd:enumeration value="DaysSupply"/>
-            <xsd:enumeration value="DebentureBond"/>
-            <xsd:enumeration value="DebenturesFiledAgainstDirectors"/>
-            <xsd:enumeration value="Debited"/>
-            <xsd:enumeration value="DebtCollectors"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="CatalogReference">
-        <xsd:sequence>
-            <xsd:element name="CatalogURL" type="xsd:anyURI"/>
-            <xsd:element minOccurs="0" name="CatalogID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CatalogItemID" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="CatalogReference" type="CatalogReference"/>
-    <xsd:complexType name="ListOfContractItem">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ContractItem"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfContractItem" type="ListOfContractItem"/>
-    <xsd:complexType name="ContractItem">
-        <xsd:sequence>
-            <xsd:element ref="Contract"/>
-            <xsd:element minOccurs="0" name="ContractItemNumber" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ContractItem" type="ContractItem"/>
-    <xsd:complexType name="ConditionsOfSale">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="SalesRequirement"/>
-            <xsd:element minOccurs="0" name="SalesActionCoded" type="SalesActionCode"/>
-            <xsd:element minOccurs="0" name="SalesActionCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SalesActionValue" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ConditionsOfSale" type="ConditionsOfSale"/>
-    <xsd:complexType name="SalesRequirement">
-        <xsd:sequence>
-            <xsd:element name="SalesRequirementCoded" type="SalesRequirementCode"/>
-            <xsd:element minOccurs="0" name="SalesRequirementCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="SalesRequirement" type="SalesRequirement"/>
-    <xsd:simpleType name="SalesRequirementCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AddQuantityToMakeMinimumWeightRequirement"/>
-            <xsd:enumeration value="BackOrderIfItemsAreOutOfStockOrNotYetPublished"/>
-            <xsd:enumeration value="BackOrderIfOutOfStock"/>
-            <xsd:enumeration value="BackOrderOnlyIfNewItem"/>
-            <xsd:enumeration value="BidGuarantee"/>
-            <xsd:enumeration value="CombinedSmallDisadvantagedBusinessAndLaborSurplusAreaSet-Aside"/>
-            <xsd:enumeration value="Consignment"/>
-            <xsd:enumeration value="DoNotPreship"/>
-            <xsd:enumeration value="EqualProductAllowed"/>
-            <xsd:enumeration value="ExcludeImportQuotaInFirstCost"/>
-            <xsd:enumeration value="FactoryShip"/>
-            <xsd:enumeration value="GuaranteedSale"/>
-            <xsd:enumeration value="IncludeImportQuotaInFirstCost"/>
-            <xsd:enumeration value="LaborSurplusAreaSet-Aside"/>
-            <xsd:enumeration value="LargePurchaseSet-AsideForSmallBusiness"/>
-            <xsd:enumeration value="MayPreship"/>
-            <xsd:enumeration value="Multi-yearAward"/>
-            <xsd:enumeration value="NoBackOrder"/>
-            <xsd:enumeration value="NoSubstitutes"/>
-            <xsd:enumeration value="NotifyPriorToShipmentIfQuantitySpecifiedIsNotAvailable"/>
-            <xsd:enumeration value="OnQualifiedBiddersList"/>
-            <xsd:enumeration value="OnQualifiedManufacturersList"/>
-            <xsd:enumeration value="OtherUnlistedSalesCondition"/>
-            <xsd:enumeration value="PartialLaborSurplusAreaSetAside"/>
-            <xsd:enumeration value="RestrictedToApprovedSources"/>
-            <xsd:enumeration value="RestrictedToEducationalInstitutions"/>
-            <xsd:enumeration value="RestrictedToHistoricallyBlackCollegeOrUniversityOrMinorityInstitution"/>
-            <xsd:enumeration value="RestrictedToIndustrialPreparednessProgramParticipants"/>
-            <xsd:enumeration value="RestrictedToQualifiedProductsListProducts"/>
-            <xsd:enumeration value="RestrictedToUSAndCanadianSources"/>
-            <xsd:enumeration value="RestrictedToYoungInvestigatorProgram"/>
-            <xsd:enumeration value="Section8aSet-Aside"/>
-            <xsd:enumeration value="Set-asideForAmericanIndian-ownedBusiness"/>
-            <xsd:enumeration value="ShipAsSoonAsPossible"/>
-            <xsd:enumeration value="ShipComplete"/>
-            <xsd:enumeration value="ShipFullTruckOnly"/>
-            <xsd:enumeration value="ShipIn-Place"/>
-            <xsd:enumeration value="ShipPartial-BalanceBackOrder"/>
-            <xsd:enumeration value="ShipPartialBalanceCancel"/>
-            <xsd:enumeration value="ShipPartialBalanceSubstitute"/>
-            <xsd:enumeration value="ShipPartialCarloadLotsOnly"/>
-            <xsd:enumeration value="ShipPartialItemQtyProportionalToTotalOrder"/>
-            <xsd:enumeration value="ShipPartialTruckloadLotsOnly"/>
-            <xsd:enumeration value="ShipPerRelease"/>
-            <xsd:enumeration value="ShipPerReleaseorBuyerAuthorization"/>
-            <xsd:enumeration value="ShipPerSchedule"/>
-            <xsd:enumeration value="SmallBusinessWithSmallDisadvantagedBusinessConsiderationSet-Aside"/>
-            <xsd:enumeration value="SmallDisadvantagedBusinessSet-Aside"/>
-            <xsd:enumeration value="SmallPurchaseSetAsideForSmallBusinesses"/>
-            <xsd:enumeration value="SmallRemainingBalanceCancellationAllowed"/>
-            <xsd:enumeration value="SmallRemainingBalanceCancellationNotAllowed"/>
-            <xsd:enumeration value="SubstituteItemAllowed"/>
-            <xsd:enumeration value="UnrestrictedProcurement"/>
-            <xsd:enumeration value="WarehouseShip"/>
-            <xsd:enumeration value="Warranty"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="SalesActionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="CancelBalanceThatExceedsSalesActionValues"/>
-            <xsd:enumeration value="CancelEntire"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Hazardous">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" ref="ListOfHazardousIdentifiers"/>
-            <xsd:element minOccurs="0" name="HazardClassCoded" type="HazardClassCode"/>
-            <xsd:element minOccurs="0" name="HazardClassCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="HazardousPlacardInformation"/>
-            <xsd:element minOccurs="0" name="HazardousReferences">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfReferenceCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="HazardousContact">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Contact"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="HazardNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="UNDGNum" type="xsd:int"/>
-            <xsd:element minOccurs="0" ref="HazardousTemperatures"/>
-            <xsd:element minOccurs="0" ref="HazardousShipmentInformation"/>
-            <xsd:element minOccurs="0" name="EMSNum" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Mfag" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Hazardous" type="Hazardous"/>
-    <xsd:complexType name="ListOfHazardousIdentifiers">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="HazardousIdentifiers"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfHazardousIdentifiers" type="ListOfHazardousIdentifiers"/>
-    <xsd:complexType name="HazardousIdentifiers">
-        <xsd:sequence>
-            <xsd:element name="HazardousRegulationsCoded" type="AgencyCode"/>
-            <xsd:element minOccurs="0" name="HazardousRegulationsCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardCode" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CodeExtension" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CodeVersion" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardOfficialText" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TremCardNum" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="HazardousIdentifiers" type="HazardousIdentifiers"/>
-    <xsd:simpleType name="HazardClassCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Primary"/>
-            <xsd:enumeration value="Secondary"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="HazardousPlacardInformation">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="HazardousPlacardIdentification" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardousPlacardText" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="HazardousPlacardInformation" type="HazardousPlacardInformation"/>
-    <xsd:complexType name="HazardousTemperatures">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="Flashpoint">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="Emergency">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="Control">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ListOfTemperatureCoded">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfDimension"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="HazardousTemperatures" type="HazardousTemperatures"/>
-    <xsd:complexType name="HazardousShipmentInformation">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="HazardPackingCoded" type="HazardPackingCode"/>
-            <xsd:element minOccurs="0" name="HazardPackingCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardousShipmentCoded" type="HazardousShipmentCode"/>
-            <xsd:element minOccurs="0" name="HazardousShipmentCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardousShipmentNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardousZoneCoded" type="HazardousZoneCode"/>
-            <xsd:element minOccurs="0" name="HazardousZoneCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="HazardousShipmentInformation" type="HazardousShipmentInformation"/>
-    <xsd:simpleType name="HazardPackingCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="NotSpecified"/>
-            <xsd:enumeration value="GreatDanger"/>
-            <xsd:enumeration value="MediumDanger"/>
-            <xsd:enumeration value="MinorDanger"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="HazardousShipmentCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AdditionalDescriptiveInformationNotRequiredByRegulationButDesiredToAccompanyTheMovementByTheShipper"/>
-            <xsd:enumeration value="CargoAirliftOnly"/>
-            <xsd:enumeration value="DOT-113DoNotBumpOrCutOffCarWhileInMotionDeclaration"/>
-            <xsd:enumeration value="DamagedCarNumber"/>
-            <xsd:enumeration value="DangerousWhenWetDeclaration"/>
-            <xsd:enumeration value="EMSPageNumber"/>
-            <xsd:enumeration value="IdentifiesProductsInAHeatedMoltenState"/>
-            <xsd:enumeration value="HazardousSubstanceConstituents"/>
-            <xsd:enumeration value="InhalationHazard"/>
-            <xsd:enumeration value="LimitedQuantityDeclaration"/>
-            <xsd:enumeration value="MFAGPageNumber"/>
-            <xsd:enumeration value="MaximumOperatingSpeed"/>
-            <xsd:enumeration value="MarinePollutant"/>
-            <xsd:enumeration value="Poison-InhalationHazardDeclaration"/>
-            <xsd:enumeration value="PoisonDeclaration"/>
-            <xsd:enumeration value="RadioactiveMaterialData"/>
-            <xsd:enumeration value="TechnicalOrChemicalGroupName"/>
-            <xsd:enumeration value="TradeName"/>
-            <xsd:enumeration value="WasteDeclaration"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="HazardousZoneCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="HazardZoneA"/>
-            <xsd:enumeration value="HazardZoneB"/>
-            <xsd:enumeration value="HazardZoneC"/>
-            <xsd:enumeration value="HazardZoneD"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="PricingDetail">
-        <xsd:sequence>
-            <xsd:element ref="ListOfPrice"/>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" ref="Tax"/>
-            <xsd:element minOccurs="0" name="ItemAllowancesOrCharges">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfAllowOrCharge"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="TotalValue">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="MonetaryValue"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PricingDetail" type="PricingDetail"/>
-    <xsd:complexType name="DeliveryDetail">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="ShipToLocation">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Location"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ShipFromLocation">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Location"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ListOfScheduleLine"/>
-            <xsd:element minOccurs="0" ref="ItemPackagingReference"/>
-            <xsd:element minOccurs="0" name="SimplePackageNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" ref="TermsOfDelivery"/>
-            <xsd:element minOccurs="0" ref="CargoClassification"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="DeliveryDetail" type="DeliveryDetail"/>
-    <xsd:complexType name="ListOfScheduleLine">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ScheduleLine"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfScheduleLine" type="ListOfScheduleLine"/>
-    <xsd:complexType name="ScheduleLine">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="ScheduleLineID" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="ShipmentStatusEventCoded" type="ShipmentStatusEventCode"/>
-            <xsd:element minOccurs="0" name="ShipmentStatusEventCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ShipmentStatusReasons">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfStatusReason"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element ref="Quantity"/>
-            <xsd:element minOccurs="0" name="RequestedDeliveryDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" name="ListOfOtherDeliveryDate">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfDateCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ScheduleLineNote" type="xsd:string"/>
-            <xsd:choice minOccurs="0">
-                <xsd:element ref="Transport"/>
-                <xsd:element name="TransportReference" type="xsd:int"/>
-            </xsd:choice>
-            <xsd:element minOccurs="0" ref="ListOfShipToSubInformation"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ScheduleLine" type="ScheduleLine"/>
-    <xsd:simpleType name="ShipmentStatusEventCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="NotApplicable"/>
-            <xsd:enumeration value="NotYetShipped"/>
-            <xsd:enumeration value="BackOrdered"/>
-            <xsd:enumeration value="BackOrderShipped"/>
-            <xsd:enumeration value="ReadyForPickup"/>
-            <xsd:enumeration value="InTransit"/>
-            <xsd:enumeration value="PartiallyShipped"/>
-            <xsd:enumeration value="PartiallyDelivered"/>
-            <xsd:enumeration value="ShipmentComplete"/>
-            <xsd:enumeration value="Delivered"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfStatusReason">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="StatusReason"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfStatusReason" type="ListOfStatusReason"/>
-    <xsd:complexType name="StatusReason">
-        <xsd:sequence>
-            <xsd:element name="StatusReasonCoded" type="StatusReasonCode"/>
-            <xsd:element minOccurs="0" name="StatusReasonCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="StatusReason" type="StatusReason"/>
-    <xsd:simpleType name="StatusReasonCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="ChangedSchedule"/>
-            <xsd:enumeration value="InstructionsAwaited"/>
-            <xsd:enumeration value="Damaged"/>
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="CustomsRefusal"/>
-            <xsd:enumeration value="EmptyOnInspection"/>
-            <xsd:enumeration value="DestinationIncorrect"/>
-            <xsd:enumeration value="ExportRestrictions"/>
-            <xsd:enumeration value="ImportRestrictions"/>
-            <xsd:enumeration value="PaymentNotReceived"/>
-            <xsd:enumeration value="DeliveryDifferentDate"/>
-            <xsd:enumeration value="DeliveryTooLate"/>
-            <xsd:enumeration value="IncidentAttributedToSeller"/>
-            <xsd:enumeration value="IncidentAttributedToTheBuyer"/>
-            <xsd:enumeration value="IncidentAttributedToTheCarrier"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfShipToSubInformation">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ShipToSubInformation"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfShipToSubInformation" type="ListOfShipToSubInformation"/>
-    <xsd:complexType name="ShipToSubInformation">
-        <xsd:sequence>
-            <xsd:element name="ShipToSubLocation">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Location"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="ShipToSubQuantity">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="SubLocationItemPackagingReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ItemPackagingReference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ShipToSubInformation" type="ShipToSubInformation"/>
-    <xsd:complexType name="ItemPackagingReference">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="PackageReference"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ItemPackagingReference" type="ItemPackagingReference"/>
-    <xsd:complexType name="PackageReference">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" ref="Quantity"/>
-            <xsd:element name="PackageIDReference" type="xsd:int"/>
-            <xsd:element minOccurs="0" ref="PackageReference"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PackageReference" type="PackageReference"/>
-    <xsd:complexType name="CargoClassification">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="NatureOfGoods">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OperationalTypeCoded" type="OperationalTypeCode"/>
-            <xsd:element minOccurs="0" name="OperationalTypeCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TypeOfCargo" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="CargoClassification" type="CargoClassification"/>
-    <xsd:simpleType name="OperationalTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Documents"/>
-            <xsd:enumeration value="LowValueNon-DutiableConsignments"/>
-            <xsd:enumeration value="LowValueDutiableConsignments"/>
-            <xsd:enumeration value="HighValueConsignments"/>
-            <xsd:enumeration value="OtherNon-Containerized"/>
-            <xsd:enumeration value="Vehicles"/>
-            <xsd:enumeration value="Roll-OnRoll-Off"/>
-            <xsd:enumeration value="Palletized"/>
-            <xsd:enumeration value="Containerized"/>
-            <xsd:enumeration value="Breakbulk"/>
-            <xsd:enumeration value="HazardousCargo"/>
-            <xsd:enumeration value="GeneralCargo"/>
-            <xsd:enumeration value="LiquidCargo"/>
-            <xsd:enumeration value="TemperatureControlledCargo"/>
-            <xsd:enumeration value="EnvironmentalPollutantCargo"/>
-            <xsd:enumeration value="Not-HazardousCargo"/>
-            <xsd:enumeration value="Diplomatic"/>
-            <xsd:enumeration value="Military"/>
-            <xsd:enumeration value="Obnoxious"/>
-            <xsd:enumeration value="OutOfGauge"/>
-            <xsd:enumeration value="HouseholdGoodsAndPersonalEffects"/>
-            <xsd:enumeration value="FrozenCargo"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfPackageDetail">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="PackageDetail"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfPackageDetail" type="ListOfPackageDetail"/>
-    <xsd:complexType name="PackageDetail">
-        <xsd:sequence>
-            <xsd:element ref="PackageType"/>
-            <xsd:element name="NumberOfPackages" type="xsd:int"/>
-            <xsd:element minOccurs="0" ref="ListOfPackage"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PackageDetail" type="PackageDetail"/>
-    <xsd:complexType name="PackageType">
-        <xsd:sequence>
-            <xsd:element name="PackageTypeCoded" type="PackageTypeCode"/>
-            <xsd:element minOccurs="0" name="PackageTypeCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="PackageTypeDescription">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfDescription"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PackageType" type="PackageType"/>
-    <xsd:simpleType name="PackageTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Aerosol"/>
-            <xsd:enumeration value="Aluminum"/>
-            <xsd:enumeration value="AmmoPack"/>
-            <xsd:enumeration value="Ampoule"/>
-            <xsd:enumeration value="Ampoule-Non-Protected"/>
-            <xsd:enumeration value="Ampoule-Protected"/>
-            <xsd:enumeration value="AsSpecifiedByTheDOT"/>
-            <xsd:enumeration value="Atomizer"/>
-            <xsd:enumeration value="Attachment"/>
-            <xsd:enumeration value="Bag"/>
-            <xsd:enumeration value="Bale"/>
-            <xsd:enumeration value="Bale-Compressed"/>
-            <xsd:enumeration value="Bale-Non-Compressed"/>
-            <xsd:enumeration value="Balloon-Non-Protected"/>
-            <xsd:enumeration value="Balloon-Protected"/>
-            <xsd:enumeration value="Banding"/>
-            <xsd:enumeration value="Bar"/>
-            <xsd:enumeration value="Barge"/>
-            <xsd:enumeration value="Barrel"/>
-            <xsd:enumeration value="Bars-InBundleOrBunchOrTruss"/>
-            <xsd:enumeration value="Basket"/>
-            <xsd:enumeration value="Beam"/>
-            <xsd:enumeration value="BeerCrate"/>
-            <xsd:enumeration value="Belting"/>
-            <xsd:enumeration value="Bin"/>
-            <xsd:enumeration value="BingChest"/>
-            <xsd:enumeration value="Board"/>
-            <xsd:enumeration value="Board-InBundleOrBunchOrTruss"/>
-            <xsd:enumeration value="Bobbin"/>
-            <xsd:enumeration value="Bolt"/>
-            <xsd:enumeration value="Bottle"/>
-            <xsd:enumeration value="Bottlecrate-Bottlerack"/>
-            <xsd:enumeration value="Bottle-Non-Protected-Bulbous"/>
-            <xsd:enumeration value="Bottle-Non-Protected-Cylindrical"/>
-            <xsd:enumeration value="Bottle-ProtectedBulbous"/>
-            <xsd:enumeration value="Bottle-ProtectedCylindrical"/>
-            <xsd:enumeration value="Box"/>
-            <xsd:enumeration value="BoxWithInnerContainer"/>
-            <xsd:enumeration value="Bracing"/>
-            <xsd:enumeration value="Bucket"/>
-            <xsd:enumeration value="Bulk"/>
-            <xsd:enumeration value="Bulk-Gas-At1031MbarAnd15DegC"/>
-            <xsd:enumeration value="Bulk-LiquefiedGas-AtAbnormalTemperatureOrPressure"/>
-            <xsd:enumeration value="Bulk-Liquid"/>
-            <xsd:enumeration value="Bulk-Solid-FineParticles-Powders"/>
-            <xsd:enumeration value="Bulk-Solid-GranularParticles-Grains"/>
-            <xsd:enumeration value="Bulk-Solid-LargeParticles-Nodules"/>
-            <xsd:enumeration value="Bunch"/>
-            <xsd:enumeration value="Bundle"/>
-            <xsd:enumeration value="Burlap"/>
-            <xsd:enumeration value="Butt"/>
-            <xsd:enumeration value="Cabinet"/>
-            <xsd:enumeration value="Cage"/>
-            <xsd:enumeration value="CanCase"/>
-            <xsd:enumeration value="Can-Cylindrical"/>
-            <xsd:enumeration value="Canister"/>
-            <xsd:enumeration value="Can-Rectangular"/>
-            <xsd:enumeration value="Canvas"/>
-            <xsd:enumeration value="Carboy"/>
-            <xsd:enumeration value="Carboy-Non-Protected"/>
-            <xsd:enumeration value="Carboy-Protected"/>
-            <xsd:enumeration value="CarLoad-Rail"/>
-            <xsd:enumeration value="Carrier"/>
-            <xsd:enumeration value="Carton"/>
-            <xsd:enumeration value="Case"/>
-            <xsd:enumeration value="Cask"/>
-            <xsd:enumeration value="Cheeses"/>
-            <xsd:enumeration value="ChemicallyHardenedFibre"/>
-            <xsd:enumeration value="Chest"/>
-            <xsd:enumeration value="Churn"/>
-            <xsd:enumeration value="Cloth"/>
-            <xsd:enumeration value="ClothOrFabric"/>
-            <xsd:enumeration value="ClothTop"/>
-            <xsd:enumeration value="Coffer"/>
-            <xsd:enumeration value="Coffin"/>
-            <xsd:enumeration value="Coil"/>
-            <xsd:enumeration value="CollapsibleTube"/>
-            <xsd:enumeration value="Compressed"/>
-            <xsd:enumeration value="Cones"/>
-            <xsd:enumeration value="Conex"/>
-            <xsd:enumeration value="Container"/>
-            <xsd:enumeration value="Container-CommercialHighwayLift"/>
-            <xsd:enumeration value="Container-Engine"/>
-            <xsd:enumeration value="Container-Mac-Iso-Lt.Wgt8X8X20FootAir"/>
-            <xsd:enumeration value="Container-Multi-Walled-SecuredToWarehousePallet"/>
-            <xsd:enumeration value="Container-NavyCargoTransporter"/>
-            <xsd:enumeration value="ContainersOfBulkCargo"/>
-            <xsd:enumeration value="Core"/>
-            <xsd:enumeration value="CornerReinforcement"/>
-            <xsd:enumeration value="CorrugatedOrSolid"/>
-            <xsd:enumeration value="Cover"/>
-            <xsd:enumeration value="Cradle"/>
-            <xsd:enumeration value="Crate"/>
-            <xsd:enumeration value="Creel"/>
-            <xsd:enumeration value="Cup"/>
-            <xsd:enumeration value="Cylinder"/>
-            <xsd:enumeration value="Demijohn-Non-Protected"/>
-            <xsd:enumeration value="Demijohn-Protected"/>
-            <xsd:enumeration value="Double-LengthRack"/>
-            <xsd:enumeration value="Double-LengthSkid"/>
-            <xsd:enumeration value="Double-LengthToteBin"/>
-            <xsd:enumeration value="DoubleWallCorrugatedBoard"/>
-            <xsd:enumeration value="Double-WallPaper"/>
-            <xsd:enumeration value="Drum"/>
-            <xsd:enumeration value="DryBulk"/>
-            <xsd:enumeration value="Duffelbag"/>
-            <xsd:enumeration value="EdgeProtection"/>
-            <xsd:enumeration value="EggCrating"/>
-            <xsd:enumeration value="Envelope"/>
-            <xsd:enumeration value="Fiberboard"/>
-            <xsd:enumeration value="FiberboardMetal"/>
-            <xsd:enumeration value="Fibre"/>
-            <xsd:enumeration value="Fibre-Paperboard"/>
-            <xsd:enumeration value="Filmpack"/>
-            <xsd:enumeration value="Firkin"/>
-            <xsd:enumeration value="Flask"/>
-            <xsd:enumeration value="Flo-Bin"/>
-            <xsd:enumeration value="Foam"/>
-            <xsd:enumeration value="Footlocker"/>
-            <xsd:enumeration value="ForwardReel"/>
-            <xsd:enumeration value="Frame"/>
-            <xsd:enumeration value="FramedCrate"/>
-            <xsd:enumeration value="FruitCrate"/>
-            <xsd:enumeration value="GasBottle"/>
-            <xsd:enumeration value="Girder"/>
-            <xsd:enumeration value="Girders-InBundleOrBunchOrTruss"/>
-            <xsd:enumeration value="Glass"/>
-            <xsd:enumeration value="Half-StandardRack"/>
-            <xsd:enumeration value="Half-StandardToteBin"/>
-            <xsd:enumeration value="Hamper"/>
-            <xsd:enumeration value="HeadsOfBeef"/>
-            <xsd:enumeration value="Hogshead"/>
-            <xsd:enumeration value="HopperTruck"/>
-            <xsd:enumeration value="HouseholdGoodsContainer-Wood"/>
-            <xsd:enumeration value="Ingot"/>
-            <xsd:enumeration value="Ingots-InBundleBunchTruss"/>
-            <xsd:enumeration value="InInnerContainers"/>
-            <xsd:enumeration value="Insulated"/>
-            <xsd:enumeration value="IntermediateContainer"/>
-            <xsd:enumeration value="IntermodalTrailerOrContainerLoad-Rail"/>
-            <xsd:enumeration value="IronOrSteel"/>
-            <xsd:enumeration value="Jar"/>
-            <xsd:enumeration value="Jerrican-Cylindrical"/>
-            <xsd:enumeration value="Jerrican-Rectangular"/>
-            <xsd:enumeration value="Jug"/>
-            <xsd:enumeration value="Jumbo"/>
-            <xsd:enumeration value="Jutebag"/>
-            <xsd:enumeration value="Keg"/>
-            <xsd:enumeration value="Kit"/>
-            <xsd:enumeration value="KnockdownRack"/>
-            <xsd:enumeration value="KnockdownToteBin"/>
-            <xsd:enumeration value="Lead"/>
-            <xsd:enumeration value="Lifts"/>
-            <xsd:enumeration value="LiftVan"/>
-            <xsd:enumeration value="Liners"/>
-            <xsd:enumeration value="LipOrTop"/>
-            <xsd:enumeration value="LiquidBulk"/>
-            <xsd:enumeration value="Log"/>
-            <xsd:enumeration value="Logs-InBundleOrBunchOrTruss"/>
-            <xsd:enumeration value="Loose"/>
-            <xsd:enumeration value="Lug"/>
-            <xsd:enumeration value="Mat"/>
-            <xsd:enumeration value="MatchBox"/>
-            <xsd:enumeration value="Metal"/>
-            <xsd:enumeration value="MetalCans"/>
-            <xsd:enumeration value="MilkCrate"/>
-            <xsd:enumeration value="Milvan"/>
-            <xsd:enumeration value="Mixed"/>
-            <xsd:enumeration value="MixedContainerTypes"/>
-            <xsd:enumeration value="MoistureResistant"/>
-            <xsd:enumeration value="MoldedPlastic"/>
-            <xsd:enumeration value="Mscvan"/>
-            <xsd:enumeration value="Multiple-WallPaper-2OrMoreWalls"/>
-            <xsd:enumeration value="Multiple-WallPaper3OrMoreWalls"/>
-            <xsd:enumeration value="MultiplyBag"/>
-            <xsd:enumeration value="Multi-RollPack"/>
-            <xsd:enumeration value="MultiwallSack"/>
-            <xsd:enumeration value="Nest"/>
-            <xsd:enumeration value="Net"/>
-            <xsd:enumeration value="Noil"/>
-            <xsd:enumeration value="NotOtherwiseSpecified"/>
-            <xsd:enumeration value="OnHangerOrRackInBoxes"/>
-            <xsd:enumeration value="OnOwnWheel"/>
-            <xsd:enumeration value="OtherThanGlass"/>
-            <xsd:enumeration value="OtherThanMetalOrPlasticTubesOrGlass"/>
-            <xsd:enumeration value="Package"/>
-            <xsd:enumeration value="Packed-NotOtherwiseSpecified"/>
-            <xsd:enumeration value="Packet"/>
-            <xsd:enumeration value="Pail"/>
-            <xsd:enumeration value="Pallet"/>
-            <xsd:enumeration value="AluminumPallet"/>
-            <xsd:enumeration value="MetalPallet"/>
-            <xsd:enumeration value="StandardPallet"/>
-            <xsd:enumeration value="SteelPallet"/>
-            <xsd:enumeration value="WoodPallet"/>
-            <xsd:enumeration value="SlipSheetPallet"/>
-            <xsd:enumeration value="DOTPallet"/>
-            <xsd:enumeration value="Pallet-2Way"/>
-            <xsd:enumeration value="Pallet-4Way"/>
-            <xsd:enumeration value="Paper"/>
-            <xsd:enumeration value="Paper-Vci"/>
-            <xsd:enumeration value="Parcel"/>
-            <xsd:enumeration value="Partitioning"/>
-            <xsd:enumeration value="Pieces"/>
-            <xsd:enumeration value="Pipe"/>
-            <xsd:enumeration value="Pipeline"/>
-            <xsd:enumeration value="PipeRack"/>
-            <xsd:enumeration value="Pipes-InBundleOrBunchOrTruss"/>
-            <xsd:enumeration value="Pirns"/>
-            <xsd:enumeration value="Pitcher"/>
-            <xsd:enumeration value="Plank"/>
-            <xsd:enumeration value="Planks-InBundleOrBunchOrTruss"/>
-            <xsd:enumeration value="Plastic"/>
-            <xsd:enumeration value="Plastic-InjectionMolded"/>
-            <xsd:enumeration value="Plastic-Regrind"/>
-            <xsd:enumeration value="Plastic-StructuralFoam"/>
-            <xsd:enumeration value="Plastic-VacuumFormed"/>
-            <xsd:enumeration value="Plastic-Virgin"/>
-            <xsd:enumeration value="Plastic-WrappedTray"/>
-            <xsd:enumeration value="Plate"/>
-            <xsd:enumeration value="Plates-InBundleOrBunchOrTruss"/>
-            <xsd:enumeration value="Platform"/>
-            <xsd:enumeration value="PolyethyleneLined"/>
-            <xsd:enumeration value="Polystyrene"/>
-            <xsd:enumeration value="Pot"/>
-            <xsd:enumeration value="Pouch"/>
-            <xsd:enumeration value="PrimaryLiftContainer"/>
-            <xsd:enumeration value="PrivateVehicle"/>
-            <xsd:enumeration value="Pulpboard"/>
-            <xsd:enumeration value="QuarterOfBeef"/>
-            <xsd:enumeration value="Rack"/>
-            <xsd:enumeration value="Rail-Semiconductor"/>
-            <xsd:enumeration value="Rednet"/>
-            <xsd:enumeration value="Reel"/>
-            <xsd:enumeration value="Reinforcement"/>
-            <xsd:enumeration value="ReverseReel"/>
-            <xsd:enumeration value="Ring"/>
-            <xsd:enumeration value="Rod"/>
-            <xsd:enumeration value="Rods-InBundleOrBunchOrTruss"/>
-            <xsd:enumeration value="Roll"/>
-            <xsd:enumeration value="Rubber"/>
-            <xsd:enumeration value="RubberAndFabric"/>
-            <xsd:enumeration value="Sachet"/>
-            <xsd:enumeration value="Sack"/>
-            <xsd:enumeration value="Sea-Chest"/>
-            <xsd:enumeration value="Seavan"/>
-            <xsd:enumeration value="SeparatorOrDivider"/>
-            <xsd:enumeration value="ShallowCrate"/>
-            <xsd:enumeration value="Sheet"/>
-            <xsd:enumeration value="Sheetmetal"/>
-            <xsd:enumeration value="Sheets-InBundleOrBunchOrTruss"/>
-            <xsd:enumeration value="Shook"/>
-            <xsd:enumeration value="ShrinkWrap"/>
-            <xsd:enumeration value="Shrinkwrapped"/>
-            <xsd:enumeration value="SideOfBeef"/>
-            <xsd:enumeration value="SingleWallCorrugatedBoard"/>
-            <xsd:enumeration value="SkeletonCase"/>
-            <xsd:enumeration value="Skid"/>
-            <xsd:enumeration value="Skid-ElevatingOrLiftTruck"/>
-            <xsd:enumeration value="Sleeve"/>
-            <xsd:enumeration value="Slipsheet"/>
-            <xsd:enumeration value="Special"/>
-            <xsd:enumeration value="SpecialJumbo"/>
-            <xsd:enumeration value="SpinCylinders"/>
-            <xsd:enumeration value="Spindle"/>
-            <xsd:enumeration value="Spool"/>
-            <xsd:enumeration value="StainlessSteel"/>
-            <xsd:enumeration value="Standard"/>
-            <xsd:enumeration value="Steel-VinylCoated"/>
-            <xsd:enumeration value="StretchWrap"/>
-            <xsd:enumeration value="Suitcase"/>
-            <xsd:enumeration value="Tank"/>
-            <xsd:enumeration value="TankCar"/>
-            <xsd:enumeration value="Tank-Cylindrical"/>
-            <xsd:enumeration value="Tank-Rectangular"/>
-            <xsd:enumeration value="TankTruck"/>
-            <xsd:enumeration value="Tea-Chest"/>
-            <xsd:enumeration value="Tierce"/>
-            <xsd:enumeration value="Tin"/>
-            <xsd:enumeration value="ToteBin"/>
-            <xsd:enumeration value="Tray"/>
-            <xsd:enumeration value="TrayPack"/>
-            <xsd:enumeration value="TripleWallCorrugatedBoard"/>
-            <xsd:enumeration value="Truck"/>
-            <xsd:enumeration value="TrunkAndChest"/>
-            <xsd:enumeration value="Trunk-SalesmenSample"/>
-            <xsd:enumeration value="Truss"/>
-            <xsd:enumeration value="Tub"/>
-            <xsd:enumeration value="Tube"/>
-            <xsd:enumeration value="Tube-Collapsible"/>
-            <xsd:enumeration value="Tubes-InBundleOrBunchOrTruss"/>
-            <xsd:enumeration value="Tubes-MetalOrPlastic"/>
-            <xsd:enumeration value="Tun"/>
-            <xsd:enumeration value="Unit"/>
-            <xsd:enumeration value="UnpackedOrUnpackaged"/>
-            <xsd:enumeration value="Vacuum-Packed"/>
-            <xsd:enumeration value="VanPack"/>
-            <xsd:enumeration value="Vat"/>
-            <xsd:enumeration value="VehicleInOperatingCondition"/>
-            <xsd:enumeration value="Vehicles"/>
-            <xsd:enumeration value="Vial"/>
-            <xsd:enumeration value="WheeledCarrier"/>
-            <xsd:enumeration value="Wickerbottle"/>
-            <xsd:enumeration value="WireMesh"/>
-            <xsd:enumeration value="WireOrCord"/>
-            <xsd:enumeration value="Wood"/>
-            <xsd:enumeration value="Wrapped"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfPackage">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Package"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfPackage" type="ListOfPackage"/>
-    <xsd:complexType name="Package">
-        <xsd:sequence>
-            <xsd:element name="PackageID" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="ListOfItemReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfOrderReferences"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ListOfPackageMark"/>
-            <xsd:element minOccurs="0" ref="ListOfPackageCharacteristic"/>
-            <xsd:element minOccurs="0" ref="ListOfDimension"/>
-            <xsd:element minOccurs="0" ref="ListOfPackageDescription"/>
-            <xsd:element minOccurs="0" name="TransportReference" type="xsd:int"/>
-            <xsd:element minOccurs="0" ref="SpecialHandling"/>
-            <xsd:element minOccurs="0" name="HazardousPackaging">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Hazardous"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="AssociatedDocuments"/>
-            <xsd:element minOccurs="0" name="ShippingInstructions" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ReturnableContainerInfo"/>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" ref="PackageDetail"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Package" type="Package"/>
-    <xsd:complexType name="ListOfOrderReferences">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="OrderReferences"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfOrderReferences" type="ListOfOrderReferences"/>
-    <xsd:complexType name="ListOfPackageMark">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="PackageMark"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfPackageMark" type="ListOfPackageMark"/>
-    <xsd:complexType name="PackageMark">
-        <xsd:sequence>
-            <xsd:element name="PackageMarkCoded" type="PackageMarkCode"/>
-            <xsd:element minOccurs="0" name="PackageMarkCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="PackageMarkValue" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PackageMark" type="PackageMark"/>
-    <xsd:simpleType name="PackageMarkCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="BuyersInstructions"/>
-            <xsd:enumeration value="Carrier-AssignedPackageIdNumber"/>
-            <xsd:enumeration value="CarriersInstructions"/>
-            <xsd:enumeration value="DoNotMarkSuppliersCompanyName"/>
-            <xsd:enumeration value="EntireShipment"/>
-            <xsd:enumeration value="IndustryInstructions"/>
-            <xsd:enumeration value="LegalRequirements"/>
-            <xsd:enumeration value="LineItemOnly"/>
-            <xsd:enumeration value="MarkAdditionallyCustomersArticleDescription"/>
-            <xsd:enumeration value="MarkArticleNumberCustomer"/>
-            <xsd:enumeration value="MarkBatchNumber"/>
-            <xsd:enumeration value="MarkCaseNumber"/>
-            <xsd:enumeration value="MarkCustomersCompanyName"/>
-            <xsd:enumeration value="MarkCustomersReferences"/>
-            <xsd:enumeration value="MarkDateOfProduction"/>
-            <xsd:enumeration value="MarkExclusivelyCustomersArticleDescription"/>
-            <xsd:enumeration value="MarkExpiryDate"/>
-            <xsd:enumeration value="MarkFreeText"/>
-            <xsd:enumeration value="MarkGrossWeight"/>
-            <xsd:enumeration value="MarkNetWeight"/>
-            <xsd:enumeration value="MarkPackagesDimensions"/>
-            <xsd:enumeration value="MarkRunningNumberOfPackages"/>
-            <xsd:enumeration value="MarkSerialShippingContainerCode"/>
-            <xsd:enumeration value="MarkSupplierNumber"/>
-            <xsd:enumeration value="MarkTareWeight"/>
-            <xsd:enumeration value="MasterCartonNumber"/>
-            <xsd:enumeration value="OriginatorAssigned"/>
-            <xsd:enumeration value="PalletConfigurationNumber"/>
-            <xsd:enumeration value="PalletNumber"/>
-            <xsd:enumeration value="PreMarkedByBuyer"/>
-            <xsd:enumeration value="ReceiverAssignedDropZone"/>
-            <xsd:enumeration value="Self-IdentifyingContainerViaRadioFrequencyIdDevice"/>
-            <xsd:enumeration value="SellersInstructions"/>
-            <xsd:enumeration value="ShipperAssigned"/>
-            <xsd:enumeration value="Shipper-AssignedCaseNumber"/>
-            <xsd:enumeration value="ShipperAssignedRollNumber"/>
-            <xsd:enumeration value="ShipperAssignedSkidNumber"/>
-            <xsd:enumeration value="SSCC-18"/>
-            <xsd:enumeration value="SSCC-18AndApplicationIdentifier"/>
-            <xsd:enumeration value="UPCShippingContainerCode"/>
-            <xsd:enumeration value="UCCOrEAN128ApplicationIdentifierAndData"/>
-            <xsd:enumeration value="UniformCodeCouncilFormat"/>
-            <xsd:enumeration value="UPCConsumerPackageCode-1-5-5-1"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfPackageCharacteristic">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="PackageCharacteristic"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfPackageCharacteristic" type="ListOfPackageCharacteristic"/>
-    <xsd:complexType name="PackageCharacteristic">
-        <xsd:sequence>
-            <xsd:element name="PackageCharacteristicCoded" type="PackageCharacteristicCode"/>
-            <xsd:element minOccurs="0" name="PackageCharacteristicCodedOther" type="xsd:string"/>
-            <xsd:element name="PackageCharacteristicDescription">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PackageCharacteristic" type="PackageCharacteristic"/>
-    <xsd:simpleType name="PackageCharacteristicCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="CasingType"/>
-            <xsd:enumeration value="ShippingPackageLabeling"/>
-            <xsd:enumeration value="ShippingPackageSealing"/>
-            <xsd:enumeration value="ProductMarking"/>
-            <xsd:enumeration value="TypeofPackage"/>
-            <xsd:enumeration value="PackageSpecifications"/>
-            <xsd:enumeration value="PackageProtection"/>
-            <xsd:enumeration value="Tarping"/>
-            <xsd:enumeration value="PlatformOrSkidLocation"/>
-            <xsd:enumeration value="BearingPieceLocation"/>
-            <xsd:enumeration value="PlacementonCarrier"/>
-            <xsd:enumeration value="SpacingDirections"/>
-            <xsd:enumeration value="UnloadingDevice"/>
-            <xsd:enumeration value="UnloadingEquipment"/>
-            <xsd:enumeration value="ProductMarkingPattern"/>
-            <xsd:enumeration value="ProductMarkingLocation"/>
-            <xsd:enumeration value="PackageOrContainerMarkLocation"/>
-            <xsd:enumeration value="MarkingMethod"/>
-            <xsd:enumeration value="CoreCharacteristics"/>
-            <xsd:enumeration value="ReceivingFacilityLimitations"/>
-            <xsd:enumeration value="TaggingOrBarCodeInstructions"/>
-            <xsd:enumeration value="SkidOrPalletType"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfPackageDescription">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="PackageDescription"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfPackageDescription" type="ListOfPackageDescription"/>
-    <xsd:complexType name="PackageDescription">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" ref="ListOfPackageIdentifier"/>
-            <xsd:element minOccurs="0" name="ContainerCounter" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="LoadOrderCounter" type="xsd:int"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PackageDescription" type="PackageDescription"/>
-    <xsd:complexType name="ListOfPackageIdentifier">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="PackageIdentifier"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfPackageIdentifier" type="ListOfPackageIdentifier"/>
-    <xsd:complexType name="PackageIdentifier">
-        <xsd:sequence>
-            <xsd:element name="PackageIdentifierCoded" type="PackageIdentifierCode"/>
-            <xsd:element minOccurs="0" name="PackageIdentifierCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="PackageIdentifierValue" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PackageIdentifier" type="PackageIdentifier"/>
-    <xsd:simpleType name="PackageIdentifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="EAN8OrEAN13Barcoded"/>
-            <xsd:enumeration value="ITF14OrITF6Barcoded"/>
-            <xsd:enumeration value="UCCOrEAN128Barcoded"/>
-            <xsd:enumeration value="ADR"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="SpecialHandling">
-        <xsd:sequence>
-            <xsd:element name="SpecialHandlingCoded" type="SpecialHandlingCode"/>
-            <xsd:element minOccurs="0" name="SpecialHandlingCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SpecialHandlingNote" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="SpecialHandling" type="SpecialHandling"/>
-    <xsd:simpleType name="SpecialHandlingCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="SpeedRestrictedTo15MilesPerHour"/>
-            <xsd:enumeration value="SpeedRestrictedTo25MilesPerHour"/>
-            <xsd:enumeration value="SpeedRestrictedTo35MilesPerHour"/>
-            <xsd:enumeration value="SpeedRestrictedTo45MilesPerHour"/>
-            <xsd:enumeration value="NoFacialHair"/>
-            <xsd:enumeration value="CarIsAirBrakeControlled"/>
-            <xsd:enumeration value="CustomerRequiredPackingList"/>
-            <xsd:enumeration value="CustomerRequiredPRONumber"/>
-            <xsd:enumeration value="CustomerRequiredAppointmentNumber"/>
-            <xsd:enumeration value="LoadOnTopOfResidue"/>
-            <xsd:enumeration value="DisposeOfResidue"/>
-            <xsd:enumeration value="Attachment-AutoKeys"/>
-            <xsd:enumeration value="AttachmentToMoveWithCar"/>
-            <xsd:enumeration value="AnnualVolume"/>
-            <xsd:enumeration value="Attachments-AdvanceOnlyWaybill"/>
-            <xsd:enumeration value="ClearinghouseBalance"/>
-            <xsd:enumeration value="BlowableLoad"/>
-            <xsd:enumeration value="IfBadOrderedNotifyShipper"/>
-            <xsd:enumeration value="BillShipperForWeighCharge"/>
-            <xsd:enumeration value="ContainerConsolidatorLoad"/>
-            <xsd:enumeration value="Attachment-CustomersDocument"/>
-            <xsd:enumeration value="ClearedForExport"/>
-            <xsd:enumeration value="ContainerFactoryLoad"/>
-            <xsd:enumeration value="Carrier"/>
-            <xsd:enumeration value="CustomsInspection"/>
-            <xsd:enumeration value="Attachment-CottonManifest"/>
-            <xsd:enumeration value="NoMarshallingRequiredForHazardousMaterials"/>
-            <xsd:enumeration value="CircusRampOnlyTOFCVan"/>
-            <xsd:enumeration value="BillConsigneeForWeighCharges"/>
-            <xsd:enumeration value="TopLoadOnly"/>
-            <xsd:enumeration value="CertificationThatThisShipmentIsForRecyclingAsDefinedInApplicableTariffsContainingSuchProvisions"/>
-            <xsd:enumeration value="Dangerous"/>
-            <xsd:enumeration value="Demurrage"/>
-            <xsd:enumeration value="Domestic"/>
-            <xsd:enumeration value="ShipperAuthorizationRequiredForDiversionOrConsignment"/>
-            <xsd:enumeration value="DropYard"/>
-            <xsd:enumeration value="DeliveryOnlyOnSurrenderOfWrittenOrder"/>
-            <xsd:enumeration value="DeadInTow"/>
-            <xsd:enumeration value="DoNotUncouple"/>
-            <xsd:enumeration value="Equipment"/>
-            <xsd:enumeration value="DestinationWeightsApply"/>
-            <xsd:enumeration value="ExcessiveDimensions"/>
-            <xsd:enumeration value="ElectronicEquipmentTransfer"/>
-            <xsd:enumeration value="EnvironmentalControlLimits"/>
-            <xsd:enumeration value="Expedite"/>
-            <xsd:enumeration value="ReturnEmptyViaReverseRoute"/>
-            <xsd:enumeration value="DamagesIncurredIfShipmentFailsToMeetVesselLoading"/>
-            <xsd:enumeration value="ExcessiveWeight"/>
-            <xsd:enumeration value="ExplosiveFlammableGas"/>
-            <xsd:enumeration value="FaceA-EndToHeadOfTrain"/>
-            <xsd:enumeration value="FaceB-EndToHeadOfTrain"/>
-            <xsd:enumeration value="MovingUnderForFurtheranceInstructionsAndMayBeDelivered"/>
-            <xsd:enumeration value="FullService"/>
-            <xsd:enumeration value="FlammableGas"/>
-            <xsd:enumeration value="Flammable"/>
-            <xsd:enumeration value="FlammablePoisonGas"/>
-            <xsd:enumeration value="Fragile-HandleWithCare"/>
-            <xsd:enumeration value="NontransitFlatShipment"/>
-            <xsd:enumeration value="GrainInspection"/>
-            <xsd:enumeration value="HeadEndCar"/>
-            <xsd:enumeration value="Household"/>
-            <xsd:enumeration value="EndorsedAsHazardousMaterial"/>
-            <xsd:enumeration value="HoldForOrders"/>
-            <xsd:enumeration value="HeatedPriorToLoading"/>
-            <xsd:enumeration value="HomeForRepair"/>
-            <xsd:enumeration value="Heat"/>
-            <xsd:enumeration value="HighValueLoad"/>
-            <xsd:enumeration value="HighWideLoad"/>
-            <xsd:enumeration value="In-Bond"/>
-            <xsd:enumeration value="Ice"/>
-            <xsd:enumeration value="ShipmentToBeInspectedAtDestinationAndDispositionInstructionsWillBeFurnished"/>
-            <xsd:enumeration value="InterofficeMove"/>
-            <xsd:enumeration value="ImportShipment"/>
-            <xsd:enumeration value="RailIncentiveRate"/>
-            <xsd:enumeration value="SurveillanceService"/>
-            <xsd:enumeration value="JunctionSettlementAccount"/>
-            <xsd:enumeration value="LandBridgeImportOrExport"/>
-            <xsd:enumeration value="CarTripLeasedToConsignee"/>
-            <xsd:enumeration value="LoadingDevices"/>
-            <xsd:enumeration value="LoadedToFullVisibleCapacity"/>
-            <xsd:enumeration value="LessThanContainerConsolidatorLoad"/>
-            <xsd:enumeration value="ProtectLowestThroughRate"/>
-            <xsd:enumeration value="LessThanContainerFactoryLoad"/>
-            <xsd:enumeration value="LocalServiceOnly"/>
-            <xsd:enumeration value="LessThanFullCarload"/>
-            <xsd:enumeration value="PersonInChargeOfCar"/>
-            <xsd:enumeration value="ClearedForBorderCrossing"/>
-            <xsd:enumeration value="MultiplePickup"/>
-            <xsd:enumeration value="MechanicalRefrigeration"/>
-            <xsd:enumeration value="NotifyConsigneeBeforeDelivery"/>
-            <xsd:enumeration value="DoNotDivert"/>
-            <xsd:enumeration value="NoSpecialEntrainmentRequired"/>
-            <xsd:enumeration value="DoNotHump"/>
-            <xsd:enumeration value="NewEquipmentFirstTransborderMovement"/>
-            <xsd:enumeration value="DoNotPool"/>
-            <xsd:enumeration value="NotifyShipperBeforeReconsignment"/>
-            <xsd:enumeration value="DoNotTransferContents"/>
-            <xsd:enumeration value="InCaseOfFireDoNotUseWater"/>
-            <xsd:enumeration value="NotForExport"/>
-            <xsd:enumeration value="CommodityLoadedLessThanOrEqualToTheCarOrdered"/>
-            <xsd:enumeration value="Overweight"/>
-            <xsd:enumeration value="PerishableInBoxCar"/>
-            <xsd:enumeration value="PrivatelyControlledPrivateEquipmentSubjectToDemurrage"/>
-            <xsd:enumeration value="PoisonousGas"/>
-            <xsd:enumeration value="IcedPriorToLoading"/>
-            <xsd:enumeration value="ProductProtectionService"/>
-            <xsd:enumeration value="Attachment-PrepaidWaybill"/>
-            <xsd:enumeration value="ReturnAuthorization"/>
-            <xsd:enumeration value="RenderBillForCharges"/>
-            <xsd:enumeration value="RailroadControlledPrivateEquipmentSubjectToDemurrage"/>
-            <xsd:enumeration value="RadioactiveMaterial"/>
-            <xsd:enumeration value="RushOrder"/>
-            <xsd:enumeration value="RearRider"/>
-            <xsd:enumeration value="InspectHourlyIfCarStopped"/>
-            <xsd:enumeration value="RecordForTransit"/>
-            <xsd:enumeration value="ShipperLoadOrCarrierCount"/>
-            <xsd:enumeration value="ShoveToRestAndCover"/>
-            <xsd:enumeration value="SubjectToSpecialDetentionRulesOrCharges"/>
-            <xsd:enumeration value="Attachment-ShippersExportDocument"/>
-            <xsd:enumeration value="ShiftableLoad"/>
-            <xsd:enumeration value="ShipToCrossDockOrPool"/>
-            <xsd:enumeration value="RequiresShelfCouplers"/>
-            <xsd:enumeration value="Attachment-ShippersManifest"/>
-            <xsd:enumeration value="Attachment-ShippersPackingInstructions"/>
-            <xsd:enumeration value="SpeedRestricted"/>
-            <xsd:enumeration value="StackTrain"/>
-            <xsd:enumeration value="StretchWrap"/>
-            <xsd:enumeration value="CarsTemporarilyArticulated"/>
-            <xsd:enumeration value="TrailerConsolidatorLoad"/>
-            <xsd:enumeration value="TrailerFactoryLoad"/>
-            <xsd:enumeration value="TurnCar"/>
-            <xsd:enumeration value="TransitShipment"/>
-            <xsd:enumeration value="TeamTrackDelivery"/>
-            <xsd:enumeration value="TimeVolumeRatesOnly"/>
-            <xsd:enumeration value="UnloadAtBumperCircusRamp"/>
-            <xsd:enumeration value="Unitized"/>
-            <xsd:enumeration value="UnloadFromLeftSideOfCar"/>
-            <xsd:enumeration value="UnloadAsPlacarded"/>
-            <xsd:enumeration value="UnprotectedPerishable"/>
-            <xsd:enumeration value="UnloadFromRightSideOfCar"/>
-            <xsd:enumeration value="ShipperCertifiesGrossWeightUnder240000Pounds"/>
-            <xsd:enumeration value="VerificationWeigh"/>
-            <xsd:enumeration value="VentilationInstructions"/>
-            <xsd:enumeration value="Wide-BodyPickupTruckAppliesToFinishedVehicleLoading"/>
-            <xsd:enumeration value="WaivedInspection-SetDirect"/>
-            <xsd:enumeration value="WeighEmpty"/>
-            <xsd:enumeration value="Attachments-HighWideNotice"/>
-            <xsd:enumeration value="WaiveInspection"/>
-            <xsd:enumeration value="ManifestMustAccompanyWaybill"/>
-            <xsd:enumeration value="WeighToCheckForOverload"/>
-            <xsd:enumeration value="WasteWater"/>
-            <xsd:enumeration value="Export"/>
-            <xsd:enumeration value="CrossTown"/>
-            <xsd:enumeration value="AdvancedFee"/>
-            <xsd:enumeration value="CertificateOfOrigin"/>
-            <xsd:enumeration value="FuelSurchargeAuthorized"/>
-            <xsd:enumeration value="Offshore-AlaskaOrHawaiiService"/>
-            <xsd:enumeration value="OversizedPremium"/>
-            <xsd:enumeration value="PreparationOfAirWaybill-Origin"/>
-            <xsd:enumeration value="PreparationOfCanadianCustomsInvoice"/>
-            <xsd:enumeration value="PreparationOfExportEntry"/>
-            <xsd:enumeration value="PreparationOfInsuranceCertificate"/>
-            <xsd:enumeration value="PreparationOfU.S.ExportDocumentation"/>
-            <xsd:enumeration value="SaturdayDelivery"/>
-            <xsd:enumeration value="SaturdayPick-Up"/>
-            <xsd:enumeration value="SecuritySignatureService"/>
-            <xsd:enumeration value="WrittenProofOfDelivery"/>
-            <xsd:enumeration value="Aggregate1000"/>
-            <xsd:enumeration value="Aggregate3000"/>
-            <xsd:enumeration value="Aggregate5000"/>
-            <xsd:enumeration value="AttendantsAccompanying"/>
-            <xsd:enumeration value="AdvanceLoading"/>
-            <xsd:enumeration value="AirCraftFurnishedAndNotUsed"/>
-            <xsd:enumeration value="AggregateTenderDiscount"/>
-            <xsd:enumeration value="ArmedGuardService"/>
-            <xsd:enumeration value="AdditionalInjectionOrBlendingService"/>
-            <xsd:enumeration value="PortChanges"/>
-            <xsd:enumeration value="UseOfAlternateTerminal"/>
-            <xsd:enumeration value="A.M.DeliveryRequirement"/>
-            <xsd:enumeration value="AnchoringAndUnanchoring"/>
-            <xsd:enumeration value="AdditionalCopyOfShippingPapersForProofOfDelivery"/>
-            <xsd:enumeration value="ApplianceServicing"/>
-            <xsd:enumeration value="AirConditioningDisconnectAndConnect"/>
-            <xsd:enumeration value="RailArmedGuardService"/>
-            <xsd:enumeration value="AirRideTractorService"/>
-            <xsd:enumeration value="AirRideTruckService"/>
-            <xsd:enumeration value="AssemblyServiceRequested"/>
-            <xsd:enumeration value="AuxiliaryService"/>
-            <xsd:enumeration value="BypassConsolidationPoint"/>
-            <xsd:enumeration value="BulkyArticle"/>
-            <xsd:enumeration value="BlockingAndBracing"/>
-            <xsd:enumeration value="BlindShipment"/>
-            <xsd:enumeration value="BolsterLoadDoNotSwitch"/>
-            <xsd:enumeration value="BoxingService-DryBulk"/>
-            <xsd:enumeration value="BunkerSurchargeAuthorized"/>
-            <xsd:enumeration value="BunkerAdjustment-20FootContainer"/>
-            <xsd:enumeration value="BunkerAdjustment-40FootContainer"/>
-            <xsd:enumeration value="BunkerAdjustment"/>
-            <xsd:enumeration value="CurrencyAdjustment-20FootContainer"/>
-            <xsd:enumeration value="CurrencyAdjustment-40FootContainer"/>
-            <xsd:enumeration value="RoeeCarOrPick-UpTruck"/>
-            <xsd:enumeration value="ConvertCommercialBillOfLadingBolToGovernmentBol"/>
-            <xsd:enumeration value="Certification"/>
-            <xsd:enumeration value="CarrierCaboose"/>
-            <xsd:enumeration value="CorrosionAdditiveService"/>
-            <xsd:enumeration value="CustomsFees-ContainerLevel"/>
-            <xsd:enumeration value="CustomsFees-LiftLevel"/>
-            <xsd:enumeration value="CarrierGuardCarService"/>
-            <xsd:enumeration value="ReturnCarrierGuardCarService"/>
-            <xsd:enumeration value="CargoTaxes"/>
-            <xsd:enumeration value="ChainAndBinders"/>
-            <xsd:enumeration value="CommercialInvoicePreparation"/>
-            <xsd:enumeration value="ConstantSurveillance"/>
-            <xsd:enumeration value="Cleaning"/>
-            <xsd:enumeration value="ClassRatesApplied"/>
-            <xsd:enumeration value="Comb.RatesOverDetroit"/>
-            <xsd:enumeration value="ConsolidationAndLineHaul"/>
-            <xsd:enumeration value="Consolidation"/>
-            <xsd:enumeration value="ContractRatesApply"/>
-            <xsd:enumeration value="CertificationThatTheNewsprintWindingCoresBeingReturnedEmptyWereReceivedFilledByRailFreightService"/>
-            <xsd:enumeration value="ConsigneeUnload"/>
-            <xsd:enumeration value="CourierOvernight"/>
-            <xsd:enumeration value="CopilotService"/>
-            <xsd:enumeration value="CustomsPapersMailed"/>
-            <xsd:enumeration value="ContainerLease"/>
-            <xsd:enumeration value="CourierSameDay"/>
-            <xsd:enumeration value="GovernmentCaboose"/>
-            <xsd:enumeration value="ControlledAtmosphere"/>
-            <xsd:enumeration value="ContainerMounting"/>
-            <xsd:enumeration value="CircuitousRouting"/>
-            <xsd:enumeration value="CurrencyAdjustment-BreakBulk"/>
-            <xsd:enumeration value="DoubleWideSeparateAndReassemble"/>
-            <xsd:enumeration value="DeliveryOfFuelFromBargeToPipeline"/>
-            <xsd:enumeration value="DodConstantSurveillanceService"/>
-            <xsd:enumeration value="DualDriverWithNationalAgencyCheck"/>
-            <xsd:enumeration value="DualDriverProtectiveService"/>
-            <xsd:enumeration value="DirectDelivery"/>
-            <xsd:enumeration value="DrayageAtPortOfDebarkationRateZone"/>
-            <xsd:enumeration value="DeliveryService"/>
-            <xsd:enumeration value="DetentionOfConveyingEquipmentAndThePowerUnit"/>
-            <xsd:enumeration value="DetentionOfConveyingEquipmentExcludingThePowerUnit"/>
-            <xsd:enumeration value="DrayageAtPortOfEmbarkationRateZone"/>
-            <xsd:enumeration value="KeepFromFreezingPercentDifferential"/>
-            <xsd:enumeration value="410DromedaryWithMechanicalRestrainingDevices"/>
-            <xsd:enumeration value="410Dromedary"/>
-            <xsd:enumeration value="DistributionServiceRequested"/>
-            <xsd:enumeration value="DeliveryOfFuelFromRailTankCarToPipeline"/>
-            <xsd:enumeration value="NotifyShipperImmediatelyIfShipmentIsDelayedEnRoute"/>
-            <xsd:enumeration value="DoNotCoupleToOtherDiaphragmedCars"/>
-            <xsd:enumeration value="DoNotFreeze"/>
-            <xsd:enumeration value="DoNotCoupleToTankCars"/>
-            <xsd:enumeration value="Documentation-Special"/>
-            <xsd:enumeration value="ContainerDiversion"/>
-            <xsd:enumeration value="DeliveryOfFuelFromPipelineToBarge"/>
-            <xsd:enumeration value="DrayageAtPortOfDebarkation"/>
-            <xsd:enumeration value="DrayageAtPortOfEmbarkation"/>
-            <xsd:enumeration value="DeliveryOfFuelFromPipelineToRailTankCar"/>
-            <xsd:enumeration value="DeliveryOfFuelFromPipelineToTankTruckOrTrailer"/>
-            <xsd:enumeration value="DetentionWithPowerUnits30MinutePeriods"/>
-            <xsd:enumeration value="Drop-OffDelivery"/>
-            <xsd:enumeration value="DrummingService"/>
-            <xsd:enumeration value="DoNotCoupleToDoubleShelfCouples"/>
-            <xsd:enumeration value="DromedaryWithMechanicalRestrainingDevices"/>
-            <xsd:enumeration value="DromedaryServiceRequested"/>
-            <xsd:enumeration value="DoorSideVanning"/>
-            <xsd:enumeration value="LaborAssociatedWithDetentionOfConveyingEquipment"/>
-            <xsd:enumeration value="DeliveryOfFuelFromTankTruckOrTrailerToPipeline"/>
-            <xsd:enumeration value="DetentionVehicle"/>
-            <xsd:enumeration value="DetentionWithPowerUnits60MinutePeriods"/>
-            <xsd:enumeration value="ExtraAxles"/>
-            <xsd:enumeration value="EscortOrCourierService"/>
-            <xsd:enumeration value="EmptyRailcarOrderedButNotUsed"/>
-            <xsd:enumeration value="EquipmentHoseAtDestination"/>
-            <xsd:enumeration value="EquipmentHoseAtOrigin"/>
-            <xsd:enumeration value="ExclusiveUse"/>
-            <xsd:enumeration value="ExtraLights"/>
-            <xsd:enumeration value="EmergencyService"/>
-            <xsd:enumeration value="EmptyMovement"/>
-            <xsd:enumeration value="Endorsement"/>
-            <xsd:enumeration value="EmptyReturn"/>
-            <xsd:enumeration value="SatisfactoryServiceStandards"/>
-            <xsd:enumeration value="ExcessiveValuationAuthorized"/>
-            <xsd:enumeration value="ExclusiveUseOfVehicle"/>
-            <xsd:enumeration value="ExtraDriver"/>
-            <xsd:enumeration value="ExtraLengthSurcharge"/>
-            <xsd:enumeration value="ExportPreparation"/>
-            <xsd:enumeration value="ExpeditedRatesApplied"/>
-            <xsd:enumeration value="ExpeditedService"/>
-            <xsd:enumeration value="ExtraLabor"/>
-            <xsd:enumeration value="ExclusiveUseOfVehicleDamaged"/>
-            <xsd:enumeration value="ExpandRemoveAndInstall"/>
-            <xsd:enumeration value="RoadwayEasyRatesApplied"/>
-            <xsd:enumeration value="BargeFreightAllKindsService"/>
-            <xsd:enumeration value="Firearms"/>
-            <xsd:enumeration value="FurnishingChassis"/>
-            <xsd:enumeration value="FuelFiltersFurnishedByCarrier"/>
-            <xsd:enumeration value="FuelFiltersFurnishedByShipper"/>
-            <xsd:enumeration value="FlatrackSurcharge"/>
-            <xsd:enumeration value="ForProcessingInTransit"/>
-            <xsd:enumeration value="AcceptedByCarrierAtOwnerSRiskOfFreezing"/>
-            <xsd:enumeration value="ForStorageInTransit"/>
-            <xsd:enumeration value="FiltrationService"/>
-            <xsd:enumeration value="GarmentSurcharge"/>
-            <xsd:enumeration value="Government-OwnedContainers"/>
-            <xsd:enumeration value="GovernmentGuardCar"/>
-            <xsd:enumeration value="GreaterSecurityService"/>
-            <xsd:enumeration value="HoldAtLocation"/>
-            <xsd:enumeration value="Handling"/>
-            <xsd:enumeration value="HandBrakesAtEachEndMustBeReleased"/>
-            <xsd:enumeration value="ShipmentHoldoverForHolidays"/>
-            <xsd:enumeration value="ShipmentHoldoverForWeekends"/>
-            <xsd:enumeration value="HeatInTransit"/>
-            <xsd:enumeration value="Heat-Special"/>
-            <xsd:enumeration value="HeatWithSteam"/>
-            <xsd:enumeration value="AccessibleHazardousMaterial"/>
-            <xsd:enumeration value="InaccessibleHazardousMaterial"/>
-            <xsd:enumeration value="SundayOrHolidayPickupOrDelivery"/>
-            <xsd:enumeration value="24HourAvailability"/>
-            <xsd:enumeration value="Hose"/>
-            <xsd:enumeration value="SpecialHose"/>
-            <xsd:enumeration value="HighCubeTrailerRates"/>
-            <xsd:enumeration value="HeaterOrRefrigeration"/>
-            <xsd:enumeration value="HitchInstallation"/>
-            <xsd:enumeration value="HazardousMaterialsSurcharge"/>
-            <xsd:enumeration value="HazardousCargoOnDeck"/>
-            <xsd:enumeration value="IdlerCar"/>
-            <xsd:enumeration value="InsideDelivery"/>
-            <xsd:enumeration value="IcingInhibitorService"/>
-            <xsd:enumeration value="Impactographs"/>
-            <xsd:enumeration value="IntermodalShipmentService"/>
-            <xsd:enumeration value="Intra-PlantMove"/>
-            <xsd:enumeration value="InsidePickup"/>
-            <xsd:enumeration value="InterlineTransferService"/>
-            <xsd:enumeration value="Just-In-TimeJit"/>
-            <xsd:enumeration value="JointLineException"/>
-            <xsd:enumeration value="CertificationThatTheContainersBeingReturnedEmptyWereReceivedFilledByRailFreightService"/>
-            <xsd:enumeration value="KeepMaterialDry"/>
-            <xsd:enumeration value="LaborDisturbance"/>
-            <xsd:enumeration value="Layover"/>
-            <xsd:enumeration value="ApplyAUCCOrEANSerialShippingContainerLabelToTheShippingContainers"/>
-            <xsd:enumeration value="LightBarService"/>
-            <xsd:enumeration value="LowBoyTrailerOrFlatBed"/>
-            <xsd:enumeration value="LandCurrencyAdjustmentFactor-20FootContainer"/>
-            <xsd:enumeration value="LandCurrencyAdjustment-40FootContainer"/>
-            <xsd:enumeration value="PercentDifferential-LessThanContainer"/>
-            <xsd:enumeration value="LessThanContainer"/>
-            <xsd:enumeration value="LinehaulFromPortOfDebarkation"/>
-            <xsd:enumeration value="LinehaulService"/>
-            <xsd:enumeration value="LiabilityOfCarrier"/>
-            <xsd:enumeration value="LinerTermsAtPortOfDebarkation"/>
-            <xsd:enumeration value="LinerTermsAtPortOfEmbarkation"/>
-            <xsd:enumeration value="LinehaulPercentDifferential"/>
-            <xsd:enumeration value="LinehaulToPortOfEmbarkation"/>
-            <xsd:enumeration value="LessThanTruckload"/>
-            <xsd:enumeration value="LayoverService"/>
-            <xsd:enumeration value="ModifiedAtmosphere"/>
-            <xsd:enumeration value="EscortServiceWithOvernightSubsistence"/>
-            <xsd:enumeration value="Escort"/>
-            <xsd:enumeration value="EscortServicesTelephone"/>
-            <xsd:enumeration value="Insulated"/>
-            <xsd:enumeration value="MotorSurveillanceService"/>
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Refrigerated"/>
-            <xsd:enumeration value="MilitaryTrafficExpeditingService"/>
-            <xsd:enumeration value="SpecialMotorSurveillance"/>
-            <xsd:enumeration value="DoNotHumpOrHumpInto"/>
-            <xsd:enumeration value="DoNotUseHelperLocomotiveToPush"/>
-            <xsd:enumeration value="NoPlacardsRequired"/>
-            <xsd:enumeration value="NoseSideVanning"/>
-            <xsd:enumeration value="StowAwayFromHeat"/>
-            <xsd:enumeration value="BlockStowage"/>
-            <xsd:enumeration value="CargoAboard"/>
-            <xsd:enumeration value="CarrierLoadAndConsigneeUnload"/>
-            <xsd:enumeration value="OverHeightContainer"/>
-            <xsd:enumeration value="CompletingShipment"/>
-            <xsd:enumeration value="DeliveryVerificationNotRequired"/>
-            <xsd:enumeration value="StowWithDoorsFacingInward"/>
-            <xsd:enumeration value="ExemptCommodity"/>
-            <xsd:enumeration value="InFrontOfHouseStowage"/>
-            <xsd:enumeration value="Fumigation"/>
-            <xsd:enumeration value="Harmless"/>
-            <xsd:enumeration value="OilFieldService"/>
-            <xsd:enumeration value="UseNoHooks"/>
-            <xsd:enumeration value="NotRestrictedCargo"/>
-            <xsd:enumeration value="CargoOnBoardCertificationRequired"/>
-            <xsd:enumeration value="OnDeckStowage"/>
-            <xsd:enumeration value="CarrierLoadAndCarrierUnload"/>
-            <xsd:enumeration value="Perishable"/>
-            <xsd:enumeration value="PartialShipment"/>
-            <xsd:enumeration value="StowBelowDeck"/>
-            <xsd:enumeration value="StowBetweenDecks"/>
-            <xsd:enumeration value="TemperatureControl"/>
-            <xsd:enumeration value="TimeOfDeliveryAndSignatureRequired"/>
-            <xsd:enumeration value="OnTopIn-HatchStowage"/>
-            <xsd:enumeration value="OnTopOn-DeckStowage"/>
-            <xsd:enumeration value="TotalShipment"/>
-            <xsd:enumeration value="UnderContainerOn-DeckStowage"/>
-            <xsd:enumeration value="BelowWaterLineStowage"/>
-            <xsd:enumeration value="Overflow"/>
-            <xsd:enumeration value="OverWidthContainer"/>
-            <xsd:enumeration value="OneWayRatesApplied"/>
-            <xsd:enumeration value="PumpingEquipment"/>
-            <xsd:enumeration value="PickupOfShipmentsOnSaturdaySundayAndOrHolidaysRequiringAbsoluteNextDayDelivery"/>
-            <xsd:enumeration value="PickupAndDeliveryFromStorageInTransit"/>
-            <xsd:enumeration value="PickupAndDeliveryBeyondServiceArea"/>
-            <xsd:enumeration value="SpecialPermits"/>
-            <xsd:enumeration value="ProtectFromHeat"/>
-            <xsd:enumeration value="PerHourRatesApplied"/>
-            <xsd:enumeration value="PierTime"/>
-            <xsd:enumeration value="PalletsOrSkidsOrPlatforms"/>
-            <xsd:enumeration value="P.M.DeliveryRequirement"/>
-            <xsd:enumeration value="PerMileRatesApply"/>
-            <xsd:enumeration value="PickupOfShipmentsRequiringSameDayDeliveryService"/>
-            <xsd:enumeration value="PickupOfShipmentsRequiringSameDayDeliveryServiceAndOrDeliveryAtASpecifiedTime"/>
-            <xsd:enumeration value="PianoOrOrganCarry"/>
-            <xsd:enumeration value="PositioningAtOrigin"/>
-            <xsd:enumeration value="PickupAndDeliveryServiceForPerishables"/>
-            <xsd:enumeration value="Prelodge"/>
-            <xsd:enumeration value="StuffingCharge"/>
-            <xsd:enumeration value="ProtectiveServiceSecurityWithArmedGuards"/>
-            <xsd:enumeration value="ProtectiveSecurityService"/>
-            <xsd:enumeration value="ProtectiveTarpForSecurityPurposes"/>
-            <xsd:enumeration value="Pickup"/>
-            <xsd:enumeration value="PickupAndDelivery"/>
-            <xsd:enumeration value="PackAndUnpack"/>
-            <xsd:enumeration value="PUPTrailerRatesApply"/>
-            <xsd:enumeration value="BondedPrivatelyOwnedVehicle"/>
-            <xsd:enumeration value="DetentionOfPrivatelyOwnedVehicle"/>
-            <xsd:enumeration value="InoperablePrivatelyOwnedVehicle"/>
-            <xsd:enumeration value="LoadingOrUnloadingOfPrivatelyOwnedVehicle"/>
-            <xsd:enumeration value="PrivateOwnedVehicleProcessing"/>
-            <xsd:enumeration value="Stop-OffsForPrivatelyOwnedVehicleShipment"/>
-            <xsd:enumeration value="PrivatelyOwnedVehicleInTruckawayService"/>
-            <xsd:enumeration value="PriorityService"/>
-            <xsd:enumeration value="Reconsignment"/>
-            <xsd:enumeration value="Redelivery"/>
-            <xsd:enumeration value="RailheadHandling"/>
-            <xsd:enumeration value="RoadrailerService"/>
-            <xsd:enumeration value="Respotting"/>
-            <xsd:enumeration value="ResidentialDelivery"/>
-            <xsd:enumeration value="ReeferMaintenance"/>
-            <xsd:enumeration value="ReleasedValueChargeInExcessOfCarrierMaximumLiability"/>
-            <xsd:enumeration value="RelocationOfVehicle"/>
-            <xsd:enumeration value="ReturnOfEmptyContainer"/>
-            <xsd:enumeration value="ReturnMovementOfPallet"/>
-            <xsd:enumeration value="RailSurveillance"/>
-            <xsd:enumeration value="ReeferCargoPercentDifferential"/>
-            <xsd:enumeration value="RoundTripService"/>
-            <xsd:enumeration value="Reshipment"/>
-            <xsd:enumeration value="RestrictedSpeeds"/>
-            <xsd:enumeration value="Reservations"/>
-            <xsd:enumeration value="ReweightRequested"/>
-            <xsd:enumeration value="ShipmentHoldoverOnWeekends"/>
-            <xsd:enumeration value="SaturdayPickupOrDelivery"/>
-            <xsd:enumeration value="SpecialContainers"/>
-            <xsd:enumeration value="ShipperLoadAndConsigneeUnload"/>
-            <xsd:enumeration value="SplitDelivery"/>
-            <xsd:enumeration value="SpecialDromedaryService"/>
-            <xsd:enumeration value="SpecialEquipmentCharge"/>
-            <xsd:enumeration value="ShipperExportDeclarationRequired"/>
-            <xsd:enumeration value="StairsElevatorExcessCarry"/>
-            <xsd:enumeration value="ServiceChargeApplies"/>
-            <xsd:enumeration value="SecurityEscortVehicleService"/>
-            <xsd:enumeration value="SingleFactorOriginationOrDestination"/>
-            <xsd:enumeration value="SingleFactorOriginationOrPortOfDebarkation"/>
-            <xsd:enumeration value="SingleFactorPortOfEmbarkationOrDestination"/>
-            <xsd:enumeration value="SpecialTrainMovement"/>
-            <xsd:enumeration value="SingleShipment"/>
-            <xsd:enumeration value="ShipmentHoldoverOnHolidays"/>
-            <xsd:enumeration value="ShipperLoad"/>
-            <xsd:enumeration value="ShipmentHoldoverOnWeekdays"/>
-            <xsd:enumeration value="SkirtingAndUnskirting"/>
-            <xsd:enumeration value="ShipperLoadAndCount"/>
-            <xsd:enumeration value="SmallPackage"/>
-            <xsd:enumeration value="TransmitAShipNoticeOrManifestTransactionSet"/>
-            <xsd:enumeration value="SatelliteSurveillanceService"/>
-            <xsd:enumeration value="ShipmentFromNon-TempStorage"/>
-            <xsd:enumeration value="Stop-Off"/>
-            <xsd:enumeration value="ShipperLoadAndCarrierUnload"/>
-            <xsd:enumeration value="SpecialPermit"/>
-            <xsd:enumeration value="SpreaderService"/>
-            <xsd:enumeration value="SpotForStorage-NoShipment"/>
-            <xsd:enumeration value="SplitPickup"/>
-            <xsd:enumeration value="Storage"/>
-            <xsd:enumeration value="SurveyingRoutes"/>
-            <xsd:enumeration value="StrippingSortingAndConsolidation"/>
-            <xsd:enumeration value="SubstituteServiceNotToBeUsed"/>
-            <xsd:enumeration value="PoleLashingEquipmentPleSurcharge"/>
-            <xsd:enumeration value="ConductivityOrAnti-StaticAdditive"/>
-            <xsd:enumeration value="Stop-OffAtDestination"/>
-            <xsd:enumeration value="Stowage"/>
-            <xsd:enumeration value="Stop-OffAtOrigination"/>
-            <xsd:enumeration value="SignatureAndTallyRecord"/>
-            <xsd:enumeration value="SpotForUnloadingFromAEnd"/>
-            <xsd:enumeration value="SpotForUnloadingFromBBrakeEnd"/>
-            <xsd:enumeration value="SupervisorRequested"/>
-            <xsd:enumeration value="StorageOfVehicles"/>
-            <xsd:enumeration value="Truckload-DoubleOperator-CommonCarrier"/>
-            <xsd:enumeration value="Truckload-DoubleOperator-PaddedVan"/>
-            <xsd:enumeration value="TerminalHandlingCharges"/>
-            <xsd:enumeration value="TenderedAsTruckloadTruckloadServiceRequested"/>
-            <xsd:enumeration value="Multi-TankSurveillanceService"/>
-            <xsd:enumeration value="TenderingOfMultipleVehicles"/>
-            <xsd:enumeration value="TrailerOnFlatCar"/>
-            <xsd:enumeration value="ThirdPartyService"/>
-            <xsd:enumeration value="TractorOnly"/>
-            <xsd:enumeration value="TruckRatesApplicable"/>
-            <xsd:enumeration value="TrailerPreparation-Special"/>
-            <xsd:enumeration value="Termination"/>
-            <xsd:enumeration value="TransferProduct"/>
-            <xsd:enumeration value="TireRepairAndReplace"/>
-            <xsd:enumeration value="TradeShow"/>
-            <xsd:enumeration value="TractorAndTrailer"/>
-            <xsd:enumeration value="Truckload-SingleOperator-CommonCarrier"/>
-            <xsd:enumeration value="Truckload-SingleOperator-PaddedVan"/>
-            <xsd:enumeration value="TankSurveillanceService"/>
-            <xsd:enumeration value="UnderCarriageFurnishedByCarrier"/>
-            <xsd:enumeration value="Unpacking"/>
-            <xsd:enumeration value="UnloadingOrReloading"/>
-            <xsd:enumeration value="UtilitiesDisconnectAndConnect"/>
-            <xsd:enumeration value="VacuumService"/>
-            <xsd:enumeration value="RoeeVanTypeTruck"/>
-            <xsd:enumeration value="VanCleaning"/>
-            <xsd:enumeration value="VehiclesFurnishedButNotUsed"/>
-            <xsd:enumeration value="VehiclesInoperable"/>
-            <xsd:enumeration value="Stop-OffDeliveryOfPersonalVehicles"/>
-            <xsd:enumeration value="VehiclesInTruckaway"/>
-            <xsd:enumeration value="Wharfage-Breakbulk"/>
-            <xsd:enumeration value="Wharfage-Container"/>
-            <xsd:enumeration value="WaterfrontDelivery"/>
-            <xsd:enumeration value="Wharfage"/>
-            <xsd:enumeration value="WarRiskCrewBonus"/>
-            <xsd:enumeration value="WarRiskInsurance"/>
-            <xsd:enumeration value="WaitingTimeAuthorized"/>
-            <xsd:enumeration value="WeightVerification"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="AssociatedDocuments">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" ref="ListOfDocumentLoose"/>
-            <xsd:element minOccurs="0" ref="ListOfDocumentAttached"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="AssociatedDocuments" type="AssociatedDocuments"/>
-    <xsd:complexType name="ListOfDocumentLoose">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="DocumentLoose">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="PackageDoc"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfDocumentLoose" type="ListOfDocumentLoose"/>
-    <xsd:complexType name="PackageDoc">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="DocumentTitle" type="xsd:string"/>
-        </xsd:sequence>
-        <xsd:attribute name="DocumentTypeCoded" type="DocumentTypeCode" use="required"/>
-        <xsd:attribute name="DocumentTypeCodedOther" type="xsd:string" use="optional"/>
-    </xsd:complexType>
-    <xsd:element name="PackageDoc" type="PackageDoc"/>
-    <xsd:simpleType name="DocumentTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="CertificateOfAnalysis"/>
-            <xsd:enumeration value="CertificateOfConformity"/>
-            <xsd:enumeration value="CertificateOfQuality"/>
-            <xsd:enumeration value="TestReport"/>
-            <xsd:enumeration value="ProductPerformanceReport"/>
-            <xsd:enumeration value="ProductSpecificationReport"/>
-            <xsd:enumeration value="ProcessDataReport"/>
-            <xsd:enumeration value="FirstSampleTestReport"/>
-            <xsd:enumeration value="PriceSalesCatalogue"/>
-            <xsd:enumeration value="PartyInformation"/>
-            <xsd:enumeration value="FederalLabelApproval"/>
-            <xsd:enumeration value="MillCertificate"/>
-            <xsd:enumeration value="PostReceipt"/>
-            <xsd:enumeration value="WeightCertificate"/>
-            <xsd:enumeration value="WeightList"/>
-            <xsd:enumeration value="Certificate"/>
-            <xsd:enumeration value="CombinedCertificateOfValueAndOrigin"/>
-            <xsd:enumeration value="MovementCertificateATr1"/>
-            <xsd:enumeration value="CertificateOfQuantity"/>
-            <xsd:enumeration value="QualityDataMessage"/>
-            <xsd:enumeration value="Query"/>
-            <xsd:enumeration value="ResponseToQuery"/>
-            <xsd:enumeration value="StatusInformation"/>
-            <xsd:enumeration value="Restow"/>
-            <xsd:enumeration value="ContainerDischargeList"/>
-            <xsd:enumeration value="CorporateSuperannuationContributionsAdvice"/>
-            <xsd:enumeration value="IndustrySuperannuationContributionsAdvice"/>
-            <xsd:enumeration value="CorporateSuperannuationMemberMaintenanceMessage"/>
-            <xsd:enumeration value="IndustrySuperannuationMemberMaintenanceMessage"/>
-            <xsd:enumeration value="LifeInsurancePayrollDeductionsAdvice"/>
-            <xsd:enumeration value="UnderbondRequest"/>
-            <xsd:enumeration value="UnderbondApproval"/>
-            <xsd:enumeration value="CertificateOfSealingOfExportMeatLockers"/>
-            <xsd:enumeration value="CargoStatus"/>
-            <xsd:enumeration value="InventoryReport"/>
-            <xsd:enumeration value="IdentityCard"/>
-            <xsd:enumeration value="ResponseToATradeStatisticsMessage"/>
-            <xsd:enumeration value="VaccinationCertificate"/>
-            <xsd:enumeration value="Passport"/>
-            <xsd:enumeration value="DrivingLicenceNational"/>
-            <xsd:enumeration value="DrivingLicenceInternational"/>
-            <xsd:enumeration value="FreePass"/>
-            <xsd:enumeration value="SeasonTicket"/>
-            <xsd:enumeration value="TransportStatusReport"/>
-            <xsd:enumeration value="TransportStatusRequest"/>
-            <xsd:enumeration value="BankingStatus"/>
-            <xsd:enumeration value="Extra-CommunityTradeStatisticalDeclaration"/>
-            <xsd:enumeration value="WrittenInstructionsInConformanceWithAdrArticleNumber"/>
-            <xsd:enumeration value="DamageCertification"/>
-            <xsd:enumeration value="ValidatedPricedTender"/>
-            <xsd:enumeration value="PriceSalesCatalogueResponse"/>
-            <xsd:enumeration value="PriceNegotiationResult"/>
-            <xsd:enumeration value="SafetyAndHazardDataSheet"/>
-            <xsd:enumeration value="LegalStatementOfAnAccount"/>
-            <xsd:enumeration value="ListingStatementOfAnAccount"/>
-            <xsd:enumeration value="ClosingStatementOfAnAccount"/>
-            <xsd:enumeration value="TransportEquipmentOn-HireReport"/>
-            <xsd:enumeration value="TransportEquipmentOff-HireReport"/>
-            <xsd:enumeration value="Treatment-NilOutturn"/>
-            <xsd:enumeration value="Treatment-Time-UpUnderbond"/>
-            <xsd:enumeration value="Treatment-UnderbondBySea"/>
-            <xsd:enumeration value="Treatment-PersonalEffect"/>
-            <xsd:enumeration value="Treatment-Timber"/>
-            <xsd:enumeration value="PreliminaryCreditAssessment"/>
-            <xsd:enumeration value="CreditCover"/>
-            <xsd:enumeration value="CurrentAccount"/>
-            <xsd:enumeration value="CommercialDispute"/>
-            <xsd:enumeration value="Chargeback"/>
-            <xsd:enumeration value="Reassignment"/>
-            <xsd:enumeration value="CollateralAccount"/>
-            <xsd:enumeration value="RequestForPayment"/>
-            <xsd:enumeration value="UnshipPermit"/>
-            <xsd:enumeration value="StatisticalDefinitions"/>
-            <xsd:enumeration value="StatisticalData"/>
-            <xsd:enumeration value="RequestForStatisticalData"/>
-            <xsd:enumeration value="Call-OffDelivery"/>
-            <xsd:enumeration value="ConsignmentStatusReport"/>
-            <xsd:enumeration value="InventoryMovementAdvice"/>
-            <xsd:enumeration value="InventoryStatusAdvice"/>
-            <xsd:enumeration value="DebitNoteRelatedToGoodsOrServices"/>
-            <xsd:enumeration value="CreditNoteRelatedToGoodsOrServices"/>
-            <xsd:enumeration value="MeteredServicesInvoice"/>
-            <xsd:enumeration value="CreditNoteRelatedToFinancialAdjustments"/>
-            <xsd:enumeration value="DebitNoteRelatedToFinancialAdjustments"/>
-            <xsd:enumeration value="CustomsManifest"/>
-            <xsd:enumeration value="VesselUnpackReport"/>
-            <xsd:enumeration value="GeneralCargoSummaryManifestReport"/>
-            <xsd:enumeration value="ConsignmentUnpackReport"/>
-            <xsd:enumeration value="MeatAndMeatBy-ProductsSanitaryCertificate"/>
-            <xsd:enumeration value="MeatFoodProductsSanitaryCertificate"/>
-            <xsd:enumeration value="PoultrySanitaryCertificate"/>
-            <xsd:enumeration value="HorsemeatSanitaryCertificate"/>
-            <xsd:enumeration value="CasingSanitaryCertificate"/>
-            <xsd:enumeration value="PharmaceuticalSanitaryCertificate"/>
-            <xsd:enumeration value="InedibleSanitaryCertificate"/>
-            <xsd:enumeration value="ImpendingArrival"/>
-            <xsd:enumeration value="MeansOfTransportAdvice"/>
-            <xsd:enumeration value="ArrivalInformation"/>
-            <xsd:enumeration value="CargoReleaseNotification"/>
-            <xsd:enumeration value="ExciseCertificate"/>
-            <xsd:enumeration value="RegistrationDocument"/>
-            <xsd:enumeration value="TaxNotification"/>
-            <xsd:enumeration value="TransportEquipmentDirectInterchangeReport"/>
-            <xsd:enumeration value="TransportEquipmentImpendingArrivalAdvice"/>
-            <xsd:enumeration value="PurchaseOrder"/>
-            <xsd:enumeration value="TransportEquipmentDamageReport"/>
-            <xsd:enumeration value="TransportEquipmentMaintenanceAndRepairWorkEstimateAdvice"/>
-            <xsd:enumeration value="TransportEquipmentEmptyReleaseInstruction"/>
-            <xsd:enumeration value="TransportMovementGateInReport"/>
-            <xsd:enumeration value="ManufacturingInstructions"/>
-            <xsd:enumeration value="TransportMovementGateOutReport"/>
-            <xsd:enumeration value="TransportEquipmentUnpackingInstruction"/>
-            <xsd:enumeration value="TransportEquipmentUnpackingReport"/>
-            <xsd:enumeration value="TransportEquipmentPick-UpAvailabilityRequest"/>
-            <xsd:enumeration value="TransportEquipmentPick-UpAvailabilityConfirmation"/>
-            <xsd:enumeration value="TransportEquipmentPick-UpReport"/>
-            <xsd:enumeration value="TransportEquipmentShiftReport"/>
-            <xsd:enumeration value="TransportDischargeInstruction"/>
-            <xsd:enumeration value="TransportDischargeReport"/>
-            <xsd:enumeration value="StoresRequisition"/>
-            <xsd:enumeration value="TransportLoadingInstruction"/>
-            <xsd:enumeration value="TransportLoadingReport"/>
-            <xsd:enumeration value="TransportEquipmentMaintenanceAndRepairWork"/>
-            <xsd:enumeration value="TransportDepartureReport"/>
-            <xsd:enumeration value="TransportEmptyEquipmentAdvice"/>
-            <xsd:enumeration value="TransportEquipmentAcceptanceOrder"/>
-            <xsd:enumeration value="TransportEquipmentSpecialServiceInstruction"/>
-            <xsd:enumeration value="TransportEquipmentStockReport"/>
-            <xsd:enumeration value="TransportCargoReleaseOrder"/>
-            <xsd:enumeration value="InvoicingDataSheet"/>
-            <xsd:enumeration value="TransportEquipmentPackingInstruction"/>
-            <xsd:enumeration value="CustomsClearanceNotice"/>
-            <xsd:enumeration value="CustomsDocumentsExpirationNotice"/>
-            <xsd:enumeration value="TransportEquipmentOn-HireRequest"/>
-            <xsd:enumeration value="TransportEquipmentOn-HireOrder"/>
-            <xsd:enumeration value="TransportEquipmentOff-HireRequest"/>
-            <xsd:enumeration value="TransportEquipmentSurveyOrder"/>
-            <xsd:enumeration value="TransportEquipmentSurveyOrderResponse"/>
-            <xsd:enumeration value="TransportEquipmentSurveyReport"/>
-            <xsd:enumeration value="PackingInstructions"/>
-            <xsd:enumeration value="AdvisingItemsToBeBookedToAFinancialAccount"/>
-            <xsd:enumeration value="TransportEquipmentMaintenanceAndRepairWorkEstimateOrder"/>
-            <xsd:enumeration value="TransportEquipmentMaintenanceAndRepairNotice"/>
-            <xsd:enumeration value="EmptyContainerDispositionOrder"/>
-            <xsd:enumeration value="CargoVesselDischargeOrder"/>
-            <xsd:enumeration value="CargoVesselLoadingOrder"/>
-            <xsd:enumeration value="MultidropOrder"/>
-            <xsd:enumeration value="BailmentContract"/>
-            <xsd:enumeration value="BasicAgreement"/>
-            <xsd:enumeration value="InternalTransportOrder"/>
-            <xsd:enumeration value="Grant"/>
-            <xsd:enumeration value="IndefiniteDeliveryIndefiniteQuantityContract"/>
-            <xsd:enumeration value="IndefiniteDeliveryDefiniteQuantityContract"/>
-            <xsd:enumeration value="RequirementsContract"/>
-            <xsd:enumeration value="TaskOrder"/>
-            <xsd:enumeration value="MakeOrBuyPlan"/>
-            <xsd:enumeration value="SubcontractorPlan"/>
-            <xsd:enumeration value="CostDataSummary"/>
-            <xsd:enumeration value="CertifiedCostAndPriceData"/>
-            <xsd:enumeration value="WageDetermination"/>
-            <xsd:enumeration value="ContractFundsStatusReportCfsr"/>
-            <xsd:enumeration value="CertifiedInspectionAndTestResults"/>
-            <xsd:enumeration value="MaterialInspectionAndReceivingReport"/>
-            <xsd:enumeration value="PurchasingSpecification"/>
-            <xsd:enumeration value="PaymentOrPerformanceBond"/>
-            <xsd:enumeration value="ContractSecurityClassificationSpecification"/>
-            <xsd:enumeration value="ManufacturingSpecification"/>
-            <xsd:enumeration value="BuyAmericaCertificateOfCompliance"/>
-            <xsd:enumeration value="ContainerOff-HireNotice"/>
-            <xsd:enumeration value="CargoAcceptanceOrder"/>
-            <xsd:enumeration value="Pick-UpNotice"/>
-            <xsd:enumeration value="AuthorisationToPlanAndSuggestOrders"/>
-            <xsd:enumeration value="AuthorisationToPlanAndShipOrders"/>
-            <xsd:enumeration value="Drawing"/>
-            <xsd:enumeration value="CostPerformanceReportCprFormat2"/>
-            <xsd:enumeration value="CostScheduleStatusReportCssr"/>
-            <xsd:enumeration value="CostPerformanceReportCprFormat1"/>
-            <xsd:enumeration value="CostPerformanceReportCprFormat3"/>
-            <xsd:enumeration value="CostPerformanceReportCprFormat4"/>
-            <xsd:enumeration value="CostPerformanceReportCprFormat5"/>
-            <xsd:enumeration value="ProgressiveDischargeReport"/>
-            <xsd:enumeration value="BalanceConfirmation"/>
-            <xsd:enumeration value="ContainerStrippingOrder"/>
-            <xsd:enumeration value="ContainerStuffingOrder"/>
-            <xsd:enumeration value="ConveyanceDeclarationArrival"/>
-            <xsd:enumeration value="ConveyanceDeclarationDeparture"/>
-            <xsd:enumeration value="ConveyanceDeclarationCombined"/>
-            <xsd:enumeration value="ProjectRecoveryPlan"/>
-            <xsd:enumeration value="ProjectProductionPlan"/>
-            <xsd:enumeration value="StatisticalAndOtherAdministrativeInternalDocuments"/>
-            <xsd:enumeration value="ProjectMasterSchedule"/>
-            <xsd:enumeration value="PricedAlternateTenderBillOfQuantity"/>
-            <xsd:enumeration value="EstimatedPricedBillOfQuantity"/>
-            <xsd:enumeration value="DraftBillOfQuantity"/>
-            <xsd:enumeration value="DocumentaryCreditCollectionInstruction"/>
-            <xsd:enumeration value="RequestForAnAmendmentOfADocumentaryCredit"/>
-            <xsd:enumeration value="DocumentaryCreditAmendmentInformation"/>
-            <xsd:enumeration value="AdviceOfAnAmendmentOfADocumentaryCredit"/>
-            <xsd:enumeration value="ResponseToAnAmendmentOfADocumentaryCredit"/>
-            <xsd:enumeration value="DocumentaryCreditIssuanceInformation"/>
-            <xsd:enumeration value="DirectPaymentValuationRequest"/>
-            <xsd:enumeration value="DirectPaymentValuation"/>
-            <xsd:enumeration value="ProvisionalPaymentValuation"/>
-            <xsd:enumeration value="PaymentValuation"/>
-            <xsd:enumeration value="QuantityValuation"/>
-            <xsd:enumeration value="QuantityValuationRequest"/>
-            <xsd:enumeration value="ContractBillOfQuantities-Boq"/>
-            <xsd:enumeration value="UnpricedBillOfQuantity"/>
-            <xsd:enumeration value="PricedTenderBoq"/>
-            <xsd:enumeration value="Enquiry"/>
-            <xsd:enumeration value="InterimApplicationForPayment"/>
-            <xsd:enumeration value="AgreementToPay"/>
-            <xsd:enumeration value="RequestForFinancialCancellation"/>
-            <xsd:enumeration value="Pre-AuthorisedDirectDebits"/>
-            <xsd:enumeration value="LetterOfIntent"/>
-            <xsd:enumeration value="ApprovedUnpricedBillOfQuantity"/>
-            <xsd:enumeration value="PaymentValuationForUnscheduledItems"/>
-            <xsd:enumeration value="FinalPaymentRequestBasedOnCompletionOfWork"/>
-            <xsd:enumeration value="PaymentRequestForCompletedUnits"/>
-            <xsd:enumeration value="Order"/>
-            <xsd:enumeration value="BlanketOrder"/>
-            <xsd:enumeration value="SpotOrder"/>
-            <xsd:enumeration value="LeaseOrder"/>
-            <xsd:enumeration value="RushOrder"/>
-            <xsd:enumeration value="RepairOrder"/>
-            <xsd:enumeration value="CallOffOrder"/>
-            <xsd:enumeration value="ConsignmentOrder"/>
-            <xsd:enumeration value="SampleOrder"/>
-            <xsd:enumeration value="SwapOrder"/>
-            <xsd:enumeration value="PurchaseOrderChangeRequest"/>
-            <xsd:enumeration value="PurchaseOrderResponse"/>
-            <xsd:enumeration value="HireOrder"/>
-            <xsd:enumeration value="SparePartsOrder"/>
-            <xsd:enumeration value="CampaignPriceSalesCatalogue"/>
-            <xsd:enumeration value="ContainerList"/>
-            <xsd:enumeration value="DeliveryForecast"/>
-            <xsd:enumeration value="CrossDockingServicesOrder"/>
-            <xsd:enumeration value="Non-Pre-AuthorisedDirectDebits"/>
-            <xsd:enumeration value="RejectedDirectDebits"/>
-            <xsd:enumeration value="DeliveryInstructions"/>
-            <xsd:enumeration value="DeliverySchedule"/>
-            <xsd:enumeration value="DeliveryJust-In-Time"/>
-            <xsd:enumeration value="Pre-AuthorisedDirectDebitRequests"/>
-            <xsd:enumeration value="Non-Pre-AuthorisedDirectDebitRequests"/>
-            <xsd:enumeration value="DeliveryRelease"/>
-            <xsd:enumeration value="SettlementOfALetterOfCredit"/>
-            <xsd:enumeration value="BankToBankFundsTransfer"/>
-            <xsd:enumeration value="CustomerPaymentOrders"/>
-            <xsd:enumeration value="LowValuePaymentOrders"/>
-            <xsd:enumeration value="CrewListDeclaration"/>
-            <xsd:enumeration value="Inquiry"/>
-            <xsd:enumeration value="ResponseToPreviousBankingStatusMessage"/>
-            <xsd:enumeration value="ProjectMasterPlan"/>
-            <xsd:enumeration value="ProjectPlan"/>
-            <xsd:enumeration value="ProjectSchedule"/>
-            <xsd:enumeration value="ProjectPlanningAvailableResources"/>
-            <xsd:enumeration value="ProjectPlanningCalendar"/>
-            <xsd:enumeration value="StandingOrder"/>
-            <xsd:enumeration value="CargoMovementEventLog"/>
-            <xsd:enumeration value="CargoAnalysisVoyageReport"/>
-            <xsd:enumeration value="SelfBilledCreditNote"/>
-            <xsd:enumeration value="ConsolidatedCreditNote-GoodsAndServices"/>
-            <xsd:enumeration value="InventoryAdjustmentStatusReport"/>
-            <xsd:enumeration value="TransportEquipmentMovementInstruction"/>
-            <xsd:enumeration value="TransportEquipmentMovementReport"/>
-            <xsd:enumeration value="TransportEquipmentStatusChangeReport"/>
-            <xsd:enumeration value="FumigationCertificate"/>
-            <xsd:enumeration value="WineCertificate"/>
-            <xsd:enumeration value="WoolHealthCertificate"/>
-            <xsd:enumeration value="DeliveryNote"/>
-            <xsd:enumeration value="PackingList"/>
-            <xsd:enumeration value="NewCodeRequest"/>
-            <xsd:enumeration value="CodeChangeRequest"/>
-            <xsd:enumeration value="SimpleDataElementRequest"/>
-            <xsd:enumeration value="SimpleDataElementChangeRequest"/>
-            <xsd:enumeration value="CompositeDataElementRequest"/>
-            <xsd:enumeration value="CompositeDataElementChangeRequest"/>
-            <xsd:enumeration value="SegmentRequest"/>
-            <xsd:enumeration value="SegmentChangeRequest"/>
-            <xsd:enumeration value="NewMessageRequest"/>
-            <xsd:enumeration value="MessageInDevelopmentRequest"/>
-            <xsd:enumeration value="ModificationOfExistingMessage"/>
-            <xsd:enumeration value="TrackingNumberAssignmentReport"/>
-            <xsd:enumeration value="UserDirectoryDefinition"/>
-            <xsd:enumeration value="UnitedNationsStandardMessageRequest"/>
-            <xsd:enumeration value="ServiceDirectoryDefinition"/>
-            <xsd:enumeration value="StatusReport"/>
-            <xsd:enumeration value="KanbanSchedule"/>
-            <xsd:enumeration value="ProductDataMessage"/>
-            <xsd:enumeration value="AClaimForPartsAndOrLabourCharges"/>
-            <xsd:enumeration value="DeliveryScheduleResponse"/>
-            <xsd:enumeration value="InspectionRequest"/>
-            <xsd:enumeration value="InspectionReport"/>
-            <xsd:enumeration value="ApplicationAcknowledgementAndErrorReport"/>
-            <xsd:enumeration value="PriceVariationInvoice"/>
-            <xsd:enumeration value="CreditNoteForPriceVariation"/>
-            <xsd:enumeration value="InstructionToCollect"/>
-            <xsd:enumeration value="DangerousGoodsList"/>
-            <xsd:enumeration value="RegistrationRenewal"/>
-            <xsd:enumeration value="RegistrationChange"/>
-            <xsd:enumeration value="ResponseToRegistration"/>
-            <xsd:enumeration value="ImplementationGuideline"/>
-            <xsd:enumeration value="RequestForTransfer"/>
-            <xsd:enumeration value="CostPerformanceReport"/>
-            <xsd:enumeration value="ApplicationErrorAndAcknowledgement"/>
-            <xsd:enumeration value="CashPoolFinancialStatement"/>
-            <xsd:enumeration value="SequencedDeliverySchedule"/>
-            <xsd:enumeration value="DelcredereCreditNote"/>
-            <xsd:enumeration value="OfferQuotation"/>
-            <xsd:enumeration value="RequestForQuote"/>
-            <xsd:enumeration value="AcknowledgementMessage"/>
-            <xsd:enumeration value="ApplicationErrorMessage"/>
-            <xsd:enumeration value="CargoMovementVoyageSummary"/>
-            <xsd:enumeration value="Contract"/>
-            <xsd:enumeration value="ApplicationForUsageOfBerthOrMooringFacilities"/>
-            <xsd:enumeration value="ApplicationForDesignationOfBerthingPlaces"/>
-            <xsd:enumeration value="ApplicationForShiftingFromTheDesignatedPlaceInPort"/>
-            <xsd:enumeration value="SupplementaryDocumentForApplicationForCargoOperationOfDangerousGoods"/>
-            <xsd:enumeration value="AcknowledgementOfOrder"/>
-            <xsd:enumeration value="SupplementaryDocumentForApplicationForTransportOfDangerousGoods"/>
-            <xsd:enumeration value="OpticalCharacterReadingOcrPayment"/>
-            <xsd:enumeration value="PreliminarySalesReport"/>
-            <xsd:enumeration value="TransportEmergencyCard"/>
-            <xsd:enumeration value="ProformaInvoice"/>
-            <xsd:enumeration value="PartialInvoice"/>
-            <xsd:enumeration value="OperatingInstructions"/>
-            <xsd:enumeration value="NameProductPlate"/>
-            <xsd:enumeration value="Co-InsuranceCedingBordereau"/>
-            <xsd:enumeration value="RequestForDeliveryInstructions"/>
-            <xsd:enumeration value="CommercialInvoiceWhichIncludesAPackingList"/>
-            <xsd:enumeration value="TradeData"/>
-            <xsd:enumeration value="CustomsDeclarationForCargoExamination"/>
-            <xsd:enumeration value="CustomsDeclarationForCargoExaminationAlternate"/>
-            <xsd:enumeration value="BookingRequest"/>
-            <xsd:enumeration value="CustomsCrewAndConveyance"/>
-            <xsd:enumeration value="CustomsSummaryDeclarationWithCommercialDetailAlternate"/>
-            <xsd:enumeration value="ItemsBookedToAFinancialAccountReport"/>
-            <xsd:enumeration value="ReportOfTransactionsWhichNeedFurtherInformationFromTheReceiver"/>
-            <xsd:enumeration value="ShippingInstructions"/>
-            <xsd:enumeration value="ShippersLetterOfInstructionsAir"/>
-            <xsd:enumeration value="ReportOfTransactionsForInformationOnly"/>
-            <xsd:enumeration value="CartageOrderLocalTransport"/>
-            <xsd:enumeration value="EdiAssociatedObjectAdministrationMessage"/>
-            <xsd:enumeration value="ReadyForDespatchAdvice"/>
-            <xsd:enumeration value="SummarySalesReport"/>
-            <xsd:enumeration value="OrderStatusEnquiry"/>
-            <xsd:enumeration value="OrderStatusReport"/>
-            <xsd:enumeration value="DeclarationRegardingTheInwardAndOutwardMovementOfVessel"/>
-            <xsd:enumeration value="DespatchOrder"/>
-            <xsd:enumeration value="DespatchAdvice"/>
-            <xsd:enumeration value="NotificationOfUsageOfBerthOrMooringFacilities"/>
-            <xsd:enumeration value="ApplicationForVesselsEnteringIntoPortAreaInNight-Time"/>
-            <xsd:enumeration value="NotificationOfEmergencyShiftingFromTheDesignatedPlaceInPort"/>
-            <xsd:enumeration value="CustomsSummaryDeclarationWithoutCommercialDetailAlternate"/>
-            <xsd:enumeration value="PerformanceBond"/>
-            <xsd:enumeration value="PaymentBond"/>
-            <xsd:enumeration value="AdviceOfDistributionOfDocuments"/>
-            <xsd:enumeration value="CommercialInvoice"/>
-            <xsd:enumeration value="CreditNote"/>
-            <xsd:enumeration value="CommissionNote"/>
-            <xsd:enumeration value="DebitNote"/>
-            <xsd:enumeration value="CorrectedInvoice"/>
-            <xsd:enumeration value="ConsolidatedInvoice"/>
-            <xsd:enumeration value="PrepaymentInvoice"/>
-            <xsd:enumeration value="HireInvoice"/>
-            <xsd:enumeration value="TaxInvoice"/>
-            <xsd:enumeration value="Self-BilledInvoice"/>
-            <xsd:enumeration value="DelcredereInvoice"/>
-            <xsd:enumeration value="FactoredInvoice"/>
-            <xsd:enumeration value="LeaseInvoice"/>
-            <xsd:enumeration value="ConsignmentInvoice"/>
-            <xsd:enumeration value="FactoredCreditNote"/>
-            <xsd:enumeration value="CommercialAccountSummaryResponse"/>
-            <xsd:enumeration value="CrossDockingDespatchAdvice"/>
-            <xsd:enumeration value="TransshipmentDespatchAdvice"/>
-            <xsd:enumeration value="ExceptionalOrder"/>
-            <xsd:enumeration value="TransshipmentOrder"/>
-            <xsd:enumeration value="CrossDockingOrder"/>
-            <xsd:enumeration value="MeansOfTransportationAvailabilityInformation"/>
-            <xsd:enumeration value="MeansOfTransportationScheduleInformation"/>
-            <xsd:enumeration value="TransportEquipmentDeliveryNotice"/>
-            <xsd:enumeration value="InstructionsForBankTransfer"/>
-            <xsd:enumeration value="ApplicationForBankersDraft"/>
-            <xsd:enumeration value="CollectionPaymentAdvice"/>
-            <xsd:enumeration value="DocumentaryCreditPaymentAdvice"/>
-            <xsd:enumeration value="DocumentaryCreditAcceptanceAdvice"/>
-            <xsd:enumeration value="DocumentaryCreditNegotiationAdvice"/>
-            <xsd:enumeration value="ApplicationForBankersGuarantee"/>
-            <xsd:enumeration value="BankersGuarantee"/>
-            <xsd:enumeration value="DocumentaryCreditLetterOfIndemnity"/>
-            <xsd:enumeration value="PreadviceOfACredit"/>
-            <xsd:enumeration value="CollectionOrder"/>
-            <xsd:enumeration value="DocumentsPresentationForm"/>
-            <xsd:enumeration value="PaymentOrder"/>
-            <xsd:enumeration value="ExtendedPaymentOrder"/>
-            <xsd:enumeration value="MultiplePaymentOrder"/>
-            <xsd:enumeration value="CreditAdvice"/>
-            <xsd:enumeration value="ExtendedCreditAdvice"/>
-            <xsd:enumeration value="DebitAdvice"/>
-            <xsd:enumeration value="ReversalOfDebit"/>
-            <xsd:enumeration value="ReversalOfCredit"/>
-            <xsd:enumeration value="DocumentaryCreditApplication"/>
-            <xsd:enumeration value="DocumentaryCredit"/>
-            <xsd:enumeration value="DocumentaryCreditNotification"/>
-            <xsd:enumeration value="DocumentaryCreditTransferAdvice"/>
-            <xsd:enumeration value="DocumentaryCreditAmendmentNotification"/>
-            <xsd:enumeration value="DocumentaryCreditAmendment"/>
-            <xsd:enumeration value="RemittanceAdvice"/>
-            <xsd:enumeration value="BankersDraft"/>
-            <xsd:enumeration value="BillOfExchange"/>
-            <xsd:enumeration value="PromissoryNote"/>
-            <xsd:enumeration value="FinancialStatementOfAccount"/>
-            <xsd:enumeration value="StatementOfAccountMessage"/>
-            <xsd:enumeration value="InsuranceCertificate"/>
-            <xsd:enumeration value="InsurancePolicy"/>
-            <xsd:enumeration value="InsuranceDeclarationSheetBordereau"/>
-            <xsd:enumeration value="InsurersInvoice"/>
-            <xsd:enumeration value="CoverNote"/>
-            <xsd:enumeration value="ForwardingInstructions"/>
-            <xsd:enumeration value="ForwardersAdviceToImportAgent"/>
-            <xsd:enumeration value="ForwardersAdviceToExporter"/>
-            <xsd:enumeration value="ForwardersInvoice"/>
-            <xsd:enumeration value="ForwardersCertificateOfReceipt"/>
-            <xsd:enumeration value="ShippingNote"/>
-            <xsd:enumeration value="ForwardersWarehouseReceipt"/>
-            <xsd:enumeration value="GoodsReceipt"/>
-            <xsd:enumeration value="PortChargesDocuments"/>
-            <xsd:enumeration value="WarehouseWarrant"/>
-            <xsd:enumeration value="DeliveryOrder"/>
-            <xsd:enumeration value="HandlingOrder"/>
-            <xsd:enumeration value="GatePass"/>
-            <xsd:enumeration value="Waybill"/>
-            <xsd:enumeration value="UniversalMultipurposeTransportDocument"/>
-            <xsd:enumeration value="GoodsReceiptCarriage"/>
-            <xsd:enumeration value="HouseWaybill"/>
-            <xsd:enumeration value="MasterBillOfLading"/>
-            <xsd:enumeration value="BillOfLading"/>
-            <xsd:enumeration value="BillOfLadingOriginal"/>
-            <xsd:enumeration value="BillOfLadingCopy"/>
-            <xsd:enumeration value="EmptyContainerBill"/>
-            <xsd:enumeration value="TankerBillOfLading"/>
-            <xsd:enumeration value="SeaWaybill"/>
-            <xsd:enumeration value="InlandWaterwayBillOfLading"/>
-            <xsd:enumeration value="Non-NegotiableMaritimeTransportDocumentGeneric"/>
-            <xsd:enumeration value="MatesReceipt"/>
-            <xsd:enumeration value="HouseBillOfLading"/>
-            <xsd:enumeration value="LetterOfIndemnityForNon-SurrenderOfBillOfLading"/>
-            <xsd:enumeration value="ForwardersBillOfLading"/>
-            <xsd:enumeration value="RailConsignmentNoteGenericTerm"/>
-            <xsd:enumeration value="RoadList-Smgs"/>
-            <xsd:enumeration value="EscortOfficialRecognition"/>
-            <xsd:enumeration value="RechargingDocument"/>
-            <xsd:enumeration value="RoadConsignmentNote"/>
-            <xsd:enumeration value="AirWaybill"/>
-            <xsd:enumeration value="MasterAirWaybill"/>
-            <xsd:enumeration value="SubstituteAirWaybill"/>
-            <xsd:enumeration value="CrewsEffectsDeclaration"/>
-            <xsd:enumeration value="PassengerList"/>
-            <xsd:enumeration value="DeliveryNoticeRailTransport"/>
-            <xsd:enumeration value="DespatchNotePostParcels"/>
-            <xsd:enumeration value="MultimodalCombinedTransportDocumentGeneric"/>
-            <xsd:enumeration value="ThroughBillOfLading"/>
-            <xsd:enumeration value="ForwardersCertificateOfTransport"/>
-            <xsd:enumeration value="CombinedTransportDocumentGeneric"/>
-            <xsd:enumeration value="MultimodalTransportDocumentGeneric"/>
-            <xsd:enumeration value="CombinedTransportBillOfLadingMultimodalBillOfLading"/>
-            <xsd:enumeration value="BookingConfirmation"/>
-            <xsd:enumeration value="CallingForwardNotice"/>
-            <xsd:enumeration value="FreightInvoice"/>
-            <xsd:enumeration value="ArrivalNoticeGoods"/>
-            <xsd:enumeration value="NoticeOfCircumstancesPreventingDeliveryGoods"/>
-            <xsd:enumeration value="NoticeOfCircumstancesPreventingTransportGoods"/>
-            <xsd:enumeration value="DeliveryNoticeGoods"/>
-            <xsd:enumeration value="CargoManifest"/>
-            <xsd:enumeration value="FreightManifest"/>
-            <xsd:enumeration value="Bordereau"/>
-            <xsd:enumeration value="ContainerManifestUnitPackingList"/>
-            <xsd:enumeration value="ChargesNote"/>
-            <xsd:enumeration value="AdviceOfCollection"/>
-            <xsd:enumeration value="SafetyOfShipCertificate"/>
-            <xsd:enumeration value="SafetyOfRadioCertificate"/>
-            <xsd:enumeration value="SafetyOfEquipmentCertificate"/>
-            <xsd:enumeration value="CivilLiabilityForOilCertificate"/>
-            <xsd:enumeration value="LoadlineDocument"/>
-            <xsd:enumeration value="DeratDocument"/>
-            <xsd:enumeration value="MaritimeDeclarationOfHealth"/>
-            <xsd:enumeration value="CertificateOfRegistry"/>
-            <xsd:enumeration value="ShipsStoresDeclaration"/>
-            <xsd:enumeration value="ExportLicenceApplicationFor"/>
-            <xsd:enumeration value="ExportLicence"/>
-            <xsd:enumeration value="ExchangeControlDeclarationExport"/>
-            <xsd:enumeration value="DespatchNoteModelT"/>
-            <xsd:enumeration value="DespatchNoteModelT1"/>
-            <xsd:enumeration value="DespatchNoteModelT2"/>
-            <xsd:enumeration value="ControlDocumentT5"/>
-            <xsd:enumeration value="Re-SendingConsignmentNote"/>
-            <xsd:enumeration value="DespatchNoteModelT2L"/>
-            <xsd:enumeration value="GoodsDeclarationForExportation"/>
-            <xsd:enumeration value="CargoDeclarationDeparture"/>
-            <xsd:enumeration value="ApplicationForGoodsControlCertificate"/>
-            <xsd:enumeration value="GoodsControlCertificate"/>
-            <xsd:enumeration value="ApplicationForPhytosanitaryCertificate"/>
-            <xsd:enumeration value="PhytosanitaryCertificate"/>
-            <xsd:enumeration value="SanitaryCertificate"/>
-            <xsd:enumeration value="VeterinaryCertificate"/>
-            <xsd:enumeration value="ApplicationForInspectionCertificate"/>
-            <xsd:enumeration value="InspectionCertificate"/>
-            <xsd:enumeration value="CertificateOfOriginApplicationFor"/>
-            <xsd:enumeration value="CertificateOfOrigin"/>
-            <xsd:enumeration value="DeclarationOfOrigin"/>
-            <xsd:enumeration value="RegionalAppellationCertificate"/>
-            <xsd:enumeration value="PreferenceCertificateOfOrigin"/>
-            <xsd:enumeration value="CertificateOfOriginFormGsp"/>
-            <xsd:enumeration value="ConsularInvoice"/>
-            <xsd:enumeration value="DangerousGoodsDeclaration"/>
-            <xsd:enumeration value="StatisticalDocumentExport"/>
-            <xsd:enumeration value="IntrastatDeclaration"/>
-            <xsd:enumeration value="DeliveryVerificationCertificate"/>
-            <xsd:enumeration value="ImportLicenceApplicationFor"/>
-            <xsd:enumeration value="ImportLicence"/>
-            <xsd:enumeration value="CustomsDeclarationWithoutCommercialDetail"/>
-            <xsd:enumeration value="CustomsDeclarationWithCommercialAndItemDetail"/>
-            <xsd:enumeration value="CustomsDeclarationWithoutItemDetail"/>
-            <xsd:enumeration value="RelatedDocument"/>
-            <xsd:enumeration value="ReceiptCustoms"/>
-            <xsd:enumeration value="ApplicationForExchangeAllocation"/>
-            <xsd:enumeration value="ForeignExchangePermit"/>
-            <xsd:enumeration value="ExchangeControlDeclarationImport"/>
-            <xsd:enumeration value="GoodsDeclarationForImportation"/>
-            <xsd:enumeration value="GoodsDeclarationForHomeUse"/>
-            <xsd:enumeration value="CustomsImmediateReleaseDeclaration"/>
-            <xsd:enumeration value="CustomsDeliveryNote"/>
-            <xsd:enumeration value="CargoDeclarationArrival"/>
-            <xsd:enumeration value="ValueDeclaration"/>
-            <xsd:enumeration value="CustomsInvoice"/>
-            <xsd:enumeration value="CustomsDeclarationPostParcels"/>
-            <xsd:enumeration value="TaxDeclarationValueAddedTax"/>
-            <xsd:enumeration value="TaxDeclarationGeneral"/>
-            <xsd:enumeration value="TaxDemand"/>
-            <xsd:enumeration value="EmbargoPermit"/>
-            <xsd:enumeration value="GoodsDeclarationForCustomsTransit"/>
-            <xsd:enumeration value="TifForm"/>
-            <xsd:enumeration value="TirCarnet"/>
-            <xsd:enumeration value="EcCarnet"/>
-            <xsd:enumeration value="Eur1CertificateOfOrigin"/>
-            <xsd:enumeration value="AtaCarnet"/>
-            <xsd:enumeration value="SingleAdministrativeDocument"/>
-            <xsd:enumeration value="GeneralResponseCustoms"/>
-            <xsd:enumeration value="DocumentResponseCustoms"/>
-            <xsd:enumeration value="ErrorResponseCustoms"/>
-            <xsd:enumeration value="PackageResponseCustoms"/>
-            <xsd:enumeration value="TaxCalculationConfirmationResponseCustoms"/>
-            <xsd:enumeration value="QuotaPriorAllocationCertificate"/>
-            <xsd:enumeration value="EndUseAuthorization"/>
-            <xsd:enumeration value="GovernmentContract"/>
-            <xsd:enumeration value="StatisticalDocumentImport"/>
-            <xsd:enumeration value="ApplicationForDocumentaryCredit"/>
-            <xsd:enumeration value="PreviousCustomsDocumentMessage"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfDocumentAttached">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="DocumentAttached">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="PackageDoc"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfDocumentAttached" type="ListOfDocumentAttached"/>
-    <xsd:complexType name="ReturnableContainerInfo">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="ReturnableContainerPartNumber">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="PartNum"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="PaymentResponsibilityCoded" type="PaymentResponsibilityCode"/>
-            <xsd:element minOccurs="0" name="PaymentResponsibilityCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ReturnLoadCoded" type="ReturnLoadCode"/>
-            <xsd:element minOccurs="0" name="ReturnLoadCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ReturnNote" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ReturnableContainerInfo" type="ReturnableContainerInfo"/>
-    <xsd:simpleType name="PaymentResponsibilityCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="PaidByCustomer"/>
-            <xsd:enumeration value="Free"/>
-            <xsd:enumeration value="PaidBySupplier"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="ReturnLoadCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="LoadedEithEmpty4BlockForBlockingPurposes"/>
-            <xsd:enumeration value="EmptyContainerWithDunnage"/>
-            <xsd:enumeration value="EmptyContainer"/>
-            <xsd:enumeration value="LoadedWithProductionMaterial"/>
-            <xsd:enumeration value="MixedEmptyAndLoaded"/>
-            <xsd:enumeration value="ObsoleteMaterial"/>
-            <xsd:enumeration value="LoadedWithExcessReturnedProductionMaterial"/>
-            <xsd:enumeration value="LoadedWithRejectedMaterial"/>
-            <xsd:enumeration value="ServicePartObsoleteContainer"/>
-            <xsd:enumeration value="LoadedWithReturnedProcessedMaterial"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="OrderSummary">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="NumberOfLines" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="TotalTax">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="MonetaryValue"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="TotalAmount">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="MonetaryValue"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="TransportPackagingTotals"/>
-            <xsd:element minOccurs="0" name="SummaryNote" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderSummary" type="OrderSummary"/>
-    <xsd:complexType name="TransportPackagingTotals">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="TotalPackages" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="TotalPackageDepth" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="TotalTransport" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="TotalGrossWeight">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Measurement"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="TotalNetWeight">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Measurement"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="TotalNetNetWeight">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Measurement"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="TotalTareWeight">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Measurement"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="GrossVolume">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Measurement"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TransportPackagingTotals" type="TransportPackagingTotals"/>
-    <!-- SOX format datatypes where they difer from standard XSDL datatypes-->
-    <xsd:simpleType name="xcblDate">
-        <xsd:restriction base="xsd:string">
-            <xsd:pattern value="[0-9]{4}(((01|03|05|07|08|10|12)((0[1-9])|([1-2][0-9])|(3[0-1])))|((04|06|09|11)((0[1-9])|([1-2][0-9])|30))|((02)((0[1-9])|([1-2][0-9]))))"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="xcblTime">
-        <xsd:restriction base="xsd:string">
-            <xsd:pattern value="((([0-1][0-9])|(2[0-3]))(:([0-5][0-9])){2}((\+|-)(([0-1][0-9])|(2[0-3])):([0-5][0-9]))?)"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="xcblDatetime">
-        <xsd:restriction base="xsd:string">
-            <xsd:pattern value="[0-9]{4}(((01|03|05|07|08|10|12)((0[1-9])|([1-2][0-9])|(3[0-1])))|((04|06|09|11)((0[1-9])|([1-2][0-9])|30))|((02)((0[1-9])|([1-2][0-9]))))T((([0-1][0-9])|(2[0-3]))(:([0-5][0-9])){2}((\+|-)(([0-1][0-9])|(2[0-3])):([0-5][0-9]))?)"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="xcblBoolean">
-        <xsd:restriction base="xsd:boolean">
-            <xsd:pattern value="true|false"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="xcblFloat">
-        <xsd:restriction base="xsd:float">
-            <xsd:pattern value="(\+|-)?[0-9]*\.?[0-9]*(E|e)?[0-9]*"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="xcblDouble">
-        <xsd:restriction base="xsd:double">
-            <xsd:pattern value="(\+|-)?[0-9]*\.?[0-9]*(E|e)?[0-9]*"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-</xsd:schema>
diff --git a/v1/test/cases/schema/wli/OrderConfirmation.xsd b/v1/test/cases/schema/wli/OrderConfirmation.xsd
deleted file mode 100644
index 539cd36..0000000
--- a/v1/test/cases/schema/wli/OrderConfirmation.xsd
+++ /dev/null
@@ -1,17056 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="publicid:org.xCBL:schemas/XCBL35/OrderConfirmation.xsd" targetNamespace="publicid:org.xCBL:schemas/XCBL35/OrderConfirmation.xsd" elementFormDefault="qualified">
-    <xsd:annotation>
-        <xsd:documentation xml:lang="en">
-            XML Common Business Library 3.5
-            Copyright 2000 Commerce One, Inc.
-            Permission is granted to use, copy, modify and distribute the
-            DTD's, schemas and modules in the Commerce One XML Common Business
-            Library Version 3.5 subject to the terms and conditions specified
-            at http://www.xcbl.org/license.html
-        </xsd:documentation>
-        <xsd:documentation>
-        	PLEASE NOTE: This schema, whilst it describes in entirety a valid, single,
-        	xCBL 3.5 document, is defined to be in a namespace other than the main xCBL 3.5
-        	namespace. Therefore it is recommended that the full xCBL 3.5 schema is used
-        	for full production situations. Please see the notes at
-        	<a href="http://www.xcbl.org/xcbl35/xsd/schemas.html">www.xCBL.org</a>.
-        </xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexType name="OrderConfirmation">
-        <xsd:sequence>
-            <xsd:element ref="OrderConfirmationHeader"/>
-            <xsd:element ref="OrderConfirmationDetail"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderConfirmation" type="OrderConfirmation"/>
-    <xsd:complexType name="OrderConfirmationHeader">
-        <xsd:sequence>
-            <xsd:element name="SellerOrderConfirmationNumber" type="xsd:string"/>
-            <xsd:element name="SellerOrderNumber" type="xsd:string"/>
-            <xsd:element name="OrderConfirmationIssueDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" ref="OrderConfirmationType"/>
-            <xsd:element minOccurs="0" ref="Language"/>
-            <xsd:element minOccurs="0" ref="Currency"/>
-            <xsd:element minOccurs="0" ref="OrderConfirmationParty"/>
-            <xsd:element minOccurs="0" ref="OrderConfirmationAction"/>
-            <xsd:element minOccurs="0" name="OrderConfirmationHeaderShortDescription" type="AlphaNum40"/>
-            <xsd:element minOccurs="0" name="OrderConfirmationHeaderNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfStructuredNote"/>
-            <xsd:element minOccurs="0" ref="ListOfNameValueSet"/>
-            <xsd:element minOccurs="0" ref="ListOfAttachment"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderConfirmationHeader" type="OrderConfirmationHeader"/>
-    <xsd:complexType name="OrderConfirmationType">
-        <xsd:sequence>
-            <xsd:element name="OrderConfirmationTypeCoded" type="OrderConfirmationTypeCode"/>
-            <xsd:element minOccurs="0" name="OrderConfirmationTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderConfirmationType" type="OrderConfirmationType"/>
-    <xsd:simpleType name="OrderConfirmationTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="OrderConfirmation"/>
-            <xsd:enumeration value="ReturnDelivery"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Language">
-        <xsd:sequence>
-            <xsd:element name="LanguageCoded" type="LanguageCode"/>
-            <xsd:element minOccurs="0" name="LanguageCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="LocaleCoded" type="LocaleCode"/>
-            <xsd:element minOccurs="0" name="LocaleCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-        <xsd:attribute name="LanguageDependent" type="xcblBoolean" use="optional"/>
-    </xsd:complexType>
-    <xsd:element name="Language" type="Language"/>
-    <xsd:simpleType name="LanguageCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="aa"/>
-            <xsd:enumeration value="ab"/>
-            <xsd:enumeration value="af"/>
-            <xsd:enumeration value="am"/>
-            <xsd:enumeration value="ar"/>
-            <xsd:enumeration value="as"/>
-            <xsd:enumeration value="ay"/>
-            <xsd:enumeration value="az"/>
-            <xsd:enumeration value="ba"/>
-            <xsd:enumeration value="be"/>
-            <xsd:enumeration value="bg"/>
-            <xsd:enumeration value="bh"/>
-            <xsd:enumeration value="bi"/>
-            <xsd:enumeration value="bn"/>
-            <xsd:enumeration value="bo"/>
-            <xsd:enumeration value="br"/>
-            <xsd:enumeration value="ca"/>
-            <xsd:enumeration value="co"/>
-            <xsd:enumeration value="cs"/>
-            <xsd:enumeration value="cy"/>
-            <xsd:enumeration value="da"/>
-            <xsd:enumeration value="de"/>
-            <xsd:enumeration value="dz"/>
-            <xsd:enumeration value="el"/>
-            <xsd:enumeration value="en"/>
-            <xsd:enumeration value="eo"/>
-            <xsd:enumeration value="es"/>
-            <xsd:enumeration value="et"/>
-            <xsd:enumeration value="eu"/>
-            <xsd:enumeration value="fa"/>
-            <xsd:enumeration value="fi"/>
-            <xsd:enumeration value="fj"/>
-            <xsd:enumeration value="fo"/>
-            <xsd:enumeration value="fr"/>
-            <xsd:enumeration value="fy"/>
-            <xsd:enumeration value="ga"/>
-            <xsd:enumeration value="gd"/>
-            <xsd:enumeration value="gl"/>
-            <xsd:enumeration value="gn"/>
-            <xsd:enumeration value="gu"/>
-            <xsd:enumeration value="ha"/>
-            <xsd:enumeration value="he"/>
-            <xsd:enumeration value="hi"/>
-            <xsd:enumeration value="hr"/>
-            <xsd:enumeration value="hu"/>
-            <xsd:enumeration value="hy"/>
-            <xsd:enumeration value="ia"/>
-            <xsd:enumeration value="id"/>
-            <xsd:enumeration value="ie"/>
-            <xsd:enumeration value="ik"/>
-            <xsd:enumeration value="is"/>
-            <xsd:enumeration value="it"/>
-            <xsd:enumeration value="iu"/>
-            <xsd:enumeration value="ja"/>
-            <xsd:enumeration value="jw"/>
-            <xsd:enumeration value="ka"/>
-            <xsd:enumeration value="kk"/>
-            <xsd:enumeration value="kl"/>
-            <xsd:enumeration value="km"/>
-            <xsd:enumeration value="kn"/>
-            <xsd:enumeration value="ko"/>
-            <xsd:enumeration value="ks"/>
-            <xsd:enumeration value="ku"/>
-            <xsd:enumeration value="ky"/>
-            <xsd:enumeration value="la"/>
-            <xsd:enumeration value="ln"/>
-            <xsd:enumeration value="lo"/>
-            <xsd:enumeration value="lt"/>
-            <xsd:enumeration value="lv"/>
-            <xsd:enumeration value="mg"/>
-            <xsd:enumeration value="mi"/>
-            <xsd:enumeration value="mk"/>
-            <xsd:enumeration value="ml"/>
-            <xsd:enumeration value="mn"/>
-            <xsd:enumeration value="mo"/>
-            <xsd:enumeration value="mr"/>
-            <xsd:enumeration value="ms"/>
-            <xsd:enumeration value="mt"/>
-            <xsd:enumeration value="my"/>
-            <xsd:enumeration value="na"/>
-            <xsd:enumeration value="ne"/>
-            <xsd:enumeration value="nl"/>
-            <xsd:enumeration value="no"/>
-            <xsd:enumeration value="oc"/>
-            <xsd:enumeration value="om"/>
-            <xsd:enumeration value="or"/>
-            <xsd:enumeration value="pa"/>
-            <xsd:enumeration value="pl"/>
-            <xsd:enumeration value="ps"/>
-            <xsd:enumeration value="pt"/>
-            <xsd:enumeration value="qu"/>
-            <xsd:enumeration value="rm"/>
-            <xsd:enumeration value="rn"/>
-            <xsd:enumeration value="ro"/>
-            <xsd:enumeration value="ru"/>
-            <xsd:enumeration value="rw"/>
-            <xsd:enumeration value="sa"/>
-            <xsd:enumeration value="sd"/>
-            <xsd:enumeration value="sg"/>
-            <xsd:enumeration value="sh"/>
-            <xsd:enumeration value="si"/>
-            <xsd:enumeration value="sk"/>
-            <xsd:enumeration value="sl"/>
-            <xsd:enumeration value="sm"/>
-            <xsd:enumeration value="sn"/>
-            <xsd:enumeration value="so"/>
-            <xsd:enumeration value="sq"/>
-            <xsd:enumeration value="sr"/>
-            <xsd:enumeration value="ss"/>
-            <xsd:enumeration value="st"/>
-            <xsd:enumeration value="su"/>
-            <xsd:enumeration value="sv"/>
-            <xsd:enumeration value="sw"/>
-            <xsd:enumeration value="ta"/>
-            <xsd:enumeration value="te"/>
-            <xsd:enumeration value="tg"/>
-            <xsd:enumeration value="th"/>
-            <xsd:enumeration value="ti"/>
-            <xsd:enumeration value="tk"/>
-            <xsd:enumeration value="tl"/>
-            <xsd:enumeration value="tn"/>
-            <xsd:enumeration value="to"/>
-            <xsd:enumeration value="tr"/>
-            <xsd:enumeration value="ts"/>
-            <xsd:enumeration value="tt"/>
-            <xsd:enumeration value="tw"/>
-            <xsd:enumeration value="ug"/>
-            <xsd:enumeration value="uk"/>
-            <xsd:enumeration value="ur"/>
-            <xsd:enumeration value="uz"/>
-            <xsd:enumeration value="vi"/>
-            <xsd:enumeration value="vo"/>
-            <xsd:enumeration value="wo"/>
-            <xsd:enumeration value="xh"/>
-            <xsd:enumeration value="yi"/>
-            <xsd:enumeration value="yo"/>
-            <xsd:enumeration value="za"/>
-            <xsd:enumeration value="zh"/>
-            <xsd:enumeration value="zu"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="LocaleCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="ae"/>
-            <xsd:enumeration value="af"/>
-            <xsd:enumeration value="ag"/>
-            <xsd:enumeration value="ai"/>
-            <xsd:enumeration value="al"/>
-            <xsd:enumeration value="am"/>
-            <xsd:enumeration value="an"/>
-            <xsd:enumeration value="ao"/>
-            <xsd:enumeration value="aq"/>
-            <xsd:enumeration value="ar"/>
-            <xsd:enumeration value="as"/>
-            <xsd:enumeration value="at"/>
-            <xsd:enumeration value="au"/>
-            <xsd:enumeration value="aw"/>
-            <xsd:enumeration value="az"/>
-            <xsd:enumeration value="ba"/>
-            <xsd:enumeration value="bb"/>
-            <xsd:enumeration value="bd"/>
-            <xsd:enumeration value="be"/>
-            <xsd:enumeration value="bf"/>
-            <xsd:enumeration value="bg"/>
-            <xsd:enumeration value="bh"/>
-            <xsd:enumeration value="bi"/>
-            <xsd:enumeration value="bj"/>
-            <xsd:enumeration value="bm"/>
-            <xsd:enumeration value="bn"/>
-            <xsd:enumeration value="bo"/>
-            <xsd:enumeration value="br"/>
-            <xsd:enumeration value="bs"/>
-            <xsd:enumeration value="bt"/>
-            <xsd:enumeration value="bu"/>
-            <xsd:enumeration value="bw"/>
-            <xsd:enumeration value="by"/>
-            <xsd:enumeration value="bz"/>
-            <xsd:enumeration value="ca"/>
-            <xsd:enumeration value="cc"/>
-            <xsd:enumeration value="cd"/>
-            <xsd:enumeration value="cf"/>
-            <xsd:enumeration value="cg"/>
-            <xsd:enumeration value="ch"/>
-            <xsd:enumeration value="ci"/>
-            <xsd:enumeration value="ck"/>
-            <xsd:enumeration value="cl"/>
-            <xsd:enumeration value="cm"/>
-            <xsd:enumeration value="cn"/>
-            <xsd:enumeration value="co"/>
-            <xsd:enumeration value="cr"/>
-            <xsd:enumeration value="cs"/>
-            <xsd:enumeration value="cu"/>
-            <xsd:enumeration value="cv"/>
-            <xsd:enumeration value="cx"/>
-            <xsd:enumeration value="cy"/>
-            <xsd:enumeration value="cz"/>
-            <xsd:enumeration value="de"/>
-            <xsd:enumeration value="dj"/>
-            <xsd:enumeration value="dk"/>
-            <xsd:enumeration value="dm"/>
-            <xsd:enumeration value="do"/>
-            <xsd:enumeration value="dz"/>
-            <xsd:enumeration value="ec"/>
-            <xsd:enumeration value="ee"/>
-            <xsd:enumeration value="eg"/>
-            <xsd:enumeration value="eh"/>
-            <xsd:enumeration value="er"/>
-            <xsd:enumeration value="es"/>
-            <xsd:enumeration value="et"/>
-            <xsd:enumeration value="fi"/>
-            <xsd:enumeration value="fj"/>
-            <xsd:enumeration value="fk"/>
-            <xsd:enumeration value="fm"/>
-            <xsd:enumeration value="fo"/>
-            <xsd:enumeration value="fr"/>
-            <xsd:enumeration value="ga"/>
-            <xsd:enumeration value="gb"/>
-            <xsd:enumeration value="gd"/>
-            <xsd:enumeration value="ge"/>
-            <xsd:enumeration value="gf"/>
-            <xsd:enumeration value="gh"/>
-            <xsd:enumeration value="gi"/>
-            <xsd:enumeration value="gl"/>
-            <xsd:enumeration value="gm"/>
-            <xsd:enumeration value="gn"/>
-            <xsd:enumeration value="gp"/>
-            <xsd:enumeration value="gq"/>
-            <xsd:enumeration value="gr"/>
-            <xsd:enumeration value="gs"/>
-            <xsd:enumeration value="gt"/>
-            <xsd:enumeration value="gu"/>
-            <xsd:enumeration value="gw"/>
-            <xsd:enumeration value="gy"/>
-            <xsd:enumeration value="hk"/>
-            <xsd:enumeration value="hn"/>
-            <xsd:enumeration value="hr"/>
-            <xsd:enumeration value="ht"/>
-            <xsd:enumeration value="hu"/>
-            <xsd:enumeration value="id"/>
-            <xsd:enumeration value="ie"/>
-            <xsd:enumeration value="il"/>
-            <xsd:enumeration value="in"/>
-            <xsd:enumeration value="io"/>
-            <xsd:enumeration value="iq"/>
-            <xsd:enumeration value="ir"/>
-            <xsd:enumeration value="is"/>
-            <xsd:enumeration value="it"/>
-            <xsd:enumeration value="jm"/>
-            <xsd:enumeration value="jo"/>
-            <xsd:enumeration value="jp"/>
-            <xsd:enumeration value="ke"/>
-            <xsd:enumeration value="kg"/>
-            <xsd:enumeration value="kh"/>
-            <xsd:enumeration value="ki"/>
-            <xsd:enumeration value="km"/>
-            <xsd:enumeration value="kn"/>
-            <xsd:enumeration value="kp"/>
-            <xsd:enumeration value="kr"/>
-            <xsd:enumeration value="kw"/>
-            <xsd:enumeration value="ky"/>
-            <xsd:enumeration value="kz"/>
-            <xsd:enumeration value="la"/>
-            <xsd:enumeration value="lb"/>
-            <xsd:enumeration value="lc"/>
-            <xsd:enumeration value="li"/>
-            <xsd:enumeration value="lk"/>
-            <xsd:enumeration value="lr"/>
-            <xsd:enumeration value="ls"/>
-            <xsd:enumeration value="lt"/>
-            <xsd:enumeration value="lu"/>
-            <xsd:enumeration value="lv"/>
-            <xsd:enumeration value="ly"/>
-            <xsd:enumeration value="ma"/>
-            <xsd:enumeration value="mc"/>
-            <xsd:enumeration value="md"/>
-            <xsd:enumeration value="mg"/>
-            <xsd:enumeration value="mh"/>
-            <xsd:enumeration value="mk"/>
-            <xsd:enumeration value="ml"/>
-            <xsd:enumeration value="mm"/>
-            <xsd:enumeration value="mn"/>
-            <xsd:enumeration value="mo"/>
-            <xsd:enumeration value="mp"/>
-            <xsd:enumeration value="mq"/>
-            <xsd:enumeration value="mr"/>
-            <xsd:enumeration value="ms"/>
-            <xsd:enumeration value="mt"/>
-            <xsd:enumeration value="mu"/>
-            <xsd:enumeration value="mv"/>
-            <xsd:enumeration value="mw"/>
-            <xsd:enumeration value="mx"/>
-            <xsd:enumeration value="my"/>
-            <xsd:enumeration value="mz"/>
-            <xsd:enumeration value="na"/>
-            <xsd:enumeration value="nc"/>
-            <xsd:enumeration value="ne"/>
-            <xsd:enumeration value="nf"/>
-            <xsd:enumeration value="ng"/>
-            <xsd:enumeration value="ni"/>
-            <xsd:enumeration value="nl"/>
-            <xsd:enumeration value="no"/>
-            <xsd:enumeration value="np"/>
-            <xsd:enumeration value="nr"/>
-            <xsd:enumeration value="nu"/>
-            <xsd:enumeration value="nz"/>
-            <xsd:enumeration value="om"/>
-            <xsd:enumeration value="pa"/>
-            <xsd:enumeration value="pe"/>
-            <xsd:enumeration value="pf"/>
-            <xsd:enumeration value="pg"/>
-            <xsd:enumeration value="ph"/>
-            <xsd:enumeration value="pk"/>
-            <xsd:enumeration value="pl"/>
-            <xsd:enumeration value="pm"/>
-            <xsd:enumeration value="pn"/>
-            <xsd:enumeration value="pr"/>
-            <xsd:enumeration value="pt"/>
-            <xsd:enumeration value="pw"/>
-            <xsd:enumeration value="py"/>
-            <xsd:enumeration value="qa"/>
-            <xsd:enumeration value="re"/>
-            <xsd:enumeration value="ro"/>
-            <xsd:enumeration value="ru"/>
-            <xsd:enumeration value="rw"/>
-            <xsd:enumeration value="sa"/>
-            <xsd:enumeration value="sb"/>
-            <xsd:enumeration value="sc"/>
-            <xsd:enumeration value="sd"/>
-            <xsd:enumeration value="se"/>
-            <xsd:enumeration value="sg"/>
-            <xsd:enumeration value="sh"/>
-            <xsd:enumeration value="si"/>
-            <xsd:enumeration value="sj"/>
-            <xsd:enumeration value="sk"/>
-            <xsd:enumeration value="sl"/>
-            <xsd:enumeration value="sm"/>
-            <xsd:enumeration value="sn"/>
-            <xsd:enumeration value="so"/>
-            <xsd:enumeration value="sr"/>
-            <xsd:enumeration value="st"/>
-            <xsd:enumeration value="sv"/>
-            <xsd:enumeration value="sy"/>
-            <xsd:enumeration value="sz"/>
-            <xsd:enumeration value="tc"/>
-            <xsd:enumeration value="td"/>
-            <xsd:enumeration value="tf"/>
-            <xsd:enumeration value="tg"/>
-            <xsd:enumeration value="th"/>
-            <xsd:enumeration value="tj"/>
-            <xsd:enumeration value="tm"/>
-            <xsd:enumeration value="tn"/>
-            <xsd:enumeration value="to"/>
-            <xsd:enumeration value="tp"/>
-            <xsd:enumeration value="tr"/>
-            <xsd:enumeration value="tt"/>
-            <xsd:enumeration value="tv"/>
-            <xsd:enumeration value="tw"/>
-            <xsd:enumeration value="tz"/>
-            <xsd:enumeration value="ua"/>
-            <xsd:enumeration value="ug"/>
-            <xsd:enumeration value="um"/>
-            <xsd:enumeration value="us"/>
-            <xsd:enumeration value="uy"/>
-            <xsd:enumeration value="uz"/>
-            <xsd:enumeration value="va"/>
-            <xsd:enumeration value="vc"/>
-            <xsd:enumeration value="ve"/>
-            <xsd:enumeration value="vg"/>
-            <xsd:enumeration value="vi"/>
-            <xsd:enumeration value="vn"/>
-            <xsd:enumeration value="vu"/>
-            <xsd:enumeration value="wf"/>
-            <xsd:enumeration value="ws"/>
-            <xsd:enumeration value="ye"/>
-            <xsd:enumeration value="yt"/>
-            <xsd:enumeration value="yu"/>
-            <xsd:enumeration value="za"/>
-            <xsd:enumeration value="zm"/>
-            <xsd:enumeration value="zw"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Currency">
-        <xsd:sequence>
-            <xsd:element name="CurrencyCoded" type="CurrencyCode"/>
-            <xsd:element minOccurs="0" name="CurrencyCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Currency" type="Currency"/>
-    <xsd:simpleType name="CurrencyCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AFA"/>
-            <xsd:enumeration value="DZD"/>
-            <xsd:enumeration value="ADF"/>
-            <xsd:enumeration value="ADP"/>
-            <xsd:enumeration value="ARP"/>
-            <xsd:enumeration value="ARS"/>
-            <xsd:enumeration value="ARA"/>
-            <xsd:enumeration value="AMD"/>
-            <xsd:enumeration value="AWF"/>
-            <xsd:enumeration value="AUD"/>
-            <xsd:enumeration value="ATS"/>
-            <xsd:enumeration value="AZM"/>
-            <xsd:enumeration value="BSD"/>
-            <xsd:enumeration value="BHD"/>
-            <xsd:enumeration value="BDT"/>
-            <xsd:enumeration value="BBD"/>
-            <xsd:enumeration value="BYB"/>
-            <xsd:enumeration value="BEF"/>
-            <xsd:enumeration value="BZD"/>
-            <xsd:enumeration value="BMD"/>
-            <xsd:enumeration value="BTN"/>
-            <xsd:enumeration value="BOB"/>
-            <xsd:enumeration value="BAK"/>
-            <xsd:enumeration value="BWP"/>
-            <xsd:enumeration value="BRL"/>
-            <xsd:enumeration value="BND"/>
-            <xsd:enumeration value="BGL"/>
-            <xsd:enumeration value="BIF"/>
-            <xsd:enumeration value="KHR"/>
-            <xsd:enumeration value="CAD"/>
-            <xsd:enumeration value="CVE"/>
-            <xsd:enumeration value="KYD"/>
-            <xsd:enumeration value="XOF"/>
-            <xsd:enumeration value="XAF"/>
-            <xsd:enumeration value="XPF"/>
-            <xsd:enumeration value="CLP"/>
-            <xsd:enumeration value="CLF"/>
-            <xsd:enumeration value="CNY"/>
-            <xsd:enumeration value="COP"/>
-            <xsd:enumeration value="KMF"/>
-            <xsd:enumeration value="CRC"/>
-            <xsd:enumeration value="HRK"/>
-            <xsd:enumeration value="CUP"/>
-            <xsd:enumeration value="CYP"/>
-            <xsd:enumeration value="CZK"/>
-            <xsd:enumeration value="DKK"/>
-            <xsd:enumeration value="DEM"/>
-            <xsd:enumeration value="BAD"/>
-            <xsd:enumeration value="DJF"/>
-            <xsd:enumeration value="DOP"/>
-            <xsd:enumeration value="XCD"/>
-            <xsd:enumeration value="ECS"/>
-            <xsd:enumeration value="EGP"/>
-            <xsd:enumeration value="SVC"/>
-            <xsd:enumeration value="ERN"/>
-            <xsd:enumeration value="EEK"/>
-            <xsd:enumeration value="ETB"/>
-            <xsd:enumeration value="EUR"/>
-            <xsd:enumeration value="XEU"/>
-            <xsd:enumeration value="FKP"/>
-            <xsd:enumeration value="FJD"/>
-            <xsd:enumeration value="ZAL"/>
-            <xsd:enumeration value="FIM"/>
-            <xsd:enumeration value="FRF"/>
-            <xsd:enumeration value="GMD"/>
-            <xsd:enumeration value="GEL"/>
-            <xsd:enumeration value="GHC"/>
-            <xsd:enumeration value="GIP"/>
-            <xsd:enumeration value="XAU"/>
-            <xsd:enumeration value="GRD"/>
-            <xsd:enumeration value="GTQ"/>
-            <xsd:enumeration value="GNF"/>
-            <xsd:enumeration value="GWP"/>
-            <xsd:enumeration value="GYD"/>
-            <xsd:enumeration value="HTG"/>
-            <xsd:enumeration value="HNL"/>
-            <xsd:enumeration value="HKD"/>
-            <xsd:enumeration value="HUF"/>
-            <xsd:enumeration value="ISK"/>
-            <xsd:enumeration value="INR"/>
-            <xsd:enumeration value="IDR"/>
-            <xsd:enumeration value="IRA"/>
-            <xsd:enumeration value="IRR"/>
-            <xsd:enumeration value="IQD"/>
-            <xsd:enumeration value="IEP"/>
-            <xsd:enumeration value="ILS"/>
-            <xsd:enumeration value="ITL"/>
-            <xsd:enumeration value="JMD"/>
-            <xsd:enumeration value="JPY"/>
-            <xsd:enumeration value="JOD"/>
-            <xsd:enumeration value="KZT"/>
-            <xsd:enumeration value="KES"/>
-            <xsd:enumeration value="KWD"/>
-            <xsd:enumeration value="AOR"/>
-            <xsd:enumeration value="KGS"/>
-            <xsd:enumeration value="LAK"/>
-            <xsd:enumeration value="LVL"/>
-            <xsd:enumeration value="LBP"/>
-            <xsd:enumeration value="ALL"/>
-            <xsd:enumeration value="LSL"/>
-            <xsd:enumeration value="LRD"/>
-            <xsd:enumeration value="LYD"/>
-            <xsd:enumeration value="LTL"/>
-            <xsd:enumeration value="LUF"/>
-            <xsd:enumeration value="MOP"/>
-            <xsd:enumeration value="MKD"/>
-            <xsd:enumeration value="MGF"/>
-            <xsd:enumeration value="MWK"/>
-            <xsd:enumeration value="MYR"/>
-            <xsd:enumeration value="MVR"/>
-            <xsd:enumeration value="MTL"/>
-            <xsd:enumeration value="MRO"/>
-            <xsd:enumeration value="MUR"/>
-            <xsd:enumeration value="MXN"/>
-            <xsd:enumeration value="MDL"/>
-            <xsd:enumeration value="MNT"/>
-            <xsd:enumeration value="MAD"/>
-            <xsd:enumeration value="MZM"/>
-            <xsd:enumeration value="BOV"/>
-            <xsd:enumeration value="MMK"/>
-            <xsd:enumeration value="NAD"/>
-            <xsd:enumeration value="NPR"/>
-            <xsd:enumeration value="ANG"/>
-            <xsd:enumeration value="AWG"/>
-            <xsd:enumeration value="NLG"/>
-            <xsd:enumeration value="AON"/>
-            <xsd:enumeration value="TWD"/>
-            <xsd:enumeration value="ZRN"/>
-            <xsd:enumeration value="NZD"/>
-            <xsd:enumeration value="NIO"/>
-            <xsd:enumeration value="NGN"/>
-            <xsd:enumeration value="KPW"/>
-            <xsd:enumeration value="NOK"/>
-            <xsd:enumeration value="PKR"/>
-            <xsd:enumeration value="PAB"/>
-            <xsd:enumeration value="PGK"/>
-            <xsd:enumeration value="PYG"/>
-            <xsd:enumeration value="PEN"/>
-            <xsd:enumeration value="PHP"/>
-            <xsd:enumeration value="PLN"/>
-            <xsd:enumeration value="PLZ"/>
-            <xsd:enumeration value="PTE"/>
-            <xsd:enumeration value="GBP"/>
-            <xsd:enumeration value="QAR"/>
-            <xsd:enumeration value="OMR"/>
-            <xsd:enumeration value="ROL"/>
-            <xsd:enumeration value="RUR"/>
-            <xsd:enumeration value="RWF"/>
-            <xsd:enumeration value="WST"/>
-            <xsd:enumeration value="STD"/>
-            <xsd:enumeration value="SAR"/>
-            <xsd:enumeration value="SBL"/>
-            <xsd:enumeration value="SCR"/>
-            <xsd:enumeration value="SLL"/>
-            <xsd:enumeration value="SGD"/>
-            <xsd:enumeration value="SKK"/>
-            <xsd:enumeration value="SIT"/>
-            <xsd:enumeration value="SBD"/>
-            <xsd:enumeration value="SOS"/>
-            <xsd:enumeration value="ZAR"/>
-            <xsd:enumeration value="KRW"/>
-            <xsd:enumeration value="ESP"/>
-            <xsd:enumeration value="LKR"/>
-            <xsd:enumeration value="SHP"/>
-            <xsd:enumeration value="SDA"/>
-            <xsd:enumeration value="SDD"/>
-            <xsd:enumeration value="SDP"/>
-            <xsd:enumeration value="SRG"/>
-            <xsd:enumeration value="SZL"/>
-            <xsd:enumeration value="SEK"/>
-            <xsd:enumeration value="CHF"/>
-            <xsd:enumeration value="SYP"/>
-            <xsd:enumeration value="TJR"/>
-            <xsd:enumeration value="TZS"/>
-            <xsd:enumeration value="THB"/>
-            <xsd:enumeration value="TPE"/>
-            <xsd:enumeration value="TOP"/>
-            <xsd:enumeration value="TTD"/>
-            <xsd:enumeration value="TND"/>
-            <xsd:enumeration value="TRL"/>
-            <xsd:enumeration value="TMM"/>
-            <xsd:enumeration value="USD"/>
-            <xsd:enumeration value="AED"/>
-            <xsd:enumeration value="UGX"/>
-            <xsd:enumeration value="UAH"/>
-            <xsd:enumeration value="ECV"/>
-            <xsd:enumeration value="UYU"/>
-            <xsd:enumeration value="USN"/>
-            <xsd:enumeration value="UZS"/>
-            <xsd:enumeration value="VUV"/>
-            <xsd:enumeration value="VEB"/>
-            <xsd:enumeration value="VND"/>
-            <xsd:enumeration value="YER"/>
-            <xsd:enumeration value="YUN"/>
-            <xsd:enumeration value="ZMK"/>
-            <xsd:enumeration value="ZWD"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="OrderConfirmationParty">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="BuyerParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="SellerParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ShipToParty">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ListOfPartyCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderConfirmationParty" type="OrderConfirmationParty"/>
-    <xsd:complexType name="Party">
-        <xsd:sequence>
-            <xsd:element name="PartyID">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ListOfIdentifier"/>
-            <xsd:element minOccurs="0" name="MDFBusiness" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" ref="NameAddress"/>
-            <xsd:element minOccurs="0" name="OrderContact">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Contact"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ReceivingContact">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Contact"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ShippingContact">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Contact"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OtherContacts">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfContact"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="CorrespondenceLanguage">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Language"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Party" type="Party"/>
-    <xsd:complexType name="Identifier">
-        <xsd:sequence>
-            <xsd:element ref="Agency"/>
-            <xsd:element name="Ident" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Identifier" type="Identifier"/>
-    <xsd:complexType name="Agency">
-        <xsd:sequence>
-            <xsd:element name="AgencyCoded" type="AgencyCode"/>
-            <xsd:element minOccurs="0" name="AgencyCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="AgencyDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CodeListIdentifierCoded" type="CodeListIdentifierCode"/>
-            <xsd:element minOccurs="0" name="CodeListIdentifierCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Agency" type="Agency"/>
-    <xsd:simpleType name="AgencyCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AAMVA"/>
-            <xsd:enumeration value="ABCD-TheMicrocomputerIndustryAssociation"/>
-            <xsd:enumeration value="ACGIH"/>
-            <xsd:enumeration value="ACORD"/>
-            <xsd:enumeration value="AdvertisingIndustry"/>
-            <xsd:enumeration value="AECMA"/>
-            <xsd:enumeration value="AIHA"/>
-            <xsd:enumeration value="AirTransportAssociationOfAmerica"/>
-            <xsd:enumeration value="Alabama"/>
-            <xsd:enumeration value="Alaska"/>
-            <xsd:enumeration value="AluminumAssociation"/>
-            <xsd:enumeration value="AmericanApparelManufacturersAssociation"/>
-            <xsd:enumeration value="AmericanFurnitureManufacturersAssociation"/>
-            <xsd:enumeration value="AmericanIronAndSteelInstitute"/>
-            <xsd:enumeration value="AmericanLandTitleAssociation"/>
-            <xsd:enumeration value="AmericanMedicalAssociation"/>
-            <xsd:enumeration value="AmericanPaperInstitute"/>
-            <xsd:enumeration value="AmericanPetroleumInstitute"/>
-            <xsd:enumeration value="APWAAndOCSI"/>
-            <xsd:enumeration value="AmericanSocietyForAutomationInPharmacy"/>
-            <xsd:enumeration value="AmericanTextileManufacturersInstitute"/>
-            <xsd:enumeration value="AmericanTruckingAssociations"/>
-            <xsd:enumeration value="ANSIAccreditedStandardsCommittee"/>
-            <xsd:enumeration value="Arizona"/>
-            <xsd:enumeration value="Arkansas"/>
-            <xsd:enumeration value="ASME"/>
-            <xsd:enumeration value="AssignedByBuyerOrBuyersAgent"/>
-            <xsd:enumeration value="AssignedByCarrier"/>
-            <xsd:enumeration value="AssignedByDistributor"/>
-            <xsd:enumeration value="AssignedByManufacturer"/>
-            <xsd:enumeration value="AssignedByMarketPlace"/>
-            <xsd:enumeration value="AssignedByNationalTradeAgency"/>
-            <xsd:enumeration value="AssignedByOwnerOfOperation"/>
-            <xsd:enumeration value="AssignedByPartyOriginatingTheMessage"/>
-            <xsd:enumeration value="AssignedBySellerOrSellersAgent"/>
-            <xsd:enumeration value="AssignedByTransportCompany"/>
-            <xsd:enumeration value="ASTM"/>
-            <xsd:enumeration value="AT"/>
-            <xsd:enumeration value="AT-GeldausgabeautomatenServiceGesellschaftMBH"/>
-            <xsd:enumeration value="AT-AustrianCustoms"/>
-            <xsd:enumeration value="AT-AustrianPTT"/>
-            <xsd:enumeration value="AT-VerbandOesterreichischerBankenUndBankiers"/>
-            <xsd:enumeration value="AU-ACOS"/>
-            <xsd:enumeration value="AU-ADA"/>
-            <xsd:enumeration value="AU-AIHW"/>
-            <xsd:enumeration value="AU-APCA"/>
-            <xsd:enumeration value="AU-AQIS"/>
-            <xsd:enumeration value="AU-AustrianCustomsService"/>
-            <xsd:enumeration value="AU-DOH"/>
-            <xsd:enumeration value="AU-HIC"/>
-            <xsd:enumeration value="AU-LIFA"/>
-            <xsd:enumeration value="AU-NCCH"/>
-            <xsd:enumeration value="AU-ROA"/>
-            <xsd:enumeration value="AU-SAA"/>
-            <xsd:enumeration value="AU-Tradegate"/>
-            <xsd:enumeration value="AWS"/>
-            <xsd:enumeration value="AYSA"/>
-            <xsd:enumeration value="BE"/>
-            <xsd:enumeration value="BE-BelgianBankersAssociation"/>
-            <xsd:enumeration value="BE-BelgianCustoms"/>
-            <xsd:enumeration value="BE-BelgianMinistryOfFinance"/>
-            <xsd:enumeration value="Bellcore"/>
-            <xsd:enumeration value="BG"/>
-            <xsd:enumeration value="BIC"/>
-            <xsd:enumeration value="BookIndustrySystemsAdvisoryCommittee"/>
-            <xsd:enumeration value="BR-BancoCentralDoBrazil"/>
-            <xsd:enumeration value="BR-MAAndRAAAndLIMNETAndRINET"/>
-            <xsd:enumeration value="CA-CPA"/>
-            <xsd:enumeration value="CA-CSIO"/>
-            <xsd:enumeration value="California"/>
-            <xsd:enumeration value="CaliforniaLandTitleAssociation"/>
-            <xsd:enumeration value="CanadianFreightClassification"/>
-            <xsd:enumeration value="CarbideManufacturers"/>
-            <xsd:enumeration value="CA-RevenueCanadaCustomsAndExcise"/>
-            <xsd:enumeration value="CAS"/>
-            <xsd:enumeration value="CA-SCC"/>
-            <xsd:enumeration value="CCC"/>
-            <xsd:enumeration value="CEC"/>
-            <xsd:enumeration value="CECDGXIIID5"/>
-            <xsd:enumeration value="CECDGXXI01"/>
-            <xsd:enumeration value="CECDGXXIB1"/>
-            <xsd:enumeration value="CECDGXXXIV"/>
-            <xsd:enumeration value="CEFIC"/>
-            <xsd:enumeration value="CH"/>
-            <xsd:enumeration value="CH-AdministrationFederaleDesContributions"/>
-            <xsd:enumeration value="CH-AssociationSuisseCodeDesArticles"/>
-            <xsd:enumeration value="CH-Carbura"/>
-            <xsd:enumeration value="CH-CentraleSuissePourLImportationDuCharbon"/>
-            <xsd:enumeration value="CH-DirectionGeneraleDesDouanes"/>
-            <xsd:enumeration value="CH-DivisionDesImportationsEtExportations"/>
-            <xsd:enumeration value="CH-EntrepriseDesPTT"/>
-            <xsd:enumeration value="CH-MinistryOfTaxationCentralCustomsAndTaxAdministration"/>
-            <xsd:enumeration value="CH-OfficeFiduciaireDesImportateursDeDenreesAlimentaires"/>
-            <xsd:enumeration value="CH-SwissSecuritiesClearingCorporation"/>
-            <xsd:enumeration value="CH-TelekursAG"/>
-            <xsd:enumeration value="CIDX"/>
-            <xsd:enumeration value="CIECA"/>
-            <xsd:enumeration value="CodeAssignedByTheOrganizationThatIsTheUltimateDestinationOfTheTransactionSet"/>
-            <xsd:enumeration value="CO-DIAN"/>
-            <xsd:enumeration value="Colorado"/>
-            <xsd:enumeration value="CommanderRomeAirDevelopmentCenter"/>
-            <xsd:enumeration value="ConcordEDIGroup"/>
-            <xsd:enumeration value="Connecticut"/>
-            <xsd:enumeration value="ConventionsOnSADAndTransit"/>
-            <xsd:enumeration value="CopperAndBrassFabricatorsCouncil"/>
-            <xsd:enumeration value="CO-SBDC"/>
-            <xsd:enumeration value="CountyDesignatorCode"/>
-            <xsd:enumeration value="CSI"/>
-            <xsd:enumeration value="CSIExtended"/>
-            <xsd:enumeration value="CUSIP"/>
-            <xsd:enumeration value="CZ"/>
-            <xsd:enumeration value="DE"/>
-            <xsd:enumeration value="DE-ARE"/>
-            <xsd:enumeration value="DE-BDI"/>
-            <xsd:enumeration value="DE-BIA"/>
-            <xsd:enumeration value="DE-BRD"/>
-            <xsd:enumeration value="DE-DIN"/>
-            <xsd:enumeration value="DE-DTAG"/>
-            <xsd:enumeration value="DE-EDIBAU"/>
-            <xsd:enumeration value="DefenseLogisticsAgency"/>
-            <xsd:enumeration value="DE-GDV"/>
-            <xsd:enumeration value="DE-GermanBankersAssociation"/>
-            <xsd:enumeration value="DE-GermanCustoms"/>
-            <xsd:enumeration value="DE-GMBH"/>
-            <xsd:enumeration value="Delaware"/>
-            <xsd:enumeration value="DepartmentOfAirForce"/>
-            <xsd:enumeration value="DepartmentOfArmy"/>
-            <xsd:enumeration value="DepartmentOfDefense"/>
-            <xsd:enumeration value="DepartmentOfHealthAndHumanServices"/>
-            <xsd:enumeration value="DepartmentOfHousingAndUrbanDevelopment"/>
-            <xsd:enumeration value="DepartmentOfLabor"/>
-            <xsd:enumeration value="DepartmentOfTheNavy"/>
-            <xsd:enumeration value="DE-SiemensAG"/>
-            <xsd:enumeration value="DE-VDA"/>
-            <xsd:enumeration value="DFAS"/>
-            <xsd:enumeration value="DIN"/>
-            <xsd:enumeration value="DirectionGeneraleDesDouanesEtDroitsIndirects"/>
-            <xsd:enumeration value="DistrictOfColumbia"/>
-            <xsd:enumeration value="DK"/>
-            <xsd:enumeration value="DK-EAN"/>
-            <xsd:enumeration value="DK-MHA"/>
-            <xsd:enumeration value="DK-NBH"/>
-            <xsd:enumeration value="DK-PBS"/>
-            <xsd:enumeration value="DunAndBradstreet"/>
-            <xsd:enumeration value="EAN"/>
-            <xsd:enumeration value="Edibuild"/>
-            <xsd:enumeration value="EdielNordicForum"/>
-            <xsd:enumeration value="EDIFICE"/>
-            <xsd:enumeration value="EDITEUR"/>
-            <xsd:enumeration value="EDITEX"/>
-            <xsd:enumeration value="EEG7"/>
-            <xsd:enumeration value="EIDX"/>
-            <xsd:enumeration value="ElectricUtilities"/>
-            <xsd:enumeration value="ElectronicIndustriesAssociation"/>
-            <xsd:enumeration value="EPA"/>
-            <xsd:enumeration value="ES"/>
-            <xsd:enumeration value="ESDX"/>
-            <xsd:enumeration value="ES-ODETT"/>
-            <xsd:enumeration value="ES-SpanishCustoms"/>
-            <xsd:enumeration value="EU-EDIFICAS"/>
-            <xsd:enumeration value="EU-ETIS"/>
-            <xsd:enumeration value="EU-ROFER"/>
-            <xsd:enumeration value="FASLINC"/>
-            <xsd:enumeration value="FCC"/>
-            <xsd:enumeration value="FCI"/>
-            <xsd:enumeration value="FDA"/>
-            <xsd:enumeration value="FederalGovernment"/>
-            <xsd:enumeration value="FederalHighwayAdministration"/>
-            <xsd:enumeration value="FI"/>
-            <xsd:enumeration value="FI-ATA"/>
-            <xsd:enumeration value="FI-FinnishCustoms"/>
-            <xsd:enumeration value="FI-TB"/>
-            <xsd:enumeration value="FI-TheFinnishBankersAssociation"/>
-            <xsd:enumeration value="Florida"/>
-            <xsd:enumeration value="FR"/>
-            <xsd:enumeration value="FR-AGF"/>
-            <xsd:enumeration value="FR-ArvA"/>
-            <xsd:enumeration value="FR-BanqueDeFrance"/>
-            <xsd:enumeration value="FR-CFONB"/>
-            <xsd:enumeration value="FR-CNAMTS"/>
-            <xsd:enumeration value="FR-DCP"/>
-            <xsd:enumeration value="FR-DGI"/>
-            <xsd:enumeration value="FR-EDIFCAS"/>
-            <xsd:enumeration value="FR-EDIFRANCE"/>
-            <xsd:enumeration value="FR-EDITRANSPORT"/>
-            <xsd:enumeration value="FR-GALIA"/>
-            <xsd:enumeration value="FR-GENCOD"/>
-            <xsd:enumeration value="FR-INSEE"/>
-            <xsd:enumeration value="FR-RC"/>
-            <xsd:enumeration value="GB"/>
-            <xsd:enumeration value="GB-ABI"/>
-            <xsd:enumeration value="GB-ABTA"/>
-            <xsd:enumeration value="GB-ArticleNumberAssociationLimited"/>
-            <xsd:enumeration value="GB-AssociationForPaymentClearingServices"/>
-            <xsd:enumeration value="GB-BACSLimited"/>
-            <xsd:enumeration value="GB-CHAPSAndTownClearingCompanyLimited"/>
-            <xsd:enumeration value="GB-FLEETNET"/>
-            <xsd:enumeration value="GB-HMCustomsAndExcise"/>
-            <xsd:enumeration value="GB-ODETTE"/>
-            <xsd:enumeration value="GB-TheClearingHouse"/>
-            <xsd:enumeration value="Georgia"/>
-            <xsd:enumeration value="GraphicsCommunicationsAssociation"/>
-            <xsd:enumeration value="GRE"/>
-            <xsd:enumeration value="GR-GreekCustoms"/>
-            <xsd:enumeration value="GSA"/>
-            <xsd:enumeration value="GTIN"/>
-            <xsd:enumeration value="Hawaii"/>
-            <xsd:enumeration value="HealthCareFinancingAdministration"/>
-            <xsd:enumeration value="HealthInsuranceAssociationOfAmerica"/>
-            <xsd:enumeration value="HK-HongKongCustoms"/>
-            <xsd:enumeration value="HU"/>
-            <xsd:enumeration value="IAPSO"/>
-            <xsd:enumeration value="IARC"/>
-            <xsd:enumeration value="IATA"/>
-            <xsd:enumeration value="ICAO"/>
-            <xsd:enumeration value="ICC"/>
-            <xsd:enumeration value="ICS"/>
-            <xsd:enumeration value="Idaho"/>
-            <xsd:enumeration value="IE"/>
-            <xsd:enumeration value="IE-RevenueCommissionersCustomsAEProject"/>
-            <xsd:enumeration value="IL-IsraelCustoms"/>
-            <xsd:enumeration value="Illinois"/>
-            <xsd:enumeration value="IMO"/>
-            <xsd:enumeration value="Indiana"/>
-            <xsd:enumeration value="InterContainerInterFrigo"/>
-            <xsd:enumeration value="InternationalAssociationOfCorporationAdministrators"/>
-            <xsd:enumeration value="InternationalAssociationOfIndustrialAccidentBoardsAndCommissions"/>
-            <xsd:enumeration value="InternationalStandardsOrganization"/>
-            <xsd:enumeration value="Iowa"/>
-            <xsd:enumeration value="IP"/>
-            <xsd:enumeration value="IronAndSteelStandardsCommitteeISM"/>
-            <xsd:enumeration value="IS-IcelandCustoms"/>
-            <xsd:enumeration value="ISO"/>
-            <xsd:enumeration value="InsuranceServicesOffice"/>
-            <xsd:enumeration value="IT"/>
-            <xsd:enumeration value="IT-AssociazioneBancariaItaliana"/>
-            <xsd:enumeration value="IT-ItalianCustoms"/>
-            <xsd:enumeration value="IT-ODETTE"/>
-            <xsd:enumeration value="IT-SocieataInterbancariaPerLAutomazione"/>
-            <xsd:enumeration value="JapaneseStandardsAssociation"/>
-            <xsd:enumeration value="JP-JapanCustoms"/>
-            <xsd:enumeration value="JP-MOT"/>
-            <xsd:enumeration value="JP-MSA"/>
-            <xsd:enumeration value="JP-NACCS"/>
-            <xsd:enumeration value="Kansas"/>
-            <xsd:enumeration value="Kentucky"/>
-            <xsd:enumeration value="LeasingIndustry"/>
-            <xsd:enumeration value="LifeAndAnnuityIndustryCommittee"/>
-            <xsd:enumeration value="LI-LiechtensteinAuthority"/>
-            <xsd:enumeration value="LloydsRegisterOfShipping"/>
-            <xsd:enumeration value="Louisiana"/>
-            <xsd:enumeration value="LU"/>
-            <xsd:enumeration value="LU-LuxembourgCustoms"/>
-            <xsd:enumeration value="Maine"/>
-            <xsd:enumeration value="ManufacturingCompany"/>
-            <xsd:enumeration value="Maryland"/>
-            <xsd:enumeration value="Massachusetts"/>
-            <xsd:enumeration value="MaterialSafetyDataSheetProvider"/>
-            <xsd:enumeration value="Michigan"/>
-            <xsd:enumeration value="MilitaryStandard"/>
-            <xsd:enumeration value="Minnesota"/>
-            <xsd:enumeration value="Mississippi"/>
-            <xsd:enumeration value="Missouri"/>
-            <xsd:enumeration value="Montana"/>
-            <xsd:enumeration value="MortgageBankersAssociationOfAmerica"/>
-            <xsd:enumeration value="MY-DagangNet"/>
-            <xsd:enumeration value="MY-MalaysiaCentralBank"/>
-            <xsd:enumeration value="MY-MalaysiaCustomsAndExcise"/>
-            <xsd:enumeration value="NACE"/>
-            <xsd:enumeration value="NAGS"/>
-            <xsd:enumeration value="NationalAlcoholBeverageControlAssociation"/>
-            <xsd:enumeration value="NationalAssociationOfBusinessAndEducationalRadio"/>
-            <xsd:enumeration value="NationalBusinessFormsAssociation"/>
-            <xsd:enumeration value="NationalCenterforStateCourts"/>
-            <xsd:enumeration value="NationalCottonCouncilOfAmerica"/>
-            <xsd:enumeration value="NationalCouncilOnCompensationInsurance"/>
-            <xsd:enumeration value="NationalRetailMerchantsAssociation"/>
-            <xsd:enumeration value="NationalWholesaleDruggistsAssociation"/>
-            <xsd:enumeration value="NATO"/>
-            <xsd:enumeration value="NaturalGasUtilities"/>
-            <xsd:enumeration value="NCIC"/>
-            <xsd:enumeration value="Nebraska"/>
-            <xsd:enumeration value="NEMA"/>
-            <xsd:enumeration value="Nevada"/>
-            <xsd:enumeration value="NewHampshire"/>
-            <xsd:enumeration value="NewJersey"/>
-            <xsd:enumeration value="NewMexico"/>
-            <xsd:enumeration value="NewspaperAssociationOfAmerica"/>
-            <xsd:enumeration value="NewYork"/>
-            <xsd:enumeration value="NFPA"/>
-            <xsd:enumeration value="NICB"/>
-            <xsd:enumeration value="NIOSH"/>
-            <xsd:enumeration value="NL"/>
-            <xsd:enumeration value="NetherlandsRailways"/>
-            <xsd:enumeration value="NL-BankGirocentraleBV"/>
-            <xsd:enumeration value="NL-BEANETBV"/>
-            <xsd:enumeration value="NL-EAN"/>
-            <xsd:enumeration value="NL-InterpayCards"/>
-            <xsd:enumeration value="NL-InterpayGiraal"/>
-            <xsd:enumeration value="NL-NetherlandsCustoms"/>
-            <xsd:enumeration value="NL-ODETTE"/>
-            <xsd:enumeration value="NorweigianStateRailway"/>
-            <xsd:enumeration value="NO"/>
-            <xsd:enumeration value="NO-NORPRO"/>
-            <xsd:enumeration value="NO-NorwegianBankersAssociation"/>
-            <xsd:enumeration value="NO-NorwegianCustoms"/>
-            <xsd:enumeration value="NO-NorwegianInterbankResearchOrganization"/>
-            <xsd:enumeration value="NorthAmerica-TelecommunicationsIndustryForum"/>
-            <xsd:enumeration value="NorthCarolina"/>
-            <xsd:enumeration value="NorthDakota"/>
-            <xsd:enumeration value="NTP"/>
-            <xsd:enumeration value="NZ-NewZealandCustoms"/>
-            <xsd:enumeration value="ODETTE"/>
-            <xsd:enumeration value="OfficeOfManagementAndBudget"/>
-            <xsd:enumeration value="OfficeOfWorkersCompensationPrograms"/>
-            <xsd:enumeration value="OfficeProducts"/>
-            <xsd:enumeration value="Ohio"/>
-            <xsd:enumeration value="Oklahoma"/>
-            <xsd:enumeration value="OpticalIndustry"/>
-            <xsd:enumeration value="Oregon"/>
-            <xsd:enumeration value="OSHA"/>
-            <xsd:enumeration value="Pennsylvania"/>
-            <xsd:enumeration value="PennsylvaniaCourts"/>
-            <xsd:enumeration value="PL"/>
-            <xsd:enumeration value="PT"/>
-            <xsd:enumeration value="PT-CB"/>
-            <xsd:enumeration value="PT-PortugueseCustoms"/>
-            <xsd:enumeration value="PT-SIBS"/>
-            <xsd:enumeration value="RealEstateInformationIndustry"/>
-            <xsd:enumeration value="RhodeIsland"/>
-            <xsd:enumeration value="RINET"/>
-            <xsd:enumeration value="RO"/>
-            <xsd:enumeration value="RU-BIC"/>
-            <xsd:enumeration value="RU-SFT"/>
-            <xsd:enumeration value="SAE"/>
-            <xsd:enumeration value="SA-SaudiArabiaCustoms"/>
-            <xsd:enumeration value="SE"/>
-            <xsd:enumeration value="SE-CentralBank"/>
-            <xsd:enumeration value="SE-ODETTE"/>
-            <xsd:enumeration value="SE-SvenskaBankfoereningen"/>
-            <xsd:enumeration value="SE-SwedishCustoms"/>
-            <xsd:enumeration value="ShippersAssociation"/>
-            <xsd:enumeration value="SISAC"/>
-            <xsd:enumeration value="SK"/>
-            <xsd:enumeration value="SouthCarolina"/>
-            <xsd:enumeration value="SouthDakota"/>
-            <xsd:enumeration value="StateAgencyAssigned"/>
-            <xsd:enumeration value="StudentLoanGuarantor"/>
-            <xsd:enumeration value="SWIFT"/>
-            <xsd:enumeration value="TALC"/>
-            <xsd:enumeration value="TelecommunicationsIndustry"/>
-            <xsd:enumeration value="TemporaryHelpIndustry"/>
-            <xsd:enumeration value="Tennessee"/>
-            <xsd:enumeration value="Texas"/>
-            <xsd:enumeration value="TexasLandTitleAssociation"/>
-            <xsd:enumeration value="TextileDistributorsAssociationInc"/>
-            <xsd:enumeration value="TDCC-EDIA"/>
-            <xsd:enumeration value="TW-ChineseTaipeiCustoms"/>
-            <xsd:enumeration value="TW-Trade-van"/>
-            <xsd:enumeration value="UCS"/>
-            <xsd:enumeration value="UIC"/>
-            <xsd:enumeration value="UN"/>
-            <xsd:enumeration value="UNECE"/>
-            <xsd:enumeration value="UNCTAD"/>
-            <xsd:enumeration value="UnitedStatesCourts"/>
-            <xsd:enumeration value="UnitedStatesMarineCorps"/>
-            <xsd:enumeration value="UnitedStatesNuclearRegulatoryCommission"/>
-            <xsd:enumeration value="UPU"/>
-            <xsd:enumeration value="US-AA"/>
-            <xsd:enumeration value="US-AAR"/>
-            <xsd:enumeration value="US-ABA"/>
-            <xsd:enumeration value="US-AIAG"/>
-            <xsd:enumeration value="US-AirTransportAssociationOfAmerica"/>
-            <xsd:enumeration value="US-AISI"/>
-            <xsd:enumeration value="US-AmericanPetroleumInstitute"/>
-            <xsd:enumeration value="US-ANSIASCX12"/>
-            <xsd:enumeration value="US-API"/>
-            <xsd:enumeration value="US-ASTM"/>
-            <xsd:enumeration value="US-ATF"/>
-            <xsd:enumeration value="US-BATF"/>
-            <xsd:enumeration value="US-BXA"/>
-            <xsd:enumeration value="US-CHIPS"/>
-            <xsd:enumeration value="US-CIDX"/>
-            <xsd:enumeration value="US-CM"/>
-            <xsd:enumeration value="US-COPAS"/>
-            <xsd:enumeration value="US-DAndB"/>
-            <xsd:enumeration value="US-DCI"/>
-            <xsd:enumeration value="US-DEA"/>
-            <xsd:enumeration value="US-DHHS"/>
-            <xsd:enumeration value="US-DISA"/>
-            <xsd:enumeration value="US-DISCUS"/>
-            <xsd:enumeration value="US-DLMSO"/>
-            <xsd:enumeration value="US-DOA"/>
-            <xsd:enumeration value="US-DOD"/>
-            <xsd:enumeration value="US-DODAAC"/>
-            <xsd:enumeration value="US-DOL"/>
-            <xsd:enumeration value="US-DOT"/>
-            <xsd:enumeration value="US-DSAA"/>
-            <xsd:enumeration value="US-EIA"/>
-            <xsd:enumeration value="US-FCC"/>
-            <xsd:enumeration value="US-FDA"/>
-            <xsd:enumeration value="US-FIPS"/>
-            <xsd:enumeration value="US-FMC"/>
-            <xsd:enumeration value="US-FWS"/>
-            <xsd:enumeration value="US-GSA"/>
-            <xsd:enumeration value="US-HBICC"/>
-            <xsd:enumeration value="US-HI"/>
-            <xsd:enumeration value="US-HL7"/>
-            <xsd:enumeration value="US-ISA"/>
-            <xsd:enumeration value="US-MARAD"/>
-            <xsd:enumeration value="US-NABCA"/>
-            <xsd:enumeration value="US-NAIC"/>
-            <xsd:enumeration value="USNationalCenterForHealthStatisticsCommissionOfProfessionalAndHospitalActivities"/>
-            <xsd:enumeration value="US-NationalMotorFreightClassificationAssociation"/>
-            <xsd:enumeration value="US-NationalRetailFederation"/>
-            <xsd:enumeration value="US-NCCMA"/>
-            <xsd:enumeration value="US-NIST"/>
-            <xsd:enumeration value="US-NRC"/>
-            <xsd:enumeration value="US-NWDA"/>
-            <xsd:enumeration value="US-ODTC"/>
-            <xsd:enumeration value="US-OFAC"/>
-            <xsd:enumeration value="US-OMB"/>
-            <xsd:enumeration value="US-StandardCarrierAlphaCode"/>
-            <xsd:enumeration value="US-TDCC"/>
-            <xsd:enumeration value="US-UCC"/>
-            <xsd:enumeration value="US-UN-SPSC"/>
-            <xsd:enumeration value="US-UOP"/>
-            <xsd:enumeration value="US-USCensusBureau"/>
-            <xsd:enumeration value="US-USCustomsService"/>
-            <xsd:enumeration value="US-USPS"/>
-            <xsd:enumeration value="US-VA"/>
-            <xsd:enumeration value="US-VICS"/>
-            <xsd:enumeration value="US-WSSA"/>
-            <xsd:enumeration value="Utah"/>
-            <xsd:enumeration value="UtilityIndustryGroup"/>
-            <xsd:enumeration value="Vermont"/>
-            <xsd:enumeration value="VICS"/>
-            <xsd:enumeration value="Virginia"/>
-            <xsd:enumeration value="Washington"/>
-            <xsd:enumeration value="WestVirginia"/>
-            <xsd:enumeration value="WHMIS"/>
-            <xsd:enumeration value="Wisconsin"/>
-            <xsd:enumeration value="Wyoming"/>
-            <xsd:enumeration value="DirectorGeneralOfCanada"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="CodeListIdentifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AcceptanceSiteCode"/>
-            <xsd:enumeration value="AccidentParameters"/>
-            <xsd:enumeration value="AccordEuropeenRelatifAuTransportInternationalDesMarchandises"/>
-            <xsd:enumeration value="AccountAnalysisCodes"/>
-            <xsd:enumeration value="AccountCharacteristicsCode"/>
-            <xsd:enumeration value="AccountingInformationIdentifier"/>
-            <xsd:enumeration value="AccountRating"/>
-            <xsd:enumeration value="AccountRelationshipType"/>
-            <xsd:enumeration value="AcquisitionAdviceCode"/>
-            <xsd:enumeration value="AcquisitionMethodCode"/>
-            <xsd:enumeration value="AcquisitionMethodSuffixCode"/>
-            <xsd:enumeration value="ActionCode"/>
-            <xsd:enumeration value="ActivitePrincipaleExerceeCode"/>
-            <xsd:enumeration value="Activity"/>
-            <xsd:enumeration value="AdmittingDiagnosis"/>
-            <xsd:enumeration value="AdverseEventCode"/>
-            <xsd:enumeration value="AdverseEventOutcomeCode"/>
-            <xsd:enumeration value="AdviceCode"/>
-            <xsd:enumeration value="AgentStatusCode"/>
-            <xsd:enumeration value="AidTypeCode"/>
-            <xsd:enumeration value="AirCarrier"/>
-            <xsd:enumeration value="AirCommodityAndSpecialHandlingCode"/>
-            <xsd:enumeration value="AircraftMissionDesignSeriesCode"/>
-            <xsd:enumeration value="AirDimensionCode"/>
-            <xsd:enumeration value="AirportOrCity"/>
-            <xsd:enumeration value="AirportTerminal"/>
-            <xsd:enumeration value="AirTerminalIdentifierCode"/>
-            <xsd:enumeration value="AllegationTypeCode"/>
-            <xsd:enumeration value="AllPatientDiagnosisRelatedGroups"/>
-            <xsd:enumeration value="AllPatientRefinedDiagnosisRelatedGroups"/>
-            <xsd:enumeration value="AlterationLookup"/>
-            <xsd:enumeration value="AmbulatoryPatientGroups"/>
-            <xsd:enumeration value="AmendmentCode-Customs"/>
-            <xsd:enumeration value="AmericanPsychiatricAssociationDiagnosticStatisticalManualOfMentalDisorders"/>
-            <xsd:enumeration value="AmericanSocietyForTestingAndMaterials"/>
-            <xsd:enumeration value="AntennaPolarization"/>
-            <xsd:enumeration value="AntennaStructureType"/>
-            <xsd:enumeration value="ApplicantClassificationType"/>
-            <xsd:enumeration value="ApplicantType"/>
-            <xsd:enumeration value="ApplicationAcknowledgementAndErrorCodes"/>
-            <xsd:enumeration value="ApplicationErrorCode"/>
-            <xsd:enumeration value="ApplicationQuestionIdentifier"/>
-            <xsd:enumeration value="ApplicationType"/>
-            <xsd:enumeration value="Area"/>
-            <xsd:enumeration value="AreaOfOperation"/>
-            <xsd:enumeration value="ArrestReason"/>
-            <xsd:enumeration value="ArticleStatus"/>
-            <xsd:enumeration value="AssetDetails"/>
-            <xsd:enumeration value="AssetRecurrence"/>
-            <xsd:enumeration value="AssetStatusOrTransactionReportingCode"/>
-            <xsd:enumeration value="AssetTransferStatusCode"/>
-            <xsd:enumeration value="AssetType"/>
-            <xsd:enumeration value="AssignedByReceiver"/>
-            <xsd:enumeration value="AssignedBySender"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsDeprescriptionDistributionList"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsDeprescriptionExceptionList"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsRateEdiNetworkErrorCode"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsStandardTransportationCommodityCodeDescriptionQualifier"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsStandardTransportationCommodityCodeMasterDescriptionInformation"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsSwitchReleaseCodes"/>
-            <xsd:enumeration value="AssuredDeliveryIndicator"/>
-            <xsd:enumeration value="AuthorizationType"/>
-            <xsd:enumeration value="AutomatedClearingHouse"/>
-            <xsd:enumeration value="AutomatedDataProcessingEquipmentIdentificationCode"/>
-            <xsd:enumeration value="AwardSource"/>
-            <xsd:enumeration value="BalanceTypeCode"/>
-            <xsd:enumeration value="BankAdministrationInstitute"/>
-            <xsd:enumeration value="BankBranchSortingIdentification"/>
-            <xsd:enumeration value="BankIdentification"/>
-            <xsd:enumeration value="BankSecuritiesCode"/>
-            <xsd:enumeration value="BasisOfJurisdictionCode"/>
-            <xsd:enumeration value="BeneficiaryType"/>
-            <xsd:enumeration value="BidRejectionReason"/>
-            <xsd:enumeration value="BilledOfficeIndicatorCode"/>
-            <xsd:enumeration value="BillingAdviceCode"/>
-            <xsd:enumeration value="BillingStatusCode"/>
-            <xsd:enumeration value="BillOfLadingClauses"/>
-            <xsd:enumeration value="BoardOfInspectionAndSurveyPartLookup"/>
-            <xsd:enumeration value="BoardOfInspectionAndSurveyResponsibilityLookup"/>
-            <xsd:enumeration value="BoardOfInspectionAndSurveyShipLookup"/>
-            <xsd:enumeration value="BusinessAccountNumber"/>
-            <xsd:enumeration value="BusinessChangeCode"/>
-            <xsd:enumeration value="BusinessClassification"/>
-            <xsd:enumeration value="BusinessCreditRating"/>
-            <xsd:enumeration value="BusinessEntityFilingDetailCode"/>
-            <xsd:enumeration value="BusinessEntityFilingLocationCode"/>
-            <xsd:enumeration value="BusinessEntityFilingReportTypeCode"/>
-            <xsd:enumeration value="BusinessEntityFilingSecuritiesInformationCode"/>
-            <xsd:enumeration value="BusinessEntityFilingStatusCode"/>
-            <xsd:enumeration value="BusinessEntityFinancialInformationCode"/>
-            <xsd:enumeration value="BusinessEntityStatusCode"/>
-            <xsd:enumeration value="BusinessFunction"/>
-            <xsd:enumeration value="BusinessLegalStructureType"/>
-            <xsd:enumeration value="BusinessSizeCode"/>
-            <xsd:enumeration value="BusinessType"/>
-            <xsd:enumeration value="CallSignDirectory"/>
-            <xsd:enumeration value="CanadianInterEdi"/>
-            <xsd:enumeration value="CancellationReason"/>
-            <xsd:enumeration value="Carriers"/>
-            <xsd:enumeration value="CaseDesignatorNumber"/>
-            <xsd:enumeration value="CaseOriginCode"/>
-            <xsd:enumeration value="CashDiscountStipulationCode"/>
-            <xsd:enumeration value="CauseLookup"/>
-            <xsd:enumeration value="CauseOfInjuryCode"/>
-            <xsd:enumeration value="CauseOfLossCode"/>
-            <xsd:enumeration value="CeilingTypeCode"/>
-            <xsd:enumeration value="CertificationRequirementsCode"/>
-            <xsd:enumeration value="Charge"/>
-            <xsd:enumeration value="CitizenIdentification"/>
-            <xsd:enumeration value="City"/>
-            <xsd:enumeration value="CitySubdivision"/>
-            <xsd:enumeration value="ClaimPaymentRemarkCodes"/>
-            <xsd:enumeration value="ClaimType"/>
-            <xsd:enumeration value="ClassOfOperation"/>
-            <xsd:enumeration value="ClassOfPitch"/>
-            <xsd:enumeration value="ClauseStatusType"/>
-            <xsd:enumeration value="ClearingCode"/>
-            <xsd:enumeration value="ClearingHouseAutomatedPayment"/>
-            <xsd:enumeration value="ClearingHouseInterbankPaymentSystemParticipantsId"/>
-            <xsd:enumeration value="ClearingHouseInterbankPaymentSystemUniversalId"/>
-            <xsd:enumeration value="CoastDesignationCode"/>
-            <xsd:enumeration value="CognizanceSymbol"/>
-            <xsd:enumeration value="CollisionIndustryElectronicCommerceAssociation-Inspection"/>
-            <xsd:enumeration value="CollisionIndustryElectronicCommerceAssociation-LossCategory"/>
-            <xsd:enumeration value="CollisionIndustryElectronicCommerceAssociation-PointsOfImpact"/>
-            <xsd:enumeration value="CollisionIndustryElectronicCommerceAssociation-Profile"/>
-            <xsd:enumeration value="Combiterms1990"/>
-            <xsd:enumeration value="CommercialAndGovernmentEntity"/>
-            <xsd:enumeration value="CommercialDriversLicense"/>
-            <xsd:enumeration value="CommercialVehicleOperationsCommodityCode"/>
-            <xsd:enumeration value="CommercialVehicleOperationsHazardousMaterialCode"/>
-            <xsd:enumeration value="CommercialVehicleOperationsInsurance"/>
-            <xsd:enumeration value="CommercialVehicleOperationsSafetyCode"/>
-            <xsd:enumeration value="CommercialVehicleOperationsStatusCode"/>
-            <xsd:enumeration value="CommercialVehicleRegistration"/>
-            <xsd:enumeration value="CommercialVehicleTax"/>
-            <xsd:enumeration value="CommercialVehicleTitle"/>
-            <xsd:enumeration value="CommercialVehicleType"/>
-            <xsd:enumeration value="Commodity"/>
-            <xsd:enumeration value="CommunicationsRoutingIdentifierCode"/>
-            <xsd:enumeration value="CompensationTypeCodes"/>
-            <xsd:enumeration value="CompetitiveCharacteristicsCode"/>
-            <xsd:enumeration value="ComplaintRequestCode"/>
-            <xsd:enumeration value="ComplianceReviewCode"/>
-            <xsd:enumeration value="ConclusionEvaluationCode"/>
-            <xsd:enumeration value="Condition"/>
-            <xsd:enumeration value="ConditionDetail"/>
-            <xsd:enumeration value="ConsigneesPremises"/>
-            <xsd:enumeration value="ConsignorsPremises"/>
-            <xsd:enumeration value="ConsolidationAndContainerizationPointCode"/>
-            <xsd:enumeration value="ConsolidationDetail"/>
-            <xsd:enumeration value="ConstructionMaterial"/>
-            <xsd:enumeration value="ContactorAlertListReason"/>
-            <xsd:enumeration value="ContactStatusCode"/>
-            <xsd:enumeration value="ContainerAndRoll-OnOrRoll-OffNumberCode"/>
-            <xsd:enumeration value="ContainerTerminal"/>
-            <xsd:enumeration value="ContentIndicatorCode"/>
-            <xsd:enumeration value="Continent"/>
-            <xsd:enumeration value="Contract"/>
-            <xsd:enumeration value="ContractClose-OutGroupCode"/>
-            <xsd:enumeration value="ContractDeliveryDateRevisionAgentCode"/>
-            <xsd:enumeration value="ContractFundReportingTransactionCode"/>
-            <xsd:enumeration value="ContractorAlertListStatus"/>
-            <xsd:enumeration value="ContractorReviewListStatus"/>
-            <xsd:enumeration value="ContractPaymentDeductionOrCollectionCode"/>
-            <xsd:enumeration value="ContractPaymentLineItemStatusCode"/>
-            <xsd:enumeration value="ContractShipmentAdviceCode"/>
-            <xsd:enumeration value="ControlledInventoryItemCode"/>
-            <xsd:enumeration value="ControlUnitDesignCode"/>
-            <xsd:enumeration value="ControvertCode"/>
-            <xsd:enumeration value="ConvictionOffenseType"/>
-            <xsd:enumeration value="CooperativeLogisticsProgramSupportCode"/>
-            <xsd:enumeration value="CorporateFinancialFilingCriteria"/>
-            <xsd:enumeration value="CorporateStatementFilingCode"/>
-            <xsd:enumeration value="CorrectionOrChangeForStorageItemRecordsCode"/>
-            <xsd:enumeration value="Country"/>
-            <xsd:enumeration value="CountryAndActivityCode"/>
-            <xsd:enumeration value="CountryCode-FinanceAndAcquisition"/>
-            <xsd:enumeration value="CountrySub-Entity"/>
-            <xsd:enumeration value="County"/>
-            <xsd:enumeration value="CountyDesignatorCode"/>
-            <xsd:enumeration value="CouponAdjustmentReasonCode"/>
-            <xsd:enumeration value="CourtAppearanceTypeCode"/>
-            <xsd:enumeration value="CourtCaseStatusCode"/>
-            <xsd:enumeration value="CourtDispositionCode"/>
-            <xsd:enumeration value="CourtDocumentTypeCode"/>
-            <xsd:enumeration value="CourtIssuedWarrantTypeCode"/>
-            <xsd:enumeration value="CourtOfLawEventType"/>
-            <xsd:enumeration value="CourtOfLawType"/>
-            <xsd:enumeration value="CourtPartyStatus"/>
-            <xsd:enumeration value="CourtPleadingTypeCode"/>
-            <xsd:enumeration value="CoverageCodeList"/>
-            <xsd:enumeration value="CoverageModifier"/>
-            <xsd:enumeration value="Cpa-CanadianPaymentsAssociation"/>
-            <xsd:enumeration value="CriminalCharge"/>
-            <xsd:enumeration value="CriminalChargeGrade"/>
-            <xsd:enumeration value="CriticalityDesignatorCode"/>
-            <xsd:enumeration value="CuisineTypeCode"/>
-            <xsd:enumeration value="CurrentAssetDetails"/>
-            <xsd:enumeration value="CurrentDentalTerminologyCode"/>
-            <xsd:enumeration value="CurrentLiabilityDetails"/>
-            <xsd:enumeration value="CurrentProceduralTerminologyCodes"/>
-            <xsd:enumeration value="CustomerMaintenanceLevelLookup"/>
-            <xsd:enumeration value="CustomerWithinCountryCode"/>
-            <xsd:enumeration value="CustomizedNoticeTypeCode"/>
-            <xsd:enumeration value="CustomsAreaOfTransaction"/>
-            <xsd:enumeration value="CustomsDeclarationType"/>
-            <xsd:enumeration value="CustomsDomesticPortLocationCodes-USScheduleD"/>
-            <xsd:enumeration value="CustomsForeignPortLocationCodes-USScheduleK"/>
-            <xsd:enumeration value="CustomsIndicator"/>
-            <xsd:enumeration value="CustomsInspectionType"/>
-            <xsd:enumeration value="CustomsOffice"/>
-            <xsd:enumeration value="CustomsPreference"/>
-            <xsd:enumeration value="CustomsProcedure"/>
-            <xsd:enumeration value="CustomsReleaseNotification"/>
-            <xsd:enumeration value="CustomsSimplifiedProcedure"/>
-            <xsd:enumeration value="CustomsSpecialCodes"/>
-            <xsd:enumeration value="CustomsStatusOfGoods"/>
-            <xsd:enumeration value="CustomsTransitGuarantee"/>
-            <xsd:enumeration value="CustomsTransitType"/>
-            <xsd:enumeration value="CustomsValuationMethod"/>
-            <xsd:enumeration value="CustomsWarehouse"/>
-            <xsd:enumeration value="DangerousGoodsPackingType"/>
-            <xsd:enumeration value="DataCategory"/>
-            <xsd:enumeration value="DateShippedOrReceivedCode"/>
-            <xsd:enumeration value="DebtorBusinessTypeCode"/>
-            <xsd:enumeration value="DebtorTypeCode"/>
-            <xsd:enumeration value="DefendantPleaTypeCode"/>
-            <xsd:enumeration value="DefensePrioritiesAndAllocationsSystemCode"/>
-            <xsd:enumeration value="DeferralLookup"/>
-            <xsd:enumeration value="DeficiencyCause"/>
-            <xsd:enumeration value="DeficiencyIndicator"/>
-            <xsd:enumeration value="DelinquencyIndicator"/>
-            <xsd:enumeration value="DeliverySourceCode"/>
-            <xsd:enumeration value="DeliveryTermCode"/>
-            <xsd:enumeration value="DemandCode"/>
-            <xsd:enumeration value="DemilitarizationCode"/>
-            <xsd:enumeration value="DepartmentOfDefenseIdentificationCode"/>
-            <xsd:enumeration value="DeviceAvailabilityCode"/>
-            <xsd:enumeration value="DeviceEvaluationCode"/>
-            <xsd:enumeration value="DeviceEventProblemCode"/>
-            <xsd:enumeration value="DeviceOperatorTypeCode"/>
-            <xsd:enumeration value="DeviceStatusCode"/>
-            <xsd:enumeration value="DeviceUsageCode"/>
-            <xsd:enumeration value="Diagnosis"/>
-            <xsd:enumeration value="DiagnosisEncounteredDuringExaminationAndInvestigationOfIndividualsAndPopulationsCode"/>
-            <xsd:enumeration value="DiagnosisRelatedGroup"/>
-            <xsd:enumeration value="DiagnosticAndStatisticalManualOfMentalDisorders"/>
-            <xsd:enumeration value="DirectNumericalControlSystemCode"/>
-            <xsd:enumeration value="DisbursementStatusCode"/>
-            <xsd:enumeration value="Discrepancy"/>
-            <xsd:enumeration value="DiscrepancyAdviceCode"/>
-            <xsd:enumeration value="DiscrepancyCode"/>
-            <xsd:enumeration value="DiscrepancyIndicatorCode"/>
-            <xsd:enumeration value="DiscrepancyStatusOrDispositionCode"/>
-            <xsd:enumeration value="DisposalAuthorityCode"/>
-            <xsd:enumeration value="DisposalConditionCode"/>
-            <xsd:enumeration value="DistributionCode"/>
-            <xsd:enumeration value="DocumentIdentificationCode"/>
-            <xsd:enumeration value="DocumentRequestedByCustoms"/>
-            <xsd:enumeration value="Dodaac-DepartmentOfDefenseActivityAddressCode"/>
-            <xsd:enumeration value="DomesticLineOfBusinessCode"/>
-            <xsd:enumeration value="DoseFormCode"/>
-            <xsd:enumeration value="DriverParameters"/>
-            <xsd:enumeration value="DriversLicenseWithdrawalBasis"/>
-            <xsd:enumeration value="DriversLicenseWithdrawalDueProcessStatus"/>
-            <xsd:enumeration value="DriversLicenseWithdrawalExtent"/>
-            <xsd:enumeration value="DriversLicenseWithdrawalReason"/>
-            <xsd:enumeration value="DriversLicenseWithdrawalType"/>
-            <xsd:enumeration value="DrugDetailCode"/>
-            <xsd:enumeration value="DrugStatusAdverseEventCode"/>
-            <xsd:enumeration value="DrugStatusCode"/>
-            <xsd:enumeration value="DumpingOrCountervailingAssessmentMethod"/>
-            <xsd:enumeration value="DumpingSpecification"/>
-            <xsd:enumeration value="DunAndBradstreetCanadas8DigitStandardIndustrialClassificationCode"/>
-            <xsd:enumeration value="Duns-DunAndBradstreetPlus4"/>
-            <xsd:enumeration value="DunsStandardIndustrialClassification2Plus2DunAndBradstreet"/>
-            <xsd:enumeration value="DutyTaxOrFeePaymentMethod"/>
-            <xsd:enumeration value="DynamicGeneratorSetCode"/>
-            <xsd:enumeration value="DynamicLocomotiveTagCode"/>
-            <xsd:enumeration value="Edira-Id-EdiRegistrationAuthorityIdentification"/>
-            <xsd:enumeration value="EditErrorCode"/>
-            <xsd:enumeration value="EducationalInstitutionType"/>
-            <xsd:enumeration value="EducationalStudyArea"/>
-            <xsd:enumeration value="ElectromagneticTransmitterIdentification"/>
-            <xsd:enumeration value="EmployeeIdentification"/>
-            <xsd:enumeration value="EnhancedPartyIdentification"/>
-            <xsd:enumeration value="Entitlement"/>
-            <xsd:enumeration value="EntityRelationship"/>
-            <xsd:enumeration value="EquipmentStatusLookup"/>
-            <xsd:enumeration value="ErrorClassificationCode"/>
-            <xsd:enumeration value="EssentialityCode"/>
-            <xsd:enumeration value="EstimatedTimeOfArrivalCode"/>
-            <xsd:enumeration value="EstimateTypeLookup"/>
-            <xsd:enumeration value="EstimatingMethodStatusCode"/>
-            <xsd:enumeration value="Ethnicity"/>
-            <xsd:enumeration value="EvaluateWorkCandidateLookup"/>
-            <xsd:enumeration value="EvaluateWorkCandidateReasonLookup"/>
-            <xsd:enumeration value="EventAbatementCode"/>
-            <xsd:enumeration value="EventCodes"/>
-            <xsd:enumeration value="EventOrExposureCode"/>
-            <xsd:enumeration value="EventReappearanceCode"/>
-            <xsd:enumeration value="ExaminationFacility"/>
-            <xsd:enumeration value="ExcavationInformationCodeList"/>
-            <xsd:enumeration value="ExcessMaterialDispositionCode"/>
-            <xsd:enumeration value="ExciseDuty"/>
-            <xsd:enumeration value="ExportCommodityClassification-USScheduleB"/>
-            <xsd:enumeration value="ExportRequirements"/>
-            <xsd:enumeration value="ExtensionReason"/>
-            <xsd:enumeration value="EyeColorCode"/>
-            <xsd:enumeration value="FacilityIdentification"/>
-            <xsd:enumeration value="FacilitySecurityClearance"/>
-            <xsd:enumeration value="FailureToAwardReason"/>
-            <xsd:enumeration value="FannieMaeAdjustableRateMortgagePlanCodes"/>
-            <xsd:enumeration value="FannieMae-FederalNationalMortgageAssociation-MortgageInsuranceCode"/>
-            <xsd:enumeration value="FannieMae-FederalNationalMortgageAssociation-PoolFeatureCode"/>
-            <xsd:enumeration value="FannieMae-FederalNationalMortgageAssociation-RemittancePrograms"/>
-            <xsd:enumeration value="FannieMae-FederalNationalMortgageAssociation-SpecialFeatureCode"/>
-            <xsd:enumeration value="FannieMaeRefinancePlanCode"/>
-            <xsd:enumeration value="FederalFinanceCodeList1"/>
-            <xsd:enumeration value="FederalHealthCareCodeList1"/>
-            <xsd:enumeration value="FederalLogisticsCodeList1"/>
-            <xsd:enumeration value="FederalProcurementCodeList1"/>
-            <xsd:enumeration value="FederalTransportationCodeList1"/>
-            <xsd:enumeration value="FinancialAnalysisCategories"/>
-            <xsd:enumeration value="FinancialInformationType"/>
-            <xsd:enumeration value="FinancialItemAllocation"/>
-            <xsd:enumeration value="FinancialItemAttributedCode"/>
-            <xsd:enumeration value="FinancialItemReclassification"/>
-            <xsd:enumeration value="FinancialManagementServiceCash-LinkCode"/>
-            <xsd:enumeration value="FinancialRating"/>
-            <xsd:enumeration value="FinancialRegime"/>
-            <xsd:enumeration value="FinancialRouting"/>
-            <xsd:enumeration value="FinancialStatementFormat"/>
-            <xsd:enumeration value="FleetParameters"/>
-            <xsd:enumeration value="FlowOfTheGoods"/>
-            <xsd:enumeration value="Follow-UpCode"/>
-            <xsd:enumeration value="ForecastType"/>
-            <xsd:enumeration value="ForeignLineOfBusinessCode"/>
-            <xsd:enumeration value="ForeignMilitarySalesCountryCode"/>
-            <xsd:enumeration value="FormTypeCode"/>
-            <xsd:enumeration value="ForwardingRestrictions"/>
-            <xsd:enumeration value="FreddieMac-FederalHomeLoanMortgageCorporation-MortgageInsuranceCode"/>
-            <xsd:enumeration value="FreddieMac-FederalHomeLoanMortgageCorporation-RemittancePrograms"/>
-            <xsd:enumeration value="FreddieMac-FederalHomeLoanMortgageCorporation-SpecialCharacterCode"/>
-            <xsd:enumeration value="FreddieMacRefinancePlanCode"/>
-            <xsd:enumeration value="FreeOnBoardSiteCode"/>
-            <xsd:enumeration value="FreeZone"/>
-            <xsd:enumeration value="FreightForwarder"/>
-            <xsd:enumeration value="Frequency"/>
-            <xsd:enumeration value="FrequencyBand"/>
-            <xsd:enumeration value="FunctionalArea"/>
-            <xsd:enumeration value="FunctionalGroup"/>
-            <xsd:enumeration value="FundCode"/>
-            <xsd:enumeration value="FundPurpose"/>
-            <xsd:enumeration value="GainOrLossIndicatorCode"/>
-            <xsd:enumeration value="Gate"/>
-            <xsd:enumeration value="GeneralServicesAdministrationCustomerSupplyCenterNumberCode"/>
-            <xsd:enumeration value="GeneralTerritoryType"/>
-            <xsd:enumeration value="GeneratorSetMountingCode"/>
-            <xsd:enumeration value="GeographicLocation"/>
-            <xsd:enumeration value="GlassActionCode"/>
-            <xsd:enumeration value="GoodsDescription"/>
-            <xsd:enumeration value="GovernmentAgencyProcedure"/>
-            <xsd:enumeration value="GradeOfDifficulty"/>
-            <xsd:enumeration value="GroupQualifierCode"/>
-            <xsd:enumeration value="HairColorCode"/>
-            <xsd:enumeration value="HandlingAction"/>
-            <xsd:enumeration value="HarmonizedSystem"/>
-            <xsd:enumeration value="HazardousMaterialCode"/>
-            <xsd:enumeration value="HazardousMaterialsCredential"/>
-            <xsd:enumeration value="HazardousResponseCodes"/>
-            <xsd:enumeration value="HealthCareClaimStatusCode"/>
-            <xsd:enumeration value="HealthCareFinancingAdministrationCommonProceduralCodingSystem"/>
-            <xsd:enumeration value="HealthCareFinancingAdministrationCommonProceduralCodingSystemPrincipalProcedure"/>
-            <xsd:enumeration value="HealthCareFinancingAdministrationDurableMedicalEquipmentRegionalCarrierCertificateOfMedicalNecessityForms"/>
-            <xsd:enumeration value="HealthcareProviderCharacteristicsAndResources"/>
-            <xsd:enumeration value="HealthcareProviderTaxonomy"/>
-            <xsd:enumeration value="HealthIndustryNumber"/>
-            <xsd:enumeration value="HealthIndustryOrganizationIdentification"/>
-            <xsd:enumeration value="Hobby"/>
-            <xsd:enumeration value="Icd10"/>
-            <xsd:enumeration value="IdentificationCode"/>
-            <xsd:enumeration value="IdentifyingCharacteristics"/>
-            <xsd:enumeration value="IdentityDisclosureCode"/>
-            <xsd:enumeration value="ImmunizationInjectionCode"/>
-            <xsd:enumeration value="ImpactAxisOrAnalogPortCode"/>
-            <xsd:enumeration value="ImpactRecorderCode"/>
-            <xsd:enumeration value="IncidentConditionCode"/>
-            <xsd:enumeration value="IncidentConsequenceCode"/>
-            <xsd:enumeration value="IncidentLocationCode"/>
-            <xsd:enumeration value="IncidentRelatedActionCode"/>
-            <xsd:enumeration value="Incoterms1980"/>
-            <xsd:enumeration value="IndicatorCode"/>
-            <xsd:enumeration value="IndividualInsuranceFinancialDetail"/>
-            <xsd:enumeration value="IndividualParticipationInCompany"/>
-            <xsd:enumeration value="IndividualSecurityClearance"/>
-            <xsd:enumeration value="IndustryRating"/>
-            <xsd:enumeration value="InformationIndicatorCode"/>
-            <xsd:enumeration value="InformationRequestResult"/>
-            <xsd:enumeration value="InformationRequestType"/>
-            <xsd:enumeration value="InformationType"/>
-            <xsd:enumeration value="InitialTreatmentCode"/>
-            <xsd:enumeration value="InquirySelection"/>
-            <xsd:enumeration value="InspectionParameters"/>
-            <xsd:enumeration value="InsuranceCoverageDetail"/>
-            <xsd:enumeration value="InsuranceInformationIndicator"/>
-            <xsd:enumeration value="InsurancePlanDescriptionCharacteristics"/>
-            <xsd:enumeration value="IntermediateContainerCode"/>
-            <xsd:enumeration value="IntermediateContainerQuantityCode"/>
-            <xsd:enumeration value="InternationalClassificationOfDiseasesClinicalModificationProcedure"/>
-            <xsd:enumeration value="InternationalClassificationOfDiseasesClinicalModificationPrincipalProcedure"/>
-            <xsd:enumeration value="InternationalClassificationOfDiseasesClinicalModification-Icd-9-CmCode"/>
-            <xsd:enumeration value="InternationalStandardDesignationSystemForTeethAndAreasOfTheOralCavity"/>
-            <xsd:enumeration value="InventoryCategoryCode"/>
-            <xsd:enumeration value="InventoryTypeCode"/>
-            <xsd:enumeration value="InvestigationStatusCode"/>
-            <xsd:enumeration value="InvestmentFundType"/>
-            <xsd:enumeration value="InvestmentType"/>
-            <xsd:enumeration value="IrsQualificationCode"/>
-            <xsd:enumeration value="ItemManagementCode"/>
-            <xsd:enumeration value="ItemSourcingCategory"/>
-            <xsd:enumeration value="ItemType"/>
-            <xsd:enumeration value="JobCharacteristicsLookup"/>
-            <xsd:enumeration value="JobOriginatorLookup"/>
-            <xsd:enumeration value="JointLifeInsuranceIndicator"/>
-            <xsd:enumeration value="JudicialHearingTypeCode"/>
-            <xsd:enumeration value="JudicialOrderTypeCode"/>
-            <xsd:enumeration value="JudicialSentenceTypeCode"/>
-            <xsd:enumeration value="JurisdictionType"/>
-            <xsd:enumeration value="KeyEventLookup"/>
-            <xsd:enumeration value="KindOfContractCode"/>
-            <xsd:enumeration value="KindOfModificationCode"/>
-            <xsd:enumeration value="LaboratoryResultsIdentificationCode"/>
-            <xsd:enumeration value="LaboratoryTestConditionCode"/>
-            <xsd:enumeration value="LegalCaseType"/>
-            <xsd:enumeration value="LegalEvent"/>
-            <xsd:enumeration value="LegalStructureCode"/>
-            <xsd:enumeration value="LetterOfRecommendationRatingCategory"/>
-            <xsd:enumeration value="LiabilityDetails"/>
-            <xsd:enumeration value="LiabilityType"/>
-            <xsd:enumeration value="LifeOrAnnuityProductCode"/>
-            <xsd:enumeration value="LifeOrAnnuityServiceFeatures"/>
-            <xsd:enumeration value="LifeOrAnnuityStatusCodes"/>
-            <xsd:enumeration value="LifeReinsuranceMessageType"/>
-            <xsd:enumeration value="LineItemConditionCode"/>
-            <xsd:enumeration value="LineOfAuthority"/>
-            <xsd:enumeration value="LineOfBusinessCode"/>
-            <xsd:enumeration value="LoanType"/>
-            <xsd:enumeration value="LocaleOfActivity"/>
-            <xsd:enumeration value="LocalSourceCode"/>
-            <xsd:enumeration value="LocationCode"/>
-            <xsd:enumeration value="LocationOfGoods"/>
-            <xsd:enumeration value="LocationsForTariffCalculations"/>
-            <xsd:enumeration value="LogicalObservationIdentifierNamesAndCodesCodes"/>
-            <xsd:enumeration value="LogisticsCodeList"/>
-            <xsd:enumeration value="LossDescriptionCode"/>
-            <xsd:enumeration value="LossSeverityCode"/>
-            <xsd:enumeration value="LotTypeCode"/>
-            <xsd:enumeration value="MajorForceProgramCode"/>
-            <xsd:enumeration value="ManagementCode"/>
-            <xsd:enumeration value="ManagementIndicatorCode-Petroleum"/>
-            <xsd:enumeration value="ManualClassCode"/>
-            <xsd:enumeration value="MarineBerth"/>
-            <xsd:enumeration value="MarineWharf"/>
-            <xsd:enumeration value="MarketPlaceOrganizationID"/>
-            <xsd:enumeration value="MarketPlaceTradingPartnerID"/>
-            <xsd:enumeration value="MaterialControlCode"/>
-            <xsd:enumeration value="Materials"/>
-            <xsd:enumeration value="MeansOfCommunicationsIdentifier"/>
-            <xsd:enumeration value="MeansOfTransportIdentification"/>
-            <xsd:enumeration value="MechanizationOfContractAdministrationServicesSystemErrorCode"/>
-            <xsd:enumeration value="MediaAndStatusCode"/>
-            <xsd:enumeration value="MedicaidProvider"/>
-            <xsd:enumeration value="MedicalBenefitsSchedule"/>
-            <xsd:enumeration value="MedicareProvider"/>
-            <xsd:enumeration value="MediumOfTransmissionCode"/>
-            <xsd:enumeration value="MemberOrganizations"/>
-            <xsd:enumeration value="MethodEvaluationCode"/>
-            <xsd:enumeration value="MethodsOfPayment"/>
-            <xsd:enumeration value="MilitaryAndCivilianGradeCode"/>
-            <xsd:enumeration value="MilitaryAssistanceProgramAddressCode"/>
-            <xsd:enumeration value="MinorityIndicator"/>
-            <xsd:enumeration value="MissionImpactStatementCode"/>
-            <xsd:enumeration value="MonetaryFunctionDetail"/>
-            <xsd:enumeration value="MortgageIndexSourceCode"/>
-            <xsd:enumeration value="Multi-MediaObject"/>
-            <xsd:enumeration value="Nacha-NationalAutomatedClearingHouseAssociation"/>
-            <xsd:enumeration value="NationalCouncilForPrescriptionDrugProgramsRejectOrPaymentCodes"/>
-            <xsd:enumeration value="NationalCouncilOnCompensationInsuranceNatureOfInjuryCode"/>
-            <xsd:enumeration value="NationalCouncilOnCompensationInsurancePartOfBodyCode"/>
-            <xsd:enumeration value="NationalCouncilOnCompensationInsuranceSourceOfInjuryCode"/>
-            <xsd:enumeration value="NationalDrugCode"/>
-            <xsd:enumeration value="NationalMotorFreightClassificationCode"/>
-            <xsd:enumeration value="NationalStandardToothNumberingSystem"/>
-            <xsd:enumeration value="NatureOfBuy"/>
-            <xsd:enumeration value="NatureOfDebtCode"/>
-            <xsd:enumeration value="NatureOfEventCode"/>
-            <xsd:enumeration value="NatureOfInjuryCode"/>
-            <xsd:enumeration value="NatureOfSuit"/>
-            <xsd:enumeration value="NatureOfSuitCode"/>
-            <xsd:enumeration value="NatureOfTransaction"/>
-            <xsd:enumeration value="NoLongerConsideredForAwardReason"/>
-            <xsd:enumeration value="NomenclatureActivityClassificationEconomyCode"/>
-            <xsd:enumeration value="Non-PostalTown"/>
-            <xsd:enumeration value="NormeActiviteFrancaiseCode"/>
-            <xsd:enumeration value="NoticeType"/>
-            <xsd:enumeration value="NotificationIndicatorCode"/>
-            <xsd:enumeration value="ObligationVarianceCode"/>
-            <xsd:enumeration value="OccupationalSafetyAndHealthAdministrationNatureOfInjuryCode"/>
-            <xsd:enumeration value="OccupationalSafetyAndHealthAdministrationPartOfBodyCode"/>
-            <xsd:enumeration value="OccupationalSafetyAndHealthAdministrationSourceOfInjuryCode"/>
-            <xsd:enumeration value="OccupationClassification"/>
-            <xsd:enumeration value="OccupationCode"/>
-            <xsd:enumeration value="Occurrence"/>
-            <xsd:enumeration value="OccurrenceSpan"/>
-            <xsd:enumeration value="OceanCarrierCode"/>
-            <xsd:enumeration value="OfferAndReleaseOptionCode"/>
-            <xsd:enumeration value="OfficeOfWorkersCompensationProgramsNatureOfInjuryCode"/>
-            <xsd:enumeration value="OfficeOfWorkersCompensationProgramsOccupationCode"/>
-            <xsd:enumeration value="OfficeOfWorkersCompensationProgramsPartOfBodyCode"/>
-            <xsd:enumeration value="OfficeOfWorkersCompensationProgramsSourceOfInjuryCode"/>
-            <xsd:enumeration value="OperatingStatus"/>
-            <xsd:enumeration value="OperationType"/>
-            <xsd:enumeration value="OversizeOrOverweightCredential"/>
-            <xsd:enumeration value="OwnershipCode"/>
-            <xsd:enumeration value="OwnershipRights"/>
-            <xsd:enumeration value="PackageFailureCode"/>
-            <xsd:enumeration value="PackingAndOrUnpackingFacility"/>
-            <xsd:enumeration value="PackingRequirementLevelACode"/>
-            <xsd:enumeration value="PackingRequirementLevelBCode"/>
-            <xsd:enumeration value="PackingRequirementLevelCCode"/>
-            <xsd:enumeration value="PartOfBodyAffected"/>
-            <xsd:enumeration value="PartOfBodyCode"/>
-            <xsd:enumeration value="PartyIdentification"/>
-            <xsd:enumeration value="PassportNumber"/>
-            <xsd:enumeration value="PatientEventProblemCode"/>
-            <xsd:enumeration value="PaymentBehaviourRating"/>
-            <xsd:enumeration value="PaymentTypeCode"/>
-            <xsd:enumeration value="PedestrianCode"/>
-            <xsd:enumeration value="PersonalPropertyAndContentsCode"/>
-            <xsd:enumeration value="PetroleumBillType"/>
-            <xsd:enumeration value="PetroleumLandCategory"/>
-            <xsd:enumeration value="PetroleumLeaseStatus"/>
-            <xsd:enumeration value="PetroleumProductDisposition"/>
-            <xsd:enumeration value="PetroleumProductPoint-Of-Sale"/>
-            <xsd:enumeration value="PetroleumProductSellingArrangement"/>
-            <xsd:enumeration value="PetroleumProductValueAdjustment"/>
-            <xsd:enumeration value="PetroleumRegulatoryReport"/>
-            <xsd:enumeration value="PetroleumRoyaltyAdjustment"/>
-            <xsd:enumeration value="PetroleumRoyaltyCalculationMethod"/>
-            <xsd:enumeration value="PetroleumRoyaltyTransaction"/>
-            <xsd:enumeration value="PetroleumUnitedStatesGeologicalSurveyFormationCode"/>
-            <xsd:enumeration value="PetroleumWellAction"/>
-            <xsd:enumeration value="PetroleumWellClassificationStatus"/>
-            <xsd:enumeration value="PetroleumWellInformation"/>
-            <xsd:enumeration value="PetroleumWellShut-InReason"/>
-            <xsd:enumeration value="PetroleumWellTestInformation"/>
-            <xsd:enumeration value="PhysicalCharacteristicsCode"/>
-            <xsd:enumeration value="PlantClearanceOfficeCode"/>
-            <xsd:enumeration value="PlusOrMinusIndicatorCode"/>
-            <xsd:enumeration value="PolicyOnClaimIndicator"/>
-            <xsd:enumeration value="PolicyReserveValuationType"/>
-            <xsd:enumeration value="PolicyType"/>
-            <xsd:enumeration value="Port"/>
-            <xsd:enumeration value="PortalID"/>
-            <xsd:enumeration value="PostalDistrict"/>
-            <xsd:enumeration value="PostalServiceCarrierRoute"/>
-            <xsd:enumeration value="PostcodeDirectory"/>
-            <xsd:enumeration value="PostMarketStudyStatusCode"/>
-            <xsd:enumeration value="PreciousMetalsIndicatorCode"/>
-            <xsd:enumeration value="PreservationDataCode"/>
-            <xsd:enumeration value="PreservationMaterialCode"/>
-            <xsd:enumeration value="PreventiveMeasure"/>
-            <xsd:enumeration value="PrimaryDiagnosis"/>
-            <xsd:enumeration value="PrincipalDiagnosis"/>
-            <xsd:enumeration value="PrincipalPartyCitizenshipCode"/>
-            <xsd:enumeration value="PriorityDesignatorCode"/>
-            <xsd:enumeration value="PriorityLookup"/>
-            <xsd:enumeration value="ProducerFinancialHistoryCodes"/>
-            <xsd:enumeration value="ProductCode"/>
-            <xsd:enumeration value="ProductQualityDeficiencyReportSummaryCode"/>
-            <xsd:enumeration value="ProductSupplyCondition"/>
-            <xsd:enumeration value="ProfessionalDesignation"/>
-            <xsd:enumeration value="ProfessionalStatusCode"/>
-            <xsd:enumeration value="ProfessionTypeCode"/>
-            <xsd:enumeration value="ProgramOriginatorCode"/>
-            <xsd:enumeration value="ProgramYearCode"/>
-            <xsd:enumeration value="ProjectCode"/>
-            <xsd:enumeration value="ProjectionType"/>
-            <xsd:enumeration value="PropertyOwnershipExtent"/>
-            <xsd:enumeration value="PropertyOwnershipTypeCode"/>
-            <xsd:enumeration value="PropertyRecordStatusCode"/>
-            <xsd:enumeration value="PropertySourceCode"/>
-            <xsd:enumeration value="PropertyType"/>
-            <xsd:enumeration value="PropertyUnderwritingConditionCode"/>
-            <xsd:enumeration value="Proprietary"/>
-            <xsd:enumeration value="PurchasingContractOfficerInstructionsCode"/>
-            <xsd:enumeration value="PurposeCode"/>
-            <xsd:enumeration value="QualityAlertListReason"/>
-            <xsd:enumeration value="QualityAssuranceSiteCode"/>
-            <xsd:enumeration value="QualityConformance"/>
-            <xsd:enumeration value="QualityControlCode"/>
-            <xsd:enumeration value="QuantityPerUnitPackCode"/>
-            <xsd:enumeration value="QueryOptions"/>
-            <xsd:enumeration value="QueryStatus"/>
-            <xsd:enumeration value="RadioFrequencyType"/>
-            <xsd:enumeration value="RadioServiceType"/>
-            <xsd:enumeration value="RadioSystemType"/>
-            <xsd:enumeration value="RailAdditionalCharges"/>
-            <xsd:enumeration value="RailcarLetterMarking"/>
-            <xsd:enumeration value="RailDocumentNames"/>
-            <xsd:enumeration value="RailHandlingRestrictionsAndInstructions"/>
-            <xsd:enumeration value="RailHarmonizedCodificationOfTariffs"/>
-            <xsd:enumeration value="RailHarmonizedEquipmentType"/>
-            <xsd:enumeration value="RailRoutes"/>
-            <xsd:enumeration value="RailUnifiedNomenclatureOfGoods"/>
-            <xsd:enumeration value="RailwayCompanyNetwork"/>
-            <xsd:enumeration value="RailwayCustomer"/>
-            <xsd:enumeration value="RailwayFrontierAndTransitPoint"/>
-            <xsd:enumeration value="RailwayLocations"/>
-            <xsd:enumeration value="RailwayServicesHarmonizedCode"/>
-            <xsd:enumeration value="RateClass"/>
-            <xsd:enumeration value="RatingSummaryValue"/>
-            <xsd:enumeration value="RealEstateAssetType"/>
-            <xsd:enumeration value="ReasonForContractDeliveryDateRevisionCode"/>
-            <xsd:enumeration value="ReasonForDelayedClosingOfContractFileCode"/>
-            <xsd:enumeration value="ReasonForDisposalCode"/>
-            <xsd:enumeration value="ReasonForFinancialItemDetailChange"/>
-            <xsd:enumeration value="ReasonForPublicRecordFiling"/>
-            <xsd:enumeration value="ReasonForRequisitioningCode"/>
-            <xsd:enumeration value="RecipientOfBillingStatusCode"/>
-            <xsd:enumeration value="RecommendationsRegardingDelayedDeliveriesCode"/>
-            <xsd:enumeration value="RecordControlNumber"/>
-            <xsd:enumeration value="RecordPrecedenceBasedOnItsCurrencyInTime"/>
-            <xsd:enumeration value="ReferenceAndStationCode"/>
-            <xsd:enumeration value="RefrigerationUnitOperatingModeCode"/>
-            <xsd:enumeration value="Region"/>
-            <xsd:enumeration value="RegisteredContractorActivityCode"/>
-            <xsd:enumeration value="RegistrationType"/>
-            <xsd:enumeration value="ReinsuranceMonetaryType"/>
-            <xsd:enumeration value="ReinsurancePolicyAttributes"/>
-            <xsd:enumeration value="RejectAdviceCode"/>
-            <xsd:enumeration value="RejectIndicatorCode"/>
-            <xsd:enumeration value="RelatedDeviceApplicabilityCode"/>
-            <xsd:enumeration value="ReligiousAffiliationCode"/>
-            <xsd:enumeration value="RemedialActionCode"/>
-            <xsd:enumeration value="RemovableAccessoriesAndSpecialEquipmentOnRailcars"/>
-            <xsd:enumeration value="RentalCharge"/>
-            <xsd:enumeration value="RepairFacility"/>
-            <xsd:enumeration value="ReportableEventCode"/>
-            <xsd:enumeration value="ReportableEventStatusCode"/>
-            <xsd:enumeration value="ReportCode"/>
-            <xsd:enumeration value="ReportDistributionCode"/>
-            <xsd:enumeration value="ReportSourceCode"/>
-            <xsd:enumeration value="RepresentativeBuyIndicator"/>
-            <xsd:enumeration value="RequestCode"/>
-            <xsd:enumeration value="RequestType"/>
-            <xsd:enumeration value="RequirementCode"/>
-            <xsd:enumeration value="RequirementsIndicator"/>
-            <xsd:enumeration value="ResidencyIndicator"/>
-            <xsd:enumeration value="ResidentialAndCommercialRoomCode"/>
-            <xsd:enumeration value="ResponseStatusCode"/>
-            <xsd:enumeration value="RestrictionsAndProhibitionsPlacedOnTheRe-UseOf"/>
-            <xsd:enumeration value="ResultEvaluationCode"/>
-            <xsd:enumeration value="ReviewPeriodIndicatorCode"/>
-            <xsd:enumeration value="RiskClass"/>
-            <xsd:enumeration value="RoadCharacteristicCode"/>
-            <xsd:enumeration value="RoadwayDetail"/>
-            <xsd:enumeration value="RoadwayType"/>
-            <xsd:enumeration value="RouteCode"/>
-            <xsd:enumeration value="RunType"/>
-            <xsd:enumeration value="SafetyAndFitnessElectronicRecordSystemsErrorCode"/>
-            <xsd:enumeration value="SafetyAndFitnessElectronicRecordSystemsSubscriptionOption"/>
-            <xsd:enumeration value="SafetyHazardLookup"/>
-            <xsd:enumeration value="SafetyRegulation"/>
-            <xsd:enumeration value="SalesPriceConditionCode"/>
-            <xsd:enumeration value="SalvageDispositionCode"/>
-            <xsd:enumeration value="SampleExtractionLocation"/>
-            <xsd:enumeration value="SeavanOwnershipCode"/>
-            <xsd:enumeration value="SecondaryDiagnosis"/>
-            <xsd:enumeration value="SecondarySourceOfInjury"/>
-            <xsd:enumeration value="SecurityShareType"/>
-            <xsd:enumeration value="Service"/>
-            <xsd:enumeration value="ServiceAndAgencyCode"/>
-            <xsd:enumeration value="ServiceContractActOccupationCategoryCode"/>
-            <xsd:enumeration value="ServiceContractActOccupationClassificationCode"/>
-            <xsd:enumeration value="ServiceContractActOperationCode"/>
-            <xsd:enumeration value="SettlementOrPayoutOptions"/>
-            <xsd:enumeration value="ShareTypeCode"/>
-            <xsd:enumeration value="ShelfLifeCode"/>
-            <xsd:enumeration value="ShipmentAcceptanceDiscrepancyExplanationCode"/>
-            <xsd:enumeration value="ShipmentDescription"/>
-            <xsd:enumeration value="ShipmentHoldCode"/>
-            <xsd:enumeration value="ShipmentReleaseCode"/>
-            <xsd:enumeration value="ShippingAgent"/>
-            <xsd:enumeration value="SignalCode"/>
-            <xsd:enumeration value="SingleStateRegistrationSystemAndOperatingAuthorityCredential"/>
-            <xsd:enumeration value="SingleUseLabelCode"/>
-            <xsd:enumeration value="SizeAndType"/>
-            <xsd:enumeration value="SkinToneCode"/>
-            <xsd:enumeration value="SmallArmsErrorTransactionRejectCode"/>
-            <xsd:enumeration value="SmallArmsTransactionCode"/>
-            <xsd:enumeration value="SocialSecurityIdentification"/>
-            <xsd:enumeration value="SolicitationCancellationReason"/>
-            <xsd:enumeration value="SolicitationMethod"/>
-            <xsd:enumeration value="SoundCode"/>
-            <xsd:enumeration value="Source"/>
-            <xsd:enumeration value="SourceMaintenanceAndRecoverabilityCode"/>
-            <xsd:enumeration value="SourceOfDepositCode"/>
-            <xsd:enumeration value="SourceOfDisclosure"/>
-            <xsd:enumeration value="SourceOfInjuryCode"/>
-            <xsd:enumeration value="SourceOfLeadCode"/>
-            <xsd:enumeration value="SourceOfLossCode"/>
-            <xsd:enumeration value="SpecialCategoryCode"/>
-            <xsd:enumeration value="SpecialContractProvisionCode"/>
-            <xsd:enumeration value="SpecialDating"/>
-            <xsd:enumeration value="SpecialHandling"/>
-            <xsd:enumeration value="SpecialMarketingTypeCode"/>
-            <xsd:enumeration value="SpecialMarkingCode"/>
-            <xsd:enumeration value="SpecialMaterialIdentificationCode"/>
-            <xsd:enumeration value="SpecialProgramRequirementStatusCode"/>
-            <xsd:enumeration value="SpecialReimbursableProvisionsCode"/>
-            <xsd:enumeration value="SpecialRequirementLookup"/>
-            <xsd:enumeration value="SpecialRequirementsCode"/>
-            <xsd:enumeration value="StandardIndustrialClassification"/>
-            <xsd:enumeration value="StandardOccupationClassificationCode"/>
-            <xsd:enumeration value="StandardTextAccordingUSEmbargoRegulations"/>
-            <xsd:enumeration value="StandardTextClauses"/>
-            <xsd:enumeration value="StandardTextForExportAccordingNationalPrescriptions"/>
-            <xsd:enumeration value="StateCode"/>
-            <xsd:enumeration value="StationClassification"/>
-            <xsd:enumeration value="StationClassificationType"/>
-            <xsd:enumeration value="StatisticalAdministrativeInformationCode"/>
-            <xsd:enumeration value="StatisticalNatureOfTransaction"/>
-            <xsd:enumeration value="StatisticalObject"/>
-            <xsd:enumeration value="StatisticalProcedures"/>
-            <xsd:enumeration value="StatisticBundesAmtCode"/>
-            <xsd:enumeration value="StatusCode"/>
-            <xsd:enumeration value="StockExchangeCode"/>
-            <xsd:enumeration value="StockExchangeDetail"/>
-            <xsd:enumeration value="StockFundOrNon-StockFundCode"/>
-            <xsd:enumeration value="StorageFacility"/>
-            <xsd:enumeration value="StudentActivityTypeCode"/>
-            <xsd:enumeration value="StudentAwardCode"/>
-            <xsd:enumeration value="SubcaseNumber"/>
-            <xsd:enumeration value="SubrogationActionCode"/>
-            <xsd:enumeration value="SubrogationPaymentOptions"/>
-            <xsd:enumeration value="SubrogationRequestCodes"/>
-            <xsd:enumeration value="SubrogationResponseCodes"/>
-            <xsd:enumeration value="SubsistenceTypeOfPackCode"/>
-            <xsd:enumeration value="SuffixCode"/>
-            <xsd:enumeration value="SuffixOrLimitCode"/>
-            <xsd:enumeration value="SummonsTypeCode"/>
-            <xsd:enumeration value="SupplementalData"/>
-            <xsd:enumeration value="SupplementaryAccountingClassificationCode"/>
-            <xsd:enumeration value="SuppliersStockTurnover"/>
-            <xsd:enumeration value="SupplyConditionCode"/>
-            <xsd:enumeration value="SurfaceDescriptorCode"/>
-            <xsd:enumeration value="SWIFT"/>
-            <xsd:enumeration value="SyntaxNotes"/>
-            <xsd:enumeration value="SystematizedNomenclatureOfHumanAndVeterinaryMedicine"/>
-            <xsd:enumeration value="SystemStatus"/>
-            <xsd:enumeration value="TariffSchedule"/>
-            <xsd:enumeration value="TaxAssessmentMethod"/>
-            <xsd:enumeration value="TaxOrFeeExemptionReasonCode"/>
-            <xsd:enumeration value="TaxPartyIdentification"/>
-            <xsd:enumeration value="TechnicalAssessmentChecklist"/>
-            <xsd:enumeration value="TelephoneDirectory"/>
-            <xsd:enumeration value="TemplateCharacteristicLookup"/>
-            <xsd:enumeration value="TemplateOwnerLookup"/>
-            <xsd:enumeration value="TemplateTypeLookup"/>
-            <xsd:enumeration value="Termination"/>
-            <xsd:enumeration value="TermsOfDelivery"/>
-            <xsd:enumeration value="TertiaryDiagnosis"/>
-            <xsd:enumeration value="TestingDemographicCategoryCodeList"/>
-            <xsd:enumeration value="TestingServiceQuestionCodeList"/>
-            <xsd:enumeration value="TestingStatisticalCategoryCodeList"/>
-            <xsd:enumeration value="TestResultsCode"/>
-            <xsd:enumeration value="TitleDocumentCodeList"/>
-            <xsd:enumeration value="TitleExceptionAndRequirementCodeList"/>
-            <xsd:enumeration value="TradeCode"/>
-            <xsd:enumeration value="TrainIdentification"/>
-            <xsd:enumeration value="TransactionStatusIndicatorCode"/>
-            <xsd:enumeration value="TransportationBillCode"/>
-            <xsd:enumeration value="TransportationHoldingDelayCode"/>
-            <xsd:enumeration value="TransportationModeOrMethodCode"/>
-            <xsd:enumeration value="TransportationModeReasonCode"/>
-            <xsd:enumeration value="TransportationPriorityCode"/>
-            <xsd:enumeration value="TreasuryManagementAssociationServiceCode"/>
-            <xsd:enumeration value="TreasuryManagementAssociationServiceCodeAndBankServiceCode"/>
-            <xsd:enumeration value="TreasurySymbolCode"/>
-            <xsd:enumeration value="TreatmentCodes"/>
-            <xsd:enumeration value="TrendReason"/>
-            <xsd:enumeration value="TrialTypeCode"/>
-            <xsd:enumeration value="TypeAdjustmentCode"/>
-            <xsd:enumeration value="TypeAndCauseCode"/>
-            <xsd:enumeration value="TypeDue-InIndicator"/>
-            <xsd:enumeration value="TypeIdentityChangeCode"/>
-            <xsd:enumeration value="TypeInspectionCode"/>
-            <xsd:enumeration value="TypeNumericalControlSystemCode"/>
-            <xsd:enumeration value="TypeOfAssetsAndLiabilities"/>
-            <xsd:enumeration value="TypeOfAssistanceCode"/>
-            <xsd:enumeration value="TypeOfBillCode"/>
-            <xsd:enumeration value="TypeOfBusinessCode"/>
-            <xsd:enumeration value="TypeOfCargoCode"/>
-            <xsd:enumeration value="TypeOfContractCode"/>
-            <xsd:enumeration value="TypeOfContractorCode"/>
-            <xsd:enumeration value="TypeOfDelayCode"/>
-            <xsd:enumeration value="TypeOfFinancialAccount"/>
-            <xsd:enumeration value="TypeOfFirmCode"/>
-            <xsd:enumeration value="TypeOfIndustrialActivity"/>
-            <xsd:enumeration value="TypeOfInquiryCode"/>
-            <xsd:enumeration value="TypeOfInsured"/>
-            <xsd:enumeration value="TypeOfIssueCode"/>
-            <xsd:enumeration value="TypeOfLocationReconciliationRequest"/>
-            <xsd:enumeration value="TypeOfMediaCode"/>
-            <xsd:enumeration value="TypeOfPackage"/>
-            <xsd:enumeration value="TypeOfProcurement"/>
-            <xsd:enumeration value="TypeOfStorageCode"/>
-            <xsd:enumeration value="TypeOfSurveyQuestion"/>
-            <xsd:enumeration value="TypePackCode"/>
-            <xsd:enumeration value="TypePhysicalInventoryOrTransactionHistoryCode"/>
-            <xsd:enumeration value="UltimateRecipientCode"/>
-            <xsd:enumeration value="UnclaimedPropertyAdditionsDeletionsAndDeductionsCodes"/>
-            <xsd:enumeration value="UnclaimedPropertyTypeCode"/>
-            <xsd:enumeration value="UniformFreightClassificationCode"/>
-            <xsd:enumeration value="UniformResidentialAppraisalAttributesCode"/>
-            <xsd:enumeration value="UnitCode"/>
-            <xsd:enumeration value="UnitedNationsCommonCodingSystem"/>
-            <xsd:enumeration value="UnitedNationsStandardProductsAndServices"/>
-            <xsd:enumeration value="UnitedStatesDepartmentOfHealthAndHumanServicesOfficeOfVitalStatisticsE-Code"/>
-            <xsd:enumeration value="UnsolicitedProposalRejectionReason"/>
-            <xsd:enumeration value="UtilizationCode"/>
-            <xsd:enumeration value="VaccinationInnoculationOrIsolationCode"/>
-            <xsd:enumeration value="ValuationTypeCode"/>
-            <xsd:enumeration value="Value"/>
-            <xsd:enumeration value="ValueAddedTaxIdentification"/>
-            <xsd:enumeration value="VehicleClass"/>
-            <xsd:enumeration value="VehicleOccupantCode"/>
-            <xsd:enumeration value="VehicleParameters"/>
-            <xsd:enumeration value="VesselStatusAndTermsOfCarriageCode"/>
-            <xsd:enumeration value="VesselStowageLocationCode"/>
-            <xsd:enumeration value="VesselSustainingCode"/>
-            <xsd:enumeration value="ViewParameters"/>
-            <xsd:enumeration value="ViolationTypeCodeList"/>
-            <xsd:enumeration value="VoyageDocumentNumberCode"/>
-            <xsd:enumeration value="VoyageManifestReferenceCode"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="WarReserveMaterialRequirementCode"/>
-            <xsd:enumeration value="WaterCommodityAndSpecialHandlingCode"/>
-            <xsd:enumeration value="WaterTerminalIdentifierCode"/>
-            <xsd:enumeration value="WeightOrFragilityCode"/>
-            <xsd:enumeration value="WhenDiscoveredLookup"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfIdentifier">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Identifier"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfIdentifier" type="ListOfIdentifier"/>
-    <xsd:complexType name="NameAddress">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="ExternalAddressID" type="xsd:string"/>
-            <xsd:element name="Name1" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Name2" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Name3" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Identifier"/>
-            <xsd:element minOccurs="0" ref="POBox"/>
-            <xsd:element minOccurs="0" name="Street" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HouseNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="StreetSupplement1" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="StreetSupplement2" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Building" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Floor" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="RoomNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="InhouseMail" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Department" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="PostalCode" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="City" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="County" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Region"/>
-            <xsd:element minOccurs="0" name="District" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Country"/>
-            <xsd:element minOccurs="0" ref="Timezone"/>
-        </xsd:sequence>
-        <xsd:attribute name="AddressTypeCoded" type="AddressTypeCode" use="optional" default="NotApplicable"/>
-        <xsd:attribute name="AddressTypeCodedOther" type="xsd:string" use="optional"/>
-    </xsd:complexType>
-    <xsd:element name="NameAddress" type="NameAddress"/>
-    <xsd:complexType name="POBox">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:string">
-                <xsd:attribute name="POBoxPostalCode" type="xsd:string" use="optional"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="POBox" type="POBox"/>
-    <xsd:complexType name="Region">
-        <xsd:sequence>
-            <xsd:element name="RegionCoded" type="RegionCode"/>
-            <xsd:element minOccurs="0" name="RegionCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Region" type="Region"/>
-    <xsd:simpleType name="RegionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AUACT"/>
-            <xsd:enumeration value="AUNSW"/>
-            <xsd:enumeration value="AUNT"/>
-            <xsd:enumeration value="AUQLD"/>
-            <xsd:enumeration value="AUSA"/>
-            <xsd:enumeration value="AUTAS"/>
-            <xsd:enumeration value="AUVIC"/>
-            <xsd:enumeration value="AUWA"/>
-            <xsd:enumeration value="BRAC"/>
-            <xsd:enumeration value="BRAL"/>
-            <xsd:enumeration value="BRAM"/>
-            <xsd:enumeration value="BRAP"/>
-            <xsd:enumeration value="BRBA"/>
-            <xsd:enumeration value="BRCE"/>
-            <xsd:enumeration value="BRDF"/>
-            <xsd:enumeration value="BRES"/>
-            <xsd:enumeration value="BRGO"/>
-            <xsd:enumeration value="BRMA"/>
-            <xsd:enumeration value="BRMG"/>
-            <xsd:enumeration value="BRMS"/>
-            <xsd:enumeration value="BRMT"/>
-            <xsd:enumeration value="BRPA"/>
-            <xsd:enumeration value="BRPB"/>
-            <xsd:enumeration value="BRPE"/>
-            <xsd:enumeration value="BRPI"/>
-            <xsd:enumeration value="BRPR"/>
-            <xsd:enumeration value="BRRJ"/>
-            <xsd:enumeration value="BRRN"/>
-            <xsd:enumeration value="BRRO"/>
-            <xsd:enumeration value="BRRR"/>
-            <xsd:enumeration value="BRRS"/>
-            <xsd:enumeration value="BRSC"/>
-            <xsd:enumeration value="BRSE"/>
-            <xsd:enumeration value="BRSP"/>
-            <xsd:enumeration value="BRTO"/>
-            <xsd:enumeration value="CAAB"/>
-            <xsd:enumeration value="CABC"/>
-            <xsd:enumeration value="CAMB"/>
-            <xsd:enumeration value="CANB"/>
-            <xsd:enumeration value="CANF"/>
-            <xsd:enumeration value="CANS"/>
-            <xsd:enumeration value="CANT"/>
-            <xsd:enumeration value="CAON"/>
-            <xsd:enumeration value="CAPE"/>
-            <xsd:enumeration value="CAQC"/>
-            <xsd:enumeration value="CASK"/>
-            <xsd:enumeration value="CAYT"/>
-            <xsd:enumeration value="GBAM"/>
-            <xsd:enumeration value="GBAR"/>
-            <xsd:enumeration value="GBAT"/>
-            <xsd:enumeration value="GBBA"/>
-            <xsd:enumeration value="GBBB"/>
-            <xsd:enumeration value="GBBE"/>
-            <xsd:enumeration value="GBBF"/>
-            <xsd:enumeration value="GBBH"/>
-            <xsd:enumeration value="GBBK"/>
-            <xsd:enumeration value="GBBL"/>
-            <xsd:enumeration value="GBBM"/>
-            <xsd:enumeration value="GBBN"/>
-            <xsd:enumeration value="GBBO"/>
-            <xsd:enumeration value="GBBP"/>
-            <xsd:enumeration value="GBBR"/>
-            <xsd:enumeration value="GBBS"/>
-            <xsd:enumeration value="GBBU"/>
-            <xsd:enumeration value="GBBY"/>
-            <xsd:enumeration value="GBCA"/>
-            <xsd:enumeration value="GBCE"/>
-            <xsd:enumeration value="GBCG"/>
-            <xsd:enumeration value="GBCH"/>
-            <xsd:enumeration value="GBCI"/>
-            <xsd:enumeration value="GBCK"/>
-            <xsd:enumeration value="GBCL"/>
-            <xsd:enumeration value="GBCO"/>
-            <xsd:enumeration value="GBCR"/>
-            <xsd:enumeration value="GBCS"/>
-            <xsd:enumeration value="GBCU"/>
-            <xsd:enumeration value="GBCV"/>
-            <xsd:enumeration value="GBDB"/>
-            <xsd:enumeration value="GBDF"/>
-            <xsd:enumeration value="GBDG"/>
-            <xsd:enumeration value="GBDL"/>
-            <xsd:enumeration value="GBDN"/>
-            <xsd:enumeration value="GBDO"/>
-            <xsd:enumeration value="GBDU"/>
-            <xsd:enumeration value="GBDV"/>
-            <xsd:enumeration value="GBDY"/>
-            <xsd:enumeration value="GBER"/>
-            <xsd:enumeration value="GBES"/>
-            <xsd:enumeration value="GBFI"/>
-            <xsd:enumeration value="GBFM"/>
-            <xsd:enumeration value="GBGL"/>
-            <xsd:enumeration value="GBGM"/>
-            <xsd:enumeration value="GBGR"/>
-            <xsd:enumeration value="GBGS"/>
-            <xsd:enumeration value="GBGW"/>
-            <xsd:enumeration value="GBGY"/>
-            <xsd:enumeration value="GBHA"/>
-            <xsd:enumeration value="GBHI"/>
-            <xsd:enumeration value="GBHL"/>
-            <xsd:enumeration value="GBHR"/>
-            <xsd:enumeration value="GBHT"/>
-            <xsd:enumeration value="GBHW"/>
-            <xsd:enumeration value="GBIW"/>
-            <xsd:enumeration value="GBKE"/>
-            <xsd:enumeration value="GBKH"/>
-            <xsd:enumeration value="GBLA"/>
-            <xsd:enumeration value="GBLC"/>
-            <xsd:enumeration value="GBLD"/>
-            <xsd:enumeration value="GBLE"/>
-            <xsd:enumeration value="GBLI"/>
-            <xsd:enumeration value="GBLM"/>
-            <xsd:enumeration value="GBLO"/>
-            <xsd:enumeration value="GBLR"/>
-            <xsd:enumeration value="GBLS"/>
-            <xsd:enumeration value="GBLT"/>
-            <xsd:enumeration value="GBLU"/>
-            <xsd:enumeration value="GBMA"/>
-            <xsd:enumeration value="GBMG"/>
-            <xsd:enumeration value="GBMI"/>
-            <xsd:enumeration value="GBMK"/>
-            <xsd:enumeration value="GBMO"/>
-            <xsd:enumeration value="GBMY"/>
-            <xsd:enumeration value="GBNA"/>
-            <xsd:enumeration value="GBNB"/>
-            <xsd:enumeration value="GBNC"/>
-            <xsd:enumeration value="GBND"/>
-            <xsd:enumeration value="GBNE"/>
-            <xsd:enumeration value="GBNH"/>
-            <xsd:enumeration value="GBNK"/>
-            <xsd:enumeration value="GBNL"/>
-            <xsd:enumeration value="GBNM"/>
-            <xsd:enumeration value="GBNS"/>
-            <xsd:enumeration value="GBNT"/>
-            <xsd:enumeration value="GBNU"/>
-            <xsd:enumeration value="GBOM"/>
-            <xsd:enumeration value="GBOR"/>
-            <xsd:enumeration value="GBOX"/>
-            <xsd:enumeration value="GBPB"/>
-            <xsd:enumeration value="GBPL"/>
-            <xsd:enumeration value="GBPM"/>
-            <xsd:enumeration value="GBPO"/>
-            <xsd:enumeration value="GBPY"/>
-            <xsd:enumeration value="GBRD"/>
-            <xsd:enumeration value="GBRE"/>
-            <xsd:enumeration value="GBRM"/>
-            <xsd:enumeration value="GBRU"/>
-            <xsd:enumeration value="GBSC"/>
-            <xsd:enumeration value="GBSD"/>
-            <xsd:enumeration value="GBSE"/>
-            <xsd:enumeration value="GBSG"/>
-            <xsd:enumeration value="GBSH"/>
-            <xsd:enumeration value="GBSK"/>
-            <xsd:enumeration value="GBSL"/>
-            <xsd:enumeration value="GBSN"/>
-            <xsd:enumeration value="GBSO"/>
-            <xsd:enumeration value="GBSP"/>
-            <xsd:enumeration value="GBSR"/>
-            <xsd:enumeration value="GBST"/>
-            <xsd:enumeration value="GBSU"/>
-            <xsd:enumeration value="GBSW"/>
-            <xsd:enumeration value="GBSY"/>
-            <xsd:enumeration value="GBTA"/>
-            <xsd:enumeration value="GBTD"/>
-            <xsd:enumeration value="GBTH"/>
-            <xsd:enumeration value="GBTO"/>
-            <xsd:enumeration value="GBTW"/>
-            <xsd:enumeration value="GBWA"/>
-            <xsd:enumeration value="GBWD"/>
-            <xsd:enumeration value="GBWG"/>
-            <xsd:enumeration value="GBWI"/>
-            <xsd:enumeration value="GBWL"/>
-            <xsd:enumeration value="GBWM"/>
-            <xsd:enumeration value="GBWO"/>
-            <xsd:enumeration value="GBWR"/>
-            <xsd:enumeration value="GBWT"/>
-            <xsd:enumeration value="GBYK"/>
-            <xsd:enumeration value="GBYN"/>
-            <xsd:enumeration value="GBYS"/>
-            <xsd:enumeration value="GBYW"/>
-            <xsd:enumeration value="ITAG"/>
-            <xsd:enumeration value="ITAL"/>
-            <xsd:enumeration value="ITAN"/>
-            <xsd:enumeration value="ITAO"/>
-            <xsd:enumeration value="ITAP"/>
-            <xsd:enumeration value="ITAQ"/>
-            <xsd:enumeration value="ITAR"/>
-            <xsd:enumeration value="ITAT"/>
-            <xsd:enumeration value="ITAV"/>
-            <xsd:enumeration value="ITBA"/>
-            <xsd:enumeration value="ITBG"/>
-            <xsd:enumeration value="ITBI"/>
-            <xsd:enumeration value="ITBL"/>
-            <xsd:enumeration value="ITBN"/>
-            <xsd:enumeration value="ITBO"/>
-            <xsd:enumeration value="ITBR"/>
-            <xsd:enumeration value="ITBS"/>
-            <xsd:enumeration value="ITBZ"/>
-            <xsd:enumeration value="ITCA"/>
-            <xsd:enumeration value="ITCB"/>
-            <xsd:enumeration value="ITCE"/>
-            <xsd:enumeration value="ITCH"/>
-            <xsd:enumeration value="ITCL"/>
-            <xsd:enumeration value="ITCN"/>
-            <xsd:enumeration value="ITCO"/>
-            <xsd:enumeration value="ITCR"/>
-            <xsd:enumeration value="ITCS"/>
-            <xsd:enumeration value="ITCT"/>
-            <xsd:enumeration value="ITCZ"/>
-            <xsd:enumeration value="ITEN"/>
-            <xsd:enumeration value="ITFE"/>
-            <xsd:enumeration value="ITFG"/>
-            <xsd:enumeration value="ITFI"/>
-            <xsd:enumeration value="ITFO"/>
-            <xsd:enumeration value="ITFR"/>
-            <xsd:enumeration value="ITGE"/>
-            <xsd:enumeration value="ITGO"/>
-            <xsd:enumeration value="ITGR"/>
-            <xsd:enumeration value="ITIM"/>
-            <xsd:enumeration value="ITIS"/>
-            <xsd:enumeration value="ITKR"/>
-            <xsd:enumeration value="ITLC"/>
-            <xsd:enumeration value="ITLE"/>
-            <xsd:enumeration value="ITLI"/>
-            <xsd:enumeration value="ITLO"/>
-            <xsd:enumeration value="ITLT"/>
-            <xsd:enumeration value="ITLU"/>
-            <xsd:enumeration value="ITMC"/>
-            <xsd:enumeration value="ITME"/>
-            <xsd:enumeration value="ITMI"/>
-            <xsd:enumeration value="ITMN"/>
-            <xsd:enumeration value="ITMO"/>
-            <xsd:enumeration value="ITMS"/>
-            <xsd:enumeration value="ITMT"/>
-            <xsd:enumeration value="ITNA"/>
-            <xsd:enumeration value="ITNO"/>
-            <xsd:enumeration value="ITNU"/>
-            <xsd:enumeration value="ITOR"/>
-            <xsd:enumeration value="ITPA"/>
-            <xsd:enumeration value="ITPC"/>
-            <xsd:enumeration value="ITPD"/>
-            <xsd:enumeration value="ITPE"/>
-            <xsd:enumeration value="ITPG"/>
-            <xsd:enumeration value="ITPI"/>
-            <xsd:enumeration value="ITPN"/>
-            <xsd:enumeration value="ITPO"/>
-            <xsd:enumeration value="ITPR"/>
-            <xsd:enumeration value="ITPS"/>
-            <xsd:enumeration value="ITPT"/>
-            <xsd:enumeration value="ITPV"/>
-            <xsd:enumeration value="ITPZ"/>
-            <xsd:enumeration value="ITRA"/>
-            <xsd:enumeration value="ITRC"/>
-            <xsd:enumeration value="ITRE"/>
-            <xsd:enumeration value="ITRG"/>
-            <xsd:enumeration value="ITRI"/>
-            <xsd:enumeration value="ITRM"/>
-            <xsd:enumeration value="ITRN"/>
-            <xsd:enumeration value="ITRO"/>
-            <xsd:enumeration value="ITRV"/>
-            <xsd:enumeration value="ITSA"/>
-            <xsd:enumeration value="ITSI"/>
-            <xsd:enumeration value="ITSO"/>
-            <xsd:enumeration value="ITSP"/>
-            <xsd:enumeration value="ITSR"/>
-            <xsd:enumeration value="ITSS"/>
-            <xsd:enumeration value="ITSV"/>
-            <xsd:enumeration value="ITTA"/>
-            <xsd:enumeration value="ITTE"/>
-            <xsd:enumeration value="ITTN"/>
-            <xsd:enumeration value="ITTO"/>
-            <xsd:enumeration value="ITTP"/>
-            <xsd:enumeration value="ITTR"/>
-            <xsd:enumeration value="ITTS"/>
-            <xsd:enumeration value="ITTV"/>
-            <xsd:enumeration value="ITUD"/>
-            <xsd:enumeration value="ITVA"/>
-            <xsd:enumeration value="ITVC"/>
-            <xsd:enumeration value="ITVE"/>
-            <xsd:enumeration value="ITVI"/>
-            <xsd:enumeration value="ITVR"/>
-            <xsd:enumeration value="ITVT"/>
-            <xsd:enumeration value="ITVV"/>
-            <xsd:enumeration value="USAK"/>
-            <xsd:enumeration value="USAL"/>
-            <xsd:enumeration value="USAR"/>
-            <xsd:enumeration value="USAS"/>
-            <xsd:enumeration value="USAZ"/>
-            <xsd:enumeration value="USCA"/>
-            <xsd:enumeration value="USCO"/>
-            <xsd:enumeration value="USCT"/>
-            <xsd:enumeration value="USDC"/>
-            <xsd:enumeration value="USDE"/>
-            <xsd:enumeration value="USFL"/>
-            <xsd:enumeration value="USGA"/>
-            <xsd:enumeration value="USGU"/>
-            <xsd:enumeration value="USHI"/>
-            <xsd:enumeration value="USIA"/>
-            <xsd:enumeration value="USID"/>
-            <xsd:enumeration value="USIL"/>
-            <xsd:enumeration value="USIN"/>
-            <xsd:enumeration value="USKS"/>
-            <xsd:enumeration value="USKY"/>
-            <xsd:enumeration value="USLA"/>
-            <xsd:enumeration value="USMA"/>
-            <xsd:enumeration value="USMD"/>
-            <xsd:enumeration value="USME"/>
-            <xsd:enumeration value="USMI"/>
-            <xsd:enumeration value="USMN"/>
-            <xsd:enumeration value="USMO"/>
-            <xsd:enumeration value="USMP"/>
-            <xsd:enumeration value="USMS"/>
-            <xsd:enumeration value="USMT"/>
-            <xsd:enumeration value="USNC"/>
-            <xsd:enumeration value="USND"/>
-            <xsd:enumeration value="USNE"/>
-            <xsd:enumeration value="USNH"/>
-            <xsd:enumeration value="USNJ"/>
-            <xsd:enumeration value="USNM"/>
-            <xsd:enumeration value="USNV"/>
-            <xsd:enumeration value="USNY"/>
-            <xsd:enumeration value="USOH"/>
-            <xsd:enumeration value="USOK"/>
-            <xsd:enumeration value="USOR"/>
-            <xsd:enumeration value="USPA"/>
-            <xsd:enumeration value="USPR"/>
-            <xsd:enumeration value="USRI"/>
-            <xsd:enumeration value="USSC"/>
-            <xsd:enumeration value="USSD"/>
-            <xsd:enumeration value="USTN"/>
-            <xsd:enumeration value="USTX"/>
-            <xsd:enumeration value="USUT"/>
-            <xsd:enumeration value="USVA"/>
-            <xsd:enumeration value="USVI"/>
-            <xsd:enumeration value="USVT"/>
-            <xsd:enumeration value="USWA"/>
-            <xsd:enumeration value="USWI"/>
-            <xsd:enumeration value="USWV"/>
-            <xsd:enumeration value="USWY"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Country">
-        <xsd:sequence>
-            <xsd:element name="CountryCoded" type="CountryCode"/>
-            <xsd:element minOccurs="0" name="CountryCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Country" type="Country"/>
-    <xsd:simpleType name="CountryCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AE"/>
-            <xsd:enumeration value="AF"/>
-            <xsd:enumeration value="AG"/>
-            <xsd:enumeration value="AI"/>
-            <xsd:enumeration value="AL"/>
-            <xsd:enumeration value="AM"/>
-            <xsd:enumeration value="AN"/>
-            <xsd:enumeration value="AO"/>
-            <xsd:enumeration value="AQ"/>
-            <xsd:enumeration value="AR"/>
-            <xsd:enumeration value="AS"/>
-            <xsd:enumeration value="AT"/>
-            <xsd:enumeration value="AU"/>
-            <xsd:enumeration value="AW"/>
-            <xsd:enumeration value="AZ"/>
-            <xsd:enumeration value="BA"/>
-            <xsd:enumeration value="BB"/>
-            <xsd:enumeration value="BD"/>
-            <xsd:enumeration value="BE"/>
-            <xsd:enumeration value="BF"/>
-            <xsd:enumeration value="BG"/>
-            <xsd:enumeration value="BH"/>
-            <xsd:enumeration value="BI"/>
-            <xsd:enumeration value="BJ"/>
-            <xsd:enumeration value="BM"/>
-            <xsd:enumeration value="BN"/>
-            <xsd:enumeration value="BO"/>
-            <xsd:enumeration value="BR"/>
-            <xsd:enumeration value="BS"/>
-            <xsd:enumeration value="BT"/>
-            <xsd:enumeration value="BU"/>
-            <xsd:enumeration value="BW"/>
-            <xsd:enumeration value="BY"/>
-            <xsd:enumeration value="BZ"/>
-            <xsd:enumeration value="CA"/>
-            <xsd:enumeration value="CC"/>
-            <xsd:enumeration value="CD"/>
-            <xsd:enumeration value="CF"/>
-            <xsd:enumeration value="CG"/>
-            <xsd:enumeration value="CH"/>
-            <xsd:enumeration value="CI"/>
-            <xsd:enumeration value="CK"/>
-            <xsd:enumeration value="CL"/>
-            <xsd:enumeration value="CM"/>
-            <xsd:enumeration value="CN"/>
-            <xsd:enumeration value="CO"/>
-            <xsd:enumeration value="CR"/>
-            <xsd:enumeration value="CS"/>
-            <xsd:enumeration value="CU"/>
-            <xsd:enumeration value="CV"/>
-            <xsd:enumeration value="CX"/>
-            <xsd:enumeration value="CY"/>
-            <xsd:enumeration value="CZ"/>
-            <xsd:enumeration value="DE"/>
-            <xsd:enumeration value="DJ"/>
-            <xsd:enumeration value="DK"/>
-            <xsd:enumeration value="DM"/>
-            <xsd:enumeration value="DO"/>
-            <xsd:enumeration value="DZ"/>
-            <xsd:enumeration value="EC"/>
-            <xsd:enumeration value="EE"/>
-            <xsd:enumeration value="EG"/>
-            <xsd:enumeration value="EH"/>
-            <xsd:enumeration value="ER"/>
-            <xsd:enumeration value="ES"/>
-            <xsd:enumeration value="ET"/>
-            <xsd:enumeration value="FI"/>
-            <xsd:enumeration value="FJ"/>
-            <xsd:enumeration value="FK"/>
-            <xsd:enumeration value="FM"/>
-            <xsd:enumeration value="FO"/>
-            <xsd:enumeration value="FR"/>
-            <xsd:enumeration value="GA"/>
-            <xsd:enumeration value="GB"/>
-            <xsd:enumeration value="GD"/>
-            <xsd:enumeration value="GE"/>
-            <xsd:enumeration value="GF"/>
-            <xsd:enumeration value="GH"/>
-            <xsd:enumeration value="GI"/>
-            <xsd:enumeration value="GL"/>
-            <xsd:enumeration value="GM"/>
-            <xsd:enumeration value="GN"/>
-            <xsd:enumeration value="GP"/>
-            <xsd:enumeration value="GQ"/>
-            <xsd:enumeration value="GR"/>
-            <xsd:enumeration value="GS"/>
-            <xsd:enumeration value="GT"/>
-            <xsd:enumeration value="GU"/>
-            <xsd:enumeration value="GW"/>
-            <xsd:enumeration value="GY"/>
-            <xsd:enumeration value="HK"/>
-            <xsd:enumeration value="HN"/>
-            <xsd:enumeration value="HR"/>
-            <xsd:enumeration value="HT"/>
-            <xsd:enumeration value="HU"/>
-            <xsd:enumeration value="ID"/>
-            <xsd:enumeration value="IE"/>
-            <xsd:enumeration value="IL"/>
-            <xsd:enumeration value="IN"/>
-            <xsd:enumeration value="IO"/>
-            <xsd:enumeration value="IQ"/>
-            <xsd:enumeration value="IR"/>
-            <xsd:enumeration value="IS"/>
-            <xsd:enumeration value="IT"/>
-            <xsd:enumeration value="JM"/>
-            <xsd:enumeration value="JO"/>
-            <xsd:enumeration value="JP"/>
-            <xsd:enumeration value="KE"/>
-            <xsd:enumeration value="KG"/>
-            <xsd:enumeration value="KH"/>
-            <xsd:enumeration value="KI"/>
-            <xsd:enumeration value="KM"/>
-            <xsd:enumeration value="KN"/>
-            <xsd:enumeration value="KP"/>
-            <xsd:enumeration value="KR"/>
-            <xsd:enumeration value="KW"/>
-            <xsd:enumeration value="KY"/>
-            <xsd:enumeration value="KZ"/>
-            <xsd:enumeration value="LA"/>
-            <xsd:enumeration value="LB"/>
-            <xsd:enumeration value="LC"/>
-            <xsd:enumeration value="LI"/>
-            <xsd:enumeration value="LK"/>
-            <xsd:enumeration value="LR"/>
-            <xsd:enumeration value="LS"/>
-            <xsd:enumeration value="LT"/>
-            <xsd:enumeration value="LU"/>
-            <xsd:enumeration value="LV"/>
-            <xsd:enumeration value="LY"/>
-            <xsd:enumeration value="MA"/>
-            <xsd:enumeration value="MC"/>
-            <xsd:enumeration value="MD"/>
-            <xsd:enumeration value="MG"/>
-            <xsd:enumeration value="MH"/>
-            <xsd:enumeration value="MK"/>
-            <xsd:enumeration value="ML"/>
-            <xsd:enumeration value="MM"/>
-            <xsd:enumeration value="MN"/>
-            <xsd:enumeration value="MO"/>
-            <xsd:enumeration value="MP"/>
-            <xsd:enumeration value="MQ"/>
-            <xsd:enumeration value="MR"/>
-            <xsd:enumeration value="MS"/>
-            <xsd:enumeration value="MT"/>
-            <xsd:enumeration value="MU"/>
-            <xsd:enumeration value="MV"/>
-            <xsd:enumeration value="MW"/>
-            <xsd:enumeration value="MX"/>
-            <xsd:enumeration value="MY"/>
-            <xsd:enumeration value="MZ"/>
-            <xsd:enumeration value="NA"/>
-            <xsd:enumeration value="NC"/>
-            <xsd:enumeration value="NE"/>
-            <xsd:enumeration value="NF"/>
-            <xsd:enumeration value="NG"/>
-            <xsd:enumeration value="NI"/>
-            <xsd:enumeration value="NL"/>
-            <xsd:enumeration value="NO"/>
-            <xsd:enumeration value="NP"/>
-            <xsd:enumeration value="NR"/>
-            <xsd:enumeration value="NU"/>
-            <xsd:enumeration value="NZ"/>
-            <xsd:enumeration value="OM"/>
-            <xsd:enumeration value="PA"/>
-            <xsd:enumeration value="PE"/>
-            <xsd:enumeration value="PF"/>
-            <xsd:enumeration value="PG"/>
-            <xsd:enumeration value="PH"/>
-            <xsd:enumeration value="PK"/>
-            <xsd:enumeration value="PL"/>
-            <xsd:enumeration value="PM"/>
-            <xsd:enumeration value="PN"/>
-            <xsd:enumeration value="PR"/>
-            <xsd:enumeration value="PT"/>
-            <xsd:enumeration value="PW"/>
-            <xsd:enumeration value="PY"/>
-            <xsd:enumeration value="QA"/>
-            <xsd:enumeration value="RE"/>
-            <xsd:enumeration value="RO"/>
-            <xsd:enumeration value="RU"/>
-            <xsd:enumeration value="RW"/>
-            <xsd:enumeration value="SA"/>
-            <xsd:enumeration value="SB"/>
-            <xsd:enumeration value="SC"/>
-            <xsd:enumeration value="SD"/>
-            <xsd:enumeration value="SE"/>
-            <xsd:enumeration value="SG"/>
-            <xsd:enumeration value="SH"/>
-            <xsd:enumeration value="SI"/>
-            <xsd:enumeration value="SJ"/>
-            <xsd:enumeration value="SK"/>
-            <xsd:enumeration value="SL"/>
-            <xsd:enumeration value="SM"/>
-            <xsd:enumeration value="SN"/>
-            <xsd:enumeration value="SO"/>
-            <xsd:enumeration value="SR"/>
-            <xsd:enumeration value="ST"/>
-            <xsd:enumeration value="SV"/>
-            <xsd:enumeration value="SY"/>
-            <xsd:enumeration value="SZ"/>
-            <xsd:enumeration value="TC"/>
-            <xsd:enumeration value="TD"/>
-            <xsd:enumeration value="TF"/>
-            <xsd:enumeration value="TG"/>
-            <xsd:enumeration value="TH"/>
-            <xsd:enumeration value="TJ"/>
-            <xsd:enumeration value="TM"/>
-            <xsd:enumeration value="TN"/>
-            <xsd:enumeration value="TO"/>
-            <xsd:enumeration value="TP"/>
-            <xsd:enumeration value="TR"/>
-            <xsd:enumeration value="TT"/>
-            <xsd:enumeration value="TV"/>
-            <xsd:enumeration value="TW"/>
-            <xsd:enumeration value="TZ"/>
-            <xsd:enumeration value="UA"/>
-            <xsd:enumeration value="UG"/>
-            <xsd:enumeration value="UM"/>
-            <xsd:enumeration value="US"/>
-            <xsd:enumeration value="UY"/>
-            <xsd:enumeration value="UZ"/>
-            <xsd:enumeration value="VA"/>
-            <xsd:enumeration value="VC"/>
-            <xsd:enumeration value="VE"/>
-            <xsd:enumeration value="VG"/>
-            <xsd:enumeration value="VI"/>
-            <xsd:enumeration value="VN"/>
-            <xsd:enumeration value="VU"/>
-            <xsd:enumeration value="WF"/>
-            <xsd:enumeration value="WS"/>
-            <xsd:enumeration value="YE"/>
-            <xsd:enumeration value="YT"/>
-            <xsd:enumeration value="YU"/>
-            <xsd:enumeration value="ZA"/>
-            <xsd:enumeration value="ZM"/>
-            <xsd:enumeration value="ZW"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Timezone">
-        <xsd:sequence>
-            <xsd:element name="TimezoneCoded" type="TimezoneCode"/>
-            <xsd:element minOccurs="0" name="TimezoneCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Timezone" type="Timezone"/>
-    <xsd:simpleType name="TimezoneCode">
-        <xsd:restriction base="xsd:string">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="12.00"/>
-            <xsd:enumeration value="11.45"/>
-            <xsd:enumeration value="11.30"/>
-            <xsd:enumeration value="11.15"/>
-            <xsd:enumeration value="11.00"/>
-            <xsd:enumeration value="10.45"/>
-            <xsd:enumeration value="10.30"/>
-            <xsd:enumeration value="10.15"/>
-            <xsd:enumeration value="10.00"/>
-            <xsd:enumeration value="09.45"/>
-            <xsd:enumeration value="09.30"/>
-            <xsd:enumeration value="09.15"/>
-            <xsd:enumeration value="09.00"/>
-            <xsd:enumeration value="08.45"/>
-            <xsd:enumeration value="08.30"/>
-            <xsd:enumeration value="08.15"/>
-            <xsd:enumeration value="08.00"/>
-            <xsd:enumeration value="07.45"/>
-            <xsd:enumeration value="07.30"/>
-            <xsd:enumeration value="07.15"/>
-            <xsd:enumeration value="07.00"/>
-            <xsd:enumeration value="06.45"/>
-            <xsd:enumeration value="06.30"/>
-            <xsd:enumeration value="06.15"/>
-            <xsd:enumeration value="06.00"/>
-            <xsd:enumeration value="05.45"/>
-            <xsd:enumeration value="05.30"/>
-            <xsd:enumeration value="05.15"/>
-            <xsd:enumeration value="05.00"/>
-            <xsd:enumeration value="04.45"/>
-            <xsd:enumeration value="04.30"/>
-            <xsd:enumeration value="04.15"/>
-            <xsd:enumeration value="04.00"/>
-            <xsd:enumeration value="03.45"/>
-            <xsd:enumeration value="03.30"/>
-            <xsd:enumeration value="03.15"/>
-            <xsd:enumeration value="03.00"/>
-            <xsd:enumeration value="02.45"/>
-            <xsd:enumeration value="02.30"/>
-            <xsd:enumeration value="02.15"/>
-            <xsd:enumeration value="02.00"/>
-            <xsd:enumeration value="01.45"/>
-            <xsd:enumeration value="01.30"/>
-            <xsd:enumeration value="01.15"/>
-            <xsd:enumeration value="01.00"/>
-            <xsd:enumeration value="00.45"/>
-            <xsd:enumeration value="00.30"/>
-            <xsd:enumeration value="00.15"/>
-            <xsd:enumeration value="00.00"/>
-            <xsd:enumeration value="-00.15"/>
-            <xsd:enumeration value="-00.30"/>
-            <xsd:enumeration value="-00.45"/>
-            <xsd:enumeration value="-01.00"/>
-            <xsd:enumeration value="-01.15"/>
-            <xsd:enumeration value="-01.30"/>
-            <xsd:enumeration value="-01.45"/>
-            <xsd:enumeration value="-02.00"/>
-            <xsd:enumeration value="-02.15"/>
-            <xsd:enumeration value="-02.30"/>
-            <xsd:enumeration value="-02.45"/>
-            <xsd:enumeration value="-03.00"/>
-            <xsd:enumeration value="-03.15"/>
-            <xsd:enumeration value="-03.30"/>
-            <xsd:enumeration value="-03.45"/>
-            <xsd:enumeration value="-04.00"/>
-            <xsd:enumeration value="-04.15"/>
-            <xsd:enumeration value="-04.30"/>
-            <xsd:enumeration value="-04.45"/>
-            <xsd:enumeration value="-05.00"/>
-            <xsd:enumeration value="-05.15"/>
-            <xsd:enumeration value="-05.30"/>
-            <xsd:enumeration value="-05.45"/>
-            <xsd:enumeration value="-06.00"/>
-            <xsd:enumeration value="-06.15"/>
-            <xsd:enumeration value="-06.30"/>
-            <xsd:enumeration value="-06.45"/>
-            <xsd:enumeration value="-07.00"/>
-            <xsd:enumeration value="-07.15"/>
-            <xsd:enumeration value="-07.30"/>
-            <xsd:enumeration value="-07.45"/>
-            <xsd:enumeration value="-08.00"/>
-            <xsd:enumeration value="-08.15"/>
-            <xsd:enumeration value="-08.30"/>
-            <xsd:enumeration value="-08.45"/>
-            <xsd:enumeration value="-09.00"/>
-            <xsd:enumeration value="-09.15"/>
-            <xsd:enumeration value="-09.30"/>
-            <xsd:enumeration value="-09.45"/>
-            <xsd:enumeration value="-10.00"/>
-            <xsd:enumeration value="-10.15"/>
-            <xsd:enumeration value="-10.30"/>
-            <xsd:enumeration value="-10.45"/>
-            <xsd:enumeration value="-11.00"/>
-            <xsd:enumeration value="-11.15"/>
-            <xsd:enumeration value="-11.30"/>
-            <xsd:enumeration value="-11.45"/>
-            <xsd:enumeration value="-12.00"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="AddressTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AcceptanceLocation"/>
-            <xsd:enumeration value="AccountsPayableOffice"/>
-            <xsd:enumeration value="AcknowledgementRecipient"/>
-            <xsd:enumeration value="AdditionalAddress"/>
-            <xsd:enumeration value="AdditionalDeliveryAddress"/>
-            <xsd:enumeration value="AdditionalPickUpAddress"/>
-            <xsd:enumeration value="AlcoholBeverageDepartment"/>
-            <xsd:enumeration value="AlternateReturnAddress"/>
-            <xsd:enumeration value="AlternativeAddressee"/>
-            <xsd:enumeration value="AuditOffice"/>
-            <xsd:enumeration value="BailmentWarehouse"/>
-            <xsd:enumeration value="BidOpeningLocation"/>
-            <xsd:enumeration value="BillAndShipTo"/>
-            <xsd:enumeration value="BilledFrom"/>
-            <xsd:enumeration value="BillOfLadingRecipient"/>
-            <xsd:enumeration value="BillTo"/>
-            <xsd:enumeration value="BookingOffice"/>
-            <xsd:enumeration value="CandyAndConfectionsDepartment"/>
-            <xsd:enumeration value="ChangedAddress"/>
-            <xsd:enumeration value="CompanyAssignedWell"/>
-            <xsd:enumeration value="Company-OwnedOilField"/>
-            <xsd:enumeration value="ConsigneeCourierTransferStation"/>
-            <xsd:enumeration value="ConsignorCourierTransferStation"/>
-            <xsd:enumeration value="ConsultantsOffice"/>
-            <xsd:enumeration value="ContactOffice"/>
-            <xsd:enumeration value="ContainerLocation"/>
-            <xsd:enumeration value="CopyMessageTo"/>
-            <xsd:enumeration value="CorporateOffice"/>
-            <xsd:enumeration value="CorrectedAddress"/>
-            <xsd:enumeration value="DeliveryAddress"/>
-            <xsd:enumeration value="DestinationMailFacility"/>
-            <xsd:enumeration value="DifferentPremiseAddress"/>
-            <xsd:enumeration value="DistributionRecipient"/>
-            <xsd:enumeration value="DocumentOrMessageIssuerOrSender"/>
-            <xsd:enumeration value="DocumentRecipient"/>
-            <xsd:enumeration value="DomesticFinancialInstitution"/>
-            <xsd:enumeration value="DownstreamMeterLocation"/>
-            <xsd:enumeration value="Drop-OffLocation"/>
-            <xsd:enumeration value="EmergencyDepartment"/>
-            <xsd:enumeration value="EstablishedLocation"/>
-            <xsd:enumeration value="EventLocation"/>
-            <xsd:enumeration value="FilingAddress"/>
-            <xsd:enumeration value="FilingLocation"/>
-            <xsd:enumeration value="FilingOffice"/>
-            <xsd:enumeration value="FinalMessageRecipient"/>
-            <xsd:enumeration value="FinalRecipient"/>
-            <xsd:enumeration value="FinalScheduledDestination"/>
-            <xsd:enumeration value="FinancialInstitution"/>
-            <xsd:enumeration value="FirstContact"/>
-            <xsd:enumeration value="FloralDepartment"/>
-            <xsd:enumeration value="ForeignDisclosureInformationOffice"/>
-            <xsd:enumeration value="ForeignOffice"/>
-            <xsd:enumeration value="ForeignRegistrationLocation"/>
-            <xsd:enumeration value="FormerAddress"/>
-            <xsd:enumeration value="FreeonBoardPoint"/>
-            <xsd:enumeration value="FrozenDepartment"/>
-            <xsd:enumeration value="GaragedLocation"/>
-            <xsd:enumeration value="GasPlant"/>
-            <xsd:enumeration value="GasTransactionEndingPoint"/>
-            <xsd:enumeration value="GasTransactionPoint1"/>
-            <xsd:enumeration value="GasTransactionPoint2"/>
-            <xsd:enumeration value="GasTransactionStartingPoint"/>
-            <xsd:enumeration value="HazardousMaterialOffice"/>
-            <xsd:enumeration value="HeadOffice"/>
-            <xsd:enumeration value="HomeOffice"/>
-            <xsd:enumeration value="ImportedFromLocation"/>
-            <xsd:enumeration value="IncorporatedLocation"/>
-            <xsd:enumeration value="IncorporationStatePlaceOfBusiness"/>
-            <xsd:enumeration value="IncorporationStatePrincipalOffice"/>
-            <xsd:enumeration value="InquiryAddress"/>
-            <xsd:enumeration value="InspectionAddress"/>
-            <xsd:enumeration value="InspectionAndAcceptanceLocation"/>
-            <xsd:enumeration value="InspectionLocation"/>
-            <xsd:enumeration value="InstalledAt"/>
-            <xsd:enumeration value="In-StoreBakeryDepartment"/>
-            <xsd:enumeration value="InsuredLocation"/>
-            <xsd:enumeration value="Laboratory"/>
-            <xsd:enumeration value="LastBreakTerminal"/>
-            <xsd:enumeration value="LeaseLocation"/>
-            <xsd:enumeration value="ListingOffice"/>
-            <xsd:enumeration value="LocalChain"/>
-            <xsd:enumeration value="LocationOfGoods"/>
-            <xsd:enumeration value="LocationOfGoodsForCustomsExaminationBeforeClearance"/>
-            <xsd:enumeration value="LocationOfLoadExchange"/>
-            <xsd:enumeration value="LocationOfSpotForStorage"/>
-            <xsd:enumeration value="Lot"/>
-            <xsd:enumeration value="MailAddress"/>
-            <xsd:enumeration value="MailTo"/>
-            <xsd:enumeration value="ManufacturingPlant"/>
-            <xsd:enumeration value="MasterProperty"/>
-            <xsd:enumeration value="MaterialChangeNoticeAddress"/>
-            <xsd:enumeration value="MaterialDispositionAuthorizationLocation"/>
-            <xsd:enumeration value="MeatDepartment"/>
-            <xsd:enumeration value="MeetingLocation"/>
-            <xsd:enumeration value="MessageFrom"/>
-            <xsd:enumeration value="MessageRecipient"/>
-            <xsd:enumeration value="MessageTo"/>
-            <xsd:enumeration value="Neighborhood"/>
-            <xsd:enumeration value="NewAddress"/>
-            <xsd:enumeration value="NewSupplySource"/>
-            <xsd:enumeration value="NextDestination"/>
-            <xsd:enumeration value="NextScheduledDestination"/>
-            <xsd:enumeration value="Non-TemporaryStorageFacility"/>
-            <xsd:enumeration value="NotApplicable"/>
-            <xsd:enumeration value="OperatorOfTheTransferPoint"/>
-            <xsd:enumeration value="OriginalLocation"/>
-            <xsd:enumeration value="OriginMailFacility"/>
-            <xsd:enumeration value="OriginSublocation"/>
-            <xsd:enumeration value="OriginTerminal"/>
-            <xsd:enumeration value="OtherDepartments"/>
-            <xsd:enumeration value="OuterContinentalShelfAreaLocation"/>
-            <xsd:enumeration value="Out-Of-StatePrincipalOffice"/>
-            <xsd:enumeration value="OwningInventoryControlPoint"/>
-            <xsd:enumeration value="PartSource"/>
-            <xsd:enumeration value="PaymentAddress"/>
-            <xsd:enumeration value="PersonnelOffice"/>
-            <xsd:enumeration value="PharmacyDepartment"/>
-            <xsd:enumeration value="PhysicalAddress"/>
-            <xsd:enumeration value="PickUpAddress"/>
-            <xsd:enumeration value="Pipeline"/>
-            <xsd:enumeration value="PipelineSegment"/>
-            <xsd:enumeration value="PipelineSegmentBoundary"/>
-            <xsd:enumeration value="PlaceOfBottling"/>
-            <xsd:enumeration value="PlaceOfBusiness"/>
-            <xsd:enumeration value="PostalMailingAddress"/>
-            <xsd:enumeration value="PreliminaryInspectionLocation"/>
-            <xsd:enumeration value="Premises"/>
-            <xsd:enumeration value="PresentAddress"/>
-            <xsd:enumeration value="PrimaryControlPointLocation"/>
-            <xsd:enumeration value="ProduceDepartment"/>
-            <xsd:enumeration value="ProductServicesAndRepairsCentre"/>
-            <xsd:enumeration value="ProjectCoordinationOffice"/>
-            <xsd:enumeration value="ProjectManagementOffice"/>
-            <xsd:enumeration value="ProjectProperty"/>
-            <xsd:enumeration value="Property"/>
-            <xsd:enumeration value="QualityControl"/>
-            <xsd:enumeration value="RadioControlStationLocation"/>
-            <xsd:enumeration value="Railroad"/>
-            <xsd:enumeration value="ReceiptMeterLocation"/>
-            <xsd:enumeration value="ReceiptZone"/>
-            <xsd:enumeration value="ReceivedFrom"/>
-            <xsd:enumeration value="ReceiverSite"/>
-            <xsd:enumeration value="ReceivingLocation"/>
-            <xsd:enumeration value="ReceivingPointForCustomerSamples"/>
-            <xsd:enumeration value="ReceivingSub-Location"/>
-            <xsd:enumeration value="ReclamationCenter"/>
-            <xsd:enumeration value="Record-KeepingAddress"/>
-            <xsd:enumeration value="Refinery"/>
-            <xsd:enumeration value="RegionalOffice"/>
-            <xsd:enumeration value="RegisteredOffice"/>
-            <xsd:enumeration value="ReleaseTo"/>
-            <xsd:enumeration value="RemitTo"/>
-            <xsd:enumeration value="RepairingOutlet"/>
-            <xsd:enumeration value="RepairOrRefurbishLocation"/>
-            <xsd:enumeration value="ReportingLocation"/>
-            <xsd:enumeration value="ResearchInstitute"/>
-            <xsd:enumeration value="ResidenceOrDomicile"/>
-            <xsd:enumeration value="ReturnedTo"/>
-            <xsd:enumeration value="RoutingPoint"/>
-            <xsd:enumeration value="SalesOffice"/>
-            <xsd:enumeration value="SamplesToBeReturnedTo"/>
-            <xsd:enumeration value="SamplingLocation"/>
-            <xsd:enumeration value="SecondaryLocationAddress"/>
-            <xsd:enumeration value="SecondHome"/>
-            <xsd:enumeration value="SellingOffice"/>
-            <xsd:enumeration value="ServiceBureau"/>
-            <xsd:enumeration value="ServiceLocation"/>
-            <xsd:enumeration value="ShelteredWorkshop"/>
-            <xsd:enumeration value="ShipFrom"/>
-            <xsd:enumeration value="ShipTo"/>
-            <xsd:enumeration value="SmallBaseStationLocation"/>
-            <xsd:enumeration value="SmallControlStationLocation"/>
-            <xsd:enumeration value="SoldToAndShipTo"/>
-            <xsd:enumeration value="SoldToIfDifferentFromBillTo"/>
-            <xsd:enumeration value="StorageArea"/>
-            <xsd:enumeration value="StorageFacilityatDestination"/>
-            <xsd:enumeration value="StorageFacilityAtOrigin"/>
-            <xsd:enumeration value="Store"/>
-            <xsd:enumeration value="SoldTo"/>
-            <xsd:enumeration value="SubcontractOrCognizantSecurityOffice"/>
-            <xsd:enumeration value="SubjectProperty"/>
-            <xsd:enumeration value="Sub-Office"/>
-            <xsd:enumeration value="Subsidiary"/>
-            <xsd:enumeration value="SubsidiaryDivision"/>
-            <xsd:enumeration value="SupplierOrManufacturer"/>
-            <xsd:enumeration value="SuppliersCorporateOffice"/>
-            <xsd:enumeration value="SupplySource"/>
-            <xsd:enumeration value="TankFarm"/>
-            <xsd:enumeration value="TaxAddress"/>
-            <xsd:enumeration value="TaxCollectorsOffice"/>
-            <xsd:enumeration value="TechnicalOffice"/>
-            <xsd:enumeration value="Terminal"/>
-            <xsd:enumeration value="TerminalLocation"/>
-            <xsd:enumeration value="TestingLaboratory"/>
-            <xsd:enumeration value="ToolSource"/>
-            <xsd:enumeration value="TransferPoint"/>
-            <xsd:enumeration value="TransferTo"/>
-            <xsd:enumeration value="TransportationOffice"/>
-            <xsd:enumeration value="UltimateConsignee"/>
-            <xsd:enumeration value="UltimateCustomer"/>
-            <xsd:enumeration value="UltimateParentCompany"/>
-            <xsd:enumeration value="UnitProperty"/>
-            <xsd:enumeration value="UpstreamMeterLocation"/>
-            <xsd:enumeration value="VacationHome"/>
-            <xsd:enumeration value="Vendor"/>
-            <xsd:enumeration value="VideoDepartment"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="Wholesaler"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Contact">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="ContactID">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="ContactName" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ContactFunction"/>
-            <xsd:element minOccurs="0" name="ContactDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfContactNumber"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Contact" type="Contact"/>
-    <xsd:complexType name="ContactFunction">
-        <xsd:sequence>
-            <xsd:element name="ContactFunctionCoded" type="ContactFunctionCode"/>
-            <xsd:element minOccurs="0" name="ContactFunctionCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ContactFunction" type="ContactFunction"/>
-    <xsd:simpleType name="ContactFunctionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AcceptingContact"/>
-            <xsd:enumeration value="AcceptingOfficial"/>
-            <xsd:enumeration value="Accountingcontact"/>
-            <xsd:enumeration value="AccountsPayableContact"/>
-            <xsd:enumeration value="AccountsReceivableContact"/>
-            <xsd:enumeration value="AdditionalInsuranceInformationContact"/>
-            <xsd:enumeration value="AdministrativeContractingOfficer"/>
-            <xsd:enumeration value="Administrator"/>
-            <xsd:enumeration value="Advisor"/>
-            <xsd:enumeration value="After-HoursContact"/>
-            <xsd:enumeration value="Agent"/>
-            <xsd:enumeration value="AlternateContact"/>
-            <xsd:enumeration value="Applicant"/>
-            <xsd:enumeration value="AppointmentScheduler"/>
-            <xsd:enumeration value="Appraiser"/>
-            <xsd:enumeration value="Attention-ToParty"/>
-            <xsd:enumeration value="Attorney"/>
-            <xsd:enumeration value="AuditingContact"/>
-            <xsd:enumeration value="AuthorizedFinancialContact"/>
-            <xsd:enumeration value="AuthorizedNegotiator"/>
-            <xsd:enumeration value="AuthorizedRepresentative"/>
-            <xsd:enumeration value="AuthorizedSignature"/>
-            <xsd:enumeration value="AutomatedClearinghouseContact"/>
-            <xsd:enumeration value="BankingContact"/>
-            <xsd:enumeration value="BillInquiryContact"/>
-            <xsd:enumeration value="BoardStaff"/>
-            <xsd:enumeration value="Broker"/>
-            <xsd:enumeration value="BrokerContact"/>
-            <xsd:enumeration value="BusinessUnitManager"/>
-            <xsd:enumeration value="BuyerNameorDepartment"/>
-            <xsd:enumeration value="CADAndCAMSpecialist"/>
-            <xsd:enumeration value="Carrier"/>
-            <xsd:enumeration value="CaseManager"/>
-            <xsd:enumeration value="CertificationContact"/>
-            <xsd:enumeration value="Certifier"/>
-            <xsd:enumeration value="ChairmanOfTheBoard"/>
-            <xsd:enumeration value="ChangedBy"/>
-            <xsd:enumeration value="ChangeOrderApprover"/>
-            <xsd:enumeration value="ChiefExecutiveOfficer"/>
-            <xsd:enumeration value="ChiefFinancialOfficer"/>
-            <xsd:enumeration value="ChiefInformationOfficer"/>
-            <xsd:enumeration value="ChiefOperatingOfficer"/>
-            <xsd:enumeration value="CityWorksAuthorityContact"/>
-            <xsd:enumeration value="Claimant"/>
-            <xsd:enumeration value="ClaimApprover"/>
-            <xsd:enumeration value="ClaimRecipient"/>
-            <xsd:enumeration value="ClaimsContact"/>
-            <xsd:enumeration value="ClearinghouseContact"/>
-            <xsd:enumeration value="ClerkOfCourt"/>
-            <xsd:enumeration value="Co-Borrower"/>
-            <xsd:enumeration value="Co-Investigator"/>
-            <xsd:enumeration value="Collector"/>
-            <xsd:enumeration value="CollegeofEducationAdmissionsOffice"/>
-            <xsd:enumeration value="ComplianceOfficer"/>
-            <xsd:enumeration value="ComponentEngineer"/>
-            <xsd:enumeration value="ComputerSystemsContact"/>
-            <xsd:enumeration value="ConcurrentEmployerContact"/>
-            <xsd:enumeration value="ConfirmedWith"/>
-            <xsd:enumeration value="Consignee"/>
-            <xsd:enumeration value="Consignor"/>
-            <xsd:enumeration value="ContainerManager"/>
-            <xsd:enumeration value="ContractContact"/>
-            <xsd:enumeration value="CoordinationContact"/>
-            <xsd:enumeration value="Coordinator"/>
-            <xsd:enumeration value="CorporatePurchasingAgent"/>
-            <xsd:enumeration value="CostAndScheduleCoordinator"/>
-            <xsd:enumeration value="CustomerContactGrantingAppointment"/>
-            <xsd:enumeration value="CustomerEngineer"/>
-            <xsd:enumeration value="CustomerMaintenanceManager"/>
-            <xsd:enumeration value="CustomerRelations"/>
-            <xsd:enumeration value="DangerousGoodsContact"/>
-            <xsd:enumeration value="DeliveryContact"/>
-            <xsd:enumeration value="DeliveryInstructionsContact"/>
-            <xsd:enumeration value="DentalSchoolAdmissionsOffice"/>
-            <xsd:enumeration value="DepartmentOrEmployeeToExecuteExportProcedures"/>
-            <xsd:enumeration value="DepartmentOrEmployeeToExecuteImportProcedures"/>
-            <xsd:enumeration value="DepartmentOrPersonResponsibleForProcessingPurchaseOrder"/>
-            <xsd:enumeration value="DesignEngineer"/>
-            <xsd:enumeration value="Development"/>
-            <xsd:enumeration value="Director"/>
-            <xsd:enumeration value="DirectoryAdvertisingContact"/>
-            <xsd:enumeration value="DivisionDirector"/>
-            <xsd:enumeration value="DivisionManager"/>
-            <xsd:enumeration value="EDICoordinator"/>
-            <xsd:enumeration value="EducationCoordinator"/>
-            <xsd:enumeration value="ElectricitySupplyContact"/>
-            <xsd:enumeration value="ElectronicDataInterchangeCoordinator"/>
-            <xsd:enumeration value="ElectronicSubmissionRecipient"/>
-            <xsd:enumeration value="EmergencyContact"/>
-            <xsd:enumeration value="EmergencyContact-Consignee"/>
-            <xsd:enumeration value="EmergencyContact-MilitaryTrafficManagementCommand"/>
-            <xsd:enumeration value="EmergencyContact-Shipper"/>
-            <xsd:enumeration value="EmergencyDangerousGoodsContact"/>
-            <xsd:enumeration value="EmployerContact"/>
-            <xsd:enumeration value="Engineer"/>
-            <xsd:enumeration value="EngineeringContact"/>
-            <xsd:enumeration value="EnteredBy"/>
-            <xsd:enumeration value="Estimator"/>
-            <xsd:enumeration value="EveningProgramsOffice"/>
-            <xsd:enumeration value="ExecutiveOfficer"/>
-            <xsd:enumeration value="ExecutiveVice-President"/>
-            <xsd:enumeration value="Expeditor"/>
-            <xsd:enumeration value="FinancialAidOffice"/>
-            <xsd:enumeration value="ForeclosingLenderAdministrativeContact"/>
-            <xsd:enumeration value="ForwarderContact"/>
-            <xsd:enumeration value="FunctionalManager"/>
-            <xsd:enumeration value="GasSupplyContact"/>
-            <xsd:enumeration value="GeneralContact"/>
-            <xsd:enumeration value="GoodsReceivingContact"/>
-            <xsd:enumeration value="GraduateAdmissionsOffice"/>
-            <xsd:enumeration value="GraduateBusinessOffice"/>
-            <xsd:enumeration value="GraduateEngineeringOffice"/>
-            <xsd:enumeration value="GraduateFineArtsOffice"/>
-            <xsd:enumeration value="GuidanceCounselor"/>
-            <xsd:enumeration value="HazardousMaterialContact"/>
-            <xsd:enumeration value="HeadOfUnitForInformationDissemination"/>
-            <xsd:enumeration value="HeadOfUnitForInformationProduction"/>
-            <xsd:enumeration value="HeadOfUnitOrComputerDataProcessing"/>
-            <xsd:enumeration value="HealthMaintenanceOrganizationContact"/>
-            <xsd:enumeration value="HumanResources"/>
-            <xsd:enumeration value="InformationContact"/>
-            <xsd:enumeration value="InsuranceContact"/>
-            <xsd:enumeration value="InsuredParty"/>
-            <xsd:enumeration value="InsurerContact"/>
-            <xsd:enumeration value="Interviewer"/>
-            <xsd:enumeration value="Investigator"/>
-            <xsd:enumeration value="InvestmentContact"/>
-            <xsd:enumeration value="IssuingOfficer"/>
-            <xsd:enumeration value="JointWorkAgent"/>
-            <xsd:enumeration value="LaboratoryContact"/>
-            <xsd:enumeration value="LandregistryContact"/>
-            <xsd:enumeration value="LawFirm"/>
-            <xsd:enumeration value="LawSchoolAdmissionsOffice"/>
-            <xsd:enumeration value="LegalAuditingContact"/>
-            <xsd:enumeration value="Licensee"/>
-            <xsd:enumeration value="LocalPurchasingAgent"/>
-            <xsd:enumeration value="MaintenanceContact"/>
-            <xsd:enumeration value="Manager"/>
-            <xsd:enumeration value="Manufacturing"/>
-            <xsd:enumeration value="ManufacturingPlantContact"/>
-            <xsd:enumeration value="MarketingDepartment"/>
-            <xsd:enumeration value="MarketingDirector"/>
-            <xsd:enumeration value="MaterialControlContact"/>
-            <xsd:enumeration value="MaterialDispositionContact"/>
-            <xsd:enumeration value="MaterialHandlingContact"/>
-            <xsd:enumeration value="MaterialSafetyDataSheetContact"/>
-            <xsd:enumeration value="Mayor"/>
-            <xsd:enumeration value="MedicalAdmissionsOffice"/>
-            <xsd:enumeration value="MedicalContact"/>
-            <xsd:enumeration value="MessageRecipientContact"/>
-            <xsd:enumeration value="MessageSenderContact"/>
-            <xsd:enumeration value="MultipleListingServiceStaff"/>
-            <xsd:enumeration value="MultipleListingServiceVendor"/>
-            <xsd:enumeration value="NationalAgent"/>
-            <xsd:enumeration value="NewBusinessProcessing"/>
-            <xsd:enumeration value="NewDevelopmentsContact"/>
-            <xsd:enumeration value="NotaryPublic"/>
-            <xsd:enumeration value="NotificationContact"/>
-            <xsd:enumeration value="NumericalControlEngineer"/>
-            <xsd:enumeration value="OfficeManager"/>
-            <xsd:enumeration value="OfficeStaff"/>
-            <xsd:enumeration value="Operations"/>
-            <xsd:enumeration value="OrderContact"/>
-            <xsd:enumeration value="OrderDepartment"/>
-            <xsd:enumeration value="OrderingOfficer"/>
-            <xsd:enumeration value="OtherAdult"/>
-            <xsd:enumeration value="Owner"/>
-            <xsd:enumeration value="OwnerRepresentative"/>
-            <xsd:enumeration value="Packager"/>
-            <xsd:enumeration value="ParentorGuardian"/>
-            <xsd:enumeration value="ParticipatingLaboratoryContact"/>
-            <xsd:enumeration value="Partner"/>
-            <xsd:enumeration value="Patient"/>
-            <xsd:enumeration value="PayeeContact"/>
-            <xsd:enumeration value="PayersClaimOffice"/>
-            <xsd:enumeration value="PerformanceEvaluationCommittee"/>
-            <xsd:enumeration value="PersonnelContact"/>
-            <xsd:enumeration value="Physician"/>
-            <xsd:enumeration value="PlaceOfCollectionContact"/>
-            <xsd:enumeration value="PlaceOfDeliveryContact"/>
-            <xsd:enumeration value="PlantManager"/>
-            <xsd:enumeration value="PlantOrEquipmentContact"/>
-            <xsd:enumeration value="PlatformMaintenanceManager"/>
-            <xsd:enumeration value="PortEngineer"/>
-            <xsd:enumeration value="PreawardSurveyManager"/>
-            <xsd:enumeration value="PreferredProviderOrganizationContact"/>
-            <xsd:enumeration value="Preparer"/>
-            <xsd:enumeration value="President"/>
-            <xsd:enumeration value="PriceAdministration"/>
-            <xsd:enumeration value="PrimaryContact"/>
-            <xsd:enumeration value="PrimaryControlPoint"/>
-            <xsd:enumeration value="PrimaryTaxpayer"/>
-            <xsd:enumeration value="PrincipalStudyContactorAuthor"/>
-            <xsd:enumeration value="ProbationorLegalOfficer"/>
-            <xsd:enumeration value="ProcessEngineer"/>
-            <xsd:enumeration value="Processor"/>
-            <xsd:enumeration value="ProductionRepresentative"/>
-            <xsd:enumeration value="ProductManagementContact"/>
-            <xsd:enumeration value="ProgramDirector"/>
-            <xsd:enumeration value="ProgramManager"/>
-            <xsd:enumeration value="ProjectDirector"/>
-            <xsd:enumeration value="ProjectManagementContact"/>
-            <xsd:enumeration value="ProjectManager"/>
-            <xsd:enumeration value="PrototypeCoordinator"/>
-            <xsd:enumeration value="Provider"/>
-            <xsd:enumeration value="PublicRelationsContact"/>
-            <xsd:enumeration value="PurchaseServiceProvider"/>
-            <xsd:enumeration value="PurchasingContact"/>
-            <xsd:enumeration value="PurchasingContractingOfficer"/>
-            <xsd:enumeration value="QualityAssuranceContact"/>
-            <xsd:enumeration value="QualityCoordinatorContact"/>
-            <xsd:enumeration value="QualityInspector"/>
-            <xsd:enumeration value="QualityManager"/>
-            <xsd:enumeration value="QuantitySurveyorContact"/>
-            <xsd:enumeration value="QuotingParty"/>
-            <xsd:enumeration value="RateSupervisorOrClerk"/>
-            <xsd:enumeration value="RealEstatePropertyKeyHolder"/>
-            <xsd:enumeration value="RealEstatePropertyOccupant"/>
-            <xsd:enumeration value="RebateOrChargebackContact"/>
-            <xsd:enumeration value="ReceivingContact"/>
-            <xsd:enumeration value="ReceivingDockContact"/>
-            <xsd:enumeration value="Registrar"/>
-            <xsd:enumeration value="RentalCompanyAdministrativeContact"/>
-            <xsd:enumeration value="ReportAuthorizer"/>
-            <xsd:enumeration value="ReportPreparer"/>
-            <xsd:enumeration value="Requestor"/>
-            <xsd:enumeration value="Respondant"/>
-            <xsd:enumeration value="ResponsiblePerson"/>
-            <xsd:enumeration value="ResponsiblePersonForComputerDataProcessing"/>
-            <xsd:enumeration value="ResponsiblePersonforInformationDissemination"/>
-            <xsd:enumeration value="ResponsiblePersonForInformationProduction"/>
-            <xsd:enumeration value="ReviewAndRepricingContact"/>
-            <xsd:enumeration value="SalesAdministration"/>
-            <xsd:enumeration value="SalesRepresentativeOrDepartment"/>
-            <xsd:enumeration value="ScheduleContact"/>
-            <xsd:enumeration value="SchoolClerk"/>
-            <xsd:enumeration value="SchoolofTheologyAdmissionsOffice"/>
-            <xsd:enumeration value="SchoolofVeterinaryMedicineAdmissionsOffice"/>
-            <xsd:enumeration value="SchoolPrincipal"/>
-            <xsd:enumeration value="SecondaryTaxpayer"/>
-            <xsd:enumeration value="Secretary"/>
-            <xsd:enumeration value="ServiceContact"/>
-            <xsd:enumeration value="ServiceManager"/>
-            <xsd:enumeration value="ServiceOrderWriter"/>
-            <xsd:enumeration value="ServiceOrganization"/>
-            <xsd:enumeration value="ServiceTeam"/>
-            <xsd:enumeration value="ServiceTechnician"/>
-            <xsd:enumeration value="ShipperContact"/>
-            <xsd:enumeration value="ShippingContact"/>
-            <xsd:enumeration value="SocialServicesWorker"/>
-            <xsd:enumeration value="SoftwareHouseContact"/>
-            <xsd:enumeration value="SpecialProgramContact"/>
-            <xsd:enumeration value="Spouse"/>
-            <xsd:enumeration value="Staff"/>
-            <xsd:enumeration value="Student"/>
-            <xsd:enumeration value="StudentinAbsentia"/>
-            <xsd:enumeration value="StudySubmitterContact"/>
-            <xsd:enumeration value="SubmittingContact"/>
-            <xsd:enumeration value="Supervisor"/>
-            <xsd:enumeration value="SupplierContact"/>
-            <xsd:enumeration value="SystemsAdministrator"/>
-            <xsd:enumeration value="TechnicalContact"/>
-            <xsd:enumeration value="TechnicalDepartment"/>
-            <xsd:enumeration value="TechnicalDocumentationRecipient"/>
-            <xsd:enumeration value="TechnicalMarketingRepresentative"/>
-            <xsd:enumeration value="TechnicalWriter"/>
-            <xsd:enumeration value="TelecommunicationsNetworkContact"/>
-            <xsd:enumeration value="TelephoneAnsweringServiceContact"/>
-            <xsd:enumeration value="Tenant"/>
-            <xsd:enumeration value="TenderDeveloper"/>
-            <xsd:enumeration value="TestContact"/>
-            <xsd:enumeration value="Third-PartyAdministratorContact"/>
-            <xsd:enumeration value="TownPlanningContact"/>
-            <xsd:enumeration value="TrafficAdministrator"/>
-            <xsd:enumeration value="TrafficAuthorityContact"/>
-            <xsd:enumeration value="Transmitter"/>
-            <xsd:enumeration value="TransportContact"/>
-            <xsd:enumeration value="TransportInfrastructureAuthority"/>
-            <xsd:enumeration value="Treasurer"/>
-            <xsd:enumeration value="UltimateConsignee"/>
-            <xsd:enumeration value="UltimateReceiver"/>
-            <xsd:enumeration value="UndergraduateAdmissionsOffice"/>
-            <xsd:enumeration value="Underwriter"/>
-            <xsd:enumeration value="UnionPresident"/>
-            <xsd:enumeration value="VicePresident"/>
-            <xsd:enumeration value="WaiverContact"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="WaterSupplyContact"/>
-            <xsd:enumeration value="Witness"/>
-            <xsd:enumeration value="WorkBrokerMaintenanceManager"/>
-            <xsd:enumeration value="WorkshopContact"/>
-            <xsd:enumeration value="WorksManagementContact"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfContactNumber">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ContactNumber"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfContactNumber" type="ListOfContactNumber"/>
-    <xsd:complexType name="ContactNumber">
-        <xsd:sequence>
-            <xsd:element name="ContactNumberValue" type="xsd:string"/>
-            <xsd:element name="ContactNumberTypeCoded" type="ContactNumberTypeCode"/>
-            <xsd:element minOccurs="0" name="ContactNumberTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ContactNumber" type="ContactNumber"/>
-    <xsd:simpleType name="ContactNumberTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="TelephoneNumber"/>
-            <xsd:enumeration value="FaxNumber"/>
-            <xsd:enumeration value="EmailAddress"/>
-            <xsd:enumeration value="MobileNumber"/>
-            <xsd:enumeration value="TelexNumber"/>
-            <xsd:enumeration value="PagerNumber"/>
-            <xsd:enumeration value="HomePage"/>
-            <xsd:enumeration value="WWW"/>
-            <xsd:enumeration value="FTP"/>
-            <xsd:enumeration value="URLOther"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfContact">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Contact"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfContact" type="ListOfContact"/>
-    <xsd:complexType name="ListOfPartyCoded">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="PartyCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfPartyCoded" type="ListOfPartyCoded"/>
-    <xsd:complexType name="PartyCoded">
-        <xsd:complexContent>
-            <xsd:extension base="Party">
-                <xsd:sequence>
-                    <xsd:element name="PartyRoleCoded" type="PartyRoleCode"/>
-                    <xsd:element minOccurs="0" name="PartyRoleCodedOther" type="xsd:string"/>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:element name="PartyCoded" type="PartyCoded"/>
-    <xsd:simpleType name="PartyRoleCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AcceptanceLocation"/>
-            <xsd:enumeration value="AcceptingParty"/>
-            <xsd:enumeration value="Accountant"/>
-            <xsd:enumeration value="AccountCoordinator"/>
-            <xsd:enumeration value="AccountingStation"/>
-            <xsd:enumeration value="AccountOf"/>
-            <xsd:enumeration value="AccountOfDestinationParty"/>
-            <xsd:enumeration value="AccountOf-OriginParty"/>
-            <xsd:enumeration value="AccountOwner"/>
-            <xsd:enumeration value="AccountOwnersServicingBankOnTheReceivingSide"/>
-            <xsd:enumeration value="AccountOwnersServicingBankOnTheSendingSide"/>
-            <xsd:enumeration value="AccountServicingFinancialInstitution"/>
-            <xsd:enumeration value="AccountsPayableOffice"/>
-            <xsd:enumeration value="AcknowledgementRecipient"/>
-            <xsd:enumeration value="Acronym"/>
-            <xsd:enumeration value="ActionParty"/>
-            <xsd:enumeration value="ActualPurchasersCustomer"/>
-            <xsd:enumeration value="ActualReferredByOrganization"/>
-            <xsd:enumeration value="ActualReferredToOrganization"/>
-            <xsd:enumeration value="AcuteCareHospital"/>
-            <xsd:enumeration value="AdditionalAddress"/>
-            <xsd:enumeration value="AdditionalDebtor"/>
-            <xsd:enumeration value="AdditionalDeliveryAddress"/>
-            <xsd:enumeration value="AdditionalPickUpAddress"/>
-            <xsd:enumeration value="Adjuster"/>
-            <xsd:enumeration value="AdministrationCentre"/>
-            <xsd:enumeration value="Administrator"/>
-            <xsd:enumeration value="AdmittingHealthCareProvider"/>
-            <xsd:enumeration value="AdmittingServices"/>
-            <xsd:enumeration value="AdmittingSurgeon"/>
-            <xsd:enumeration value="AdultDayCareProgramFacility"/>
-            <xsd:enumeration value="Advertiser"/>
-            <xsd:enumeration value="AdvertisingGroup"/>
-            <xsd:enumeration value="AdviseThroughBank"/>
-            <xsd:enumeration value="AdvisingBank"/>
-            <xsd:enumeration value="Advisor"/>
-            <xsd:enumeration value="Affiant"/>
-            <xsd:enumeration value="Affiliate"/>
-            <xsd:enumeration value="AffiliatedCompany"/>
-            <xsd:enumeration value="AffiliatedParty"/>
-            <xsd:enumeration value="Agency"/>
-            <xsd:enumeration value="AgencyGrantingSecurityClearance"/>
-            <xsd:enumeration value="AgentOrRepresentative"/>
-            <xsd:enumeration value="AgentsBank"/>
-            <xsd:enumeration value="AIDSOrARCUnit"/>
-            <xsd:enumeration value="AirAmbulanceServices"/>
-            <xsd:enumeration value="AirCargoCompany"/>
-            <xsd:enumeration value="AirForceFacility"/>
-            <xsd:enumeration value="Airline"/>
-            <xsd:enumeration value="AirportAuthority"/>
-            <xsd:enumeration value="AlcoholBeverageDepartment"/>
-            <xsd:enumeration value="AlcoholismAndOtherChemicalDependencyFacility"/>
-            <xsd:enumeration value="AlcoholOrDrugAbuseOrDependencyInpatientUnit"/>
-            <xsd:enumeration value="AlcoholOrDrugAbuseOrDependencyOutpatientServices"/>
-            <xsd:enumeration value="Alias"/>
-            <xsd:enumeration value="AlienAffiliate"/>
-            <xsd:enumeration value="AllegedDebtor"/>
-            <xsd:enumeration value="Alliance"/>
-            <xsd:enumeration value="AlliedHealthProfessional"/>
-            <xsd:enumeration value="AllotmentCustomer"/>
-            <xsd:enumeration value="AllowableRecipient"/>
-            <xsd:enumeration value="AlternateReturnAddress"/>
-            <xsd:enumeration value="AlternativeAddressee"/>
-            <xsd:enumeration value="AlternativeManufacturer"/>
-            <xsd:enumeration value="AlzheimersDiagnosticOrAssessmentServices"/>
-            <xsd:enumeration value="AmendedName"/>
-            <xsd:enumeration value="AmericanIndian-OwnedBusiness"/>
-            <xsd:enumeration value="AmicusCuriae"/>
-            <xsd:enumeration value="AnesthesiologyServices"/>
-            <xsd:enumeration value="AngioplastyFacility"/>
-            <xsd:enumeration value="AnimalBeingInvestigated"/>
-            <xsd:enumeration value="AnimalSource"/>
-            <xsd:enumeration value="Annuitant"/>
-            <xsd:enumeration value="AnnuitantPayor"/>
-            <xsd:enumeration value="AntennaSite"/>
-            <xsd:enumeration value="Appellant"/>
-            <xsd:enumeration value="Appellee"/>
-            <xsd:enumeration value="Applicant"/>
-            <xsd:enumeration value="ApplicantComaker"/>
-            <xsd:enumeration value="ApplicantForJob"/>
-            <xsd:enumeration value="ApplicantsBank"/>
-            <xsd:enumeration value="ApplicantsCosigner"/>
-            <xsd:enumeration value="ApplicantsEmployer"/>
-            <xsd:enumeration value="ApplicantsReference"/>
-            <xsd:enumeration value="ApplicationParty"/>
-            <xsd:enumeration value="AppraisalCompany"/>
-            <xsd:enumeration value="AppraiserName"/>
-            <xsd:enumeration value="ApprovedConsignor"/>
-            <xsd:enumeration value="ApprovedImporter"/>
-            <xsd:enumeration value="Approver"/>
-            <xsd:enumeration value="Arbitrator"/>
-            <xsd:enumeration value="Architect"/>
-            <xsd:enumeration value="Architect-Designer"/>
-            <xsd:enumeration value="AreaOfOperation"/>
-            <xsd:enumeration value="ArmedServicesLocationDesignation"/>
-            <xsd:enumeration value="ArmyFacility"/>
-            <xsd:enumeration value="ArrestingOfficer"/>
-            <xsd:enumeration value="ArthritisTreatmentCenter"/>
-            <xsd:enumeration value="AssetAccountHolder"/>
-            <xsd:enumeration value="Assignee"/>
-            <xsd:enumeration value="Assigner"/>
-            <xsd:enumeration value="Assignor"/>
-            <xsd:enumeration value="AssistantSurgeon"/>
-            <xsd:enumeration value="AssistantUSTrustee"/>
-            <xsd:enumeration value="AssociateGeneralAgent"/>
-            <xsd:enumeration value="Association"/>
-            <xsd:enumeration value="AttendingPhysician"/>
-            <xsd:enumeration value="Attorney"/>
-            <xsd:enumeration value="AttorneyForDefendantPrivate"/>
-            <xsd:enumeration value="AttorneyForDefendantPublic"/>
-            <xsd:enumeration value="AttorneyForPlaintiff"/>
-            <xsd:enumeration value="AttorneyOfRecord"/>
-            <xsd:enumeration value="Auctioneer"/>
-            <xsd:enumeration value="AuditOffice"/>
-            <xsd:enumeration value="Auditor"/>
-            <xsd:enumeration value="AuthenticatingParty"/>
-            <xsd:enumeration value="Author"/>
-            <xsd:enumeration value="AuthorityForShipment"/>
-            <xsd:enumeration value="AuthorizationAssignedBy"/>
-            <xsd:enumeration value="AuthorizedAcceptingOfficial"/>
-            <xsd:enumeration value="AuthorizedEntity"/>
-            <xsd:enumeration value="AuthorizedExporter"/>
-            <xsd:enumeration value="AuthorizedFrom"/>
-            <xsd:enumeration value="AuthorizedImporter"/>
-            <xsd:enumeration value="AuthorizedMarketer"/>
-            <xsd:enumeration value="AuthorizedOfficial"/>
-            <xsd:enumeration value="AuthorizedTo"/>
-            <xsd:enumeration value="AuthorizedTrader"/>
-            <xsd:enumeration value="AuthorizingOfficial"/>
-            <xsd:enumeration value="AutomatedDataProcessingPoint"/>
-            <xsd:enumeration value="AutomatedUnderwritingSystem"/>
-            <xsd:enumeration value="AvailableWithBank"/>
-            <xsd:enumeration value="AvailabilityShipToParty"/>
-            <xsd:enumeration value="Bailiff"/>
-            <xsd:enumeration value="BailmentWarehouse"/>
-            <xsd:enumeration value="BailPayor"/>
-            <xsd:enumeration value="BakeryDepartment"/>
-            <xsd:enumeration value="Bank"/>
-            <xsd:enumeration value="Banker"/>
-            <xsd:enumeration value="BankruptcyReferee"/>
-            <xsd:enumeration value="BankruptcyTrustee"/>
-            <xsd:enumeration value="BaseJurisdiction"/>
-            <xsd:enumeration value="BasePeriodEmployer"/>
-            <xsd:enumeration value="Battery"/>
-            <xsd:enumeration value="BeneficialOwner"/>
-            <xsd:enumeration value="Beneficiary"/>
-            <xsd:enumeration value="BeneficiarysBank"/>
-            <xsd:enumeration value="Bidder"/>
-            <xsd:enumeration value="BidOpeningLocation"/>
-            <xsd:enumeration value="BillAndShipTo"/>
-            <xsd:enumeration value="BilledFrom"/>
-            <xsd:enumeration value="BillingProvider"/>
-            <xsd:enumeration value="BillingService"/>
-            <xsd:enumeration value="BillOfLadingRecipient"/>
-            <xsd:enumeration value="BillTo"/>
-            <xsd:enumeration value="Bill-ToPartyForDiversionCharges"/>
-            <xsd:enumeration value="BirthingRoomOrLDRPRoom"/>
-            <xsd:enumeration value="BirthName"/>
-            <xsd:enumeration value="Birthplace"/>
-            <xsd:enumeration value="BloodBank"/>
-            <xsd:enumeration value="BoardOfRealtors"/>
-            <xsd:enumeration value="BobtailServicePoint"/>
-            <xsd:enumeration value="Bondsman"/>
-            <xsd:enumeration value="BookingAgent"/>
-            <xsd:enumeration value="BookingOffice"/>
-            <xsd:enumeration value="Bookkeeper"/>
-            <xsd:enumeration value="BorderCrossing"/>
-            <xsd:enumeration value="Borrower"/>
-            <xsd:enumeration value="BorrowersEmployer"/>
-            <xsd:enumeration value="Bottler"/>
-            <xsd:enumeration value="Brakeman"/>
-            <xsd:enumeration value="Branch"/>
-            <xsd:enumeration value="BrandName"/>
-            <xsd:enumeration value="BreakBulkBerthOperator"/>
-            <xsd:enumeration value="BreakBulkPoint"/>
-            <xsd:enumeration value="Broadcaster"/>
-            <xsd:enumeration value="Broker"/>
-            <xsd:enumeration value="BrokerDealer"/>
-            <xsd:enumeration value="BrokerOpinionOrAnalysisRequester"/>
-            <xsd:enumeration value="BrokerOrSalesOffice"/>
-            <xsd:enumeration value="BrokersAssistant"/>
-            <xsd:enumeration value="BuilderName"/>
-            <xsd:enumeration value="BuildingInspectorate"/>
-            <xsd:enumeration value="BuildingSiteEngineer"/>
-            <xsd:enumeration value="BuildingSiteForwarder"/>
-            <xsd:enumeration value="BuildingSitePurchaser"/>
-            <xsd:enumeration value="BureauOfLandManagementPropertyUnit"/>
-            <xsd:enumeration value="BurnCareUnit"/>
-            <xsd:enumeration value="Business"/>
-            <xsd:enumeration value="BusinessArea"/>
-            <xsd:enumeration value="BusinessAssociate"/>
-            <xsd:enumeration value="BusinessEntity"/>
-            <xsd:enumeration value="BusinessPartner"/>
-            <xsd:enumeration value="Buyer"/>
-            <xsd:enumeration value="BuyerAsOfficiallyRegistered"/>
-            <xsd:enumeration value="BuyersAgentOrRepresentative"/>
-            <xsd:enumeration value="BuyersBank"/>
-            <xsd:enumeration value="BuyersCorporateOffice"/>
-            <xsd:enumeration value="BuyersFinancialInstitution"/>
-            <xsd:enumeration value="BuyersParentCompany"/>
-            <xsd:enumeration value="BuyersQualityReviewBoard"/>
-            <xsd:enumeration value="BuyingGroup"/>
-            <xsd:enumeration value="BuyingParty"/>
-            <xsd:enumeration value="CanadianCustomsBroker"/>
-            <xsd:enumeration value="Candidate"/>
-            <xsd:enumeration value="CandyAndConfectionsDepartment"/>
-            <xsd:enumeration value="CardiacCatherizationLaboratory"/>
-            <xsd:enumeration value="CardiacIntensiveCareUnit"/>
-            <xsd:enumeration value="CardiacRehabilitationProgramFacility"/>
-            <xsd:enumeration value="CardiacRehabilitationServices"/>
-            <xsd:enumeration value="CarnetIssuer"/>
-            <xsd:enumeration value="Carrier"/>
-            <xsd:enumeration value="CarriersAgent"/>
-            <xsd:enumeration value="CaseManager"/>
-            <xsd:enumeration value="CaseOfNeedParty"/>
-            <xsd:enumeration value="CashPoolLevelAccountServicingFinancialInstitution"/>
-            <xsd:enumeration value="CashPoolSub-AccountServicingFinancialInstitution"/>
-            <xsd:enumeration value="CashPoolTopAccountServicingFinancialInstitution"/>
-            <xsd:enumeration value="CedingCompany"/>
-            <xsd:enumeration value="CentralBankOrRegulatoryAuthority"/>
-            <xsd:enumeration value="CentralCatalogueParty"/>
-            <xsd:enumeration value="CertifiedAccountant"/>
-            <xsd:enumeration value="CertifyingParty"/>
-            <xsd:enumeration value="Chairperson"/>
-            <xsd:enumeration value="ChamberOfCommerce"/>
-            <xsd:enumeration value="ChangedAddress"/>
-            <xsd:enumeration value="ChargesPayerAtDestination"/>
-            <xsd:enumeration value="Charity"/>
-            <xsd:enumeration value="CharterSchool"/>
-            <xsd:enumeration value="ChassisProvider"/>
-            <xsd:enumeration value="CheckingParty"/>
-            <xsd:enumeration value="ChequeDrawnBank"/>
-            <xsd:enumeration value="ChequeOrder"/>
-            <xsd:enumeration value="ChiefDeputyClerkOfCourt"/>
-            <xsd:enumeration value="Child"/>
-            <xsd:enumeration value="ChildrensChronicDiseaseFacility"/>
-            <xsd:enumeration value="ChildrensDayCareCenter"/>
-            <xsd:enumeration value="ChildrensEyeEarNoseAndThroatFacility"/>
-            <xsd:enumeration value="ChildrensGeneralFacility"/>
-            <xsd:enumeration value="ChildrensHospitalUnitOfAnInstitution"/>
-            <xsd:enumeration value="ChildrensOrthopedicFacility"/>
-            <xsd:enumeration value="ChildrensOtherSpecialtyFacility"/>
-            <xsd:enumeration value="ChildrensPsychiatricFacility"/>
-            <xsd:enumeration value="ChildrensRehabilitationFacility"/>
-            <xsd:enumeration value="ChildrensTuberculosisAndOtherRespiratoryDiseasesFacility"/>
-            <xsd:enumeration value="Chiropractor"/>
-            <xsd:enumeration value="ChronicDiseaseFacility"/>
-            <xsd:enumeration value="ChronicObstructivePulmonaryDiseaseServiceFacility"/>
-            <xsd:enumeration value="ChurchOperatedFacility"/>
-            <xsd:enumeration value="CigarettesAndTobaccoDepartment"/>
-            <xsd:enumeration value="CircuitLocationIdentifier"/>
-            <xsd:enumeration value="City"/>
-            <xsd:enumeration value="ClaimAdministrator"/>
-            <xsd:enumeration value="Claimant"/>
-            <xsd:enumeration value="ClaimantAuthorizedRepresentative"/>
-            <xsd:enumeration value="ClaimRecipient"/>
-            <xsd:enumeration value="ClearingHouse"/>
-            <xsd:enumeration value="Clerk"/>
-            <xsd:enumeration value="ClerkOfCourt"/>
-            <xsd:enumeration value="Clinic"/>
-            <xsd:enumeration value="ClosedDoorPharmacy"/>
-            <xsd:enumeration value="ClosedSale"/>
-            <xsd:enumeration value="ClosingAgent"/>
-            <xsd:enumeration value="CoatingOrPaintSupplier"/>
-            <xsd:enumeration value="Co-Borrower"/>
-            <xsd:enumeration value="Co-Contractor"/>
-            <xsd:enumeration value="Co-Counsel"/>
-            <xsd:enumeration value="Co-Debtor"/>
-            <xsd:enumeration value="Co-Defendant"/>
-            <xsd:enumeration value="Co-Driver"/>
-            <xsd:enumeration value="Co-Investigator"/>
-            <xsd:enumeration value="CollateralAssignee"/>
-            <xsd:enumeration value="CollectingBank"/>
-            <xsd:enumeration value="CollectionPrincipal"/>
-            <xsd:enumeration value="CommercialInsurer"/>
-            <xsd:enumeration value="CommissionableAgent"/>
-            <xsd:enumeration value="CommissionProcessor"/>
-            <xsd:enumeration value="CommunityAgent"/>
-            <xsd:enumeration value="CommunityHealthPromotionFacility"/>
-            <xsd:enumeration value="CompanyAssignedWell"/>
-            <xsd:enumeration value="CompanyInterviewerWorksFor"/>
-            <xsd:enumeration value="CompanyInWhichInterestHeld"/>
-            <xsd:enumeration value="CompanyMergedWith"/>
-            <xsd:enumeration value="Company-OwnedOilField"/>
-            <xsd:enumeration value="CompanyWhichHoldsFinancialInterest"/>
-            <xsd:enumeration value="ComparableProperty"/>
-            <xsd:enumeration value="ComparablePropertyListing"/>
-            <xsd:enumeration value="ComparableRentals"/>
-            <xsd:enumeration value="CompetingProperty"/>
-            <xsd:enumeration value="CompetitivePropertyListing"/>
-            <xsd:enumeration value="CompilationAgency"/>
-            <xsd:enumeration value="Complainant"/>
-            <xsd:enumeration value="ComplainantsAttorney"/>
-            <xsd:enumeration value="ComponentManufacturer"/>
-            <xsd:enumeration value="ComprehensiveGeriatricAssessmentFacility"/>
-            <xsd:enumeration value="ConcurrentEmployer"/>
-            <xsd:enumeration value="Conductor"/>
-            <xsd:enumeration value="ConductorPilot"/>
-            <xsd:enumeration value="Conduit"/>
-            <xsd:enumeration value="ConnectingCarrier"/>
-            <xsd:enumeration value="Connection"/>
-            <xsd:enumeration value="Consignee"/>
-            <xsd:enumeration value="ConsigneeCourierTransferStation"/>
-            <xsd:enumeration value="ConsigneeOfVessel"/>
-            <xsd:enumeration value="ConsigneesAgent"/>
-            <xsd:enumeration value="ConsigneeToBeSpecified"/>
-            <xsd:enumeration value="Consignee-ToReceiveLargeParcelsAndFreight"/>
-            <xsd:enumeration value="Consignee-ToReceiveMailAndSmallParcels"/>
-            <xsd:enumeration value="Consignor"/>
-            <xsd:enumeration value="ConsignorCourierTransferStation"/>
-            <xsd:enumeration value="ConsignorsRepresentative"/>
-            <xsd:enumeration value="ConsolidatedDebtor"/>
-            <xsd:enumeration value="Consolidator"/>
-            <xsd:enumeration value="ConstructionContractor"/>
-            <xsd:enumeration value="ConstructionFirm"/>
-            <xsd:enumeration value="ConsultantsOffice"/>
-            <xsd:enumeration value="ConsultingPhysician"/>
-            <xsd:enumeration value="ConsumerCreditAccountCompany"/>
-            <xsd:enumeration value="ConsumerReferralContact"/>
-            <xsd:enumeration value="ConsumerServiceProvider"/>
-            <xsd:enumeration value="ConsumerServiceProviderCustomer"/>
-            <xsd:enumeration value="Contact"/>
-            <xsd:enumeration value="ContactBank1"/>
-            <xsd:enumeration value="ContactBank2"/>
-            <xsd:enumeration value="ContactOffice"/>
-            <xsd:enumeration value="ContactParty"/>
-            <xsd:enumeration value="ContactParty1"/>
-            <xsd:enumeration value="ContactParty2"/>
-            <xsd:enumeration value="ContactParty3"/>
-            <xsd:enumeration value="ContactParty4"/>
-            <xsd:enumeration value="ContactPerson"/>
-            <xsd:enumeration value="ContainerLocation"/>
-            <xsd:enumeration value="ContainerLocationParty"/>
-            <xsd:enumeration value="ContainerOperatorOrLessee"/>
-            <xsd:enumeration value="ContainerReturnCompany"/>
-            <xsd:enumeration value="ContainerSurveyAgent"/>
-            <xsd:enumeration value="ContingentAnnuitant"/>
-            <xsd:enumeration value="ContingentBeneficiary"/>
-            <xsd:enumeration value="ContingentOwner"/>
-            <xsd:enumeration value="ContractAdministrationOffice"/>
-            <xsd:enumeration value="ContractedServiceProvider"/>
-            <xsd:enumeration value="ContractHolder"/>
-            <xsd:enumeration value="ContractingOfficerRepresentative"/>
-            <xsd:enumeration value="Contractor-General"/>
-            <xsd:enumeration value="ContractOrCognizantSecurityOffice"/>
-            <xsd:enumeration value="Contractor-Lead"/>
-            <xsd:enumeration value="Contractor-Main"/>
-            <xsd:enumeration value="ContractualDeliveryMeter"/>
-            <xsd:enumeration value="ContractualReceiptMeter"/>
-            <xsd:enumeration value="ControllerQuality"/>
-            <xsd:enumeration value="Converter"/>
-            <xsd:enumeration value="ConvoyingParty"/>
-            <xsd:enumeration value="Co-Occupant"/>
-            <xsd:enumeration value="Co-Operative"/>
-            <xsd:enumeration value="CooperativeBuyingGroup"/>
-            <xsd:enumeration value="Coordinator"/>
-            <xsd:enumeration value="Co-Owner"/>
-            <xsd:enumeration value="Co-Participant"/>
-            <xsd:enumeration value="Co-Producer"/>
-            <xsd:enumeration value="CopyMessageTo"/>
-            <xsd:enumeration value="CorporateOffice"/>
-            <xsd:enumeration value="Corporation"/>
-            <xsd:enumeration value="CorporationFor-ProfitFacility"/>
-            <xsd:enumeration value="CorrectedAddress"/>
-            <xsd:enumeration value="CorrectedInsured"/>
-            <xsd:enumeration value="CorrectedName"/>
-            <xsd:enumeration value="Cosigner"/>
-            <xsd:enumeration value="CosignersEmployer"/>
-            <xsd:enumeration value="CouncilOfGovernments"/>
-            <xsd:enumeration value="CounterClaimant"/>
-            <xsd:enumeration value="Country"/>
-            <xsd:enumeration value="CountryOfDestination"/>
-            <xsd:enumeration value="CountryOfExport"/>
-            <xsd:enumeration value="CountryOfOrigin"/>
-            <xsd:enumeration value="County"/>
-            <xsd:enumeration value="Court"/>
-            <xsd:enumeration value="CourtAppointedAttorney"/>
-            <xsd:enumeration value="CreditGrantor"/>
-            <xsd:enumeration value="Creditor"/>
-            <xsd:enumeration value="CreditorsAttorney"/>
-            <xsd:enumeration value="CreditRatingAgency"/>
-            <xsd:enumeration value="CreditReportingAgency"/>
-            <xsd:enumeration value="CrewMember"/>
-            <xsd:enumeration value="CrimeVictim"/>
-            <xsd:enumeration value="CrossClaimant"/>
-            <xsd:enumeration value="Cross-TownSwitch"/>
-            <xsd:enumeration value="CTScannerUnit"/>
-            <xsd:enumeration value="CurrentEmployer-Primary"/>
-            <xsd:enumeration value="CurrentEmployer-Secondary"/>
-            <xsd:enumeration value="CurrentReceiver"/>
-            <xsd:enumeration value="CurrentSender"/>
-            <xsd:enumeration value="CustodialParent"/>
-            <xsd:enumeration value="Custodian"/>
-            <xsd:enumeration value="Customer"/>
-            <xsd:enumeration value="CustomerFOrWhomSameOrSimilarWOrkWasPerFormed"/>
-            <xsd:enumeration value="CustomerIdentificationFileCustomerIdentifier"/>
-            <xsd:enumeration value="Customs"/>
-            <xsd:enumeration value="CustomsBroker"/>
-            <xsd:enumeration value="CustomsOfficeOfClearance"/>
-            <xsd:enumeration value="DairyDepartment"/>
-            <xsd:enumeration value="DataProcessingServiceBureau"/>
-            <xsd:enumeration value="Dealer"/>
-            <xsd:enumeration value="Debtor"/>
-            <xsd:enumeration value="DebtorCompany"/>
-            <xsd:enumeration value="DebtorIndividual"/>
-            <xsd:enumeration value="Debtor-In-Possession"/>
-            <xsd:enumeration value="DebtorsAttorney"/>
-            <xsd:enumeration value="DebtPaymentAuthorisationParty"/>
-            <xsd:enumeration value="DecisionMaker"/>
-            <xsd:enumeration value="Declarant"/>
-            <xsd:enumeration value="DeclarantsAgentOrRepresentative"/>
-            <xsd:enumeration value="Deconsolidator"/>
-            <xsd:enumeration value="DefaultOrForeclosureSpecialist"/>
-            <xsd:enumeration value="Defendant"/>
-            <xsd:enumeration value="DelicatessenDepartment"/>
-            <xsd:enumeration value="DeliveryAddress"/>
-            <xsd:enumeration value="DeliveryParty"/>
-            <xsd:enumeration value="DeliveryZone"/>
-            <xsd:enumeration value="Dentist"/>
-            <xsd:enumeration value="DepartmentOfJusticeFacility"/>
-            <xsd:enumeration value="Dependent"/>
-            <xsd:enumeration value="DependentInsured"/>
-            <xsd:enumeration value="DependentName"/>
-            <xsd:enumeration value="Depositor"/>
-            <xsd:enumeration value="DesignatedHazardousWasteFacility"/>
-            <xsd:enumeration value="DesignEngineering"/>
-            <xsd:enumeration value="Designer"/>
-            <xsd:enumeration value="DespatchChargePayer"/>
-            <xsd:enumeration value="DespatchParty"/>
-            <xsd:enumeration value="DestinationCarrier"/>
-            <xsd:enumeration value="DestinationDrayman"/>
-            <xsd:enumeration value="DestinationIntermodalRamp"/>
-            <xsd:enumeration value="DestinationMailFacility"/>
-            <xsd:enumeration value="DestinationTerminal"/>
-            <xsd:enumeration value="DiagnosticRadioisotopeFacility"/>
-            <xsd:enumeration value="DialysisCenters"/>
-            <xsd:enumeration value="DifferentPremiseAddress"/>
-            <xsd:enumeration value="Director"/>
-            <xsd:enumeration value="DisabledIndividual"/>
-            <xsd:enumeration value="DisbursingOfficer"/>
-            <xsd:enumeration value="DischargePoint"/>
-            <xsd:enumeration value="DisciplinaryContact"/>
-            <xsd:enumeration value="Dispatcher"/>
-            <xsd:enumeration value="Distiller"/>
-            <xsd:enumeration value="DistributionRecipient"/>
-            <xsd:enumeration value="Distributor"/>
-            <xsd:enumeration value="DistributorBranch"/>
-            <xsd:enumeration value="District"/>
-            <xsd:enumeration value="DistrictAttorney"/>
-            <xsd:enumeration value="DistrictJustice"/>
-            <xsd:enumeration value="Division"/>
-            <xsd:enumeration value="DoctorOfOptometry"/>
-            <xsd:enumeration value="DoctorOfOsteopathy"/>
-            <xsd:enumeration value="DocumentaryCreditAccountParty"/>
-            <xsd:enumeration value="DocumentaryCreditAccountPartysBank"/>
-            <xsd:enumeration value="DocumentaryCreditApplicant"/>
-            <xsd:enumeration value="DocumentaryCreditBeneficiary"/>
-            <xsd:enumeration value="DocumentaryCreditBeneficiarysBank"/>
-            <xsd:enumeration value="DocumentaryCreditReimbursingBank"/>
-            <xsd:enumeration value="DocumentaryCreditSecondBeneficiary"/>
-            <xsd:enumeration value="DocumentCustodian"/>
-            <xsd:enumeration value="DocumentOrMessageIssuerOrSender"/>
-            <xsd:enumeration value="DocumentRecipient"/>
-            <xsd:enumeration value="DoingBusinessAs"/>
-            <xsd:enumeration value="DomesticFinancialInstitution"/>
-            <xsd:enumeration value="DownstreamFirstSupplier"/>
-            <xsd:enumeration value="DownstreamMeterLocation"/>
-            <xsd:enumeration value="DownstreamParty"/>
-            <xsd:enumeration value="Drawee"/>
-            <xsd:enumeration value="DrillingContractor"/>
-            <xsd:enumeration value="Driver"/>
-            <xsd:enumeration value="Drop-OffLocation"/>
-            <xsd:enumeration value="DryGroceryDepartment"/>
-            <xsd:enumeration value="DurableMedicalEquipmentSupplier"/>
-            <xsd:enumeration value="EconomicallyDisadvantagedIndividual"/>
-            <xsd:enumeration value="EducationalInstitution"/>
-            <xsd:enumeration value="ElectronicDataInterchangeCoordinatorPointAddress"/>
-            <xsd:enumeration value="ElectronicFiler"/>
-            <xsd:enumeration value="ElectronicRegistrationUtility"/>
-            <xsd:enumeration value="ElectronicReturnOriginator"/>
-            <xsd:enumeration value="ElementarySchool"/>
-            <xsd:enumeration value="EligiblePartyToTheContract"/>
-            <xsd:enumeration value="EligiblePartyToTheRate"/>
-            <xsd:enumeration value="EmergencyDepartment"/>
-            <xsd:enumeration value="EmergencyDepartmentSocialWorkServices"/>
-            <xsd:enumeration value="EmergencyMedicalTechnician"/>
-            <xsd:enumeration value="EmergencyProvider"/>
-            <xsd:enumeration value="EmergencyResponseUnit"/>
-            <xsd:enumeration value="EmergingSmallBusiness"/>
-            <xsd:enumeration value="Employee"/>
-            <xsd:enumeration value="EmployeeName"/>
-            <xsd:enumeration value="Employer"/>
-            <xsd:enumeration value="EmptyContainerResponsibleParty"/>
-            <xsd:enumeration value="EmptyContainerReturnAgent"/>
-            <xsd:enumeration value="EmptyEquipmentDespatchParty"/>
-            <xsd:enumeration value="EmptyEquipmentReturnParty"/>
-            <xsd:enumeration value="EndItemManufacturer"/>
-            <xsd:enumeration value="EndUser"/>
-            <xsd:enumeration value="EnergyInformationAdministration-OwnedOilField"/>
-            <xsd:enumeration value="Engineer"/>
-            <xsd:enumeration value="Engineer-Construction"/>
-            <xsd:enumeration value="Engineer-Consultant"/>
-            <xsd:enumeration value="Engineering"/>
-            <xsd:enumeration value="EngineerMeasurement"/>
-            <xsd:enumeration value="EngineerPilot"/>
-            <xsd:enumeration value="Engineer-ResidentConstruction"/>
-            <xsd:enumeration value="Enroller"/>
-            <xsd:enumeration value="EntityHoldingTheInformation"/>
-            <xsd:enumeration value="EntityInWhichAFinancialInterestIsHeld"/>
-            <xsd:enumeration value="EntityProvidingTheService"/>
-            <xsd:enumeration value="EntityResponsibleForFollow-Up"/>
-            <xsd:enumeration value="EntryPointTechnicalAssessmentGroup"/>
-            <xsd:enumeration value="EquipmentDrop-OffParty"/>
-            <xsd:enumeration value="EquipmentOwner"/>
-            <xsd:enumeration value="EquipmentRepairParty"/>
-            <xsd:enumeration value="EstablishedLocation"/>
-            <xsd:enumeration value="Estimator"/>
-            <xsd:enumeration value="EventLocation"/>
-            <xsd:enumeration value="Examiner"/>
-            <xsd:enumeration value="Exchanger"/>
-            <xsd:enumeration value="ExciseParty"/>
-            <xsd:enumeration value="ExcludedParty"/>
-            <xsd:enumeration value="ExecutiveCommitteeMember"/>
-            <xsd:enumeration value="ExecutorOfEstate"/>
-            <xsd:enumeration value="Exhibitor"/>
-            <xsd:enumeration value="ExpertWitness"/>
-            <xsd:enumeration value="Exporter"/>
-            <xsd:enumeration value="Ex-Spouse"/>
-            <xsd:enumeration value="ExtendedCareFacility"/>
-            <xsd:enumeration value="ExtracorporealShock-WaveLithotripterUnit"/>
-            <xsd:enumeration value="EyeEarNoseAndThroatFacility"/>
-            <xsd:enumeration value="Facility"/>
-            <xsd:enumeration value="Factor"/>
-            <xsd:enumeration value="Factor-Correspondent"/>
-            <xsd:enumeration value="FamilyMember"/>
-            <xsd:enumeration value="Father"/>
-            <xsd:enumeration value="FederalFacility"/>
-            <xsd:enumeration value="FederalGovernment"/>
-            <xsd:enumeration value="FederallyCharteredFacility"/>
-            <xsd:enumeration value="FederalStateCountyOrCityFacility"/>
-            <xsd:enumeration value="FellowshipInstitution"/>
-            <xsd:enumeration value="Felon"/>
-            <xsd:enumeration value="Field"/>
-            <xsd:enumeration value="FieldorBranchOffice"/>
-            <xsd:enumeration value="FilerName"/>
-            <xsd:enumeration value="FilingAddress"/>
-            <xsd:enumeration value="FilingLocation"/>
-            <xsd:enumeration value="FilingOffice"/>
-            <xsd:enumeration value="FinalCustomerOrganization"/>
-            <xsd:enumeration value="FinalMaintenanceOrganization"/>
-            <xsd:enumeration value="FinalMaintenancePeriodDesignatingOrganization"/>
-            <xsd:enumeration value="FinalMessageRecipient"/>
-            <xsd:enumeration value="FinalRecipient"/>
-            <xsd:enumeration value="FinalReferredToOrganization"/>
-            <xsd:enumeration value="FinalScheduledDestination"/>
-            <xsd:enumeration value="FinancialInstitution"/>
-            <xsd:enumeration value="FinancialPlanner"/>
-            <xsd:enumeration value="FinancialStatementRecipient"/>
-            <xsd:enumeration value="Fireman"/>
-            <xsd:enumeration value="FirstAppraiser"/>
-            <xsd:enumeration value="FirstBreakTerminal"/>
-            <xsd:enumeration value="FirstContact"/>
-            <xsd:enumeration value="FirstSupplier"/>
-            <xsd:enumeration value="FitnessCenter"/>
-            <xsd:enumeration value="FloodCertifier"/>
-            <xsd:enumeration value="FloodDeterminationProvider"/>
-            <xsd:enumeration value="FloralDepartment"/>
-            <xsd:enumeration value="FoodServiceOperator"/>
-            <xsd:enumeration value="ForeclosingLender"/>
-            <xsd:enumeration value="ForeignDisclosureInformationOffice"/>
-            <xsd:enumeration value="ForeignLanguageSynonym"/>
-            <xsd:enumeration value="ForeignOffice"/>
-            <xsd:enumeration value="ForeignRegistrationLocation"/>
-            <xsd:enumeration value="ForeignSupplier"/>
-            <xsd:enumeration value="Formation"/>
-            <xsd:enumeration value="FormerAddress"/>
-            <xsd:enumeration value="FormerlyDoingBusinessAs"/>
-            <xsd:enumeration value="FormerlyKnownAs"/>
-            <xsd:enumeration value="FormerPresident"/>
-            <xsd:enumeration value="FormerRegisteredAddress"/>
-            <xsd:enumeration value="FormerResidence"/>
-            <xsd:enumeration value="ForProfitHealthCareProvider"/>
-            <xsd:enumeration value="Forwarder"/>
-            <xsd:enumeration value="Foundation"/>
-            <xsd:enumeration value="Founder"/>
-            <xsd:enumeration value="Franchisee"/>
-            <xsd:enumeration value="Franchisor"/>
-            <xsd:enumeration value="FreeonBoardPoint"/>
-            <xsd:enumeration value="FreightForwarder"/>
-            <xsd:enumeration value="FreightManagementFacilitator"/>
-            <xsd:enumeration value="FreightOrChargesPayer"/>
-            <xsd:enumeration value="FreightPayerOnBehalfOfTheConsignee"/>
-            <xsd:enumeration value="FreightPayerOnBehalfOfTheConsignor"/>
-            <xsd:enumeration value="FrozenDepartment"/>
-            <xsd:enumeration value="FutureAddress"/>
-            <xsd:enumeration value="GainingInventoryManager"/>
-            <xsd:enumeration value="GaragedLocation"/>
-            <xsd:enumeration value="Garnishee"/>
-            <xsd:enumeration value="GasPlant"/>
-            <xsd:enumeration value="GasTransactionEndingPoint"/>
-            <xsd:enumeration value="GasTransactionPoint1"/>
-            <xsd:enumeration value="GasTransactionPoint2"/>
-            <xsd:enumeration value="GasTransactionStartingPoint"/>
-            <xsd:enumeration value="GatewayProvider"/>
-            <xsd:enumeration value="GeneralAgency"/>
-            <xsd:enumeration value="GeneralInpatientCareForAIDSOrARCFacility"/>
-            <xsd:enumeration value="GeneralMedicalAndSurgicalFacility"/>
-            <xsd:enumeration value="GeneralMerchandiseDepartment"/>
-            <xsd:enumeration value="GeneticCounselingOrScreeningServices"/>
-            <xsd:enumeration value="GeriatricAcuteCareUnit"/>
-            <xsd:enumeration value="GeriatricClinics"/>
-            <xsd:enumeration value="GiftRecipient"/>
-            <xsd:enumeration value="GoodsCollectionParty"/>
-            <xsd:enumeration value="GoodsCustodian"/>
-            <xsd:enumeration value="GoodsOwner"/>
-            <xsd:enumeration value="GoodsReleaser"/>
-            <xsd:enumeration value="Government"/>
-            <xsd:enumeration value="Government-CombinedControl"/>
-            <xsd:enumeration value="Government-Federal-Military"/>
-            <xsd:enumeration value="Government-Federal-Other"/>
-            <xsd:enumeration value="Government-Federal-Veterans"/>
-            <xsd:enumeration value="GovernmentFurnishedPropertyFOBPoint"/>
-            <xsd:enumeration value="GovernmentLoanAgencySponsorOrAgent"/>
-            <xsd:enumeration value="Government-Local"/>
-            <xsd:enumeration value="Grandparent"/>
-            <xsd:enumeration value="Grantor"/>
-            <xsd:enumeration value="GroundAmbulanceServices"/>
-            <xsd:enumeration value="Group"/>
-            <xsd:enumeration value="GroupAffiliate"/>
-            <xsd:enumeration value="GroupAffiliation"/>
-            <xsd:enumeration value="GroupingCentre"/>
-            <xsd:enumeration value="GroupPractice"/>
-            <xsd:enumeration value="GroupPurchasingOrganization"/>
-            <xsd:enumeration value="GuaranteeAgency"/>
-            <xsd:enumeration value="Guardian"/>
-            <xsd:enumeration value="HazardousMaterialOffice"/>
-            <xsd:enumeration value="HazardousWasteGenerator"/>
-            <xsd:enumeration value="HeadOffice"/>
-            <xsd:enumeration value="HealthAndBeautyDepartment"/>
-            <xsd:enumeration value="HealthcareProfessionalShortageAreaFacility"/>
-            <xsd:enumeration value="HealthMaintenanceOrganization"/>
-            <xsd:enumeration value="HealthMiscellaneous"/>
-            <xsd:enumeration value="HealthSciencesLibrary"/>
-            <xsd:enumeration value="HemodialysisFacility"/>
-            <xsd:enumeration value="HighSchool"/>
-            <xsd:enumeration value="HisopathologyLaboratory"/>
-            <xsd:enumeration value="HispanicServiceInstitute"/>
-            <xsd:enumeration value="HistoricallyBlackCollegeOrUniversity"/>
-            <xsd:enumeration value="HomeHealthAgency"/>
-            <xsd:enumeration value="HomeHealthCare"/>
-            <xsd:enumeration value="HomeHealthCorporation"/>
-            <xsd:enumeration value="HomeHealthServices"/>
-            <xsd:enumeration value="HomeOffice"/>
-            <xsd:enumeration value="HomeSchool"/>
-            <xsd:enumeration value="HomeStateName"/>
-            <xsd:enumeration value="Hospice"/>
-            <xsd:enumeration value="Hospital"/>
-            <xsd:enumeration value="HospitalAuxiliaryUnit"/>
-            <xsd:enumeration value="HospitalDistrictOrAuthority"/>
-            <xsd:enumeration value="HospitalUnitOfAnInstitution"/>
-            <xsd:enumeration value="HospitalUnitWithinAnInstitutionForTheMentallyRetarded"/>
-            <xsd:enumeration value="HostileWitness"/>
-            <xsd:enumeration value="ImportedFromLocation"/>
-            <xsd:enumeration value="Importer"/>
-            <xsd:enumeration value="InCareOfPartyNo1"/>
-            <xsd:enumeration value="InCareOfPartyNo2"/>
-            <xsd:enumeration value="IncorporatedBy"/>
-            <xsd:enumeration value="IncorporatedLocation"/>
-            <xsd:enumeration value="IncorporationJurisdiction"/>
-            <xsd:enumeration value="IncorporationStatePlaceOfBusiness"/>
-            <xsd:enumeration value="IncorporationStatePrincipalOffice"/>
-            <xsd:enumeration value="IndependentAdjuster"/>
-            <xsd:enumeration value="IndependentLab"/>
-            <xsd:enumeration value="IndependentPhysiciansAssociation"/>
-            <xsd:enumeration value="Individual"/>
-            <xsd:enumeration value="IndividualFor-ProfitFacility"/>
-            <xsd:enumeration value="IndustryAssociation"/>
-            <xsd:enumeration value="IndustryBureau"/>
-            <xsd:enumeration value="IneligibleParty"/>
-            <xsd:enumeration value="InformationDisseminationAgency"/>
-            <xsd:enumeration value="InformationMaintenanceAgency"/>
-            <xsd:enumeration value="InformationProvider"/>
-            <xsd:enumeration value="InformationReferenceAgency"/>
-            <xsd:enumeration value="InformationSource"/>
-            <xsd:enumeration value="InitialDealer"/>
-            <xsd:enumeration value="InitialMedicalProvider"/>
-            <xsd:enumeration value="InitialSubscriber"/>
-            <xsd:enumeration value="Initiating"/>
-            <xsd:enumeration value="InjectionPoint"/>
-            <xsd:enumeration value="In-PatientPharmacy"/>
-            <xsd:enumeration value="InquiringParty"/>
-            <xsd:enumeration value="InquiryAddress"/>
-            <xsd:enumeration value="In-ServiceSource"/>
-            <xsd:enumeration value="InspectionAddress"/>
-            <xsd:enumeration value="InspectionAndAcceptanceLocation"/>
-            <xsd:enumeration value="InspectionAndAcceptanceParty"/>
-            <xsd:enumeration value="InspectionCompany"/>
-            <xsd:enumeration value="InspectionLeader"/>
-            <xsd:enumeration value="InspectionLocation"/>
-            <xsd:enumeration value="Inspector"/>
-            <xsd:enumeration value="InstallationOnSite"/>
-            <xsd:enumeration value="InstalledAt"/>
-            <xsd:enumeration value="InstitutionalProvider"/>
-            <xsd:enumeration value="InstitutionForMentalRetardation"/>
-            <xsd:enumeration value="In-StoreBakeryDepartment"/>
-            <xsd:enumeration value="InsuranceBeneficiary"/>
-            <xsd:enumeration value="InsuranceClaimAdjuster"/>
-            <xsd:enumeration value="InsuranceCompany"/>
-            <xsd:enumeration value="InsuranceInstitute"/>
-            <xsd:enumeration value="Insured"/>
-            <xsd:enumeration value="InsuredLocation"/>
-            <xsd:enumeration value="InsuredOrSubscriber"/>
-            <xsd:enumeration value="Insurer"/>
-            <xsd:enumeration value="IntegratedMaterialManager"/>
-            <xsd:enumeration value="IntellectualPropertyOwner"/>
-            <xsd:enumeration value="InterestedParty"/>
-            <xsd:enumeration value="InterimFundingOrganization"/>
-            <xsd:enumeration value="InterimTrustee"/>
-            <xsd:enumeration value="InterlineServiceCommitmentCustomer"/>
-            <xsd:enumeration value="Intermediary"/>
-            <xsd:enumeration value="IntermediaryBank1"/>
-            <xsd:enumeration value="IntermediaryBank2"/>
-            <xsd:enumeration value="IntermediaryOrBroker"/>
-            <xsd:enumeration value="IntermediateCarrier"/>
-            <xsd:enumeration value="IntermediateConsignee"/>
-            <xsd:enumeration value="IntermediateLevelParentCompany"/>
-            <xsd:enumeration value="InternationalFreightForwarder"/>
-            <xsd:enumeration value="InternationalOrganization"/>
-            <xsd:enumeration value="InternshipEntity"/>
-            <xsd:enumeration value="Interpreter"/>
-            <xsd:enumeration value="Interviewee"/>
-            <xsd:enumeration value="Interviewer"/>
-            <xsd:enumeration value="Inventor"/>
-            <xsd:enumeration value="InventoryController"/>
-            <xsd:enumeration value="InventoryControlPoint"/>
-            <xsd:enumeration value="InventoryReportingParty"/>
-            <xsd:enumeration value="Investigator"/>
-            <xsd:enumeration value="InvestmentAdvisor"/>
-            <xsd:enumeration value="Investor"/>
-            <xsd:enumeration value="Invoicee"/>
-            <xsd:enumeration value="InvoicingDealer"/>
-            <xsd:enumeration value="InvolvedParty"/>
-            <xsd:enumeration value="IrrevocableBeneficiary"/>
-            <xsd:enumeration value="Issuer"/>
-            <xsd:enumeration value="IssuerOfDebitOrCreditMemo"/>
-            <xsd:enumeration value="IssuerOfInvoice"/>
-            <xsd:enumeration value="IssuerOfWaybill"/>
-            <xsd:enumeration value="IssuingBank"/>
-            <xsd:enumeration value="ItemManager"/>
-            <xsd:enumeration value="ItemShipTo"/>
-            <xsd:enumeration value="ItemShipFrom"/>
-            <xsd:enumeration value="JointAnnuitant"/>
-            <xsd:enumeration value="JointAnnuitantOwner"/>
-            <xsd:enumeration value="JointDebtor"/>
-            <xsd:enumeration value="JointDebtorAttorney"/>
-            <xsd:enumeration value="JointOwner"/>
-            <xsd:enumeration value="JointOwnerAnnuitant"/>
-            <xsd:enumeration value="JointOwnerAnnuitantPayor"/>
-            <xsd:enumeration value="JointOwnerJointAnnuitant"/>
-            <xsd:enumeration value="JointOwnerJointAnnuitantPayor"/>
-            <xsd:enumeration value="JointOwnerPayor"/>
-            <xsd:enumeration value="JointVenture"/>
-            <xsd:enumeration value="Judge"/>
-            <xsd:enumeration value="JuniorHighSchool"/>
-            <xsd:enumeration value="Jurisdiction"/>
-            <xsd:enumeration value="JuvenileDefendant"/>
-            <xsd:enumeration value="JuvenileOwner"/>
-            <xsd:enumeration value="JuvenileVictim"/>
-            <xsd:enumeration value="JuvenileWitness"/>
-            <xsd:enumeration value="KeyPerson"/>
-            <xsd:enumeration value="KidneyDialysisUnit"/>
-            <xsd:enumeration value="Labeler"/>
-            <xsd:enumeration value="Laboratory"/>
-            <xsd:enumeration value="LaborSurplusAreaFirm"/>
-            <xsd:enumeration value="Landlord"/>
-            <xsd:enumeration value="LargeBusiness"/>
-            <xsd:enumeration value="LastBreakTerminal"/>
-            <xsd:enumeration value="LastEmployer"/>
-            <xsd:enumeration value="LastKnownSourceOfSupply"/>
-            <xsd:enumeration value="LastSupplier"/>
-            <xsd:enumeration value="LawEnforcementAgency"/>
-            <xsd:enumeration value="LawFirm"/>
-            <xsd:enumeration value="LeaseLocation"/>
-            <xsd:enumeration value="LegalReceiver"/>
-            <xsd:enumeration value="LegalRepresentative"/>
-            <xsd:enumeration value="LegalTitleHolder"/>
-            <xsd:enumeration value="Lender"/>
-            <xsd:enumeration value="LendingInstitution"/>
-            <xsd:enumeration value="Lessee"/>
-            <xsd:enumeration value="LesseesSurveyor"/>
-            <xsd:enumeration value="Lessor"/>
-            <xsd:enumeration value="LiabilityHolder"/>
-            <xsd:enumeration value="Licensee"/>
-            <xsd:enumeration value="LienHolder"/>
-            <xsd:enumeration value="LimitedLiabilityCompany"/>
-            <xsd:enumeration value="LimitedLiabilityPartnership"/>
-            <xsd:enumeration value="LimitedPartner"/>
-            <xsd:enumeration value="Liquidator"/>
-            <xsd:enumeration value="ListingAgent"/>
-            <xsd:enumeration value="ListingCompany"/>
-            <xsd:enumeration value="ListingOffice"/>
-            <xsd:enumeration value="ListMailer"/>
-            <xsd:enumeration value="ListOwner"/>
-            <xsd:enumeration value="LiterallyTranslatedName"/>
-            <xsd:enumeration value="LoadingParty"/>
-            <xsd:enumeration value="LoanApplicant"/>
-            <xsd:enumeration value="LoanBroker"/>
-            <xsd:enumeration value="LoanCorrespondent"/>
-            <xsd:enumeration value="LoanHolderForRealEstateAsset"/>
-            <xsd:enumeration value="LoanOriginator"/>
-            <xsd:enumeration value="LoanServicer"/>
-            <xsd:enumeration value="LocalChain"/>
-            <xsd:enumeration value="LocalGovernmentSponsor"/>
-            <xsd:enumeration value="LocationOfGoods"/>
-            <xsd:enumeration value="LocationOfGoodsForCustomsExaminationBeforeClearance"/>
-            <xsd:enumeration value="LocationOfLoadExchange"/>
-            <xsd:enumeration value="LocationOfPrincipalAssets"/>
-            <xsd:enumeration value="LocationOfSpotForStorage"/>
-            <xsd:enumeration value="LongTermCareFacility"/>
-            <xsd:enumeration value="Long-TermDisabilityCarrier"/>
-            <xsd:enumeration value="LosingInventoryManager"/>
-            <xsd:enumeration value="LossPayee"/>
-            <xsd:enumeration value="Lot"/>
-            <xsd:enumeration value="MagistrateJudge"/>
-            <xsd:enumeration value="MagneticResonanceImagingFacility"/>
-            <xsd:enumeration value="MaidenName"/>
-            <xsd:enumeration value="MailAddress"/>
-            <xsd:enumeration value="MailTo"/>
-            <xsd:enumeration value="Mainline"/>
-            <xsd:enumeration value="MaintenanceOrganizationUsedForEstimate"/>
-            <xsd:enumeration value="MammographyScreeningCenter"/>
-            <xsd:enumeration value="ManagedCare"/>
-            <xsd:enumeration value="ManagedCareOrganization"/>
-            <xsd:enumeration value="ManagementControlActivity"/>
-            <xsd:enumeration value="ManagementNon-Officer"/>
-            <xsd:enumeration value="Manager"/>
-            <xsd:enumeration value="ManagingAgent"/>
-            <xsd:enumeration value="ManagingGeneralAgent"/>
-            <xsd:enumeration value="ManufacturerOfGoods"/>
-            <xsd:enumeration value="ManufacturersRepresentative"/>
-            <xsd:enumeration value="Manufacturing"/>
-            <xsd:enumeration value="ManufacturingPlant"/>
-            <xsd:enumeration value="MarineSurveyor"/>
-            <xsd:enumeration value="MarkerOwner"/>
-            <xsd:enumeration value="MarketTimer"/>
-            <xsd:enumeration value="Mark-ForParty"/>
-            <xsd:enumeration value="MasterAgent"/>
-            <xsd:enumeration value="MasterGeneralAgent"/>
-            <xsd:enumeration value="MasterProperty"/>
-            <xsd:enumeration value="Material"/>
-            <xsd:enumeration value="MaterialChangeNoticeAddress"/>
-            <xsd:enumeration value="MaterialDispositionAuthorizationLocation"/>
-            <xsd:enumeration value="MaterialIssuer"/>
-            <xsd:enumeration value="MaterialSafetyDataSheetRecipient"/>
-            <xsd:enumeration value="MeansOfTransportCharterer"/>
-            <xsd:enumeration value="MeatDepartment"/>
-            <xsd:enumeration value="MedicalDoctor"/>
-            <xsd:enumeration value="MedicalInsuranceCarrier"/>
-            <xsd:enumeration value="MedicalNurse"/>
-            <xsd:enumeration value="MedicalSchool"/>
-            <xsd:enumeration value="MedicalSurgicalOrOtherIntensiveCareUnit"/>
-            <xsd:enumeration value="MedicalTreatmentExecutant"/>
-            <xsd:enumeration value="MedicalTreatmentPrescriber"/>
-            <xsd:enumeration value="MeetingLocation"/>
-            <xsd:enumeration value="MegavoltageRadiationTherapyUnit"/>
-            <xsd:enumeration value="Member"/>
-            <xsd:enumeration value="MerchantBanker"/>
-            <xsd:enumeration value="MergedCompany"/>
-            <xsd:enumeration value="MergedCompanyWithRetainedIdentity"/>
-            <xsd:enumeration value="MergedName"/>
-            <xsd:enumeration value="MessageFrom"/>
-            <xsd:enumeration value="MessageRecipient"/>
-            <xsd:enumeration value="MessageTo"/>
-            <xsd:enumeration value="MeteringLocation"/>
-            <xsd:enumeration value="MexicanCustomsBroker"/>
-            <xsd:enumeration value="MiddleSchool"/>
-            <xsd:enumeration value="MigrantHealthClinic"/>
-            <xsd:enumeration value="MilitaryBranch"/>
-            <xsd:enumeration value="MilitaryFacility"/>
-            <xsd:enumeration value="MinimumRoyaltyPayor"/>
-            <xsd:enumeration value="Minister"/>
-            <xsd:enumeration value="MinorityInstitution"/>
-            <xsd:enumeration value="Minority-OwnedBusinessLarge"/>
-            <xsd:enumeration value="Minority-OwnedBusinessSmall"/>
-            <xsd:enumeration value="MiscellaneousHealthCareFacility"/>
-            <xsd:enumeration value="MonitoringParty"/>
-            <xsd:enumeration value="MortgageCompany"/>
-            <xsd:enumeration value="MortgageInsurer"/>
-            <xsd:enumeration value="MortgageLiabilityAccountHolder"/>
-            <xsd:enumeration value="MostRecentEmployer"/>
-            <xsd:enumeration value="Mother"/>
-            <xsd:enumeration value="MotorCarrier"/>
-            <xsd:enumeration value="MotorVehicleReportProviderCompany"/>
-            <xsd:enumeration value="MultipleListingService"/>
-            <xsd:enumeration value="Municipality"/>
-            <xsd:enumeration value="NameChangedTo"/>
-            <xsd:enumeration value="NameNotToBeConfusedWith"/>
-            <xsd:enumeration value="NameonCreditCard"/>
-            <xsd:enumeration value="NameUnderWhichFiled"/>
-            <xsd:enumeration value="NameVariationSynonym"/>
-            <xsd:enumeration value="NationalChain"/>
-            <xsd:enumeration value="NationalOrganization"/>
-            <xsd:enumeration value="NativeHawaiianOrganization"/>
-            <xsd:enumeration value="NavyFacility"/>
-            <xsd:enumeration value="NeglectedOrDelinquentInstitution"/>
-            <xsd:enumeration value="NegotiatingBank"/>
-            <xsd:enumeration value="Neighbor"/>
-            <xsd:enumeration value="Neighborhood"/>
-            <xsd:enumeration value="NeonatalIntensiveCareUnit"/>
-            <xsd:enumeration value="NetworkName"/>
-            <xsd:enumeration value="NewAddress"/>
-            <xsd:enumeration value="NewAssignee"/>
-            <xsd:enumeration value="NewDebtor"/>
-            <xsd:enumeration value="NewSecuredParty"/>
-            <xsd:enumeration value="NewServiceProvider"/>
-            <xsd:enumeration value="Newspaper"/>
-            <xsd:enumeration value="NewSupplySource"/>
-            <xsd:enumeration value="NextDestination"/>
-            <xsd:enumeration value="NextScheduledDestination"/>
-            <xsd:enumeration value="Nickname"/>
-            <xsd:enumeration value="NoHeading"/>
-            <xsd:enumeration value="NominatedBank"/>
-            <xsd:enumeration value="NominatedFreightCompany"/>
-            <xsd:enumeration value="Non-DomesticFinancialInstitution"/>
-            <xsd:enumeration value="NonemploymentIncomeSource"/>
-            <xsd:enumeration value="Non-HealthCareMiscellaneousFacility"/>
-            <xsd:enumeration value="Non-Insured"/>
-            <xsd:enumeration value="Non-InvasiveCardiacAssessmentServices"/>
-            <xsd:enumeration value="Non-MortgageLiabilityAccountHolder"/>
-            <xsd:enumeration value="Non-OccupantCo-Borrower"/>
-            <xsd:enumeration value="Non-ProductionSupplier"/>
-            <xsd:enumeration value="Non-ProfitHealthCareProvider"/>
-            <xsd:enumeration value="NonprofitInstitution"/>
-            <xsd:enumeration value="Non-RailroadEntity"/>
-            <xsd:enumeration value="NonRegisteredBusinessName"/>
-            <xsd:enumeration value="Non-RegisteredInvestmentAdvisor"/>
-            <xsd:enumeration value="Non-ResidentBeneficiary"/>
-            <xsd:enumeration value="Non-ResidentCreditor"/>
-            <xsd:enumeration value="Non-ResidentDebtor"/>
-            <xsd:enumeration value="Non-ResidentGroupCompanyWithWhomFinancialAccountIs"/>
-            <xsd:enumeration value="Non-ResidentInstructingParty"/>
-            <xsd:enumeration value="Non-ResidentThirdPartyCompanyWithWhomFinancial"/>
-            <xsd:enumeration value="Non-TemporaryStorageFacility"/>
-            <xsd:enumeration value="Notary"/>
-            <xsd:enumeration value="NotaryPublic"/>
-            <xsd:enumeration value="NoteCo-Signer"/>
-            <xsd:enumeration value="NotForProfitHealthCareProvider"/>
-            <xsd:enumeration value="NotifyParty"/>
-            <xsd:enumeration value="NotifyPartyForShippersOrder"/>
-            <xsd:enumeration value="NotifyPartyNo1"/>
-            <xsd:enumeration value="NotifyPartyNo2"/>
-            <xsd:enumeration value="NursingHome"/>
-            <xsd:enumeration value="NursingHomeChain"/>
-            <xsd:enumeration value="ObservationRoomServices"/>
-            <xsd:enumeration value="ObstetricsAndGynecologyFacility"/>
-            <xsd:enumeration value="ObstetricsUnit"/>
-            <xsd:enumeration value="Occupant"/>
-            <xsd:enumeration value="OccupationalHealthServices"/>
-            <xsd:enumeration value="OccupationalTherapyServices"/>
-            <xsd:enumeration value="OceanTariffConference"/>
-            <xsd:enumeration value="OfficeManager"/>
-            <xsd:enumeration value="Officer"/>
-            <xsd:enumeration value="OffsetOperator"/>
-            <xsd:enumeration value="OilAndGasCustodian"/>
-            <xsd:enumeration value="OilAndGasRegulatoryAgency"/>
-            <xsd:enumeration value="OldAssignee"/>
-            <xsd:enumeration value="OldDebtor"/>
-            <xsd:enumeration value="OldSecuredParty"/>
-            <xsd:enumeration value="OnBehalfOf"/>
-            <xsd:enumeration value="On-CallProvider"/>
-            <xsd:enumeration value="OncologyCenter"/>
-            <xsd:enumeration value="Open-HeartSurgeryFacility"/>
-            <xsd:enumeration value="OperatingPhysician"/>
-            <xsd:enumeration value="Operator-CommunicationChannel"/>
-            <xsd:enumeration value="Operator-EssentialServices"/>
-            <xsd:enumeration value="OperatorOfPropertyOrEquipment"/>
-            <xsd:enumeration value="OperatorOfPropertyOrUnit"/>
-            <xsd:enumeration value="OperatorOfTheSourceTransferPoint"/>
-            <xsd:enumeration value="OperatorOfTheTransferPoint"/>
-            <xsd:enumeration value="OrderedBank"/>
-            <xsd:enumeration value="OrderedBy"/>
-            <xsd:enumeration value="OrderingBank"/>
-            <xsd:enumeration value="OrderingCustomer"/>
-            <xsd:enumeration value="OrderingParty"/>
-            <xsd:enumeration value="OrderingPhysician"/>
-            <xsd:enumeration value="OrderOfShippersOrders-Transportation"/>
-            <xsd:enumeration value="OrderOfTheShipperParty"/>
-            <xsd:enumeration value="OrderWriter"/>
-            <xsd:enumeration value="Organization"/>
-            <xsd:enumeration value="OrganizationCompletingConfigurationChange"/>
-            <xsd:enumeration value="OrganizationGroup"/>
-            <xsd:enumeration value="OrganizationHavingSourceControl"/>
-            <xsd:enumeration value="OrganizedOutpatientServices"/>
-            <xsd:enumeration value="OrganizedSocialWorkServiceFacility"/>
-            <xsd:enumeration value="Organizer"/>
-            <xsd:enumeration value="OrganOrTissueTransplantUnit"/>
-            <xsd:enumeration value="OriginalClaimant"/>
-            <xsd:enumeration value="OriginalIntermodalRamp"/>
-            <xsd:enumeration value="OriginalJurisdiction"/>
-            <xsd:enumeration value="OriginalLocation"/>
-            <xsd:enumeration value="OriginalName"/>
-            <xsd:enumeration value="OriginalShipper"/>
-            <xsd:enumeration value="OriginatingBank"/>
-            <xsd:enumeration value="OriginatingCompany"/>
-            <xsd:enumeration value="OriginatorOfArticleNumber"/>
-            <xsd:enumeration value="OriginCarrier"/>
-            <xsd:enumeration value="OriginDrayman"/>
-            <xsd:enumeration value="OriginMailFacility"/>
-            <xsd:enumeration value="OriginSublocation"/>
-            <xsd:enumeration value="OriginTerminal"/>
-            <xsd:enumeration value="OrthopedicFacility"/>
-            <xsd:enumeration value="OrthopedicSurgeryFacility"/>
-            <xsd:enumeration value="OtherDepartments"/>
-            <xsd:enumeration value="OtherDisadvantagedBusiness"/>
-            <xsd:enumeration value="OtherIndividualDisabilityCarrier"/>
-            <xsd:enumeration value="OtherInsured"/>
-            <xsd:enumeration value="OtherNot-For-ProfitFacility"/>
-            <xsd:enumeration value="OtherPersonOrEntityAssociatedWithStudent"/>
-            <xsd:enumeration value="OtherPhysician"/>
-            <xsd:enumeration value="OtherRelatedParty"/>
-            <xsd:enumeration value="OtherSpecialtyFacility"/>
-            <xsd:enumeration value="OtherUnlistedTypeOfOrganizationalEntity"/>
-            <xsd:enumeration value="OuterContinentalShelfAreaLocation"/>
-            <xsd:enumeration value="Out-Of-StatePrincipalOffice"/>
-            <xsd:enumeration value="OutpatientSocialWorkServices"/>
-            <xsd:enumeration value="OutpatientSurgeryServices"/>
-            <xsd:enumeration value="OutpatientSurgicenter"/>
-            <xsd:enumeration value="OutsideInspectionAgency"/>
-            <xsd:enumeration value="OutsideProcessor"/>
-            <xsd:enumeration value="OutsideTestAgency"/>
-            <xsd:enumeration value="OverrideInstitution"/>
-            <xsd:enumeration value="Owner"/>
-            <xsd:enumeration value="OwnerAnnuitant"/>
-            <xsd:enumeration value="OwnerAnnuitantPayor"/>
-            <xsd:enumeration value="OwnerJointAnnuitantPayor"/>
-            <xsd:enumeration value="OwnerOfEquipment"/>
-            <xsd:enumeration value="OwnerOfMeansOfTransport"/>
-            <xsd:enumeration value="OwnerOfOperation"/>
-            <xsd:enumeration value="OwnerOfProperty"/>
-            <xsd:enumeration value="OwnerOfPropertyOrUnit"/>
-            <xsd:enumeration value="OwnerOfResidence"/>
-            <xsd:enumeration value="OwnerOfVehicle"/>
-            <xsd:enumeration value="OwnerOfVessel"/>
-            <xsd:enumeration value="OwnerOrLessorsSurveyor"/>
-            <xsd:enumeration value="OwnerPayor"/>
-            <xsd:enumeration value="OwnersAgent"/>
-            <xsd:enumeration value="OwnersRepresentative"/>
-            <xsd:enumeration value="OwningInventoryControlPoint"/>
-            <xsd:enumeration value="OxygenTherapyFacility"/>
-            <xsd:enumeration value="Packer"/>
-            <xsd:enumeration value="Paramedic"/>
-            <xsd:enumeration value="ParamedicalCompany"/>
-            <xsd:enumeration value="Parent"/>
-            <xsd:enumeration value="ParentCompany"/>
-            <xsd:enumeration value="Participant"/>
-            <xsd:enumeration value="ParticipatingArea"/>
-            <xsd:enumeration value="ParticipatingLaboratory"/>
-            <xsd:enumeration value="Partner"/>
-            <xsd:enumeration value="Partnership"/>
-            <xsd:enumeration value="PartnershipFor-ProfitFacility"/>
-            <xsd:enumeration value="PartRemanufacturer"/>
-            <xsd:enumeration value="PartsDistributor"/>
-            <xsd:enumeration value="PartSource"/>
-            <xsd:enumeration value="PartyAccordingToDocumentaryCreditTransaction"/>
-            <xsd:enumeration value="PartyAssigningAStatus"/>
-            <xsd:enumeration value="PartyAtFinalPlaceOfPositioning"/>
-            <xsd:enumeration value="PartyAtPick-UpLocation"/>
-            <xsd:enumeration value="PartyAuthorizedtoDefinitizeContractAction"/>
-            <xsd:enumeration value="PartyAuthorizedToMakeDefiniteAContractAction"/>
-            <xsd:enumeration value="PartyAuthorizingDisposition"/>
-            <xsd:enumeration value="PartyAuthorizingReleaseOfSecurityInformation"/>
-            <xsd:enumeration value="PartyDataResponsibleParty"/>
-            <xsd:enumeration value="PartyDeclaringTheValueAddedTax"/>
-            <xsd:enumeration value="PartyDesignatedToExecuteRe-Icing"/>
-            <xsd:enumeration value="PartyDesignatedToExecuteSanitaryProcedures"/>
-            <xsd:enumeration value="PartyDesignatedToProvideLivingAnimalCare"/>
-            <xsd:enumeration value="PartyExecutingAndVerifying"/>
-            <xsd:enumeration value="PartyFillingShippersOrder"/>
-            <xsd:enumeration value="PartyForWhomItemIsUltimatelyIntended"/>
-            <xsd:enumeration value="PartyFromWhomCustomsDocumentsAreToBePickedUp"/>
-            <xsd:enumeration value="PartyFromWhomNon-CustomsDocumentsAreToBePickedUp"/>
-            <xsd:enumeration value="PartyFulfillingAllOperations"/>
-            <xsd:enumeration value="PartyInPossession"/>
-            <xsd:enumeration value="PartyIssuingMutuallyAgreedCodes"/>
-            <xsd:enumeration value="PartyMaintainingTheCodesUsedInTheMessage"/>
-            <xsd:enumeration value="PartyMaintainingTheIdentifiersUsedInTheMessage"/>
-            <xsd:enumeration value="PartyMandatedToLiquidateAnEnterprise"/>
-            <xsd:enumeration value="PartyManufacturedFor"/>
-            <xsd:enumeration value="PartyNotToBeConfusedWith"/>
-            <xsd:enumeration value="PartyPassingTheTransaction"/>
-            <xsd:enumeration value="PartyPerformingCertification"/>
-            <xsd:enumeration value="PartyPerformingCount"/>
-            <xsd:enumeration value="PartyPerformingInspection"/>
-            <xsd:enumeration value="PartyPerformingTask"/>
-            <xsd:enumeration value="PartyPerformingVerification"/>
-            <xsd:enumeration value="PartyProvidingFinancing"/>
-            <xsd:enumeration value="PartyProvidingGovernmentFurnishedProperty"/>
-            <xsd:enumeration value="PartyRecoveringTheValueAddedTax"/>
-            <xsd:enumeration value="PartyRepresented"/>
-            <xsd:enumeration value="PartyResponsibleForDisinfection"/>
-            <xsd:enumeration value="PartyResponsibleForFinancialSettlement"/>
-            <xsd:enumeration value="PartyResponsibleForRefueling"/>
-            <xsd:enumeration value="PartySubmittingQuote"/>
-            <xsd:enumeration value="PartyThatReceivedDisclosureStatement"/>
-            <xsd:enumeration value="PartyThatRemitsPayment"/>
-            <xsd:enumeration value="PartytoAppearBefore"/>
-            <xsd:enumeration value="PartyToApproveSpecification"/>
-            <xsd:enumeration value="Partytobeadvised-WrittenOrders"/>
-            <xsd:enumeration value="PartyToBeBilled"/>
-            <xsd:enumeration value="PartyToBeBilledForOtherThanFreight"/>
-            <xsd:enumeration value="PartytoContract"/>
-            <xsd:enumeration value="PartyToFilePersonalPropertyTax"/>
-            <xsd:enumeration value="PartytoLease"/>
-            <xsd:enumeration value="PartytoPerformPackaging"/>
-            <xsd:enumeration value="PartyToPrintSomeDocument"/>
-            <xsd:enumeration value="PartytoProvideDiscount"/>
-            <xsd:enumeration value="PartyToReceiveAllDocuments"/>
-            <xsd:enumeration value="PartytoReceiveBillOfLading"/>
-            <xsd:enumeration value="PartyToReceiveCertificateOfCompliance"/>
-            <xsd:enumeration value="PartyToReceiveCertificateOfConformance"/>
-            <xsd:enumeration value="PartyToReceiveCertifiedInspectionReport"/>
-            <xsd:enumeration value="PartyToReceiveCertifiedTestResults"/>
-            <xsd:enumeration value="PartyToReceiveCommercialInvoiceRemittance"/>
-            <xsd:enumeration value="PartyToReceiveContractSecurityClassificationSpecification"/>
-            <xsd:enumeration value="PartyToReceiveCopy"/>
-            <xsd:enumeration value="PartyToReceiveCorrespondence"/>
-            <xsd:enumeration value="PartytoReceiveCredit"/>
-            <xsd:enumeration value="PartyToReceiveCustomsDocuments"/>
-            <xsd:enumeration value="PartyToReceiveElectronicMemoOfInvoice"/>
-            <xsd:enumeration value="PartyToReceiveEquipment"/>
-            <xsd:enumeration value="PartyToReceiveFreightBill"/>
-            <xsd:enumeration value="PartyToReceiveInspectionReport"/>
-            <xsd:enumeration value="PartyToReceiveInvitationToOffer"/>
-            <xsd:enumeration value="PartytoReceiveInvoiceFOrGoodsOrServices"/>
-            <xsd:enumeration value="PartyToReceiveInvoiceForLeasePayments"/>
-            <xsd:enumeration value="PartytoReceiveLimitationsOfHeavyElementsReport"/>
-            <xsd:enumeration value="PartytoReceiveMaterialRelease"/>
-            <xsd:enumeration value="PartyToReceiveNon-CustomsDocuments"/>
-            <xsd:enumeration value="PartyToReceiveOrderToSupply"/>
-            <xsd:enumeration value="PartyToReceivePackingCratingAndHandlingCredit"/>
-            <xsd:enumeration value="PartyToReceivePaperMemoOfInvoice"/>
-            <xsd:enumeration value="PartytoReceiveProposal"/>
-            <xsd:enumeration value="PartyToReceivePurchaseOrder"/>
-            <xsd:enumeration value="PartyToReceiveReports"/>
-            <xsd:enumeration value="PartytoReceiveScaleTicket"/>
-            <xsd:enumeration value="PartytoReceiveShippingManifest"/>
-            <xsd:enumeration value="PartyToReceiveShippingNotice"/>
-            <xsd:enumeration value="PartytoReceiveSolicitation"/>
-            <xsd:enumeration value="PartyToReceiveStatementOfAccount"/>
-            <xsd:enumeration value="PartyToReceiveStatementOfFeesDue"/>
-            <xsd:enumeration value="PartytoReceiveStatus"/>
-            <xsd:enumeration value="PartyToReceiveTechnicalDocumentation"/>
-            <xsd:enumeration value="PartyToReceiveTestReport"/>
-            <xsd:enumeration value="PartytoReceiveTransportationCredit"/>
-            <xsd:enumeration value="PartytoWhomAcknowledgmentShouldBeSent"/>
-            <xsd:enumeration value="PartyToWhomDocumentsAreToBePresented"/>
-            <xsd:enumeration value="PartytoWhomProtestSubmitted"/>
-            <xsd:enumeration value="PartyWaivingRequirements"/>
-            <xsd:enumeration value="PartyWhichDeliversConsignmentsToTheTerminal"/>
-            <xsd:enumeration value="PartyWhichPicksUpConsignmentsFromTheTerminal"/>
-            <xsd:enumeration value="PartyWhoSignedTheDeliveryReceipt"/>
-            <xsd:enumeration value="PartyWithKnowledgeOfAffairsOfTheCompany"/>
-            <xsd:enumeration value="PartyWithPowerToVoteSecurities"/>
-            <xsd:enumeration value="Passenger"/>
-            <xsd:enumeration value="Patient"/>
-            <xsd:enumeration value="PatientCompanion"/>
-            <xsd:enumeration value="PatientEducationUnit"/>
-            <xsd:enumeration value="PatientFacility"/>
-            <xsd:enumeration value="PatientRepresentativeServices"/>
-            <xsd:enumeration value="Payee"/>
-            <xsd:enumeration value="PayeesCompanyNameOrId"/>
-            <xsd:enumeration value="Payer"/>
-            <xsd:enumeration value="PayerOfLastResort"/>
-            <xsd:enumeration value="PayersCompanyNameOrId"/>
-            <xsd:enumeration value="PayersFinancialInstitution"/>
-            <xsd:enumeration value="PayingAgent"/>
-            <xsd:enumeration value="PayingBank"/>
-            <xsd:enumeration value="PayingFinancialInstitution"/>
-            <xsd:enumeration value="PaymentAddress"/>
-            <xsd:enumeration value="Payor"/>
-            <xsd:enumeration value="Pay-ToProvider"/>
-            <xsd:enumeration value="Pedestrian"/>
-            <xsd:enumeration value="PediatricAcuteInpatientUnit"/>
-            <xsd:enumeration value="PerformedAt"/>
-            <xsd:enumeration value="PermitHolder"/>
-            <xsd:enumeration value="PersonForWhoseBenefitPropertywasSeized"/>
-            <xsd:enumeration value="PersonnelOffice"/>
-            <xsd:enumeration value="PersonOnClaim"/>
-            <xsd:enumeration value="PersonOrOtherEntityLegallyResponsibleForAChild"/>
-            <xsd:enumeration value="PersonOrOtherEntityLegallyResponsibleForAndWithWhomAChildResides"/>
-            <xsd:enumeration value="PersonOrOtherEntityWithWhomAChildResides"/>
-            <xsd:enumeration value="PetitioningCreditor"/>
-            <xsd:enumeration value="PetitioningCreditorsAttorney"/>
-            <xsd:enumeration value="Pharmacist"/>
-            <xsd:enumeration value="Pharmacy"/>
-            <xsd:enumeration value="PharmacyDepartment"/>
-            <xsd:enumeration value="PhysicalAddress"/>
-            <xsd:enumeration value="PhysicalTherapyServices"/>
-            <xsd:enumeration value="Physician"/>
-            <xsd:enumeration value="PhysicianClinicOrGroupPractice"/>
-            <xsd:enumeration value="PhysicianHospitalOrganization"/>
-            <xsd:enumeration value="Physician-Specialists"/>
-            <xsd:enumeration value="PickUpAddress"/>
-            <xsd:enumeration value="PierName"/>
-            <xsd:enumeration value="Pipeline"/>
-            <xsd:enumeration value="PipelineSegment"/>
-            <xsd:enumeration value="PipelineSegmentBoundary"/>
-            <xsd:enumeration value="PlaceOfBottling"/>
-            <xsd:enumeration value="PlaceOfBusiness"/>
-            <xsd:enumeration value="PlaceOfDistilling"/>
-            <xsd:enumeration value="PlaceOfOccurrence"/>
-            <xsd:enumeration value="PlaceOfPerformanceCognizantSecurityOffice"/>
-            <xsd:enumeration value="Plaintiff"/>
-            <xsd:enumeration value="PlanAdministrator"/>
-            <xsd:enumeration value="PlanningOrMaintenanceOrganization"/>
-            <xsd:enumeration value="PlanningCommission"/>
-            <xsd:enumeration value="PlanningScheduleOrMaterialReleaseIssuer"/>
-            <xsd:enumeration value="PlanSponsor"/>
-            <xsd:enumeration value="Plant"/>
-            <xsd:enumeration value="PlantClearanceOfficer"/>
-            <xsd:enumeration value="Podiatrist"/>
-            <xsd:enumeration value="PointOfService"/>
-            <xsd:enumeration value="PolicyHolder"/>
-            <xsd:enumeration value="PolicyWritingAgent"/>
-            <xsd:enumeration value="PollingSite"/>
-            <xsd:enumeration value="PortAuthority"/>
-            <xsd:enumeration value="PostalMailingAddress"/>
-            <xsd:enumeration value="PostsecondaryEducationRecipient"/>
-            <xsd:enumeration value="PostsecondaryEducationSender"/>
-            <xsd:enumeration value="Post-SecondaryInstitution"/>
-            <xsd:enumeration value="PotentialSourceOfSupply"/>
-            <xsd:enumeration value="PowerOfAttorney"/>
-            <xsd:enumeration value="PreferredProviderOrganization"/>
-            <xsd:enumeration value="Pre-KDayCare"/>
-            <xsd:enumeration value="Pre-kindergartenToGrade12Recipient"/>
-            <xsd:enumeration value="Pre-kindergartenToGrade12Sender"/>
-            <xsd:enumeration value="PreliminaryCustomerOrganization"/>
-            <xsd:enumeration value="PreliminaryInspectionLocation"/>
-            <xsd:enumeration value="PreliminaryMaintenanceOrganization"/>
-            <xsd:enumeration value="PreliminaryMaintenancePeriodDesignatingOrganization"/>
-            <xsd:enumeration value="PreliminaryReferredToOrganization"/>
-            <xsd:enumeration value="Premises"/>
-            <xsd:enumeration value="Preparer"/>
-            <xsd:enumeration value="PresentAddress"/>
-            <xsd:enumeration value="PresentingBank"/>
-            <xsd:enumeration value="President"/>
-            <xsd:enumeration value="PreviousBusinessPartner"/>
-            <xsd:enumeration value="PreviousCreditGrantor"/>
-            <xsd:enumeration value="PreviousDebtHolder"/>
-            <xsd:enumeration value="PreviousDistributor"/>
-            <xsd:enumeration value="PreviousEmployer"/>
-            <xsd:enumeration value="PreviousGroup"/>
-            <xsd:enumeration value="PreviousInsured"/>
-            <xsd:enumeration value="PreviousMember"/>
-            <xsd:enumeration value="PreviousName"/>
-            <xsd:enumeration value="PreviousNameOfFirm"/>
-            <xsd:enumeration value="PreviousNeighbor"/>
-            <xsd:enumeration value="PreviousOccupant"/>
-            <xsd:enumeration value="PreviousOwner"/>
-            <xsd:enumeration value="PreviousResidence"/>
-            <xsd:enumeration value="PreviousStation"/>
-            <xsd:enumeration value="PreviousTitleCompany"/>
-            <xsd:enumeration value="PreviousTradeUnion"/>
-            <xsd:enumeration value="PriceAdministration"/>
-            <xsd:enumeration value="PrimaryBeneficiary"/>
-            <xsd:enumeration value="PrimaryCareProvider"/>
-            <xsd:enumeration value="PriceCheckShipTo"/>
-            <xsd:enumeration value="PrimaryControlPointLocation"/>
-            <xsd:enumeration value="PrimaryHealthCareProvider"/>
-            <xsd:enumeration value="PrimaryInsuredOrSubscriber"/>
-            <xsd:enumeration value="PrimaryInterexchangeCarrier"/>
-            <xsd:enumeration value="PrimaryInternationalTelecomCarrier"/>
-            <xsd:enumeration value="PrimaryIntra-LATACarrier"/>
-            <xsd:enumeration value="PrimaryInventoryControlActivity"/>
-            <xsd:enumeration value="PrimaryOwner"/>
-            <xsd:enumeration value="PrimaryPayer"/>
-            <xsd:enumeration value="PrimaryPhysician"/>
-            <xsd:enumeration value="PrimaryResidence"/>
-            <xsd:enumeration value="PrimarySupportOrganization"/>
-            <xsd:enumeration value="PrimarySurgeon"/>
-            <xsd:enumeration value="PrimaryTaxpayer"/>
-            <xsd:enumeration value="PrimeContractor"/>
-            <xsd:enumeration value="Principal"/>
-            <xsd:enumeration value="PrincipalBorrower"/>
-            <xsd:enumeration value="PrincipalExecutiveOffice"/>
-            <xsd:enumeration value="PrincipalPerson"/>
-            <xsd:enumeration value="Printer"/>
-            <xsd:enumeration value="PriorBaseJurisdiction"/>
-            <xsd:enumeration value="PriorIncorrectInsured"/>
-            <xsd:enumeration value="PriorInsuranceCarrier"/>
-            <xsd:enumeration value="PriorTitleEvidenceHolder"/>
-            <xsd:enumeration value="PrivatePre-KEducation"/>
-            <xsd:enumeration value="PrivateSchool"/>
-            <xsd:enumeration value="ProBonoAttorney"/>
-            <xsd:enumeration value="Processor"/>
-            <xsd:enumeration value="ProcurementResponsibilityForOrder"/>
-            <xsd:enumeration value="ProduceDepartment"/>
-            <xsd:enumeration value="Producer"/>
-            <xsd:enumeration value="Production"/>
-            <xsd:enumeration value="ProductionManager"/>
-            <xsd:enumeration value="ProductPositionHolder"/>
-            <xsd:enumeration value="ProductServicesAndRepairsCentre"/>
-            <xsd:enumeration value="ProfessionalOrganization"/>
-            <xsd:enumeration value="Project"/>
-            <xsd:enumeration value="ProjectCoordinationOffice"/>
-            <xsd:enumeration value="ProjectManagementOffice"/>
-            <xsd:enumeration value="ProjectManager"/>
-            <xsd:enumeration value="ProjectName"/>
-            <xsd:enumeration value="ProjectProperty"/>
-            <xsd:enumeration value="Property"/>
-            <xsd:enumeration value="PropertyOrBuildingManager"/>
-            <xsd:enumeration value="ProposedInsured"/>
-            <xsd:enumeration value="Proposer"/>
-            <xsd:enumeration value="ProSeCounsel"/>
-            <xsd:enumeration value="PrototypeSupplier"/>
-            <xsd:enumeration value="Provider"/>
-            <xsd:enumeration value="PsychiatricChildOrAdolescentServices"/>
-            <xsd:enumeration value="PsychiatricConsultation-LiaisonServices"/>
-            <xsd:enumeration value="PsychiatricEducationServices"/>
-            <xsd:enumeration value="PsychiatricEmergencyServices"/>
-            <xsd:enumeration value="PsychiatricFacility"/>
-            <xsd:enumeration value="PsychiatricGeriatricServices"/>
-            <xsd:enumeration value="PsychiatricHealthFacility"/>
-            <xsd:enumeration value="PsychiatricInpatientUnit"/>
-            <xsd:enumeration value="PsychiatricOutpatientServices"/>
-            <xsd:enumeration value="PsychiatricPartialHospitalizationProgram"/>
-            <xsd:enumeration value="Psychiatrist"/>
-            <xsd:enumeration value="Psychologist"/>
-            <xsd:enumeration value="PublicAlternativeSchool"/>
-            <xsd:enumeration value="PublicHealthServiceFacility"/>
-            <xsd:enumeration value="PublicHealthServiceIndianServiceFacility"/>
-            <xsd:enumeration value="PublicorPrivateOrganizationForTheDisabled"/>
-            <xsd:enumeration value="PublicPre-KEducation"/>
-            <xsd:enumeration value="PublicSchool"/>
-            <xsd:enumeration value="Publisher"/>
-            <xsd:enumeration value="Pumper"/>
-            <xsd:enumeration value="PurchasedCompany"/>
-            <xsd:enumeration value="PurchasersDepartmentBuyer"/>
-            <xsd:enumeration value="PurchaseServiceProvider"/>
-            <xsd:enumeration value="QualifyingOfficer"/>
-            <xsd:enumeration value="QualityControl"/>
-            <xsd:enumeration value="QuotationRequestingParty"/>
-            <xsd:enumeration value="RadioactiveImplantsUnit"/>
-            <xsd:enumeration value="RadioControlStationLocation"/>
-            <xsd:enumeration value="RadioStation"/>
-            <xsd:enumeration value="RailCarrier"/>
-            <xsd:enumeration value="Railroad"/>
-            <xsd:enumeration value="RatingOrganization"/>
-            <xsd:enumeration value="ReceiptMeterLocation"/>
-            <xsd:enumeration value="ReceiptZone"/>
-            <xsd:enumeration value="ReceivedFrom"/>
-            <xsd:enumeration value="Receiver"/>
-            <xsd:enumeration value="ReceiverManager"/>
-            <xsd:enumeration value="ReceiverOfCheque"/>
-            <xsd:enumeration value="ReceiverOfFunds"/>
-            <xsd:enumeration value="ReceiversCorrespondentBank"/>
-            <xsd:enumeration value="ReceiverSite"/>
-            <xsd:enumeration value="ReceiversSub-Entity"/>
-            <xsd:enumeration value="ReceivingBank"/>
-            <xsd:enumeration value="ReceivingCompany"/>
-            <xsd:enumeration value="ReceivingFacilityScheduler"/>
-            <xsd:enumeration value="ReceivingFinancialInstitution"/>
-            <xsd:enumeration value="ReceivingLocation"/>
-            <xsd:enumeration value="ReceivingPointForCustomerSamples"/>
-            <xsd:enumeration value="ReceivingSub-Location"/>
-            <xsd:enumeration value="RecipientOfCivilorLegalLiabilityPayment"/>
-            <xsd:enumeration value="ReclamationCenter"/>
-            <xsd:enumeration value="Record-KeepingAddress"/>
-            <xsd:enumeration value="RecoveryRoom"/>
-            <xsd:enumeration value="RecreationalTherapyServices"/>
-            <xsd:enumeration value="Referee"/>
-            <xsd:enumeration value="Reference"/>
-            <xsd:enumeration value="ReferencesEmployer"/>
-            <xsd:enumeration value="ReferralProvider"/>
-            <xsd:enumeration value="ReferringHealthCareProvider"/>
-            <xsd:enumeration value="ReferringProvider"/>
-            <xsd:enumeration value="Refinery"/>
-            <xsd:enumeration value="RefineryOperator"/>
-            <xsd:enumeration value="RefusalParty"/>
-            <xsd:enumeration value="Region"/>
-            <xsd:enumeration value="RegionalOffice"/>
-            <xsd:enumeration value="RegisteredBusinessName"/>
-            <xsd:enumeration value="RegisteredInvestmentAdvisor"/>
-            <xsd:enumeration value="RegisteredOffice"/>
-            <xsd:enumeration value="RegisteredOwner"/>
-            <xsd:enumeration value="RegisteredPrincipal"/>
-            <xsd:enumeration value="RegisteringNonparentParty"/>
-            <xsd:enumeration value="RegisteringParentParty"/>
-            <xsd:enumeration value="RegisteringParty"/>
-            <xsd:enumeration value="Registrar"/>
-            <xsd:enumeration value="RegistrationTribunal"/>
-            <xsd:enumeration value="RegularDealer"/>
-            <xsd:enumeration value="RegulatoryStateDistrict"/>
-            <xsd:enumeration value="RegulatoryStateEntity"/>
-            <xsd:enumeration value="RehabilitationFacility"/>
-            <xsd:enumeration value="RehabilitationInpatientUnit"/>
-            <xsd:enumeration value="RehabilitationOutpatientServices"/>
-            <xsd:enumeration value="ReimbursingBank"/>
-            <xsd:enumeration value="ReinsuranceIntermediaryOrBroker"/>
-            <xsd:enumeration value="Reinsurer"/>
-            <xsd:enumeration value="Relative"/>
-            <xsd:enumeration value="ReleaseDrayman"/>
-            <xsd:enumeration value="ReleaseToParty"/>
-            <xsd:enumeration value="RemittingBank"/>
-            <xsd:enumeration value="RemitTo"/>
-            <xsd:enumeration value="RenderingProvider"/>
-            <xsd:enumeration value="Renter"/>
-            <xsd:enumeration value="RentPayor"/>
-            <xsd:enumeration value="RepairingOutlet"/>
-            <xsd:enumeration value="RepairOrRefurbishLocation"/>
-            <xsd:enumeration value="ReplacingManufacturer"/>
-            <xsd:enumeration value="Reporter"/>
-            <xsd:enumeration value="ReportingCarrier"/>
-            <xsd:enumeration value="ReportingCarriersNominatedAgentOrRepresentative"/>
-            <xsd:enumeration value="ReportingLocation"/>
-            <xsd:enumeration value="ReportingOfficer"/>
-            <xsd:enumeration value="Representative"/>
-            <xsd:enumeration value="ReproductiveHealthServices"/>
-            <xsd:enumeration value="RequestedLender"/>
-            <xsd:enumeration value="Requestor"/>
-            <xsd:enumeration value="ResaleCustomer"/>
-            <xsd:enumeration value="ResaleDealer"/>
-            <xsd:enumeration value="ResearchInstitute"/>
-            <xsd:enumeration value="Reservoir"/>
-            <xsd:enumeration value="ResidenceOrDomicile"/>
-            <xsd:enumeration value="ResidencyInstitution"/>
-            <xsd:enumeration value="ResidentBeneficiary"/>
-            <xsd:enumeration value="ResidentInstructingParty"/>
-            <xsd:enumeration value="RespiratoryTherapyServices"/>
-            <xsd:enumeration value="RespiteCareFacility"/>
-            <xsd:enumeration value="ResponsibleExhibitor"/>
-            <xsd:enumeration value="ResponsibleGovernmentAgency"/>
-            <xsd:enumeration value="ResponsibleInstallationDestination"/>
-            <xsd:enumeration value="ResponsibleInstallationOrigin"/>
-            <xsd:enumeration value="ResponsibleParty"/>
-            <xsd:enumeration value="RetailAccount"/>
-            <xsd:enumeration value="RetailPharmacy"/>
-            <xsd:enumeration value="Retrocessionaire"/>
-            <xsd:enumeration value="ReturnedTo"/>
-            <xsd:enumeration value="RoadCarrier"/>
-            <xsd:enumeration value="RoutingParty"/>
-            <xsd:enumeration value="RoutingPoint"/>
-            <xsd:enumeration value="RoyaltyOwner"/>
-            <xsd:enumeration value="RuralHealthClinic"/>
-            <xsd:enumeration value="SalesAssistant"/>
-            <xsd:enumeration value="SalesOffice"/>
-            <xsd:enumeration value="Salesperson"/>
-            <xsd:enumeration value="SalesResponsibility"/>
-            <xsd:enumeration value="SalvageCarrier"/>
-            <xsd:enumeration value="SamplesToBeReturnedTo"/>
-            <xsd:enumeration value="SamplingLocation"/>
-            <xsd:enumeration value="School-BasedServiceProvider"/>
-            <xsd:enumeration value="SchoolDistrict"/>
-            <xsd:enumeration value="SCorporation"/>
-            <xsd:enumeration value="ScreeningPoint"/>
-            <xsd:enumeration value="SealingCompany"/>
-            <xsd:enumeration value="SecondaryInventoryControlActivity"/>
-            <xsd:enumeration value="SecondaryLocationAddress"/>
-            <xsd:enumeration value="SecondaryPayer"/>
-            <xsd:enumeration value="SecondaryTaxpayer"/>
-            <xsd:enumeration value="SecondaryWarranter"/>
-            <xsd:enumeration value="SecondContact"/>
-            <xsd:enumeration value="SecondContactOrganization"/>
-            <xsd:enumeration value="SecondHome"/>
-            <xsd:enumeration value="SecondLevelParentCompany"/>
-            <xsd:enumeration value="Secretariat"/>
-            <xsd:enumeration value="Section8AProgramParticipantFirm"/>
-            <xsd:enumeration value="SecuredParty"/>
-            <xsd:enumeration value="SecuredPartyCompany"/>
-            <xsd:enumeration value="SecuredPartyIndividual"/>
-            <xsd:enumeration value="SelfInsured"/>
-            <xsd:enumeration value="Seller"/>
-            <xsd:enumeration value="SellerAsOfficiallyRegistered"/>
-            <xsd:enumeration value="SellersAgentOrRepresentative"/>
-            <xsd:enumeration value="SellersFinancialInstitution"/>
-            <xsd:enumeration value="SellingAgent"/>
-            <xsd:enumeration value="SellingOffice"/>
-            <xsd:enumeration value="SellingParty"/>
-            <xsd:enumeration value="SenderOfFunds"/>
-            <xsd:enumeration value="SendersCorrespondentBank"/>
-            <xsd:enumeration value="SeniorMembershipProgram"/>
-            <xsd:enumeration value="ServiceBureau"/>
-            <xsd:enumeration value="ServiceLocation"/>
-            <xsd:enumeration value="ServiceManager"/>
-            <xsd:enumeration value="ServiceOrganization"/>
-            <xsd:enumeration value="ServicePerformanceSite"/>
-            <xsd:enumeration value="ServicePerformer"/>
-            <xsd:enumeration value="ServiceProvider"/>
-            <xsd:enumeration value="ServiceRequester"/>
-            <xsd:enumeration value="ServiceSupplier"/>
-            <xsd:enumeration value="ServicingAgent"/>
-            <xsd:enumeration value="ServicingBroker"/>
-            <xsd:enumeration value="ServicingDealer"/>
-            <xsd:enumeration value="ServicingOrganization"/>
-            <xsd:enumeration value="SharedService"/>
-            <xsd:enumeration value="Shareholder"/>
-            <xsd:enumeration value="ShelteredWorkshop"/>
-            <xsd:enumeration value="ShipFrom"/>
-            <xsd:enumeration value="Shipper"/>
-            <xsd:enumeration value="ShippersAssociation"/>
-            <xsd:enumeration value="ShippingLineService"/>
-            <xsd:enumeration value="ShippingScheduleIssuer"/>
-            <xsd:enumeration value="ShipTo"/>
-            <xsd:enumeration value="ShowingAgent"/>
-            <xsd:enumeration value="Sibling"/>
-            <xsd:enumeration value="Signatory"/>
-            <xsd:enumeration value="Signer"/>
-            <xsd:enumeration value="SignificantOther"/>
-            <xsd:enumeration value="SinglePhotonEmissionComputerizedTomographyUnit"/>
-            <xsd:enumeration value="SiteOperator"/>
-            <xsd:enumeration value="SkilledNursingFacility"/>
-            <xsd:enumeration value="SkilledNursingorOtherLong-TermCareUnit"/>
-            <xsd:enumeration value="SkilledNursingServices"/>
-            <xsd:enumeration value="Slaughterer"/>
-            <xsd:enumeration value="SlotCharterParty"/>
-            <xsd:enumeration value="SmallBaseStationLocation"/>
-            <xsd:enumeration value="SmallBusiness"/>
-            <xsd:enumeration value="SmallControlStationLocation"/>
-            <xsd:enumeration value="SmallDisadvantagedBusiness"/>
-            <xsd:enumeration value="SociallyDisadvantagedBusiness"/>
-            <xsd:enumeration value="SociallyDisadvantagedIndividual"/>
-            <xsd:enumeration value="SociallyInsuredPerson"/>
-            <xsd:enumeration value="SocialSecuritiesCollectorsOffice"/>
-            <xsd:enumeration value="SocietyOfPropertyInformationCompilersAndAnalysts"/>
-            <xsd:enumeration value="SoldTo"/>
-            <xsd:enumeration value="SoldToAndShipTo"/>
-            <xsd:enumeration value="SoldToIfDifferentFromBillTo"/>
-            <xsd:enumeration value="SoleProprietor"/>
-            <xsd:enumeration value="Source"/>
-            <xsd:enumeration value="SourceMeterLocation"/>
-            <xsd:enumeration value="SourceOfInformation"/>
-            <xsd:enumeration value="SourcePartyOfInformation"/>
-            <xsd:enumeration value="SpecialAccount"/>
-            <xsd:enumeration value="SpecialCounsel"/>
-            <xsd:enumeration value="SpecializedMobileRadioServiceLicensee"/>
-            <xsd:enumeration value="SpecializedOutpatientProgramForAIDSOrARC"/>
-            <xsd:enumeration value="SpecifiedRepository"/>
-            <xsd:enumeration value="SpeechTherapyServices"/>
-            <xsd:enumeration value="SportsMedicineClinicOrServices"/>
-            <xsd:enumeration value="Spouse"/>
-            <xsd:enumeration value="SpouseInsured"/>
-            <xsd:enumeration value="SpudContractor"/>
-            <xsd:enumeration value="State"/>
-            <xsd:enumeration value="StateCharteredFacility"/>
-            <xsd:enumeration value="StateDivision"/>
-            <xsd:enumeration value="SteamshipCompany"/>
-            <xsd:enumeration value="Stockholder"/>
-            <xsd:enumeration value="StorageArea"/>
-            <xsd:enumeration value="StorageFacilityatDestination"/>
-            <xsd:enumeration value="StorageFacilityAtOrigin"/>
-            <xsd:enumeration value="Store"/>
-            <xsd:enumeration value="StoreClass"/>
-            <xsd:enumeration value="StoreGroup"/>
-            <xsd:enumeration value="StoreKeeper"/>
-            <xsd:enumeration value="StoreManager"/>
-            <xsd:enumeration value="Student"/>
-            <xsd:enumeration value="StudySubmitter"/>
-            <xsd:enumeration value="Sub-Account"/>
-            <xsd:enumeration value="Subcontractor"/>
-            <xsd:enumeration value="SubcontractOrCognizantSecurityOffice"/>
-            <xsd:enumeration value="Subcontractor-Nominated"/>
-            <xsd:enumeration value="SubcontractorWithDirectPayment"/>
-            <xsd:enumeration value="Sub-Entity"/>
-            <xsd:enumeration value="Subgroup"/>
-            <xsd:enumeration value="SubjectOfInquiry"/>
-            <xsd:enumeration value="SubjectProperty"/>
-            <xsd:enumeration value="Submitter"/>
-            <xsd:enumeration value="SubmitterOfSample"/>
-            <xsd:enumeration value="Sub-Office"/>
-            <xsd:enumeration value="Subscriber"/>
-            <xsd:enumeration value="SubscribersEmployer"/>
-            <xsd:enumeration value="SubscribersSchool"/>
-            <xsd:enumeration value="SubsequentOwner"/>
-            <xsd:enumeration value="Sub-Servicer"/>
-            <xsd:enumeration value="Subsidiary"/>
-            <xsd:enumeration value="SubsidiaryDivision"/>
-            <xsd:enumeration value="SubstituteSupplier"/>
-            <xsd:enumeration value="SuccessfulJobApplicant"/>
-            <xsd:enumeration value="SupervisingHealthCareProvider"/>
-            <xsd:enumeration value="SupervisingPhysician"/>
-            <xsd:enumeration value="Supervisor"/>
-            <xsd:enumeration value="SupervisoryAppraiserName"/>
-            <xsd:enumeration value="Supplier"/>
-            <xsd:enumeration value="SupplierOrManufacturer"/>
-            <xsd:enumeration value="SuppliersCorporateOffice"/>
-            <xsd:enumeration value="SupplierWorkTeam"/>
-            <xsd:enumeration value="SupplySource"/>
-            <xsd:enumeration value="SupportingPersonnel"/>
-            <xsd:enumeration value="SupportParty"/>
-            <xsd:enumeration value="Surety"/>
-            <xsd:enumeration value="SuretyForAdditions"/>
-            <xsd:enumeration value="SuretyForAntidumpingOrCountervailingDuty"/>
-            <xsd:enumeration value="SurfaceDischargeAgency"/>
-            <xsd:enumeration value="SurfaceManagementEntity"/>
-            <xsd:enumeration value="Surgeon"/>
-            <xsd:enumeration value="SurplusDealer"/>
-            <xsd:enumeration value="Surveyor-PofessionalQuantity"/>
-            <xsd:enumeration value="SurveyorQuantity"/>
-            <xsd:enumeration value="SurveyorTopographical"/>
-            <xsd:enumeration value="System"/>
-            <xsd:enumeration value="TankFarm"/>
-            <xsd:enumeration value="TankFarmOwner"/>
-            <xsd:enumeration value="TariffIssuer"/>
-            <xsd:enumeration value="TaxAddress"/>
-            <xsd:enumeration value="TaxAuthority"/>
-            <xsd:enumeration value="TaxCollectorsOffice"/>
-            <xsd:enumeration value="TaxExemptOrganization"/>
-            <xsd:enumeration value="Team"/>
-            <xsd:enumeration value="TechnicalOffice"/>
-            <xsd:enumeration value="TelephoneAnsweringServiceBureau"/>
-            <xsd:enumeration value="Tenant"/>
-            <xsd:enumeration value="TenantManager"/>
-            <xsd:enumeration value="Tenderer"/>
-            <xsd:enumeration value="Terminal"/>
-            <xsd:enumeration value="TerminalLocation"/>
-            <xsd:enumeration value="TerminalOperator"/>
-            <xsd:enumeration value="TertiaryPayer"/>
-            <xsd:enumeration value="TestingLaboratory"/>
-            <xsd:enumeration value="TestingService"/>
-            <xsd:enumeration value="TestSponsor"/>
-            <xsd:enumeration value="TheaterCircuit"/>
-            <xsd:enumeration value="Theatre"/>
-            <xsd:enumeration value="TherapeuticRadioisotopeFacility"/>
-            <xsd:enumeration value="ThirdParty"/>
-            <xsd:enumeration value="ThirdPartyAdministrator"/>
-            <xsd:enumeration value="ThirdPartyInvestmentAdvisor"/>
-            <xsd:enumeration value="ThirdPartyMarketer"/>
-            <xsd:enumeration value="ThirdPartyRepricingOrganization"/>
-            <xsd:enumeration value="ThirdPartyRepricingPreferredProviderOrganization"/>
-            <xsd:enumeration value="ThirdPartyReviewingOrganization"/>
-            <xsd:enumeration value="ThirdPartyReviewingPreferredProviderOrganization"/>
-            <xsd:enumeration value="Titleholder"/>
-            <xsd:enumeration value="TitleInsuranceServicesProvider"/>
-            <xsd:enumeration value="TitleUnderwriter"/>
-            <xsd:enumeration value="Tooling"/>
-            <xsd:enumeration value="ToolingDesign"/>
-            <xsd:enumeration value="ToolingFabrication"/>
-            <xsd:enumeration value="ToolSource"/>
-            <xsd:enumeration value="TopParentCompanyInSameCountry"/>
-            <xsd:enumeration value="TowingAgency"/>
-            <xsd:enumeration value="Tradename"/>
-            <xsd:enumeration value="TradeNameSynonym"/>
-            <xsd:enumeration value="TradeUnion"/>
-            <xsd:enumeration value="TrainingInstitution"/>
-            <xsd:enumeration value="TransferPoint"/>
-            <xsd:enumeration value="TransferringParty"/>
-            <xsd:enumeration value="TransferTo"/>
-            <xsd:enumeration value="TransitAuthority"/>
-            <xsd:enumeration value="TransitChargePayer"/>
-            <xsd:enumeration value="TransitFreightForwarder"/>
-            <xsd:enumeration value="TransitPrincipal"/>
-            <xsd:enumeration value="TransitPrincipalsAgentOrRepresentative"/>
-            <xsd:enumeration value="Transmitter"/>
-            <xsd:enumeration value="TransportationOffice"/>
-            <xsd:enumeration value="TransporterOfHazardousWaste"/>
-            <xsd:enumeration value="TransshipmentParty"/>
-            <xsd:enumeration value="TraumaCenter"/>
-            <xsd:enumeration value="TreatmentFacility"/>
-            <xsd:enumeration value="TribalGovernment"/>
-            <xsd:enumeration value="Trust"/>
-            <xsd:enumeration value="Trustee"/>
-            <xsd:enumeration value="TrusteesAttorney"/>
-            <xsd:enumeration value="TrustOfficer"/>
-            <xsd:enumeration value="TrustOrEstate"/>
-            <xsd:enumeration value="TuberculosisAndOTherRespiratoryDiseasesFacility"/>
-            <xsd:enumeration value="UltimateConsignee"/>
-            <xsd:enumeration value="UltimateCustomer"/>
-            <xsd:enumeration value="UltimateParentCompany"/>
-            <xsd:enumeration value="UltimateSameCountryParentCompany"/>
-            <xsd:enumeration value="UltrasoundUnit"/>
-            <xsd:enumeration value="UnassignedAgent"/>
-            <xsd:enumeration value="Underwriter"/>
-            <xsd:enumeration value="UnexpectedHandlingParty"/>
-            <xsd:enumeration value="Union"/>
-            <xsd:enumeration value="UnitedStatesCustomsBroker"/>
-            <xsd:enumeration value="UnitedStatesOverseasSecurityAdministrationOffice"/>
-            <xsd:enumeration value="UnitProperty"/>
-            <xsd:enumeration value="University-CollegeOrSchool"/>
-            <xsd:enumeration value="UnloadingParty"/>
-            <xsd:enumeration value="UnserviceableMaterialConsignee"/>
-            <xsd:enumeration value="UpstreamMeterLocation"/>
-            <xsd:enumeration value="UpstreamParty"/>
-            <xsd:enumeration value="USTrustee"/>
-            <xsd:enumeration value="UtilizationManagementOrganization"/>
-            <xsd:enumeration value="VacationHome"/>
-            <xsd:enumeration value="ValidatingParty"/>
-            <xsd:enumeration value="ValueAddedNetworkProvider"/>
-            <xsd:enumeration value="Vehicle"/>
-            <xsd:enumeration value="VehicleCustodian"/>
-            <xsd:enumeration value="VehicleSalvageAssignment"/>
-            <xsd:enumeration value="Vendor"/>
-            <xsd:enumeration value="VesselMaster"/>
-            <xsd:enumeration value="VesselName"/>
-            <xsd:enumeration value="Veteran-OwnedBusiness"/>
-            <xsd:enumeration value="VeteransAdministrationFacility"/>
-            <xsd:enumeration value="VeteransAdministrationLoanAuthorizedSupplier"/>
-            <xsd:enumeration value="VeteransAdministrationLoanGuarantyAuthority"/>
-            <xsd:enumeration value="Veterinarian"/>
-            <xsd:enumeration value="VeterinaryHospital"/>
-            <xsd:enumeration value="Victim"/>
-            <xsd:enumeration value="VideoDepartment"/>
-            <xsd:enumeration value="VolunteerServicesDepartment"/>
-            <xsd:enumeration value="Voter"/>
-            <xsd:enumeration value="WageEarner"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="WarehouseDepositor"/>
-            <xsd:enumeration value="WarehouseKeeper"/>
-            <xsd:enumeration value="Warranter"/>
-            <xsd:enumeration value="WaterAmbulanceServices"/>
-            <xsd:enumeration value="WaterSystem"/>
-            <xsd:enumeration value="WeightingParty"/>
-            <xsd:enumeration value="WellCasingDepthAuthority"/>
-            <xsd:enumeration value="WellPadConstructionContractor"/>
-            <xsd:enumeration value="Wholesaler"/>
-            <xsd:enumeration value="Wholly-OwnedSubsidiary"/>
-            <xsd:enumeration value="Winner"/>
-            <xsd:enumeration value="WithdrawalPoint"/>
-            <xsd:enumeration value="Witness"/>
-            <xsd:enumeration value="WitnessForDefendant"/>
-            <xsd:enumeration value="WitnessForPlaintiff"/>
-            <xsd:enumeration value="WitnessForProsecution"/>
-            <xsd:enumeration value="Woman-OwnedBusiness"/>
-            <xsd:enumeration value="Woman-OwnedBusinessLarge"/>
-            <xsd:enumeration value="Woman-OwnedBusinessSmall"/>
-            <xsd:enumeration value="WomensHealthCenterOrServices"/>
-            <xsd:enumeration value="WorksiteHealthPromotionFacility"/>
-            <xsd:enumeration value="WorksManager"/>
-            <xsd:enumeration value="WorkTeam"/>
-            <xsd:enumeration value="WritingAgent"/>
-            <xsd:enumeration value="X-RayRadiationTherapyUnit"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="OrderConfirmationAction">
-        <xsd:sequence>
-            <xsd:element name="OrderConfirmationActionCoded" type="OrderConfirmationActionCode"/>
-            <xsd:element minOccurs="0" name="OrderConfirmationActionCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderConfirmationAction" type="OrderConfirmationAction"/>
-    <xsd:simpleType name="OrderConfirmationActionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Create"/>
-            <xsd:enumeration value="Update"/>
-            <xsd:enumeration value="Delete"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="AlphaNum40">
-        <xsd:restriction base="xsd:string">
-            <xsd:maxLength value="40"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfStructuredNote">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="StructuredNote"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfStructuredNote" type="ListOfStructuredNote"/>
-    <xsd:complexType name="StructuredNote">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="GeneralNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="NoteID" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Agency"/>
-            <xsd:element minOccurs="0" name="NoteURL" type="xsd:anyURI"/>
-            <xsd:element minOccurs="0" name="TextTypeCoded" type="TextTypeCode"/>
-            <xsd:element minOccurs="0" name="TextTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="StructuredNote" type="StructuredNote"/>
-    <xsd:simpleType name="TextTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Deadlines"/>
-            <xsd:enumeration value="Warranties"/>
-            <xsd:enumeration value="PenaltyForBreachOfContract"/>
-            <xsd:enumeration value="Guarantees"/>
-            <xsd:enumeration value="ContractRiders"/>
-            <xsd:enumeration value="Asset"/>
-            <xsd:enumeration value="OtherContractualStipulations"/>
-            <xsd:enumeration value="InfoRecordPOText"/>
-            <xsd:enumeration value="MaterialPOText"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfNameValueSet">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="NameValueSet"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfNameValueSet" type="ListOfNameValueSet"/>
-    <xsd:complexType name="NameValueSet">
-        <xsd:sequence>
-            <xsd:element name="SetName" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SetID" type="xsd:string"/>
-            <xsd:element ref="ListOfNameValuePair"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="NameValueSet" type="NameValueSet"/>
-    <xsd:complexType name="ListOfNameValuePair">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="NameValuePair"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfNameValuePair" type="ListOfNameValuePair"/>
-    <xsd:complexType name="NameValuePair">
-        <xsd:sequence>
-            <xsd:element name="Name" type="xsd:string"/>
-            <xsd:element name="Value" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Datatype" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="NameValuePair" type="NameValuePair"/>
-    <xsd:complexType name="ListOfAttachment">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Attachment"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfAttachment" type="ListOfAttachment"/>
-    <xsd:complexType name="Attachment">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="AttachmentActionCoded" type="AttachmentActionCode"/>
-            <xsd:element minOccurs="0" name="AttachmentActionCodedOther" type="xsd:string"/>
-            <xsd:element name="AttachmentPurpose" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FileName" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="AttachmentTitle" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="AttachmentDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Language"/>
-            <xsd:element minOccurs="0" name="MIMEType" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ReplacementFile" type="xcblBoolean"/>
-            <xsd:element name="AttachmentLocation" type="xsd:anyURI"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Attachment" type="Attachment"/>
-    <xsd:simpleType name="AttachmentActionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Add"/>
-            <xsd:enumeration value="Update"/>
-            <xsd:enumeration value="Delete"/>
-            <xsd:enumeration value="NoChange"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="OrderConfirmationDetail">
-        <xsd:sequence>
-            <xsd:element ref="ListOfOrderConfirmationItemDetail"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderConfirmationDetail" type="OrderConfirmationDetail"/>
-    <xsd:complexType name="ListOfOrderConfirmationItemDetail">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="OrderConfirmationItemDetail"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfOrderConfirmationItemDetail" type="ListOfOrderConfirmationItemDetail"/>
-    <xsd:complexType name="OrderConfirmationItemDetail">
-        <xsd:sequence>
-            <xsd:element name="OrderConfirmationItemNum" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="OrderConfirmationAction"/>
-            <xsd:element minOccurs="0" name="OrderConfirmationDetailShortDescription" type="AlphaNum40"/>
-            <xsd:element ref="OrderConfirmationDetailReferences"/>
-            <xsd:element minOccurs="0" name="DeliveryComplete" type="xcblBoolean"/>
-            <xsd:element ref="ItemDetail"/>
-            <xsd:element minOccurs="0" ref="ListOfAccountAssignment"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderConfirmationItemDetail" type="OrderConfirmationItemDetail"/>
-    <xsd:complexType name="OrderConfirmationDetailReferences">
-        <xsd:sequence>
-            <xsd:element ref="PurchaseOrderReference"/>
-            <xsd:element minOccurs="0" ref="Category"/>
-            <xsd:element minOccurs="0" ref="CatalogReference"/>
-            <xsd:element minOccurs="0" ref="ContractAndSystemReference"/>
-            <xsd:element minOccurs="0" ref="ListOfReferenceCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="OrderConfirmationDetailReferences" type="OrderConfirmationDetailReferences"/>
-    <xsd:complexType name="PurchaseOrderReference">
-        <xsd:sequence>
-            <xsd:element name="PurchaseOrderNumber">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Reference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="PurchaseOrderDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" name="PurchaseOrderLineItemNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="PartialOrderCoded" type="ASNPartialOrderCode"/>
-            <xsd:element minOccurs="0" name="PartialOrderCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PurchaseOrderReference" type="PurchaseOrderReference"/>
-    <xsd:complexType name="Reference">
-        <xsd:sequence>
-            <xsd:element name="RefNum" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="RefDate" type="xcblDatetime"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Reference" type="Reference"/>
-    <xsd:simpleType name="ASNPartialOrderCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="CompleteOrder"/>
-            <xsd:enumeration value="PartialOrder"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Category">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="CategoryID" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="StandardCategoryID"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Category" type="Category"/>
-    <xsd:complexType name="StandardCategoryID">
-        <xsd:sequence>
-            <xsd:element name="StandardCategoryType" type="xsd:string"/>
-            <xsd:element name="ClassificationID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TechnicalID" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="StandardCategoryID" type="StandardCategoryID"/>
-    <xsd:complexType name="CatalogReference">
-        <xsd:sequence>
-            <xsd:element name="CatalogURL" type="xsd:anyURI"/>
-            <xsd:element minOccurs="0" name="CatalogID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CatalogItemID" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="CatalogReference" type="CatalogReference"/>
-    <xsd:complexType name="ContractID">
-        <xsd:sequence>
-            <xsd:element ref="Identifier"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ContractID" type="ContractID"/>
-    <xsd:complexType name="ContractAndSystemReference">
-        <xsd:sequence>
-            <xsd:element ref="ContractID"/>
-            <xsd:element name="ContractItemID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SystemID" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ContractAndSystemReference" type="ContractAndSystemReference"/>
-    <xsd:complexType name="ListOfReferenceCoded">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ReferenceCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfReferenceCoded" type="ListOfReferenceCoded"/>
-    <xsd:complexType name="ReferenceCoded">
-        <xsd:sequence>
-            <xsd:element name="ReferenceTypeCoded" type="ReferenceTypeCode"/>
-            <xsd:element minOccurs="0" name="ReferenceTypeCodedOther" type="xsd:string"/>
-            <xsd:element name="PrimaryReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Reference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="SupportingReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Reference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="SupportingSubReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Reference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ReferenceDescription" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ReferenceCoded" type="ReferenceCoded"/>
-    <xsd:simpleType name="ReferenceTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AbbreviatedNewDrugApplicationNumber"/>
-            <xsd:enumeration value="AcceptableSourceDUNSNumber"/>
-            <xsd:enumeration value="AcceptableSourcePurchaserID"/>
-            <xsd:enumeration value="AcceptableSourceSupplierID"/>
-            <xsd:enumeration value="AccessCode"/>
-            <xsd:enumeration value="AccessorialRailDiversionReferenceNumber"/>
-            <xsd:enumeration value="AccessorialStatusCode"/>
-            <xsd:enumeration value="AccidentReferenceNumber"/>
-            <xsd:enumeration value="AccountCategory"/>
-            <xsd:enumeration value="AccountingCode"/>
-            <xsd:enumeration value="AccountingEquipmentLocationNumber"/>
-            <xsd:enumeration value="AccountingFileReference"/>
-            <xsd:enumeration value="AccountingPeriodReference"/>
-            <xsd:enumeration value="AccountManagersCode"/>
-            <xsd:enumeration value="AccountNumber"/>
-            <xsd:enumeration value="AccountPartysBankReference"/>
-            <xsd:enumeration value="AccountPartysReference"/>
-            <xsd:enumeration value="AccountPayableNumber"/>
-            <xsd:enumeration value="AccountServicingBanksReferenceNumber"/>
-            <xsd:enumeration value="AccountsReceivableCustomerAccount"/>
-            <xsd:enumeration value="AccountsReceivableNumber"/>
-            <xsd:enumeration value="AccountsReceivableOpenItem"/>
-            <xsd:enumeration value="AccountsReceivableStatementNumber"/>
-            <xsd:enumeration value="AccountSuffixCode"/>
-            <xsd:enumeration value="AcknowledgementOfOrderNumber"/>
-            <xsd:enumeration value="ActionAuthorizationNumber"/>
-            <xsd:enumeration value="AdditionalReferenceNumber"/>
-            <xsd:enumeration value="AddOnSystemNumber"/>
-            <xsd:enumeration value="AddresseeReference"/>
-            <xsd:enumeration value="AdjustedRepricedClaimReferenceNumber"/>
-            <xsd:enumeration value="AdjustedRepricedLineItemReferenceNumber"/>
-            <xsd:enumeration value="AdjustmentControlNumber"/>
-            <xsd:enumeration value="AdjustmentMemoChargeBack"/>
-            <xsd:enumeration value="AdministratorsReferenceNumber"/>
-            <xsd:enumeration value="AdversaryCase"/>
-            <xsd:enumeration value="AdvertiserNumber"/>
-            <xsd:enumeration value="AdviceOfCollectionNumber"/>
-            <xsd:enumeration value="AdviseThroughBanksReference"/>
-            <xsd:enumeration value="AdvisingBanksReference"/>
-            <xsd:enumeration value="AeronauticalEquipmentReferenceNumber"/>
-            <xsd:enumeration value="AFE"/>
-            <xsd:enumeration value="AffectedSubsystemCode"/>
-            <xsd:enumeration value="AffiliationNumber"/>
-            <xsd:enumeration value="AgencyAssignedEmployeeID"/>
-            <xsd:enumeration value="AgencyAssignedNumber"/>
-            <xsd:enumeration value="AgencyCaseNumber"/>
-            <xsd:enumeration value="AgencyClaimNumber"/>
-            <xsd:enumeration value="AgencyClauseNumber"/>
-            <xsd:enumeration value="AIDAR"/>
-            <xsd:enumeration value="AgencyHierarchicalLevel"/>
-            <xsd:enumeration value="AgencyLocationCode"/>
-            <xsd:enumeration value="AgencysStudentNumber"/>
-            <xsd:enumeration value="AgentClaimNumber"/>
-            <xsd:enumeration value="AgentContractNumber"/>
-            <xsd:enumeration value="AgentNumber"/>
-            <xsd:enumeration value="AgentsBankReference"/>
-            <xsd:enumeration value="AgentsReference"/>
-            <xsd:enumeration value="AgentsShipmentNumber"/>
-            <xsd:enumeration value="AGERD"/>
-            <xsd:enumeration value="AgreementNumber"/>
-            <xsd:enumeration value="AgreementToPayNumber"/>
-            <xsd:enumeration value="AirCargoTransferManifest"/>
-            <xsd:enumeration value="AirDimensionCode"/>
-            <xsd:enumeration value="AirHandlingCode"/>
-            <xsd:enumeration value="AirlinesFlightIdentificationNumber"/>
-            <xsd:enumeration value="AirlineTicketNumber"/>
-            <xsd:enumeration value="AirWaybillNumber"/>
-            <xsd:enumeration value="AllotmentIdentification"/>
-            <xsd:enumeration value="AllowanceRecipientIdentification"/>
-            <xsd:enumeration value="AlterationNumber"/>
-            <xsd:enumeration value="AlternateClauseNumber"/>
-            <xsd:enumeration value="AmbulatoryPatientGroupNumber"/>
-            <xsd:enumeration value="AmendedUniformCommercialCodeFilingNumber"/>
-            <xsd:enumeration value="Amendment"/>
-            <xsd:enumeration value="AmendmentFiling"/>
-            <xsd:enumeration value="AmericanBankersAssociationTransitOrRoutingNumber"/>
-            <xsd:enumeration value="AmericanGasAssociationEquationNumber"/>
-            <xsd:enumeration value="AmericanOsteopathicAssociationCertificationNumber"/>
-            <xsd:enumeration value="AmericanPetroleumInstituteDeductionCode"/>
-            <xsd:enumeration value="AmericanPetroleumInstituteWell"/>
-            <xsd:enumeration value="AnalysisNumberOrTestNumber"/>
-            <xsd:enumeration value="AnesthesiaLicenseNumber"/>
-            <xsd:enumeration value="AnimalSpecies"/>
-            <xsd:enumeration value="AnimalStrain"/>
-            <xsd:enumeration value="AntiDumpingCaseNumber"/>
-            <xsd:enumeration value="APE"/>
-            <xsd:enumeration value="ApplicableCoefficientIdentificationNumber"/>
-            <xsd:enumeration value="ApplicableInstructionsOrStandards"/>
-            <xsd:enumeration value="ApplicantsBankReference"/>
-            <xsd:enumeration value="ApplicantsReference"/>
-            <xsd:enumeration value="ApplicationNumber"/>
-            <xsd:enumeration value="ApplicationReferenceNumber"/>
-            <xsd:enumeration value="ApplicationTransactionReferenceNumber"/>
-            <xsd:enumeration value="AppointmentNumber"/>
-            <xsd:enumeration value="AppraiserLicense"/>
-            <xsd:enumeration value="AppropriationNumber"/>
-            <xsd:enumeration value="ApprovalCode"/>
-            <xsd:enumeration value="Area"/>
-            <xsd:enumeration value="ArrivalCode"/>
-            <xsd:enumeration value="ArticleNumber"/>
-            <xsd:enumeration value="AssemblyLineFeedLocation"/>
-            <xsd:enumeration value="AssemblyNumber"/>
-            <xsd:enumeration value="AssessmentNumber"/>
-            <xsd:enumeration value="AssignedByTransactionSetSender"/>
-            <xsd:enumeration value="AssignedContractNumber"/>
-            <xsd:enumeration value="AssignedSequenceNumber"/>
-            <xsd:enumeration value="AssignmentNumber"/>
-            <xsd:enumeration value="AssignmentRecordingNumber"/>
-            <xsd:enumeration value="AssociatedCaseControlNumber"/>
-            <xsd:enumeration value="AssociatedInvoices"/>
-            <xsd:enumeration value="AssociatedNumberForJoinedUnitNotResubdivided"/>
-            <xsd:enumeration value="AssociatedNumberForLimitedCommonElementParking"/>
-            <xsd:enumeration value="AssociatedNumberForUnitParking"/>
-            <xsd:enumeration value="AssociatedPolicyNumber"/>
-            <xsd:enumeration value="AssociatedProductNumber"/>
-            <xsd:enumeration value="AssociatedPropertyNumber"/>
-            <xsd:enumeration value="AssociatedPurchaseOrders"/>
-            <xsd:enumeration value="AssociationOfAmericanRailroadsRailwayAccountingRules"/>
-            <xsd:enumeration value="AssumingCompany"/>
-            <xsd:enumeration value="AtaCarnetNumber"/>
-            <xsd:enumeration value="AtomicSafetyandLicensingBoardPanelNumber"/>
-            <xsd:enumeration value="AttachedTo"/>
-            <xsd:enumeration value="AttachmentCode"/>
-            <xsd:enumeration value="Attorney"/>
-            <xsd:enumeration value="AuthorisationForRepairReference"/>
-            <xsd:enumeration value="AuthorityIssuedEquipmentIdentification"/>
-            <xsd:enumeration value="AuthorizationNumber"/>
-            <xsd:enumeration value="AuthorizationNumberForExceptionToDangerousGoods"/>
-            <xsd:enumeration value="AuthorizationToMeetCompetitionNumber"/>
-            <xsd:enumeration value="AutoLossItemNumber"/>
-            <xsd:enumeration value="ACHReturnOrNotificationOfChangeCode"/>
-            <xsd:enumeration value="ACHEntryDescription"/>
-            <xsd:enumeration value="ACHStandardEntryClass"/>
-            <xsd:enumeration value="ACHTraceNumber"/>
-            <xsd:enumeration value="AutomatedUnderwritingReferenceNumber"/>
-            <xsd:enumeration value="AxleRatio"/>
-            <xsd:enumeration value="BackoutProcedureCode"/>
-            <xsd:enumeration value="BadgeNumber"/>
-            <xsd:enumeration value="BalanceDueReferenceNumber"/>
-            <xsd:enumeration value="BankAssignedBankersReferenceNumber"/>
-            <xsd:enumeration value="BankAssignedSecurityIdentifier"/>
-            <xsd:enumeration value="BankersAcceptance"/>
-            <xsd:enumeration value="BankReference"/>
-            <xsd:enumeration value="BankruptcyProcedureNumber"/>
-            <xsd:enumeration value="BanksCommonTransactionReferenceNumber"/>
-            <xsd:enumeration value="BanksIndividualTransactionReferenceNumber"/>
-            <xsd:enumeration value="BankTelegraphicNumber"/>
-            <xsd:enumeration value="BankToBankInformation"/>
-            <xsd:enumeration value="BarCodedLabelSerialNumber"/>
-            <xsd:enumeration value="BarCodedSerialNumber"/>
-            <xsd:enumeration value="BargePermitNumber"/>
-            <xsd:enumeration value="BasicContractLineItemNumber"/>
-            <xsd:enumeration value="BatchNumberOrLotNumber"/>
-            <xsd:enumeration value="BatchSequenceNumber"/>
-            <xsd:enumeration value="BeamAssemblyCode"/>
-            <xsd:enumeration value="BeginMileMarker"/>
-            <xsd:enumeration value="BeginningJobSequenceNumber"/>
-            <xsd:enumeration value="BeginningKanbanSerialNumber"/>
-            <xsd:enumeration value="BeginningMeterReadingActual"/>
-            <xsd:enumeration value="BeginningMeterReadingEstimated"/>
-            <xsd:enumeration value="BeginningSerialNumber"/>
-            <xsd:enumeration value="BeneficiarysBankReference"/>
-            <xsd:enumeration value="BeneficiarysReference"/>
-            <xsd:enumeration value="BidNumber"/>
-            <xsd:enumeration value="BilateralCarServiceAgreements"/>
-            <xsd:enumeration value="BillAndHoldInvoiceNumber"/>
-            <xsd:enumeration value="BillingAccount"/>
-            <xsd:enumeration value="BillingCenterIdentification"/>
-            <xsd:enumeration value="BillingType"/>
-            <xsd:enumeration value="BillOfLadingNumber"/>
-            <xsd:enumeration value="BillofMaterialRevisionNumber"/>
-            <xsd:enumeration value="BillOfQuantitiesNumber"/>
-            <xsd:enumeration value="BinaryObjectIdentifier"/>
-            <xsd:enumeration value="BinLocationNumber"/>
-            <xsd:enumeration value="BlanketOrderNumber"/>
-            <xsd:enumeration value="BlendedWithBatchNumber"/>
-            <xsd:enumeration value="BlendedWithNumber"/>
-            <xsd:enumeration value="Block"/>
-            <xsd:enumeration value="BlueCrossProviderNumber"/>
-            <xsd:enumeration value="BlueShieldProviderNumber"/>
-            <xsd:enumeration value="BondedCarrierInternalRevenueServiceIdentificationNumber"/>
-            <xsd:enumeration value="BookingReferenceNumber"/>
-            <xsd:enumeration value="BookNumber"/>
-            <xsd:enumeration value="BordereauNumber"/>
-            <xsd:enumeration value="BranchIdentifier"/>
-            <xsd:enumeration value="BrokerIdentification"/>
-            <xsd:enumeration value="BrokerOrSalesOfficeNumber"/>
-            <xsd:enumeration value="BrokerReference1"/>
-            <xsd:enumeration value="BrokerReference2"/>
-            <xsd:enumeration value="BrokersOrderNumber"/>
-            <xsd:enumeration value="BrokerReferenceNumber"/>
-            <xsd:enumeration value="BudgetChapter"/>
-            <xsd:enumeration value="BureauofLaborandStatisticsScheduleIdentifier"/>
-            <xsd:enumeration value="BureauSigningOR"/>
-            <xsd:enumeration value="BureauSigningSR"/>
-            <xsd:enumeration value="BusinessActivity"/>
-            <xsd:enumeration value="BusinessIdentificationNumber"/>
-            <xsd:enumeration value="BusinessTaxNumber"/>
-            <xsd:enumeration value="BuyerIdentification"/>
-            <xsd:enumeration value="BuyersApprovalMark"/>
-            <xsd:enumeration value="BuyersCatalogueNumber"/>
-            <xsd:enumeration value="BuyersContractNumber"/>
-            <xsd:enumeration value="BuyersCreditMemo"/>
-            <xsd:enumeration value="BuyersDebitMemo"/>
-            <xsd:enumeration value="BuyersDebtorNumber"/>
-            <xsd:enumeration value="BuyersItemNumber"/>
-            <xsd:enumeration value="BuyersOrderNumber"/>
-            <xsd:enumeration value="BuyersShipmentMarkNumber"/>
-            <xsd:enumeration value="CadFileLayerConvention"/>
-            <xsd:enumeration value="Calendar"/>
-            <xsd:enumeration value="CalendarNumber"/>
-            <xsd:enumeration value="CallOffOrderNumber"/>
-            <xsd:enumeration value="CallSign"/>
-            <xsd:enumeration value="CanadianExciseEntryNumber"/>
-            <xsd:enumeration value="CanadianFinancialInstitutionBranchAndInstitutionNumber"/>
-            <xsd:enumeration value="CanadianGoodsAndServicesorQuebecSalesTaxReferenceNumber"/>
-            <xsd:enumeration value="CanadianProvinceOperatingAuthorityNumber"/>
-            <xsd:enumeration value="CanadianSocialInsuranceNumber"/>
-            <xsd:enumeration value="CanadianWheatBoardPermitNumber"/>
-            <xsd:enumeration value="CanceledRevisionNumber"/>
-            <xsd:enumeration value="CardAccountReportingIdentifier"/>
-            <xsd:enumeration value="CardAccountReportingLevel"/>
-            <xsd:enumeration value="CardAccountStatusCode"/>
-            <xsd:enumeration value="CardAccountTypeCode"/>
-            <xsd:enumeration value="CardBillingTypeCode"/>
-            <xsd:enumeration value="CardIssuerTransactionCode"/>
-            <xsd:enumeration value="CargoAcceptanceOrderReferenceNumber"/>
-            <xsd:enumeration value="CargoControlNumber"/>
-            <xsd:enumeration value="CargoManifestNumber"/>
-            <xsd:enumeration value="CarnetNumber"/>
-            <xsd:enumeration value="CarrierAssignedCode"/>
-            <xsd:enumeration value="CarrierAssignedConsigneeNumber"/>
-            <xsd:enumeration value="CarrierAssignedPackageIdentificationNumber"/>
-            <xsd:enumeration value="CarrierAssignedReferenceNumber"/>
-            <xsd:enumeration value="CarrierAssignedShipperNumber"/>
-            <xsd:enumeration value="CarriersAgentReferenceNumber"/>
-            <xsd:enumeration value="CarriersCustomsBondNumber"/>
-            <xsd:enumeration value="CarriersReferenceNumber"/>
-            <xsd:enumeration value="CaseNumber"/>
-            <xsd:enumeration value="CaseOfNeedPartysReference"/>
-            <xsd:enumeration value="CasualtyReportNumber"/>
-            <xsd:enumeration value="CasualtyReportSerialNumber"/>
-            <xsd:enumeration value="Catalog"/>
-            <xsd:enumeration value="CatalogueSequenceNumber"/>
-            <xsd:enumeration value="CatastropheNumber"/>
-            <xsd:enumeration value="CategoryOfWorkReference"/>
-            <xsd:enumeration value="CedentsClaimNumber"/>
-            <xsd:enumeration value="CedingCompany"/>
-            <xsd:enumeration value="CeilingFormulaReferenceNumber"/>
-            <xsd:enumeration value="CensusAutomatedFilesID"/>
-            <xsd:enumeration value="CensusBlockGroup"/>
-            <xsd:enumeration value="CensusStateCode"/>
-            <xsd:enumeration value="CensusTract"/>
-            <xsd:enumeration value="CensusTractSuffix"/>
-            <xsd:enumeration value="CentralSecretariatLogNumber"/>
-            <xsd:enumeration value="CentralSecretariatLogNumberChildDataMaintenance"/>
-            <xsd:enumeration value="CentralSecretariatLogNumberParentDataMaintenance"/>
-            <xsd:enumeration value="CertificateNumber"/>
-            <xsd:enumeration value="CertificateOfConformity"/>
-            <xsd:enumeration value="CertificateofIncorporationNumber"/>
-            <xsd:enumeration value="CertificateofTransportation"/>
-            <xsd:enumeration value="Certification"/>
-            <xsd:enumeration value="CertifiedMailNumber"/>
-            <xsd:enumeration value="CRNA"/>
-            <xsd:enumeration value="ChamberOfCommerceNumber"/>
-            <xsd:enumeration value="ChamberOfCommerceRegistrationNumber"/>
-            <xsd:enumeration value="CHAMPUSIdentificationNumber"/>
-            <xsd:enumeration value="ChangeDocumentNumber"/>
-            <xsd:enumeration value="ChangeNumber"/>
-            <xsd:enumeration value="ChangeOrderAuthority"/>
-            <xsd:enumeration value="ChangeVerificationProcedureCode"/>
-            <xsd:enumeration value="ChargeCardAccountNumber"/>
-            <xsd:enumeration value="ChargeCardNumber"/>
-            <xsd:enumeration value="ChargeNoteReferenceNumber"/>
-            <xsd:enumeration value="ChargeNumber"/>
-            <xsd:enumeration value="CharterNumber"/>
-            <xsd:enumeration value="CheckingNumber"/>
-            <xsd:enumeration value="CheckListNumber"/>
-            <xsd:enumeration value="CheckNumber"/>
-            <xsd:enumeration value="ChemicalAbstractServiceRegistryNumber"/>
-            <xsd:enumeration value="ChequeNumber"/>
-            <xsd:enumeration value="CircuitNumber"/>
-            <xsd:enumeration value="Circular"/>
-            <xsd:enumeration value="CircularPublicationNumber"/>
-            <xsd:enumeration value="Citation"/>
-            <xsd:enumeration value="CitationOfOpinion"/>
-            <xsd:enumeration value="CitationOfStatute"/>
-            <xsd:enumeration value="CitizenshipDocumentNumber"/>
-            <xsd:enumeration value="CivilActionNumber"/>
-            <xsd:enumeration value="CivilLiabilitiesofOilCertificate"/>
-            <xsd:enumeration value="ClaimAdministratorClaimNumber"/>
-            <xsd:enumeration value="ClaimantNumber"/>
-            <xsd:enumeration value="ClaimantsClaimNumber"/>
-            <xsd:enumeration value="ClaimNumber"/>
-            <xsd:enumeration value="ClaimOfficeNumber"/>
-            <xsd:enumeration value="ClassCode"/>
-            <xsd:enumeration value="ClassOfContractCode"/>
-            <xsd:enumeration value="ClauseNumber"/>
-            <xsd:enumeration value="ClearingHouseInterbankPaymentsSystemSequenceNumber"/>
-            <xsd:enumeration value="ClearingHouseInterbankPaymentSystemParticipantNumber"/>
-            <xsd:enumeration value="ClearingHouseInterbankPaymentSystemUserIdentification"/>
-            <xsd:enumeration value="ClearingReference"/>
-            <xsd:enumeration value="ClearTextClause"/>
-            <xsd:enumeration value="ClientCompanyCode"/>
-            <xsd:enumeration value="ClientNumber"/>
-            <xsd:enumeration value="ClientReportingCategory"/>
-            <xsd:enumeration value="ClinicalLaboratoryImprovementAmendmentNumber"/>
-            <xsd:enumeration value="ClinicNumber"/>
-            <xsd:enumeration value="CoalAuthorityNumber"/>
-            <xsd:enumeration value="CodeOfFederalRegulations"/>
-            <xsd:enumeration value="CoilNumber"/>
-            <xsd:enumeration value="ColdRollNumber"/>
-            <xsd:enumeration value="CollectingBanksReference"/>
-            <xsd:enumeration value="CollectorIdentification"/>
-            <xsd:enumeration value="CollocationIndicator"/>
-            <xsd:enumeration value="CombinedShipment"/>
-            <xsd:enumeration value="CommercialOrPrivatePassengerVehicleQualifier"/>
-            <xsd:enumeration value="CommercialAccountSummaryReferenceNumber"/>
-            <xsd:enumeration value="CommercialandGovernmentEntityCode"/>
-            <xsd:enumeration value="CommercialDriversLicense"/>
-            <xsd:enumeration value="CommercialInvoiceNumber"/>
-            <xsd:enumeration value="CommercialRegistrationNumber"/>
-            <xsd:enumeration value="CommercialVehicleSafetyAssuranceNumber"/>
-            <xsd:enumeration value="CommitmentNumber"/>
-            <xsd:enumeration value="CommitteeOnUniformSecurityIdentificationProceduresNumber"/>
-            <xsd:enumeration value="CommodityNumber"/>
-            <xsd:enumeration value="CommonAccessReferenceNumber"/>
-            <xsd:enumeration value="CommonTransactionReferenceNumber"/>
-            <xsd:enumeration value="CompanyAndPlaceRegistrationNumber"/>
-            <xsd:enumeration value="CompanyAndSyndicateReference1"/>
-            <xsd:enumeration value="CompanyAndSyndicateReference2"/>
-            <xsd:enumeration value="CompanyIssuedEquipmentId"/>
-            <xsd:enumeration value="CRO"/>
-            <xsd:enumeration value="ComparableProperty"/>
-            <xsd:enumeration value="ComparablePropertyPendingSaleReferenceNumber"/>
-            <xsd:enumeration value="ComparablePropertySaleReferenceNumber"/>
-            <xsd:enumeration value="ComparablePropertyVerificationSource"/>
-            <xsd:enumeration value="CompetentAuthority"/>
-            <xsd:enumeration value="Complaint"/>
-            <xsd:enumeration value="ComplaintCode"/>
-            <xsd:enumeration value="CompletedUnitsPaymentRequestReference"/>
-            <xsd:enumeration value="ComplianceCodeNumber"/>
-            <xsd:enumeration value="Component"/>
-            <xsd:enumeration value="ConditionOfPurchaseDocumentNumber"/>
-            <xsd:enumeration value="ConditionOfSaleDocumentNumber"/>
-            <xsd:enumeration value="CondominiumIdentificationNumber"/>
-            <xsd:enumeration value="CongressionalDistrict"/>
-            <xsd:enumeration value="ConnectingCarrier"/>
-            <xsd:enumeration value="ConsigneeReferenceNumber"/>
-            <xsd:enumeration value="ConsigneesFurtherOrder"/>
-            <xsd:enumeration value="ConsigneesInvoiceNumber"/>
-            <xsd:enumeration value="ConsigneesOrderNumber"/>
-            <xsd:enumeration value="ConsigneesReleaseNumber"/>
-            <xsd:enumeration value="ConsigneesShipmentReferenceNumber"/>
-            <xsd:enumeration value="ConsignmentClassificationID"/>
-            <xsd:enumeration value="ConsignorsFurtherOrder"/>
-            <xsd:enumeration value="ConsignorsReferenceNumber"/>
-            <xsd:enumeration value="ConsolidatedInvoiceNumber"/>
-            <xsd:enumeration value="ConsolidationShipmentNumber"/>
-            <xsd:enumeration value="ConsolidatorsReceiptNumber"/>
-            <xsd:enumeration value="ConstraintNotation"/>
-            <xsd:enumeration value="ConsumerIdentifier"/>
-            <xsd:enumeration value="ConsumptionDataRequestNumber"/>
-            <xsd:enumeration value="ContainerOrEquipmentReceiptNumber"/>
-            <xsd:enumeration value="ContainerOrPackagingSpecificationNumber"/>
-            <xsd:enumeration value="ContainerDispositionOrderReferenceNumber"/>
-            <xsd:enumeration value="ContainerOperatorsReferenceNumber"/>
-            <xsd:enumeration value="ContainerorEquipmentReceiptNumber"/>
-            <xsd:enumeration value="ContainerPrefix"/>
-            <xsd:enumeration value="ContainerSequenceNumber"/>
-            <xsd:enumeration value="ContainerWorkOrderReferenceNumber"/>
-            <xsd:enumeration value="ContinuationFiling"/>
-            <xsd:enumeration value="ContinuationUniformCommercialCodeFilingNumber"/>
-            <xsd:enumeration value="ContinuousMoveNumber"/>
-            <xsd:enumeration value="ContinuousTransferNumber"/>
-            <xsd:enumeration value="ContractAddendumNumber"/>
-            <xsd:enumeration value="ContractAuditorIDNumber"/>
-            <xsd:enumeration value="ContractBreakdownReference"/>
-            <xsd:enumeration value="ContractCoopNumber"/>
-            <xsd:enumeration value="ContractHolderClaimNumber"/>
-            <xsd:enumeration value="ContractLineItemNumber"/>
-            <xsd:enumeration value="ContractNumber"/>
-            <xsd:enumeration value="ContractOptionNumber"/>
-            <xsd:enumeration value="ContractorDataRequirementsList"/>
-            <xsd:enumeration value="ContractorEstablishmentCode"/>
-            <xsd:enumeration value="ContractorRequestReference"/>
-            <xsd:enumeration value="ContractPartyReferenceNumber"/>
-            <xsd:enumeration value="ContractReference"/>
-            <xsd:enumeration value="ContractRiderNumber"/>
-            <xsd:enumeration value="ConveyanceReferenceNumber"/>
-            <xsd:enumeration value="CooperationContractNumber"/>
-            <xsd:enumeration value="CornboreCertificationNumber"/>
-            <xsd:enumeration value="CorrectedBatchNumber"/>
-            <xsd:enumeration value="CorrectedContractNumber"/>
-            <xsd:enumeration value="CorrectedSocialSecurityNumber"/>
-            <xsd:enumeration value="CorrectionNumber"/>
-            <xsd:enumeration value="CostAccount"/>
-            <xsd:enumeration value="CostAllocationReference"/>
-            <xsd:enumeration value="CostaRicanJudicialNumber"/>
-            <xsd:enumeration value="CostCentre"/>
-            <xsd:enumeration value="CostElement"/>
-            <xsd:enumeration value="CountyBusinessRegistrationNumber"/>
-            <xsd:enumeration value="CountyCode"/>
-            <xsd:enumeration value="CountyLegislativeDistrict"/>
-            <xsd:enumeration value="CouponDistributionMethod"/>
-            <xsd:enumeration value="CouponRedemptionNumber"/>
-            <xsd:enumeration value="CoverageCode"/>
-            <xsd:enumeration value="CreditCard"/>
-            <xsd:enumeration value="CreditCounselingIdentificationNumber"/>
-            <xsd:enumeration value="CreditMemoNumber"/>
-            <xsd:enumeration value="CreditNoteNumber"/>
-            <xsd:enumeration value="Creditor"/>
-            <xsd:enumeration value="CreditorDebitAdjustmentNumber"/>
-            <xsd:enumeration value="CreditorsReferenceNumber"/>
-            <xsd:enumeration value="CreditRatingAgencysReferenceNumber"/>
-            <xsd:enumeration value="CreditReferenceNumber"/>
-            <xsd:enumeration value="CreditReportNumber"/>
-            <xsd:enumeration value="CreditRepositoryCode"/>
-            <xsd:enumeration value="CriticalApplication"/>
-            <xsd:enumeration value="CriticalityDesignator"/>
-            <xsd:enumeration value="CropYear"/>
-            <xsd:enumeration value="CrossListedCourseNumber"/>
-            <xsd:enumeration value="CrossReferenceNumber"/>
-            <xsd:enumeration value="CS54KeyTrainIndicatorCode"/>
-            <xsd:enumeration value="CS54KeyTrainIndicatorGroupName"/>
-            <xsd:enumeration value="CurrentCertificateNumber"/>
-            <xsd:enumeration value="CurrentInvoiceNumber"/>
-            <xsd:enumeration value="CurrentorLatestCourseNumber"/>
-            <xsd:enumeration value="CurrentProceduralTerminologyCode"/>
-            <xsd:enumeration value="CurrentRevisionNumber"/>
-            <xsd:enumeration value="CustomerCatalogNumber"/>
-            <xsd:enumeration value="CustomerMaintenancePeriodSequenceNumber"/>
-            <xsd:enumeration value="CustomerMaterialSpecificationNumber"/>
-            <xsd:enumeration value="CustomerOrderNumber"/>
-            <xsd:enumeration value="CustomerProcessSpecificationNumber"/>
-            <xsd:enumeration value="CustomerReferenceNumber"/>
-            <xsd:enumeration value="CustomerReferenceNumberAssignedToPreviousBalanceOf"/>
-            <xsd:enumeration value="CustomersCommonTransactionReferenceNumber"/>
-            <xsd:enumeration value="CustomersIndividualTransactionReferenceNumber"/>
-            <xsd:enumeration value="CustomersPartNumber"/>
-            <xsd:enumeration value="CustomerSpecificationNumber"/>
-            <xsd:enumeration value="CustomersReleaseNumber"/>
-            <xsd:enumeration value="CustomersUnitInventoryNumber"/>
-            <xsd:enumeration value="CustomerTrackingNumberForLoanedMaterials"/>
-            <xsd:enumeration value="CustomsBarCodeNumber"/>
-            <xsd:enumeration value="CustomsBrokerReferenceNumber"/>
-            <xsd:enumeration value="CustomsDecisionRequestNumber"/>
-            <xsd:enumeration value="CustomsDeclarationNumber"/>
-            <xsd:enumeration value="CustomsDrawbackEntryNumber"/>
-            <xsd:enumeration value="CustomsGuaranteeNumber"/>
-            <xsd:enumeration value="CustomshouseBrokerLicenseNumber"/>
-            <xsd:enumeration value="CustomsItemNumber"/>
-            <xsd:enumeration value="CustomsPreferenceInquiryNumber"/>
-            <xsd:enumeration value="CustomsReleaseCode"/>
-            <xsd:enumeration value="CustomsTariffNumber"/>
-            <xsd:enumeration value="CustomsTranshipmentNumber"/>
-            <xsd:enumeration value="CustomsValuationDecisionNumber"/>
-            <xsd:enumeration value="CutNumber"/>
-            <xsd:enumeration value="DangerousGoodsSecurityNumber"/>
-            <xsd:enumeration value="DangerousGoodsTransportLicenceNumber"/>
-            <xsd:enumeration value="DataAuthenticationNumber"/>
-            <xsd:enumeration value="DataItemDescriptionReference"/>
-            <xsd:enumeration value="DataQualityRejectReason"/>
-            <xsd:enumeration value="DataReliabilityCode"/>
-            <xsd:enumeration value="DataSource"/>
-            <xsd:enumeration value="DataStructureTag"/>
-            <xsd:enumeration value="DealerIdentification"/>
-            <xsd:enumeration value="DealerNumber"/>
-            <xsd:enumeration value="DealerOrderNumber"/>
-            <xsd:enumeration value="Dealerpurchaseordernumber"/>
-            <xsd:enumeration value="DealerTypeIdentification"/>
-            <xsd:enumeration value="DebitAccountNumber"/>
-            <xsd:enumeration value="DebitNoteNumber"/>
-            <xsd:enumeration value="DebitReferenceNumber"/>
-            <xsd:enumeration value="Debtor"/>
-            <xsd:enumeration value="DebtorsAccount"/>
-            <xsd:enumeration value="DebtorsReferenceNumber"/>
-            <xsd:enumeration value="DeclarantsCustomsIdentityNumber"/>
-            <xsd:enumeration value="DeclarantsReferenceNumber"/>
-            <xsd:enumeration value="DefectCodeNumber"/>
-            <xsd:enumeration value="DefenseFederalAcquisitionRegulations"/>
-            <xsd:enumeration value="DefensePrioritiesAllocationSystemPriorityRating"/>
-            <xsd:enumeration value="DefermentApprovalNumber"/>
-            <xsd:enumeration value="DeferredPaymentReference"/>
-            <xsd:enumeration value="DeliveryNoteNumber"/>
-            <xsd:enumeration value="DeliveryNumber"/>
-            <xsd:enumeration value="DeliveryOrderNumber"/>
-            <xsd:enumeration value="DeliveryQuoteNumber"/>
-            <xsd:enumeration value="DeliveryReference"/>
-            <xsd:enumeration value="DeliveryRegion"/>
-            <xsd:enumeration value="DeliveryScheduleNumber"/>
-            <xsd:enumeration value="DeliveryTicketNumber"/>
-            <xsd:enumeration value="DeliveryTrailerManifest"/>
-            <xsd:enumeration value="DeliveryVerificationCertificate"/>
-            <xsd:enumeration value="DenialReasonIdentifier"/>
-            <xsd:enumeration value="DensityOrderNumber"/>
-            <xsd:enumeration value="DentalInsuranceAccountNumber"/>
-            <xsd:enumeration value="DentalInsurancePolicyNumber"/>
-            <xsd:enumeration value="DentistLicenseNumber"/>
-            <xsd:enumeration value="Department"/>
-            <xsd:enumeration value="DepartmentOrAgencyNumber"/>
-            <xsd:enumeration value="DepartmentNumber"/>
-            <xsd:enumeration value="DepartmentofAgricultureAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentofCommerceAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentOfDefenseForm250RequirementCode"/>
-            <xsd:enumeration value="DepartmentOfDefenseIdentificationCode"/>
-            <xsd:enumeration value="DDTSCN"/>
-            <xsd:enumeration value="DepartmentofEducationAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentofEnergyAcquisitionRegulation"/>
-            <xsd:enumeration value="HHSAR"/>
-            <xsd:enumeration value="HUDAR"/>
-            <xsd:enumeration value="DepartmentofInteriorAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentofJusticeAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentofLaborAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentofStateAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentoftheTreasuryAcquisitionOrProcurementRegulation"/>
-            <xsd:enumeration value="DepartmentofTransportationAcquisitionRegulation"/>
-            <xsd:enumeration value="DepartmentOfTransportationBondNumber"/>
-            <xsd:enumeration value="DepartmentofTransportationHazardousNumber"/>
-            <xsd:enumeration value="DepartmentofVeteransAffairsAcquisitionRegulations"/>
-            <xsd:enumeration value="DepartmentWhereInjuryOccurredIdentification"/>
-            <xsd:enumeration value="DeparturefromSpecificationClassCode"/>
-            <xsd:enumeration value="DeparturefromSpecificationNumber"/>
-            <xsd:enumeration value="DeparturefromSpecificationTypeCode"/>
-            <xsd:enumeration value="DependentsInformation"/>
-            <xsd:enumeration value="DepositAccountNumber"/>
-            <xsd:enumeration value="DepositNumber"/>
-            <xsd:enumeration value="DepositorNumber"/>
-            <xsd:enumeration value="DepositoryTrustCompanyIdentification"/>
-            <xsd:enumeration value="DepositSequenceNumber"/>
-            <xsd:enumeration value="DeratCertificate"/>
-            <xsd:enumeration value="DescriptionOfChangeCode"/>
-            <xsd:enumeration value="DespatchAdviceNumber"/>
-            <xsd:enumeration value="DespatchNotePostParcelsNumber"/>
-            <xsd:enumeration value="DespatchNoteNumber"/>
-            <xsd:enumeration value="DestinationofShipmentHarmonizedBasedCode"/>
-            <xsd:enumeration value="DiagnosisRelatedGroupNumber"/>
-            <xsd:enumeration value="DirectDebitReference"/>
-            <xsd:enumeration value="DirectoryNumber"/>
-            <xsd:enumeration value="DirectPaymentValuationNumber"/>
-            <xsd:enumeration value="DirectPaymentValuationRequestNumber"/>
-            <xsd:enumeration value="DisabilityInsuranceAccountNumber"/>
-            <xsd:enumeration value="DisabilityInsurancePolicyNumber"/>
-            <xsd:enumeration value="DiscounterRegistrationNumber"/>
-            <xsd:enumeration value="DispensationReference"/>
-            <xsd:enumeration value="DisposalTurnInDocumentNumber"/>
-            <xsd:enumeration value="DisputeNumber"/>
-            <xsd:enumeration value="DistributionCenterNumber"/>
-            <xsd:enumeration value="DistributionList"/>
-            <xsd:enumeration value="DistributionStatementCode"/>
-            <xsd:enumeration value="DistributorAssignedOrderNumber"/>
-            <xsd:enumeration value="DistributorAssignedTransactionNumber"/>
-            <xsd:enumeration value="DistributOrInvoiceNumber"/>
-            <xsd:enumeration value="DistributorsAccountIdentification"/>
-            <xsd:enumeration value="DistributorsAccountNumber"/>
-            <xsd:enumeration value="DistributorsRepresentativeIdentification"/>
-            <xsd:enumeration value="DistributorsSplitAgentNumber"/>
-            <xsd:enumeration value="DistrictNumber"/>
-            <xsd:enumeration value="DiversionAuthorityNumber"/>
-            <xsd:enumeration value="DivisionIdentifier"/>
-            <xsd:enumeration value="DocketNumber"/>
-            <xsd:enumeration value="DockNumber"/>
-            <xsd:enumeration value="DockReceiptNumber"/>
-            <xsd:enumeration value="DocumentaryCreditAmendmentNumber"/>
-            <xsd:enumeration value="DocumentaryCreditNumber"/>
-            <xsd:enumeration value="DocumentaryPaymentReference"/>
-            <xsd:enumeration value="DocumentationAffectedNumber"/>
-            <xsd:enumeration value="DocumentIdentificationCode"/>
-            <xsd:enumeration value="DocumentNumber"/>
-            <xsd:enumeration value="DocumentVolumeNumber"/>
-            <xsd:enumeration value="DomesticFlightNumber"/>
-            <xsd:enumeration value="DomesticInventoryManagementCode"/>
-            <xsd:enumeration value="DomicileBranchNumber"/>
-            <xsd:enumeration value="DominionOfCanadaCode"/>
-            <xsd:enumeration value="DownstreamShipperContractNumber"/>
-            <xsd:enumeration value="DraftNumber"/>
-            <xsd:enumeration value="DrainholeNumber"/>
-            <xsd:enumeration value="DraweesReference"/>
-            <xsd:enumeration value="DrawingListNumber"/>
-            <xsd:enumeration value="DrawingNumber"/>
-            <xsd:enumeration value="DrawingRevisionNumber"/>
-            <xsd:enumeration value="DrawingType"/>
-            <xsd:enumeration value="DriversLicense"/>
-            <xsd:enumeration value="DrugEnforcementAdministrationNumber"/>
-            <xsd:enumeration value="DrugEnforcementAdministrationOrderBlankNumber"/>
-            <xsd:enumeration value="DrugFormularyNumber"/>
-            <xsd:enumeration value="DunAndBradstreetCanadas8DigitStandardIndustrial"/>
-            <xsd:enumeration value="DunAndBradstreetUS8DigitStandardIndustrial"/>
-            <xsd:enumeration value="DUNSNumberwithFourCharacterSuffix"/>
-            <xsd:enumeration value="DUNSNumberDunAndBradstreet"/>
-            <xsd:enumeration value="DuplicateBillNumber"/>
-            <xsd:enumeration value="DuplicateWaybillinRoute"/>
-            <xsd:enumeration value="DuplicateWaybillNotInRoute"/>
-            <xsd:enumeration value="DutyFreeProductsReceiptAuthorisationNumber"/>
-            <xsd:enumeration value="DutyFreeProductsSecurityNumber"/>
-            <xsd:enumeration value="DutyMemoNumber"/>
-            <xsd:enumeration value="DyeLotNumber"/>
-            <xsd:enumeration value="ECCN"/>
-            <xsd:enumeration value="EducationalInstitutionIdentificationNumber"/>
-            <xsd:enumeration value="ElectionDistrict"/>
-            <xsd:enumeration value="ElectronicDataInterchangeAgreementNumber"/>
-            <xsd:enumeration value="Electronicdevicepinnumber"/>
-            <xsd:enumeration value="ElectronicFundsTransferIDNumber"/>
-            <xsd:enumeration value="ElectronicPaymentReferenceNumber"/>
-            <xsd:enumeration value="Elevation"/>
-            <xsd:enumeration value="EmbargoNumber"/>
-            <xsd:enumeration value="EmbargoPermitNumber"/>
-            <xsd:enumeration value="EmergencyOrderNumber"/>
-            <xsd:enumeration value="EmissionDesignator"/>
-            <xsd:enumeration value="EmployeeOrNonEmployeeClassificationQualifier"/>
-            <xsd:enumeration value="EmployeeIdentificationNumber"/>
-            <xsd:enumeration value="EmployeeTaxFilingStatusCode"/>
-            <xsd:enumeration value="EmployerIdentificationNumberOfServiceBureau"/>
-            <xsd:enumeration value="EmployersIdentificationNumber"/>
-            <xsd:enumeration value="EmployersSocialSecurityNumber"/>
-            <xsd:enumeration value="EmploymentVisa"/>
-            <xsd:enumeration value="EmptyContainerBillNumber"/>
-            <xsd:enumeration value="EmptyRepositioningNumber"/>
-            <xsd:enumeration value="EndingJobSequenceNumber"/>
-            <xsd:enumeration value="EndingKanbanSerialNumber"/>
-            <xsd:enumeration value="EndingMeterReadingActual"/>
-            <xsd:enumeration value="EndingMeterReadingEstimated"/>
-            <xsd:enumeration value="EndingPackageNumber"/>
-            <xsd:enumeration value="EndingSerialNumber"/>
-            <xsd:enumeration value="EndItem"/>
-            <xsd:enumeration value="EndItemNumber"/>
-            <xsd:enumeration value="EndMileMarker"/>
-            <xsd:enumeration value="EndorsementNumber"/>
-            <xsd:enumeration value="EndUseAuthorizationNumber"/>
-            <xsd:enumeration value="EndUseNumber"/>
-            <xsd:enumeration value="EndUsersPurchaseOrderNumber"/>
-            <xsd:enumeration value="EngineeringChangeOrder"/>
-            <xsd:enumeration value="EngineeringChangeProposal"/>
-            <xsd:enumeration value="EngineeringDataList"/>
-            <xsd:enumeration value="EngineeringSpecificationNumber"/>
-            <xsd:enumeration value="EnquiryNumber"/>
-            <xsd:enumeration value="EntryPointAssessmentLogNumber"/>
-            <xsd:enumeration value="EntryPointAssessmentLogNumberChildDmr"/>
-            <xsd:enumeration value="EntryPointAssessmentLogNumberParentDmr"/>
-            <xsd:enumeration value="EnvironmentalProtectionAgencyAcquisitionRegulation"/>
-            <xsd:enumeration value="EnvironmentalProtectionAgencyTestTypePurposeCode"/>
-            <xsd:enumeration value="EnvironmentalProtectionAgencyTransporterIdentificationNumber"/>
-            <xsd:enumeration value="EquipmentInitial"/>
-            <xsd:enumeration value="EquipmentNumber"/>
-            <xsd:enumeration value="EquipmentOwnerReferenceNumber"/>
-            <xsd:enumeration value="EquipmentSequenceNumber"/>
-            <xsd:enumeration value="EquipmentTransportChargeNumber"/>
-            <xsd:enumeration value="EquivalentCourseNumberatRequestingInstitution"/>
-            <xsd:enumeration value="ErrorIdentificationCode"/>
-            <xsd:enumeration value="EscrowFileNumber"/>
-            <xsd:enumeration value="EstimateNumber"/>
-            <xsd:enumeration value="EstimateOrderReferenceNumber"/>
-            <xsd:enumeration value="EstimateSequenceNumber"/>
-            <xsd:enumeration value="EtermsReference"/>
-            <xsd:enumeration value="Eur1CertificateNumber"/>
-            <xsd:enumeration value="EventReferenceNumber"/>
-            <xsd:enumeration value="ExcessTransportationNumber"/>
-            <xsd:enumeration value="ExhibitDistributionList"/>
-            <xsd:enumeration value="ExhibitIdentifier"/>
-            <xsd:enumeration value="ExpansiononEffectofChangeNumber"/>
-            <xsd:enumeration value="ExportClearanceInstructionReferenceNumber"/>
-            <xsd:enumeration value="ExportDeclaration"/>
-            <xsd:enumeration value="ExportersReferenceNumber"/>
-            <xsd:enumeration value="ExportEstablishmentNumber"/>
-            <xsd:enumeration value="ExportLicenceNumber"/>
-            <xsd:enumeration value="ExportPermitNumber"/>
-            <xsd:enumeration value="ExportReferenceNumber"/>
-            <xsd:enumeration value="ExtendedOrExhibitLineItemNumber"/>
-            <xsd:enumeration value="FacilityCertificationNumber"/>
-            <xsd:enumeration value="FacilityIDNumber"/>
-            <xsd:enumeration value="FacilityMeasurementPointNumber"/>
-            <xsd:enumeration value="FacilityNetworkIdentificationNumber"/>
-            <xsd:enumeration value="FailureAnalysisReportNumber"/>
-            <xsd:enumeration value="Failuremechanismnumber"/>
-            <xsd:enumeration value="FamilyMemberIdentification"/>
-            <xsd:enumeration value="FamilyUnitNumber"/>
-            <xsd:enumeration value="FannieMaeSellerServicerNumber"/>
-            <xsd:enumeration value="FederalAcquisitionRegulations"/>
-            <xsd:enumeration value="FederalBureauOfInvestigationIndividualIdentification"/>
-            <xsd:enumeration value="FederalCommunicationsCommissionConditionCode"/>
-            <xsd:enumeration value="FederalCommunicationsCommissionIdentifier"/>
-            <xsd:enumeration value="FederalCommunicationsCommissionTradeOrBrandIdentifier"/>
-            <xsd:enumeration value="FederalEnergyRegulatoryCommissionCertificateOfPublicConvenience"/>
-            <xsd:enumeration value="FHLMCD"/>
-            <xsd:enumeration value="FederalHomeLoanMortgageCorporationLoanNumber"/>
-            <xsd:enumeration value="FederalHousingAdministrationCaseNumber"/>
-            <xsd:enumeration value="CHUMS"/>
-            <xsd:enumeration value="FederalHousingAdministrationOriginatorIdentification"/>
-            <xsd:enumeration value="FederalInformationResourcesManagementRegulation"/>
-            <xsd:enumeration value="FederalMaritimeCommissionForwardersNumber"/>
-            <xsd:enumeration value="FederalMaritimeCommissionTariffNumber"/>
-            <xsd:enumeration value="FederalNationalMortgageAssociationLoanNumber"/>
-            <xsd:enumeration value="FederalRegulation"/>
-            <xsd:enumeration value="FederalSupplyClassificationCode"/>
-            <xsd:enumeration value="FederalSupplyScheduleItemNumber"/>
-            <xsd:enumeration value="FederalSupplyScheduleNumber"/>
-            <xsd:enumeration value="FederalTaxpayersIdentificationNumber"/>
-            <xsd:enumeration value="FederalWireTransfer"/>
-            <xsd:enumeration value="FEDWIREConfirmationNumber"/>
-            <xsd:enumeration value="FeeScheduleIdentifier"/>
-            <xsd:enumeration value="Field"/>
-            <xsd:enumeration value="FileConversionJournal"/>
-            <xsd:enumeration value="FileIdentificationNumber"/>
-            <xsd:enumeration value="FileIdentifier"/>
-            <xsd:enumeration value="FileLineIdentifier"/>
-            <xsd:enumeration value="FilerCodeIssuedbyBureauOfCensus"/>
-            <xsd:enumeration value="FilerCodeIssuedByCustoms"/>
-            <xsd:enumeration value="FileTransferFormNumber"/>
-            <xsd:enumeration value="FileTransferProtocolLocator"/>
-            <xsd:enumeration value="FileVersionNumber"/>
-            <xsd:enumeration value="FilmNumber"/>
-            <xsd:enumeration value="FinalSequenceNumber"/>
-            <xsd:enumeration value="FinalWorkCandidateNumber"/>
-            <xsd:enumeration value="FinancialClassificationCode"/>
-            <xsd:enumeration value="FinancialDetailCode"/>
-            <xsd:enumeration value="FinancialManagementReference"/>
-            <xsd:enumeration value="FinancialPhaseReference"/>
-            <xsd:enumeration value="FinancialSettlementPartysReferenceNumber"/>
-            <xsd:enumeration value="FinancialTransactionReferenceNumber"/>
-            <xsd:enumeration value="FinderNumber"/>
-            <xsd:enumeration value="FineLineClassification"/>
-            <xsd:enumeration value="FinishLotNumber"/>
-            <xsd:enumeration value="FirstTransferNumber"/>
-            <xsd:enumeration value="FiscalCode"/>
-            <xsd:enumeration value="FiscalNumber"/>
-            <xsd:enumeration value="FleetReferenceNumber"/>
-            <xsd:enumeration value="FlexibleSpendingAccountInsuranceAccountNumber"/>
-            <xsd:enumeration value="FlexibleSpendingAccountInsurancePolicyNumber"/>
-            <xsd:enumeration value="FloodDataIdentifier"/>
-            <xsd:enumeration value="FloodZone"/>
-            <xsd:enumeration value="FloorNumber"/>
-            <xsd:enumeration value="FloorPlanApprovalNumber"/>
-            <xsd:enumeration value="FlowReferenceNumber"/>
-            <xsd:enumeration value="FolderNumber"/>
-            <xsd:enumeration value="FoodAndDrugAdministrationAccessionNumber"/>
-            <xsd:enumeration value="FoodAndDrugAdministrationProductCode"/>
-            <xsd:enumeration value="FoodAndDrugAdministrationProductType"/>
-            <xsd:enumeration value="ForeclosingStatus"/>
-            <xsd:enumeration value="ForeclosureAccountNumber"/>
-            <xsd:enumeration value="ForeignExchange"/>
-            <xsd:enumeration value="ForeignExchangeContractNumber"/>
-            <xsd:enumeration value="ForeignMilitarySalesCaseNumber"/>
-            <xsd:enumeration value="ForeignMilitarySalesNoticeNumber"/>
-            <xsd:enumeration value="ForeignMilitarySalesNumber"/>
-            <xsd:enumeration value="ForeignTradeZone"/>
-            <xsd:enumeration value="ForestryPermitNumber"/>
-            <xsd:enumeration value="FormalStatementReference"/>
-            <xsd:enumeration value="Formation"/>
-            <xsd:enumeration value="FormationIdentifier"/>
-            <xsd:enumeration value="FormNumber"/>
-            <xsd:enumeration value="ForPickupLimitedFreightTariffNumber"/>
-            <xsd:enumeration value="ForwardersOrAgentsReferenceNumber"/>
-            <xsd:enumeration value="ForwardingOrderNumber"/>
-            <xsd:enumeration value="Frame"/>
-            <xsd:enumeration value="FranchiseTaxAccountNumber"/>
-            <xsd:enumeration value="FreddieMacSellerServicerNumber"/>
-            <xsd:enumeration value="FreeZoneIdentifier"/>
-            <xsd:enumeration value="FreightBillNumber"/>
-            <xsd:enumeration value="FreightForwarderNumber"/>
-            <xsd:enumeration value="FreightForwardersReferenceNumber"/>
-            <xsd:enumeration value="FreightPayorReferenceNumber"/>
-            <xsd:enumeration value="FullTimeOrPartTimeEmployeeClassificationQualifier"/>
-            <xsd:enumeration value="FunctionalCategory"/>
-            <xsd:enumeration value="FunctionalWorkGroup"/>
-            <xsd:enumeration value="FundCodeNumber"/>
-            <xsd:enumeration value="FundIdentificationNumber"/>
-            <xsd:enumeration value="FundManagersReferenceNumber"/>
-            <xsd:enumeration value="FundsAuthorization"/>
-            <xsd:enumeration value="GasAnalysisSourceMeterNumber"/>
-            <xsd:enumeration value="GasCustodianIdentification"/>
-            <xsd:enumeration value="GaugeTicketNumber"/>
-            <xsd:enumeration value="GeneralAgencyNumber"/>
-            <xsd:enumeration value="GeneralCargoConsignmentReferenceNumber"/>
-            <xsd:enumeration value="GeneralDeclarationNumber"/>
-            <xsd:enumeration value="GeneralLedgerAccount"/>
-            <xsd:enumeration value="GeneralOrderNumber"/>
-            <xsd:enumeration value="GeneralPurposeMessageReferenceNumber"/>
-            <xsd:enumeration value="GeneralServicesAdministrationRegulations"/>
-            <xsd:enumeration value="GeographicDestinationZoneNumber"/>
-            <xsd:enumeration value="GeographicIndex"/>
-            <xsd:enumeration value="GeographicKey"/>
-            <xsd:enumeration value="GeographicNumber"/>
-            <xsd:enumeration value="GeographicScore"/>
-            <xsd:enumeration value="GinnieMaePoolPackageNumber"/>
-            <xsd:enumeration value="GoodsAndServicesTaxIdentificationNumber"/>
-            <xsd:enumeration value="GoodsandServiceTaxRegistrationNumber"/>
-            <xsd:enumeration value="GoodsDeclarationNumber"/>
-            <xsd:enumeration value="GoverningClassCode"/>
-            <xsd:enumeration value="GovernmentAccountingClassReferenceNumber"/>
-            <xsd:enumeration value="GovernmentAdvanceProgress"/>
-            <xsd:enumeration value="GovernmentAgencyReferenceNumber"/>
-            <xsd:enumeration value="GovernmentBillOfLading"/>
-            <xsd:enumeration value="GovernmentBillofLadingOfficeCode"/>
-            <xsd:enumeration value="GovernmentContractNumber"/>
-            <xsd:enumeration value="GovernmentPriorityNumber"/>
-            <xsd:enumeration value="GovernmentQualityAssuranceAndControlLevelNumber"/>
-            <xsd:enumeration value="GovernmentReferenceNumber"/>
-            <xsd:enumeration value="GovernmentRegistrationNumber"/>
-            <xsd:enumeration value="GovernmentTransportationRequest"/>
-            <xsd:enumeration value="GrainBlockNumber"/>
-            <xsd:enumeration value="GrainOrderReferenceNumber"/>
-            <xsd:enumeration value="GravitySourceMeterNumber"/>
-            <xsd:enumeration value="GreenCard"/>
-            <xsd:enumeration value="GroupAccounting"/>
-            <xsd:enumeration value="GroupNumber"/>
-            <xsd:enumeration value="GroupOrPolicyNumber"/>
-            <xsd:enumeration value="GroupWorkCandidateSequenceNumber"/>
-            <xsd:enumeration value="GrowthFactorReference"/>
-            <xsd:enumeration value="GuarantorLoanNumber"/>
-            <xsd:enumeration value="GuarantorUse"/>
-            <xsd:enumeration value="HarmonisedSystemNumber"/>
-            <xsd:enumeration value="HarmonizedCodeSystem"/>
-            <xsd:enumeration value="HasteningNumber"/>
-            <xsd:enumeration value="HazardousCertificationNumber"/>
-            <xsd:enumeration value="HazardousExemptionNumber"/>
-            <xsd:enumeration value="HazardousWasteManifestDocumentNumber"/>
-            <xsd:enumeration value="HealthCareFinancingAdministrationNationalPayerIdentificationNumber"/>
-            <xsd:enumeration value="HealthCareFinancingAdministrationNationalProviderIdentifier"/>
-            <xsd:enumeration value="HealthcareManpowerShortageAreaFacilityIdentificationNumber"/>
-            <xsd:enumeration value="HealthCertificateNumber"/>
-            <xsd:enumeration value="HIBCCLabelerIdentificationCode"/>
-            <xsd:enumeration value="HealthIndustryNumber"/>
-            <xsd:enumeration value="HealthInsuranceAccountNumber"/>
-            <xsd:enumeration value="HealthInsuranceClaimNumber"/>
-            <xsd:enumeration value="HealthInsurancePolicyNumber"/>
-            <xsd:enumeration value="HealthInsuranceRatingAccountNumber"/>
-            <xsd:enumeration value="HealthInsuranceRatingSuffixCode"/>
-            <xsd:enumeration value="HealthMaintenanceOrganizationReferenceNumber"/>
-            <xsd:enumeration value="HealthMaintenanceOrganizationAuthorizationNumber"/>
-            <xsd:enumeration value="HealthMaintenanceOrganizationCodeNumber"/>
-            <xsd:enumeration value="HeatCode"/>
-            <xsd:enumeration value="HighOrWideFileNumber"/>
-            <xsd:enumeration value="HighFabricationAuthorizationNumber"/>
-            <xsd:enumeration value="HighRawMaterialAuthorizationNumber"/>
-            <xsd:enumeration value="HomeMortgageDisclosureActCensusTract"/>
-            <xsd:enumeration value="HomeMortgageDisclosureActBlockNumberArea"/>
-            <xsd:enumeration value="HomeMortgageDisclosureActCountyCode"/>
-            <xsd:enumeration value="HomeMortgageDisclosureActMetropolitanStatisticalArea"/>
-            <xsd:enumeration value="HomeMortgageDisclosureActStateCode"/>
-            <xsd:enumeration value="HorizontalCoordinate"/>
-            <xsd:enumeration value="Horsepower"/>
-            <xsd:enumeration value="HotRollNumber"/>
-            <xsd:enumeration value="HouseBillOfLadingNumber"/>
-            <xsd:enumeration value="HouseWaybillNumber"/>
-            <xsd:enumeration value="IataCargoAgentCassAddressNumber"/>
-            <xsd:enumeration value="IataCargoAgentCodeNumber"/>
-            <xsd:enumeration value="ICD9CM"/>
-            <xsd:enumeration value="IdentificationCardSerialNumber"/>
-            <xsd:enumeration value="IdentityCardNumber"/>
-            <xsd:enumeration value="ImageIdentifier"/>
-            <xsd:enumeration value="ImmediateExportationNoForInBondMovement"/>
-            <xsd:enumeration value="ImmediateTransportationNoForInBondMovement"/>
-            <xsd:enumeration value="ImplementationVersionNumber"/>
-            <xsd:enumeration value="ImportClearanceInstructionReferenceNumber"/>
-            <xsd:enumeration value="ImporterReferenceNumber"/>
-            <xsd:enumeration value="ImportersReferenceNumberToLetterOfCredit"/>
-            <xsd:enumeration value="ImportLicenceNumber"/>
-            <xsd:enumeration value="ImportPermitNumber"/>
-            <xsd:enumeration value="ImputationAccount"/>
-            <xsd:enumeration value="InBondNumber"/>
-            <xsd:enumeration value="InboundToOrOutboundFromParty"/>
-            <xsd:enumeration value="InboundToParty"/>
-            <xsd:enumeration value="Incident"/>
-            <xsd:enumeration value="IncorporatedLegalReference"/>
-            <xsd:enumeration value="IndividualTransactionReferenceNumber"/>
-            <xsd:enumeration value="InitialDealerClaimNumber"/>
-            <xsd:enumeration value="InitialFailureClaim"/>
-            <xsd:enumeration value="InitialSampleInspectionReportNumber"/>
-            <xsd:enumeration value="InitialTroubleIndication"/>
-            <xsd:enumeration value="InlandTransportOrderNumber"/>
-            <xsd:enumeration value="InquiryRequestNumber"/>
-            <xsd:enumeration value="InspectionandSurveySequenceNumber"/>
-            <xsd:enumeration value="InspectionReportNumber"/>
-            <xsd:enumeration value="InspectorIdentificationNumber"/>
-            <xsd:enumeration value="InstituteOfSecurityAndFutureMarketDevelopmentSerialNumber"/>
-            <xsd:enumeration value="InstitutionLoanNumber"/>
-            <xsd:enumeration value="InstitutionNoteHolderIdentification"/>
-            <xsd:enumeration value="InstitutionNumber"/>
-            <xsd:enumeration value="InsuranceCertificateNumber"/>
-            <xsd:enumeration value="InsuranceCertificateReferenceNumber"/>
-            <xsd:enumeration value="InsuranceContractReferenceNumber"/>
-            <xsd:enumeration value="InsuranceLicenseNumber"/>
-            <xsd:enumeration value="InsurancePolicyNumber"/>
-            <xsd:enumeration value="InsuredLocationIdentifier"/>
-            <xsd:enumeration value="InsuredParcelPostNumber"/>
-            <xsd:enumeration value="InsuredsLoanNumber"/>
-            <xsd:enumeration value="InsurerAssignedReferenceNumber"/>
-            <xsd:enumeration value="InsurorPoolIdentificationNumber"/>
-            <xsd:enumeration value="IntegratedLogisticSupportCrossReferenceNumber"/>
-            <xsd:enumeration value="IntegratedMasterPlan"/>
-            <xsd:enumeration value="IntegratedMasterSchedule"/>
-            <xsd:enumeration value="InterchangeAgreementNumber"/>
-            <xsd:enumeration value="InterchangeNumberNew"/>
-            <xsd:enumeration value="InterchangeNumberOld"/>
-            <xsd:enumeration value="InterchangeTrainIdentification"/>
-            <xsd:enumeration value="IntergovernmentalMaritimeOrganizationNumber"/>
-            <xsd:enumeration value="InterimFundingOrganizationLoanNumber"/>
-            <xsd:enumeration value="IntermediaryBroker"/>
-            <xsd:enumeration value="InternalControlNumber"/>
-            <xsd:enumeration value="InternalCustomerNumber"/>
-            <xsd:enumeration value="InternalDataProcessNumber"/>
-            <xsd:enumeration value="InternalOrderNumber"/>
-            <xsd:enumeration value="InternalPurchaseOrderItemNumber"/>
-            <xsd:enumeration value="InternalPurchaseOrderReleaseNumber"/>
-            <xsd:enumeration value="InternalVendorNumber"/>
-            <xsd:enumeration value="InternationalAssessmentLogNumber"/>
-            <xsd:enumeration value="InternationalAssessmentLogNumberChildDataMaintenance"/>
-            <xsd:enumeration value="InternationalAssessmentLogNumberParentDataMaintenance"/>
-            <xsd:enumeration value="InternationalFlightNumber"/>
-            <xsd:enumeration value="InternationalFuelTaxAgreementAccountNumber"/>
-            <xsd:enumeration value="InternationalRegistrationPlanAccountNumber"/>
-            <xsd:enumeration value="InternationalRegistrationPlanStickerNumber"/>
-            <xsd:enumeration value="InternationalStandardIndustrialClassificationDominionOfCanadaCode"/>
-            <xsd:enumeration value="InternationalStandardIndustryClassificationCode"/>
-            <xsd:enumeration value="InterstateCommerceCommissionAccountNumber"/>
-            <xsd:enumeration value="InterviewerID"/>
-            <xsd:enumeration value="IntraPlantRouting"/>
-            <xsd:enumeration value="InventoryReportReferenceNumber"/>
-            <xsd:enumeration value="InvestigatorialNewDrugNumber"/>
-            <xsd:enumeration value="InvestmentReferenceNumber"/>
-            <xsd:enumeration value="Investor"/>
-            <xsd:enumeration value="InvestorAssignedIdentificationNumber"/>
-            <xsd:enumeration value="InvestorLoanNumber"/>
-            <xsd:enumeration value="InvestorNoteHolderIdentification"/>
-            <xsd:enumeration value="InvoiceIdentification"/>
-            <xsd:enumeration value="InvoiceNumber"/>
-            <xsd:enumeration value="InvoiceNumberSuffix"/>
-            <xsd:enumeration value="InvoicingDataSheetReferenceNumber"/>
-            <xsd:enumeration value="IronChargeNumber"/>
-            <xsd:enumeration value="ISFMD"/>
-            <xsd:enumeration value="IssueNumber"/>
-            <xsd:enumeration value="IssuerNumber"/>
-            <xsd:enumeration value="IssuingBanksReference"/>
-            <xsd:enumeration value="ItemNumber"/>
-            <xsd:enumeration value="JobOrProjectNumber"/>
-            <xsd:enumeration value="JobOrderNumber"/>
-            <xsd:enumeration value="JobSequenceNumber"/>
-            <xsd:enumeration value="JointCreditSpecificationNumber"/>
-            <xsd:enumeration value="JointlyAdministeredCase"/>
-            <xsd:enumeration value="JointVentureReferenceNumber"/>
-            <xsd:enumeration value="Judge"/>
-            <xsd:enumeration value="JudgmentNumber"/>
-            <xsd:enumeration value="JudicialDistrict"/>
-            <xsd:enumeration value="JudicialNumber"/>
-            <xsd:enumeration value="JurisdictionalCommunityNameIdentifier"/>
-            <xsd:enumeration value="JurisdictionalCommunityNumber"/>
-            <xsd:enumeration value="LaboratoryNumber"/>
-            <xsd:enumeration value="LaboratoryRegistrationNumber"/>
-            <xsd:enumeration value="LaborOperationNumber"/>
-            <xsd:enumeration value="LabororAffiliationIdentification"/>
-            <xsd:enumeration value="LaneNumber"/>
-            <xsd:enumeration value="LastTransferNumber"/>
-            <xsd:enumeration value="LatitudeExpressedinDegreesMinutesandSeconds"/>
-            <xsd:enumeration value="LatitudeExpressedinSeconds"/>
-            <xsd:enumeration value="LeadCase"/>
-            <xsd:enumeration value="LeaseAgreementAmendmentNumberMaster"/>
-            <xsd:enumeration value="LeaseContractReference"/>
-            <xsd:enumeration value="LeaseNumber"/>
-            <xsd:enumeration value="LeaseRiderNumber"/>
-            <xsd:enumeration value="LeaseScheduleNumber"/>
-            <xsd:enumeration value="LeaseScheduleNumberBlanket"/>
-            <xsd:enumeration value="LeaseScheduleNumberPrior"/>
-            <xsd:enumeration value="LeaseScheduleNumberReplacement"/>
-            <xsd:enumeration value="LenderAccountNumber"/>
-            <xsd:enumeration value="LenderCaseNumber"/>
-            <xsd:enumeration value="LenderEntityNumber"/>
-            <xsd:enumeration value="LenderUse"/>
-            <xsd:enumeration value="LesseeBillCodeNumber"/>
-            <xsd:enumeration value="LesseeIdentification"/>
-            <xsd:enumeration value="LetterofCreditDraftNumber"/>
-            <xsd:enumeration value="LetterOfCreditNumber"/>
-            <xsd:enumeration value="LetterofCreditNumber"/>
-            <xsd:enumeration value="LettersorNotes"/>
-            <xsd:enumeration value="LevyingOfficerIdentification"/>
-            <xsd:enumeration value="LicensePlateNumber"/>
-            <xsd:enumeration value="LifeInsuranceBillingAccountNumber"/>
-            <xsd:enumeration value="LifeInsuranceBillingSuffixCode"/>
-            <xsd:enumeration value="LifeInsurancePolicyNumber"/>
-            <xsd:enumeration value="LimitedPartnershipIdentificationNumber"/>
-            <xsd:enumeration value="LineItemControlNumber"/>
-            <xsd:enumeration value="LineItemIdentifier"/>
-            <xsd:enumeration value="LineItemReferenceNumber"/>
-            <xsd:enumeration value="LineofBusiness"/>
-            <xsd:enumeration value="LineOfCreditCategory"/>
-            <xsd:enumeration value="LinkSequenceNumber"/>
-            <xsd:enumeration value="ListBillNumber"/>
-            <xsd:enumeration value="ListOfMaterials"/>
-            <xsd:enumeration value="LloydsClaimsOfficeReference"/>
-            <xsd:enumeration value="LoadingAuthorizationNumber"/>
-            <xsd:enumeration value="LoadLineCertificate"/>
-            <xsd:enumeration value="LoadPlanningNumber"/>
-            <xsd:enumeration value="LoanAcquisitionNumber"/>
-            <xsd:enumeration value="LoanFeatureCode"/>
-            <xsd:enumeration value="LoanNumber"/>
-            <xsd:enumeration value="LoanProspectorKeyNumber"/>
-            <xsd:enumeration value="LoanRequestNumber"/>
-            <xsd:enumeration value="LoanType"/>
-            <xsd:enumeration value="LocalJurisdiction"/>
-            <xsd:enumeration value="LocallyAssignedControlNumber"/>
-            <xsd:enumeration value="LocalMediaIdentifier"/>
-            <xsd:enumeration value="LocalSchoolCourseNumber"/>
-            <xsd:enumeration value="LocalSchoolDistrictCourseNumber"/>
-            <xsd:enumeration value="LocalStudentIdentificationNumber"/>
-            <xsd:enumeration value="LocationExceptionOrderNumber"/>
-            <xsd:enumeration value="LocationNumber"/>
-            <xsd:enumeration value="LocationonProductCode"/>
-            <xsd:enumeration value="LocationSpecificServicesReferenceNumber"/>
-            <xsd:enumeration value="LocationWithinEquipment"/>
-            <xsd:enumeration value="Lockbox"/>
-            <xsd:enumeration value="Log"/>
-            <xsd:enumeration value="LogicalObservationIdentifierNamesandCodes"/>
-            <xsd:enumeration value="LogisticsSupportDocumentationTypeCode"/>
-            <xsd:enumeration value="LongitudeExpressedInDegreesMinutesandSeconds"/>
-            <xsd:enumeration value="LongitudeExpressedinSeconds"/>
-            <xsd:enumeration value="LongTermDisabilityPolicyNumber"/>
-            <xsd:enumeration value="LossOrEventNumber"/>
-            <xsd:enumeration value="LossReportNumber"/>
-            <xsd:enumeration value="LotNumber"/>
-            <xsd:enumeration value="LowerArticleNumberOfRange"/>
-            <xsd:enumeration value="MagazineCode"/>
-            <xsd:enumeration value="Mailbox"/>
-            <xsd:enumeration value="MailingReferenceNumber"/>
-            <xsd:enumeration value="MailSlot"/>
-            <xsd:enumeration value="MaintenanceAvailabilityType"/>
-            <xsd:enumeration value="MaintenanceRequestNumber"/>
-            <xsd:enumeration value="MajorForceProgramNumber"/>
-            <xsd:enumeration value="MajorSystemAffectedCode"/>
-            <xsd:enumeration value="MakegoodCommercialLineNumber"/>
-            <xsd:enumeration value="MammographyCertificationNumber"/>
-            <xsd:enumeration value="ManagedCareOrganizationCode"/>
-            <xsd:enumeration value="ManagedCareOrganizationIdentificationNumber"/>
-            <xsd:enumeration value="ManifestKeyNumber"/>
-            <xsd:enumeration value="ManualProcessingAuthorityNumber"/>
-            <xsd:enumeration value="ManufacturerDefinedRepairRatesReference"/>
-            <xsd:enumeration value="ManufacturerNumber"/>
-            <xsd:enumeration value="ManufacturersMaterialSafetyDataSheetNumber"/>
-            <xsd:enumeration value="ManufacturersPartNumber"/>
-            <xsd:enumeration value="ManufacturingDirectiveNumber"/>
-            <xsd:enumeration value="ManufacturingOperationNumber"/>
-            <xsd:enumeration value="ManufacturingOrderNumber"/>
-            <xsd:enumeration value="MapNumber"/>
-            <xsd:enumeration value="MapReference"/>
-            <xsd:enumeration value="MaritimeDeclarationofHealth"/>
-            <xsd:enumeration value="MarketArea"/>
-            <xsd:enumeration value="MarkingOrLabelReference"/>
-            <xsd:enumeration value="MasterAccountNumber"/>
-            <xsd:enumeration value="MasterAirWaybillNumber"/>
-            <xsd:enumeration value="MasterBillOfLadingNumber"/>
-            <xsd:enumeration value="MasterContract"/>
-            <xsd:enumeration value="MasterLabelNumber"/>
-            <xsd:enumeration value="MasterLeaseAgreementNumber"/>
-            <xsd:enumeration value="MasterPolicyNumber"/>
-            <xsd:enumeration value="MasterPropertyNumber"/>
-            <xsd:enumeration value="MasterReferenceNumber"/>
-            <xsd:enumeration value="MasterSolicitationProceduresTermsAndConditionsNumber"/>
-            <xsd:enumeration value="MaterialChangeNoticeNumber"/>
-            <xsd:enumeration value="MaterialStorageLocation"/>
-            <xsd:enumeration value="MaturedCertificateOfDeposit"/>
-            <xsd:enumeration value="MeatProcessingEstablishmentRegistrationNumber"/>
-            <xsd:enumeration value="MedicaidProviderNumber"/>
-            <xsd:enumeration value="MedicaidRecipientIdentificationNumber"/>
-            <xsd:enumeration value="MedicalAssistanceCategory"/>
-            <xsd:enumeration value="MedicalRecordIdentificationNumber"/>
-            <xsd:enumeration value="MedicareProviderNumber"/>
-            <xsd:enumeration value="MedicareVersionCode"/>
-            <xsd:enumeration value="MemberIdentificationNumber"/>
-            <xsd:enumeration value="MemberNumber"/>
-            <xsd:enumeration value="MerchandiseTypeCode"/>
-            <xsd:enumeration value="MerchantCategoryCode"/>
-            <xsd:enumeration value="MessageAddressorID"/>
-            <xsd:enumeration value="MessageBatchNumber"/>
-            <xsd:enumeration value="MessageDesignGroupNumber"/>
-            <xsd:enumeration value="MessageRecipient"/>
-            <xsd:enumeration value="MessageSender"/>
-            <xsd:enumeration value="MeterNumber"/>
-            <xsd:enumeration value="MeterProvingReportNumber"/>
-            <xsd:enumeration value="MeterReadingAtTheBeginningOfTheDelivery"/>
-            <xsd:enumeration value="MeterReadingAtTheEndOfDelivery"/>
-            <xsd:enumeration value="MeterTicketNumber"/>
-            <xsd:enumeration value="MeterUnitNumber"/>
-            <xsd:enumeration value="MICRNumber"/>
-            <xsd:enumeration value="MicrofilmNumber"/>
-            <xsd:enumeration value="MigrantNumber"/>
-            <xsd:enumeration value="Milestone"/>
-            <xsd:enumeration value="MilitaryCallNumber"/>
-            <xsd:enumeration value="MilitaryID"/>
-            <xsd:enumeration value="MilitaryInterdepartmentalPurchaseRequestNumber"/>
-            <xsd:enumeration value="MilitaryOrdnanceSecurityRiskNumber"/>
-            <xsd:enumeration value="MilitaryRankOrCivilianPayGradeNumber"/>
-            <xsd:enumeration value="MilitarySpecificationNumber"/>
-            <xsd:enumeration value="MilitaryStandardNumber"/>
-            <xsd:enumeration value="MillinginTransit"/>
-            <xsd:enumeration value="MillOrderNumber"/>
-            <xsd:enumeration value="MinimumRoyaltyPayorIdentification"/>
-            <xsd:enumeration value="MinisterialCertificateOfHomologation"/>
-            <xsd:enumeration value="Model"/>
-            <xsd:enumeration value="ModelNumber"/>
-            <xsd:enumeration value="Modelyearnumber"/>
-            <xsd:enumeration value="MORNETPlusCaseNumber"/>
-            <xsd:enumeration value="MORNETPlusInstitutionNumber"/>
-            <xsd:enumeration value="MORNETPlusUserIdentification"/>
-            <xsd:enumeration value="MortgageBackedSecurityLoanNumber"/>
-            <xsd:enumeration value="MortgageBackedSecurityPoolNumber"/>
-            <xsd:enumeration value="MortgageElectronicRegistrationSystemOrganizationIdentifier"/>
-            <xsd:enumeration value="MortgageeLoanNumber"/>
-            <xsd:enumeration value="MortgageIdentificationNumber"/>
-            <xsd:enumeration value="MortgageInsuranceCompanyNumber"/>
-            <xsd:enumeration value="MortgageInsuranceIndicatorNumber"/>
-            <xsd:enumeration value="MortgageNumber"/>
-            <xsd:enumeration value="MotorCarrierIdentificationNumber"/>
-            <xsd:enumeration value="MotorFuelCertificateNumber"/>
-            <xsd:enumeration value="MotorVehicleIDNumber"/>
-            <xsd:enumeration value="MultifamilyProjectNumber"/>
-            <xsd:enumeration value="MultipleListingNumber"/>
-            <xsd:enumeration value="MultipleListingServiceArea"/>
-            <xsd:enumeration value="MultipleListingServiceBookType"/>
-            <xsd:enumeration value="MultipleListingServiceMapXCoordinate"/>
-            <xsd:enumeration value="MultipleListingServiceMapYCoordinate"/>
-            <xsd:enumeration value="MultipleListingServiceSubArea"/>
-            <xsd:enumeration value="MultiplePOOfAnInvoice"/>
-            <xsd:enumeration value="MultipleZoneOrderNumber"/>
-            <xsd:enumeration value="MunicipalityAssignedBusinessRegistryNumber"/>
-            <xsd:enumeration value="NACE"/>
-            <xsd:enumeration value="NAF"/>
-            <xsd:enumeration value="NamedBanksReference"/>
-            <xsd:enumeration value="NationalAeronauticsandSpaceAdministrationFARSupplement"/>
-            <xsd:enumeration value="NationalAssociationOfBoardsOfPharmacyNumber"/>
-            <xsd:enumeration value="NationalAssociationOfInsuranceCommissionersCode"/>
-            <xsd:enumeration value="NationalBusinessIdentificationNumber"/>
-            <xsd:enumeration value="NationalCriminalInformationCenterOriginatingAgencyIdentification"/>
-            <xsd:enumeration value="NationalFloodInsuranceProgramCommunityName"/>
-            <xsd:enumeration value="NationalFloodInsuranceProgramCommunityNumber"/>
-            <xsd:enumeration value="NationalFloodInsuranceProgramCounty"/>
-            <xsd:enumeration value="NationalFloodInsuranceProgramMapNumber"/>
-            <xsd:enumeration value="NationalFloodInsuranceProgramState"/>
-            <xsd:enumeration value="NationalGovernmentBusinessIdentificationNumber"/>
-            <xsd:enumeration value="NationalPropertyRegistrySystemLevel1"/>
-            <xsd:enumeration value="NationalPropertyRegistrySystemLevel2"/>
-            <xsd:enumeration value="NationalPropertyRegistrySystemLevel3"/>
-            <xsd:enumeration value="NationalStockNumber"/>
-            <xsd:enumeration value="NaturalGasPolicyActCategoryCode"/>
-            <xsd:enumeration value="NewDrugApplicationNumber"/>
-            <xsd:enumeration value="NewHealthInsuranceClaimNumber"/>
-            <xsd:enumeration value="NewPartNumber"/>
-            <xsd:enumeration value="NextRentalAgreementNumber"/>
-            <xsd:enumeration value="NextRentalAgreementReasonNumber"/>
-            <xsd:enumeration value="NextShipmentIdentificationNumberContinuousMove"/>
-            <xsd:enumeration value="NIT"/>
-            <xsd:enumeration value="NominationNumber"/>
-            <xsd:enumeration value="NonAmericanIdentificationNumber"/>
-            <xsd:enumeration value="NonConformanceReportNumber"/>
-            <xsd:enumeration value="NonNegotiableMaritimeTransportDocumentNumber"/>
-            <xsd:enumeration value="NonOriginatingThirdPartyNumber"/>
-            <xsd:enumeration value="NonPickupLimitedTariffNumber"/>
-            <xsd:enumeration value="NonProvisionalPatentApplicationNumber"/>
-            <xsd:enumeration value="NonSpouseTie"/>
-            <xsd:enumeration value="NoOT5AuthorityZeroMileageRate"/>
-            <xsd:enumeration value="NorthAmericanDatumStandard"/>
-            <xsd:enumeration value="NorthAmericanFreeTradeAgreementComplianceNumber"/>
-            <xsd:enumeration value="NorthAmericanHazardousClassificationNumber"/>
-            <xsd:enumeration value="NorthAmericanHazardousGoodsClassificationNumber"/>
-            <xsd:enumeration value="NorthAmericanIndustrialClassificationSystemCode"/>
-            <xsd:enumeration value="NOTICOL"/>
-            <xsd:enumeration value="NumberOfTemporaryImportationDocument"/>
-            <xsd:enumeration value="NumerodeCeduladeIdentidadNumber"/>
-            <xsd:enumeration value="NumerodeIdentificacionTributaria"/>
-            <xsd:enumeration value="ObjectIdentifier"/>
-            <xsd:enumeration value="OccupationalSafetyandHealthAdministrationClaimNumber"/>
-            <xsd:enumeration value="OccupationClassificationCode"/>
-            <xsd:enumeration value="OccupationCode"/>
-            <xsd:enumeration value="OceanBillofLading"/>
-            <xsd:enumeration value="OceanContainerNumber"/>
-            <xsd:enumeration value="OceanManifest"/>
-            <xsd:enumeration value="OffenderTracking"/>
-            <xsd:enumeration value="OffenseTracking"/>
-            <xsd:enumeration value="OfferGroup"/>
-            <xsd:enumeration value="OfferNumber"/>
-            <xsd:enumeration value="OfficeNumber"/>
-            <xsd:enumeration value="OfficerLicenseNumber"/>
-            <xsd:enumeration value="OfficeSymbol"/>
-            <xsd:enumeration value="OldAccountNumber"/>
-            <xsd:enumeration value="OldMeterNumber"/>
-            <xsd:enumeration value="OldPartNumber"/>
-            <xsd:enumeration value="OneCallAgencyTicketNumber"/>
-            <xsd:enumeration value="OnlineProcurementandAccountingControlTransaction"/>
-            <xsd:enumeration value="OpenandPrepaidStationListNumber"/>
-            <xsd:enumeration value="OperationNumber"/>
-            <xsd:enumeration value="OperatorAssignedUnitNumber"/>
-            <xsd:enumeration value="OperatorIdentificationNumber"/>
-            <xsd:enumeration value="OperatorLeaseNumber"/>
-            <xsd:enumeration value="OptionPolicyNumber"/>
-            <xsd:enumeration value="OrderOrParagraphNumber"/>
-            <xsd:enumeration value="OrderingCustomerConsignmentReferenceNumber"/>
-            <xsd:enumeration value="OrderingCustomersSecondReferenceNumber"/>
-            <xsd:enumeration value="OrderNumber"/>
-            <xsd:enumeration value="PurchaseOrderNumber"/>
-            <xsd:enumeration value="VendorOrderNumber"/>
-            <xsd:enumeration value="OrganizationBreakdownStructure"/>
-            <xsd:enumeration value="OriginalCertificateNumber"/>
-            <xsd:enumeration value="OriginalFdoTransactionReference"/>
-            <xsd:enumeration value="OriginalFiling"/>
-            <xsd:enumeration value="OriginalFilingNumber"/>
-            <xsd:enumeration value="OriginalInvoiceNumber"/>
-            <xsd:enumeration value="OriginalPurchaseOrder"/>
-            <xsd:enumeration value="OriginalReferenceNumber"/>
-            <xsd:enumeration value="OriginalReturnRequestReferenceNumber"/>
-            <xsd:enumeration value="OriginalShippersBillOfLadingNumber"/>
-            <xsd:enumeration value="OriginalSubmitterChildDataMaintenanceRequestLog"/>
-            <xsd:enumeration value="OriginalSubmitterLogNumber"/>
-            <xsd:enumeration value="OriginalSubmitterParentDataMaintenanceRequest"/>
-            <xsd:enumeration value="OriginalUniformCommercialCodeFilingNumber"/>
-            <xsd:enumeration value="OriginalVoucherNumber"/>
-            <xsd:enumeration value="OriginatingCase"/>
-            <xsd:enumeration value="OriginatingCompanyIdentifier"/>
-            <xsd:enumeration value="OriginatingDepositoryFinancialInstitutionIdentifier"/>
-            <xsd:enumeration value="OriginatorsReference"/>
-            <xsd:enumeration value="OriginHouse"/>
-            <xsd:enumeration value="OriginOfShipmentHarmonizedBasedCode"/>
-            <xsd:enumeration value="OT5AuthorityConditionOrRestrictiononCarHireRate"/>
-            <xsd:enumeration value="OtherUnlistedTypeOfReferenceNumber"/>
-            <xsd:enumeration value="OutboundFromParty"/>
-            <xsd:enumeration value="OuterContinentalShelfAreaCode"/>
-            <xsd:enumeration value="OuterContinentalShelfBlockNumber"/>
-            <xsd:enumeration value="OuterpackagingUnitIdentification"/>
-            <xsd:enumeration value="OutletNumber"/>
-            <xsd:enumeration value="OutofServiceNumber"/>
-            <xsd:enumeration value="OwningBureauIdentificationNumber"/>
-            <xsd:enumeration value="PackAndHoldInvoiceNumber"/>
-            <xsd:enumeration value="PackageNumber"/>
-            <xsd:enumeration value="PackagingGroupNumber"/>
-            <xsd:enumeration value="PackagingSpecificationNumber"/>
-            <xsd:enumeration value="PackagingUnitIdentification"/>
-            <xsd:enumeration value="PackerNumber"/>
-            <xsd:enumeration value="Packet"/>
-            <xsd:enumeration value="PackingGroupCode"/>
-            <xsd:enumeration value="PackingListNumber"/>
-            <xsd:enumeration value="PackingPlantNumber"/>
-            <xsd:enumeration value="PageNumber"/>
-            <xsd:enumeration value="Paragraph"/>
-            <xsd:enumeration value="ParagraphNumber"/>
-            <xsd:enumeration value="ParamedicalIDNumber"/>
-            <xsd:enumeration value="ParentFile"/>
-            <xsd:enumeration value="PartCausingRepairNumber"/>
-            <xsd:enumeration value="PartConsignmentNumber"/>
-            <xsd:enumeration value="PartialPaymentNumber"/>
-            <xsd:enumeration value="ParticipatingArea"/>
-            <xsd:enumeration value="PartInterchangeability"/>
-            <xsd:enumeration value="PartNumber"/>
-            <xsd:enumeration value="PartReferenceIndicatorInADrawing"/>
-            <xsd:enumeration value="PartyInformationMessageReference"/>
-            <xsd:enumeration value="PartySequenceNumber"/>
-            <xsd:enumeration value="Passport"/>
-            <xsd:enumeration value="PassportNumber"/>
-            <xsd:enumeration value="PatentCooperationTreatyApplicationNumber"/>
-            <xsd:enumeration value="PatentNumber"/>
-            <xsd:enumeration value="PatentType"/>
-            <xsd:enumeration value="PatientAccountNumber"/>
-            <xsd:enumeration value="PatronNumber"/>
-            <xsd:enumeration value="PayeeIdentification"/>
-            <xsd:enumeration value="PayeeLoanNumber"/>
-            <xsd:enumeration value="PayeesFinancialInstitutionAccountNumber"/>
-            <xsd:enumeration value="PayeesFinancialInstitutionTransitRoutingNo"/>
-            <xsd:enumeration value="PayeesReferenceNumber"/>
-            <xsd:enumeration value="PayerAssignedResubmissionReferenceNumber"/>
-            <xsd:enumeration value="PayerCategory"/>
-            <xsd:enumeration value="PayerIdentificationNumber"/>
-            <xsd:enumeration value="PayersFinancialInstitutionAccountNumber"/>
-            <xsd:enumeration value="PayersFinancialInstitutionTransitRoutingNo"/>
-            <xsd:enumeration value="PayersReferenceNumber"/>
-            <xsd:enumeration value="PayGrade"/>
-            <xsd:enumeration value="PaymentCategory"/>
-            <xsd:enumeration value="PaymentHistoryReferenceNumber"/>
-            <xsd:enumeration value="PaymentInAdvanceRequestReference"/>
-            <xsd:enumeration value="PaymentInstalmentReferenceNumber"/>
-            <xsd:enumeration value="PaymentLocation"/>
-            <xsd:enumeration value="PaymentOrderNumber"/>
-            <xsd:enumeration value="PaymentPlanReference"/>
-            <xsd:enumeration value="PaymentReference"/>
-            <xsd:enumeration value="PaymentValuationNumber"/>
-            <xsd:enumeration value="PayorsClaimNumber"/>
-            <xsd:enumeration value="PayrollAccountNumber"/>
-            <xsd:enumeration value="PayrollNumber"/>
-            <xsd:enumeration value="PcsCatastrophe"/>
-            <xsd:enumeration value="PeerReviewOrganizationApprovalNumber"/>
-            <xsd:enumeration value="PendingCase"/>
-            <xsd:enumeration value="PensionContract"/>
-            <xsd:enumeration value="PeriodicityCode"/>
-            <xsd:enumeration value="PermitNumber"/>
-            <xsd:enumeration value="PersonalIdentificationNumber"/>
-            <xsd:enumeration value="PersonalIdentityCardNumber"/>
-            <xsd:enumeration value="PersonalIDNumber"/>
-            <xsd:enumeration value="PetroleumPoolCode"/>
-            <xsd:enumeration value="PharmacyPrescriptionNumber"/>
-            <xsd:enumeration value="PhoneCalls"/>
-            <xsd:enumeration value="PhysicalInventoryRecountReferenceNumber"/>
-            <xsd:enumeration value="PickupReferenceNumber"/>
-            <xsd:enumeration value="PictureNumber"/>
-            <xsd:enumeration value="PictureOfActualProduct"/>
-            <xsd:enumeration value="PictureOfAGenericProduct"/>
-            <xsd:enumeration value="PierNumber"/>
-            <xsd:enumeration value="Piggyback"/>
-            <xsd:enumeration value="PilotLicenseNumber"/>
-            <xsd:enumeration value="PipelineNumber"/>
-            <xsd:enumeration value="PlanNetworkIdentificationNumber"/>
-            <xsd:enumeration value="PlanningPackage"/>
-            <xsd:enumeration value="PlanNumber"/>
-            <xsd:enumeration value="PlantNumber"/>
-            <xsd:enumeration value="PlateNumber"/>
-            <xsd:enumeration value="PlatformIdentificationNumber"/>
-            <xsd:enumeration value="PlotFile"/>
-            <xsd:enumeration value="PlugNumber"/>
-            <xsd:enumeration value="PolicyFormNumber"/>
-            <xsd:enumeration value="PolicyLinkNumber"/>
-            <xsd:enumeration value="PolicyNumber"/>
-            <xsd:enumeration value="PolicyType"/>
-            <xsd:enumeration value="Pollutant"/>
-            <xsd:enumeration value="PoolContractCode"/>
-            <xsd:enumeration value="PoolNumber"/>
-            <xsd:enumeration value="PoolSuffix"/>
-            <xsd:enumeration value="PositionCode"/>
-            <xsd:enumeration value="PostEntryReference"/>
-            <xsd:enumeration value="PreAwardSurvey"/>
-            <xsd:enumeration value="PrecinctNumber"/>
-            <xsd:enumeration value="PredecessorAccount"/>
-            <xsd:enumeration value="PredeterminationofBenefitsIdentificationNumber"/>
-            <xsd:enumeration value="PreferredCallSign"/>
-            <xsd:enumeration value="PreferredProviderOrganizationAuthorizationNumber"/>
-            <xsd:enumeration value="PreferredProviderOrganizationNumber"/>
-            <xsd:enumeration value="PreferredProviderOrganizationSiteNumber"/>
-            <xsd:enumeration value="PreliminaryWorkCandidateNumber"/>
-            <xsd:enumeration value="PremarketApplicationNumber"/>
-            <xsd:enumeration value="PremarketNotificationNumber"/>
-            <xsd:enumeration value="PremiumAuditPriorityIdentifier"/>
-            <xsd:enumeration value="PremiumAuditPurposeIdentifier"/>
-            <xsd:enumeration value="PremiumAuditTypeIdentifier"/>
-            <xsd:enumeration value="PremiumRateTable"/>
-            <xsd:enumeration value="PreparersVerificationNumber"/>
-            <xsd:enumeration value="PresentingBanksReference"/>
-            <xsd:enumeration value="PressFormIdentifier"/>
-            <xsd:enumeration value="PressIdentifier"/>
-            <xsd:enumeration value="PreviousBillofLadingNumber"/>
-            <xsd:enumeration value="PreviousCargoControlNumber"/>
-            <xsd:enumeration value="PreviousClaimHistoryIdentifier"/>
-            <xsd:enumeration value="PreviousContractNumber"/>
-            <xsd:enumeration value="PreviousCourseNumber"/>
-            <xsd:enumeration value="PreviousCreditOrDebitAdjustmentNumber"/>
-            <xsd:enumeration value="PreviousCreditAdviceReferenceNumber"/>
-            <xsd:enumeration value="PreviousCustomerReferenceNumber"/>
-            <xsd:enumeration value="PreviousDeliveryInstructionNumber"/>
-            <xsd:enumeration value="PreviousDeliveryScheduleNumber"/>
-            <xsd:enumeration value="PreviousDistributorNumber"/>
-            <xsd:enumeration value="PreviousDriversLicense"/>
-            <xsd:enumeration value="PreviousDrugEnforcementAdministrationNumber"/>
-            <xsd:enumeration value="PreviousHighestScheduleNumber"/>
-            <xsd:enumeration value="PreviousInvoiceNumber"/>
-            <xsd:enumeration value="PreviouslyReportedSocialSecurityNumber"/>
-            <xsd:enumeration value="PreviousMemberNumber"/>
-            <xsd:enumeration value="PreviousPolicyNumber"/>
-            <xsd:enumeration value="PreviousRentalAgreementNumber"/>
-            <xsd:enumeration value="PreviousReportNumber"/>
-            <xsd:enumeration value="PreviousRequestForMeteredReadingReferenceNumber"/>
-            <xsd:enumeration value="PreviousSchemeOrPlanNumber"/>
-            <xsd:enumeration value="PreviousSequence"/>
-            <xsd:enumeration value="PreviousShipmentIdentificationNumberContinuousMove"/>
-            <xsd:enumeration value="PreviousTaxControlNumber"/>
-            <xsd:enumeration value="PreviousTicketNumber"/>
-            <xsd:enumeration value="PriceOrSalesCatalogueResponseReferenceNumber"/>
-            <xsd:enumeration value="PriceAreaNumber"/>
-            <xsd:enumeration value="PriceListChangeorIssueNumber"/>
-            <xsd:enumeration value="PriceListNumber"/>
-            <xsd:enumeration value="PriceListVersionNumber"/>
-            <xsd:enumeration value="PriceQuoteNumber"/>
-            <xsd:enumeration value="PriceVariationFormulaReferenceNumber"/>
-            <xsd:enumeration value="PrimaryReference"/>
-            <xsd:enumeration value="PrimeContractorContractNumber"/>
-            <xsd:enumeration value="PrincipalReferenceNumber"/>
-            <xsd:enumeration value="PrincipalsBankReference"/>
-            <xsd:enumeration value="PrincipalsReference"/>
-            <xsd:enumeration value="PriorAuthorizationNumber"/>
-            <xsd:enumeration value="PriorCase"/>
-            <xsd:enumeration value="PriorCertificateNumber"/>
-            <xsd:enumeration value="PriorContractNumber"/>
-            <xsd:enumeration value="PriorDataUniversalNumberSystemNumber"/>
-            <xsd:enumeration value="PriorHealthIndustryNumber"/>
-            <xsd:enumeration value="PriorIdentifierNumber"/>
-            <xsd:enumeration value="PriorIncorrectBatchNumber"/>
-            <xsd:enumeration value="PriorIncorrectSocialSecurityNumber"/>
-            <xsd:enumeration value="PriorityRating"/>
-            <xsd:enumeration value="PriorLoanNumber"/>
-            <xsd:enumeration value="PriorPhoneNumber"/>
-            <xsd:enumeration value="PriorPolicyNumber"/>
-            <xsd:enumeration value="PriorPostalZipCode"/>
-            <xsd:enumeration value="PriorPurchaseOrderNumber"/>
-            <xsd:enumeration value="Priorpurchaseordernumber"/>
-            <xsd:enumeration value="PriorTaxIdentificationNumber"/>
-            <xsd:enumeration value="PriorTradingPartnerIdentificationNumber"/>
-            <xsd:enumeration value="PriorUniversalProviderIdentificationNumber"/>
-            <xsd:enumeration value="Proceeding"/>
-            <xsd:enumeration value="ProcessHandlingCode"/>
-            <xsd:enumeration value="ProcessingArea"/>
-            <xsd:enumeration value="ProcessingPlantNumber"/>
-            <xsd:enumeration value="ProcessorIdentificationNumber"/>
-            <xsd:enumeration value="ProcessorsInvoiceNumber"/>
-            <xsd:enumeration value="ProcurementBudgetNumber"/>
-            <xsd:enumeration value="ProcurementRequestNumber"/>
-            <xsd:enumeration value="ProcuringAgency"/>
-            <xsd:enumeration value="ProductChangeAuthorityNumber"/>
-            <xsd:enumeration value="ProductChangeInformationNumber"/>
-            <xsd:enumeration value="ProductChangeNoticeNumber"/>
-            <xsd:enumeration value="ProductGroup"/>
-            <xsd:enumeration value="ProductionCode"/>
-            <xsd:enumeration value="ProductLicensingAgreementNumber"/>
-            <xsd:enumeration value="ProductLineNumber"/>
-            <xsd:enumeration value="ProductNumber"/>
-            <xsd:enumeration value="ProductPeriodForWhichLaborCostsAreFirm"/>
-            <xsd:enumeration value="ProductReservationNumber"/>
-            <xsd:enumeration value="ProductSourcingAgreementNumber"/>
-            <xsd:enumeration value="ProductSpecificationDocumentNumber"/>
-            <xsd:enumeration value="ProductType"/>
-            <xsd:enumeration value="ProfileNumber"/>
-            <xsd:enumeration value="ProformaInvoiceNumber"/>
-            <xsd:enumeration value="ProgramIdentificationNumber"/>
-            <xsd:enumeration value="ProgressPaymentNumber"/>
-            <xsd:enumeration value="ProjectCode"/>
-            <xsd:enumeration value="ProjectNumber"/>
-            <xsd:enumeration value="ProjectParagraphNumber"/>
-            <xsd:enumeration value="ProjectPropertyNumber"/>
-            <xsd:enumeration value="ProjectSpecificationNumber"/>
-            <xsd:enumeration value="PromotionOrDealNumber"/>
-            <xsd:enumeration value="ProofOfDeliveryReferenceNumber"/>
-            <xsd:enumeration value="PropertyComponentLocation"/>
-            <xsd:enumeration value="PropertyControlNumber"/>
-            <xsd:enumeration value="PropertyLossItemNumber"/>
-            <xsd:enumeration value="ProposalNumber"/>
-            <xsd:enumeration value="ProposalParagraphNumber"/>
-            <xsd:enumeration value="ProposedContractNumber"/>
-            <xsd:enumeration value="ProposedGroupWorkCandidateSequenceNumber"/>
-            <xsd:enumeration value="ProposedSequenceNumber"/>
-            <xsd:enumeration value="ProposedWorkCandidateSequenceNumber"/>
-            <xsd:enumeration value="ProtocolNumber"/>
-            <xsd:enumeration value="ProtractionNumber"/>
-            <xsd:enumeration value="ProviderClaimNumber"/>
-            <xsd:enumeration value="ProviderCommercialNumber"/>
-            <xsd:enumeration value="ProviderControlNumber"/>
-            <xsd:enumeration value="ProviderOrderTicketNumber"/>
-            <xsd:enumeration value="ProviderPlanNetworkIdentificationNumber"/>
-            <xsd:enumeration value="ProviderSiteNumber"/>
-            <xsd:enumeration value="ProviderUPINNumber"/>
-            <xsd:enumeration value="ProvincialCanadianSalesTaxExemptionNumber"/>
-            <xsd:enumeration value="ProvincialTaxIdentification"/>
-            <xsd:enumeration value="ProvisionalPatentApplicationNumber"/>
-            <xsd:enumeration value="PublicationIssueNumber"/>
-            <xsd:enumeration value="PublicDeedNumber"/>
-            <xsd:enumeration value="PublicFilingRegistrationNumber"/>
-            <xsd:enumeration value="PublicUtilitiesCommissionCertificateOfPublicConvenience"/>
-            <xsd:enumeration value="PurchaseDescription"/>
-            <xsd:enumeration value="PurchaseOptionAgreement"/>
-            <xsd:enumeration value="PurchaseOrderChangeNumber"/>
-            <xsd:enumeration value="PurchaseOrderLineItemIdentifierBuyer"/>
-            <xsd:enumeration value="PurchaseOrderNumberIncludedinOnOrderPosition"/>
-            <xsd:enumeration value="PurchaseOrderNumberOfOrderReceivedSinceLastReportingDate"/>
-            <xsd:enumeration value="PurchaseOrderNumberOfShipmentReceivedSinceLastReportingDate"/>
-            <xsd:enumeration value="PurchaseOrderNumberSuffix"/>
-            <xsd:enumeration value="PurchaseOrderResponseNumber"/>
-            <xsd:enumeration value="PurchaseOrderRevisionNumber"/>
-            <xsd:enumeration value="PurchaseRequisitionNumber"/>
-            <xsd:enumeration value="PurchasersRequestReference"/>
-            <xsd:enumeration value="PurchasingActivityClauseNumber"/>
-            <xsd:enumeration value="QualifiedMaterialsList"/>
-            <xsd:enumeration value="QualifiedProductsList"/>
-            <xsd:enumeration value="QualityClause"/>
-            <xsd:enumeration value="QualityDispositionAreaIdentifier"/>
-            <xsd:enumeration value="QualityInspectionAreaIdentifier"/>
-            <xsd:enumeration value="QualityReportNumber"/>
-            <xsd:enumeration value="QualityReviewMaterialCribIdentifier"/>
-            <xsd:enumeration value="QuantityValuationNumber"/>
-            <xsd:enumeration value="QuantityValuationRequestNumber"/>
-            <xsd:enumeration value="QuarantineOrTreatmentStatusReferenceNumber"/>
-            <xsd:enumeration value="QuarterQuarterSectionNumber"/>
-            <xsd:enumeration value="QuarterQuarterSpotNumber"/>
-            <xsd:enumeration value="QuestionNumber"/>
-            <xsd:enumeration value="QuotaNumber"/>
-            <xsd:enumeration value="QuoteOrShoppingCartID"/>
-            <xsd:enumeration value="RackTypeNumber"/>
-            <xsd:enumeration value="RailOrRoadRoutingCode"/>
-            <xsd:enumeration value="RailroadCommissionOilNumber"/>
-            <xsd:enumeration value="RailroadCommissionRecordNumber"/>
-            <xsd:enumeration value="RailRoutingCode"/>
-            <xsd:enumeration value="RailWayBillNumber"/>
-            <xsd:enumeration value="RailwayConsignmentNoteNumber"/>
-            <xsd:enumeration value="RailwayWagonNumber"/>
-            <xsd:enumeration value="RangeNumber"/>
-            <xsd:enumeration value="RateCardNumber"/>
-            <xsd:enumeration value="RateCodeNumber"/>
-            <xsd:enumeration value="RateConferenceIDCode"/>
-            <xsd:enumeration value="RateNoteNumber"/>
-            <xsd:enumeration value="RatingPeriod"/>
-            <xsd:enumeration value="RawmaterialSupplierDunAndBradstreetNumber"/>
-            <xsd:enumeration value="RealEstateOwnedPropertyIdentifier"/>
-            <xsd:enumeration value="ReasonForChange"/>
-            <xsd:enumeration value="ReasonNotLowestCostCode"/>
-            <xsd:enumeration value="RebateNumber"/>
-            <xsd:enumeration value="RecallNumber"/>
-            <xsd:enumeration value="ReceiptNumber"/>
-            <xsd:enumeration value="ReceivedNumber"/>
-            <xsd:enumeration value="ReceiverAssignedDropZone"/>
-            <xsd:enumeration value="ReceiverClaimNumber"/>
-            <xsd:enumeration value="ReceiverIdentificationNumber"/>
-            <xsd:enumeration value="ReceiverIDQualifier"/>
-            <xsd:enumeration value="ReceiversFileReferenceNumber"/>
-            <xsd:enumeration value="ReceiverSubIdentificationNumber"/>
-            <xsd:enumeration value="ReceivingAdviceNumber"/>
-            <xsd:enumeration value="ReceivingBanksAuthorizationNumber"/>
-            <xsd:enumeration value="ReceivingCompanyIdentifier"/>
-            <xsd:enumeration value="ReceivingDepositoryFinancialInstitutionIdentifier"/>
-            <xsd:enumeration value="ReceivingNumber"/>
-            <xsd:enumeration value="ReceivingPartysMemberIdentification"/>
-            <xsd:enumeration value="ReconciliationReportSectionIdentificationCode"/>
-            <xsd:enumeration value="RecordingNumber"/>
-            <xsd:enumeration value="ReducedEarningWeekIdentifier"/>
-            <xsd:enumeration value="ReelNumber"/>
-            <xsd:enumeration value="ReferencedBy"/>
-            <xsd:enumeration value="ReferencedPatternIdentification"/>
-            <xsd:enumeration value="ReferenceDrawingNumber"/>
-            <xsd:enumeration value="ReferenceNumberAssignedByThirdParty"/>
-            <xsd:enumeration value="ReferenceNumberOfARequestForMeteredReading"/>
-            <xsd:enumeration value="ReferenceNumberQuotedOnStatement"/>
-            <xsd:enumeration value="ReferenceNumberToPreviousMessage"/>
-            <xsd:enumeration value="ReferenceVersionNumber"/>
-            <xsd:enumeration value="ReferralNumber"/>
-            <xsd:enumeration value="ReferredProductForChemicalAnalysis"/>
-            <xsd:enumeration value="ReferredProductForMechanicalAnalysis"/>
-            <xsd:enumeration value="RefinerIdentification"/>
-            <xsd:enumeration value="Region"/>
-            <xsd:enumeration value="RegionalAccountNumber"/>
-            <xsd:enumeration value="RegiristoFederalDeContribuyentes"/>
-            <xsd:enumeration value="RegiristoFederaldeContribuyentes"/>
-            <xsd:enumeration value="RegisteredCapitalReference"/>
-            <xsd:enumeration value="RegisteredContractorActivityType"/>
-            <xsd:enumeration value="RegisteredMailNumber"/>
-            <xsd:enumeration value="RegistrationNumber"/>
-            <xsd:enumeration value="RegistrationNumberOfPreviousCustomsDeclaration"/>
-            <xsd:enumeration value="RegistroInformacionFiscal"/>
-            <xsd:enumeration value="RegistroNacionaldeContribuyente"/>
-            <xsd:enumeration value="RegistroUnicodeContribuyente"/>
-            <xsd:enumeration value="RegulationPrimaryNumber"/>
-            <xsd:enumeration value="RegulationSecondaryNumber"/>
-            <xsd:enumeration value="RegulatoryGuidelineIdentifier"/>
-            <xsd:enumeration value="ReinsuranceReference"/>
-            <xsd:enumeration value="ReinsurersClaimNumber"/>
-            <xsd:enumeration value="ReissueCessionNumber"/>
-            <xsd:enumeration value="RejectionNumber"/>
-            <xsd:enumeration value="RelatedCase"/>
-            <xsd:enumeration value="RelatedContractLineItemNumber"/>
-            <xsd:enumeration value="RelatedDocumentNumber"/>
-            <xsd:enumeration value="RelatedNonconformanceNumber"/>
-            <xsd:enumeration value="RelatedObjectIdentificationNumber"/>
-            <xsd:enumeration value="RelatedTransactionReferenceNumber"/>
-            <xsd:enumeration value="RelatedVendorOrderNumber"/>
-            <xsd:enumeration value="RelativePriority"/>
-            <xsd:enumeration value="ReleaseInvoiceNumberForPriorBillAndHold"/>
-            <xsd:enumeration value="ReleaseNumber"/>
-            <xsd:enumeration value="RemittanceAdviceNumber"/>
-            <xsd:enumeration value="RemittingBanksReference"/>
-            <xsd:enumeration value="RemovalNumber"/>
-            <xsd:enumeration value="RentalAccountNumber"/>
-            <xsd:enumeration value="RentalAgreementNumber"/>
-            <xsd:enumeration value="RentPayorIdentification"/>
-            <xsd:enumeration value="RepairActionNumber"/>
-            <xsd:enumeration value="RepairCategoryNumber"/>
-            <xsd:enumeration value="RepairDataRequestNumber"/>
-            <xsd:enumeration value="RepairEstimateNumber"/>
-            <xsd:enumeration value="RepairOrderNumber"/>
-            <xsd:enumeration value="RepairPartNumber"/>
-            <xsd:enumeration value="RepeatLocation"/>
-            <xsd:enumeration value="RepetitiveBookingNumber"/>
-            <xsd:enumeration value="RepetitiveCargoShipmentNumber"/>
-            <xsd:enumeration value="RepetitivePatternCode"/>
-            <xsd:enumeration value="RepetitiveWaybillCode"/>
-            <xsd:enumeration value="ReplacementAssemblyModelNumber"/>
-            <xsd:enumeration value="ReplacementAssemblySerialNumber"/>
-            <xsd:enumeration value="ReplacementClaimNumber"/>
-            <xsd:enumeration value="ReplacementCustomerReferenceNumber"/>
-            <xsd:enumeration value="ReplacementDrugEnforcementAdministrationNumber"/>
-            <xsd:enumeration value="ReplacingPartNumber"/>
-            <xsd:enumeration value="ReplenishmentPurchaseOrderNumber"/>
-            <xsd:enumeration value="ReplenishmentPurchaseOrderRangeEndNumber"/>
-            <xsd:enumeration value="ReplenishmentPurchaseOrderRangeStartNumber"/>
-            <xsd:enumeration value="ReporterIdentification"/>
-            <xsd:enumeration value="ReportingFormNumber"/>
-            <xsd:enumeration value="ReportNumber"/>
-            <xsd:enumeration value="Representation"/>
-            <xsd:enumeration value="RepresentativeIdentificationNumber"/>
-            <xsd:enumeration value="RepricedClaimReferenceNumber"/>
-            <xsd:enumeration value="RepricedLineItemReferenceNumber"/>
-            <xsd:enumeration value="RequestForCancellationNumber"/>
-            <xsd:enumeration value="RequestforQuotationReference"/>
-            <xsd:enumeration value="RequestForQuoteNumber"/>
-            <xsd:enumeration value="RequestNumber"/>
-            <xsd:enumeration value="ReservationNumber"/>
-            <xsd:enumeration value="ReserveAssemblyLineFeedLocation"/>
-            <xsd:enumeration value="ResourceScreeningReference"/>
-            <xsd:enumeration value="ResourceUtilizationGroupNumber"/>
-            <xsd:enumeration value="ResponsetoaRequestforQuotationReference"/>
-            <xsd:enumeration value="RestrictedAvailabilityAuthorization"/>
-            <xsd:enumeration value="RestrictedAvailabilityNumber"/>
-            <xsd:enumeration value="ResubmissionNumber"/>
-            <xsd:enumeration value="ResubmissionReasonCode"/>
-            <xsd:enumeration value="Resubmitnumber"/>
-            <xsd:enumeration value="RetailMerchantsCertificationNumber"/>
-            <xsd:enumeration value="RetirementPlanAccountNumber"/>
-            <xsd:enumeration value="RetirementPlanPolicyNumber"/>
-            <xsd:enumeration value="ReturnableContainerReferenceNumber"/>
-            <xsd:enumeration value="ReturnableContainerSerialNumber"/>
-            <xsd:enumeration value="ReturnedGoodsAuthorizationNumber"/>
-            <xsd:enumeration value="ReturnGoodsBillOfLadingNumber"/>
-            <xsd:enumeration value="ReturnMaterialAuthorizationNumber"/>
-            <xsd:enumeration value="ReturnsNoticeNumber"/>
-            <xsd:enumeration value="RevenueSource"/>
-            <xsd:enumeration value="Review"/>
-            <xsd:enumeration value="ReviewerFileNumber"/>
-            <xsd:enumeration value="ReviewPeriodNumber"/>
-            <xsd:enumeration value="RevisionNumber"/>
-            <xsd:enumeration value="RIF"/>
-            <xsd:enumeration value="RigNumber"/>
-            <xsd:enumeration value="RoadConsignmentNoteNumber"/>
-            <xsd:enumeration value="RouteNumber"/>
-            <xsd:enumeration value="RouteOrderNumberDomestic"/>
-            <xsd:enumeration value="RouteOrderNumberEmergency"/>
-            <xsd:enumeration value="RouteOrderNumberExport"/>
-            <xsd:enumeration value="RoutingInstructionNumber"/>
-            <xsd:enumeration value="RUC"/>
-            <xsd:enumeration value="RuleSection"/>
-            <xsd:enumeration value="RunNumber"/>
-            <xsd:enumeration value="SafekeepingAccountNumber"/>
-            <xsd:enumeration value="SafetyEquipmentCertificate"/>
-            <xsd:enumeration value="SafetyofRadioCertificate"/>
-            <xsd:enumeration value="SafetyofShipCertificate"/>
-            <xsd:enumeration value="SalesOrTerritoryCode"/>
-            <xsd:enumeration value="SalesAllowanceNumber"/>
-            <xsd:enumeration value="SalesDepartmentNumber"/>
-            <xsd:enumeration value="SalesForecastNumber"/>
-            <xsd:enumeration value="SalesOfficeNumber"/>
-            <xsd:enumeration value="SalesPersonNumber"/>
-            <xsd:enumeration value="SalesProgramNumber"/>
-            <xsd:enumeration value="SalesRegionNumber"/>
-            <xsd:enumeration value="SalesReportNumber"/>
-            <xsd:enumeration value="SalesRepresentativeOrderNumber"/>
-            <xsd:enumeration value="SalesResponsibility"/>
-            <xsd:enumeration value="SampleNumber"/>
-            <xsd:enumeration value="Savings"/>
-            <xsd:enumeration value="SBA"/>
-            <xsd:enumeration value="ScaleNumber"/>
-            <xsd:enumeration value="ScanLine"/>
-            <xsd:enumeration value="ScheduleReferenceNumber"/>
-            <xsd:enumeration value="SchemeOrPlanNumber"/>
-            <xsd:enumeration value="SchoolLoanNumber"/>
-            <xsd:enumeration value="SchoolUse"/>
-            <xsd:enumeration value="SealNumber"/>
-            <xsd:enumeration value="SealOffNumber"/>
-            <xsd:enumeration value="SealOnNumber"/>
-            <xsd:enumeration value="SearchKey"/>
-            <xsd:enumeration value="SecondaryCoverageCertificateNumber"/>
-            <xsd:enumeration value="SecondaryCoverageCompanyNumber"/>
-            <xsd:enumeration value="SecondaryCustomsReference"/>
-            <xsd:enumeration value="SecondaryEmployeeIdentificationNumber"/>
-            <xsd:enumeration value="SecondaryHealthInsuranceIdentificationNumber"/>
-            <xsd:enumeration value="SecondaryPolicyNumber"/>
-            <xsd:enumeration value="SecondaryProviderNumber"/>
-            <xsd:enumeration value="SecondarySuffixCodeIndicator"/>
-            <xsd:enumeration value="SecondBeneficiarysReference"/>
-            <xsd:enumeration value="SecretariadeComerciayFamentaIndustrialNumber"/>
-            <xsd:enumeration value="SecretaryofStateAssignedIdentificationNumber"/>
-            <xsd:enumeration value="SectionNumber"/>
-            <xsd:enumeration value="SectionOfTheNationalHousingActCode"/>
-            <xsd:enumeration value="SecurityInstrumentNumber"/>
-            <xsd:enumeration value="SecurityType"/>
-            <xsd:enumeration value="SelfInsuranceIdentificationNumber"/>
-            <xsd:enumeration value="SelfInsurerAuthorizationTypeCode"/>
-            <xsd:enumeration value="SelfInsurerOrganizationType"/>
-            <xsd:enumeration value="SellerLoanNumber"/>
-            <xsd:enumeration value="SellersCatalogueNumber"/>
-            <xsd:enumeration value="SellersCreditMemo"/>
-            <xsd:enumeration value="SellersDebitMemo"/>
-            <xsd:enumeration value="SellersInvoiceNumber"/>
-            <xsd:enumeration value="SellersReferenceNumber"/>
-            <xsd:enumeration value="SellersSaleNumber"/>
-            <xsd:enumeration value="SellingArrangement"/>
-            <xsd:enumeration value="SenderDefinedClause"/>
-            <xsd:enumeration value="SendersClauseNumber"/>
-            <xsd:enumeration value="SendersFileReferenceNumber"/>
-            <xsd:enumeration value="SendersReferenceToTheOriginalMessage"/>
-            <xsd:enumeration value="SendingBankReferenceNumber"/>
-            <xsd:enumeration value="SendingCompanyAuditNumberAutomatedClearinghouseTransfers"/>
-            <xsd:enumeration value="SequenceNumber"/>
-            <xsd:enumeration value="SerialNumber"/>
-            <xsd:enumeration value="ServiceAuthorizationNumber"/>
-            <xsd:enumeration value="ServiceBulletinNumber"/>
-            <xsd:enumeration value="ServiceBureau"/>
-            <xsd:enumeration value="ServiceChangeNumber"/>
-            <xsd:enumeration value="ServiceChargeNumber"/>
-            <xsd:enumeration value="ServiceContractNumber"/>
-            <xsd:enumeration value="ServiceEstimateNumber"/>
-            <xsd:enumeration value="ServiceGroupIdentificationNumber"/>
-            <xsd:enumeration value="ServiceInterruptTrackingNumber"/>
-            <xsd:enumeration value="ServiceOrderNumber"/>
-            <xsd:enumeration value="ServicePerformedCode"/>
-            <xsd:enumeration value="Servicer"/>
-            <xsd:enumeration value="ServiceRequestNumber"/>
-            <xsd:enumeration value="ServicerLoanNumber"/>
-            <xsd:enumeration value="Session"/>
-            <xsd:enumeration value="SetNumber"/>
-            <xsd:enumeration value="Sheet"/>
-            <xsd:enumeration value="ShelfLifeIndicator"/>
-            <xsd:enumeration value="ShipFrom"/>
-            <xsd:enumeration value="ShipmentDestinationCode"/>
-            <xsd:enumeration value="ShipmentOriginCode"/>
-            <xsd:enumeration value="ShipmentReferenceNumber"/>
-            <xsd:enumeration value="ShipNoticeOrManifestNumber"/>
-            <xsd:enumeration value="ShipownersAuthorizationNumber"/>
-            <xsd:enumeration value="ShipperCarOrderNumber"/>
-            <xsd:enumeration value="ShippersBondNumber"/>
-            <xsd:enumeration value="ShippersHazardousNumber"/>
-            <xsd:enumeration value="ShippersOrder"/>
-            <xsd:enumeration value="ShippingLabelSerialNumber"/>
-            <xsd:enumeration value="ShippingNoteNumber"/>
-            <xsd:enumeration value="ShippingUnitIdentification"/>
-            <xsd:enumeration value="ShippingZone"/>
-            <xsd:enumeration value="ShortTermDisabilityPolicyNumber"/>
-            <xsd:enumeration value="ShowIdentification"/>
-            <xsd:enumeration value="SIC"/>
-            <xsd:enumeration value="SID"/>
-            <xsd:enumeration value="SignalCode"/>
-            <xsd:enumeration value="SignalCodeNumber"/>
-            <xsd:enumeration value="SingleTransactionSequenceNumber"/>
-            <xsd:enumeration value="SIRENNumber"/>
-            <xsd:enumeration value="SIRETNumber"/>
-            <xsd:enumeration value="SiteSpecificProceduresTermsAndConditions"/>
-            <xsd:enumeration value="SituationNumber"/>
-            <xsd:enumeration value="SlaughterPlantNumber"/>
-            <xsd:enumeration value="SocialInsuranceNumber"/>
-            <xsd:enumeration value="SocialSecurityNumber"/>
-            <xsd:enumeration value="SocietyofPropertyInformationCompilersandAnalysts"/>
-            <xsd:enumeration value="SoftwareApplicationNumber"/>
-            <xsd:enumeration value="Solicitation"/>
-            <xsd:enumeration value="SortAndSegregate"/>
-            <xsd:enumeration value="SourceDocumentInternalReference"/>
-            <xsd:enumeration value="SpacingUnitOrderNumber"/>
-            <xsd:enumeration value="SpecialApproval"/>
-            <xsd:enumeration value="SpecialBudgetAccountNumber"/>
-            <xsd:enumeration value="SpecialChargeOrAllowanceCode"/>
-            <xsd:enumeration value="SpecialClause"/>
-            <xsd:enumeration value="SpecialGovernmentAccountingClassificationReferenceNumber"/>
-            <xsd:enumeration value="SpecialInstructionsNumber"/>
-            <xsd:enumeration value="SpecialMoveReferenceNumber"/>
-            <xsd:enumeration value="SpecialPackagingInstructionNumber"/>
-            <xsd:enumeration value="SpecialPaymentReferenceNumber"/>
-            <xsd:enumeration value="SpecialProcessingCode"/>
-            <xsd:enumeration value="SpecialQuoteNumber"/>
-            <xsd:enumeration value="SpecialtyLicenseNumber"/>
-            <xsd:enumeration value="SpecificationClassNumber"/>
-            <xsd:enumeration value="SpecificationNumber"/>
-            <xsd:enumeration value="SpecificationRevision"/>
-            <xsd:enumeration value="SpecimenIdentifier"/>
-            <xsd:enumeration value="SplitBookingNumber"/>
-            <xsd:enumeration value="SplitPremiumAuditChangeIdentifier"/>
-            <xsd:enumeration value="SplitShipmentNumber"/>
-            <xsd:enumeration value="SponsorsReferenceNumber"/>
-            <xsd:enumeration value="SpouseTie"/>
-            <xsd:enumeration value="StackTrainIdentification"/>
-            <xsd:enumeration value="Standard"/>
-            <xsd:enumeration value="StandardCarrierAlphaCode"/>
-            <xsd:enumeration value="StandardClause"/>
-            <xsd:enumeration value="StandardIndustryClassificationCode"/>
-            <xsd:enumeration value="StandardNumberOfInspectionDocument"/>
-            <xsd:enumeration value="StandardPointLocationCode"/>
-            <xsd:enumeration value="StandardsCodeNumber"/>
-            <xsd:enumeration value="StandardsNumber"/>
-            <xsd:enumeration value="StandardsVersionNumber"/>
-            <xsd:enumeration value="StandardTransportationCommodityCodeBridgeNumber"/>
-            <xsd:enumeration value="StandardTransportationCommodityCodeReplacementCode"/>
-            <xsd:enumeration value="StartingPackageNumber"/>
-            <xsd:enumeration value="StateAssemblyDistrict"/>
-            <xsd:enumeration value="StateCharterNumber"/>
-            <xsd:enumeration value="StateControlledSubstanceLicenseNumber"/>
-            <xsd:enumeration value="StateCriminalHistoryRepositoryIndividualIdentification"/>
-            <xsd:enumeration value="StateDepartmentI20FormNumber"/>
-            <xsd:enumeration value="StateDepartmentIAP66FormNumber"/>
-            <xsd:enumeration value="StateHazardousWasteEntityIdentifier"/>
-            <xsd:enumeration value="StateIndustrialAccidentProviderNumber"/>
-            <xsd:enumeration value="StateLegislativeDistrict"/>
-            <xsd:enumeration value="StateLicenseIdentificationNumber"/>
-            <xsd:enumeration value="StateLicenseNumber"/>
-            <xsd:enumeration value="StatementNumber"/>
-            <xsd:enumeration value="StatementOfWork"/>
-            <xsd:enumeration value="StateNonResidentViolatorCompact"/>
-            <xsd:enumeration value="StateorProvinceAssignedBusinessRegistryNumber"/>
-            <xsd:enumeration value="StateOrProvinceAssignedEntityIdentification"/>
-            <xsd:enumeration value="StateSalesTaxIdentificationNumber"/>
-            <xsd:enumeration value="StateSenateDistrict"/>
-            <xsd:enumeration value="StateStudentIdentificationNumber"/>
-            <xsd:enumeration value="StateTaxIdentificationNumber"/>
-            <xsd:enumeration value="StatewideCourseNumber"/>
-            <xsd:enumeration value="StationReferenceNumber"/>
-            <xsd:enumeration value="Status"/>
-            <xsd:enumeration value="StatusReportNumber"/>
-            <xsd:enumeration value="StockCertificateNumber"/>
-            <xsd:enumeration value="StockExchangeCode"/>
-            <xsd:enumeration value="StockExchangeCompanyIdentifier"/>
-            <xsd:enumeration value="StockKeepingUnitNumber"/>
-            <xsd:enumeration value="StockNumber"/>
-            <xsd:enumeration value="StopSequenceNumber"/>
-            <xsd:enumeration value="StorageInformationCode"/>
-            <xsd:enumeration value="StoreNumber"/>
-            <xsd:enumeration value="Study"/>
-            <xsd:enumeration value="SubassemblyNumber"/>
-            <xsd:enumeration value="SubcontractLineItemNumber"/>
-            <xsd:enumeration value="SubcontractNumber"/>
-            <xsd:enumeration value="SubcontractorDataRequirements"/>
-            <xsd:enumeration value="SubdayNumber"/>
-            <xsd:enumeration value="SubdivisionIdentifier"/>
-            <xsd:enumeration value="SubexhibitLineItemNumber"/>
-            <xsd:enumeration value="SubFile"/>
-            <xsd:enumeration value="SubhouseBillOfLading"/>
-            <xsd:enumeration value="SubjectPropertyNonSaleReferenceNumber"/>
-            <xsd:enumeration value="SubjectPropertyReferenceNumber"/>
-            <xsd:enumeration value="SubjectPropertyVerificationSource"/>
-            <xsd:enumeration value="SublineofInsurance"/>
-            <xsd:enumeration value="SubmissionNumber"/>
-            <xsd:enumeration value="SubmitterIdentificationNumber"/>
-            <xsd:enumeration value="SubscriberAuthorizationNumber"/>
-            <xsd:enumeration value="SubscriberNumber"/>
-            <xsd:enumeration value="Subservicer"/>
-            <xsd:enumeration value="SubServicerLoanNumber"/>
-            <xsd:enumeration value="SubsistenceIdentificationNumber"/>
-            <xsd:enumeration value="SubstantivelyConsolidatedCase"/>
-            <xsd:enumeration value="SubstituteAirWaybillNumber"/>
-            <xsd:enumeration value="SubstituteManufacturersPartNumber"/>
-            <xsd:enumeration value="SubstituteNationalStockNumber"/>
-            <xsd:enumeration value="SubstitutePartNumber"/>
-            <xsd:enumeration value="SubSubhouseBillOfLading"/>
-            <xsd:enumeration value="SuccessorAccount"/>
-            <xsd:enumeration value="Suffix"/>
-            <xsd:enumeration value="SuperintendenciadeInversionesExtranjerasNumber"/>
-            <xsd:enumeration value="SupervisoryAppraiserCertificationNumber"/>
-            <xsd:enumeration value="SupplementalAccountNumber"/>
-            <xsd:enumeration value="SupplementalAgreementAuthority"/>
-            <xsd:enumeration value="SupplementalClaimNumber"/>
-            <xsd:enumeration value="SupplementNumber"/>
-            <xsd:enumeration value="Supplier"/>
-            <xsd:enumeration value="SupplierReplacement"/>
-            <xsd:enumeration value="SupplierDocumentIdentificationNumber"/>
-            <xsd:enumeration value="SuppliersControlNumber"/>
-            <xsd:enumeration value="SuppliersCreditClaimReferenceNumber"/>
-            <xsd:enumeration value="SupportingDocumentNumber"/>
-            <xsd:enumeration value="SuretyBondNumber"/>
-            <xsd:enumeration value="SuspensionIdentifier"/>
-            <xsd:enumeration value="SwapOrderNumber"/>
-            <xsd:enumeration value="SWIFT"/>
-            <xsd:enumeration value="SWIFTMT100"/>
-            <xsd:enumeration value="SWIFTMT202"/>
-            <xsd:enumeration value="SWIFTConfirmationNumber"/>
-            <xsd:enumeration value="SymbolNumber"/>
-            <xsd:enumeration value="SymbolNumberForMilestoneOrLOBReports"/>
-            <xsd:enumeration value="SystematizedNomenclatureofHumanandVeterinaryMedicine"/>
-            <xsd:enumeration value="SystemeInformatiquePourLeRepertoireDesEntreprises"/>
-            <xsd:enumeration value="SystemeInformatiquePourLeRepertoireDesEtablissements"/>
-            <xsd:enumeration value="SystemNumber"/>
-            <xsd:enumeration value="Tag"/>
-            <xsd:enumeration value="TankNumber"/>
-            <xsd:enumeration value="TariffNumber"/>
-            <xsd:enumeration value="TariffPageNumber"/>
-            <xsd:enumeration value="TariffRuleNumber"/>
-            <xsd:enumeration value="TariffSectionNumber"/>
-            <xsd:enumeration value="TariffSuffixNumber"/>
-            <xsd:enumeration value="TariffSupplementNumber"/>
-            <xsd:enumeration value="TaskOrder"/>
-            <xsd:enumeration value="TaxAgencyNumber"/>
-            <xsd:enumeration value="TaxExchangeCode"/>
-            <xsd:enumeration value="TaxExemptionLicenceNumber"/>
-            <xsd:enumeration value="TaxExemptNumber"/>
-            <xsd:enumeration value="TaxFiling"/>
-            <xsd:enumeration value="TaxFormCode"/>
-            <xsd:enumeration value="TaxingAuthorityIdentificationNumber"/>
-            <xsd:enumeration value="TaxLicenseExemption"/>
-            <xsd:enumeration value="TaxLienJurisdiction"/>
-            <xsd:enumeration value="TaxRegistrationNumber"/>
-            <xsd:enumeration value="TaxScheduleCode"/>
-            <xsd:enumeration value="TaxShelterNumber"/>
-            <xsd:enumeration value="TaxWorksheet"/>
-            <xsd:enumeration value="TCN"/>
-            <xsd:enumeration value="TeamAssignmentNumber"/>
-            <xsd:enumeration value="TechnicalDocumentationType"/>
-            <xsd:enumeration value="TechnicalDocumentNumber"/>
-            <xsd:enumeration value="TechnicalInformationPackage"/>
-            <xsd:enumeration value="TechnicalOrderNumber"/>
-            <xsd:enumeration value="TechnicalPhaseReference"/>
-            <xsd:enumeration value="TechnicalRegulation"/>
-            <xsd:enumeration value="TelecommunicationCircuitSupplementalID"/>
-            <xsd:enumeration value="TelexMessageNumber"/>
-            <xsd:enumeration value="TemplateSequenceNumber"/>
-            <xsd:enumeration value="Tenor"/>
-            <xsd:enumeration value="Term"/>
-            <xsd:enumeration value="TerminalCode"/>
-            <xsd:enumeration value="TerminalOperatorNumber"/>
-            <xsd:enumeration value="TerminalReleaseOrderNumber"/>
-            <xsd:enumeration value="TerminationFiling"/>
-            <xsd:enumeration value="TesterIdentification"/>
-            <xsd:enumeration value="TestReportNumber"/>
-            <xsd:enumeration value="TestSpecificationNumber"/>
-            <xsd:enumeration value="TextElementIdentifierDeletionReference"/>
-            <xsd:enumeration value="TheaterScreenNumber"/>
-            <xsd:enumeration value="ThirdBanksReferenceNumber"/>
-            <xsd:enumeration value="ThirdBanksReference"/>
-            <xsd:enumeration value="ThirdPartyAdministratorClaimNumber"/>
-            <xsd:enumeration value="ThirdPartyNoteHolderIdentification"/>
-            <xsd:enumeration value="ThirdPartyOrganizationAuthorizationNumber"/>
-            <xsd:enumeration value="ThirdPartyOriginatorNumber"/>
-            <xsd:enumeration value="ThirdPartyPurchaseOrderItemNumber"/>
-            <xsd:enumeration value="ThirdPartyPurchaseOrderNumber"/>
-            <xsd:enumeration value="ThirdPartyPurchaseOrderReleaseNumber"/>
-            <xsd:enumeration value="ThirdPartyReferenceNumber"/>
-            <xsd:enumeration value="ThroughBillOfLadingNumber"/>
-            <xsd:enumeration value="TicketNumber"/>
-            <xsd:enumeration value="TimeFailure"/>
-            <xsd:enumeration value="TirCarnetNumber"/>
-            <xsd:enumeration value="TIRNumber"/>
-            <xsd:enumeration value="TitleCompanyCodeBookReference"/>
-            <xsd:enumeration value="TitleDocumentSchedule"/>
-            <xsd:enumeration value="TitlePolicyNumber"/>
-            <xsd:enumeration value="TitleReference"/>
-            <xsd:enumeration value="TitleXIXIdentifierNumber"/>
-            <xsd:enumeration value="TokyoShokoResearchBusinessIdentifier"/>
-            <xsd:enumeration value="TollBillingTelephoneReferenceNumber"/>
-            <xsd:enumeration value="TotalCycleNumber"/>
-            <xsd:enumeration value="TotalOrderCycleNumber"/>
-            <xsd:enumeration value="TownshipNumber"/>
-            <xsd:enumeration value="ToxicologyID"/>
-            <xsd:enumeration value="TracerActionRequestNumber"/>
-            <xsd:enumeration value="TrackingNumber"/>
-            <xsd:enumeration value="Tract"/>
-            <xsd:enumeration value="TraderAccountNumber"/>
-            <xsd:enumeration value="TradingPartnerIdentificationNumber"/>
-            <xsd:enumeration value="TrailerTypeQualifier"/>
-            <xsd:enumeration value="TrailerUseAgreements"/>
-            <xsd:enumeration value="TrainingFlightNumber"/>
-            <xsd:enumeration value="TransactionCategoryOrType"/>
-            <xsd:enumeration value="TransactionReferenceNumber"/>
-            <xsd:enumeration value="TransferNumber"/>
-            <xsd:enumeration value="TransitGuaranteeNumber"/>
-            <xsd:enumeration value="TransponderNumber"/>
-            <xsd:enumeration value="TransportationAccountCode"/>
-            <xsd:enumeration value="TransportationAccountNumber"/>
-            <xsd:enumeration value="TransportationControlNumber"/>
-            <xsd:enumeration value="TransportationExportationNoForInBondMovement"/>
-            <xsd:enumeration value="TransportationPriorityNumber"/>
-            <xsd:enumeration value="TransportContractReferenceNumber"/>
-            <xsd:enumeration value="TransportCostsReferenceNumber"/>
-            <xsd:enumeration value="TransportDocumentNumber"/>
-            <xsd:enumeration value="TransportEquipmentReturnReference"/>
-            <xsd:enumeration value="TransportEquipmentStrippingOrder"/>
-            <xsd:enumeration value="TransportEquipmentStuffingOrder"/>
-            <xsd:enumeration value="TransportEquipmentSurveyReference"/>
-            <xsd:enumeration value="TransportEquipmentSurveyReferenceNumber"/>
-            <xsd:enumeration value="TransportEquipmentSurveyReportNumber"/>
-            <xsd:enumeration value="TransportRoute"/>
-            <xsd:enumeration value="TransportSectionReferenceNumber"/>
-            <xsd:enumeration value="TravelManifest"/>
-            <xsd:enumeration value="TreatyIdentifier"/>
-            <xsd:enumeration value="TreatyNumber"/>
-            <xsd:enumeration value="TrialLocationCode"/>
-            <xsd:enumeration value="Tripleback"/>
-            <xsd:enumeration value="TruckersBillOfLading"/>
-            <xsd:enumeration value="Trustee"/>
-            <xsd:enumeration value="TSRBusinessIdentifier"/>
-            <xsd:enumeration value="TypeOfComment"/>
-            <xsd:enumeration value="TypeOfEscrowNumber"/>
-            <xsd:enumeration value="TypeOfHouseholdGoodsCode"/>
-            <xsd:enumeration value="TypeOfLawSuit"/>
-            <xsd:enumeration value="TypeOfOutstandingJudgment"/>
-            <xsd:enumeration value="TypeOfScienceCode"/>
-            <xsd:enumeration value="U.S.DefenseFederalAcquisitionRegulationSupplement"/>
-            <xsd:enumeration value="U.S.DepartmentOfVeteransAffairsAcquisitionRegulation"/>
-            <xsd:enumeration value="U.S.GovernmentTransportationControlNumber"/>
-            <xsd:enumeration value="UltimateConsignee"/>
-            <xsd:enumeration value="UltimateCustomersOrderNumber"/>
-            <xsd:enumeration value="UltimateCustomersReferenceNumber"/>
-            <xsd:enumeration value="UnacceptableSourceDUNSNumber"/>
-            <xsd:enumeration value="UnacceptableSourcePurchaserID"/>
-            <xsd:enumeration value="UnacceptableSourceSupplierID"/>
-            <xsd:enumeration value="UnderwriterIdentificationNumber"/>
-            <xsd:enumeration value="UnderwritingAlertReferenceCode"/>
-            <xsd:enumeration value="UNDG"/>
-            <xsd:enumeration value="UnemploymentInsuranceNumber"/>
-            <xsd:enumeration value="UniformCommercialCodeFilingCollateralNumber"/>
-            <xsd:enumeration value="UniformResourceLocator"/>
-            <xsd:enumeration value="UnionNumber"/>
-            <xsd:enumeration value="UniqueClaimsReferenceNumberOfTheSender"/>
-            <xsd:enumeration value="UniqueConsignmentIdentifier"/>
-            <xsd:enumeration value="UniqueConsignmentReferenceNumber"/>
-            <xsd:enumeration value="UniqueCurracReferenceNumberOfTheSender"/>
-            <xsd:enumeration value="UniqueMarketReference"/>
-            <xsd:enumeration value="UniqueReinacReferenceNumberOfTheSender"/>
-            <xsd:enumeration value="UniqueSupplierIdentificationNumber"/>
-            <xsd:enumeration value="UnitedNationsHazardousClassificationNumber"/>
-            <xsd:enumeration value="UnitedStatesGovernmentVisaNumber"/>
-            <xsd:enumeration value="UnitedStatesStandardMetropolitanStatisticalAreaCode"/>
-            <xsd:enumeration value="UnitLoadDeviceIdentificationNumber"/>
-            <xsd:enumeration value="UnitNumber"/>
-            <xsd:enumeration value="UnitPropertyNumber"/>
-            <xsd:enumeration value="UnitReliefNumber"/>
-            <xsd:enumeration value="UnitReportPeriod"/>
-            <xsd:enumeration value="UnitReportPeriodID"/>
-            <xsd:enumeration value="UnitTrain"/>
-            <xsd:enumeration value="UniversalRailroadRevenueWaybillIdentifiedNumber"/>
-            <xsd:enumeration value="UniversalTransverseMercatorEast"/>
-            <xsd:enumeration value="UniversalTransverseMercatorNorth"/>
-            <xsd:enumeration value="UniversalTransverseMercatorZone"/>
-            <xsd:enumeration value="UnpaidInstallmentReferenceNumber"/>
-            <xsd:enumeration value="UpperSerialNumberOfRange"/>
-            <xsd:enumeration value="UpstreamShipperContractNumber"/>
-            <xsd:enumeration value="USCFR"/>
-            <xsd:enumeration value="USCS"/>
-            <xsd:enumeration value="USCustomsServiceAntiDumpingDutyCaseNumber"/>
-            <xsd:enumeration value="USCustomsServiceBindingRulingNumber"/>
-            <xsd:enumeration value="USCustomsServiceCommercialDescription"/>
-            <xsd:enumeration value="USCustomsServiceCountervailingDutyCaseNumber"/>
-            <xsd:enumeration value="USCustomsServiceEntryNumber"/>
-            <xsd:enumeration value="USCustomsServiceEntryTypeCode"/>
-            <xsd:enumeration value="USCustomsServicePreApprovalRulingNumber"/>
-            <xsd:enumeration value="USCustomsServicePreClassificationRulingNumber"/>
-            <xsd:enumeration value="USCustomsServiceStatementNumber"/>
-            <xsd:enumeration value="USDOEAndNCES"/>
-            <xsd:enumeration value="USDOTBondSuretyCode"/>
-            <xsd:enumeration value="UserID"/>
-            <xsd:enumeration value="UserIdentification"/>
-            <xsd:enumeration value="USFCCImportCondition"/>
-            <xsd:enumeration value="USFederalAcquisitionRegulation"/>
-            <xsd:enumeration value="USFederalInformationResourcesManagementRegulation"/>
-            <xsd:enumeration value="USFoodAndDrugAdministrationEstablishmentIndicator"/>
-            <xsd:enumeration value="USGeneralServicesAdministrationRegulation"/>
-            <xsd:enumeration value="USGovernmentAgencyNumber"/>
-            <xsd:enumeration value="ValueAddedTaxRegistrationNumber"/>
-            <xsd:enumeration value="VatRegistrationNumber"/>
-            <xsd:enumeration value="VehicleBusinessUseQualifier"/>
-            <xsd:enumeration value="VehicleLicenceNumber"/>
-            <xsd:enumeration value="VehicleRadiusofOperationQualifier"/>
-            <xsd:enumeration value="VehicleRelatedServicesReferenceNumber"/>
-            <xsd:enumeration value="VehicleSizeClassQualifier"/>
-            <xsd:enumeration value="VendorAbbreviationCode"/>
-            <xsd:enumeration value="VendorChangeIdentificationCode"/>
-            <xsd:enumeration value="VendorChangeProcedureCode"/>
-            <xsd:enumeration value="VendorContractNumber"/>
-            <xsd:enumeration value="VendorIDNumber"/>
-            <xsd:enumeration value="VendorOrderNumberSuffix"/>
-            <xsd:enumeration value="VendorProductNumber"/>
-            <xsd:enumeration value="VendorsPreviousJobNumber"/>
-            <xsd:enumeration value="VendorTerms"/>
-            <xsd:enumeration value="VerificationSourceCode"/>
-            <xsd:enumeration value="Version"/>
-            <xsd:enumeration value="VersionCodeLocal"/>
-            <xsd:enumeration value="VersionCodeNational"/>
-            <xsd:enumeration value="VerticalCoordinate"/>
-            <xsd:enumeration value="Vessel"/>
-            <xsd:enumeration value="VesselAgentNumber"/>
-            <xsd:enumeration value="VesselIdentification"/>
-            <xsd:enumeration value="VesselName"/>
-            <xsd:enumeration value="VeteransAdministrationOriginatorIdentification"/>
-            <xsd:enumeration value="VeteransAffairsCaseNumber"/>
-            <xsd:enumeration value="VIN"/>
-            <xsd:enumeration value="VisaType"/>
-            <xsd:enumeration value="VolumeNumber"/>
-            <xsd:enumeration value="VolumePurchaseAgreementNumber"/>
-            <xsd:enumeration value="VoucherNumber"/>
-            <xsd:enumeration value="VoyageNumber"/>
-            <xsd:enumeration value="WageDetermination"/>
-            <xsd:enumeration value="Waiver"/>
-            <xsd:enumeration value="Ward"/>
-            <xsd:enumeration value="WarehouseEntryNumber"/>
-            <xsd:enumeration value="WarehousePickTicketNumber"/>
-            <xsd:enumeration value="WarehouseReceiptNumber"/>
-            <xsd:enumeration value="WarehouseStorageLocationNumber"/>
-            <xsd:enumeration value="Warrant"/>
-            <xsd:enumeration value="WarrantyCoverageCode"/>
-            <xsd:enumeration value="WarrantyRegistrationNumber"/>
-            <xsd:enumeration value="WaybillNumber"/>
-            <xsd:enumeration value="WeaponSystemNumber"/>
-            <xsd:enumeration value="WeightAgreementNumber"/>
-            <xsd:enumeration value="WellClassificationCode"/>
-            <xsd:enumeration value="WellNumber"/>
-            <xsd:enumeration value="WithdrawalAccountNumber"/>
-            <xsd:enumeration value="WithdrawalRecord"/>
-            <xsd:enumeration value="WoolIdentificationNumber"/>
-            <xsd:enumeration value="WoolTaxReferenceNumber"/>
-            <xsd:enumeration value="WorkBreakdownStructure"/>
-            <xsd:enumeration value="WorkCandidateSequenceNumber"/>
-            <xsd:enumeration value="WorkCenter"/>
-            <xsd:enumeration value="WorkingShiftNumber"/>
-            <xsd:enumeration value="WorkItemQuantityDetermination"/>
-            <xsd:enumeration value="WorkOrderNumber"/>
-            <xsd:enumeration value="WorkPackage"/>
-            <xsd:enumeration value="WorkShift"/>
-            <xsd:enumeration value="WorksiteNumber"/>
-            <xsd:enumeration value="WorkTaskChargeNumber"/>
-            <xsd:enumeration value="WorkTeam"/>
-            <xsd:enumeration value="YardPosition"/>
-            <xsd:enumeration value="Zone"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ItemDetail">
-        <xsd:sequence>
-            <xsd:element ref="BaseItemDetail"/>
-            <xsd:element minOccurs="0" ref="PricingDetail"/>
-            <xsd:element minOccurs="0" ref="DeliveryDetail"/>
-            <xsd:element minOccurs="0" ref="RoundTripInformation"/>
-            <xsd:element minOccurs="0" name="LineItemNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfStructuredNote"/>
-            <xsd:element minOccurs="0" ref="ListOfNameValueSet"/>
-            <xsd:element minOccurs="0" name="LineItemAttachments">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfAttachment"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ItemDetail" type="ItemDetail"/>
-    <xsd:complexType name="BaseItemDetail">
-        <xsd:sequence>
-            <xsd:element ref="LineItemNum"/>
-            <xsd:element minOccurs="0" ref="LineItemType"/>
-            <xsd:element minOccurs="0" name="ParentItemNumber">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="LineItemNumberReference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ItemIdentifiers"/>
-            <xsd:element minOccurs="0" ref="ListOfDimension"/>
-            <xsd:element minOccurs="0" name="TotalQuantity">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="MaxBackOrderQuantity">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ListOfQuantityCoded"/>
-            <xsd:element minOccurs="0" name="OffCatalogFlag" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" ref="CatalogReference"/>
-            <xsd:element minOccurs="0" name="ItemContractReferences">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfContractItem"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ListOfItemReferences">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfReferenceCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="CountryOfOrigin">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Country"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="CountryOfDestination">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Country"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="FinalRecipient">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Party"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ListOfPartyCoded"/>
-            <xsd:element minOccurs="0" ref="ConditionsOfSale"/>
-            <xsd:element minOccurs="0" name="HazardousMaterials">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Hazardous"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="BaseItemDetail" type="BaseItemDetail"/>
-    <xsd:complexType name="LineItemNum">
-        <xsd:sequence>
-            <xsd:element name="BuyerLineItemNum" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="SellerLineItemNum" type="xsd:int"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="LineItemNum" type="LineItemNum"/>
-    <xsd:complexType name="LineItemType">
-        <xsd:sequence>
-            <xsd:element name="LineItemTypeCoded" type="LineItemTypeCode"/>
-            <xsd:element minOccurs="0" name="LineItemTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="LineItemType" type="LineItemType"/>
-    <xsd:simpleType name="LineItemTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Item"/>
-            <xsd:enumeration value="ComponentGroup"/>
-            <xsd:enumeration value="TextItem"/>
-            <xsd:enumeration value="Other"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="LineItemNumberReference">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:int">
-                <xsd:attribute name="LineItemNumTypeCoded" type="LineItemNumTypeCode" use="optional" default="Buyer"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="LineItemNumberReference" type="LineItemNumberReference"/>
-    <xsd:simpleType name="LineItemNumTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Buyer"/>
-            <xsd:enumeration value="Seller"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ItemIdentifiers">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" ref="PartNumbers"/>
-            <xsd:element minOccurs="0" name="Service" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" name="ItemDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfItemCharacteristic"/>
-            <xsd:element minOccurs="0" name="CommodityCode">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="Category"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ItemIdentifiers" type="ItemIdentifiers"/>
-    <xsd:complexType name="PartNumbers">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="SellerPartNumber">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="PartNum"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="BuyerPartNumber">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="PartNum"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ManufacturerPartNumber"/>
-            <xsd:element minOccurs="0" name="StandardPartNumber">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ProductIdentifierCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="SubstitutePartNumbers">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfProductIdentifierCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OtherItemIdentifiers">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfProductIdentifierCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PartNumbers" type="PartNumbers"/>
-    <xsd:complexType name="PartNum">
-        <xsd:sequence>
-            <xsd:element name="PartID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="PartIDExt" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="RevisionNumber" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PartNum" type="PartNum"/>
-    <xsd:complexType name="ManufacturerPartNumber">
-        <xsd:complexContent>
-            <xsd:extension base="PartNum">
-                <xsd:sequence>
-                    <xsd:element minOccurs="0" name="ManufacturerID">
-                        <xsd:complexType>
-                            <xsd:sequence>
-                                <xsd:element ref="Identifier"/>
-                            </xsd:sequence>
-                        </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element minOccurs="0" name="ManufacturerName" type="xsd:string"/>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:element name="ManufacturerPartNumber" type="ManufacturerPartNumber"/>
-    <xsd:complexType name="ProductIdentifierCoded">
-        <xsd:sequence>
-            <xsd:element name="ProductIdentifierQualifierCoded" type="ProductIdentifierQualifierCode"/>
-            <xsd:element minOccurs="0" name="ProductIdentifierQualifierCodedOther" type="xsd:string"/>
-            <xsd:element name="ProductIdentifier" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ProductIdentifierExt" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ProductIdentifierCoded" type="ProductIdentifierCoded"/>
-    <xsd:simpleType name="ProductIdentifierQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AdditionalProductIdentificationAssignedByTheManufacturer"/>
-            <xsd:enumeration value="AdvertisingPackageIdentificationCode"/>
-            <xsd:enumeration value="Age"/>
-            <xsd:enumeration value="AggregationCode"/>
-            <xsd:enumeration value="AirTransportationAssociationProprietaryRightsCode"/>
-            <xsd:enumeration value="AllocationMethodologyIdentificationCode"/>
-            <xsd:enumeration value="AlternateISBN"/>
-            <xsd:enumeration value="AmericanDentalAssociationCodes"/>
-            <xsd:enumeration value="AmericanTruckingAssociationsAssembly"/>
-            <xsd:enumeration value="AmericanTruckingAssociationsPart"/>
-            <xsd:enumeration value="AmericanTruckingAssociationsSystem"/>
-            <xsd:enumeration value="Anniversary"/>
-            <xsd:enumeration value="ApplicationCompletionMethod"/>
-            <xsd:enumeration value="ApplicationState"/>
-            <xsd:enumeration value="AppraisalProductType"/>
-            <xsd:enumeration value="AppraisalService"/>
-            <xsd:enumeration value="ARNICPartNumber"/>
-            <xsd:enumeration value="Assembly"/>
-            <xsd:enumeration value="AssemblyLotNumber"/>
-            <xsd:enumeration value="AssetCategory"/>
-            <xsd:enumeration value="AssetNumber"/>
-            <xsd:enumeration value="AssetType"/>
-            <xsd:enumeration value="AssortabilityCode"/>
-            <xsd:enumeration value="AuthorCode"/>
-            <xsd:enumeration value="AuthorizedPartsListNumber"/>
-            <xsd:enumeration value="AutomaticTransmissionSerialNumber"/>
-            <xsd:enumeration value="AuxiliaryTransmissionSerialNumber"/>
-            <xsd:enumeration value="AuxillaryTransmission"/>
-            <xsd:enumeration value="AxleRatio"/>
-            <xsd:enumeration value="AxleSerialNumber"/>
-            <xsd:enumeration value="Backing"/>
-            <xsd:enumeration value="BaleNumber"/>
-            <xsd:enumeration value="Bar-CodedSerialNumber"/>
-            <xsd:enumeration value="BatchNumber"/>
-            <xsd:enumeration value="BeamNumber"/>
-            <xsd:enumeration value="BenefitID"/>
-            <xsd:enumeration value="BeverageCommonCode"/>
-            <xsd:enumeration value="BillboardsCommercial"/>
-            <xsd:enumeration value="BillCreditCode"/>
-            <xsd:enumeration value="BillSubgroupCode"/>
-            <xsd:enumeration value="BindingCode"/>
-            <xsd:enumeration value="BrandOrLabel"/>
-            <xsd:enumeration value="BrokerPriceOpinionService"/>
-            <xsd:enumeration value="BusBodySerialNumber"/>
-            <xsd:enumeration value="BuyerGroundShadeIdentifier"/>
-            <xsd:enumeration value="BuyersCatalogNumber"/>
-            <xsd:enumeration value="BuyersColor"/>
-            <xsd:enumeration value="BuyersEndProductNumber"/>
-            <xsd:enumeration value="BuyersEngineeringChangeLevelNumber"/>
-            <xsd:enumeration value="BuyersInternalProductGroupCode"/>
-            <xsd:enumeration value="BuyersItemNumber"/>
-            <xsd:enumeration value="BuyersPartNumber"/>
-            <xsd:enumeration value="BuyersQualifierForSize"/>
-            <xsd:enumeration value="BuyersSizeCode"/>
-            <xsd:enumeration value="BuyersStyleNumber"/>
-            <xsd:enumeration value="BuyersSublineItemNumber"/>
-            <xsd:enumeration value="CAGECode"/>
-            <xsd:enumeration value="CandidateOil"/>
-            <xsd:enumeration value="Carry-OverPartNumber"/>
-            <xsd:enumeration value="Case"/>
-            <xsd:enumeration value="CatalogNumber"/>
-            <xsd:enumeration value="Channel"/>
-            <xsd:enumeration value="ChassisSerialNumber"/>
-            <xsd:enumeration value="ChemicalAbstractServiceRegistryNumber"/>
-            <xsd:enumeration value="Classification"/>
-            <xsd:enumeration value="ClassOfContractCode"/>
-            <xsd:enumeration value="CLEICode"/>
-            <xsd:enumeration value="CognizanceSymbol"/>
-            <xsd:enumeration value="ColdRollNumber"/>
-            <xsd:enumeration value="Color"/>
-            <xsd:enumeration value="CombinedNCCMAOrBankServiceCode"/>
-            <xsd:enumeration value="CommissionIdentifier"/>
-            <xsd:enumeration value="CommissionYear"/>
-            <xsd:enumeration value="CommitteeForUniformSecurityIdentificationProcedureNumber"/>
-            <xsd:enumeration value="CommodityGrouping"/>
-            <xsd:enumeration value="CommodityName"/>
-            <xsd:enumeration value="CommonLanguageEquipmentIdentifier"/>
-            <xsd:enumeration value="Company-OwnedUnitTrainNumber"/>
-            <xsd:enumeration value="CompanyPartNumber"/>
-            <xsd:enumeration value="CompatibleCutNumber"/>
-            <xsd:enumeration value="CompensationAllocationCode"/>
-            <xsd:enumeration value="CompensationTypeCode"/>
-            <xsd:enumeration value="CompletionNumber"/>
-            <xsd:enumeration value="ConceptCode"/>
-            <xsd:enumeration value="ConfigurationItemIdentifier"/>
-            <xsd:enumeration value="ConnectorType"/>
-            <xsd:enumeration value="Continuation"/>
-            <xsd:enumeration value="ContractActivityCode"/>
-            <xsd:enumeration value="ContractBreakdown"/>
-            <xsd:enumeration value="ContractChangeAuthorizationType"/>
-            <xsd:enumeration value="ContractNumber"/>
-            <xsd:enumeration value="ContractorEstablishmentCode"/>
-            <xsd:enumeration value="ContractTransferReasonCode"/>
-            <xsd:enumeration value="ContributionYear"/>
-            <xsd:enumeration value="ControlNumber"/>
-            <xsd:enumeration value="CountryFromWhichProcured"/>
-            <xsd:enumeration value="CountryOfOriginCode"/>
-            <xsd:enumeration value="CouponFamilyCode"/>
-            <xsd:enumeration value="CouponNumber"/>
-            <xsd:enumeration value="CoverageRiskType"/>
-            <xsd:enumeration value="CoverageType"/>
-            <xsd:enumeration value="CurrentProceduralTerminologyCodes"/>
-            <xsd:enumeration value="CustomerCompanyRegistryNumber"/>
-            <xsd:enumeration value="CustomerOrderNumber"/>
-            <xsd:enumeration value="CustomerProvidedEquipment"/>
-            <xsd:enumeration value="CustomsArticleNumber"/>
-            <xsd:enumeration value="CutNumber"/>
-            <xsd:enumeration value="DataCategory"/>
-            <xsd:enumeration value="DepartmentOfDefenseIdentificationCode"/>
-            <xsd:enumeration value="DepositItemNumber"/>
-            <xsd:enumeration value="DesignNumber"/>
-            <xsd:enumeration value="DeviceFamily"/>
-            <xsd:enumeration value="DeviceType"/>
-            <xsd:enumeration value="DiagnosisCodePointer"/>
-            <xsd:enumeration value="DieNumber"/>
-            <xsd:enumeration value="DiscontinuedPartNumber"/>
-            <xsd:enumeration value="DiscountGrouping"/>
-            <xsd:enumeration value="Distributor"/>
-            <xsd:enumeration value="DividendUse"/>
-            <xsd:enumeration value="DocumentIdentificationCode"/>
-            <xsd:enumeration value="Drawing"/>
-            <xsd:enumeration value="DrawingRevisionNumber"/>
-            <xsd:enumeration value="DrugUPCConsumerPackageCode1-4-6-1"/>
-            <xsd:enumeration value="DrugUPCShippingContainerCode1-2-4-6-1"/>
-            <xsd:enumeration value="DunAndBradstreetStandardProductAndServiceCode"/>
-            <xsd:enumeration value="DyeLotNumber"/>
-            <xsd:enumeration value="EAN2-5-5-1"/>
-            <xsd:enumeration value="EAN-99In-StoreCouponCode"/>
-            <xsd:enumeration value="EditionCode"/>
-            <xsd:enumeration value="EndItemNumber"/>
-            <xsd:enumeration value="End-ItemDescription"/>
-            <xsd:enumeration value="EngineDisplacementIdentification"/>
-            <xsd:enumeration value="EngineeringChangeLevel"/>
-            <xsd:enumeration value="EngineeringDataList"/>
-            <xsd:enumeration value="EngineSerialNumber"/>
-            <xsd:enumeration value="EquipmentCodePerCOPASStandard"/>
-            <xsd:enumeration value="EquipmentHierarchicalSequenceIdentifier"/>
-            <xsd:enumeration value="EquipmentIdentificationNumber"/>
-            <xsd:enumeration value="EquipmentLocation"/>
-            <xsd:enumeration value="EquipmentType"/>
-            <xsd:enumeration value="EventType"/>
-            <xsd:enumeration value="ExchangedPartOrAssemblyOrProduct"/>
-            <xsd:enumeration value="Exhibit"/>
-            <xsd:enumeration value="ExhibitIdentifier"/>
-            <xsd:enumeration value="ExhibitLineItemNumber"/>
-            <xsd:enumeration value="ExpendableContainerIdentification"/>
-            <xsd:enumeration value="ExpenseIdentifier"/>
-            <xsd:enumeration value="FAAServiceBulletinNumber"/>
-            <xsd:enumeration value="FabricPiecesPerRoll"/>
-            <xsd:enumeration value="FailedSubassemblyModelNumber"/>
-            <xsd:enumeration value="FailedSubassemblySerialNumber"/>
-            <xsd:enumeration value="FannieMaeAffordableLendingProductCode"/>
-            <xsd:enumeration value="FannieMaeProjectCondominiumClassificationCode"/>
-            <xsd:enumeration value="Feature"/>
-            <xsd:enumeration value="FederalSupplyClassification"/>
-            <xsd:enumeration value="FifthWheelSerialNumber"/>
-            <xsd:enumeration value="FinalTestLotNumber"/>
-            <xsd:enumeration value="FinancialPhase"/>
-            <xsd:enumeration value="FinishLotNumber"/>
-            <xsd:enumeration value="FinishNumber"/>
-            <xsd:enumeration value="FinishOrHandStandardReference"/>
-            <xsd:enumeration value="FirePump"/>
-            <xsd:enumeration value="FirstPriorIdentifier"/>
-            <xsd:enumeration value="FormerPublisher"/>
-            <xsd:enumeration value="FormNumber"/>
-            <xsd:enumeration value="FreddieMacAffordableLendingProductCode"/>
-            <xsd:enumeration value="FreddieMacProjectCondominiumClassificationCode"/>
-            <xsd:enumeration value="FrontAxle-Rear"/>
-            <xsd:enumeration value="FrontAxleDrivenSerialNumber"/>
-            <xsd:enumeration value="FrontAxleNonDrivenSerialNumber"/>
-            <xsd:enumeration value="FrontAxleSerialNumber"/>
-            <xsd:enumeration value="FuelTankSerialNumber"/>
-            <xsd:enumeration value="Fund"/>
-            <xsd:enumeration value="FundAbbreviation"/>
-            <xsd:enumeration value="FundManager"/>
-            <xsd:enumeration value="FundSub-Advisor"/>
-            <xsd:enumeration value="FundType"/>
-            <xsd:enumeration value="GASFLOWInvoicePostingCode"/>
-            <xsd:enumeration value="GASFLOWProductorServiceChargeCode"/>
-            <xsd:enumeration value="Gathering"/>
-            <xsd:enumeration value="GearRatio"/>
-            <xsd:enumeration value="GeneralSpecificationNumber"/>
-            <xsd:enumeration value="GenericNameDescription"/>
-            <xsd:enumeration value="GliderKit"/>
-            <xsd:enumeration value="GradeCode"/>
-            <xsd:enumeration value="GradeName"/>
-            <xsd:enumeration value="GrainDirection"/>
-            <xsd:enumeration value="GraphicsIndustryBarCode"/>
-            <xsd:enumeration value="GroundShadeStandardReference"/>
-            <xsd:enumeration value="GroupID"/>
-            <xsd:enumeration value="GroupQualifierCode"/>
-            <xsd:enumeration value="GTIN"/>
-            <xsd:enumeration value="HarmonisedSystem"/>
-            <xsd:enumeration value="HCPCS"/>
-            <xsd:enumeration value="HeatNumber"/>
-            <xsd:enumeration value="HIBC-HealthIndustryBarCode"/>
-            <xsd:enumeration value="HIBCSupplierLabelingStandardPrimaryDataMessage"/>
-            <xsd:enumeration value="HIECProductOrServiceCode"/>
-            <xsd:enumeration value="HotRollNumber"/>
-            <xsd:enumeration value="ICD-9-CM-Procedure"/>
-            <xsd:enumeration value="IgnitionKeyNumber"/>
-            <xsd:enumeration value="Imprint-TrademarkCodeOfSubsidiary"/>
-            <xsd:enumeration value="IndustryCommodityCode"/>
-            <xsd:enumeration value="InformationMediaType"/>
-            <xsd:enumeration value="Ingredient"/>
-            <xsd:enumeration value="InsurancePlanDescriptionCharacteristics"/>
-            <xsd:enumeration value="InsurersFundCode"/>
-            <xsd:enumeration value="InterchangeabilityCode"/>
-            <xsd:enumeration value="InteriorColorNumber"/>
-            <xsd:enumeration value="InternalNumber"/>
-            <xsd:enumeration value="InternationalArticleNumberingAssociation"/>
-            <xsd:enumeration value="ICD-9-CM-Diagnosis"/>
-            <xsd:enumeration value="InternationalHarmonizedCommodityCode"/>
-            <xsd:enumeration value="InternationalStandardBookNumber"/>
-            <xsd:enumeration value="InvestmentFundType"/>
-            <xsd:enumeration value="IRSQualificationCode"/>
-            <xsd:enumeration value="ISBN"/>
-            <xsd:enumeration value="ISSN"/>
-            <xsd:enumeration value="ItemManagementCode"/>
-            <xsd:enumeration value="ItemTypeNumber"/>
-            <xsd:enumeration value="JobNumber"/>
-            <xsd:enumeration value="JobSequenceNumber"/>
-            <xsd:enumeration value="JointLifeType"/>
-            <xsd:enumeration value="JurisdictionSpecificProcedureAndSupplyCodes"/>
-            <xsd:enumeration value="KanbanPlanNumber"/>
-            <xsd:enumeration value="LaboratorySampleIdentification"/>
-            <xsd:enumeration value="LaboratoryTestConditionCode"/>
-            <xsd:enumeration value="LaborGroup"/>
-            <xsd:enumeration value="LeaseNumber"/>
-            <xsd:enumeration value="LibraryOfCongressCode"/>
-            <xsd:enumeration value="LifeOrAnnuityProductCode"/>
-            <xsd:enumeration value="LifeOrAnnuityServiceFeatures"/>
-            <xsd:enumeration value="LiftGateSerialNumber"/>
-            <xsd:enumeration value="LineOfAuthority"/>
-            <xsd:enumeration value="LineOfBusiness"/>
-            <xsd:enumeration value="LoadSequence"/>
-            <xsd:enumeration value="LocallyAssignedControlNumber"/>
-            <xsd:enumeration value="LocalStockNumber"/>
-            <xsd:enumeration value="LocationCode"/>
-            <xsd:enumeration value="LOINCCodes"/>
-            <xsd:enumeration value="LotNumber"/>
-            <xsd:enumeration value="LotPricingUnitNumber"/>
-            <xsd:enumeration value="MachineNumber"/>
-            <xsd:enumeration value="MaintenanceIndexPageReferenceNumber"/>
-            <xsd:enumeration value="MajorProductOrMaterialOrMachineType"/>
-            <xsd:enumeration value="ManualTransmissionSerialNumber"/>
-            <xsd:enumeration value="Manufacturer"/>
-            <xsd:enumeration value="ManufacturersArticleNumber"/>
-            <xsd:enumeration value="ManufacturersPartNumber"/>
-            <xsd:enumeration value="MarketProgramCode"/>
-            <xsd:enumeration value="MaterialCode"/>
-            <xsd:enumeration value="MaterialControlCode"/>
-            <xsd:enumeration value="MaterialDischargeNumber"/>
-            <xsd:enumeration value="MeasurementTypeCode"/>
-            <xsd:enumeration value="MedicalInformationBureauAuthorization"/>
-            <xsd:enumeration value="MedicalStopLossCoverageCodes"/>
-            <xsd:enumeration value="MedicalStopLossLevelCodes"/>
-            <xsd:enumeration value="MedicalStopLossProductLineCodes"/>
-            <xsd:enumeration value="MedicationCode"/>
-            <xsd:enumeration value="MEMAProductTypeCode"/>
-            <xsd:enumeration value="MethodOfDeliveryCode"/>
-            <xsd:enumeration value="MilestoneEventNumber"/>
-            <xsd:enumeration value="MilitaryStandard"/>
-            <xsd:enumeration value="MILSPECNumber"/>
-            <xsd:enumeration value="ModelNumber"/>
-            <xsd:enumeration value="MortgageCreditDataOrderType"/>
-            <xsd:enumeration value="MortgageInsuranceProductCodeOrNumber"/>
-            <xsd:enumeration value="MortgageProductCode"/>
-            <xsd:enumeration value="MortgageUnderwritingType"/>
-            <xsd:enumeration value="MotorVehicleIdNumber"/>
-            <xsd:enumeration value="MotorVehicle-LineDesignator"/>
-            <xsd:enumeration value="MovementTypeCode"/>
-            <xsd:enumeration value="NationalDrugCode"/>
-            <xsd:enumeration value="NationalDrugCode4-4-2Format"/>
-            <xsd:enumeration value="NationalDrugCode5-3-2Format"/>
-            <xsd:enumeration value="NationalDrugCode5-4-1Format"/>
-            <xsd:enumeration value="NationalDrugCode5-4-2Format"/>
-            <xsd:enumeration value="NationalHealthRelatedItemCode"/>
-            <xsd:enumeration value="NationalHealthRelatedItemCodeIn4-6Format"/>
-            <xsd:enumeration value="NationalHealthRelatedItemCodeIn5-5Format"/>
-            <xsd:enumeration value="NationalProductGroupCode"/>
-            <xsd:enumeration value="NationalRetailFederationColorCode"/>
-            <xsd:enumeration value="NationalRetailFederationSizeCode"/>
-            <xsd:enumeration value="NationalStockNumber"/>
-            <xsd:enumeration value="NDC"/>
-            <xsd:enumeration value="NewMicrocode"/>
-            <xsd:enumeration value="NewReplacementPartOrAssemblyDefective"/>
-            <xsd:enumeration value="NextHigherAssemblyNumber"/>
-            <xsd:enumeration value="NextHigherUsedAssembly"/>
-            <xsd:enumeration value="NonforfeitureOption"/>
-            <xsd:enumeration value="Non-ResaleableItemExcludingDepositNumber"/>
-            <xsd:enumeration value="NSN-NorthAtlanticTreatyOrganizationStockNumber"/>
-            <xsd:enumeration value="NUBCUB82Codes"/>
-            <xsd:enumeration value="NUBCUB92Codes"/>
-            <xsd:enumeration value="NumberOfPositionsOnMachine"/>
-            <xsd:enumeration value="ObligationAuthorityNumber"/>
-            <xsd:enumeration value="ObsoletePartNumber"/>
-            <xsd:enumeration value="OfferNumber"/>
-            <xsd:enumeration value="OldMicrocode"/>
-            <xsd:enumeration value="OldUPCOrEANCaseCode"/>
-            <xsd:enumeration value="OldUPCOrEANConsumerPackageCode"/>
-            <xsd:enumeration value="OldUPCOrEANModuleCode"/>
-            <xsd:enumeration value="OldUPCOrEANMultipackCode"/>
-            <xsd:enumeration value="OperatorAssignedPropertyIdentification"/>
-            <xsd:enumeration value="Opposite-HandPartNumber"/>
-            <xsd:enumeration value="OpticalCableCode"/>
-            <xsd:enumeration value="OpticalIndustryProductCode"/>
-            <xsd:enumeration value="OriginalEquipmentNumber"/>
-            <xsd:enumeration value="OutsideProductionOperationSheetNumber"/>
-            <xsd:enumeration value="PackageTypeCode"/>
-            <xsd:enumeration value="PackagingDrawing"/>
-            <xsd:enumeration value="PackagingSpecificationNumber"/>
-            <xsd:enumeration value="PackNumber"/>
-            <xsd:enumeration value="PartDrawing"/>
-            <xsd:enumeration value="PartNumber"/>
-            <xsd:enumeration value="PartNumberDescription"/>
-            <xsd:enumeration value="PartReferenceNumber"/>
-            <xsd:enumeration value="PatternNumber"/>
-            <xsd:enumeration value="PASCCEC-GoodsAndServicesTaxForwarded"/>
-            <xsd:enumeration value="PASCCEC-GoodsAndServicesTaxNotApplicable"/>
-            <xsd:enumeration value="PASC-NonTubularCode"/>
-            <xsd:enumeration value="PASCOMC-GoodsAndServicesTaxForwarded"/>
-            <xsd:enumeration value="PASCOMC-GoodsAndServicesTaxNotApplicable"/>
-            <xsd:enumeration value="PetroleumAccountantsSocietyOfCanadaTubularCode"/>
-            <xsd:enumeration value="Phase"/>
-            <xsd:enumeration value="PiecesInRoll"/>
-            <xsd:enumeration value="PiggybackCommercial"/>
-            <xsd:enumeration value="PipelineTransactionCode"/>
-            <xsd:enumeration value="PlanCode"/>
-            <xsd:enumeration value="PlantEquipmentNumber"/>
-            <xsd:enumeration value="Ply"/>
-            <xsd:enumeration value="PolicyForm"/>
-            <xsd:enumeration value="Position"/>
-            <xsd:enumeration value="PreferredManufacturer"/>
-            <xsd:enumeration value="PreferredNationalStockNumber"/>
-            <xsd:enumeration value="PreferredPartNumber"/>
-            <xsd:enumeration value="PremiumRateType"/>
-            <xsd:enumeration value="PremiumUse"/>
-            <xsd:enumeration value="PreviousCarrier"/>
-            <xsd:enumeration value="PreviousSampleIdentification"/>
-            <xsd:enumeration value="PriceLookUpNumber"/>
-            <xsd:enumeration value="PrimeContractorPartNumber"/>
-            <xsd:enumeration value="PrintColorStandardReference"/>
-            <xsd:enumeration value="PrintOrDrawing"/>
-            <xsd:enumeration value="ProcessNumber"/>
-            <xsd:enumeration value="ProductOrServiceIdentificationNumber"/>
-            <xsd:enumeration value="ProductChangeNoticeNumber"/>
-            <xsd:enumeration value="ProductDateCode"/>
-            <xsd:enumeration value="ProductIdAttributeCode"/>
-            <xsd:enumeration value="ProductTypeCode"/>
-            <xsd:enumeration value="ProductVersionNumber"/>
-            <xsd:enumeration value="ProgramCode"/>
-            <xsd:enumeration value="ProgramDescriptionIdentifier"/>
-            <xsd:enumeration value="ProgramLevel"/>
-            <xsd:enumeration value="PromotionalVariantNumber"/>
-            <xsd:enumeration value="PropertyAndCasualtyServiceCode"/>
-            <xsd:enumeration value="PublicationNumber"/>
-            <xsd:enumeration value="PublisherCode"/>
-            <xsd:enumeration value="PurchaseOrderNumber"/>
-            <xsd:enumeration value="PurchasersItemCode"/>
-            <xsd:enumeration value="PurchasersOrderLineNumber"/>
-            <xsd:enumeration value="PurposeOfInsurance"/>
-            <xsd:enumeration value="RackNumber"/>
-            <xsd:enumeration value="RadiatorSerialNumber"/>
-            <xsd:enumeration value="Railroad-OwnedUnitTrainNumber"/>
-            <xsd:enumeration value="RandomWeightAggregationCode"/>
-            <xsd:enumeration value="RateDetailCard"/>
-            <xsd:enumeration value="RealEstatePropertyInformationService"/>
-            <xsd:enumeration value="RearAxleExtendedTag"/>
-            <xsd:enumeration value="RearAxleFrontRearDrivenSerialNumber"/>
-            <xsd:enumeration value="RearAxleMiddle"/>
-            <xsd:enumeration value="RearAxlePusher"/>
-            <xsd:enumeration value="RearAxleRearDrivenSerialNumber"/>
-            <xsd:enumeration value="RearAxleRearNonDrivenSerialNumber"/>
-            <xsd:enumeration value="RearAxleSerialNumber"/>
-            <xsd:enumeration value="RearAxleTag"/>
-            <xsd:enumeration value="ReclamationProcess"/>
-            <xsd:enumeration value="RecordKeepingOrModelYear"/>
-            <xsd:enumeration value="ReeferSerialNumber"/>
-            <xsd:enumeration value="ReelNumber"/>
-            <xsd:enumeration value="ReelType"/>
-            <xsd:enumeration value="ReferenceOil"/>
-            <xsd:enumeration value="RefinedProductCode"/>
-            <xsd:enumeration value="RelatedModelNumber"/>
-            <xsd:enumeration value="RelatedModelType"/>
-            <xsd:enumeration value="RelatedPolicyIdentification"/>
-            <xsd:enumeration value="RelativeValueUnits"/>
-            <xsd:enumeration value="ReleaseNumber"/>
-            <xsd:enumeration value="ReligiousRetailNon-BookItem"/>
-            <xsd:enumeration value="RepairFromProductCode"/>
-            <xsd:enumeration value="RepairInductionIdentifier"/>
-            <xsd:enumeration value="RepairTagNumber"/>
-            <xsd:enumeration value="ReplacedPartNumber"/>
-            <xsd:enumeration value="ReplacementNationalStockNumber"/>
-            <xsd:enumeration value="ReplacementProductNumber"/>
-            <xsd:enumeration value="ReplacementSubassemblyModelNumber"/>
-            <xsd:enumeration value="ReplacementSubassemblySerialNumber"/>
-            <xsd:enumeration value="ResourceNumber"/>
-            <xsd:enumeration value="RetailPLU"/>
-            <xsd:enumeration value="ReturnableContainerNumber"/>
-            <xsd:enumeration value="ReturnCode"/>
-            <xsd:enumeration value="RollNumber"/>
-            <xsd:enumeration value="RollSequenceNumber"/>
-            <xsd:enumeration value="RSKNumber"/>
-            <xsd:enumeration value="RunNumber"/>
-            <xsd:enumeration value="SalesPresentationID"/>
-            <xsd:enumeration value="SampleNumber"/>
-            <xsd:enumeration value="SchematicDiagramReferenceNumber"/>
-            <xsd:enumeration value="SeatSerialNumber"/>
-            <xsd:enumeration value="SecondaryPly"/>
-            <xsd:enumeration value="SecondPriorIdentifier"/>
-            <xsd:enumeration value="SectionPrintNumber"/>
-            <xsd:enumeration value="SellersDateCode"/>
-            <xsd:enumeration value="SellersLotNumber"/>
-            <xsd:enumeration value="SerialItemAndContributionIdentifier"/>
-            <xsd:enumeration value="SerialNumber"/>
-            <xsd:enumeration value="SeriesIdentifier"/>
-            <xsd:enumeration value="ServiceCodePerCOPASStandard"/>
-            <xsd:enumeration value="ServiceControlIdentification"/>
-            <xsd:enumeration value="ServiceFeatureID"/>
-            <xsd:enumeration value="ServiceRendered"/>
-            <xsd:enumeration value="ServiceRequested"/>
-            <xsd:enumeration value="SetNumber"/>
-            <xsd:enumeration value="SettlementOrPayoutOption"/>
-            <xsd:enumeration value="Shelf-LifeActionCode"/>
-            <xsd:enumeration value="Shelf-LifeCode"/>
-            <xsd:enumeration value="ShiftWorked"/>
-            <xsd:enumeration value="SideUpOrSideDown"/>
-            <xsd:enumeration value="SkillCode"/>
-            <xsd:enumeration value="SKU"/>
-            <xsd:enumeration value="SlabNumber"/>
-            <xsd:enumeration value="SleeperBoxKeyNumber"/>
-            <xsd:enumeration value="SleeperBoxSerialNumber"/>
-            <xsd:enumeration value="SNOMED"/>
-            <xsd:enumeration value="SoftwareRevisionNumber"/>
-            <xsd:enumeration value="SourceOfDepositCode"/>
-            <xsd:enumeration value="SourceOfLeadCode"/>
-            <xsd:enumeration value="SpecialMaterialIdentificationCode"/>
-            <xsd:enumeration value="SSCC-18AndApplicationIdentifier"/>
-            <xsd:enumeration value="StandardGroupOfProducts-MixedAssortment"/>
-            <xsd:enumeration value="StandardIndustrialClassificationCode"/>
-            <xsd:enumeration value="StateLabelCode"/>
-            <xsd:enumeration value="StateSampleIdentification"/>
-            <xsd:enumeration value="StockNumber"/>
-            <xsd:enumeration value="StyleNumber"/>
-            <xsd:enumeration value="SublineItemNumber"/>
-            <xsd:enumeration value="SubmissionNumber"/>
-            <xsd:enumeration value="SubsistenceIdentificationNumber"/>
-            <xsd:enumeration value="SubstituteProductNumber"/>
-            <xsd:enumeration value="SubtopicLevel"/>
-            <xsd:enumeration value="SupersededPartNumber"/>
-            <xsd:enumeration value="SupersededPurchaseOrderNumber"/>
-            <xsd:enumeration value="SupplierBrandCode"/>
-            <xsd:enumeration value="SupplierCompanyRegistryNumber"/>
-            <xsd:enumeration value="SuppliersArticleNumber"/>
-            <xsd:enumeration value="SuppliersSupplierArticleNumber"/>
-            <xsd:enumeration value="SurfaceFinish"/>
-            <xsd:enumeration value="SyntheticLube"/>
-            <xsd:enumeration value="SystemIdentifier"/>
-            <xsd:enumeration value="TACTCommodityCode"/>
-            <xsd:enumeration value="TaxCode"/>
-            <xsd:enumeration value="TechnicalManualNumber"/>
-            <xsd:enumeration value="TechnicalOrderNumber"/>
-            <xsd:enumeration value="TechnicalPhase"/>
-            <xsd:enumeration value="TelecommunicationsCircuitId"/>
-            <xsd:enumeration value="TelecommunicationsIndustryServiceCode"/>
-            <xsd:enumeration value="TelecomServiceType"/>
-            <xsd:enumeration value="TelephoneIndustryManufacturerCode"/>
-            <xsd:enumeration value="TestedMaterialIdentificationNumber"/>
-            <xsd:enumeration value="Tex"/>
-            <xsd:enumeration value="ThirdPriorIdentifier"/>
-            <xsd:enumeration value="TimeCompliantTechnicalOrder"/>
-            <xsd:enumeration value="TitleCode"/>
-            <xsd:enumeration value="TopicLevel"/>
-            <xsd:enumeration value="TradeInIdentifier"/>
-            <xsd:enumeration value="TransferCaseSerialNumber"/>
-            <xsd:enumeration value="TransmissionSerialNumber"/>
-            <xsd:enumeration value="TransportGroupNumber"/>
-            <xsd:enumeration value="TreasuryManagementAssociation"/>
-            <xsd:enumeration value="TreasuryManagementAssociationServiceCode"/>
-            <xsd:enumeration value="TreasuryManagementAssociationServiceCodeAndBankServiceCode"/>
-            <xsd:enumeration value="TreatmentCodes"/>
-            <xsd:enumeration value="TruckBodySerialNumber"/>
-            <xsd:enumeration value="TypeSelvage"/>
-            <xsd:enumeration value="UCCOrEAN-128CouponExtendedCode"/>
-            <xsd:enumeration value="UltimateCustomersArticleNumber"/>
-            <xsd:enumeration value="UNCCS"/>
-            <xsd:enumeration value="UnderwritingMethodOfDirectWriter"/>
-            <xsd:enumeration value="UniformStockSymbolSystemCodeNumber"/>
-            <xsd:enumeration value="UniversalProductNumber"/>
-            <xsd:enumeration value="UNNumberDangerousGoods"/>
-            <xsd:enumeration value="UPC"/>
-            <xsd:enumeration value="UPCOrEAN"/>
-            <xsd:enumeration value="UPCCaseCodeNumber1-1-5-5"/>
-            <xsd:enumeration value="UPCConsumerPackageCode1-5-5"/>
-            <xsd:enumeration value="UPCConsumerPackageCode1-5-5-1"/>
-            <xsd:enumeration value="UPCCouponCode1-5-5-1"/>
-            <xsd:enumeration value="UPCOrEANCaseCode2-5-5"/>
-            <xsd:enumeration value="UPCOrEANConsumerPackageCode2-5-5"/>
-            <xsd:enumeration value="UPCOrEANCouponCode2-5-5"/>
-            <xsd:enumeration value="UPCOrEANModuleCode2-5-5"/>
-            <xsd:enumeration value="UPCOrEANMultipackCode"/>
-            <xsd:enumeration value="UPCOrEANShippingContainerCode1-2-5-5-1"/>
-            <xsd:enumeration value="UPCShippingContainerCode1-2-5-5"/>
-            <xsd:enumeration value="UPCSuffix"/>
-            <xsd:enumeration value="UPCSuffix-DefinesPackingVariations"/>
-            <xsd:enumeration value="User-DefinedShippingContainerIdentifier"/>
-            <xsd:enumeration value="UVMRPMLines"/>
-            <xsd:enumeration value="UVMULine"/>
-            <xsd:enumeration value="VariableMeasureProductCode"/>
-            <xsd:enumeration value="VaryItemProductNumber"/>
-            <xsd:enumeration value="VehicleMaintenanceReportingStandards"/>
-            <xsd:enumeration value="VendorAlphanumericSizeCode"/>
-            <xsd:enumeration value="VendorColor"/>
-            <xsd:enumeration value="VendorGroundShadeIdentifier"/>
-            <xsd:enumeration value="VendorItemNumber"/>
-            <xsd:enumeration value="VendorsCatalogNumber"/>
-            <xsd:enumeration value="VendorsItemNumber"/>
-            <xsd:enumeration value="VendorsPartNumber"/>
-            <xsd:enumeration value="VendorsBasicUnitNumber"/>
-            <xsd:enumeration value="VendorsEngineeringChangeLevelNumber"/>
-            <xsd:enumeration value="VendorsOrderNumber"/>
-            <xsd:enumeration value="VendorSpecificationNumber"/>
-            <xsd:enumeration value="VendorsStyleNumber"/>
-            <xsd:enumeration value="VendorsSupplementalItemNumber"/>
-            <xsd:enumeration value="Vintage"/>
-            <xsd:enumeration value="VolumeSet"/>
-            <xsd:enumeration value="VolumeTypeIdentificationCode"/>
-            <xsd:enumeration value="VolumeUsageIdentificationCode"/>
-            <xsd:enumeration value="WaferLotIdentifier"/>
-            <xsd:enumeration value="WellNumber"/>
-            <xsd:enumeration value="WheelChairLiftSerialNumber"/>
-            <xsd:enumeration value="WoolenCut"/>
-            <xsd:enumeration value="WoolenRun"/>
-            <xsd:enumeration value="WorkTaskNumber"/>
-            <xsd:enumeration value="WorkUnitNumber"/>
-            <xsd:enumeration value="WorldCode"/>
-            <xsd:enumeration value="YarnCount-English"/>
-            <xsd:enumeration value="YarnCount-Metric"/>
-            <xsd:enumeration value="YarnCountWorsted"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfProductIdentifierCoded">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ProductIdentifierCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfProductIdentifierCoded" type="ListOfProductIdentifierCoded"/>
-    <xsd:complexType name="ListOfItemCharacteristic">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ItemCharacteristic"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfItemCharacteristic" type="ListOfItemCharacteristic"/>
-    <xsd:complexType name="ItemCharacteristic">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="ItemCharacteristicCoded" type="ItemCharacteristicCode"/>
-            <xsd:element minOccurs="0" name="ItemCharacteristicCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SurfaceLayerPositionCoded" type="SurfaceLayerPositionCode"/>
-            <xsd:element minOccurs="0" name="SurfaceLayerPositionCodedOther" type="xsd:string"/>
-            <xsd:element name="ItemCharacteristicValue" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Identifier"/>
-            <xsd:element minOccurs="0" ref="UnitOfMeasurement"/>
-            <xsd:element minOccurs="0" ref="ListOfDimension"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ItemCharacteristic" type="ItemCharacteristic"/>
-    <xsd:simpleType name="ItemCharacteristicCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AdditionalSectorialCharacteristics"/>
-            <xsd:enumeration value="Age"/>
-            <xsd:enumeration value="AlcoholBeverageClass"/>
-            <xsd:enumeration value="AlcoholBeverageType"/>
-            <xsd:enumeration value="Alloy"/>
-            <xsd:enumeration value="AnatomicalOriginOfSample"/>
-            <xsd:enumeration value="Appearance"/>
-            <xsd:enumeration value="Artist"/>
-            <xsd:enumeration value="AssemblyRequired"/>
-            <xsd:enumeration value="Author"/>
-            <xsd:enumeration value="BalanceOutArticle"/>
-            <xsd:enumeration value="BasisWeightSize"/>
-            <xsd:enumeration value="Behind-the-CounterDrugs"/>
-            <xsd:enumeration value="BeverageAge"/>
-            <xsd:enumeration value="BeverageBrand"/>
-            <xsd:enumeration value="BeverageCategory"/>
-            <xsd:enumeration value="BeverageContainerCharacteristics"/>
-            <xsd:enumeration value="BeverageFlavour"/>
-            <xsd:enumeration value="BeverageSegment"/>
-            <xsd:enumeration value="Binding"/>
-            <xsd:enumeration value="BottomholeLocationMethod"/>
-            <xsd:enumeration value="BottomholePressureMethod"/>
-            <xsd:enumeration value="BrandGroup"/>
-            <xsd:enumeration value="BrandGroup-AGroupingOfSimilarBrands"/>
-            <xsd:enumeration value="BureauofAlcoholTobaccoAndFirearmsClassCode"/>
-            <xsd:enumeration value="BureauOfAlcoholTobaccoAndFirearmsTypeCode"/>
-            <xsd:enumeration value="BuyersColorDescription"/>
-            <xsd:enumeration value="BuyersItemSizeDescription"/>
-            <xsd:enumeration value="Casing-Liner-TubingType"/>
-            <xsd:enumeration value="CasingOrLinerType"/>
-            <xsd:enumeration value="CertificateOfConformity"/>
-            <xsd:enumeration value="Chassis"/>
-            <xsd:enumeration value="ChemicalFamilyName"/>
-            <xsd:enumeration value="Chemistry"/>
-            <xsd:enumeration value="CID-CommercialItemDescription"/>
-            <xsd:enumeration value="Coating"/>
-            <xsd:enumeration value="CoatingOrPaintSystemCode"/>
-            <xsd:enumeration value="CoatingOrPaintSystemName"/>
-            <xsd:enumeration value="Collateral"/>
-            <xsd:enumeration value="CollectionMethodCode"/>
-            <xsd:enumeration value="Color"/>
-            <xsd:enumeration value="Color-LowerBody"/>
-            <xsd:enumeration value="Color-UpperBody"/>
-            <xsd:enumeration value="CommercialStatus"/>
-            <xsd:enumeration value="CommonChemicalName"/>
-            <xsd:enumeration value="CompanyFieldCode"/>
-            <xsd:enumeration value="ComplianceMethod"/>
-            <xsd:enumeration value="Composer"/>
-            <xsd:enumeration value="ConditionedCode"/>
-            <xsd:enumeration value="ConstructionMethod"/>
-            <xsd:enumeration value="ConsumableResource"/>
-            <xsd:enumeration value="ConsumerInstructions"/>
-            <xsd:enumeration value="ControlItem"/>
-            <xsd:enumeration value="ControlledSubstance"/>
-            <xsd:enumeration value="ControlledSubstance-Class2"/>
-            <xsd:enumeration value="ControlledSubstance-Class3Narcotic"/>
-            <xsd:enumeration value="ControlledSubstance-Class3NNon-narcotic"/>
-            <xsd:enumeration value="ControlledSubstance-Class4"/>
-            <xsd:enumeration value="ControlledSubstance-Class5"/>
-            <xsd:enumeration value="CoordinateDescriptionCode"/>
-            <xsd:enumeration value="Coordinates"/>
-            <xsd:enumeration value="CorrosionResistance"/>
-            <xsd:enumeration value="Coupling"/>
-            <xsd:enumeration value="CurrentArticle"/>
-            <xsd:enumeration value="CurrentArticleSpares"/>
-            <xsd:enumeration value="CustomsSpecifications"/>
-            <xsd:enumeration value="DamageCode"/>
-            <xsd:enumeration value="DamageFault"/>
-            <xsd:enumeration value="Denier"/>
-            <xsd:enumeration value="Density"/>
-            <xsd:enumeration value="Dimensional"/>
-            <xsd:enumeration value="DirectionalIndicator"/>
-            <xsd:enumeration value="Dispersion"/>
-            <xsd:enumeration value="DosageForm"/>
-            <xsd:enumeration value="DrugEfficacy"/>
-            <xsd:enumeration value="DrugEfficacyStudyImplementation"/>
-            <xsd:enumeration value="DyeLot"/>
-            <xsd:enumeration value="DyeLotDescription"/>
-            <xsd:enumeration value="EdgeTreatment"/>
-            <xsd:enumeration value="Edition"/>
-            <xsd:enumeration value="Editor"/>
-            <xsd:enumeration value="Electrical"/>
-            <xsd:enumeration value="ElectronicallyCleaned"/>
-            <xsd:enumeration value="ElectronicField"/>
-            <xsd:enumeration value="Ends-Slitting-Splitting-Cutting"/>
-            <xsd:enumeration value="EndTreatment"/>
-            <xsd:enumeration value="EndUseApplication"/>
-            <xsd:enumeration value="Engine"/>
-            <xsd:enumeration value="EnginewithTransmission"/>
-            <xsd:enumeration value="Equipment"/>
-            <xsd:enumeration value="EscrowCode"/>
-            <xsd:enumeration value="EuropeanCommunityRiskClass"/>
-            <xsd:enumeration value="Fabric"/>
-            <xsd:enumeration value="FabricDescription"/>
-            <xsd:enumeration value="FailureAnalysisProcess"/>
-            <xsd:enumeration value="FEDSPEC-FederalSpecification"/>
-            <xsd:enumeration value="FED-STD-FederalStandard"/>
-            <xsd:enumeration value="Fiber"/>
-            <xsd:enumeration value="FibreTow"/>
-            <xsd:enumeration value="FieldCode-EIAOrDOD"/>
-            <xsd:enumeration value="FieldTest"/>
-            <xsd:enumeration value="Filament"/>
-            <xsd:enumeration value="Filter"/>
-            <xsd:enumeration value="Finish"/>
-            <xsd:enumeration value="FinishOrSurfaceRoughness"/>
-            <xsd:enumeration value="Flavor"/>
-            <xsd:enumeration value="Flow"/>
-            <xsd:enumeration value="Fluid"/>
-            <xsd:enumeration value="FoldConfiguration"/>
-            <xsd:enumeration value="Font"/>
-            <xsd:enumeration value="ForecastDeviation"/>
-            <xsd:enumeration value="Forming"/>
-            <xsd:enumeration value="Formula"/>
-            <xsd:enumeration value="Fragrance"/>
-            <xsd:enumeration value="Fuel"/>
-            <xsd:enumeration value="FunctionalPerformance"/>
-            <xsd:enumeration value="FurtherIdentifyingCharacteristic"/>
-            <xsd:enumeration value="GeneralDescription"/>
-            <xsd:enumeration value="GeneralMerchandise"/>
-            <xsd:enumeration value="GeneralProductForm"/>
-            <xsd:enumeration value="GenericDrug"/>
-            <xsd:enumeration value="Goods"/>
-            <xsd:enumeration value="Grade"/>
-            <xsd:enumeration value="GrainDirection"/>
-            <xsd:enumeration value="GrapeVariety"/>
-            <xsd:enumeration value="HazardousMaterial"/>
-            <xsd:enumeration value="HazardRatingSystem"/>
-            <xsd:enumeration value="HealthAndBeautyAids"/>
-            <xsd:enumeration value="HeatTreatOrAnneal"/>
-            <xsd:enumeration value="Hydraulics"/>
-            <xsd:enumeration value="Ingredient"/>
-            <xsd:enumeration value="InitialSample"/>
-            <xsd:enumeration value="Injectables"/>
-            <xsd:enumeration value="Key-Word"/>
-            <xsd:enumeration value="Kit"/>
-            <xsd:enumeration value="Labour"/>
-            <xsd:enumeration value="LabourDoubleTime"/>
-            <xsd:enumeration value="LabourOvertime"/>
-            <xsd:enumeration value="LeadOrCopperSampleType"/>
-            <xsd:enumeration value="LeasedResource"/>
-            <xsd:enumeration value="LimitingOperation"/>
-            <xsd:enumeration value="Luster"/>
-            <xsd:enumeration value="MachineRun"/>
-            <xsd:enumeration value="Magnetic"/>
-            <xsd:enumeration value="MajorGrade"/>
-            <xsd:enumeration value="ManufacturingMethod"/>
-            <xsd:enumeration value="ManufacturingProcess"/>
-            <xsd:enumeration value="MarketSegment"/>
-            <xsd:enumeration value="Marking"/>
-            <xsd:enumeration value="Material"/>
-            <xsd:enumeration value="MaterialClassification"/>
-            <xsd:enumeration value="MaterialDescription"/>
-            <xsd:enumeration value="MaterialResource"/>
-            <xsd:enumeration value="MaterialStatus-OutsideProcessor"/>
-            <xsd:enumeration value="Mechanical"/>
-            <xsd:enumeration value="MedicalSupplies"/>
-            <xsd:enumeration value="Metallographic"/>
-            <xsd:enumeration value="MILSPEC-MilitarySpecification"/>
-            <xsd:enumeration value="MMSBLM-IndianLandPropertyOrUnitNumber"/>
-            <xsd:enumeration value="Moisture"/>
-            <xsd:enumeration value="Multi-Media"/>
-            <xsd:enumeration value="MusicStyle"/>
-            <xsd:enumeration value="MutuallyDefined"/>
-            <xsd:enumeration value="NewArticle"/>
-            <xsd:enumeration value="Non-HazardousMaterial"/>
-            <xsd:enumeration value="Non-PrescriptionDrug"/>
-            <xsd:enumeration value="NonRecurringResource"/>
-            <xsd:enumeration value="Nutrition"/>
-            <xsd:enumeration value="ObsoleteArticle"/>
-            <xsd:enumeration value="Odor"/>
-            <xsd:enumeration value="Odorized"/>
-            <xsd:enumeration value="Options"/>
-            <xsd:enumeration value="Orientation"/>
-            <xsd:enumeration value="OtherDirectResource"/>
-            <xsd:enumeration value="OtherPhysicalDescription"/>
-            <xsd:enumeration value="Over-the-CounterDrug"/>
-            <xsd:enumeration value="PackageIntegrity"/>
-            <xsd:enumeration value="Parameter"/>
-            <xsd:enumeration value="Pattern"/>
-            <xsd:enumeration value="PercentageOfAlcohol"/>
-            <xsd:enumeration value="PerforationContinuityIndicator"/>
-            <xsd:enumeration value="PerforationInterval"/>
-            <xsd:enumeration value="PerforationType"/>
-            <xsd:enumeration value="Physical"/>
-            <xsd:enumeration value="PhysicalForm"/>
-            <xsd:enumeration value="PhysicalForm-Aerosol"/>
-            <xsd:enumeration value="PhysicalForm-AsDiluted"/>
-            <xsd:enumeration value="PhysicalForm-Concentrate"/>
-            <xsd:enumeration value="PhysicalForm-Emulsion"/>
-            <xsd:enumeration value="PhysicalForm-Gas"/>
-            <xsd:enumeration value="PhysicalForm-Liquid"/>
-            <xsd:enumeration value="PhysicalForm-Powder"/>
-            <xsd:enumeration value="PhysicalForm-Semisolid"/>
-            <xsd:enumeration value="PhysicalForm-Solid"/>
-            <xsd:enumeration value="PipeCoupling"/>
-            <xsd:enumeration value="PipelineStream"/>
-            <xsd:enumeration value="PrecautionaryInstructions"/>
-            <xsd:enumeration value="PrescriptionDrug"/>
-            <xsd:enumeration value="PresentationEffect"/>
-            <xsd:enumeration value="Preservative"/>
-            <xsd:enumeration value="PrimaryGrape"/>
-            <xsd:enumeration value="PrintOrientation"/>
-            <xsd:enumeration value="PrivateLabelName"/>
-            <xsd:enumeration value="ProcessActionTaken"/>
-            <xsd:enumeration value="ProcessOrProductionUnit"/>
-            <xsd:enumeration value="Product"/>
-            <xsd:enumeration value="ProductApplication"/>
-            <xsd:enumeration value="ProductDataBaseManagementDescription"/>
-            <xsd:enumeration value="ProductLifeCycle"/>
-            <xsd:enumeration value="Program"/>
-            <xsd:enumeration value="ProjectSubject"/>
-            <xsd:enumeration value="PromotionalEvent"/>
-            <xsd:enumeration value="PromotionalOffer"/>
-            <xsd:enumeration value="Proof"/>
-            <xsd:enumeration value="Proprietary"/>
-            <xsd:enumeration value="PublicInformation"/>
-            <xsd:enumeration value="Publisher"/>
-            <xsd:enumeration value="PureForm"/>
-            <xsd:enumeration value="Put-upDescription"/>
-            <xsd:enumeration value="Quality"/>
-            <xsd:enumeration value="QualityAssuranceStatus"/>
-            <xsd:enumeration value="Quality-QualityLevel"/>
-            <xsd:enumeration value="RecordingMedium"/>
-            <xsd:enumeration value="RecurringResource"/>
-            <xsd:enumeration value="Recycle"/>
-            <xsd:enumeration value="RefurbishedArticle"/>
-            <xsd:enumeration value="RegulatoryOrStateDistrict"/>
-            <xsd:enumeration value="Regulatory-StateOrEntityCode"/>
-            <xsd:enumeration value="ReinstatedArticle"/>
-            <xsd:enumeration value="RejectionReason"/>
-            <xsd:enumeration value="ReservoirCode-Company"/>
-            <xsd:enumeration value="ResultsMethodCode"/>
-            <xsd:enumeration value="RevisedArticle"/>
-            <xsd:enumeration value="RevisedDesign"/>
-            <xsd:enumeration value="RouteOfAdministration"/>
-            <xsd:enumeration value="SampleType"/>
-            <xsd:enumeration value="SecondaryGrape"/>
-            <xsd:enumeration value="SecretOrConfidentialInformation"/>
-            <xsd:enumeration value="SectionProfile"/>
-            <xsd:enumeration value="SeriesTitle"/>
-            <xsd:enumeration value="ServiceFeature"/>
-            <xsd:enumeration value="Services"/>
-            <xsd:enumeration value="Shade"/>
-            <xsd:enumeration value="Shelf-LifeCode"/>
-            <xsd:enumeration value="ShelfTag"/>
-            <xsd:enumeration value="ShippingUnitComponent"/>
-            <xsd:enumeration value="ShipToLine"/>
-            <xsd:enumeration value="ShipToStock"/>
-            <xsd:enumeration value="Silhouette"/>
-            <xsd:enumeration value="Size"/>
-            <xsd:enumeration value="SizeSystem"/>
-            <xsd:enumeration value="SocietyGovernmentAndOrCustomerSpecifications"/>
-            <xsd:enumeration value="Solubility"/>
-            <xsd:enumeration value="Source"/>
-            <xsd:enumeration value="SpecialProcessing"/>
-            <xsd:enumeration value="SpecialSpecification"/>
-            <xsd:enumeration value="Specification"/>
-            <xsd:enumeration value="StateControlled"/>
-            <xsd:enumeration value="StorageAndDisplay"/>
-            <xsd:enumeration value="SubcontractResource"/>
-            <xsd:enumeration value="Sub-Product"/>
-            <xsd:enumeration value="SurfaceCondition"/>
-            <xsd:enumeration value="SurfaceLocationMethod"/>
-            <xsd:enumeration value="SurfaceProtection"/>
-            <xsd:enumeration value="SurfaceTreatment-Chemical"/>
-            <xsd:enumeration value="SurfaceTreatment-Mechanical"/>
-            <xsd:enumeration value="Synonym"/>
-            <xsd:enumeration value="Temper"/>
-            <xsd:enumeration value="TestingAndInspectionAgencies"/>
-            <xsd:enumeration value="TestPanelType"/>
-            <xsd:enumeration value="TestSampleDirection"/>
-            <xsd:enumeration value="TestSampleFrequency"/>
-            <xsd:enumeration value="TestSampleLocation"/>
-            <xsd:enumeration value="TheoreticalWeightFormula"/>
-            <xsd:enumeration value="TherapeuticClass"/>
-            <xsd:enumeration value="TherapeuticEquivalency"/>
-            <xsd:enumeration value="Threshold"/>
-            <xsd:enumeration value="Tint"/>
-            <xsd:enumeration value="Tire"/>
-            <xsd:enumeration value="Title"/>
-            <xsd:enumeration value="TitleInsuranceForm"/>
-            <xsd:enumeration value="Tow"/>
-            <xsd:enumeration value="TradeName"/>
-            <xsd:enumeration value="Translator"/>
-            <xsd:enumeration value="Transmission"/>
-            <xsd:enumeration value="Trim"/>
-            <xsd:enumeration value="Twist"/>
-            <xsd:enumeration value="TypeAndOrProcess"/>
-            <xsd:enumeration value="Typeface"/>
-            <xsd:enumeration value="TypeOfSample"/>
-            <xsd:enumeration value="TypeOfTest-Inspection"/>
-            <xsd:enumeration value="TypeSpinning"/>
-            <xsd:enumeration value="Vehicle"/>
-            <xsd:enumeration value="VendorColorDescription"/>
-            <xsd:enumeration value="VendorSizeDescription"/>
-            <xsd:enumeration value="Vintage"/>
-            <xsd:enumeration value="Visual"/>
-            <xsd:enumeration value="VolatileOrganicCompoundControl"/>
-            <xsd:enumeration value="VolumeTitle"/>
-            <xsd:enumeration value="WarrantyDescription"/>
-            <xsd:enumeration value="WarrantyTypeDescription"/>
-            <xsd:enumeration value="Waste"/>
-            <xsd:enumeration value="WaxCode"/>
-            <xsd:enumeration value="WeldsOrSplices"/>
-            <xsd:enumeration value="WellClassification"/>
-            <xsd:enumeration value="WellDirection"/>
-            <xsd:enumeration value="WellPerforationContinuity"/>
-            <xsd:enumeration value="WellPerforationInterval"/>
-            <xsd:enumeration value="WellTestType"/>
-            <xsd:enumeration value="WindingInstructions"/>
-            <xsd:enumeration value="WineFruit"/>
-            <xsd:enumeration value="WineGrowingRegion"/>
-            <xsd:enumeration value="YarnCount"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="SurfaceLayerPositionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="All"/>
-            <xsd:enumeration value="BackOfCab"/>
-            <xsd:enumeration value="Bilateral"/>
-            <xsd:enumeration value="Block"/>
-            <xsd:enumeration value="Bolster"/>
-            <xsd:enumeration value="BothSides"/>
-            <xsd:enumeration value="Bottom"/>
-            <xsd:enumeration value="Brick"/>
-            <xsd:enumeration value="CasingHeadFlange"/>
-            <xsd:enumeration value="Center"/>
-            <xsd:enumeration value="CornerDiagonals"/>
-            <xsd:enumeration value="DoubleEndOverhang"/>
-            <xsd:enumeration value="DownstreamTap"/>
-            <xsd:enumeration value="DualFuelTankPositions"/>
-            <xsd:enumeration value="Exterior"/>
-            <xsd:enumeration value="Front"/>
-            <xsd:enumeration value="FrontSpare"/>
-            <xsd:enumeration value="Inside"/>
-            <xsd:enumeration value="InsideLeftRear"/>
-            <xsd:enumeration value="InsideRightRear"/>
-            <xsd:enumeration value="Interior"/>
-            <xsd:enumeration value="KellyBushing"/>
-            <xsd:enumeration value="Left"/>
-            <xsd:enumeration value="LeftFront"/>
-            <xsd:enumeration value="LeftRear"/>
-            <xsd:enumeration value="LessCriticalSurface"/>
-            <xsd:enumeration value="Lower"/>
-            <xsd:enumeration value="Middle"/>
-            <xsd:enumeration value="MoreCriticalSurface"/>
-            <xsd:enumeration value="Multiple"/>
-            <xsd:enumeration value="NextRelativePosition"/>
-            <xsd:enumeration value="NotSpecified"/>
-            <xsd:enumeration value="OffSurface"/>
-            <xsd:enumeration value="OneSide"/>
-            <xsd:enumeration value="OnSurface"/>
-            <xsd:enumeration value="OppositeCorners"/>
-            <xsd:enumeration value="Outside"/>
-            <xsd:enumeration value="OutsideLeftRear"/>
-            <xsd:enumeration value="OutsideRightRear"/>
-            <xsd:enumeration value="Overall"/>
-            <xsd:enumeration value="Port"/>
-            <xsd:enumeration value="Rear"/>
-            <xsd:enumeration value="RearSpare"/>
-            <xsd:enumeration value="RelativePosition1"/>
-            <xsd:enumeration value="RelativePosition10"/>
-            <xsd:enumeration value="RelativePosition11"/>
-            <xsd:enumeration value="RelativePosition12"/>
-            <xsd:enumeration value="RelativePosition13"/>
-            <xsd:enumeration value="RelativePosition14"/>
-            <xsd:enumeration value="RelativePosition15"/>
-            <xsd:enumeration value="RelativePosition16"/>
-            <xsd:enumeration value="RelativePosition17"/>
-            <xsd:enumeration value="RelativePosition18"/>
-            <xsd:enumeration value="RelativePosition19"/>
-            <xsd:enumeration value="RelativePosition2"/>
-            <xsd:enumeration value="RelativePosition20"/>
-            <xsd:enumeration value="RelativePosition21"/>
-            <xsd:enumeration value="RelativePosition22"/>
-            <xsd:enumeration value="RelativePosition23"/>
-            <xsd:enumeration value="RelativePosition24"/>
-            <xsd:enumeration value="RelativePosition25"/>
-            <xsd:enumeration value="RelativePosition26"/>
-            <xsd:enumeration value="RelativePosition27"/>
-            <xsd:enumeration value="RelativePosition28"/>
-            <xsd:enumeration value="RelativePosition29"/>
-            <xsd:enumeration value="RelativePosition3"/>
-            <xsd:enumeration value="RelativePosition30"/>
-            <xsd:enumeration value="RelativePosition31"/>
-            <xsd:enumeration value="RelativePosition32"/>
-            <xsd:enumeration value="RelativePosition33"/>
-            <xsd:enumeration value="RelativePosition34"/>
-            <xsd:enumeration value="RelativePosition35"/>
-            <xsd:enumeration value="RelativePosition36"/>
-            <xsd:enumeration value="RelativePosition37"/>
-            <xsd:enumeration value="RelativePosition38"/>
-            <xsd:enumeration value="RelativePosition39"/>
-            <xsd:enumeration value="RelativePosition4"/>
-            <xsd:enumeration value="RelativePosition40"/>
-            <xsd:enumeration value="RelativePosition41"/>
-            <xsd:enumeration value="RelativePosition42"/>
-            <xsd:enumeration value="RelativePosition43"/>
-            <xsd:enumeration value="RelativePosition44"/>
-            <xsd:enumeration value="RelativePosition45"/>
-            <xsd:enumeration value="RelativePosition46"/>
-            <xsd:enumeration value="RelativePosition47"/>
-            <xsd:enumeration value="RelativePosition48"/>
-            <xsd:enumeration value="RelativePosition49"/>
-            <xsd:enumeration value="RelativePosition5"/>
-            <xsd:enumeration value="RelativePosition50"/>
-            <xsd:enumeration value="RelativePosition6"/>
-            <xsd:enumeration value="RelativePosition7"/>
-            <xsd:enumeration value="RelativePosition8"/>
-            <xsd:enumeration value="RelativePosition9"/>
-            <xsd:enumeration value="RigFloor"/>
-            <xsd:enumeration value="Right"/>
-            <xsd:enumeration value="RightFront"/>
-            <xsd:enumeration value="RightRear"/>
-            <xsd:enumeration value="SideOne"/>
-            <xsd:enumeration value="SideTwo"/>
-            <xsd:enumeration value="Siding"/>
-            <xsd:enumeration value="Single"/>
-            <xsd:enumeration value="SingleEndOverhang"/>
-            <xsd:enumeration value="Soluble"/>
-            <xsd:enumeration value="SpareTirePosition"/>
-            <xsd:enumeration value="Starboard"/>
-            <xsd:enumeration value="Stone"/>
-            <xsd:enumeration value="Stucco"/>
-            <xsd:enumeration value="Sub-Sea"/>
-            <xsd:enumeration value="TankBottom"/>
-            <xsd:enumeration value="ToothBuccalSurface"/>
-            <xsd:enumeration value="ToothDistalSurface"/>
-            <xsd:enumeration value="ToothFacialSurface"/>
-            <xsd:enumeration value="ToothIncisalSurface"/>
-            <xsd:enumeration value="ToothLingualSurface"/>
-            <xsd:enumeration value="ToothMesialSurface"/>
-            <xsd:enumeration value="ToothOcclusalSurface"/>
-            <xsd:enumeration value="Top"/>
-            <xsd:enumeration value="TwoSides"/>
-            <xsd:enumeration value="UnderCab"/>
-            <xsd:enumeration value="Unilateral"/>
-            <xsd:enumeration value="Upper"/>
-            <xsd:enumeration value="UpstreamTap"/>
-            <xsd:enumeration value="Wood"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="UnitOfMeasurement">
-        <xsd:sequence>
-            <xsd:element name="UOMCoded" type="UOMCode"/>
-            <xsd:element minOccurs="0" name="UOMCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="UnitOfMeasurement" type="UnitOfMeasurement"/>
-    <xsd:simpleType name="UOMCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="1"/>
-            <xsd:enumeration value="4"/>
-            <xsd:enumeration value="5"/>
-            <xsd:enumeration value="8"/>
-            <xsd:enumeration value="10"/>
-            <xsd:enumeration value="11"/>
-            <xsd:enumeration value="13"/>
-            <xsd:enumeration value="14"/>
-            <xsd:enumeration value="15"/>
-            <xsd:enumeration value="16"/>
-            <xsd:enumeration value="17"/>
-            <xsd:enumeration value="18"/>
-            <xsd:enumeration value="19"/>
-            <xsd:enumeration value="20"/>
-            <xsd:enumeration value="21"/>
-            <xsd:enumeration value="22"/>
-            <xsd:enumeration value="23"/>
-            <xsd:enumeration value="24"/>
-            <xsd:enumeration value="25"/>
-            <xsd:enumeration value="26"/>
-            <xsd:enumeration value="27"/>
-            <xsd:enumeration value="28"/>
-            <xsd:enumeration value="29"/>
-            <xsd:enumeration value="30"/>
-            <xsd:enumeration value="31"/>
-            <xsd:enumeration value="32"/>
-            <xsd:enumeration value="33"/>
-            <xsd:enumeration value="34"/>
-            <xsd:enumeration value="35"/>
-            <xsd:enumeration value="36"/>
-            <xsd:enumeration value="37"/>
-            <xsd:enumeration value="38"/>
-            <xsd:enumeration value="40"/>
-            <xsd:enumeration value="41"/>
-            <xsd:enumeration value="43"/>
-            <xsd:enumeration value="44"/>
-            <xsd:enumeration value="45"/>
-            <xsd:enumeration value="46"/>
-            <xsd:enumeration value="47"/>
-            <xsd:enumeration value="48"/>
-            <xsd:enumeration value="50"/>
-            <xsd:enumeration value="51"/>
-            <xsd:enumeration value="53"/>
-            <xsd:enumeration value="54"/>
-            <xsd:enumeration value="56"/>
-            <xsd:enumeration value="57"/>
-            <xsd:enumeration value="58"/>
-            <xsd:enumeration value="59"/>
-            <xsd:enumeration value="60"/>
-            <xsd:enumeration value="61"/>
-            <xsd:enumeration value="62"/>
-            <xsd:enumeration value="63"/>
-            <xsd:enumeration value="64"/>
-            <xsd:enumeration value="66"/>
-            <xsd:enumeration value="69"/>
-            <xsd:enumeration value="71"/>
-            <xsd:enumeration value="72"/>
-            <xsd:enumeration value="73"/>
-            <xsd:enumeration value="74"/>
-            <xsd:enumeration value="76"/>
-            <xsd:enumeration value="77"/>
-            <xsd:enumeration value="78"/>
-            <xsd:enumeration value="80"/>
-            <xsd:enumeration value="81"/>
-            <xsd:enumeration value="84"/>
-            <xsd:enumeration value="85"/>
-            <xsd:enumeration value="86"/>
-            <xsd:enumeration value="87"/>
-            <xsd:enumeration value="89"/>
-            <xsd:enumeration value="90"/>
-            <xsd:enumeration value="91"/>
-            <xsd:enumeration value="92"/>
-            <xsd:enumeration value="93"/>
-            <xsd:enumeration value="94"/>
-            <xsd:enumeration value="95"/>
-            <xsd:enumeration value="96"/>
-            <xsd:enumeration value="97"/>
-            <xsd:enumeration value="98"/>
-            <xsd:enumeration value="1A"/>
-            <xsd:enumeration value="1B"/>
-            <xsd:enumeration value="1C"/>
-            <xsd:enumeration value="1D"/>
-            <xsd:enumeration value="1E"/>
-            <xsd:enumeration value="1F"/>
-            <xsd:enumeration value="1G"/>
-            <xsd:enumeration value="1H"/>
-            <xsd:enumeration value="1I"/>
-            <xsd:enumeration value="1J"/>
-            <xsd:enumeration value="1K"/>
-            <xsd:enumeration value="1L"/>
-            <xsd:enumeration value="1M"/>
-            <xsd:enumeration value="1X"/>
-            <xsd:enumeration value="2A"/>
-            <xsd:enumeration value="2B"/>
-            <xsd:enumeration value="2C"/>
-            <xsd:enumeration value="2F"/>
-            <xsd:enumeration value="2G"/>
-            <xsd:enumeration value="2H"/>
-            <xsd:enumeration value="2I"/>
-            <xsd:enumeration value="2J"/>
-            <xsd:enumeration value="2K"/>
-            <xsd:enumeration value="2L"/>
-            <xsd:enumeration value="2M"/>
-            <xsd:enumeration value="2N"/>
-            <xsd:enumeration value="2P"/>
-            <xsd:enumeration value="2Q"/>
-            <xsd:enumeration value="2R"/>
-            <xsd:enumeration value="2U"/>
-            <xsd:enumeration value="2V"/>
-            <xsd:enumeration value="2W"/>
-            <xsd:enumeration value="2X"/>
-            <xsd:enumeration value="2Y"/>
-            <xsd:enumeration value="2Z"/>
-            <xsd:enumeration value="3B"/>
-            <xsd:enumeration value="3C"/>
-            <xsd:enumeration value="3E"/>
-            <xsd:enumeration value="3F"/>
-            <xsd:enumeration value="3G"/>
-            <xsd:enumeration value="3H"/>
-            <xsd:enumeration value="3I"/>
-            <xsd:enumeration value="4A"/>
-            <xsd:enumeration value="4B"/>
-            <xsd:enumeration value="4C"/>
-            <xsd:enumeration value="4E"/>
-            <xsd:enumeration value="4G"/>
-            <xsd:enumeration value="4H"/>
-            <xsd:enumeration value="4I"/>
-            <xsd:enumeration value="4J"/>
-            <xsd:enumeration value="4K"/>
-            <xsd:enumeration value="4L"/>
-            <xsd:enumeration value="4M"/>
-            <xsd:enumeration value="4N"/>
-            <xsd:enumeration value="4O"/>
-            <xsd:enumeration value="4P"/>
-            <xsd:enumeration value="4Q"/>
-            <xsd:enumeration value="4R"/>
-            <xsd:enumeration value="4T"/>
-            <xsd:enumeration value="4U"/>
-            <xsd:enumeration value="4W"/>
-            <xsd:enumeration value="4X"/>
-            <xsd:enumeration value="5A"/>
-            <xsd:enumeration value="5B"/>
-            <xsd:enumeration value="5C"/>
-            <xsd:enumeration value="5E"/>
-            <xsd:enumeration value="5F"/>
-            <xsd:enumeration value="5G"/>
-            <xsd:enumeration value="5H"/>
-            <xsd:enumeration value="5I"/>
-            <xsd:enumeration value="5J"/>
-            <xsd:enumeration value="5K"/>
-            <xsd:enumeration value="5P"/>
-            <xsd:enumeration value="5Q"/>
-            <xsd:enumeration value="A1"/>
-            <xsd:enumeration value="A10"/>
-            <xsd:enumeration value="A11"/>
-            <xsd:enumeration value="A12"/>
-            <xsd:enumeration value="A13"/>
-            <xsd:enumeration value="A14"/>
-            <xsd:enumeration value="A15"/>
-            <xsd:enumeration value="A16"/>
-            <xsd:enumeration value="A17"/>
-            <xsd:enumeration value="A18"/>
-            <xsd:enumeration value="A19"/>
-            <xsd:enumeration value="A2"/>
-            <xsd:enumeration value="A20"/>
-            <xsd:enumeration value="A22"/>
-            <xsd:enumeration value="A23"/>
-            <xsd:enumeration value="A24"/>
-            <xsd:enumeration value="A25"/>
-            <xsd:enumeration value="A26"/>
-            <xsd:enumeration value="A27"/>
-            <xsd:enumeration value="A28"/>
-            <xsd:enumeration value="A29"/>
-            <xsd:enumeration value="A3"/>
-            <xsd:enumeration value="A30"/>
-            <xsd:enumeration value="A31"/>
-            <xsd:enumeration value="A32"/>
-            <xsd:enumeration value="A33"/>
-            <xsd:enumeration value="A34"/>
-            <xsd:enumeration value="A35"/>
-            <xsd:enumeration value="A36"/>
-            <xsd:enumeration value="A37"/>
-            <xsd:enumeration value="A38"/>
-            <xsd:enumeration value="A39"/>
-            <xsd:enumeration value="A4"/>
-            <xsd:enumeration value="A40"/>
-            <xsd:enumeration value="A41"/>
-            <xsd:enumeration value="A42"/>
-            <xsd:enumeration value="A43"/>
-            <xsd:enumeration value="A44"/>
-            <xsd:enumeration value="A45"/>
-            <xsd:enumeration value="A47"/>
-            <xsd:enumeration value="A48"/>
-            <xsd:enumeration value="A49"/>
-            <xsd:enumeration value="A5"/>
-            <xsd:enumeration value="A50"/>
-            <xsd:enumeration value="A51"/>
-            <xsd:enumeration value="A52"/>
-            <xsd:enumeration value="A53"/>
-            <xsd:enumeration value="A54"/>
-            <xsd:enumeration value="A55"/>
-            <xsd:enumeration value="A56"/>
-            <xsd:enumeration value="A57"/>
-            <xsd:enumeration value="A58"/>
-            <xsd:enumeration value="A6"/>
-            <xsd:enumeration value="A60"/>
-            <xsd:enumeration value="A61"/>
-            <xsd:enumeration value="A62"/>
-            <xsd:enumeration value="A63"/>
-            <xsd:enumeration value="A64"/>
-            <xsd:enumeration value="A65"/>
-            <xsd:enumeration value="A66"/>
-            <xsd:enumeration value="A67"/>
-            <xsd:enumeration value="A68"/>
-            <xsd:enumeration value="A69"/>
-            <xsd:enumeration value="A7"/>
-            <xsd:enumeration value="A70"/>
-            <xsd:enumeration value="A71"/>
-            <xsd:enumeration value="A73"/>
-            <xsd:enumeration value="A74"/>
-            <xsd:enumeration value="A75"/>
-            <xsd:enumeration value="A76"/>
-            <xsd:enumeration value="A77"/>
-            <xsd:enumeration value="A78"/>
-            <xsd:enumeration value="A79"/>
-            <xsd:enumeration value="A8"/>
-            <xsd:enumeration value="A80"/>
-            <xsd:enumeration value="A81"/>
-            <xsd:enumeration value="A82"/>
-            <xsd:enumeration value="A83"/>
-            <xsd:enumeration value="A84"/>
-            <xsd:enumeration value="A85"/>
-            <xsd:enumeration value="A86"/>
-            <xsd:enumeration value="A87"/>
-            <xsd:enumeration value="A88"/>
-            <xsd:enumeration value="A89"/>
-            <xsd:enumeration value="A9"/>
-            <xsd:enumeration value="A90"/>
-            <xsd:enumeration value="A91"/>
-            <xsd:enumeration value="A93"/>
-            <xsd:enumeration value="A94"/>
-            <xsd:enumeration value="A95"/>
-            <xsd:enumeration value="A96"/>
-            <xsd:enumeration value="A97"/>
-            <xsd:enumeration value="A98"/>
-            <xsd:enumeration value="AA"/>
-            <xsd:enumeration value="AB"/>
-            <xsd:enumeration value="ACR"/>
-            <xsd:enumeration value="AD"/>
-            <xsd:enumeration value="AE"/>
-            <xsd:enumeration value="AH"/>
-            <xsd:enumeration value="AI"/>
-            <xsd:enumeration value="AJ"/>
-            <xsd:enumeration value="AK"/>
-            <xsd:enumeration value="AL"/>
-            <xsd:enumeration value="AM"/>
-            <xsd:enumeration value="AMH"/>
-            <xsd:enumeration value="AMP"/>
-            <xsd:enumeration value="AN"/>
-            <xsd:enumeration value="ANN"/>
-            <xsd:enumeration value="AP"/>
-            <xsd:enumeration value="APZ"/>
-            <xsd:enumeration value="AQ"/>
-            <xsd:enumeration value="AR"/>
-            <xsd:enumeration value="ARE"/>
-            <xsd:enumeration value="AS"/>
-            <xsd:enumeration value="ASM"/>
-            <xsd:enumeration value="ASU"/>
-            <xsd:enumeration value="AT"/>
-            <xsd:enumeration value="ATM"/>
-            <xsd:enumeration value="ATT"/>
-            <xsd:enumeration value="AU"/>
-            <xsd:enumeration value="AV"/>
-            <xsd:enumeration value="AW"/>
-            <xsd:enumeration value="AX"/>
-            <xsd:enumeration value="AY"/>
-            <xsd:enumeration value="AZ"/>
-            <xsd:enumeration value="B0"/>
-            <xsd:enumeration value="B1"/>
-            <xsd:enumeration value="B11"/>
-            <xsd:enumeration value="B12"/>
-            <xsd:enumeration value="B13"/>
-            <xsd:enumeration value="B14"/>
-            <xsd:enumeration value="B15"/>
-            <xsd:enumeration value="B16"/>
-            <xsd:enumeration value="B18"/>
-            <xsd:enumeration value="B2"/>
-            <xsd:enumeration value="B20"/>
-            <xsd:enumeration value="B21"/>
-            <xsd:enumeration value="B22"/>
-            <xsd:enumeration value="B23"/>
-            <xsd:enumeration value="B24"/>
-            <xsd:enumeration value="B25"/>
-            <xsd:enumeration value="B26"/>
-            <xsd:enumeration value="B27"/>
-            <xsd:enumeration value="B28"/>
-            <xsd:enumeration value="B29"/>
-            <xsd:enumeration value="B3"/>
-            <xsd:enumeration value="B31"/>
-            <xsd:enumeration value="B32"/>
-            <xsd:enumeration value="B33"/>
-            <xsd:enumeration value="B34"/>
-            <xsd:enumeration value="B35"/>
-            <xsd:enumeration value="B36"/>
-            <xsd:enumeration value="B37"/>
-            <xsd:enumeration value="B38"/>
-            <xsd:enumeration value="B39"/>
-            <xsd:enumeration value="B4"/>
-            <xsd:enumeration value="B40"/>
-            <xsd:enumeration value="B41"/>
-            <xsd:enumeration value="B42"/>
-            <xsd:enumeration value="B43"/>
-            <xsd:enumeration value="B44"/>
-            <xsd:enumeration value="B45"/>
-            <xsd:enumeration value="B46"/>
-            <xsd:enumeration value="B47"/>
-            <xsd:enumeration value="B48"/>
-            <xsd:enumeration value="B49"/>
-            <xsd:enumeration value="B5"/>
-            <xsd:enumeration value="B50"/>
-            <xsd:enumeration value="B51"/>
-            <xsd:enumeration value="B52"/>
-            <xsd:enumeration value="B53"/>
-            <xsd:enumeration value="B54"/>
-            <xsd:enumeration value="B55"/>
-            <xsd:enumeration value="B56"/>
-            <xsd:enumeration value="B57"/>
-            <xsd:enumeration value="B58"/>
-            <xsd:enumeration value="B59"/>
-            <xsd:enumeration value="B6"/>
-            <xsd:enumeration value="B60"/>
-            <xsd:enumeration value="B61"/>
-            <xsd:enumeration value="B62"/>
-            <xsd:enumeration value="B63"/>
-            <xsd:enumeration value="B64"/>
-            <xsd:enumeration value="B65"/>
-            <xsd:enumeration value="B66"/>
-            <xsd:enumeration value="B67"/>
-            <xsd:enumeration value="B69"/>
-            <xsd:enumeration value="B7"/>
-            <xsd:enumeration value="B70"/>
-            <xsd:enumeration value="B71"/>
-            <xsd:enumeration value="B72"/>
-            <xsd:enumeration value="B73"/>
-            <xsd:enumeration value="B74"/>
-            <xsd:enumeration value="B75"/>
-            <xsd:enumeration value="B76"/>
-            <xsd:enumeration value="B77"/>
-            <xsd:enumeration value="B78"/>
-            <xsd:enumeration value="B79"/>
-            <xsd:enumeration value="B8"/>
-            <xsd:enumeration value="B81"/>
-            <xsd:enumeration value="B83"/>
-            <xsd:enumeration value="B84"/>
-            <xsd:enumeration value="B85"/>
-            <xsd:enumeration value="B86"/>
-            <xsd:enumeration value="B87"/>
-            <xsd:enumeration value="B88"/>
-            <xsd:enumeration value="B89"/>
-            <xsd:enumeration value="B9"/>
-            <xsd:enumeration value="B90"/>
-            <xsd:enumeration value="B91"/>
-            <xsd:enumeration value="B92"/>
-            <xsd:enumeration value="B93"/>
-            <xsd:enumeration value="B94"/>
-            <xsd:enumeration value="B95"/>
-            <xsd:enumeration value="B96"/>
-            <xsd:enumeration value="B97"/>
-            <xsd:enumeration value="B98"/>
-            <xsd:enumeration value="B99"/>
-            <xsd:enumeration value="BAR"/>
-            <xsd:enumeration value="BB"/>
-            <xsd:enumeration value="BD"/>
-            <xsd:enumeration value="BE"/>
-            <xsd:enumeration value="BFT"/>
-            <xsd:enumeration value="BG"/>
-            <xsd:enumeration value="BH"/>
-            <xsd:enumeration value="BHP"/>
-            <xsd:enumeration value="BIL"/>
-            <xsd:enumeration value="BJ"/>
-            <xsd:enumeration value="BK"/>
-            <xsd:enumeration value="BL"/>
-            <xsd:enumeration value="BLD"/>
-            <xsd:enumeration value="BLL"/>
-            <xsd:enumeration value="BO"/>
-            <xsd:enumeration value="BP"/>
-            <xsd:enumeration value="BQL"/>
-            <xsd:enumeration value="BT"/>
-            <xsd:enumeration value="BTU"/>
-            <xsd:enumeration value="BU"/>
-            <xsd:enumeration value="BUA"/>
-            <xsd:enumeration value="BUI"/>
-            <xsd:enumeration value="BW"/>
-            <xsd:enumeration value="BX"/>
-            <xsd:enumeration value="BZ"/>
-            <xsd:enumeration value="C0"/>
-            <xsd:enumeration value="C1"/>
-            <xsd:enumeration value="C10"/>
-            <xsd:enumeration value="C11"/>
-            <xsd:enumeration value="C12"/>
-            <xsd:enumeration value="C13"/>
-            <xsd:enumeration value="C14"/>
-            <xsd:enumeration value="C15"/>
-            <xsd:enumeration value="C16"/>
-            <xsd:enumeration value="C17"/>
-            <xsd:enumeration value="C18"/>
-            <xsd:enumeration value="C19"/>
-            <xsd:enumeration value="C2"/>
-            <xsd:enumeration value="C20"/>
-            <xsd:enumeration value="C22"/>
-            <xsd:enumeration value="C23"/>
-            <xsd:enumeration value="C24"/>
-            <xsd:enumeration value="C25"/>
-            <xsd:enumeration value="C26"/>
-            <xsd:enumeration value="C27"/>
-            <xsd:enumeration value="C28"/>
-            <xsd:enumeration value="C29"/>
-            <xsd:enumeration value="C3"/>
-            <xsd:enumeration value="C30"/>
-            <xsd:enumeration value="C31"/>
-            <xsd:enumeration value="C32"/>
-            <xsd:enumeration value="C33"/>
-            <xsd:enumeration value="C34"/>
-            <xsd:enumeration value="C35"/>
-            <xsd:enumeration value="C36"/>
-            <xsd:enumeration value="C38"/>
-            <xsd:enumeration value="C39"/>
-            <xsd:enumeration value="C4"/>
-            <xsd:enumeration value="C40"/>
-            <xsd:enumeration value="C41"/>
-            <xsd:enumeration value="C42"/>
-            <xsd:enumeration value="C43"/>
-            <xsd:enumeration value="C44"/>
-            <xsd:enumeration value="C45"/>
-            <xsd:enumeration value="C46"/>
-            <xsd:enumeration value="C47"/>
-            <xsd:enumeration value="C48"/>
-            <xsd:enumeration value="C49"/>
-            <xsd:enumeration value="C5"/>
-            <xsd:enumeration value="C50"/>
-            <xsd:enumeration value="C51"/>
-            <xsd:enumeration value="C52"/>
-            <xsd:enumeration value="C53"/>
-            <xsd:enumeration value="C54"/>
-            <xsd:enumeration value="C55"/>
-            <xsd:enumeration value="C56"/>
-            <xsd:enumeration value="C57"/>
-            <xsd:enumeration value="C58"/>
-            <xsd:enumeration value="C59"/>
-            <xsd:enumeration value="C6"/>
-            <xsd:enumeration value="C60"/>
-            <xsd:enumeration value="C61"/>
-            <xsd:enumeration value="C62"/>
-            <xsd:enumeration value="C63"/>
-            <xsd:enumeration value="C64"/>
-            <xsd:enumeration value="C65"/>
-            <xsd:enumeration value="C66"/>
-            <xsd:enumeration value="C67"/>
-            <xsd:enumeration value="C68"/>
-            <xsd:enumeration value="C69"/>
-            <xsd:enumeration value="C7"/>
-            <xsd:enumeration value="C70"/>
-            <xsd:enumeration value="C71"/>
-            <xsd:enumeration value="C72"/>
-            <xsd:enumeration value="C73"/>
-            <xsd:enumeration value="C75"/>
-            <xsd:enumeration value="C76"/>
-            <xsd:enumeration value="C77"/>
-            <xsd:enumeration value="C78"/>
-            <xsd:enumeration value="C8"/>
-            <xsd:enumeration value="C80"/>
-            <xsd:enumeration value="C81"/>
-            <xsd:enumeration value="C82"/>
-            <xsd:enumeration value="C83"/>
-            <xsd:enumeration value="C84"/>
-            <xsd:enumeration value="C85"/>
-            <xsd:enumeration value="C86"/>
-            <xsd:enumeration value="C87"/>
-            <xsd:enumeration value="C88"/>
-            <xsd:enumeration value="C89"/>
-            <xsd:enumeration value="C9"/>
-            <xsd:enumeration value="C90"/>
-            <xsd:enumeration value="C91"/>
-            <xsd:enumeration value="C92"/>
-            <xsd:enumeration value="C93"/>
-            <xsd:enumeration value="C94"/>
-            <xsd:enumeration value="C95"/>
-            <xsd:enumeration value="C96"/>
-            <xsd:enumeration value="C97"/>
-            <xsd:enumeration value="C98"/>
-            <xsd:enumeration value="C99"/>
-            <xsd:enumeration value="CA"/>
-            <xsd:enumeration value="CCT"/>
-            <xsd:enumeration value="CD"/>
-            <xsd:enumeration value="CDL"/>
-            <xsd:enumeration value="CE"/>
-            <xsd:enumeration value="CEL"/>
-            <xsd:enumeration value="CEN"/>
-            <xsd:enumeration value="CG"/>
-            <xsd:enumeration value="CGM"/>
-            <xsd:enumeration value="CH"/>
-            <xsd:enumeration value="CJ"/>
-            <xsd:enumeration value="CK"/>
-            <xsd:enumeration value="CKG"/>
-            <xsd:enumeration value="CL"/>
-            <xsd:enumeration value="CLF"/>
-            <xsd:enumeration value="CLT"/>
-            <xsd:enumeration value="CMK"/>
-            <xsd:enumeration value="CMQ"/>
-            <xsd:enumeration value="CMT"/>
-            <xsd:enumeration value="CNP"/>
-            <xsd:enumeration value="CNT"/>
-            <xsd:enumeration value="CO"/>
-            <xsd:enumeration value="COU"/>
-            <xsd:enumeration value="CQ"/>
-            <xsd:enumeration value="CR"/>
-            <xsd:enumeration value="CS"/>
-            <xsd:enumeration value="CT"/>
-            <xsd:enumeration value="CTM"/>
-            <xsd:enumeration value="CU"/>
-            <xsd:enumeration value="CUR"/>
-            <xsd:enumeration value="CV"/>
-            <xsd:enumeration value="CWA"/>
-            <xsd:enumeration value="CWI"/>
-            <xsd:enumeration value="CY"/>
-            <xsd:enumeration value="CZ"/>
-            <xsd:enumeration value="D1"/>
-            <xsd:enumeration value="D10"/>
-            <xsd:enumeration value="D12"/>
-            <xsd:enumeration value="D13"/>
-            <xsd:enumeration value="D14"/>
-            <xsd:enumeration value="D16"/>
-            <xsd:enumeration value="D17"/>
-            <xsd:enumeration value="D18"/>
-            <xsd:enumeration value="D19"/>
-            <xsd:enumeration value="D2"/>
-            <xsd:enumeration value="D20"/>
-            <xsd:enumeration value="D21"/>
-            <xsd:enumeration value="D22"/>
-            <xsd:enumeration value="D23"/>
-            <xsd:enumeration value="D24"/>
-            <xsd:enumeration value="D25"/>
-            <xsd:enumeration value="D26"/>
-            <xsd:enumeration value="D27"/>
-            <xsd:enumeration value="D28"/>
-            <xsd:enumeration value="D29"/>
-            <xsd:enumeration value="D30"/>
-            <xsd:enumeration value="D31"/>
-            <xsd:enumeration value="D33"/>
-            <xsd:enumeration value="D34"/>
-            <xsd:enumeration value="D35"/>
-            <xsd:enumeration value="D37"/>
-            <xsd:enumeration value="D38"/>
-            <xsd:enumeration value="D39"/>
-            <xsd:enumeration value="D40"/>
-            <xsd:enumeration value="D41"/>
-            <xsd:enumeration value="D42"/>
-            <xsd:enumeration value="D43"/>
-            <xsd:enumeration value="D44"/>
-            <xsd:enumeration value="D45"/>
-            <xsd:enumeration value="D46"/>
-            <xsd:enumeration value="D47"/>
-            <xsd:enumeration value="D48"/>
-            <xsd:enumeration value="D49"/>
-            <xsd:enumeration value="D5"/>
-            <xsd:enumeration value="D50"/>
-            <xsd:enumeration value="D51"/>
-            <xsd:enumeration value="D52"/>
-            <xsd:enumeration value="D53"/>
-            <xsd:enumeration value="D54"/>
-            <xsd:enumeration value="D55"/>
-            <xsd:enumeration value="D56"/>
-            <xsd:enumeration value="D57"/>
-            <xsd:enumeration value="D58"/>
-            <xsd:enumeration value="D59"/>
-            <xsd:enumeration value="D6"/>
-            <xsd:enumeration value="D60"/>
-            <xsd:enumeration value="D63"/>
-            <xsd:enumeration value="D64"/>
-            <xsd:enumeration value="D65"/>
-            <xsd:enumeration value="D66"/>
-            <xsd:enumeration value="D67"/>
-            <xsd:enumeration value="D69"/>
-            <xsd:enumeration value="D7"/>
-            <xsd:enumeration value="D70"/>
-            <xsd:enumeration value="D71"/>
-            <xsd:enumeration value="D72"/>
-            <xsd:enumeration value="D73"/>
-            <xsd:enumeration value="D74"/>
-            <xsd:enumeration value="D75"/>
-            <xsd:enumeration value="D76"/>
-            <xsd:enumeration value="D77"/>
-            <xsd:enumeration value="D79"/>
-            <xsd:enumeration value="D8"/>
-            <xsd:enumeration value="D80"/>
-            <xsd:enumeration value="D81"/>
-            <xsd:enumeration value="D82"/>
-            <xsd:enumeration value="D83"/>
-            <xsd:enumeration value="D85"/>
-            <xsd:enumeration value="D86"/>
-            <xsd:enumeration value="D87"/>
-            <xsd:enumeration value="D88"/>
-            <xsd:enumeration value="D89"/>
-            <xsd:enumeration value="D9"/>
-            <xsd:enumeration value="D90"/>
-            <xsd:enumeration value="D91"/>
-            <xsd:enumeration value="D92"/>
-            <xsd:enumeration value="D93"/>
-            <xsd:enumeration value="D94"/>
-            <xsd:enumeration value="D95"/>
-            <xsd:enumeration value="D96"/>
-            <xsd:enumeration value="D97"/>
-            <xsd:enumeration value="D98"/>
-            <xsd:enumeration value="D99"/>
-            <xsd:enumeration value="DAA"/>
-            <xsd:enumeration value="DAD"/>
-            <xsd:enumeration value="DAY"/>
-            <xsd:enumeration value="DB"/>
-            <xsd:enumeration value="DC"/>
-            <xsd:enumeration value="DD"/>
-            <xsd:enumeration value="DE"/>
-            <xsd:enumeration value="DEC"/>
-            <xsd:enumeration value="DF"/>
-            <xsd:enumeration value="DG"/>
-            <xsd:enumeration value="DH"/>
-            <xsd:enumeration value="DI"/>
-            <xsd:enumeration value="DJ"/>
-            <xsd:enumeration value="DLT"/>
-            <xsd:enumeration value="DMK"/>
-            <xsd:enumeration value="DMQ"/>
-            <xsd:enumeration value="DMT"/>
-            <xsd:enumeration value="DN"/>
-            <xsd:enumeration value="DO"/>
-            <xsd:enumeration value="DPC"/>
-            <xsd:enumeration value="DPR"/>
-            <xsd:enumeration value="DPT"/>
-            <xsd:enumeration value="DQ"/>
-            <xsd:enumeration value="DR"/>
-            <xsd:enumeration value="DRA"/>
-            <xsd:enumeration value="DRI"/>
-            <xsd:enumeration value="DRL"/>
-            <xsd:enumeration value="DRM"/>
-            <xsd:enumeration value="DS"/>
-            <xsd:enumeration value="DT"/>
-            <xsd:enumeration value="DTN"/>
-            <xsd:enumeration value="DU"/>
-            <xsd:enumeration value="DWT"/>
-            <xsd:enumeration value="DX"/>
-            <xsd:enumeration value="DY"/>
-            <xsd:enumeration value="DZN"/>
-            <xsd:enumeration value="DZP"/>
-            <xsd:enumeration value="E2"/>
-            <xsd:enumeration value="E3"/>
-            <xsd:enumeration value="E4"/>
-            <xsd:enumeration value="E5"/>
-            <xsd:enumeration value="E9"/>
-            <xsd:enumeration value="EA"/>
-            <xsd:enumeration value="EB"/>
-            <xsd:enumeration value="EC"/>
-            <xsd:enumeration value="EP"/>
-            <xsd:enumeration value="EQ"/>
-            <xsd:enumeration value="EV"/>
-            <xsd:enumeration value="EX"/>
-            <xsd:enumeration value="EZ"/>
-            <xsd:enumeration value="F1"/>
-            <xsd:enumeration value="F9"/>
-            <xsd:enumeration value="FAH"/>
-            <xsd:enumeration value="FAR"/>
-            <xsd:enumeration value="FB"/>
-            <xsd:enumeration value="FC"/>
-            <xsd:enumeration value="FD"/>
-            <xsd:enumeration value="FE"/>
-            <xsd:enumeration value="FF"/>
-            <xsd:enumeration value="FG"/>
-            <xsd:enumeration value="FH"/>
-            <xsd:enumeration value="FL"/>
-            <xsd:enumeration value="FM"/>
-            <xsd:enumeration value="FO"/>
-            <xsd:enumeration value="FOT"/>
-            <xsd:enumeration value="FP"/>
-            <xsd:enumeration value="FR"/>
-            <xsd:enumeration value="FS"/>
-            <xsd:enumeration value="FTK"/>
-            <xsd:enumeration value="FTQ"/>
-            <xsd:enumeration value="FZ"/>
-            <xsd:enumeration value="G2"/>
-            <xsd:enumeration value="G3"/>
-            <xsd:enumeration value="G5"/>
-            <xsd:enumeration value="G7"/>
-            <xsd:enumeration value="GB"/>
-            <xsd:enumeration value="GBQ"/>
-            <xsd:enumeration value="GC"/>
-            <xsd:enumeration value="GD"/>
-            <xsd:enumeration value="GE"/>
-            <xsd:enumeration value="GF"/>
-            <xsd:enumeration value="GFI"/>
-            <xsd:enumeration value="GG"/>
-            <xsd:enumeration value="GGR"/>
-            <xsd:enumeration value="GH"/>
-            <xsd:enumeration value="GI"/>
-            <xsd:enumeration value="GIA"/>
-            <xsd:enumeration value="GII"/>
-            <xsd:enumeration value="GJ"/>
-            <xsd:enumeration value="GK"/>
-            <xsd:enumeration value="GL"/>
-            <xsd:enumeration value="GLD"/>
-            <xsd:enumeration value="GLI"/>
-            <xsd:enumeration value="GLL"/>
-            <xsd:enumeration value="GM"/>
-            <xsd:enumeration value="GN"/>
-            <xsd:enumeration value="GO"/>
-            <xsd:enumeration value="GP"/>
-            <xsd:enumeration value="GQ"/>
-            <xsd:enumeration value="GRM"/>
-            <xsd:enumeration value="GRN"/>
-            <xsd:enumeration value="GRO"/>
-            <xsd:enumeration value="GRT"/>
-            <xsd:enumeration value="GT"/>
-            <xsd:enumeration value="GV"/>
-            <xsd:enumeration value="GW"/>
-            <xsd:enumeration value="GWH"/>
-            <xsd:enumeration value="GY"/>
-            <xsd:enumeration value="GZ"/>
-            <xsd:enumeration value="H1"/>
-            <xsd:enumeration value="H2"/>
-            <xsd:enumeration value="HA"/>
-            <xsd:enumeration value="HAR"/>
-            <xsd:enumeration value="HBA"/>
-            <xsd:enumeration value="HBX"/>
-            <xsd:enumeration value="HC"/>
-            <xsd:enumeration value="HD"/>
-            <xsd:enumeration value="HE"/>
-            <xsd:enumeration value="HF"/>
-            <xsd:enumeration value="HGM"/>
-            <xsd:enumeration value="HH"/>
-            <xsd:enumeration value="HI"/>
-            <xsd:enumeration value="HIU"/>
-            <xsd:enumeration value="HJ"/>
-            <xsd:enumeration value="HK"/>
-            <xsd:enumeration value="HL"/>
-            <xsd:enumeration value="HLT"/>
-            <xsd:enumeration value="HM"/>
-            <xsd:enumeration value="HMQ"/>
-            <xsd:enumeration value="HMT"/>
-            <xsd:enumeration value="HN"/>
-            <xsd:enumeration value="HO"/>
-            <xsd:enumeration value="HP"/>
-            <xsd:enumeration value="HPA"/>
-            <xsd:enumeration value="HS"/>
-            <xsd:enumeration value="HT"/>
-            <xsd:enumeration value="HTZ"/>
-            <xsd:enumeration value="HUR"/>
-            <xsd:enumeration value="HV"/>
-            <xsd:enumeration value="HW"/>
-            <xsd:enumeration value="HY"/>
-            <xsd:enumeration value="IA"/>
-            <xsd:enumeration value="IB"/>
-            <xsd:enumeration value="IC"/>
-            <xsd:enumeration value="IE"/>
-            <xsd:enumeration value="IF"/>
-            <xsd:enumeration value="II"/>
-            <xsd:enumeration value="IL"/>
-            <xsd:enumeration value="IM"/>
-            <xsd:enumeration value="INH"/>
-            <xsd:enumeration value="INK"/>
-            <xsd:enumeration value="INQ"/>
-            <xsd:enumeration value="IP"/>
-            <xsd:enumeration value="IT"/>
-            <xsd:enumeration value="IU"/>
-            <xsd:enumeration value="IV"/>
-            <xsd:enumeration value="IW"/>
-            <xsd:enumeration value="J2"/>
-            <xsd:enumeration value="JB"/>
-            <xsd:enumeration value="JE"/>
-            <xsd:enumeration value="JG"/>
-            <xsd:enumeration value="JK"/>
-            <xsd:enumeration value="JM"/>
-            <xsd:enumeration value="JO"/>
-            <xsd:enumeration value="JOU"/>
-            <xsd:enumeration value="JR"/>
-            <xsd:enumeration value="K1"/>
-            <xsd:enumeration value="K2"/>
-            <xsd:enumeration value="K3"/>
-            <xsd:enumeration value="K5"/>
-            <xsd:enumeration value="K6"/>
-            <xsd:enumeration value="KA"/>
-            <xsd:enumeration value="KB"/>
-            <xsd:enumeration value="KBA"/>
-            <xsd:enumeration value="KD"/>
-            <xsd:enumeration value="KEL"/>
-            <xsd:enumeration value="KF"/>
-            <xsd:enumeration value="KG"/>
-            <xsd:enumeration value="KGM"/>
-            <xsd:enumeration value="KGS"/>
-            <xsd:enumeration value="KHZ"/>
-            <xsd:enumeration value="KI"/>
-            <xsd:enumeration value="KJ"/>
-            <xsd:enumeration value="KJO"/>
-            <xsd:enumeration value="KK"/>
-            <xsd:enumeration value="KL"/>
-            <xsd:enumeration value="KMH"/>
-            <xsd:enumeration value="KMK"/>
-            <xsd:enumeration value="KMQ"/>
-            <xsd:enumeration value="KNI"/>
-            <xsd:enumeration value="KNS"/>
-            <xsd:enumeration value="KNT"/>
-            <xsd:enumeration value="KO"/>
-            <xsd:enumeration value="KPA"/>
-            <xsd:enumeration value="KPH"/>
-            <xsd:enumeration value="KPO"/>
-            <xsd:enumeration value="KPP"/>
-            <xsd:enumeration value="KR"/>
-            <xsd:enumeration value="KS"/>
-            <xsd:enumeration value="KSD"/>
-            <xsd:enumeration value="KSH"/>
-            <xsd:enumeration value="KT"/>
-            <xsd:enumeration value="KMT"/>
-            <xsd:enumeration value="KTN"/>
-            <xsd:enumeration value="KUR"/>
-            <xsd:enumeration value="KVA"/>
-            <xsd:enumeration value="KVR"/>
-            <xsd:enumeration value="KVT"/>
-            <xsd:enumeration value="KW"/>
-            <xsd:enumeration value="KWH"/>
-            <xsd:enumeration value="KWT"/>
-            <xsd:enumeration value="KX"/>
-            <xsd:enumeration value="L2"/>
-            <xsd:enumeration value="LA"/>
-            <xsd:enumeration value="LBR"/>
-            <xsd:enumeration value="LBT"/>
-            <xsd:enumeration value="LC"/>
-            <xsd:enumeration value="LD"/>
-            <xsd:enumeration value="LE"/>
-            <xsd:enumeration value="LEF"/>
-            <xsd:enumeration value="LF"/>
-            <xsd:enumeration value="LG"/>
-            <xsd:enumeration value="LH"/>
-            <xsd:enumeration value="LI"/>
-            <xsd:enumeration value="LJ"/>
-            <xsd:enumeration value="LK"/>
-            <xsd:enumeration value="LM"/>
-            <xsd:enumeration value="LN"/>
-            <xsd:enumeration value="LO"/>
-            <xsd:enumeration value="LP"/>
-            <xsd:enumeration value="LPA"/>
-            <xsd:enumeration value="LR"/>
-            <xsd:enumeration value="LS"/>
-            <xsd:enumeration value="LTN"/>
-            <xsd:enumeration value="LTR"/>
-            <xsd:enumeration value="LUM"/>
-            <xsd:enumeration value="LUX"/>
-            <xsd:enumeration value="LX"/>
-            <xsd:enumeration value="LY"/>
-            <xsd:enumeration value="M0"/>
-            <xsd:enumeration value="M1"/>
-            <xsd:enumeration value="M2"/>
-            <xsd:enumeration value="M4"/>
-            <xsd:enumeration value="M5"/>
-            <xsd:enumeration value="M7"/>
-            <xsd:enumeration value="M9"/>
-            <xsd:enumeration value="MA"/>
-            <xsd:enumeration value="MAL"/>
-            <xsd:enumeration value="MAM"/>
-            <xsd:enumeration value="MAW"/>
-            <xsd:enumeration value="MB"/>
-            <xsd:enumeration value="MBE"/>
-            <xsd:enumeration value="MBF"/>
-            <xsd:enumeration value="MBR"/>
-            <xsd:enumeration value="MC"/>
-            <xsd:enumeration value="MCU"/>
-            <xsd:enumeration value="MD"/>
-            <xsd:enumeration value="MF"/>
-            <xsd:enumeration value="MGM"/>
-            <xsd:enumeration value="MH"/>
-            <xsd:enumeration value="MHZ"/>
-            <xsd:enumeration value="MI"/>
-            <xsd:enumeration value="MIK"/>
-            <xsd:enumeration value="MIL"/>
-            <xsd:enumeration value="MIN"/>
-            <xsd:enumeration value="MIO"/>
-            <xsd:enumeration value="MIU"/>
-            <xsd:enumeration value="MK"/>
-            <xsd:enumeration value="MLD"/>
-            <xsd:enumeration value="MLT"/>
-            <xsd:enumeration value="MMK"/>
-            <xsd:enumeration value="MMQ"/>
-            <xsd:enumeration value="MMT"/>
-            <xsd:enumeration value="MON"/>
-            <xsd:enumeration value="MPA"/>
-            <xsd:enumeration value="MQ"/>
-            <xsd:enumeration value="MQH"/>
-            <xsd:enumeration value="MQS"/>
-            <xsd:enumeration value="MSK"/>
-            <xsd:enumeration value="MT"/>
-            <xsd:enumeration value="MTK"/>
-            <xsd:enumeration value="MTQ"/>
-            <xsd:enumeration value="MTR"/>
-            <xsd:enumeration value="MTS"/>
-            <xsd:enumeration value="MV"/>
-            <xsd:enumeration value="MVA"/>
-            <xsd:enumeration value="MW"/>
-            <xsd:enumeration value="MWH"/>
-            <xsd:enumeration value="MX"/>
-            <xsd:enumeration value="MY"/>
-            <xsd:enumeration value="MZ"/>
-            <xsd:enumeration value="N1"/>
-            <xsd:enumeration value="N2"/>
-            <xsd:enumeration value="N3"/>
-            <xsd:enumeration value="NA"/>
-            <xsd:enumeration value="NAR"/>
-            <xsd:enumeration value="NB"/>
-            <xsd:enumeration value="NBB"/>
-            <xsd:enumeration value="NC"/>
-            <xsd:enumeration value="NCL"/>
-            <xsd:enumeration value="ND"/>
-            <xsd:enumeration value="NE"/>
-            <xsd:enumeration value="NEW"/>
-            <xsd:enumeration value="NF"/>
-            <xsd:enumeration value="NG"/>
-            <xsd:enumeration value="NH"/>
-            <xsd:enumeration value="NI"/>
-            <xsd:enumeration value="NIU"/>
-            <xsd:enumeration value="NJ"/>
-            <xsd:enumeration value="NL"/>
-            <xsd:enumeration value="NMI"/>
-            <xsd:enumeration value="NMP"/>
-            <xsd:enumeration value="NN"/>
-            <xsd:enumeration value="NPL"/>
-            <xsd:enumeration value="NPR"/>
-            <xsd:enumeration value="NPT"/>
-            <xsd:enumeration value="NQ"/>
-            <xsd:enumeration value="NR"/>
-            <xsd:enumeration value="NRL"/>
-            <xsd:enumeration value="NT"/>
-            <xsd:enumeration value="NTT"/>
-            <xsd:enumeration value="NU"/>
-            <xsd:enumeration value="NV"/>
-            <xsd:enumeration value="NX"/>
-            <xsd:enumeration value="NY"/>
-            <xsd:enumeration value="OA"/>
-            <xsd:enumeration value="OHM"/>
-            <xsd:enumeration value="ON"/>
-            <xsd:enumeration value="ONZ"/>
-            <xsd:enumeration value="OP"/>
-            <xsd:enumeration value="OT"/>
-            <xsd:enumeration value="OZ"/>
-            <xsd:enumeration value="OZA"/>
-            <xsd:enumeration value="OZI"/>
-            <xsd:enumeration value="P0"/>
-            <xsd:enumeration value="P1"/>
-            <xsd:enumeration value="P2"/>
-            <xsd:enumeration value="P3"/>
-            <xsd:enumeration value="P4"/>
-            <xsd:enumeration value="P5"/>
-            <xsd:enumeration value="P6"/>
-            <xsd:enumeration value="P7"/>
-            <xsd:enumeration value="P8"/>
-            <xsd:enumeration value="P9"/>
-            <xsd:enumeration value="PA"/>
-            <xsd:enumeration value="PAL"/>
-            <xsd:enumeration value="PB"/>
-            <xsd:enumeration value="PD"/>
-            <xsd:enumeration value="PE"/>
-            <xsd:enumeration value="PF"/>
-            <xsd:enumeration value="PG"/>
-            <xsd:enumeration value="PGL"/>
-            <xsd:enumeration value="PI"/>
-            <xsd:enumeration value="PK"/>
-            <xsd:enumeration value="PL"/>
-            <xsd:enumeration value="PM"/>
-            <xsd:enumeration value="PN"/>
-            <xsd:enumeration value="PO"/>
-            <xsd:enumeration value="PQ"/>
-            <xsd:enumeration value="PR"/>
-            <xsd:enumeration value="PS"/>
-            <xsd:enumeration value="PT"/>
-            <xsd:enumeration value="PTD"/>
-            <xsd:enumeration value="PTI"/>
-            <xsd:enumeration value="PTL"/>
-            <xsd:enumeration value="PU"/>
-            <xsd:enumeration value="PV"/>
-            <xsd:enumeration value="PW"/>
-            <xsd:enumeration value="PY"/>
-            <xsd:enumeration value="PZ"/>
-            <xsd:enumeration value="Q1"/>
-            <xsd:enumeration value="Q2"/>
-            <xsd:enumeration value="Q3"/>
-            <xsd:enumeration value="Q4"/>
-            <xsd:enumeration value="Q5"/>
-            <xsd:enumeration value="Q6"/>
-            <xsd:enumeration value="Q7"/>
-            <xsd:enumeration value="QA"/>
-            <xsd:enumeration value="QAN"/>
-            <xsd:enumeration value="QB"/>
-            <xsd:enumeration value="QD"/>
-            <xsd:enumeration value="QH"/>
-            <xsd:enumeration value="QK"/>
-            <xsd:enumeration value="QR"/>
-            <xsd:enumeration value="QS"/>
-            <xsd:enumeration value="QT"/>
-            <xsd:enumeration value="QTD"/>
-            <xsd:enumeration value="QTI"/>
-            <xsd:enumeration value="QTL"/>
-            <xsd:enumeration value="QTR"/>
-            <xsd:enumeration value="R1"/>
-            <xsd:enumeration value="R4"/>
-            <xsd:enumeration value="R5"/>
-            <xsd:enumeration value="R6"/>
-            <xsd:enumeration value="R9"/>
-            <xsd:enumeration value="RA"/>
-            <xsd:enumeration value="RD"/>
-            <xsd:enumeration value="RG"/>
-            <xsd:enumeration value="RH"/>
-            <xsd:enumeration value="RK"/>
-            <xsd:enumeration value="RL"/>
-            <xsd:enumeration value="RM"/>
-            <xsd:enumeration value="RN"/>
-            <xsd:enumeration value="RO"/>
-            <xsd:enumeration value="RP"/>
-            <xsd:enumeration value="RPM"/>
-            <xsd:enumeration value="RPS"/>
-            <xsd:enumeration value="RS"/>
-            <xsd:enumeration value="RT"/>
-            <xsd:enumeration value="RU"/>
-            <xsd:enumeration value="S3"/>
-            <xsd:enumeration value="S4"/>
-            <xsd:enumeration value="S5"/>
-            <xsd:enumeration value="S6"/>
-            <xsd:enumeration value="S7"/>
-            <xsd:enumeration value="S8"/>
-            <xsd:enumeration value="SA"/>
-            <xsd:enumeration value="SAN"/>
-            <xsd:enumeration value="SCO"/>
-            <xsd:enumeration value="SCR"/>
-            <xsd:enumeration value="SD"/>
-            <xsd:enumeration value="SE"/>
-            <xsd:enumeration value="SEC"/>
-            <xsd:enumeration value="SET"/>
-            <xsd:enumeration value="SG"/>
-            <xsd:enumeration value="SHT"/>
-            <xsd:enumeration value="SIE"/>
-            <xsd:enumeration value="SK"/>
-            <xsd:enumeration value="SL"/>
-            <xsd:enumeration value="SMI"/>
-            <xsd:enumeration value="SN"/>
-            <xsd:enumeration value="SO"/>
-            <xsd:enumeration value="SP"/>
-            <xsd:enumeration value="SQ"/>
-            <xsd:enumeration value="SR"/>
-            <xsd:enumeration value="SS"/>
-            <xsd:enumeration value="SST"/>
-            <xsd:enumeration value="ST"/>
-            <xsd:enumeration value="STI"/>
-            <xsd:enumeration value="STN"/>
-            <xsd:enumeration value="SV"/>
-            <xsd:enumeration value="SW"/>
-            <xsd:enumeration value="SX"/>
-            <xsd:enumeration value="T0"/>
-            <xsd:enumeration value="T1"/>
-            <xsd:enumeration value="T2"/>
-            <xsd:enumeration value="T3"/>
-            <xsd:enumeration value="T4"/>
-            <xsd:enumeration value="T5"/>
-            <xsd:enumeration value="T6"/>
-            <xsd:enumeration value="T7"/>
-            <xsd:enumeration value="T8"/>
-            <xsd:enumeration value="T9"/>
-            <xsd:enumeration value="TA"/>
-            <xsd:enumeration value="TAH"/>
-            <xsd:enumeration value="TC"/>
-            <xsd:enumeration value="TD"/>
-            <xsd:enumeration value="TE"/>
-            <xsd:enumeration value="TF"/>
-            <xsd:enumeration value="TI"/>
-            <xsd:enumeration value="TJ"/>
-            <xsd:enumeration value="TK"/>
-            <xsd:enumeration value="TL"/>
-            <xsd:enumeration value="TM"/>
-            <xsd:enumeration value="TN"/>
-            <xsd:enumeration value="TNE"/>
-            <xsd:enumeration value="TP"/>
-            <xsd:enumeration value="TPR"/>
-            <xsd:enumeration value="TQ"/>
-            <xsd:enumeration value="TQD"/>
-            <xsd:enumeration value="TR"/>
-            <xsd:enumeration value="TRL"/>
-            <xsd:enumeration value="TS"/>
-            <xsd:enumeration value="TSD"/>
-            <xsd:enumeration value="TSH"/>
-            <xsd:enumeration value="TT"/>
-            <xsd:enumeration value="TU"/>
-            <xsd:enumeration value="TV"/>
-            <xsd:enumeration value="TW"/>
-            <xsd:enumeration value="TY"/>
-            <xsd:enumeration value="U1"/>
-            <xsd:enumeration value="U2"/>
-            <xsd:enumeration value="U3"/>
-            <xsd:enumeration value="U5"/>
-            <xsd:enumeration value="UA"/>
-            <xsd:enumeration value="UB"/>
-            <xsd:enumeration value="UC"/>
-            <xsd:enumeration value="UD"/>
-            <xsd:enumeration value="UE"/>
-            <xsd:enumeration value="UF"/>
-            <xsd:enumeration value="UH"/>
-            <xsd:enumeration value="UL"/>
-            <xsd:enumeration value="UM"/>
-            <xsd:enumeration value="VA"/>
-            <xsd:enumeration value="VC"/>
-            <xsd:enumeration value="VI"/>
-            <xsd:enumeration value="VLT"/>
-            <xsd:enumeration value="VQ"/>
-            <xsd:enumeration value="VS"/>
-            <xsd:enumeration value="VT"/>
-            <xsd:enumeration value="W2"/>
-            <xsd:enumeration value="W4"/>
-            <xsd:enumeration value="WA"/>
-            <xsd:enumeration value="WB"/>
-            <xsd:enumeration value="WCD"/>
-            <xsd:enumeration value="WE"/>
-            <xsd:enumeration value="WEB"/>
-            <xsd:enumeration value="WEE"/>
-            <xsd:enumeration value="WG"/>
-            <xsd:enumeration value="WH"/>
-            <xsd:enumeration value="WHR"/>
-            <xsd:enumeration value="WI"/>
-            <xsd:enumeration value="WM"/>
-            <xsd:enumeration value="WR"/>
-            <xsd:enumeration value="WSD"/>
-            <xsd:enumeration value="WTT"/>
-            <xsd:enumeration value="WW"/>
-            <xsd:enumeration value="X1"/>
-            <xsd:enumeration value="YDK"/>
-            <xsd:enumeration value="YDQ"/>
-            <xsd:enumeration value="YL"/>
-            <xsd:enumeration value="YRD"/>
-            <xsd:enumeration value="YT"/>
-            <xsd:enumeration value="Z1"/>
-            <xsd:enumeration value="Z2"/>
-            <xsd:enumeration value="Z3"/>
-            <xsd:enumeration value="Z4"/>
-            <xsd:enumeration value="Z5"/>
-            <xsd:enumeration value="Z6"/>
-            <xsd:enumeration value="Z8"/>
-            <xsd:enumeration value="ZP"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfDimension">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Dimension"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfDimension" type="ListOfDimension"/>
-    <xsd:complexType name="Dimension">
-        <xsd:sequence>
-            <xsd:element ref="Measurement"/>
-            <xsd:element name="DimensionCoded" type="DimensionCode"/>
-            <xsd:element minOccurs="0" name="DimensionCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Dimension" type="Dimension"/>
-    <xsd:complexType name="Measurement">
-        <xsd:sequence>
-            <xsd:choice>
-                <xsd:element ref="MeasurementValue"/>
-                <xsd:element ref="MeasurementRange"/>
-            </xsd:choice>
-            <xsd:element ref="UnitOfMeasurement"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Measurement" type="Measurement"/>
-    <xsd:complexType name="MeasurementValue">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:decimal">
-                <xsd:attribute name="SignificanceCoded" type="SignificanceCode" use="optional"/>
-                <xsd:attribute name="SignificanceCodedOther" type="xsd:string" use="optional"/>
-                <xsd:attribute name="ConditionsCoded" type="ConditionsCode" use="optional"/>
-                <xsd:attribute name="ConditionsCodedOther" type="xsd:string" use="optional"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="MeasurementValue" type="MeasurementValue"/>
-    <xsd:simpleType name="SignificanceCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Approximately"/>
-            <xsd:enumeration value="EqualTo"/>
-            <xsd:enumeration value="GreaterThanOrEqualTo"/>
-            <xsd:enumeration value="GreaterThan"/>
-            <xsd:enumeration value="LessThan"/>
-            <xsd:enumeration value="LessThanOrEqualTo"/>
-            <xsd:enumeration value="NotEqualTo"/>
-            <xsd:enumeration value="Trace"/>
-            <xsd:enumeration value="TrueValue"/>
-            <xsd:enumeration value="ObservedValue"/>
-            <xsd:enumeration value="OutOfRange"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="ConditionsCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="WhereAirEquals1"/>
-            <xsd:enumeration value="WhereButylAcetateEquals1"/>
-            <xsd:enumeration value="WhereH2OEquals1OrWaterEquals1"/>
-            <xsd:enumeration value="CorrectedTo60DegreesFahrenheit"/>
-            <xsd:enumeration value="WhereTolueneEquals1"/>
-            <xsd:enumeration value="VaporInAir"/>
-            <xsd:enumeration value="VaporInOtherThanAir"/>
-            <xsd:enumeration value="StandardTemperatureAndPressure"/>
-            <xsd:enumeration value="ConditionsOtherThanStandardTemperatureAndPressure"/>
-            <xsd:enumeration value="InEthylAlcohol"/>
-            <xsd:enumeration value="InEthylEther"/>
-            <xsd:enumeration value="InWater"/>
-            <xsd:enumeration value="At1AtmospherePressure"/>
-            <xsd:enumeration value="WhereEtherEquals1"/>
-            <xsd:enumeration value="Actual"/>
-            <xsd:enumeration value="Predicted"/>
-            <xsd:enumeration value="Air-DriedBasis"/>
-            <xsd:enumeration value="As-ReceivedBasis"/>
-            <xsd:enumeration value="DryBasis"/>
-            <xsd:enumeration value="EquilibriumBasis"/>
-            <xsd:enumeration value="MoistureAndAsh-FreeBasis"/>
-            <xsd:enumeration value="OxidizingAtmosphere"/>
-            <xsd:enumeration value="ReducingAtmosphere"/>
-            <xsd:enumeration value="Calculated"/>
-            <xsd:enumeration value="ScaledWeight"/>
-            <xsd:enumeration value="Ratchet"/>
-            <xsd:enumeration value="SaturatedVapor"/>
-            <xsd:enumeration value="Unconditional"/>
-            <xsd:enumeration value="Short-Term"/>
-            <xsd:enumeration value="Time-Weighted"/>
-            <xsd:enumeration value="Corrected"/>
-            <xsd:enumeration value="Uncorrected"/>
-            <xsd:enumeration value="OffPeak"/>
-            <xsd:enumeration value="OnPeak"/>
-            <xsd:enumeration value="Intermediate"/>
-            <xsd:enumeration value="Average"/>
-            <xsd:enumeration value="PerGallon"/>
-            <xsd:enumeration value="Estimated"/>
-            <xsd:enumeration value="Minimum"/>
-            <xsd:enumeration value="Mist"/>
-            <xsd:enumeration value="Predominant"/>
-            <xsd:enumeration value="Total"/>
-            <xsd:enumeration value="Cost"/>
-            <xsd:enumeration value="Tenant"/>
-            <xsd:enumeration value="Owner"/>
-            <xsd:enumeration value="ForSale"/>
-            <xsd:enumeration value="RealEstateOwnedOrCorporateOwned"/>
-            <xsd:enumeration value="BoardedOrBlockedUp"/>
-            <xsd:enumeration value="Planned"/>
-            <xsd:enumeration value="Completed"/>
-            <xsd:enumeration value="Sold"/>
-            <xsd:enumeration value="Rented"/>
-            <xsd:enumeration value="Current"/>
-            <xsd:enumeration value="CurrentList"/>
-            <xsd:enumeration value="Effective"/>
-            <xsd:enumeration value="ListWhenSold"/>
-            <xsd:enumeration value="Sales"/>
-            <xsd:enumeration value="FinalList"/>
-            <xsd:enumeration value="AsIs"/>
-            <xsd:enumeration value="AsRepairedOrImproved"/>
-            <xsd:enumeration value="Instantaneous"/>
-            <xsd:enumeration value="Low"/>
-            <xsd:enumeration value="LowToGood"/>
-            <xsd:enumeration value="LowToHigh"/>
-            <xsd:enumeration value="LowToMedium"/>
-            <xsd:enumeration value="LowToModerate"/>
-            <xsd:enumeration value="Medium"/>
-            <xsd:enumeration value="MediumToGood"/>
-            <xsd:enumeration value="MediumToHigh"/>
-            <xsd:enumeration value="Moderate"/>
-            <xsd:enumeration value="ModerateToGood"/>
-            <xsd:enumeration value="ModerateToHigh"/>
-            <xsd:enumeration value="ModerateToMedium"/>
-            <xsd:enumeration value="Good"/>
-            <xsd:enumeration value="GoodToHigh"/>
-            <xsd:enumeration value="High"/>
-            <xsd:enumeration value="Budgeted"/>
-            <xsd:enumeration value="Forecast"/>
-            <xsd:enumeration value="Adjusted"/>
-            <xsd:enumeration value="Allocated"/>
-            <xsd:enumeration value="Increasing"/>
-            <xsd:enumeration value="Stable"/>
-            <xsd:enumeration value="Declining"/>
-            <xsd:enumeration value="Previous"/>
-            <xsd:enumeration value="Potential"/>
-            <xsd:enumeration value="Modeled"/>
-            <xsd:enumeration value="Measured"/>
-            <xsd:enumeration value="Maximum"/>
-            <xsd:enumeration value="SummerOn-Peak"/>
-            <xsd:enumeration value="SummerMid-Peak"/>
-            <xsd:enumeration value="SummerOff-Peak"/>
-            <xsd:enumeration value="SummerSuperOn-Peak"/>
-            <xsd:enumeration value="SummerSuperOff-Peak"/>
-            <xsd:enumeration value="WinterOn-Peak"/>
-            <xsd:enumeration value="WinterMid-Peak"/>
-            <xsd:enumeration value="WinterOff-Peak"/>
-            <xsd:enumeration value="WinterSuperOn-Peak"/>
-            <xsd:enumeration value="WinterSuperOff-Peak"/>
-            <xsd:enumeration value="SummerDay"/>
-            <xsd:enumeration value="SummerNight"/>
-            <xsd:enumeration value="WinterDay"/>
-            <xsd:enumeration value="WinterNight"/>
-            <xsd:enumeration value="Summer"/>
-            <xsd:enumeration value="Winter"/>
-            <xsd:enumeration value="Day"/>
-            <xsd:enumeration value="Night"/>
-            <xsd:enumeration value="Peak-2"/>
-            <xsd:enumeration value="Peak-3"/>
-            <xsd:enumeration value="Peak-4"/>
-            <xsd:enumeration value="Shoulder"/>
-            <xsd:enumeration value="NonTimeRelatedDemand"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="MeasurementRange">
-        <xsd:sequence>
-            <xsd:element ref="MinimumValue"/>
-            <xsd:element ref="MaximumValue"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="MeasurementRange" type="MeasurementRange"/>
-    <xsd:complexType name="MinimumValue">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:decimal">
-                <xsd:attribute name="SignificanceCoded" type="SignificanceCode" use="optional"/>
-                <xsd:attribute name="SignificanceCodedOther" type="xsd:string" use="optional"/>
-                <xsd:attribute name="ConditionsCoded" type="ConditionsCode" use="optional"/>
-                <xsd:attribute name="ConditionsCodedOther" type="xsd:string" use="optional"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="MinimumValue" type="MinimumValue"/>
-    <xsd:complexType name="MaximumValue">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:decimal">
-                <xsd:attribute name="SignificanceCoded" type="SignificanceCode" use="optional"/>
-                <xsd:attribute name="SignificanceCodedOther" type="xsd:string" use="optional"/>
-                <xsd:attribute name="ConditionsCoded" type="ConditionsCode" use="optional"/>
-                <xsd:attribute name="ConditionsCodedOther" type="xsd:string" use="optional"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="MaximumValue" type="MaximumValue"/>
-    <xsd:simpleType name="DimensionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="ConsolidatedWeight"/>
-            <xsd:enumeration value="UnitNetWeight"/>
-            <xsd:enumeration value="UnitGrossWeight"/>
-            <xsd:enumeration value="TotalNetWeight"/>
-            <xsd:enumeration value="TotalGrossWeight"/>
-            <xsd:enumeration value="ItemGrossWeight"/>
-            <xsd:enumeration value="NetNetWeight"/>
-            <xsd:enumeration value="NumberOfUnitsPerPallet"/>
-            <xsd:enumeration value="FatContent"/>
-            <xsd:enumeration value="NetWeight"/>
-            <xsd:enumeration value="GrossTonnageOfTheVessel"/>
-            <xsd:enumeration value="NetTonnageOfTheVessel"/>
-            <xsd:enumeration value="Humidity"/>
-            <xsd:enumeration value="Voltage"/>
-            <xsd:enumeration value="PowerConsumption"/>
-            <xsd:enumeration value="HeatDissipation"/>
-            <xsd:enumeration value="AirFlow"/>
-            <xsd:enumeration value="ShockImpact"/>
-            <xsd:enumeration value="OperativeTemperature"/>
-            <xsd:enumeration value="NonOperativeTemperature"/>
-            <xsd:enumeration value="GrossVolume"/>
-            <xsd:enumeration value="NetVolume"/>
-            <xsd:enumeration value="WaterContent"/>
-            <xsd:enumeration value="TensileStress"/>
-            <xsd:enumeration value="Fibrosity"/>
-            <xsd:enumeration value="GaugeLength"/>
-            <xsd:enumeration value="Radius"/>
-            <xsd:enumeration value="Straightness"/>
-            <xsd:enumeration value="Strain"/>
-            <xsd:enumeration value="Volume"/>
-            <xsd:enumeration value="ItemWeight"/>
-            <xsd:enumeration value="WeightOfConveyance"/>
-            <xsd:enumeration value="ConveyanceSummerDeadWeight"/>
-            <xsd:enumeration value="ContainerizedCargoOnVesselsWeight"/>
-            <xsd:enumeration value="Non-ContainerizedCargoOnVesselsWeight"/>
-            <xsd:enumeration value="WeightAscertained"/>
-            <xsd:enumeration value="ChargeableWeight"/>
-            <xsd:enumeration value="EstimatedGrossWeight"/>
-            <xsd:enumeration value="EstimatedVolume"/>
-            <xsd:enumeration value="VesselOverallLength"/>
-            <xsd:enumeration value="LoadingMeters"/>
-            <xsd:enumeration value="NumberOfAxles"/>
-            <xsd:enumeration value="Payload"/>
-            <xsd:enumeration value="StartPositionInTheLength"/>
-            <xsd:enumeration value="EndPositionInTheLength"/>
-            <xsd:enumeration value="StartPositionInTheWidth"/>
-            <xsd:enumeration value="EndPositionInTheWidth"/>
-            <xsd:enumeration value="StartPositionInTheThickness"/>
-            <xsd:enumeration value="EndPositionInTheThickness"/>
-            <xsd:enumeration value="TransportContainerActualFillingWeight"/>
-            <xsd:enumeration value="TransportContainerMaximumCapacity"/>
-            <xsd:enumeration value="DeclaredNetWeight"/>
-            <xsd:enumeration value="LoadingHeight"/>
-            <xsd:enumeration value="StackingHeight"/>
-            <xsd:enumeration value="CalculatedWeight"/>
-            <xsd:enumeration value="Ferrite"/>
-            <xsd:enumeration value="Impurity"/>
-            <xsd:enumeration value="GrainSize"/>
-            <xsd:enumeration value="Lanthanides"/>
-            <xsd:enumeration value="Elasticity"/>
-            <xsd:enumeration value="DrainedWeight"/>
-            <xsd:enumeration value="Gallium"/>
-            <xsd:enumeration value="Strontium"/>
-            <xsd:enumeration value="EquipmentStorageLimitation"/>
-            <xsd:enumeration value="RadioactiveIndexOfTransport"/>
-            <xsd:enumeration value="Radioactivity"/>
-            <xsd:enumeration value="AverageGrossWeight"/>
-            <xsd:enumeration value="ForwardDraft"/>
-            <xsd:enumeration value="AfterDraft"/>
-            <xsd:enumeration value="TransportEquipmentGrossWeight"/>
-            <xsd:enumeration value="TotalTransportEquipmentGrossWeight"/>
-            <xsd:enumeration value="AcidityOfJuice"/>
-            <xsd:enumeration value="Penetrometry"/>
-            <xsd:enumeration value="Durofel"/>
-            <xsd:enumeration value="JuiceWeightPer100Grams"/>
-            <xsd:enumeration value="FruitSkinColour"/>
-            <xsd:enumeration value="AngleOfBend"/>
-            <xsd:enumeration value="FixedIncrementalMeasurement"/>
-            <xsd:enumeration value="DurofelD10"/>
-            <xsd:enumeration value="DurofelD25"/>
-            <xsd:enumeration value="DurofelD50"/>
-            <xsd:enumeration value="MaximumStackingWeight"/>
-            <xsd:enumeration value="GrossMeasureCube"/>
-            <xsd:enumeration value="PercentageFatContentInDryMatter"/>
-            <xsd:enumeration value="SaccharometricContent"/>
-            <xsd:enumeration value="HydrateContentOfAnAlcoholicProductAfterBottling"/>
-            <xsd:enumeration value="AnhydrousContent"/>
-            <xsd:enumeration value="CertifiedWeight"/>
-            <xsd:enumeration value="BilledWeight"/>
-            <xsd:enumeration value="BreakingLoad"/>
-            <xsd:enumeration value="Platinum"/>
-            <xsd:enumeration value="Silver"/>
-            <xsd:enumeration value="List"/>
-            <xsd:enumeration value="Trim"/>
-            <xsd:enumeration value="FreeWater"/>
-            <xsd:enumeration value="Bands"/>
-            <xsd:enumeration value="AmericanPetroleumInstituteGravity"/>
-            <xsd:enumeration value="PetroleumGrossObservedVolume"/>
-            <xsd:enumeration value="PetroleumGrossStandardVolume"/>
-            <xsd:enumeration value="VolumeVariance"/>
-            <xsd:enumeration value="PetroleumNetStandardVolume"/>
-            <xsd:enumeration value="MaterialOn-BoardQuantity-AfterDischarge"/>
-            <xsd:enumeration value="PetroleumTotalCalculatedVolume"/>
-            <xsd:enumeration value="PetroleumTotalObservedVolume"/>
-            <xsd:enumeration value="InnageGaugeDistance"/>
-            <xsd:enumeration value="PetroleumNetStandardWeight"/>
-            <xsd:enumeration value="SedimentAndWaterInPetroleum"/>
-            <xsd:enumeration value="ObservedReferenceHeight-Tank"/>
-            <xsd:enumeration value="ReferenceHeight-Tank"/>
-            <xsd:enumeration value="UllageGaugeDistance"/>
-            <xsd:enumeration value="TrimCorrection"/>
-            <xsd:enumeration value="BowToBridgeDistance"/>
-            <xsd:enumeration value="Brightness"/>
-            <xsd:enumeration value="Brakes"/>
-            <xsd:enumeration value="Break"/>
-            <xsd:enumeration value="BreakingStrength"/>
-            <xsd:enumeration value="BreakingStrengthWet"/>
-            <xsd:enumeration value="BasisWeight"/>
-            <xsd:enumeration value="Change"/>
-            <xsd:enumeration value="Colour"/>
-            <xsd:enumeration value="ContentsOfPackage"/>
-            <xsd:enumeration value="CommercialWeight"/>
-            <xsd:enumeration value="CoreLength"/>
-            <xsd:enumeration value="DestinationWeightAgreement"/>
-            <xsd:enumeration value="Diameter"/>
-            <xsd:enumeration value="DeltaValueL"/>
-            <xsd:enumeration value="Density"/>
-            <xsd:enumeration value="Depth"/>
-            <xsd:enumeration value="Denier"/>
-            <xsd:enumeration value="DistanceBetweenPoints"/>
-            <xsd:enumeration value="Width-BoxcarDoor"/>
-            <xsd:enumeration value="EstimatedNewWeight"/>
-            <xsd:enumeration value="Elongation"/>
-            <xsd:enumeration value="DeficitWeight"/>
-            <xsd:enumeration value="FilamentCount"/>
-            <xsd:enumeration value="LongitudinalFlatness"/>
-            <xsd:enumeration value="Flatness"/>
-            <xsd:enumeration value="TransverseFlatness"/>
-            <xsd:enumeration value="GrossWeight"/>
-            <xsd:enumeration value="Gauge"/>
-            <xsd:enumeration value="GrossWeight-Maximum"/>
-            <xsd:enumeration value="Hardness"/>
-            <xsd:enumeration value="Height-Maximum"/>
-            <xsd:enumeration value="HeightDimension"/>
-            <xsd:enumeration value="ImpactEnergy"/>
-            <xsd:enumeration value="InsideDiameter"/>
-            <xsd:enumeration value="LegalWeight"/>
-            <xsd:enumeration value="Length-Maximum"/>
-            <xsd:enumeration value="LengthDimension"/>
-            <xsd:enumeration value="LostEnd"/>
-            <xsd:enumeration value="MinimumWeight"/>
-            <xsd:enumeration value="Moisture"/>
-            <xsd:enumeration value="MaximumWeight"/>
-            <xsd:enumeration value="ActualNetWeight"/>
-            <xsd:enumeration value="OutsideDiameter"/>
-            <xsd:enumeration value="PreStretch"/>
-            <xsd:enumeration value="PerTonne"/>
-            <xsd:enumeration value="RelativeHumidity"/>
-            <xsd:enumeration value="Resistivity"/>
-            <xsd:enumeration value="RockwellC"/>
-            <xsd:enumeration value="ReamWeight"/>
-            <xsd:enumeration value="ReductionOfArea"/>
-            <xsd:enumeration value="Run-Process"/>
-            <xsd:enumeration value="Ratio"/>
-            <xsd:enumeration value="ShippedQuantity"/>
-            <xsd:enumeration value="TareWeight"/>
-            <xsd:enumeration value="Temperature"/>
-            <xsd:enumeration value="Thickness"/>
-            <xsd:enumeration value="TimePeriod"/>
-            <xsd:enumeration value="Time"/>
-            <xsd:enumeration value="WeightPerUnit"/>
-            <xsd:enumeration value="Height-VanDoor"/>
-            <xsd:enumeration value="Width-VanDoor"/>
-            <xsd:enumeration value="WeightPerUnitOfArea"/>
-            <xsd:enumeration value="WidthDimension"/>
-            <xsd:enumeration value="Width-Maximum"/>
-            <xsd:enumeration value="Weight"/>
-            <xsd:enumeration value="WeightPerUnitOfLength"/>
-            <xsd:enumeration value="SideHeight-FlatBedWithRemovableSides"/>
-            <xsd:enumeration value="Teir"/>
-            <xsd:enumeration value="Block"/>
-            <xsd:enumeration value="Squareness"/>
-            <xsd:enumeration value="SpoolSize"/>
-            <xsd:enumeration value="YieldStress"/>
-            <xsd:enumeration value="Aluminium"/>
-            <xsd:enumeration value="Arsenic"/>
-            <xsd:enumeration value="Boron"/>
-            <xsd:enumeration value="Bismuth"/>
-            <xsd:enumeration value="Carbon"/>
-            <xsd:enumeration value="Calcium"/>
-            <xsd:enumeration value="Columbium"/>
-            <xsd:enumeration value="Cerium"/>
-            <xsd:enumeration value="Chlorine"/>
-            <xsd:enumeration value="Cobalt"/>
-            <xsd:enumeration value="Chromium"/>
-            <xsd:enumeration value="Copper"/>
-            <xsd:enumeration value="Iron"/>
-            <xsd:enumeration value="IronPlusSilicon"/>
-            <xsd:enumeration value="Germanium"/>
-            <xsd:enumeration value="Hydrogen"/>
-            <xsd:enumeration value="Potassium"/>
-            <xsd:enumeration value="Magnesium"/>
-            <xsd:enumeration value="Manganese"/>
-            <xsd:enumeration value="Molybdenum"/>
-            <xsd:enumeration value="Nitrogen"/>
-            <xsd:enumeration value="Sodium"/>
-            <xsd:enumeration value="Niobium"/>
-            <xsd:enumeration value="Nickel"/>
-            <xsd:enumeration value="Oxygen"/>
-            <xsd:enumeration value="Phosphorus"/>
-            <xsd:enumeration value="Lead"/>
-            <xsd:enumeration value="Sulphur"/>
-            <xsd:enumeration value="Antimony"/>
-            <xsd:enumeration value="Selenium"/>
-            <xsd:enumeration value="Silicon"/>
-            <xsd:enumeration value="SiliciumOxyd"/>
-            <xsd:enumeration value="Tin"/>
-            <xsd:enumeration value="Tantalium"/>
-            <xsd:enumeration value="Tellurium"/>
-            <xsd:enumeration value="Titanium"/>
-            <xsd:enumeration value="Vanadium"/>
-            <xsd:enumeration value="Tungsten"/>
-            <xsd:enumeration value="WasteContent"/>
-            <xsd:enumeration value="Zinc"/>
-            <xsd:enumeration value="Zirconium"/>
-            <xsd:enumeration value="StorageTemperature"/>
-            <xsd:enumeration value="TransportTemperature"/>
-            <xsd:enumeration value="CargoOperatingTemperature"/>
-            <xsd:enumeration value="TransportEmergencyTemperature"/>
-            <xsd:enumeration value="TransportControlTemperature"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Quantity">
-        <xsd:sequence>
-            <xsd:choice>
-                <xsd:element ref="QuantityValue"/>
-                <xsd:element ref="QuantityRange"/>
-            </xsd:choice>
-            <xsd:element ref="UnitOfMeasurement"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Quantity" type="Quantity"/>
-    <xsd:complexType name="QuantityValue">
-        <xsd:simpleContent>
-            <xsd:extension base="xsd:decimal">
-                <xsd:attribute name="SignificanceCoded" type="SignificanceCode" use="optional"/>
-                <xsd:attribute name="SignificanceCodedOther" type="xsd:string" use="optional"/>
-                <xsd:attribute name="ConditionsCoded" type="ConditionsCode" use="optional"/>
-                <xsd:attribute name="ConditionsCodedOther" type="xsd:string" use="optional"/>
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-    <xsd:element name="QuantityValue" type="QuantityValue"/>
-    <xsd:complexType name="QuantityRange">
-        <xsd:sequence>
-            <xsd:element ref="MinimumValue"/>
-            <xsd:element ref="MaximumValue"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="QuantityRange" type="QuantityRange"/>
-    <xsd:complexType name="ListOfQuantityCoded">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="QuantityCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfQuantityCoded" type="ListOfQuantityCoded"/>
-    <xsd:complexType name="QuantityCoded">
-        <xsd:complexContent>
-            <xsd:extension base="Quantity">
-                <xsd:sequence>
-                    <xsd:element name="QuantityQualifierCoded" type="QuantityQualifierCode"/>
-                    <xsd:element minOccurs="0" name="QuantityQualifierCodedOther" type="xsd:string"/>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:element name="QuantityCoded" type="QuantityCoded"/>
-    <xsd:simpleType name="QuantityQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AcceptableUnserviceableQuantity"/>
-            <xsd:enumeration value="Accidents"/>
-            <xsd:enumeration value="Accounts"/>
-            <xsd:enumeration value="AccountsPayableAverageOverdueDays"/>
-            <xsd:enumeration value="AccountsPlacedForCollection"/>
-            <xsd:enumeration value="AcknowledgedQuantity"/>
-            <xsd:enumeration value="ActiveAccounts"/>
-            <xsd:enumeration value="ActiveContractsDelinquent"/>
-            <xsd:enumeration value="ActiveContractsDelinquent-BuyingPartyCaused"/>
-            <xsd:enumeration value="ActiveContractsDelinquent-ContractorCaused"/>
-            <xsd:enumeration value="ActiveContractsDelinquent-UnknownCauses"/>
-            <xsd:enumeration value="ActiveIngredient"/>
-            <xsd:enumeration value="ActiveIngredientDosePerUnit"/>
-            <xsd:enumeration value="ActiveIngredientDosePerUnitDispensed"/>
-            <xsd:enumeration value="ActiveLineItemsDelinquent"/>
-            <xsd:enumeration value="ActiveLineItemsDelinquent-BuyingPartyCaused"/>
-            <xsd:enumeration value="ActiveLineItemsDelinquent-ContractorCaused"/>
-            <xsd:enumeration value="ActiveLineItemsDelinquent-UnknownCauses"/>
-            <xsd:enumeration value="ActiveListings"/>
-            <xsd:enumeration value="ActiveMaintenanceTime"/>
-            <xsd:enumeration value="ActivityCodes"/>
-            <xsd:enumeration value="Actual"/>
-            <xsd:enumeration value="ActualDuration"/>
-            <xsd:enumeration value="ActualHours"/>
-            <xsd:enumeration value="ActualStock"/>
-            <xsd:enumeration value="ActualUnits"/>
-            <xsd:enumeration value="ActualUnitsCumulativeToDate"/>
-            <xsd:enumeration value="AddedEmployees"/>
-            <xsd:enumeration value="AdditionalAmount"/>
-            <xsd:enumeration value="AdditionalDemandQuantity"/>
-            <xsd:enumeration value="AdditionalPromotionSalesForecastQuantity"/>
-            <xsd:enumeration value="AdditionalReplenishmentDemandQuantity"/>
-            <xsd:enumeration value="AdditionalUsageQuantity"/>
-            <xsd:enumeration value="AdjustedCorrectorReading"/>
-            <xsd:enumeration value="AdjustedQuantity"/>
-            <xsd:enumeration value="AdjustedUnits"/>
-            <xsd:enumeration value="AdjustmentToInventoryQuantity"/>
-            <xsd:enumeration value="Administrators"/>
-            <xsd:enumeration value="Age"/>
-            <xsd:enumeration value="AgeAtDeath"/>
-            <xsd:enumeration value="AgedActiveLineItemsDelinquent-ContractorCaused"/>
-            <xsd:enumeration value="AgedLineItemsCompleted-ContractorCaused"/>
-            <xsd:enumeration value="AgedLineItemsDelinquent"/>
-            <xsd:enumeration value="AgeHighValue"/>
-            <xsd:enumeration value="AgeLowValue"/>
-            <xsd:enumeration value="AgeModifyingUnits"/>
-            <xsd:enumeration value="AgeNearest"/>
-            <xsd:enumeration value="AgeNext"/>
-            <xsd:enumeration value="Agents"/>
-            <xsd:enumeration value="AgeOfFinancialInformation"/>
-            <xsd:enumeration value="AggregateBenefitPeriod"/>
-            <xsd:enumeration value="AgriculturalWorkers"/>
-            <xsd:enumeration value="AircraftRadios"/>
-            <xsd:enumeration value="AirlineAttendants"/>
-            <xsd:enumeration value="AllocatedQuantity"/>
-            <xsd:enumeration value="AllottedUsageQuantity"/>
-            <xsd:enumeration value="Allowance"/>
-            <xsd:enumeration value="AllTimeBuy"/>
-            <xsd:enumeration value="AmortisationQuantity"/>
-            <xsd:enumeration value="AmortizationCumulatedQuantity"/>
-            <xsd:enumeration value="AmortizationOrderQuantity"/>
-            <xsd:enumeration value="AmortizationTerm"/>
-            <xsd:enumeration value="AmortizationTotalQuantity"/>
-            <xsd:enumeration value="AnticipatedLengthOfService"/>
-            <xsd:enumeration value="ApprovalOrOfferDuration"/>
-            <xsd:enumeration value="ApprovedAmount"/>
-            <xsd:enumeration value="ApproximateNumberOfHolders"/>
-            <xsd:enumeration value="ApproximateNumberOfUnitsForSaleProjected"/>
-            <xsd:enumeration value="ApproximateNumberOfUnitsProjected"/>
-            <xsd:enumeration value="AreaDamaged"/>
-            <xsd:enumeration value="AreaOfLevel"/>
-            <xsd:enumeration value="AreaPerUnits"/>
-            <xsd:enumeration value="Arrests"/>
-            <xsd:enumeration value="AsIsQuantity"/>
-            <xsd:enumeration value="AssetSeizers"/>
-            <xsd:enumeration value="Associates"/>
-            <xsd:enumeration value="AtCompleteVariance"/>
-            <xsd:enumeration value="AtCompletionQuantityEstimated"/>
-            <xsd:enumeration value="Attendant-HandledQuantity"/>
-            <xsd:enumeration value="Auctions"/>
-            <xsd:enumeration value="Auditor"/>
-            <xsd:enumeration value="AuthorisedShares"/>
-            <xsd:enumeration value="AuthorizedRetentionLevel"/>
-            <xsd:enumeration value="AuthorizedShares"/>
-            <xsd:enumeration value="AvailableQuantity"/>
-            <xsd:enumeration value="AvailableResourceTaskQuantity"/>
-            <xsd:enumeration value="AvailableUnits"/>
-            <xsd:enumeration value="Average"/>
-            <xsd:enumeration value="AverageEmployees"/>
-            <xsd:enumeration value="AverageNumberOfEmployees"/>
-            <xsd:enumeration value="Axles"/>
-            <xsd:enumeration value="BackorderLines"/>
-            <xsd:enumeration value="BackorderQuantity"/>
-            <xsd:enumeration value="BankRejectItemCount."/>
-            <xsd:enumeration value="BankruptcyPetitionsFiled"/>
-            <xsd:enumeration value="BathroomCount"/>
-            <xsd:enumeration value="BathroomsFinishedAreaAboveGrade"/>
-            <xsd:enumeration value="BedroomCount"/>
-            <xsd:enumeration value="BedroomsFinishedAreaAboveGrade"/>
-            <xsd:enumeration value="Beds"/>
-            <xsd:enumeration value="BeginningShares"/>
-            <xsd:enumeration value="BenefitAmount"/>
-            <xsd:enumeration value="BenefitPeriod"/>
-            <xsd:enumeration value="BillableQuantity"/>
-            <xsd:enumeration value="Billed"/>
-            <xsd:enumeration value="BillingUnitPerPricingUnit"/>
-            <xsd:enumeration value="BirthWeight"/>
-            <xsd:enumeration value="BlankVotes"/>
-            <xsd:enumeration value="BloodRecord"/>
-            <xsd:enumeration value="BookInventory"/>
-            <xsd:enumeration value="BookOrderQuantity"/>
-            <xsd:enumeration value="Branches"/>
-            <xsd:enumeration value="BranchLocations"/>
-            <xsd:enumeration value="BranchLocationsLeased"/>
-            <xsd:enumeration value="BranchLocationsOwned"/>
-            <xsd:enumeration value="BranchOfficeLocationsEstimated"/>
-            <xsd:enumeration value="BrothersDeceased"/>
-            <xsd:enumeration value="BrothersLiving"/>
-            <xsd:enumeration value="Budget"/>
-            <xsd:enumeration value="BudgetAtComplete"/>
-            <xsd:enumeration value="BudgetCumulativeToDate"/>
-            <xsd:enumeration value="BudgetedHours"/>
-            <xsd:enumeration value="BusinessClassFailureIncidences"/>
-            <xsd:enumeration value="BusinessFailureClassIncidence"/>
-            <xsd:enumeration value="BusinessFailureIndustryIncidence"/>
-            <xsd:enumeration value="BusinessFailureNationalAverageIncidence"/>
-            <xsd:enumeration value="Buyer"/>
-            <xsd:enumeration value="BuyupOrBuydownRatePerBasisPoint"/>
-            <xsd:enumeration value="Bytes"/>
-            <xsd:enumeration value="CalendarUnits"/>
-            <xsd:enumeration value="CancelledQuantity"/>
-            <xsd:enumeration value="CapitalChanges"/>
-            <xsd:enumeration value="CertifiedRegisteredNurseAnesthetistNumberOfConcurrentProcedures"/>
-            <xsd:enumeration value="Changes"/>
-            <xsd:enumeration value="ChangesInCapitalStructure"/>
-            <xsd:enumeration value="Charge"/>
-            <xsd:enumeration value="ChargeableCubicMeasurements"/>
-            <xsd:enumeration value="ChargeableDistance"/>
-            <xsd:enumeration value="ChargeableGrossWeight"/>
-            <xsd:enumeration value="ChargeableLength"/>
-            <xsd:enumeration value="ChargeableNumberOfAxles"/>
-            <xsd:enumeration value="ChargeableNumberOfContainers"/>
-            <xsd:enumeration value="ChargeableNumberOfPackages"/>
-            <xsd:enumeration value="ChargeableNumberOfRailWagons"/>
-            <xsd:enumeration value="ChargeableNumberOfUnits"/>
-            <xsd:enumeration value="ChargeablePeriod"/>
-            <xsd:enumeration value="ChargeableSurface"/>
-            <xsd:enumeration value="ChargeableTareWeight"/>
-            <xsd:enumeration value="ChargeableVolume"/>
-            <xsd:enumeration value="ChargeableWeight"/>
-            <xsd:enumeration value="Children"/>
-            <xsd:enumeration value="CirculatingOil"/>
-            <xsd:enumeration value="Citations"/>
-            <xsd:enumeration value="ClaimPeriod"/>
-            <xsd:enumeration value="Clerks"/>
-            <xsd:enumeration value="ClosingStatementBalance"/>
-            <xsd:enumeration value="ClosingStockBalanceQuantity"/>
-            <xsd:enumeration value="Co2InjectionVolume"/>
-            <xsd:enumeration value="Co-Insured-Actual"/>
-            <xsd:enumeration value="Co-Insured-Estimated"/>
-            <xsd:enumeration value="CollateralRequirements"/>
-            <xsd:enumeration value="CollectionPeriod"/>
-            <xsd:enumeration value="CommitmentPeriod"/>
-            <xsd:enumeration value="CommittedQuantity"/>
-            <xsd:enumeration value="CommunityServiceDuration"/>
-            <xsd:enumeration value="CompaniesIncludedInConsolidatedFinancialStatement"/>
-            <xsd:enumeration value="CompaniesIncludedInConsolidation"/>
-            <xsd:enumeration value="CompaniesInSameActivity"/>
-            <xsd:enumeration value="ComparisonPeriod"/>
-            <xsd:enumeration value="Completed"/>
-            <xsd:enumeration value="CompletedContracts"/>
-            <xsd:enumeration value="CompletedLineItems"/>
-            <xsd:enumeration value="CompletedProjects"/>
-            <xsd:enumeration value="ComponentMeterReadingCount"/>
-            <xsd:enumeration value="ConcurrentItemOutputOfTooling"/>
-            <xsd:enumeration value="Confirmed"/>
-            <xsd:enumeration value="ConsolidatedDiscountInventory"/>
-            <xsd:enumeration value="ConsumerReservedQuantity"/>
-            <xsd:enumeration value="ContinuanceDuration"/>
-            <xsd:enumeration value="ContractBuydown"/>
-            <xsd:enumeration value="ContractBuyup"/>
-            <xsd:enumeration value="ContractCompletedDelinquent-ContractorCaused"/>
-            <xsd:enumeration value="ContractLineItemQuantity"/>
-            <xsd:enumeration value="ContractorAtComplete"/>
-            <xsd:enumeration value="ContractorCumulativeToDate"/>
-            <xsd:enumeration value="ContractsCompletedDelinquent-BuyingPartyCaused"/>
-            <xsd:enumeration value="ContractsCompletedDelinquent-UnknownCauses"/>
-            <xsd:enumeration value="ContributionTotal"/>
-            <xsd:enumeration value="ControlQuantity"/>
-            <xsd:enumeration value="ConventionalMobiles"/>
-            <xsd:enumeration value="ConvictionsSent"/>
-            <xsd:enumeration value="CooperativeShares"/>
-            <xsd:enumeration value="CorrectedQuantity"/>
-            <xsd:enumeration value="CorrectiveActionRequests-MethodC"/>
-            <xsd:enumeration value="CorrectiveActionRequests-MethodD"/>
-            <xsd:enumeration value="CorrectiveActionRequests-MethodE"/>
-            <xsd:enumeration value="CorrectiveActionRequests-Verbal"/>
-            <xsd:enumeration value="CorrectiveActionRequests-Written"/>
-            <xsd:enumeration value="CounterClerks"/>
-            <xsd:enumeration value="CourseSegments"/>
-            <xsd:enumeration value="Coverage"/>
-            <xsd:enumeration value="Covered-Actual"/>
-            <xsd:enumeration value="Covered-Estimated"/>
-            <xsd:enumeration value="Creditors"/>
-            <xsd:enumeration value="CriminalSentenceDuration"/>
-            <xsd:enumeration value="CumulativeActual"/>
-            <xsd:enumeration value="CumulativeBudget"/>
-            <xsd:enumeration value="CumulativeEarnedValue"/>
-            <xsd:enumeration value="CumulativeEffectOfPriorPeriodAdjustment"/>
-            <xsd:enumeration value="CumulativeGasInjectionVolume"/>
-            <xsd:enumeration value="CumulativeGasVolume"/>
-            <xsd:enumeration value="CumulativeLiquidInjectionVolume"/>
-            <xsd:enumeration value="CumulativeOilOrCondensateVolume"/>
-            <xsd:enumeration value="CumulativeQuantity"/>
-            <xsd:enumeration value="CumulativeQuantityActualEstimated"/>
-            <xsd:enumeration value="CumulativeQuantityActualMeasured"/>
-            <xsd:enumeration value="CumulativeQuantityActualPlanned"/>
-            <xsd:enumeration value="CumulativeQuantityOrdered"/>
-            <xsd:enumeration value="CumulativeQuantityPrecedingPeriodEstimated"/>
-            <xsd:enumeration value="CumulativeQuantityPrecedingPeriodMeasured"/>
-            <xsd:enumeration value="CumulativeQuantityPrecedingPeriodPlanned"/>
-            <xsd:enumeration value="CumulativeQuantityPrecedingPeriodReached"/>
-            <xsd:enumeration value="CumulativeQuantityReceived"/>
-            <xsd:enumeration value="CumulativeQuantityReceivedEndOfPriorYear"/>
-            <xsd:enumeration value="CumulativeQuantity-RejectedMaterial"/>
-            <xsd:enumeration value="CumulativeQuantity-RejectedMaterial-DispositionCredit"/>
-            <xsd:enumeration value="CumulativeQuantity-RejectedMaterial-DispositionPending"/>
-            <xsd:enumeration value="CumulativeQuantity-RejectedMaterial-DispositionReplacement"/>
-            <xsd:enumeration value="CumulativeQuantityRequiredPriorToTheFirstScheduledPeriod"/>
-            <xsd:enumeration value="CumulativeQuantityScheduled"/>
-            <xsd:enumeration value="CumulativeQuantityScheduledUpToAccumulationStartDate"/>
-            <xsd:enumeration value="CumulativeQuantityShipped"/>
-            <xsd:enumeration value="CumulativeQuantityShippedLong-DispositionChallenged"/>
-            <xsd:enumeration value="CumulativeQuantityShippedLong-DispositionPending"/>
-            <xsd:enumeration value="CumulativeQuantityShippedShort-DispositionChallenged"/>
-            <xsd:enumeration value="CumulativeQuantityShippedShort-DispositionPending"/>
-            <xsd:enumeration value="CumulativeScheduleVariance"/>
-            <xsd:enumeration value="CumulativeScrapQuantity"/>
-            <xsd:enumeration value="CumulativeVariance"/>
-            <xsd:enumeration value="CumulativeWaterVolume"/>
-            <xsd:enumeration value="CurrentDaysOnMarket"/>
-            <xsd:enumeration value="DeductibleBloodUnits"/>
-            <xsd:enumeration value="DefaultNotificationResponsePeriod"/>
-            <xsd:enumeration value="DegreeSegments"/>
-            <xsd:enumeration value="Deleted"/>
-            <xsd:enumeration value="DeliveryBatch"/>
-            <xsd:enumeration value="DeliveryBatchMultiple"/>
-            <xsd:enumeration value="DeliveryQuantity"/>
-            <xsd:enumeration value="DeliveryQuantityBalance"/>
-            <xsd:enumeration value="Departments"/>
-            <xsd:enumeration value="DependentCount"/>
-            <xsd:enumeration value="DependentsAge"/>
-            <xsd:enumeration value="DependentTotal"/>
-            <xsd:enumeration value="DesignEmployees"/>
-            <xsd:enumeration value="DespatchNoteQuantity"/>
-            <xsd:enumeration value="DespatchQuantity"/>
-            <xsd:enumeration value="DestroyedQuantity"/>
-            <xsd:enumeration value="DetrimentalLegalFilings"/>
-            <xsd:enumeration value="DetrimentalLegalFilingsAgainstDirectors"/>
-            <xsd:enumeration value="DimensionalSampleQuantity"/>
-            <xsd:enumeration value="Directors"/>
-            <xsd:enumeration value="DirectShipmentQuantity"/>
-            <xsd:enumeration value="DirectWorkers"/>
-            <xsd:enumeration value="DisbursementPeriod"/>
-            <xsd:enumeration value="DiscreetQuantity-RejectedMaterial"/>
-            <xsd:enumeration value="DiscreteQuantity"/>
-            <xsd:enumeration value="DiscreteQuantity-RejectedMaterial-DispositionCredit"/>
-            <xsd:enumeration value="DiscreteQuantity-RejectedMaterial-DispositionPending"/>
-            <xsd:enumeration value="DiscreteQuantity-RejectedMaterial-DispositionReplacement"/>
-            <xsd:enumeration value="Disposed"/>
-            <xsd:enumeration value="DispositionUndeterminedQuantity"/>
-            <xsd:enumeration value="Distributed"/>
-            <xsd:enumeration value="DistributorInventory"/>
-            <xsd:enumeration value="DomesticAffiliatedCompanies"/>
-            <xsd:enumeration value="DomesticUses"/>
-            <xsd:enumeration value="Dose"/>
-            <xsd:enumeration value="Drafts"/>
-            <xsd:enumeration value="Drivers"/>
-            <xsd:enumeration value="Due"/>
-            <xsd:enumeration value="Due-In"/>
-            <xsd:enumeration value="Duplicates"/>
-            <xsd:enumeration value="DurationInCurrentJob"/>
-            <xsd:enumeration value="DwellingArea"/>
-            <xsd:enumeration value="EarnedValue"/>
-            <xsd:enumeration value="EarnedValueCumulativeToDate"/>
-            <xsd:enumeration value="EarnedValueHours"/>
-            <xsd:enumeration value="EffectiveAge"/>
-            <xsd:enumeration value="ElapsedDuration"/>
-            <xsd:enumeration value="ElectronicSignatures"/>
-            <xsd:enumeration value="EliminationPeriod"/>
-            <xsd:enumeration value="EliminationPeriod-Accident"/>
-            <xsd:enumeration value="EliminationPeriod-Sickness"/>
-            <xsd:enumeration value="EmergencyModifyingUnits"/>
-            <xsd:enumeration value="EmployedAtLocation"/>
-            <xsd:enumeration value="EmployedAtThisLocation"/>
-            <xsd:enumeration value="EmployedByThisCompany"/>
-            <xsd:enumeration value="EmployedInThisProfession"/>
-            <xsd:enumeration value="EmployedOnThisJob"/>
-            <xsd:enumeration value="EmployeeAverage"/>
-            <xsd:enumeration value="Employees"/>
-            <xsd:enumeration value="EmployeesAge"/>
-            <xsd:enumeration value="Employees-Nonowner"/>
-            <xsd:enumeration value="EmployeesNotIncludingOwners"/>
-            <xsd:enumeration value="EmployeesNumberOfDaysAwayFromWorkDueToInjury"/>
-            <xsd:enumeration value="EmployeesNumberOfDaysOfRestrictedWorkActivityDueToInjury"/>
-            <xsd:enumeration value="Employees-Owner"/>
-            <xsd:enumeration value="Employees-PartTime"/>
-            <xsd:enumeration value="Employees-SameDuties"/>
-            <xsd:enumeration value="Employees-SameOccupation"/>
-            <xsd:enumeration value="EmployeesShared"/>
-            <xsd:enumeration value="EmployeesTotalNumberOfDaysAwayFromWorkDueToIllness"/>
-            <xsd:enumeration value="EmployeeTotal"/>
-            <xsd:enumeration value="EmployeeTotalFirstMonthOfQuarter"/>
-            <xsd:enumeration value="EmployeeTotalSecondMonthOfQuarter"/>
-            <xsd:enumeration value="EmployeeTotalThirdMonthOfQuarter"/>
-            <xsd:enumeration value="EndingStock"/>
-            <xsd:enumeration value="EndOfMonthInventoryPriorToShip"/>
-            <xsd:enumeration value="EndQuantity"/>
-            <xsd:enumeration value="EngineeredStandard"/>
-            <xsd:enumeration value="Engineers"/>
-            <xsd:enumeration value="EquipmentQuantity"/>
-            <xsd:enumeration value="EquitySecurityHolder"/>
-            <xsd:enumeration value="EstimateAtComplete"/>
-            <xsd:enumeration value="Estimated"/>
-            <xsd:enumeration value="EstimatedAccounts"/>
-            <xsd:enumeration value="EstimatedAnnualVolume"/>
-            <xsd:enumeration value="EstimatedDuration"/>
-            <xsd:enumeration value="EstimatedEmployeesAtLocation"/>
-            <xsd:enumeration value="EstimatedHours"/>
-            <xsd:enumeration value="EstimatedQuantity"/>
-            <xsd:enumeration value="EstimatedReadingQuantity"/>
-            <xsd:enumeration value="EstimatedRemainingEconomicLife"/>
-            <xsd:enumeration value="EstimatedRemainingPhysicalLife"/>
-            <xsd:enumeration value="EstimatedTotalEmployees"/>
-            <xsd:enumeration value="EvaporatedWater"/>
-            <xsd:enumeration value="ExclusiveUses"/>
-            <xsd:enumeration value="Executives"/>
-            <xsd:enumeration value="ExistenceLimitPeriod"/>
-            <xsd:enumeration value="ExpenditureQuantity"/>
-            <xsd:enumeration value="Expense"/>
-            <xsd:enumeration value="ExtendedTerm"/>
-            <xsd:enumeration value="ExtraUnplannedDelivery"/>
-            <xsd:enumeration value="Factor"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidClaimMandate-Category1"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidClaimMandate-Category2"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidClaimMandate-Category3"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidClaimMandate-Category4"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidClaimMandate-Category5"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidPaymentMandate-Category1"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidPaymentMandate-Category2"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidPaymentMandate-Category3"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidPaymentMandate-Category4"/>
-            <xsd:enumeration value="FederalMedicareOrMedicaidPaymentMandate-Category5"/>
-            <xsd:enumeration value="FederalPensionMandate-Category1"/>
-            <xsd:enumeration value="FederalPensionMandate-Category2"/>
-            <xsd:enumeration value="FederalPensionMandate-Category3"/>
-            <xsd:enumeration value="FederalPensionMandate-Category4"/>
-            <xsd:enumeration value="FederalPensionMandate-Category5"/>
-            <xsd:enumeration value="FederalVotes"/>
-            <xsd:enumeration value="FieldWorkers"/>
-            <xsd:enumeration value="FileSizeAfterCompression"/>
-            <xsd:enumeration value="FileSizeBeforeCompression"/>
-            <xsd:enumeration value="FinalDeliveryQuantity"/>
-            <xsd:enumeration value="FinancialCoveragePeriod"/>
-            <xsd:enumeration value="FinancialInstitutions"/>
-            <xsd:enumeration value="FinishOffset"/>
-            <xsd:enumeration value="FirstQuarterNon-RecurringDemand"/>
-            <xsd:enumeration value="FirstQuarterNon-RecurringOrders"/>
-            <xsd:enumeration value="FirstQuarterRecurringDemand"/>
-            <xsd:enumeration value="FirstQuarterRecurringOrders"/>
-            <xsd:enumeration value="FlareOrFlash"/>
-            <xsd:enumeration value="FlatExtraPremium"/>
-            <xsd:enumeration value="Floors"/>
-            <xsd:enumeration value="FloorsOccupied"/>
-            <xsd:enumeration value="Forecast"/>
-            <xsd:enumeration value="ForecastAtComplete"/>
-            <xsd:enumeration value="ForecastedScannedQuantity"/>
-            <xsd:enumeration value="ForecastToComplete"/>
-            <xsd:enumeration value="ForeignRelatedEntities"/>
-            <xsd:enumeration value="Foremen"/>
-            <xsd:enumeration value="FourthQuarterNon-RecurringDemand"/>
-            <xsd:enumeration value="FourthQuarterNon-RecurringOrders"/>
-            <xsd:enumeration value="FourthQuarterRecurringDemand"/>
-            <xsd:enumeration value="FourthQuarterRecurringOrders"/>
-            <xsd:enumeration value="FreeFloat-InCalendarUnits"/>
-            <xsd:enumeration value="FreeFloatTime"/>
-            <xsd:enumeration value="FreeGoodsQuantity"/>
-            <xsd:enumeration value="FreelanceDebtCollectors"/>
-            <xsd:enumeration value="FreelanceSalespersons"/>
-            <xsd:enumeration value="FreeQuantityIncluded"/>
-            <xsd:enumeration value="FreeQuantityNotIncluded"/>
-            <xsd:enumeration value="Frequency"/>
-            <xsd:enumeration value="Fuel"/>
-            <xsd:enumeration value="FuelConsumedOrBurnedAmount"/>
-            <xsd:enumeration value="FuelPumps"/>
-            <xsd:enumeration value="FullBaths"/>
-            <xsd:enumeration value="FunctionalGroups"/>
-            <xsd:enumeration value="FunctionalSampleQuantity"/>
-            <xsd:enumeration value="FurnishedBloodUnits"/>
-            <xsd:enumeration value="GarageOrCarportArea"/>
-            <xsd:enumeration value="GasInjectionVolume"/>
-            <xsd:enumeration value="GasLiftVolume"/>
-            <xsd:enumeration value="GasReceiptVolume"/>
-            <xsd:enumeration value="GasReturnedToEarth"/>
-            <xsd:enumeration value="GasReturnedToPropertyForFuel"/>
-            <xsd:enumeration value="GasShrinkage"/>
-            <xsd:enumeration value="GasSold"/>
-            <xsd:enumeration value="GasUsedForDrilling"/>
-            <xsd:enumeration value="GasUsedForFuelSystem"/>
-            <xsd:enumeration value="GasUsedForPlantFuel"/>
-            <xsd:enumeration value="GasUsedForRepressuringOrPressureMaintenance"/>
-            <xsd:enumeration value="GasUsedOnProperty"/>
-            <xsd:enumeration value="GasVented"/>
-            <xsd:enumeration value="GasVolume"/>
-            <xsd:enumeration value="GeneralEliminationPeriod"/>
-            <xsd:enumeration value="GovernmentReportingQuantity"/>
-            <xsd:enumeration value="GradeTransferAmount"/>
-            <xsd:enumeration value="GrossAnnualIncomeMultiplier"/>
-            <xsd:enumeration value="GrossBuildingArea"/>
-            <xsd:enumeration value="GrossEstimate"/>
-            <xsd:enumeration value="GrossLivingArea"/>
-            <xsd:enumeration value="GrossLivingFinishedAreaAboveGrade"/>
-            <xsd:enumeration value="GrossProduction"/>
-            <xsd:enumeration value="GrossRentMultiplier"/>
-            <xsd:enumeration value="GroupEmployees"/>
-            <xsd:enumeration value="GuaranteeFeeBuyupMaximum"/>
-            <xsd:enumeration value="GuaranteeFeeRateAfterAlternatePaymentMethod"/>
-            <xsd:enumeration value="GuaranteeFeeRateAfterBuyupOrBuydown"/>
-            <xsd:enumeration value="GuaranteePeriod"/>
-            <xsd:enumeration value="Height"/>
-            <xsd:enumeration value="HighFabricationAuthorizationQuantity"/>
-            <xsd:enumeration value="HighRawMaterialAuthorizationQuantity"/>
-            <xsd:enumeration value="HoldingPeriod"/>
-            <xsd:enumeration value="Hours"/>
-            <xsd:enumeration value="HoursFlown-AircraftOrTypeFlying"/>
-            <xsd:enumeration value="HoursFlown-AircraftTypeOrLife"/>
-            <xsd:enumeration value="HoursFlown-AircraftTypeOrPeriod"/>
-            <xsd:enumeration value="HoursFlown-Lifetime"/>
-            <xsd:enumeration value="HoursFlown-TypeFlying"/>
-            <xsd:enumeration value="ImpairmentDuration"/>
-            <xsd:enumeration value="ImpairmentFrequency"/>
-            <xsd:enumeration value="IncrementalOrderQuantity"/>
-            <xsd:enumeration value="IndirectEmployees"/>
-            <xsd:enumeration value="IndustryBusinessFailureIncidences"/>
-            <xsd:enumeration value="InformationProviderStandardizedMotorVehiclePenaltyPoints"/>
-            <xsd:enumeration value="InformationReadingQuantity"/>
-            <xsd:enumeration value="Inspectors"/>
-            <xsd:enumeration value="InstalledCapacity"/>
-            <xsd:enumeration value="Installers"/>
-            <xsd:enumeration value="InstallmentFrequency"/>
-            <xsd:enumeration value="InstallmentPayments"/>
-            <xsd:enumeration value="Installments"/>
-            <xsd:enumeration value="InsufficientFundsReturnedCheques"/>
-            <xsd:enumeration value="IntendedChangeTimePeriod"/>
-            <xsd:enumeration value="InterestForOverdrawnAccount"/>
-            <xsd:enumeration value="InterimTermPeriod"/>
-            <xsd:enumeration value="IntertankTransferAmount"/>
-            <xsd:enumeration value="InTransitQuantity"/>
-            <xsd:enumeration value="In-Use"/>
-            <xsd:enumeration value="InventoryCategoryTransfer"/>
-            <xsd:enumeration value="InventoryDiscrepancy"/>
-            <xsd:enumeration value="InventoryMovementQuantity"/>
-            <xsd:enumeration value="InventoryOnShelfWorkInProgress"/>
-            <xsd:enumeration value="InventoryQuantityAtSuppliersNotSubjectToInspectionByCustomer"/>
-            <xsd:enumeration value="InventoryQuantityAtSuppliersSubjectToInspectionByCustomer"/>
-            <xsd:enumeration value="InventoryWithdrawalQuantity"/>
-            <xsd:enumeration value="InvoicedQuantity"/>
-            <xsd:enumeration value="Invoices"/>
-            <xsd:enumeration value="InvolvementPeriod"/>
-            <xsd:enumeration value="IssuedShares"/>
-            <xsd:enumeration value="JailSentenceDuration"/>
-            <xsd:enumeration value="JudgementsRegistered"/>
-            <xsd:enumeration value="Judgments"/>
-            <xsd:enumeration value="JudicialStayDuration"/>
-            <xsd:enumeration value="Laborers"/>
-            <xsd:enumeration value="LabourHours"/>
-            <xsd:enumeration value="LagTime"/>
-            <xsd:enumeration value="LandHolding"/>
-            <xsd:enumeration value="LandSize"/>
-            <xsd:enumeration value="Lanes"/>
-            <xsd:enumeration value="Late"/>
-            <xsd:enumeration value="LatePaymentPeriod"/>
-            <xsd:enumeration value="LatestCumulativeQuantity"/>
-            <xsd:enumeration value="LawSuits"/>
-            <xsd:enumeration value="LeadTime"/>
-            <xsd:enumeration value="LeasePeriods"/>
-            <xsd:enumeration value="LengthOfResidency"/>
-            <xsd:enumeration value="LevelResource-Quantity"/>
-            <xsd:enumeration value="LevelResourceTaskQuantity"/>
-            <xsd:enumeration value="LevelsOccupied"/>
-            <xsd:enumeration value="LicenseWithdrawalDuration"/>
-            <xsd:enumeration value="LicenseWithdrawalsSent"/>
-            <xsd:enumeration value="Liens"/>
-            <xsd:enumeration value="LiensRegistered"/>
-            <xsd:enumeration value="LifetimeCapacityOfTooling"/>
-            <xsd:enumeration value="Life-TimeReserve-Actual"/>
-            <xsd:enumeration value="LifetimeReserveDays-AppliedToThisClaim"/>
-            <xsd:enumeration value="Life-TimeReserve-Estimated"/>
-            <xsd:enumeration value="LimitedQuantity"/>
-            <xsd:enumeration value="LineItemsCompletedDelinquent-BuyingPartyCaused"/>
-            <xsd:enumeration value="LineItemsCompletedDelinquent-ContractorCaused"/>
-            <xsd:enumeration value="LineItemsCompletedDelinquent-UnknownCauses"/>
-            <xsd:enumeration value="LineThreadQuantity"/>
-            <xsd:enumeration value="LiquidInjectionVolume"/>
-            <xsd:enumeration value="Livestock"/>
-            <xsd:enumeration value="LoanRate"/>
-            <xsd:enumeration value="LoanRepaymentTotal"/>
-            <xsd:enumeration value="LossAllowance"/>
-            <xsd:enumeration value="LossOrGain"/>
-            <xsd:enumeration value="LostGas"/>
-            <xsd:enumeration value="LostGoods"/>
-            <xsd:enumeration value="LostOil"/>
-            <xsd:enumeration value="LostWorkTimeActual"/>
-            <xsd:enumeration value="LostWorkTimeEstimated"/>
-            <xsd:enumeration value="LotSize"/>
-            <xsd:enumeration value="Machines"/>
-            <xsd:enumeration value="MaintenanceUnits"/>
-            <xsd:enumeration value="Manufactured"/>
-            <xsd:enumeration value="ManufacturedUnits"/>
-            <xsd:enumeration value="MarineRadios"/>
-            <xsd:enumeration value="MarketPriceChange"/>
-            <xsd:enumeration value="MatchingEquipment"/>
-            <xsd:enumeration value="MaterialOn-BoardQuantityPriorToLoading"/>
-            <xsd:enumeration value="Maximum"/>
-            <xsd:enumeration value="MaximumAge"/>
-            <xsd:enumeration value="MaximumBenefitPeriod"/>
-            <xsd:enumeration value="MaximumBenefitPeriod-Accident"/>
-            <xsd:enumeration value="MaximumBenefitPeriodAccidentToAge"/>
-            <xsd:enumeration value="MaximumBenefitPeriod-Sickness"/>
-            <xsd:enumeration value="MaximumBenefitPeriodSicknessToAge"/>
-            <xsd:enumeration value="MaximumCriminalSentenceDuration"/>
-            <xsd:enumeration value="MaximumDeliveryBatch"/>
-            <xsd:enumeration value="MaximumForecastQuantity"/>
-            <xsd:enumeration value="MaximumInventory"/>
-            <xsd:enumeration value="MaximumMaturityExtension"/>
-            <xsd:enumeration value="MaximumNumberOfEmployees"/>
-            <xsd:enumeration value="MaximumNumberOfEmployeesAtLocation"/>
-            <xsd:enumeration value="MaximumNumberOfPurchaseOrdersAllowed"/>
-            <xsd:enumeration value="MaximumNumberOfShipmentsAllowed"/>
-            <xsd:enumeration value="MaximumOrderQuantity"/>
-            <xsd:enumeration value="MaximumProductionBatch"/>
-            <xsd:enumeration value="MaximumQuantityToWhichTaxRateApplies"/>
-            <xsd:enumeration value="MaximumRequestableQuantity"/>
-            <xsd:enumeration value="MaximumShipQuantity"/>
-            <xsd:enumeration value="MaximumStackability"/>
-            <xsd:enumeration value="MaximumStockLevel"/>
-            <xsd:enumeration value="MaximumSupplyQuantitySupplierEndorsed"/>
-            <xsd:enumeration value="MaximumTransfer"/>
-            <xsd:enumeration value="Mechanics"/>
-            <xsd:enumeration value="MedicationDuration"/>
-            <xsd:enumeration value="MembersInGroup"/>
-            <xsd:enumeration value="Messengers"/>
-            <xsd:enumeration value="MeterReading"/>
-            <xsd:enumeration value="Miles"/>
-            <xsd:enumeration value="MilitarySalesQuantity"/>
-            <xsd:enumeration value="MillionDollarRoundtableCredits"/>
-            <xsd:enumeration value="Minimum"/>
-            <xsd:enumeration value="MinimumAge"/>
-            <xsd:enumeration value="MinimumAverageTimeRequirementUnits"/>
-            <xsd:enumeration value="MinimumContractQuantity"/>
-            <xsd:enumeration value="MinimumCriminalSentenceDuration"/>
-            <xsd:enumeration value="MinimumDeliveryBatch"/>
-            <xsd:enumeration value="MinimumEmployeesAtLocation"/>
-            <xsd:enumeration value="MinimumFabricationQuantity"/>
-            <xsd:enumeration value="MinimumForecastQuantity"/>
-            <xsd:enumeration value="MinimumInventory"/>
-            <xsd:enumeration value="MinimumNumberOfEmployees"/>
-            <xsd:enumeration value="MinimumOrderPackageLevel"/>
-            <xsd:enumeration value="MinimumOrderQuantity"/>
-            <xsd:enumeration value="MinimumProductionBatch"/>
-            <xsd:enumeration value="MinimumQuantityToWhichTaxRateApplies"/>
-            <xsd:enumeration value="MinimumRequestableQuantity"/>
-            <xsd:enumeration value="MinimumShipQuantity"/>
-            <xsd:enumeration value="MinimumStockLevel"/>
-            <xsd:enumeration value="MinimumTransfer"/>
-            <xsd:enumeration value="MiscellaneousAllowance"/>
-            <xsd:enumeration value="MobileLoadingAllocation"/>
-            <xsd:enumeration value="ModelOrTargetStock"/>
-            <xsd:enumeration value="Month"/>
-            <xsd:enumeration value="MortgagePoolCount"/>
-            <xsd:enumeration value="MostLikelyDuration"/>
-            <xsd:enumeration value="NationalBusinessFailureIncidences"/>
-            <xsd:enumeration value="Net"/>
-            <xsd:enumeration value="NetQuantityDecrease"/>
-            <xsd:enumeration value="NetQuantityIncrease"/>
-            <xsd:enumeration value="NetToPayItemCount."/>
-            <xsd:enumeration value="NoDeliveryRequirementInThisInstruction"/>
-            <xsd:enumeration value="Non-BillableQuantity"/>
-            <xsd:enumeration value="NoncommittedInventoryOnShelf"/>
-            <xsd:enumeration value="NonconformanceQuantity"/>
-            <xsd:enumeration value="Non-ConsolidatedTotal-DomesticSubsidiaries"/>
-            <xsd:enumeration value="Non-ConsolidatedTotal-ForeignSubsidiaries"/>
-            <xsd:enumeration value="Noncovered-Actual"/>
-            <xsd:enumeration value="Non-Covered-Estimated"/>
-            <xsd:enumeration value="Non-DomesticStockholders"/>
-            <xsd:enumeration value="NonexclusiveUses"/>
-            <xsd:enumeration value="Non-UnionEmployees"/>
-            <xsd:enumeration value="Non-UrgentDeliveryQuantity"/>
-            <xsd:enumeration value="NormalDelivery"/>
-            <xsd:enumeration value="NormalReadingQuantity"/>
-            <xsd:enumeration value="NotReplacedBloodUnits"/>
-            <xsd:enumeration value="NoVotes"/>
-            <xsd:enumeration value="NumberOfAccountsPastDue"/>
-            <xsd:enumeration value="NumberOfActiveAccountsThisCycle"/>
-            <xsd:enumeration value="NumberOfAddedLocations"/>
-            <xsd:enumeration value="NumberOfAdjustmentPeriods"/>
-            <xsd:enumeration value="NumberOfAttacksOrOccurrences"/>
-            <xsd:enumeration value="NumberOfBatches"/>
-            <xsd:enumeration value="NumberOfBorrowers"/>
-            <xsd:enumeration value="NumberOfCardsNotReceived"/>
-            <xsd:enumeration value="NumberOfCardsOutstanding"/>
-            <xsd:enumeration value="NumberOfChecks"/>
-            <xsd:enumeration value="NumberOfClaimants"/>
-            <xsd:enumeration value="NumberOfClosedLocations"/>
-            <xsd:enumeration value="NumberOfCo-InsuranceDays"/>
-            <xsd:enumeration value="NumberOfCopiesOfBillOfLading"/>
-            <xsd:enumeration value="NumberOfCrew"/>
-            <xsd:enumeration value="NumberOfDaysCoveredByInventory"/>
-            <xsd:enumeration value="NumberOfDead"/>
-            <xsd:enumeration value="NumberOfDelinquentInstallments"/>
-            <xsd:enumeration value="NumberOfDeliveriesPerDespatchPeriod"/>
-            <xsd:enumeration value="NumberOfDependents"/>
-            <xsd:enumeration value="NumberOfEndUsers"/>
-            <xsd:enumeration value="NumberOfEntitledExemptions"/>
-            <xsd:enumeration value="NumberOfFailedBusinessesOfDirectors"/>
-            <xsd:enumeration value="NumberOfFranchisees"/>
-            <xsd:enumeration value="NumberOfFull-TimeEmployees"/>
-            <xsd:enumeration value="NumberOfHospitals"/>
-            <xsd:enumeration value="NumberOfIdenticalHandlingUnits"/>
-            <xsd:enumeration value="NumberOfInsuredLives"/>
-            <xsd:enumeration value="NumberOfInterestPayments"/>
-            <xsd:enumeration value="NumberOfIrregularInterestPayments"/>
-            <xsd:enumeration value="NumberOfItemsAuthorizedAtStore"/>
-            <xsd:enumeration value="NumberOfItemsAuthorizedAtWarehouse"/>
-            <xsd:enumeration value="NumberOfItemsInStock"/>
-            <xsd:enumeration value="NumberOfLateCharges"/>
-            <xsd:enumeration value="NumberOfLevels"/>
-            <xsd:enumeration value="NumberOfLimitedPartnershipShares"/>
-            <xsd:enumeration value="NumberOfLiving"/>
-            <xsd:enumeration value="NumberOfLoans"/>
-            <xsd:enumeration value="NumberOfLostCards"/>
-            <xsd:enumeration value="NumberOfMembers"/>
-            <xsd:enumeration value="NumberOfMessageRecipients"/>
-            <xsd:enumeration value="NumberOfMonths"/>
-            <xsd:enumeration value="NumberOfMortgagors"/>
-            <xsd:enumeration value="NumberOfMoulds"/>
-            <xsd:enumeration value="NumberOfNon-CoveredDays"/>
-            <xsd:enumeration value="NumberOfNonsufficientFundItems"/>
-            <xsd:enumeration value="NumberOfOpenAccounts"/>
-            <xsd:enumeration value="NumberOfOperatingPeriodsAtFailure"/>
-            <xsd:enumeration value="NumberOfOperatorCredits"/>
-            <xsd:enumeration value="NumberOfOriginals"/>
-            <xsd:enumeration value="NumberOfPackagesInHandlingUnit"/>
-            <xsd:enumeration value="NumberOfPassengers"/>
-            <xsd:enumeration value="NumberOfPatientAdmissions"/>
-            <xsd:enumeration value="NumberOfPeopleLivingAtResidence"/>
-            <xsd:enumeration value="NumberOfPhysicians"/>
-            <xsd:enumeration value="NumberOfProducingWellsRemainingOnPropertyOrFacility"/>
-            <xsd:enumeration value="NumberOfProducingWellsRemainingOnRoyaltyAccount"/>
-            <xsd:enumeration value="NumberOfQuantitativeIncentiveSchemeUnits"/>
-            <xsd:enumeration value="NumberOfServicesOrProcedures"/>
-            <xsd:enumeration value="NumberOfShelfFacings"/>
-            <xsd:enumeration value="NumberOfShelfTags"/>
-            <xsd:enumeration value="NumberOfSignedBillsOfLading"/>
-            <xsd:enumeration value="NumberOfStations"/>
-            <xsd:enumeration value="NumberOfStolenCards"/>
-            <xsd:enumeration value="NumberOfStops"/>
-            <xsd:enumeration value="NumberOfTheatres"/>
-            <xsd:enumeration value="NumberOfTimes"/>
-            <xsd:enumeration value="NumberOfTimesDeported"/>
-            <xsd:enumeration value="NumberOfTransportDocuments"/>
-            <xsd:enumeration value="NumberOfUnits"/>
-            <xsd:enumeration value="NumberOfUnits-Housing"/>
-            <xsd:enumeration value="NumberOfUnitsInTheDepthOfALayer"/>
-            <xsd:enumeration value="NumberOfUnitsInTheWidthOfALayer"/>
-            <xsd:enumeration value="NumberOfUnsignedBillsOfLading"/>
-            <xsd:enumeration value="NumberOfWithholdingExemptions"/>
-            <xsd:enumeration value="NumbersOfConsumerUnitsInTheTradedUnit"/>
-            <xsd:enumeration value="NumberWeeksPaid"/>
-            <xsd:enumeration value="Nurses"/>
-            <xsd:enumeration value="OemInventory"/>
-            <xsd:enumeration value="OfficeSize"/>
-            <xsd:enumeration value="OfficeWorkers"/>
-            <xsd:enumeration value="OffLeaseFuel"/>
-            <xsd:enumeration value="OffPremiseSalesQuantity"/>
-            <xsd:enumeration value="OffPremisesSales"/>
-            <xsd:enumeration value="OilCondensateSold"/>
-            <xsd:enumeration value="OilCondensateUsedOnProperty"/>
-            <xsd:enumeration value="OilOrCondensateVolume"/>
-            <xsd:enumeration value="OilSedimentation"/>
-            <xsd:enumeration value="OilTheft"/>
-            <xsd:enumeration value="OnHandAndDue-In"/>
-            <xsd:enumeration value="OnHoldForShipment"/>
-            <xsd:enumeration value="OnOrderQuantity"/>
-            <xsd:enumeration value="OnPremiseSalesQuantity"/>
-            <xsd:enumeration value="OnPremisesSales"/>
-            <xsd:enumeration value="OpeningStatementBalance"/>
-            <xsd:enumeration value="OpeningStockBalanceQuantity"/>
-            <xsd:enumeration value="OpenQuantity"/>
-            <xsd:enumeration value="OperatingBeds"/>
-            <xsd:enumeration value="OperatingDivisions"/>
-            <xsd:enumeration value="OperatingQuantity"/>
-            <xsd:enumeration value="Operators"/>
-            <xsd:enumeration value="OperatorsWorkingInterest"/>
-            <xsd:enumeration value="OptimalQuantity"/>
-            <xsd:enumeration value="OptimisticDuration"/>
-            <xsd:enumeration value="OrderCount"/>
-            <xsd:enumeration value="OrderedQuantity"/>
-            <xsd:enumeration value="OrderQuantityMultiple"/>
-            <xsd:enumeration value="Original"/>
-            <xsd:enumeration value="OriginalDuration"/>
-            <xsd:enumeration value="OriginalLoanTerm"/>
-            <xsd:enumeration value="OriginalPaymentItemCount."/>
-            <xsd:enumeration value="OriginalQuantity"/>
-            <xsd:enumeration value="OriginalTermInYears"/>
-            <xsd:enumeration value="OtherEmployees"/>
-            <xsd:enumeration value="OtherGasDisposition"/>
-            <xsd:enumeration value="OtherInjectionVolume"/>
-            <xsd:enumeration value="OtherMiscellaneousDisposition"/>
-            <xsd:enumeration value="OtherOilCondensateDisposition"/>
-            <xsd:enumeration value="OtherUnlistedParticipants"/>
-            <xsd:enumeration value="OtherUnlistedStockholders"/>
-            <xsd:enumeration value="OtherWarReserveMaterialRequirementsProtectableQuantity"/>
-            <xsd:enumeration value="OtherWaterDisposition"/>
-            <xsd:enumeration value="OutlierDays"/>
-            <xsd:enumeration value="OutOfInventoryQuantity"/>
-            <xsd:enumeration value="OutstandingQuantity"/>
-            <xsd:enumeration value="OutstandingShares"/>
-            <xsd:enumeration value="Out-TurnedQuantity"/>
-            <xsd:enumeration value="Overage"/>
-            <xsd:enumeration value="OverflowQuantity"/>
-            <xsd:enumeration value="OverShipped"/>
-            <xsd:enumeration value="Owner"/>
-            <xsd:enumeration value="OwnersEquity"/>
-            <xsd:enumeration value="OwnershipChangeAge"/>
-            <xsd:enumeration value="OwnershipDuration"/>
-            <xsd:enumeration value="OwnershipPercentage"/>
-            <xsd:enumeration value="OwnOccupationQualificationPeriod"/>
-            <xsd:enumeration value="Pagers"/>
-            <xsd:enumeration value="Paid"/>
-            <xsd:enumeration value="Paid-InCommonShares"/>
-            <xsd:enumeration value="Paid-InPreferredShares"/>
-            <xsd:enumeration value="Paid-InSecurityShares"/>
-            <xsd:enumeration value="ParkingSpaces"/>
-            <xsd:enumeration value="PartialBaths"/>
-            <xsd:enumeration value="ParticipantTotal"/>
-            <xsd:enumeration value="ParticipationShares"/>
-            <xsd:enumeration value="Partners"/>
-            <xsd:enumeration value="PartTimeEmployees"/>
-            <xsd:enumeration value="PastDueQuantity"/>
-            <xsd:enumeration value="Patients"/>
-            <xsd:enumeration value="PaymentCancellationItemCount"/>
-            <xsd:enumeration value="PaymentDurationWeeks"/>
-            <xsd:enumeration value="PaymentExperiencesInTheLast12Months"/>
-            <xsd:enumeration value="PaymentExperiencesInTheLast3Months"/>
-            <xsd:enumeration value="PaymentFrequency"/>
-            <xsd:enumeration value="PaymentOrdersFiled"/>
-            <xsd:enumeration value="PaymentsNumber"/>
-            <xsd:enumeration value="PercentageOfOrderedQuantity"/>
-            <xsd:enumeration value="PeriodicCapacityOfTooling"/>
-            <xsd:enumeration value="PeriodOfEmployment"/>
-            <xsd:enumeration value="PeriodQuantityMeasured"/>
-            <xsd:enumeration value="PeriodQuantityPlanned"/>
-            <xsd:enumeration value="PeriodQuantityReached"/>
-            <xsd:enumeration value="Persistency"/>
-            <xsd:enumeration value="PessimisticDuration"/>
-            <xsd:enumeration value="PetitionsFiled"/>
-            <xsd:enumeration value="PhysicalStatusIii"/>
-            <xsd:enumeration value="PhysicalStatusIv"/>
-            <xsd:enumeration value="PhysicalStatusV"/>
-            <xsd:enumeration value="Physicians"/>
-            <xsd:enumeration value="PictureCount"/>
-            <xsd:enumeration value="PiecesDelivered"/>
-            <xsd:enumeration value="PilferageGoods"/>
-            <xsd:enumeration value="Pilots"/>
-            <xsd:enumeration value="PipelineAdjustmentOrAllowance"/>
-            <xsd:enumeration value="Pipes"/>
-            <xsd:enumeration value="PittedWater"/>
-            <xsd:enumeration value="PlacementPeriodExpiration"/>
-            <xsd:enumeration value="PlannedUnitDevelopmentUnits"/>
-            <xsd:enumeration value="PlantSize"/>
-            <xsd:enumeration value="PlantWorkers"/>
-            <xsd:enumeration value="PlatformCount"/>
-            <xsd:enumeration value="PortableRadios"/>
-            <xsd:enumeration value="PortedTelephoneLines"/>
-            <xsd:enumeration value="Post-OpDays"/>
-            <xsd:enumeration value="Poultry"/>
-            <xsd:enumeration value="PredominateAge"/>
-            <xsd:enumeration value="Pre-OpDays"/>
-            <xsd:enumeration value="PrepaidQuantityNotShipped"/>
-            <xsd:enumeration value="PrepaidQuantityShipped"/>
-            <xsd:enumeration value="Pre-ProductionQuantity"/>
-            <xsd:enumeration value="Prescription"/>
-            <xsd:enumeration value="PrescriptionDosage"/>
-            <xsd:enumeration value="PrescriptionEffectivePeriod"/>
-            <xsd:enumeration value="PrescriptionFrequency"/>
-            <xsd:enumeration value="PresidentialVotes"/>
-            <xsd:enumeration value="PressureBase"/>
-            <xsd:enumeration value="PreviousBenefits"/>
-            <xsd:enumeration value="PreviousCumulativeQuantity"/>
-            <xsd:enumeration value="PreviousHighestCumulativeQuantity"/>
-            <xsd:enumeration value="PreviouslyAmortisedQuantity"/>
-            <xsd:enumeration value="PreviousMonthsUsage"/>
-            <xsd:enumeration value="PreviousNumberOfAccounts"/>
-            <xsd:enumeration value="PreviousNumberOfBranchLocations"/>
-            <xsd:enumeration value="PreviousNumberOfEmployees"/>
-            <xsd:enumeration value="PreviousOrderQuantityToBeCancelled"/>
-            <xsd:enumeration value="PreviousQuantity"/>
-            <xsd:enumeration value="PreviousWeekQuantity"/>
-            <xsd:enumeration value="PriceBreakFrom"/>
-            <xsd:enumeration value="PriceBreakTo"/>
-            <xsd:enumeration value="PricingUnitPerBillingUnit"/>
-            <xsd:enumeration value="PrimaryManagers"/>
-            <xsd:enumeration value="PrimaryMeterReadingValue"/>
-            <xsd:enumeration value="PrimaryNetQuantity"/>
-            <xsd:enumeration value="PrincipalsIncludedAsEmployees"/>
-            <xsd:enumeration value="PriorCumulativeImbalance"/>
-            <xsd:enumeration value="PriorUnitsAccepted"/>
-            <xsd:enumeration value="ProbationDuration"/>
-            <xsd:enumeration value="ProducingWells"/>
-            <xsd:enumeration value="ProductExchangeAmount"/>
-            <xsd:enumeration value="ProductionRequirements"/>
-            <xsd:enumeration value="ProductionWorkers"/>
-            <xsd:enumeration value="ProductSalesAmount"/>
-            <xsd:enumeration value="Professionals"/>
-            <xsd:enumeration value="Professor"/>
-            <xsd:enumeration value="ProjectedAvailableInventory"/>
-            <xsd:enumeration value="ProjectPhases"/>
-            <xsd:enumeration value="ProjectsInProcess"/>
-            <xsd:enumeration value="ProjectUnitsSold"/>
-            <xsd:enumeration value="Promoters"/>
-            <xsd:enumeration value="PromotionQuantity"/>
-            <xsd:enumeration value="ProtestedBills"/>
-            <xsd:enumeration value="ProvidedQuantity"/>
-            <xsd:enumeration value="PublicationTurnSize"/>
-            <xsd:enumeration value="PurchaseOfProduct"/>
-            <xsd:enumeration value="QualificationPeriod"/>
-            <xsd:enumeration value="QualifyingWeeks"/>
-            <xsd:enumeration value="QualityControlFailed"/>
-            <xsd:enumeration value="QualityControlHeld"/>
-            <xsd:enumeration value="QuantitativeIncentiveSchemeBase"/>
-            <xsd:enumeration value="QuantityAdvised"/>
-            <xsd:enumeration value="QuantityApproved"/>
-            <xsd:enumeration value="QuantityAt100Pct"/>
-            <xsd:enumeration value="QuantityAvailableForReturn"/>
-            <xsd:enumeration value="QuantityAvailableForSale-StockQuantity"/>
-            <xsd:enumeration value="QuantityAvailableOnShelf"/>
-            <xsd:enumeration value="QuantityAwaitingDelivery"/>
-            <xsd:enumeration value="QuantityByPosition"/>
-            <xsd:enumeration value="QuantityCancelled"/>
-            <xsd:enumeration value="QuantityCarriedForward"/>
-            <xsd:enumeration value="QuantityDeferred"/>
-            <xsd:enumeration value="QuantityDelivered"/>
-            <xsd:enumeration value="QuantityDisapproved"/>
-            <xsd:enumeration value="QuantityDispensed"/>
-            <xsd:enumeration value="QuantityDisplayedNotAvailableForSale"/>
-            <xsd:enumeration value="QuantityEarned"/>
-            <xsd:enumeration value="QuantityHeldByDeliveryVehicle"/>
-            <xsd:enumeration value="QuantityHeldByLogisticServiceProvider"/>
-            <xsd:enumeration value="QuantityHeldByRetailOutlet"/>
-            <xsd:enumeration value="QuantityInFloat"/>
-            <xsd:enumeration value="QuantityInHoldOut"/>
-            <xsd:enumeration value="QuantityInManufacturingProcess"/>
-            <xsd:enumeration value="QuantityInPhysicalInventory"/>
-            <xsd:enumeration value="QuantityInQuarantine"/>
-            <xsd:enumeration value="QuantityInTransit"/>
-            <xsd:enumeration value="QuantityLanded"/>
-            <xsd:enumeration value="QuantityLoaded"/>
-            <xsd:enumeration value="QuantityManifested"/>
-            <xsd:enumeration value="QuantityNotAvailableForDespatch"/>
-            <xsd:enumeration value="QuantityOfDealerLicensePlates"/>
-            <xsd:enumeration value="QuantityOfMaterialInOrderedTime"/>
-            <xsd:enumeration value="QuantityOnHand"/>
-            <xsd:enumeration value="QuantityOnHold"/>
-            <xsd:enumeration value="QuantityPerNextHigherAssembly"/>
-            <xsd:enumeration value="QuantityPerPack"/>
-            <xsd:enumeration value="QuantityPerSkid"/>
-            <xsd:enumeration value="QuantityPerUnitOfIssue"/>
-            <xsd:enumeration value="QuantityReceived"/>
-            <xsd:enumeration value="QuantityRemaining"/>
-            <xsd:enumeration value="QuantityRequirementForMaintenanceAndRepairOf"/>
-            <xsd:enumeration value="QuantityRequirementForSampleInspection"/>
-            <xsd:enumeration value="QuantityRequiringManipulationBeforeDespatch"/>
-            <xsd:enumeration value="QuantityReturnedDefectiveOrDamaged"/>
-            <xsd:enumeration value="QuantityScheduled"/>
-            <xsd:enumeration value="QuantityServiced"/>
-            <xsd:enumeration value="QuantitySold"/>
-            <xsd:enumeration value="QuantitySoldNet"/>
-            <xsd:enumeration value="QuantitySuspended"/>
-            <xsd:enumeration value="QuantityToBeDelivered"/>
-            <xsd:enumeration value="QuantityUsed"/>
-            <xsd:enumeration value="QuantityWithdrawn"/>
-            <xsd:enumeration value="QuantityWithheldByOwnerOfGoods"/>
-            <xsd:enumeration value="QuoteQuantityOnInventory"/>
-            <xsd:enumeration value="RangeAverage"/>
-            <xsd:enumeration value="RangeMaximum"/>
-            <xsd:enumeration value="RangeMinimum"/>
-            <xsd:enumeration value="RatePerDay"/>
-            <xsd:enumeration value="Receipts"/>
-            <xsd:enumeration value="ReceivedAndAccepted"/>
-            <xsd:enumeration value="ReceivedNotAcceptedToBeDestroyed"/>
-            <xsd:enumeration value="ReceivedNotAcceptedToBeReturned"/>
-            <xsd:enumeration value="ReceivedQuantity"/>
-            <xsd:enumeration value="RecommendedMaintenanceQuantity"/>
-            <xsd:enumeration value="RecommendedOverhaulAndRepairQuantity"/>
-            <xsd:enumeration value="ReconsiderationPeriod"/>
-            <xsd:enumeration value="RedeliveryAfterPostProcessing"/>
-            <xsd:enumeration value="RefillsAuthorized"/>
-            <xsd:enumeration value="RegisteredBrandsDistributed"/>
-            <xsd:enumeration value="RegisteredBrandsManufactured"/>
-            <xsd:enumeration value="RejectedQuantity"/>
-            <xsd:enumeration value="RejectedReturnQuantity"/>
-            <xsd:enumeration value="RelatedBusinessEntities"/>
-            <xsd:enumeration value="RelatedEntities"/>
-            <xsd:enumeration value="RelationshipDuration"/>
-            <xsd:enumeration value="RelativesEmployed"/>
-            <xsd:enumeration value="RemainingAuthorizedQuantity"/>
-            <xsd:enumeration value="RemainingDuration"/>
-            <xsd:enumeration value="RemainingQuantity"/>
-            <xsd:enumeration value="ReorderingLevel"/>
-            <xsd:enumeration value="ReorderPointQuantity"/>
-            <xsd:enumeration value="ReplacedAmount"/>
-            <xsd:enumeration value="ReplacedBloodUnits"/>
-            <xsd:enumeration value="ReplenishmentOverrideQuantity"/>
-            <xsd:enumeration value="ReplenishmentQuantity"/>
-            <xsd:enumeration value="ReportDifference"/>
-            <xsd:enumeration value="ReportedDeficiencies"/>
-            <xsd:enumeration value="Reports"/>
-            <xsd:enumeration value="RequestedAmount"/>
-            <xsd:enumeration value="RequirementQuantity"/>
-            <xsd:enumeration value="RequirementQuantityThatWasPreviouslyReleased"/>
-            <xsd:enumeration value="RequisitioningObjective"/>
-            <xsd:enumeration value="ReservedQuantity"/>
-            <xsd:enumeration value="ReservedQuantityCustomerDirectDeliverySales"/>
-            <xsd:enumeration value="ReservedQuantityRetailSales"/>
-            <xsd:enumeration value="ResidenceDuration"/>
-            <xsd:enumeration value="Resource-Quantity-Available"/>
-            <xsd:enumeration value="RestingQuantity"/>
-            <xsd:enumeration value="RestrictionDuration"/>
-            <xsd:enumeration value="RetailSales"/>
-            <xsd:enumeration value="RetentionQuantity"/>
-            <xsd:enumeration value="ReturnedByConsumerQuantity"/>
-            <xsd:enumeration value="ReturnQuantity"/>
-            <xsd:enumeration value="ReturnsReplacementQuantity"/>
-            <xsd:enumeration value="RoomCount"/>
-            <xsd:enumeration value="Rooms"/>
-            <xsd:enumeration value="RoomsFinishedAreaAboveGrade"/>
-            <xsd:enumeration value="Royalty"/>
-            <xsd:enumeration value="SafetyLevel"/>
-            <xsd:enumeration value="Salespersons"/>
-            <xsd:enumeration value="SalesQuantityNotIncludedInTheReplenishmentCalculation"/>
-            <xsd:enumeration value="SalesQuantityPlanned"/>
-            <xsd:enumeration value="SampleAmount"/>
-            <xsd:enumeration value="ScatteredVotes"/>
-            <xsd:enumeration value="ScheduleVariance"/>
-            <xsd:enumeration value="ScrapAllowed"/>
-            <xsd:enumeration value="ScrapQuantity"/>
-            <xsd:enumeration value="Seats"/>
-            <xsd:enumeration value="SecondaryNetQuantity"/>
-            <xsd:enumeration value="SecondQuarterNon-RecurringDemand"/>
-            <xsd:enumeration value="SecondQuarterNon-RecurringOrders"/>
-            <xsd:enumeration value="SecondQuarterRecurringDemand"/>
-            <xsd:enumeration value="SecondQuarterRecurringOrders"/>
-            <xsd:enumeration value="Secretaries"/>
-            <xsd:enumeration value="SecuredChargesRegistered"/>
-            <xsd:enumeration value="SecuritiesShares"/>
-            <xsd:enumeration value="Segments"/>
-            <xsd:enumeration value="Seller"/>
-            <xsd:enumeration value="ServiceResale"/>
-            <xsd:enumeration value="Shareholders"/>
-            <xsd:enumeration value="ShareholdersHoldingRemainderOfShares"/>
-            <xsd:enumeration value="Shares"/>
-            <xsd:enumeration value="SharesAdded"/>
-            <xsd:enumeration value="SharesDeleted"/>
-            <xsd:enumeration value="SharesHeldAsTreasuryStock"/>
-            <xsd:enumeration value="SharesOfCommonStock"/>
-            <xsd:enumeration value="SharesOfPreferredStock"/>
-            <xsd:enumeration value="SharesOwnedByIn-StateResidents"/>
-            <xsd:enumeration value="SharesOwnedByOut-Of-StateResidents"/>
-            <xsd:enumeration value="SharesSubscribed"/>
-            <xsd:enumeration value="SharesSubscribedButNotIssued"/>
-            <xsd:enumeration value="Shifts"/>
-            <xsd:enumeration value="Shipments"/>
-            <xsd:enumeration value="ShipNoticeQuantity"/>
-            <xsd:enumeration value="ShippedQuantity"/>
-            <xsd:enumeration value="Shortage"/>
-            <xsd:enumeration value="Short-LandedGoods"/>
-            <xsd:enumeration value="ShortShipped"/>
-            <xsd:enumeration value="SilentPartners"/>
-            <xsd:enumeration value="SinceLastTravel"/>
-            <xsd:enumeration value="SingleDeliveryQuantity"/>
-            <xsd:enumeration value="SistersDeceased"/>
-            <xsd:enumeration value="SistersLiving"/>
-            <xsd:enumeration value="Site"/>
-            <xsd:enumeration value="SizeOfHousehold"/>
-            <xsd:enumeration value="SkilledWorker"/>
-            <xsd:enumeration value="SmallBusinessUses"/>
-            <xsd:enumeration value="Solicited"/>
-            <xsd:enumeration value="SortedQuantity"/>
-            <xsd:enumeration value="SortedQuantityRejected"/>
-            <xsd:enumeration value="SpaceOccupied"/>
-            <xsd:enumeration value="SpecialPartners"/>
-            <xsd:enumeration value="SpeedCapacity"/>
-            <xsd:enumeration value="SplitQuantity"/>
-            <xsd:enumeration value="SplitShipment"/>
-            <xsd:enumeration value="Standard"/>
-            <xsd:enumeration value="Started"/>
-            <xsd:enumeration value="StartOffset"/>
-            <xsd:enumeration value="StartQuantity"/>
-            <xsd:enumeration value="StateOrProvinceMotorVehiclePenaltyPoints"/>
-            <xsd:enumeration value="StatisticalSalesQuantity"/>
-            <xsd:enumeration value="StockTransfersIn"/>
-            <xsd:enumeration value="StockTransfersOut"/>
-            <xsd:enumeration value="StolenCheques"/>
-            <xsd:enumeration value="SubcontractorAtComplete"/>
-            <xsd:enumeration value="SubcontractorCumulativeToDate"/>
-            <xsd:enumeration value="Subcontractors"/>
-            <xsd:enumeration value="SubmittedQuantityReturned"/>
-            <xsd:enumeration value="SubmittedQuantitySold"/>
-            <xsd:enumeration value="SubsequentDeliveryQuantity"/>
-            <xsd:enumeration value="Subsidiaries"/>
-            <xsd:enumeration value="SubstitutionalQuantity"/>
-            <xsd:enumeration value="Suits"/>
-            <xsd:enumeration value="Supervisors"/>
-            <xsd:enumeration value="SuppliedQuantity"/>
-            <xsd:enumeration value="SupplierEstimatedLatestMeterReading"/>
-            <xsd:enumeration value="SupplierEstimatedPreviousMeterReading"/>
-            <xsd:enumeration value="SupplierLatestMeterReading"/>
-            <xsd:enumeration value="SupplierPreviousMeterReading"/>
-            <xsd:enumeration value="Suppliers"/>
-            <xsd:enumeration value="SuppliersCredit"/>
-            <xsd:enumeration value="SurplusGoods"/>
-            <xsd:enumeration value="SurveysInAverageRating"/>
-            <xsd:enumeration value="SuspendedDuration"/>
-            <xsd:enumeration value="Swan-Ganz"/>
-            <xsd:enumeration value="TablesAvailable"/>
-            <xsd:enumeration value="TalkPaths"/>
-            <xsd:enumeration value="TankAllowance"/>
-            <xsd:enumeration value="TariffLossAllowance"/>
-            <xsd:enumeration value="TaxableQuantity"/>
-            <xsd:enumeration value="Teachers"/>
-            <xsd:enumeration value="Technicians"/>
-            <xsd:enumeration value="TheoreticalQuantity"/>
-            <xsd:enumeration value="ThirdQuarterNon-RecurringDemand"/>
-            <xsd:enumeration value="ThirdQuarterNon-RecurringOrders"/>
-            <xsd:enumeration value="ThirdQuarterRecurringDemand"/>
-            <xsd:enumeration value="ThirdQuarterRecurringOrders"/>
-            <xsd:enumeration value="TimeExpended"/>
-            <xsd:enumeration value="TimeFrame"/>
-            <xsd:enumeration value="TimeInCountry"/>
-            <xsd:enumeration value="TimeInPosition"/>
-            <xsd:enumeration value="TimeSinceHospitalization"/>
-            <xsd:enumeration value="TimeSinceLastApplication"/>
-            <xsd:enumeration value="TimeSinceLastCivilianFlight"/>
-            <xsd:enumeration value="TimeSinceLastInsuranceMedical"/>
-            <xsd:enumeration value="TimeSinceLastMilitaryFlight"/>
-            <xsd:enumeration value="TimeSinceMedicalConsult"/>
-            <xsd:enumeration value="TimeSinceMedicationEnd"/>
-            <xsd:enumeration value="TimeSinceMedicationStart"/>
-            <xsd:enumeration value="TimeSinceOnset"/>
-            <xsd:enumeration value="TimeSinceSurgery"/>
-            <xsd:enumeration value="TimeSinceTrip"/>
-            <xsd:enumeration value="TimeUnits"/>
-            <xsd:enumeration value="TimeUnitsKnown"/>
-            <xsd:enumeration value="TimeUnitsPerShift"/>
-            <xsd:enumeration value="TimeUnitsSpentOnDuty"/>
-            <xsd:enumeration value="Tires"/>
-            <xsd:enumeration value="ToCompleteQuantityEstimated"/>
-            <xsd:enumeration value="Tolerance"/>
-            <xsd:enumeration value="Total"/>
-            <xsd:enumeration value="TotalAdjustmentsVolume"/>
-            <xsd:enumeration value="TotalAmortisationQuantity"/>
-            <xsd:enumeration value="TotalAtComplete"/>
-            <xsd:enumeration value="TotalAuthorizedQuantity"/>
-            <xsd:enumeration value="TotalBeginningInventory"/>
-            <xsd:enumeration value="TotalClaimsAssociatedWithRepeatedTrauma"/>
-            <xsd:enumeration value="TotalClaimsWithDaysAwayFromWork"/>
-            <xsd:enumeration value="TotalClaimsWithDisordersDueToPhysicalAgents"/>
-            <xsd:enumeration value="TotalClaimsWithDustDiseasesOfTheLungs"/>
-            <xsd:enumeration value="TotalClaimsWithoutDaysAwayFromWorkAndWithoutRestrictedWorkActivity"/>
-            <xsd:enumeration value="TotalClaimsWithPoisoningIllnesses"/>
-            <xsd:enumeration value="TotalClaimsWithRespiratoryConditionsDueToToxicAgents"/>
-            <xsd:enumeration value="TotalClaimsWithSkinDiseasesOrDisorders"/>
-            <xsd:enumeration value="TotalConsolidatedDomesticSubsidiaries"/>
-            <xsd:enumeration value="TotalConsolidatedForeignSubsidiaries"/>
-            <xsd:enumeration value="TotalConsolidatedSubsidiaries"/>
-            <xsd:enumeration value="TotalCredits"/>
-            <xsd:enumeration value="TotalCreditsAccepted"/>
-            <xsd:enumeration value="TotalCreditsReceived"/>
-            <xsd:enumeration value="TotalCreditsRejected"/>
-            <xsd:enumeration value="TotalDaysAwayFromWork"/>
-            <xsd:enumeration value="TotalDaysAwayFromWorkDueToIllness"/>
-            <xsd:enumeration value="TotalDaysAwayFromWorkDueToInjury"/>
-            <xsd:enumeration value="TotalDaysOfRestrictedWorkActivity"/>
-            <xsd:enumeration value="TotalDaysOfRestrictedWorkActivityDueToIllness"/>
-            <xsd:enumeration value="TotalDaysOnMarket"/>
-            <xsd:enumeration value="TotalDaysWithRestrictedWorkActivityDueToInjury"/>
-            <xsd:enumeration value="TotalDeathClaims"/>
-            <xsd:enumeration value="TotalDeathsAsAResultOfIllness"/>
-            <xsd:enumeration value="TotalDeathsAsAResultOfInjury"/>
-            <xsd:enumeration value="TotalDebits"/>
-            <xsd:enumeration value="TotalDebitsAccepted"/>
-            <xsd:enumeration value="TotalDebitsReceived"/>
-            <xsd:enumeration value="TotalDebitsRejected"/>
-            <xsd:enumeration value="TotalDeliveryQuantity"/>
-            <xsd:enumeration value="TotalDemandOrders"/>
-            <xsd:enumeration value="TotalDemandQuantity"/>
-            <xsd:enumeration value="TotalEmployees"/>
-            <xsd:enumeration value="TotalEndingInventory"/>
-            <xsd:enumeration value="TotalFloatTime"/>
-            <xsd:enumeration value="TotalGasDisposition"/>
-            <xsd:enumeration value="TotalGasInjectionVolume"/>
-            <xsd:enumeration value="TotalIllnessClaimsWithDaysAwayFromWork"/>
-            <xsd:enumeration value="TotalIllnessClaimsWithOccupationalIllnessesNotOtherwiseClassified"/>
-            <xsd:enumeration value="TotalIllnessClaimsWithoutLostWorkDays"/>
-            <xsd:enumeration value="TotalIllnessWithLostWorkDaysOrRestrictedWorkActivity"/>
-            <xsd:enumeration value="TotalInjuryClaimsWithDaysAwayFromWork"/>
-            <xsd:enumeration value="TotalInjuryClaimsWithDaysAwayFromWorkOrRestrictedWorkActivity"/>
-            <xsd:enumeration value="TotalInjuryClaimsWithoutLostWorkDays"/>
-            <xsd:enumeration value="TotalInventory"/>
-            <xsd:enumeration value="TotalNon-ConsolidatedSubsidiaries"/>
-            <xsd:enumeration value="TotalNumberOfConvictions"/>
-            <xsd:enumeration value="TotalNumberOfDomesticSubsidiariesIncludedInFinancial"/>
-            <xsd:enumeration value="TotalNumberOfDomesticSubsidiariesNotIncludedIn"/>
-            <xsd:enumeration value="TotalNumberOfForeignSubsidiariesIncludedInFinancial"/>
-            <xsd:enumeration value="TotalNumberOfForeignSubsidiariesNotIncludedIn"/>
-            <xsd:enumeration value="TotalNumberOfLoanDetailRecords"/>
-            <xsd:enumeration value="TotalNumberOfMortgagees"/>
-            <xsd:enumeration value="TotalNumberOfParkingSpaces"/>
-            <xsd:enumeration value="TotalNumberOfSubsidiariesNotIncludedInTheFinancial"/>
-            <xsd:enumeration value="TotalNumberOfUnits"/>
-            <xsd:enumeration value="TotalNumberOfUnitsForSale"/>
-            <xsd:enumeration value="TotalNumberOfWorkersCompensationCombinedReports"/>
-            <xsd:enumeration value="TotalNumberOfWorkersCompensationFirstReports"/>
-            <xsd:enumeration value="TotalNumberOfWorkersCompensationSubsequentReports"/>
-            <xsd:enumeration value="TotalOfIssuableAssets"/>
-            <xsd:enumeration value="TotalOilAndOrCondensateDisposition"/>
-            <xsd:enumeration value="TotalOilAndOrCondensateInjectionVolume"/>
-            <xsd:enumeration value="TotalOtherPropertiesOwnedAndFinanced"/>
-            <xsd:enumeration value="TotalPaymentsRejected"/>
-            <xsd:enumeration value="TotalPost-AdvicesAccepted"/>
-            <xsd:enumeration value="TotalPost-AdvicesReceived"/>
-            <xsd:enumeration value="TotalPost-AdvicesRejected"/>
-            <xsd:enumeration value="TotalPre-AdvicesAccepted"/>
-            <xsd:enumeration value="TotalPre-AdvicesReceived"/>
-            <xsd:enumeration value="TotalPre-AdvicesRejected"/>
-            <xsd:enumeration value="TotalPrenotesAccepted"/>
-            <xsd:enumeration value="TotalPrenotesReceived"/>
-            <xsd:enumeration value="TotalPrenotesRejected"/>
-            <xsd:enumeration value="TotalProductionVolume"/>
-            <xsd:enumeration value="TotalPropertiesOwned"/>
-            <xsd:enumeration value="TotalQuantityPlanned"/>
-            <xsd:enumeration value="TotalResource-Quantity"/>
-            <xsd:enumeration value="TotalRooms"/>
-            <xsd:enumeration value="TotalSales"/>
-            <xsd:enumeration value="TotalServiceBackorderQuantityHighPriority"/>
-            <xsd:enumeration value="TotalServiceBackorderQuantityLowPriority"/>
-            <xsd:enumeration value="TotalSharesOfStock"/>
-            <xsd:enumeration value="TotalSystemBackorderQuantityHighPriority"/>
-            <xsd:enumeration value="TotalSystemBackorderQuantityLowPriority"/>
-            <xsd:enumeration value="TotalToDate"/>
-            <xsd:enumeration value="TotalTransactions"/>
-            <xsd:enumeration value="TotalUnidentifiedTransactionsRejected"/>
-            <xsd:enumeration value="TotalWaterDisposition"/>
-            <xsd:enumeration value="TotalWaterInjectionVolume"/>
-            <xsd:enumeration value="TotalWorkedByAllEmployees"/>
-            <xsd:enumeration value="TotalWorkingInterest"/>
-            <xsd:enumeration value="TrademarkRepresented"/>
-            <xsd:enumeration value="TrademarksUsed"/>
-            <xsd:enumeration value="Trainees"/>
-            <xsd:enumeration value="Trainers"/>
-            <xsd:enumeration value="TransactionSets"/>
-            <xsd:enumeration value="TransferQuantity"/>
-            <xsd:enumeration value="TransferredInQuantity"/>
-            <xsd:enumeration value="TransferredOutQuantity"/>
-            <xsd:enumeration value="TravelFrequency"/>
-            <xsd:enumeration value="TravellingEmployees"/>
-            <xsd:enumeration value="TravelPeriod"/>
-            <xsd:enumeration value="TripDuration"/>
-            <xsd:enumeration value="Trips"/>
-            <xsd:enumeration value="TrunkedChannels"/>
-            <xsd:enumeration value="UnacknowledgedQuantity"/>
-            <xsd:enumeration value="UnadjustedCorrectorReading"/>
-            <xsd:enumeration value="UncoveredCheques"/>
-            <xsd:enumeration value="UniformCommercialCodeFilings"/>
-            <xsd:enumeration value="UnionEmployees"/>
-            <xsd:enumeration value="Units"/>
-            <xsd:enumeration value="UnitsCompleted"/>
-            <xsd:enumeration value="UnitsForSale"/>
-            <xsd:enumeration value="UnitsPerUnitPrice"/>
-            <xsd:enumeration value="UnitsProduced"/>
-            <xsd:enumeration value="UnitsRented"/>
-            <xsd:enumeration value="UnitsWorkedLastDay"/>
-            <xsd:enumeration value="UnitsWorkedPerDay"/>
-            <xsd:enumeration value="UnitsWorkedPerQuarter"/>
-            <xsd:enumeration value="UnitsWorkedPerWeek"/>
-            <xsd:enumeration value="Unpaid"/>
-            <xsd:enumeration value="UnsaleableQuantity"/>
-            <xsd:enumeration value="UnsoldQuantityHeldByWholesaler"/>
-            <xsd:enumeration value="UntilNextTravel"/>
-            <xsd:enumeration value="UnusableQuantity"/>
-            <xsd:enumeration value="UnusedAccumulatedSickDays"/>
-            <xsd:enumeration value="UnverifiedReceipts"/>
-            <xsd:enumeration value="UrgentDeliveryQuantity"/>
-            <xsd:enumeration value="Used"/>
-            <xsd:enumeration value="UseOfExtracorporealCirculation"/>
-            <xsd:enumeration value="UseOfHyperbaricPressurization"/>
-            <xsd:enumeration value="UseOfHypertension"/>
-            <xsd:enumeration value="UseOfHypotension"/>
-            <xsd:enumeration value="UseOfHypothermia"/>
-            <xsd:enumeration value="Vacancies"/>
-            <xsd:enumeration value="Variance"/>
-            <xsd:enumeration value="VarianceAdjustment"/>
-            <xsd:enumeration value="VehicularRadios"/>
-            <xsd:enumeration value="VerifiedReceipts"/>
-            <xsd:enumeration value="VisitationFrequency"/>
-            <xsd:enumeration value="Visits"/>
-            <xsd:enumeration value="VoiceStorageQuantity"/>
-            <xsd:enumeration value="VoidVotes"/>
-            <xsd:enumeration value="VolumeShrinkageAdjustmentOrAllowance"/>
-            <xsd:enumeration value="Votes"/>
-            <xsd:enumeration value="VotingSharesHeld"/>
-            <xsd:enumeration value="WarehouseEmployees"/>
-            <xsd:enumeration value="WarehouseSize"/>
-            <xsd:enumeration value="WaterRe-InjectedOnProperty"/>
-            <xsd:enumeration value="WaterVolume"/>
-            <xsd:enumeration value="WeeksWorked"/>
-            <xsd:enumeration value="Weight"/>
-            <xsd:enumeration value="WeightChangePeriod"/>
-            <xsd:enumeration value="WeightGain"/>
-            <xsd:enumeration value="WeightLoss"/>
-            <xsd:enumeration value="WholesalerToWholesalerSales"/>
-            <xsd:enumeration value="WideAreaTelephoneServicePer800ServiceUnits"/>
-            <xsd:enumeration value="WorkCalendarUnits"/>
-            <xsd:enumeration value="WorkDays"/>
-            <xsd:enumeration value="WorkInProcess"/>
-            <xsd:enumeration value="WorkPeriod"/>
-            <xsd:enumeration value="WorkTimeUnits"/>
-            <xsd:enumeration value="WorkTimeUnitsPerShift"/>
-            <xsd:enumeration value="Years"/>
-            <xsd:enumeration value="YearsInSchool"/>
-            <xsd:enumeration value="YearsInThisLineOfWorkOrProfession"/>
-            <xsd:enumeration value="YearsOnJob"/>
-            <xsd:enumeration value="YearsRemaining"/>
-            <xsd:enumeration value="YesVotes"/>
-            <xsd:enumeration value="CurrentDuration"/>
-            <xsd:enumeration value="CurrentInventoryQuantityAvailableForShipment"/>
-            <xsd:enumeration value="CurrentPeriodImbalance"/>
-            <xsd:enumeration value="CurrentServiceLife"/>
-            <xsd:enumeration value="CurrentShareBalance"/>
-            <xsd:enumeration value="CustomerEstimatedLatestMeterReading"/>
-            <xsd:enumeration value="CustomerEstimatedPreviousMeterReading"/>
-            <xsd:enumeration value="CustomerReadingQuantity"/>
-            <xsd:enumeration value="DailyAdjustments"/>
-            <xsd:enumeration value="DailyAverageQuantity"/>
-            <xsd:enumeration value="DailyWorkShifts"/>
-            <xsd:enumeration value="DamagedGoods"/>
-            <xsd:enumeration value="DataStorageQuantity"/>
-            <xsd:enumeration value="Days"/>
-            <xsd:enumeration value="DaysOperated"/>
-            <xsd:enumeration value="DaysProduced"/>
-            <xsd:enumeration value="DaysSupply"/>
-            <xsd:enumeration value="DebentureBond"/>
-            <xsd:enumeration value="DebenturesFiledAgainstDirectors"/>
-            <xsd:enumeration value="Debited"/>
-            <xsd:enumeration value="DebtCollectors"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfContractItem">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ContractItem"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfContractItem" type="ListOfContractItem"/>
-    <xsd:complexType name="ContractItem">
-        <xsd:sequence>
-            <xsd:element ref="Contract"/>
-            <xsd:element minOccurs="0" name="ContractItemNumber" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ContractItem" type="ContractItem"/>
-    <xsd:complexType name="Contract">
-        <xsd:sequence>
-            <xsd:element ref="ContractID"/>
-            <xsd:element minOccurs="0" ref="ContractType"/>
-            <xsd:element minOccurs="0" ref="ValidityDates"/>
-            <xsd:element minOccurs="0" name="SystemID" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Contract" type="Contract"/>
-    <xsd:complexType name="ContractType">
-        <xsd:sequence>
-            <xsd:element name="ContractTypeCoded" type="ContractTypeCode"/>
-            <xsd:element minOccurs="0" name="ContractTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ContractType" type="ContractType"/>
-    <xsd:simpleType name="ContractTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="DiagnosisRelatedGroup"/>
-            <xsd:enumeration value="PerDiem"/>
-            <xsd:enumeration value="VariablePerDiem"/>
-            <xsd:enumeration value="Flat"/>
-            <xsd:enumeration value="Capitated"/>
-            <xsd:enumeration value="Percent"/>
-            <xsd:enumeration value="NegotiatedGrowingEquityMortgage"/>
-            <xsd:enumeration value="AnticipatedContract"/>
-            <xsd:enumeration value="FederalHousingAuthorityAdjustableRateMortgage"/>
-            <xsd:enumeration value="FederalHousingAuthorityVeteransAffairsFixedRateMortgage"/>
-            <xsd:enumeration value="ConventionalSecondMortgages"/>
-            <xsd:enumeration value="ConventionalFixedRateMortgages"/>
-            <xsd:enumeration value="FederalHousingAuthorityVeteransAffairsGraduatedPaymentMortgage"/>
-            <xsd:enumeration value="NegotiatedConventionalGraduatedPaymentOrStepRateMortgage"/>
-            <xsd:enumeration value="ConventionalAdjustableRateMortgage"/>
-            <xsd:enumeration value="CostPlusIncentiveFee"/>
-            <xsd:enumeration value="CostSharing"/>
-            <xsd:enumeration value="CostPlus"/>
-            <xsd:enumeration value="Cost"/>
-            <xsd:enumeration value="CostPlusAwardFee"/>
-            <xsd:enumeration value="CostPlusFixedFee"/>
-            <xsd:enumeration value="Distributor"/>
-            <xsd:enumeration value="ExclusiveAgency"/>
-            <xsd:enumeration value="ExclusiveRight"/>
-            <xsd:enumeration value="FirmorActualContract"/>
-            <xsd:enumeration value="FixedPriceIncentiveFirmTargetWithPerformanceIncentive"/>
-            <xsd:enumeration value="FixedPriceIncentiveFirmTargetWithoutPerformanceIncentive"/>
-            <xsd:enumeration value="FixedPriceRedetermination"/>
-            <xsd:enumeration value="FixedPricewithEscalation"/>
-            <xsd:enumeration value="FixedPriceIncentiveSuccessiveTargetWithPerformanceIncentive"/>
-            <xsd:enumeration value="FixedPriceIncentiveSuccessiveTargetWithoutPerformanceIncentive"/>
-            <xsd:enumeration value="FixedPriceAwardFee"/>
-            <xsd:enumeration value="FixedPriceIncentive"/>
-            <xsd:enumeration value="FixedPriceLevelofEffort"/>
-            <xsd:enumeration value="NoCost"/>
-            <xsd:enumeration value="FlatAmount"/>
-            <xsd:enumeration value="RetroactiveFixedPriceRedetermination"/>
-            <xsd:enumeration value="FirmFixedPrice"/>
-            <xsd:enumeration value="FixedPricewithEconomicPriceAdjustment"/>
-            <xsd:enumeration value="Labor"/>
-            <xsd:enumeration value="LevelofEffort"/>
-            <xsd:enumeration value="LaborHours"/>
-            <xsd:enumeration value="OtherContractType"/>
-            <xsd:enumeration value="ProspectReservation"/>
-            <xsd:enumeration value="SamePercentageasFilmRentalEarned"/>
-            <xsd:enumeration value="TimeandMaterials"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ValidityDates">
-        <xsd:sequence>
-            <xsd:element name="StartDate" type="xcblDatetime"/>
-            <xsd:element name="EndDate" type="xcblDatetime"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ValidityDates" type="ValidityDates"/>
-    <xsd:complexType name="ConditionsOfSale">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="SalesRequirement"/>
-            <xsd:element minOccurs="0" name="SalesActionCoded" type="SalesActionCode"/>
-            <xsd:element minOccurs="0" name="SalesActionCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SalesActionValue" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ConditionsOfSale" type="ConditionsOfSale"/>
-    <xsd:complexType name="SalesRequirement">
-        <xsd:sequence>
-            <xsd:element name="SalesRequirementCoded" type="SalesRequirementCode"/>
-            <xsd:element minOccurs="0" name="SalesRequirementCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="SalesRequirement" type="SalesRequirement"/>
-    <xsd:simpleType name="SalesRequirementCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AddQuantityToMakeMinimumWeightRequirement"/>
-            <xsd:enumeration value="BackOrderIfItemsAreOutOfStockOrNotYetPublished"/>
-            <xsd:enumeration value="BackOrderIfOutOfStock"/>
-            <xsd:enumeration value="BackOrderOnlyIfNewItem"/>
-            <xsd:enumeration value="BidGuarantee"/>
-            <xsd:enumeration value="CombinedSmallDisadvantagedBusinessAndLaborSurplusAreaSet-Aside"/>
-            <xsd:enumeration value="Consignment"/>
-            <xsd:enumeration value="DoNotPreship"/>
-            <xsd:enumeration value="EqualProductAllowed"/>
-            <xsd:enumeration value="ExcludeImportQuotaInFirstCost"/>
-            <xsd:enumeration value="FactoryShip"/>
-            <xsd:enumeration value="GuaranteedSale"/>
-            <xsd:enumeration value="IncludeImportQuotaInFirstCost"/>
-            <xsd:enumeration value="LaborSurplusAreaSet-Aside"/>
-            <xsd:enumeration value="LargePurchaseSet-AsideForSmallBusiness"/>
-            <xsd:enumeration value="MayPreship"/>
-            <xsd:enumeration value="Multi-yearAward"/>
-            <xsd:enumeration value="NoBackOrder"/>
-            <xsd:enumeration value="NoSubstitutes"/>
-            <xsd:enumeration value="NotifyPriorToShipmentIfQuantitySpecifiedIsNotAvailable"/>
-            <xsd:enumeration value="OnQualifiedBiddersList"/>
-            <xsd:enumeration value="OnQualifiedManufacturersList"/>
-            <xsd:enumeration value="OtherUnlistedSalesCondition"/>
-            <xsd:enumeration value="PartialLaborSurplusAreaSetAside"/>
-            <xsd:enumeration value="RestrictedToApprovedSources"/>
-            <xsd:enumeration value="RestrictedToEducationalInstitutions"/>
-            <xsd:enumeration value="RestrictedToHistoricallyBlackCollegeOrUniversityOrMinorityInstitution"/>
-            <xsd:enumeration value="RestrictedToIndustrialPreparednessProgramParticipants"/>
-            <xsd:enumeration value="RestrictedToQualifiedProductsListProducts"/>
-            <xsd:enumeration value="RestrictedToUSAndCanadianSources"/>
-            <xsd:enumeration value="RestrictedToYoungInvestigatorProgram"/>
-            <xsd:enumeration value="Section8aSet-Aside"/>
-            <xsd:enumeration value="Set-asideForAmericanIndian-ownedBusiness"/>
-            <xsd:enumeration value="ShipAsSoonAsPossible"/>
-            <xsd:enumeration value="ShipComplete"/>
-            <xsd:enumeration value="ShipFullTruckOnly"/>
-            <xsd:enumeration value="ShipIn-Place"/>
-            <xsd:enumeration value="ShipPartial-BalanceBackOrder"/>
-            <xsd:enumeration value="ShipPartialBalanceCancel"/>
-            <xsd:enumeration value="ShipPartialBalanceSubstitute"/>
-            <xsd:enumeration value="ShipPartialCarloadLotsOnly"/>
-            <xsd:enumeration value="ShipPartialItemQtyProportionalToTotalOrder"/>
-            <xsd:enumeration value="ShipPartialTruckloadLotsOnly"/>
-            <xsd:enumeration value="ShipPerRelease"/>
-            <xsd:enumeration value="ShipPerReleaseorBuyerAuthorization"/>
-            <xsd:enumeration value="ShipPerSchedule"/>
-            <xsd:enumeration value="SmallBusinessWithSmallDisadvantagedBusinessConsiderationSet-Aside"/>
-            <xsd:enumeration value="SmallDisadvantagedBusinessSet-Aside"/>
-            <xsd:enumeration value="SmallPurchaseSetAsideForSmallBusinesses"/>
-            <xsd:enumeration value="SmallRemainingBalanceCancellationAllowed"/>
-            <xsd:enumeration value="SmallRemainingBalanceCancellationNotAllowed"/>
-            <xsd:enumeration value="SubstituteItemAllowed"/>
-            <xsd:enumeration value="UnrestrictedProcurement"/>
-            <xsd:enumeration value="WarehouseShip"/>
-            <xsd:enumeration value="Warranty"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="SalesActionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="CancelBalanceThatExceedsSalesActionValues"/>
-            <xsd:enumeration value="CancelEntire"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Hazardous">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" ref="ListOfHazardousIdentifiers"/>
-            <xsd:element minOccurs="0" name="HazardClassCoded" type="HazardClassCode"/>
-            <xsd:element minOccurs="0" name="HazardClassCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="HazardousPlacardInformation"/>
-            <xsd:element minOccurs="0" name="HazardousReferences">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfReferenceCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="HazardousContact">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Contact"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="HazardNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="UNDGNum" type="xsd:int"/>
-            <xsd:element minOccurs="0" ref="HazardousTemperatures"/>
-            <xsd:element minOccurs="0" ref="HazardousShipmentInformation"/>
-            <xsd:element minOccurs="0" name="EMSNum" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Mfag" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Hazardous" type="Hazardous"/>
-    <xsd:complexType name="ListOfHazardousIdentifiers">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="HazardousIdentifiers"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfHazardousIdentifiers" type="ListOfHazardousIdentifiers"/>
-    <xsd:complexType name="HazardousIdentifiers">
-        <xsd:sequence>
-            <xsd:element name="HazardousRegulationsCoded" type="AgencyCode"/>
-            <xsd:element minOccurs="0" name="HazardousRegulationsCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardCode" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CodeExtension" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CodeVersion" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardOfficialText" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TremCardNum" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="HazardousIdentifiers" type="HazardousIdentifiers"/>
-    <xsd:simpleType name="HazardClassCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Primary"/>
-            <xsd:enumeration value="Secondary"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="HazardousPlacardInformation">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="HazardousPlacardIdentification" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardousPlacardText" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="HazardousPlacardInformation" type="HazardousPlacardInformation"/>
-    <xsd:complexType name="HazardousTemperatures">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="Flashpoint">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="Emergency">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="Control">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ListOfTemperatureCoded">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfDimension"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="HazardousTemperatures" type="HazardousTemperatures"/>
-    <xsd:complexType name="HazardousShipmentInformation">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="HazardPackingCoded" type="HazardPackingCode"/>
-            <xsd:element minOccurs="0" name="HazardPackingCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardousShipmentCoded" type="HazardousShipmentCode"/>
-            <xsd:element minOccurs="0" name="HazardousShipmentCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardousShipmentNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="HazardousZoneCoded" type="HazardousZoneCode"/>
-            <xsd:element minOccurs="0" name="HazardousZoneCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="HazardousShipmentInformation" type="HazardousShipmentInformation"/>
-    <xsd:simpleType name="HazardPackingCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="NotSpecified"/>
-            <xsd:enumeration value="GreatDanger"/>
-            <xsd:enumeration value="MediumDanger"/>
-            <xsd:enumeration value="MinorDanger"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="HazardousShipmentCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AdditionalDescriptiveInformationNotRequiredByRegulationButDesiredToAccompanyTheMovementByTheShipper"/>
-            <xsd:enumeration value="CargoAirliftOnly"/>
-            <xsd:enumeration value="DOT-113DoNotBumpOrCutOffCarWhileInMotionDeclaration"/>
-            <xsd:enumeration value="DamagedCarNumber"/>
-            <xsd:enumeration value="DangerousWhenWetDeclaration"/>
-            <xsd:enumeration value="EMSPageNumber"/>
-            <xsd:enumeration value="IdentifiesProductsInAHeatedMoltenState"/>
-            <xsd:enumeration value="HazardousSubstanceConstituents"/>
-            <xsd:enumeration value="InhalationHazard"/>
-            <xsd:enumeration value="LimitedQuantityDeclaration"/>
-            <xsd:enumeration value="MFAGPageNumber"/>
-            <xsd:enumeration value="MaximumOperatingSpeed"/>
-            <xsd:enumeration value="MarinePollutant"/>
-            <xsd:enumeration value="Poison-InhalationHazardDeclaration"/>
-            <xsd:enumeration value="PoisonDeclaration"/>
-            <xsd:enumeration value="RadioactiveMaterialData"/>
-            <xsd:enumeration value="TechnicalOrChemicalGroupName"/>
-            <xsd:enumeration value="TradeName"/>
-            <xsd:enumeration value="WasteDeclaration"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="HazardousZoneCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="HazardZoneA"/>
-            <xsd:enumeration value="HazardZoneB"/>
-            <xsd:enumeration value="HazardZoneC"/>
-            <xsd:enumeration value="HazardZoneD"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="PricingDetail">
-        <xsd:sequence>
-            <xsd:element ref="ListOfPrice"/>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" ref="Tax"/>
-            <xsd:element minOccurs="0" name="ItemAllowancesOrCharges">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfAllowOrCharge"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="TotalValue">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="MonetaryValue"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PricingDetail" type="PricingDetail"/>
-    <xsd:complexType name="ListOfPrice">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Price"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfPrice" type="ListOfPrice"/>
-    <xsd:complexType name="Price">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" ref="PricingType"/>
-            <xsd:element ref="UnitPrice"/>
-            <xsd:element minOccurs="0" name="PriceBasisQuantity">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="CalculatedPriceBasisQuantity">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ValidityDates"/>
-            <xsd:element minOccurs="0" name="PriceQuantityRange">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="PriceMultiplier"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Price" type="Price"/>
-    <xsd:complexType name="PricingType">
-        <xsd:sequence>
-            <xsd:element name="PriceTypeCoded" type="PriceTypeCode"/>
-            <xsd:element minOccurs="0" name="PriceTypeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PricingType" type="PricingType"/>
-    <xsd:simpleType name="PriceTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="CancellationPrice"/>
-            <xsd:enumeration value="PerTon"/>
-            <xsd:enumeration value="MinimumOrderPrice"/>
-            <xsd:enumeration value="ExportPrice"/>
-            <xsd:enumeration value="RangeDependentPrice"/>
-            <xsd:enumeration value="ActiveIngredient"/>
-            <xsd:enumeration value="AsIsQuantity"/>
-            <xsd:enumeration value="CalculationNet"/>
-            <xsd:enumeration value="CalculationGross"/>
-            <xsd:enumeration value="TaxIncludedAllowancesAndChargesNotIncluded"/>
-            <xsd:enumeration value="Actual"/>
-            <xsd:enumeration value="AverageSellingPrice"/>
-            <xsd:enumeration value="InformationPriceTaxIncludedExcludingAllowancesOrCharges"/>
-            <xsd:enumeration value="InformationPriceExcludingAllowancesOrChargesAndTaxes"/>
-            <xsd:enumeration value="AdditiveUnitPriceComponent"/>
-            <xsd:enumeration value="AverageGenericProductPrice"/>
-            <xsd:enumeration value="AlternatePrice"/>
-            <xsd:enumeration value="AverageWholesalePrice"/>
-            <xsd:enumeration value="BaseCharge"/>
-            <xsd:enumeration value="ContractTier1"/>
-            <xsd:enumeration value="ContractTier2"/>
-            <xsd:enumeration value="ContractTier3"/>
-            <xsd:enumeration value="ContractTier4"/>
-            <xsd:enumeration value="ContractTier5"/>
-            <xsd:enumeration value="ContractTier6"/>
-            <xsd:enumeration value="ContractTier7"/>
-            <xsd:enumeration value="ContractTier8"/>
-            <xsd:enumeration value="ContractTier9"/>
-            <xsd:enumeration value="ContractTier10"/>
-            <xsd:enumeration value="ContractTier11"/>
-            <xsd:enumeration value="ContractTier12"/>
-            <xsd:enumeration value="ContractTier13"/>
-            <xsd:enumeration value="ContractTier14"/>
-            <xsd:enumeration value="ContractTier15"/>
-            <xsd:enumeration value="ContractTier16"/>
-            <xsd:enumeration value="ContractTier17"/>
-            <xsd:enumeration value="ContractTier18"/>
-            <xsd:enumeration value="ContractTier19"/>
-            <xsd:enumeration value="ContractTier20"/>
-            <xsd:enumeration value="ContractTier21"/>
-            <xsd:enumeration value="ContractTier22"/>
-            <xsd:enumeration value="ContractTier23"/>
-            <xsd:enumeration value="ContractTier24"/>
-            <xsd:enumeration value="ContractTier25"/>
-            <xsd:enumeration value="ContractTier26"/>
-            <xsd:enumeration value="ContractTier27"/>
-            <xsd:enumeration value="ContractTier28"/>
-            <xsd:enumeration value="ContractTier29"/>
-            <xsd:enumeration value="ContractTier30"/>
-            <xsd:enumeration value="CalculationPrice"/>
-            <xsd:enumeration value="CatalogPrice"/>
-            <xsd:enumeration value="CentralDistributionFacility"/>
-            <xsd:enumeration value="CurrentDomesticValue"/>
-            <xsd:enumeration value="ChangedPrice"/>
-            <xsd:enumeration value="ContractPrice"/>
-            <xsd:enumeration value="ConsumerUnit"/>
-            <xsd:enumeration value="ConfirmedUnitPrice"/>
-            <xsd:enumeration value="DeclaredCustomsUnitValue"/>
-            <xsd:enumeration value="DealerAdjustedPrice"/>
-            <xsd:enumeration value="DistributorsPrice"/>
-            <xsd:enumeration value="DiscountPrice"/>
-            <xsd:enumeration value="DiscountAmountAllowed"/>
-            <xsd:enumeration value="DirectStoreDelivery"/>
-            <xsd:enumeration value="DirectShipProgramPrice"/>
-            <xsd:enumeration value="EcscPrice"/>
-            <xsd:enumeration value="EmergencyDirectShipPriceOriginalEquipmentManufacturer"/>
-            <xsd:enumeration value="EmergencyDirectShipPrice"/>
-            <xsd:enumeration value="EmergencyDirectShipPriceSupplier"/>
-            <xsd:enumeration value="EmergencyDirectShipPriceWarehouse"/>
-            <xsd:enumeration value="EstimatedPrice"/>
-            <xsd:enumeration value="ExpectedUnitPrice"/>
-            <xsd:enumeration value="FlatCharge"/>
-            <xsd:enumeration value="FrequentDeliveryService"/>
-            <xsd:enumeration value="FederalExciseTax"/>
-            <xsd:enumeration value="FreeGoodsPrice"/>
-            <xsd:enumeration value="FederalUpperLimitPriceMaximumAllowableCostPricingForDrugs"/>
-            <xsd:enumeration value="FirmPriceDoNotAdvise"/>
-            <xsd:enumeration value="GovernmentPrice"/>
-            <xsd:enumeration value="UnitPriceThroughQuantity"/>
-            <xsd:enumeration value="IndustrialPrice"/>
-            <xsd:enumeration value="InformationPrice"/>
-            <xsd:enumeration value="InstitutionalPrice"/>
-            <xsd:enumeration value="InvoiceBillingPrice"/>
-            <xsd:enumeration value="ListPrice"/>
-            <xsd:enumeration value="MandatoryToAdviseUnitPrice"/>
-            <xsd:enumeration value="MinimumActivitySurcharge"/>
-            <xsd:enumeration value="MaximumOrderQuantityPrice"/>
-            <xsd:enumeration value="MinimumOrderQuantityPrice"/>
-            <xsd:enumeration value="MinimumCharge"/>
-            <xsd:enumeration value="MinimumReleaseQuantityPrice"/>
-            <xsd:enumeration value="MaximumPriceReduction"/>
-            <xsd:enumeration value="ManufacturersSuggestedRetail"/>
-            <xsd:enumeration value="MaximumReleaseQuantityPrice"/>
-            <xsd:enumeration value="NoncontractTier1"/>
-            <xsd:enumeration value="NoncontractTier2"/>
-            <xsd:enumeration value="NoncontractTier3"/>
-            <xsd:enumeration value="NoncontractTier4"/>
-            <xsd:enumeration value="NoncontractTier5"/>
-            <xsd:enumeration value="NoncontractTier6"/>
-            <xsd:enumeration value="NoncontractTier7"/>
-            <xsd:enumeration value="NoncontractTier8"/>
-            <xsd:enumeration value="NoncontractTier9"/>
-            <xsd:enumeration value="NoncontractTier10"/>
-            <xsd:enumeration value="NoncontractTier11"/>
-            <xsd:enumeration value="NoncontractTier12"/>
-            <xsd:enumeration value="NoncontractTier13"/>
-            <xsd:enumeration value="NoncontractTier14"/>
-            <xsd:enumeration value="NoncontractTier15"/>
-            <xsd:enumeration value="NoncontractTier16"/>
-            <xsd:enumeration value="NoncontractTier17"/>
-            <xsd:enumeration value="NoncontractTier18"/>
-            <xsd:enumeration value="NoncontractTier19"/>
-            <xsd:enumeration value="NoncontractTier20"/>
-            <xsd:enumeration value="NoncontractTier21"/>
-            <xsd:enumeration value="NoncontractTier22"/>
-            <xsd:enumeration value="NoncontractTier23"/>
-            <xsd:enumeration value="NoncontractTier24"/>
-            <xsd:enumeration value="NoncontractTier25"/>
-            <xsd:enumeration value="NoncontractTier26"/>
-            <xsd:enumeration value="NoncontractTier27"/>
-            <xsd:enumeration value="NoncontractTier28"/>
-            <xsd:enumeration value="NoncontractTier29"/>
-            <xsd:enumeration value="NoncontractTier30"/>
-            <xsd:enumeration value="NetItemPrice"/>
-            <xsd:enumeration value="NetWeight"/>
-            <xsd:enumeration value="OptionalToAdviseUnitPrice"/>
-            <xsd:enumeration value="OriginalPurchaseOrderPrice"/>
-            <xsd:enumeration value="PriceBreakQuantity"/>
-            <xsd:enumeration value="UnitPriceBeginningQuantity"/>
-            <xsd:enumeration value="PriceBreakPurchaseOrderCount"/>
-            <xsd:enumeration value="PriceCatalogue"/>
-            <xsd:enumeration value="PerEach"/>
-            <xsd:enumeration value="PriceInEffectAtTimeOfShipment"/>
-            <xsd:enumeration value="PerKilogram"/>
-            <xsd:enumeration value="PerLiter"/>
-            <xsd:enumeration value="PrepaidFreightCharges"/>
-            <xsd:enumeration value="ProfessionalPrice"/>
-            <xsd:enumeration value="ProducersPrice"/>
-            <xsd:enumeration value="PromotionalPrice"/>
-            <xsd:enumeration value="PerTonne"/>
-            <xsd:enumeration value="SpecifiedUnit"/>
-            <xsd:enumeration value="ProvisionalPrice"/>
-            <xsd:enumeration value="GrossWeight"/>
-            <xsd:enumeration value="Purchase"/>
-            <xsd:enumeration value="QuotePrice"/>
-            <xsd:enumeration value="Resale"/>
-            <xsd:enumeration value="Retail"/>
-            <xsd:enumeration value="SuggestedDealerNetPrice"/>
-            <xsd:enumeration value="SuggestedFleetPrice"/>
-            <xsd:enumeration value="ShipAndDebit"/>
-            <xsd:enumeration value="SuggestedListPrice"/>
-            <xsd:enumeration value="SpecialPrice"/>
-            <xsd:enumeration value="SinglePriceFactorsEqualized"/>
-            <xsd:enumeration value="SuggestedRetail"/>
-            <xsd:enumeration value="StandardPrice"/>
-            <xsd:enumeration value="SumOfLineItems"/>
-            <xsd:enumeration value="SuggestedWholesalePrice"/>
-            <xsd:enumeration value="ToBeNegotiated"/>
-            <xsd:enumeration value="ThresholdPrice"/>
-            <xsd:enumeration value="TotalInvoiceAmountDue"/>
-            <xsd:enumeration value="Transfer"/>
-            <xsd:enumeration value="TradedUnit"/>
-            <xsd:enumeration value="TheoreticalWeight"/>
-            <xsd:enumeration value="UnitCostPrice"/>
-            <xsd:enumeration value="Wholesale"/>
-            <xsd:enumeration value="ZonePrice"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="UnitPrice">
-        <xsd:sequence>
-            <xsd:element name="UnitPriceValue" type="Decimal21_6"/>
-            <xsd:element minOccurs="0" ref="Currency"/>
-            <xsd:element minOccurs="0" ref="UnitOfMeasurement"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="UnitPrice" type="UnitPrice"/>
-    <xsd:simpleType name="Decimal21_6">
-        <xsd:restriction base="xsd:decimal">
-            <xsd:totalDigits value="21"/>
-            <xsd:fractionDigits value="6"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="PriceMultiplier">
-        <xsd:sequence>
-            <xsd:element name="PriceMultiplierCoded" type="PriceMultiplierCode"/>
-            <xsd:element minOccurs="0" name="PriceMultiplierCodedOther" type="xsd:string"/>
-            <xsd:element name="Multiplier" type="xsd:decimal"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PriceMultiplier" type="PriceMultiplier"/>
-    <xsd:simpleType name="PriceMultiplierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="CostMarkupMultiplier-OriginalCost"/>
-            <xsd:enumeration value="CostMarkupMultiplier-RetailCost"/>
-            <xsd:enumeration value="DiscountMultiplier"/>
-            <xsd:enumeration value="CostMarkupMultiplier-WholesaleCost"/>
-            <xsd:enumeration value="PercentSolutionMultiplier"/>
-            <xsd:enumeration value="SellingMultiplier"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Tax">
-        <xsd:sequence>
-            <xsd:element name="TaxFunctionQualifierCoded" type="TaxFunctionQualifierCode"/>
-            <xsd:element minOccurs="0" name="TaxFunctionQualifierCodedOther" type="xsd:string"/>
-            <xsd:element name="TaxCategoryCoded" type="TaxCategoryCode"/>
-            <xsd:element minOccurs="0" name="TaxCategoryCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ReasonTaxExemptCoded" type="ReasonTaxExemptCode"/>
-            <xsd:element minOccurs="0" name="ReasonTaxExemptCodedOther" type="xsd:string"/>
-            <xsd:element name="TaxTypeCoded" type="TaxTypeCode"/>
-            <xsd:element minOccurs="0" name="TaxTypeCodedOther">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="TaxPercent" type="Decimal10_4"/>
-            <xsd:element minOccurs="0" name="TaxPaymentMethodCoded" type="TaxPaymentMethodCode"/>
-            <xsd:element minOccurs="0" name="TaxPaymentMethodCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TaxableAmount" type="Decimal21_6"/>
-            <xsd:element minOccurs="0" name="TaxableAmountInTaxAccountingCurrency" type="Decimal21_6"/>
-            <xsd:element name="TaxAmount" type="Decimal21_6"/>
-            <xsd:element minOccurs="0" name="TaxAmountInTaxAccountingCurrency" type="Decimal21_6"/>
-            <xsd:element minOccurs="0" name="TaxLocation">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Location"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Tax" type="Tax"/>
-    <xsd:simpleType name="TaxFunctionQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="IndividualDutyTaxOrFeeCustomsItem"/>
-            <xsd:enumeration value="TotalOfAllDutiesTaxesAndFeesCustomsItem"/>
-            <xsd:enumeration value="TotalOfEachDutyTaxOrFeeTypeCustomsDeclaration"/>
-            <xsd:enumeration value="TotalOfAllDutiesTaxesAndFeeTypesCustomsDeclaration"/>
-            <xsd:enumeration value="CustomsDuty"/>
-            <xsd:enumeration value="Fee"/>
-            <xsd:enumeration value="Tax"/>
-            <xsd:enumeration value="TaxRelatedInformation"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TaxCategoryCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Agriculture"/>
-            <xsd:enumeration value="DirectPayID"/>
-            <xsd:enumeration value="Disabled"/>
-            <xsd:enumeration value="DisabledVeteran"/>
-            <xsd:enumeration value="DutyPaidBySupplier"/>
-            <xsd:enumeration value="ExemptForExport"/>
-            <xsd:enumeration value="ExemptForResale"/>
-            <xsd:enumeration value="ExemptfromCountyPropertyTax"/>
-            <xsd:enumeration value="ExemptfromLocalPropertyTax"/>
-            <xsd:enumeration value="ExemptfromSchoolPropertyTax"/>
-            <xsd:enumeration value="ExemptfromStatePropertyTax"/>
-            <xsd:enumeration value="ExemptFromTax"/>
-            <xsd:enumeration value="ExemptGoodsandServicesTax"/>
-            <xsd:enumeration value="ExemptLetterOnFile"/>
-            <xsd:enumeration value="ExemptLocalService"/>
-            <xsd:enumeration value="ExemptNotForResale"/>
-            <xsd:enumeration value="Exempt-PerStateLaw"/>
-            <xsd:enumeration value="ExemptProvincialSalesTax"/>
-            <xsd:enumeration value="ExemptSaleToUSGovernment"/>
-            <xsd:enumeration value="ExemptTollService"/>
-            <xsd:enumeration value="FreeExportItemTaxNotCharged"/>
-            <xsd:enumeration value="HigherRate"/>
-            <xsd:enumeration value="Homestead"/>
-            <xsd:enumeration value="LaborTaxableMaterialExempt"/>
-            <xsd:enumeration value="LowerRate"/>
-            <xsd:enumeration value="MaterialTaxableLaborExempt"/>
-            <xsd:enumeration value="MixedTaxRate"/>
-            <xsd:enumeration value="Non-Homestead"/>
-            <xsd:enumeration value="No-NotTaxExempt"/>
-            <xsd:enumeration value="NotExemptForResale"/>
-            <xsd:enumeration value="NotExemptNotForResale"/>
-            <xsd:enumeration value="NotTaxable"/>
-            <xsd:enumeration value="OpenSpace"/>
-            <xsd:enumeration value="OtherPropertyTaxExemption"/>
-            <xsd:enumeration value="Over65"/>
-            <xsd:enumeration value="RecurringExempt"/>
-            <xsd:enumeration value="ServicesOutsideScopeOfTax"/>
-            <xsd:enumeration value="StandardRate"/>
-            <xsd:enumeration value="TotallyExempt"/>
-            <xsd:enumeration value="Transferred"/>
-            <xsd:enumeration value="UsageExempt"/>
-            <xsd:enumeration value="ValueAddedTaxDueFromAPreviousInvoice"/>
-            <xsd:enumeration value="ValueAddedTaxNotNowDueForPayment"/>
-            <xsd:enumeration value="WorkingFarm"/>
-            <xsd:enumeration value="Yes-TaxExempt"/>
-            <xsd:enumeration value="ZeroRatedGoods"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="ReasonTaxExemptCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Exempt-ForExport"/>
-            <xsd:enumeration value="Yes-TaxExempt"/>
-            <xsd:enumeration value="No-NotTaxExempt"/>
-            <xsd:enumeration value="Exempt-ForResale"/>
-            <xsd:enumeration value="NotExemptOrForResale"/>
-            <xsd:enumeration value="Exempt-NotForResale"/>
-            <xsd:enumeration value="NotExemptNotForResale"/>
-            <xsd:enumeration value="DirectPayId"/>
-            <xsd:enumeration value="Exempt-SaleToUSGovernment"/>
-            <xsd:enumeration value="Exempt-PerStateLaw"/>
-            <xsd:enumeration value="LaborTaxableMaterialExempt"/>
-            <xsd:enumeration value="MaterialTaxableLaborExempt"/>
-            <xsd:enumeration value="NotTaxable"/>
-            <xsd:enumeration value="Disabled"/>
-            <xsd:enumeration value="ExemptTollService"/>
-            <xsd:enumeration value="Exempt-GoodsAndServicesTax"/>
-            <xsd:enumeration value="Exempt-ProvincialSalesTax"/>
-            <xsd:enumeration value="Homestead"/>
-            <xsd:enumeration value="Agriculture"/>
-            <xsd:enumeration value="WorkingFarm"/>
-            <xsd:enumeration value="OpenSpace"/>
-            <xsd:enumeration value="ExemptLocalService"/>
-            <xsd:enumeration value="DisabledVeteran"/>
-            <xsd:enumeration value="Non-Homestead"/>
-            <xsd:enumeration value="Over65"/>
-            <xsd:enumeration value="ExemptFromSchoolPropertyTax"/>
-            <xsd:enumeration value="ExemptFromLocalPropertyTax"/>
-            <xsd:enumeration value="RecurringExempt"/>
-            <xsd:enumeration value="ExemptFromCountyPropertyTax"/>
-            <xsd:enumeration value="TotallyExempt"/>
-            <xsd:enumeration value="UsageExempt"/>
-            <xsd:enumeration value="ExemptFromStatePropertyTax"/>
-            <xsd:enumeration value="OtherPropertyTaxExemption"/>
-            <xsd:enumeration value="Exempt-LetterOnFile"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TaxTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="911CityTax"/>
-            <xsd:enumeration value="911CountyTax"/>
-            <xsd:enumeration value="911ExciseTax"/>
-            <xsd:enumeration value="911StateTax"/>
-            <xsd:enumeration value="911Tax"/>
-            <xsd:enumeration value="AccommodationsTax"/>
-            <xsd:enumeration value="AdValoremTax"/>
-            <xsd:enumeration value="AgriculturalExportRebate"/>
-            <xsd:enumeration value="Agriculturallevy"/>
-            <xsd:enumeration value="AlcoholicBeverageTax"/>
-            <xsd:enumeration value="AlcoholMarkTax"/>
-            <xsd:enumeration value="AllTaxes"/>
-            <xsd:enumeration value="Anti-DumpingDuty"/>
-            <xsd:enumeration value="Assessment"/>
-            <xsd:enumeration value="BusinessLicenseFee"/>
-            <xsd:enumeration value="BusinessPrivilegeTax"/>
-            <xsd:enumeration value="CarTax"/>
-            <xsd:enumeration value="CityRentalTax"/>
-            <xsd:enumeration value="CitySalesTax"/>
-            <xsd:enumeration value="CityTax"/>
-            <xsd:enumeration value="CoffeeTax"/>
-            <xsd:enumeration value="CoinOperatedDeviceTax"/>
-            <xsd:enumeration value="CommoditySpecificTax"/>
-            <xsd:enumeration value="CorporateIncomeTax"/>
-            <xsd:enumeration value="CountervailingDuty"/>
-            <xsd:enumeration value="CountyOrParishSalesTax"/>
-            <xsd:enumeration value="CountyRentalTax"/>
-            <xsd:enumeration value="CountyTax"/>
-            <xsd:enumeration value="CustomsDuty"/>
-            <xsd:enumeration value="DefaultLaborTax"/>
-            <xsd:enumeration value="EmploymentTax"/>
-            <xsd:enumeration value="EnergyTax"/>
-            <xsd:enumeration value="Enhanced911StateExciseTax"/>
-            <xsd:enumeration value="EnvironmentalTax"/>
-            <xsd:enumeration value="EquipmentTax"/>
-            <xsd:enumeration value="EstateTax"/>
-            <xsd:enumeration value="ExciseDuty"/>
-            <xsd:enumeration value="FederalExciseTax"/>
-            <xsd:enumeration value="FederalIncomeTaxWithholding"/>
-            <xsd:enumeration value="FederalTax"/>
-            <xsd:enumeration value="FederalValueAddedTaxOnGoods"/>
-            <xsd:enumeration value="FederalValueAddedTaxOnServices"/>
-            <xsd:enumeration value="FeeInLieu"/>
-            <xsd:enumeration value="FICAMedicareTax"/>
-            <xsd:enumeration value="FICASocialSecurityTax"/>
-            <xsd:enumeration value="FICATax"/>
-            <xsd:enumeration value="FranchiseTax"/>
-            <xsd:enumeration value="Free"/>
-            <xsd:enumeration value="FuelLUSTTax"/>
-            <xsd:enumeration value="FuelSpillTax"/>
-            <xsd:enumeration value="FuelSuperFundTax"/>
-            <xsd:enumeration value="GamingTax"/>
-            <xsd:enumeration value="GeneralConstructionTax"/>
-            <xsd:enumeration value="GiftTax"/>
-            <xsd:enumeration value="GoodsAndServicesTax"/>
-            <xsd:enumeration value="GrossReceiptsTax"/>
-            <xsd:enumeration value="HandicapTax"/>
-            <xsd:enumeration value="HazardousWasteTax"/>
-            <xsd:enumeration value="HighwayUseTax"/>
-            <xsd:enumeration value="IlluminantsTax"/>
-            <xsd:enumeration value="ImportTax"/>
-            <xsd:enumeration value="IndividualIncomeTax"/>
-            <xsd:enumeration value="IndividualTax"/>
-            <xsd:enumeration value="InheritanceTax"/>
-            <xsd:enumeration value="InternationalFuelTaxAgreementTax"/>
-            <xsd:enumeration value="LaborByTradeTax"/>
-            <xsd:enumeration value="LeakyUndergroundStorageTankTaxFederal"/>
-            <xsd:enumeration value="LeakyUndergroundStorageTankTaxState"/>
-            <xsd:enumeration value="LicenseTax"/>
-            <xsd:enumeration value="LightDuesPayable"/>
-            <xsd:enumeration value="LocalConstructionTax"/>
-            <xsd:enumeration value="LocalSalesTax"/>
-            <xsd:enumeration value="LocalTax"/>
-            <xsd:enumeration value="LustTax"/>
-            <xsd:enumeration value="MaterialTax"/>
-            <xsd:enumeration value="MetropolitanTransitTax"/>
-            <xsd:enumeration value="MinimumTax"/>
-            <xsd:enumeration value="MiscellaneousCashDeposit"/>
-            <xsd:enumeration value="MiscellaneousStateTax"/>
-            <xsd:enumeration value="MonetaryCompensatoryAmount"/>
-            <xsd:enumeration value="MotorFuelTax"/>
-            <xsd:enumeration value="MunicipalTax"/>
-            <xsd:enumeration value="OccupationalTax"/>
-            <xsd:enumeration value="OtherTaxes"/>
-            <xsd:enumeration value="PaperConsortiumTax-Italy"/>
-            <xsd:enumeration value="PersonalPropertyTax"/>
-            <xsd:enumeration value="PetroleumTax"/>
-            <xsd:enumeration value="PostThresholdTax"/>
-            <xsd:enumeration value="PreferenceDuty"/>
-            <xsd:enumeration value="PreThresholdTax"/>
-            <xsd:enumeration value="ProvisionalcountervailingDutyBond"/>
-            <xsd:enumeration value="ProvisionalCountervailingDutyCash"/>
-            <xsd:enumeration value="ProvisionalDutyBond"/>
-            <xsd:enumeration value="ProvisionalDutyCash"/>
-            <xsd:enumeration value="PublicHealthAndEducationTax"/>
-            <xsd:enumeration value="RealPropertyTax"/>
-            <xsd:enumeration value="SalesAndUseTax"/>
-            <xsd:enumeration value="SchoolTax"/>
-            <xsd:enumeration value="SecondaryPercentageTax"/>
-            <xsd:enumeration value="SeveranceTax"/>
-            <xsd:enumeration value="ShiftedSocialSecurities"/>
-            <xsd:enumeration value="ShiftedWageTax"/>
-            <xsd:enumeration value="SolidWasteTax"/>
-            <xsd:enumeration value="SpecialConstructionTax"/>
-            <xsd:enumeration value="StadiumTax"/>
-            <xsd:enumeration value="StampDuty-ImpostadiBollo"/>
-            <xsd:enumeration value="StateandLocalSalesTax"/>
-            <xsd:enumeration value="StateAndLocalTax"/>
-            <xsd:enumeration value="StateAndProvincialTax"/>
-            <xsd:enumeration value="StateExciseTax"/>
-            <xsd:enumeration value="StateorProvincialFuelTax"/>
-            <xsd:enumeration value="StateOrProvincialSalesTax"/>
-            <xsd:enumeration value="StateorProvincialTaxOnGoods"/>
-            <xsd:enumeration value="StateorProvincialTaxOnServices"/>
-            <xsd:enumeration value="StateRentalTax"/>
-            <xsd:enumeration value="StateTaxonSpecificLabor"/>
-            <xsd:enumeration value="SuperfundTax"/>
-            <xsd:enumeration value="SurTax"/>
-            <xsd:enumeration value="SuspendedDuty"/>
-            <xsd:enumeration value="TelecommunicationsDeviceForTheDeafServiceExciseTax"/>
-            <xsd:enumeration value="TelecommunicationsTax"/>
-            <xsd:enumeration value="ThresholdTax"/>
-            <xsd:enumeration value="TobaccoTax"/>
-            <xsd:enumeration value="TonnageTaxes"/>
-            <xsd:enumeration value="Total"/>
-            <xsd:enumeration value="TourismTax"/>
-            <xsd:enumeration value="TransitTax"/>
-            <xsd:enumeration value="TurnOverTax"/>
-            <xsd:enumeration value="UnemploymentTax"/>
-            <xsd:enumeration value="UseTax"/>
-            <xsd:enumeration value="UtilityUsersTax"/>
-            <xsd:enumeration value="ValuationDeposit"/>
-            <xsd:enumeration value="ValueAddedTax"/>
-            <xsd:enumeration value="WellService"/>
-            <xsd:enumeration value="WithholdingTax"/>
-            <xsd:enumeration value="WorkersCompensationTax"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="Decimal10_4">
-        <xsd:restriction base="xsd:decimal">
-            <xsd:totalDigits value="10"/>
-            <xsd:fractionDigits value="4"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TaxPaymentMethodCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Normal"/>
-            <xsd:enumeration value="DirectPay"/>
-            <xsd:enumeration value="SelfAssess"/>
-            <xsd:enumeration value="PayVendor"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Location">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="LocationQualifierCoded" type="LocationQualifierCode"/>
-            <xsd:element minOccurs="0" name="LocationQualifierCodedOther" type="xsd:string"/>
-            <xsd:choice>
-                <xsd:element ref="LocationIdentifier"/>
-                <xsd:element name="ExternalAddressID" type="xsd:string"/>
-                <xsd:element ref="NameAddress"/>
-            </xsd:choice>
-            <xsd:element minOccurs="0" ref="GPSCooridinates"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Location" type="Location"/>
-    <xsd:simpleType name="LocationQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="JurisdictionToReceiveCreditForUniformCommercialCodeFiling"/>
-            <xsd:enumeration value="TransmittingUtility"/>
-            <xsd:enumeration value="Consignor"/>
-            <xsd:enumeration value="CensusScheduleD"/>
-            <xsd:enumeration value="UniformCommercialCodeFilingOffice"/>
-            <xsd:enumeration value="CurrentAddress"/>
-            <xsd:enumeration value="CensusBlockGroup"/>
-            <xsd:enumeration value="HomeAddress"/>
-            <xsd:enumeration value="HomeBaseAddress"/>
-            <xsd:enumeration value="CensusTract"/>
-            <xsd:enumeration value="CensusScheduleK"/>
-            <xsd:enumeration value="LocalAddress"/>
-            <xsd:enumeration value="MailingAddress"/>
-            <xsd:enumeration value="OfficeAddress"/>
-            <xsd:enumeration value="PermanentAddress"/>
-            <xsd:enumeration value="Birthplace"/>
-            <xsd:enumeration value="WorldwideGeographicLocationCode"/>
-            <xsd:enumeration value="NearestCrossStreet"/>
-            <xsd:enumeration value="SecondaryCrossStreet"/>
-            <xsd:enumeration value="Range"/>
-            <xsd:enumeration value="Section"/>
-            <xsd:enumeration value="QuarterSection"/>
-            <xsd:enumeration value="MarkerIdentifierLocation"/>
-            <xsd:enumeration value="Route"/>
-            <xsd:enumeration value="RouteSubdivision"/>
-            <xsd:enumeration value="GridLocation"/>
-            <xsd:enumeration value="Page"/>
-            <xsd:enumeration value="MarkerType"/>
-            <xsd:enumeration value="Latitude-LongitudeSource"/>
-            <xsd:enumeration value="MapSource"/>
-            <xsd:enumeration value="MapReference"/>
-            <xsd:enumeration value="GridSource"/>
-            <xsd:enumeration value="Aliquot"/>
-            <xsd:enumeration value="Block"/>
-            <xsd:enumeration value="District"/>
-            <xsd:enumeration value="DrainholeNumber"/>
-            <xsd:enumeration value="CityBlock"/>
-            <xsd:enumeration value="FootageCallDirection"/>
-            <xsd:enumeration value="LocationDirection"/>
-            <xsd:enumeration value="OuterContinentalLeaseLocation"/>
-            <xsd:enumeration value="Lot"/>
-            <xsd:enumeration value="MapQuadrangle"/>
-            <xsd:enumeration value="PrincipalMeridian"/>
-            <xsd:enumeration value="OuterContinentalShelfArea"/>
-            <xsd:enumeration value="OuterContinentalShelfBlock"/>
-            <xsd:enumeration value="OfficialProtractionDiagram"/>
-            <xsd:enumeration value="QuarterQuarterQuarterSection"/>
-            <xsd:enumeration value="QuarterQuarterSection"/>
-            <xsd:enumeration value="SectionType"/>
-            <xsd:enumeration value="Abstract"/>
-            <xsd:enumeration value="Labor"/>
-            <xsd:enumeration value="League"/>
-            <xsd:enumeration value="Survey"/>
-            <xsd:enumeration value="Tier"/>
-            <xsd:enumeration value="Tract"/>
-            <xsd:enumeration value="UniversalTransverseMercatorQuadrant"/>
-            <xsd:enumeration value="CourseDirection"/>
-            <xsd:enumeration value="Area"/>
-            <xsd:enumeration value="SendersLocationCode"/>
-            <xsd:enumeration value="ReceiversLocationCode"/>
-            <xsd:enumeration value="Office"/>
-            <xsd:enumeration value="AnnualStatementsMailingAddress"/>
-            <xsd:enumeration value="CityandState"/>
-            <xsd:enumeration value="AllPoints"/>
-            <xsd:enumeration value="ArmedServicesLocationDesignation"/>
-            <xsd:enumeration value="Branch"/>
-            <xsd:enumeration value="BusinessEconomicAreaRegionCode"/>
-            <xsd:enumeration value="GovernmentBillofLadingOfficeCode"/>
-            <xsd:enumeration value="PlaceOfBusiness"/>
-            <xsd:enumeration value="GeopoliticalNameCode"/>
-            <xsd:enumeration value="CountryOfOrigin"/>
-            <xsd:enumeration value="ConfirmationMailingAddress"/>
-            <xsd:enumeration value="Country"/>
-            <xsd:enumeration value="CanadianCustomsOfficeCode"/>
-            <xsd:enumeration value="CorrespondenceMailingAddress"/>
-            <xsd:enumeration value="City"/>
-            <xsd:enumeration value="NationalRateBasis"/>
-            <xsd:enumeration value="CountyOrParishAndState"/>
-            <xsd:enumeration value="InTankCar"/>
-            <xsd:enumeration value="CanadianSPLC"/>
-            <xsd:enumeration value="CountyOrParish"/>
-            <xsd:enumeration value="DistributionCenterNumber"/>
-            <xsd:enumeration value="Destination-Shipping"/>
-            <xsd:enumeration value="DeliveryLocation"/>
-            <xsd:enumeration value="DistrictOffice"/>
-            <xsd:enumeration value="Department"/>
-            <xsd:enumeration value="DistrictOfResidence"/>
-            <xsd:enumeration value="DomicileTypeCode"/>
-            <xsd:enumeration value="EventLocation"/>
-            <xsd:enumeration value="EmployerLocation"/>
-            <xsd:enumeration value="Factory"/>
-            <xsd:enumeration value="FreightEqualizationPoint"/>
-            <xsd:enumeration value="ForeignFreightForwarderLocation"/>
-            <xsd:enumeration value="FederalInformationProcessingStandards55-NamedPopulatedPlaces"/>
-            <xsd:enumeration value="U.S.CustomsFacilitiesInformationandResourceManagementSystems"/>
-            <xsd:enumeration value="FreightStationAccountingCode"/>
-            <xsd:enumeration value="ForeignTradeZone"/>
-            <xsd:enumeration value="FreeAlongsideVessel-FreeOnBoardPoint"/>
-            <xsd:enumeration value="FreightStationGeographicLocation"/>
-            <xsd:enumeration value="InternationalAirTransportAssociationLocationQualifier"/>
-            <xsd:enumeration value="IssueLocation"/>
-            <xsd:enumeration value="MilitaryStandardMovementProcedures"/>
-            <xsd:enumeration value="Postal"/>
-            <xsd:enumeration value="InStore"/>
-            <xsd:enumeration value="IntermediateFOBPoint"/>
-            <xsd:enumeration value="PortOfEmbarkation"/>
-            <xsd:enumeration value="GovernmentFurnishedPropertyFOBPoint"/>
-            <xsd:enumeration value="LocalOffice"/>
-            <xsd:enumeration value="Mill"/>
-            <xsd:enumeration value="MetropolitanSamplingAreaRegionCode"/>
-            <xsd:enumeration value="MexicanPostalCode"/>
-            <xsd:enumeration value="CityOrStateFromPoints"/>
-            <xsd:enumeration value="Origin-AfterLoadingOnEquipment"/>
-            <xsd:enumeration value="OtherUnlistedFreeOnBoardPoint"/>
-            <xsd:enumeration value="OpenandPrepayStationListCode"/>
-            <xsd:enumeration value="OtherUnlistedAcceptancePoint"/>
-            <xsd:enumeration value="Origin-ShippingPoint"/>
-            <xsd:enumeration value="OnVessel-FreeOnBoardPoint"/>
-            <xsd:enumeration value="PortofArrival"/>
-            <xsd:enumeration value="PortofDischarge"/>
-            <xsd:enumeration value="PolicyMailingAddress"/>
-            <xsd:enumeration value="ParentsAddress"/>
-            <xsd:enumeration value="Primary"/>
-            <xsd:enumeration value="PriorBusiness"/>
-            <xsd:enumeration value="Plant"/>
-            <xsd:enumeration value="PrincipalServicingOffice"/>
-            <xsd:enumeration value="PoolPoint"/>
-            <xsd:enumeration value="3DigitUSZIP"/>
-            <xsd:enumeration value="4DigitUSZIP"/>
-            <xsd:enumeration value="5DigitUSZIP"/>
-            <xsd:enumeration value="3DigitCanadianPostalCode"/>
-            <xsd:enumeration value="6DigitCanadianPostalCode"/>
-            <xsd:enumeration value="RateAreaCode"/>
-            <xsd:enumeration value="InRailCar"/>
-            <xsd:enumeration value="RegionalEducationServiceAgency"/>
-            <xsd:enumeration value="RegionCode"/>
-            <xsd:enumeration value="Region"/>
-            <xsd:enumeration value="Rural"/>
-            <xsd:enumeration value="StandardCarrierAlphaCode"/>
-            <xsd:enumeration value="RouteAdministrativeMessageTo"/>
-            <xsd:enumeration value="Secondary"/>
-            <xsd:enumeration value="Suburban"/>
-            <xsd:enumeration value="CityOrStateAndPointsWithin"/>
-            <xsd:enumeration value="SchoolDistrict"/>
-            <xsd:enumeration value="Summer"/>
-            <xsd:enumeration value="Storage"/>
-            <xsd:enumeration value="SchoolCampusCode"/>
-            <xsd:enumeration value="US-SPLC"/>
-            <xsd:enumeration value="StoreNumber"/>
-            <xsd:enumeration value="StateOrProvince"/>
-            <xsd:enumeration value="School"/>
-            <xsd:enumeration value="InStorageTank"/>
-            <xsd:enumeration value="SwitchingDistrict"/>
-            <xsd:enumeration value="Tank"/>
-            <xsd:enumeration value="TranscontinentalFreightBureau"/>
-            <xsd:enumeration value="TerminalCargoLocation"/>
-            <xsd:enumeration value="Terminal"/>
-            <xsd:enumeration value="Township"/>
-            <xsd:enumeration value="Temporary"/>
-            <xsd:enumeration value="RailTerritory"/>
-            <xsd:enumeration value="TaxingDistrict"/>
-            <xsd:enumeration value="UnitedNationsLocationCode"/>
-            <xsd:enumeration value="Urban"/>
-            <xsd:enumeration value="BusinessUnit"/>
-            <xsd:enumeration value="Vacation"/>
-            <xsd:enumeration value="Village"/>
-            <xsd:enumeration value="VesselStowageLocation"/>
-            <xsd:enumeration value="Wharf"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="Winter"/>
-            <xsd:enumeration value="ZoneCode"/>
-            <xsd:enumeration value="OverseasAndPointLocation"/>
-            <xsd:enumeration value="FinalPortOfDischarge"/>
-            <xsd:enumeration value="CollectChargeLocation"/>
-            <xsd:enumeration value="CustomsOfficeOfManifestOrigin"/>
-            <xsd:enumeration value="CustomsOfficeOfManifestDestination"/>
-            <xsd:enumeration value="ActivityLocation"/>
-            <xsd:enumeration value="OriginRailIntermodalTerminal"/>
-            <xsd:enumeration value="DestinationRailIntermodalTerminal"/>
-            <xsd:enumeration value="FirstOptionalPortOfDischarge"/>
-            <xsd:enumeration value="SecondOptionalPortOfDischarge"/>
-            <xsd:enumeration value="PlaceOfAcceptance"/>
-            <xsd:enumeration value="ReconsolidationPoint"/>
-            <xsd:enumeration value="De-ConsolidationPoint"/>
-            <xsd:enumeration value="PortOfDischarge"/>
-            <xsd:enumeration value="PlaceOfDelivery"/>
-            <xsd:enumeration value="FreightPayableAt"/>
-            <xsd:enumeration value="PortOfEntry"/>
-            <xsd:enumeration value="PortOfExit"/>
-            <xsd:enumeration value="InterimPoint"/>
-            <xsd:enumeration value="BillOfLadingPortOfLoading"/>
-            <xsd:enumeration value="BillOfLadingPortOfDischarge"/>
-            <xsd:enumeration value="PortOfLoading"/>
-            <xsd:enumeration value="Destination"/>
-            <xsd:enumeration value="FinalDestination"/>
-            <xsd:enumeration value="Origin"/>
-            <xsd:enumeration value="DispatchingPool"/>
-            <xsd:enumeration value="BillOfLadingOriginOfGoods"/>
-            <xsd:enumeration value="PlaceOfReceipt"/>
-            <xsd:enumeration value="ReturnPool"/>
-            <xsd:enumeration value="TransshipmentPort"/>
-            <xsd:enumeration value="PrepaidChargeLocation"/>
-            <xsd:enumeration value="BillOfLadingReleaseOffice"/>
-            <xsd:enumeration value="ThirdOptionalPortOfDischarge"/>
-            <xsd:enumeration value="RelayPort"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="LocationIdentifier">
-        <xsd:sequence>
-            <xsd:element name="LocID">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="LocationDescription" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="LocationIdentifier" type="LocationIdentifier"/>
-    <xsd:complexType name="GPSCooridinates">
-        <xsd:sequence>
-            <xsd:element name="GPSSystem" type="xsd:string"/>
-            <xsd:element name="Latitude" type="xsd:string"/>
-            <xsd:element name="Longitude" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="GPSCooridinates" type="GPSCooridinates"/>
-    <xsd:complexType name="ListOfAllowOrCharge">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="AllowOrCharge"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfAllowOrCharge" type="ListOfAllowOrCharge"/>
-    <xsd:complexType name="AllowOrCharge">
-        <xsd:sequence>
-            <xsd:element name="IndicatorCoded" type="IndicatorCode"/>
-            <xsd:element minOccurs="0" name="IndicatorCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="BasisCoded" type="BasisCode"/>
-            <xsd:element minOccurs="0" name="BasisCodedOther" type="xsd:string"/>
-            <xsd:element name="MethodOfHandlingCoded" type="MethodOfHandlingCode"/>
-            <xsd:element minOccurs="0" name="MethodOfHandlingCodedOther" type="xsd:string"/>
-            <xsd:element name="AllowanceOrChargeDescription">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="AllowOrChgDesc"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ValidityDates"/>
-            <xsd:choice minOccurs="0">
-                <xsd:element name="BasisQuantityRange">
-                    <xsd:complexType>
-                        <xsd:sequence>
-                            <xsd:element ref="Quantity"/>
-                        </xsd:sequence>
-                    </xsd:complexType>
-                </xsd:element>
-                <xsd:element ref="BasisMonetaryRange"/>
-            </xsd:choice>
-            <xsd:element ref="TypeOfAllowanceOrCharge"/>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" ref="Tax"/>
-        </xsd:sequence>
-        <xsd:attribute name="SeqNo" type="xsd:int" use="optional" default="1"/>
-    </xsd:complexType>
-    <xsd:element name="AllowOrCharge" type="AllowOrCharge"/>
-    <xsd:simpleType name="IndicatorCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="About"/>
-            <xsd:enumeration value="Adjustment"/>
-            <xsd:enumeration value="Allowance"/>
-            <xsd:enumeration value="AllowanceLineItems"/>
-            <xsd:enumeration value="AllowanceMessage"/>
-            <xsd:enumeration value="AllowancePerCallOf"/>
-            <xsd:enumeration value="AllowanceRequest"/>
-            <xsd:enumeration value="Charge"/>
-            <xsd:enumeration value="ChargeLineItems"/>
-            <xsd:enumeration value="ChargeMessage"/>
-            <xsd:enumeration value="ChargePerCallOf"/>
-            <xsd:enumeration value="ChargeRequest"/>
-            <xsd:enumeration value="Exact"/>
-            <xsd:enumeration value="LineItemAllowance"/>
-            <xsd:enumeration value="LineItemCharge"/>
-            <xsd:enumeration value="Maximum"/>
-            <xsd:enumeration value="Minus-Amount"/>
-            <xsd:enumeration value="Minus-Percentage"/>
-            <xsd:enumeration value="NoAllowance"/>
-            <xsd:enumeration value="NoAllowanceOrCharge"/>
-            <xsd:enumeration value="NoCharge"/>
-            <xsd:enumeration value="Plus-Amount"/>
-            <xsd:enumeration value="Plus-Percentage"/>
-            <xsd:enumeration value="PlusOrMinusOrAmount"/>
-            <xsd:enumeration value="PlusOrMinus-Percentage"/>
-            <xsd:enumeration value="Promotion"/>
-            <xsd:enumeration value="Service"/>
-            <xsd:enumeration value="TotalOther"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="BasisCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="None"/>
-            <xsd:enumeration value="Quantity"/>
-            <xsd:enumeration value="Percent"/>
-            <xsd:enumeration value="MonetaryAmount"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="MethodOfHandlingCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="BillBack"/>
-            <xsd:enumeration value="OffInvoice"/>
-            <xsd:enumeration value="VendorCheckToCustomer"/>
-            <xsd:enumeration value="CreditCustomerAccount"/>
-            <xsd:enumeration value="ChargeToBePaidByVendor"/>
-            <xsd:enumeration value="ChargeToBePaidByCustomer"/>
-            <xsd:enumeration value="Optional"/>
-            <xsd:enumeration value="OffGrossQuantityInvoiced"/>
-            <xsd:enumeration value="AllowanceToBeIssuedByVendor"/>
-            <xsd:enumeration value="AllowanceToBeIssuedByReseller"/>
-            <xsd:enumeration value="ChargeDeniedByVendor"/>
-            <xsd:enumeration value="CancelAllowance"/>
-            <xsd:enumeration value="ProvideAmount"/>
-            <xsd:enumeration value="InformationOnly"/>
-            <xsd:enumeration value="Non-PayableTax"/>
-            <xsd:enumeration value="AccrualFund"/>
-            <xsd:enumeration value="FlatFund"/>
-            <xsd:enumeration value="CashInAdvance"/>
-            <xsd:enumeration value="CalculateAndAddtoInvoice"/>
-            <xsd:enumeration value="Collect"/>
-            <xsd:enumeration value="Prepaid"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="AllowOrChgDesc">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="RefID" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfDescription"/>
-            <xsd:element name="ServiceCoded" type="ServiceCode"/>
-            <xsd:element minOccurs="0" name="ServiceCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="AllowOrChgDesc" type="AllowOrChgDesc"/>
-    <xsd:complexType name="ListOfDescription">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Description"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfDescription" type="ListOfDescription"/>
-    <xsd:complexType name="Description">
-        <xsd:sequence>
-            <xsd:element name="DescriptionText" type="xsd:string"/>
-            <xsd:element ref="Language"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Description" type="Description"/>
-    <xsd:simpleType name="ServiceCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="About"/>
-            <xsd:enumeration value="AbsoluteMinimumCharge"/>
-            <xsd:enumeration value="AccessCharge-Federal"/>
-            <xsd:enumeration value="AccessCharges"/>
-            <xsd:enumeration value="AccessCharge-State"/>
-            <xsd:enumeration value="AccountNumberCorrectionCharge"/>
-            <xsd:enumeration value="AcidBattery"/>
-            <xsd:enumeration value="AcknowledgmentofDeliveryFeeAOD"/>
-            <xsd:enumeration value="ActivationOfCarnet"/>
-            <xsd:enumeration value="AdditionalCommercialInvoices"/>
-            <xsd:enumeration value="AdditionalCopiesOfFreightBill"/>
-            <xsd:enumeration value="AdditionalMaterial"/>
-            <xsd:enumeration value="AdditionalTariffClassifications"/>
-            <xsd:enumeration value="AddOn-Destination"/>
-            <xsd:enumeration value="AddOn-Origin"/>
-            <xsd:enumeration value="AddressCorrection"/>
-            <xsd:enumeration value="AddToMakeMarketValue"/>
-            <xsd:enumeration value="Adjustment"/>
-            <xsd:enumeration value="AdjustmentForMaximumChargesBilling"/>
-            <xsd:enumeration value="AdjustmentForMinimumAverageTimeRequirementBilling"/>
-            <xsd:enumeration value="Adjustments"/>
-            <xsd:enumeration value="Administrative"/>
-            <xsd:enumeration value="AdValorem"/>
-            <xsd:enumeration value="AdvanceChargesHandling"/>
-            <xsd:enumeration value="AdvanceDestinationAmount"/>
-            <xsd:enumeration value="AdvanceDestinationFee"/>
-            <xsd:enumeration value="AdvanceFee"/>
-            <xsd:enumeration value="AdvanceLadingCharge"/>
-            <xsd:enumeration value="AdvanceOriginAmount"/>
-            <xsd:enumeration value="AdvanceOriginFee"/>
-            <xsd:enumeration value="Advances"/>
-            <xsd:enumeration value="AdvertisingAllowance"/>
-            <xsd:enumeration value="Affidavit"/>
-            <xsd:enumeration value="AgentDisbursement-Destination"/>
-            <xsd:enumeration value="AgentDisbursement-Origin"/>
-            <xsd:enumeration value="AircraftOnGround"/>
-            <xsd:enumeration value="AirExportCertificate"/>
-            <xsd:enumeration value="AirExpressCharge"/>
-            <xsd:enumeration value="AirlineOpeningFee"/>
-            <xsd:enumeration value="AirportTerminalHandlingCharge"/>
-            <xsd:enumeration value="AirTransportationCharge"/>
-            <xsd:enumeration value="AlcoholicBeverageReportCharge"/>
-            <xsd:enumeration value="AlleghenyCountyPADeliveryCharge"/>
-            <xsd:enumeration value="Allowance"/>
-            <xsd:enumeration value="AllowanceLineItems"/>
-            <xsd:enumeration value="AllowanceMessage"/>
-            <xsd:enumeration value="AllowancePerCallOf"/>
-            <xsd:enumeration value="AllowanceAdvance"/>
-            <xsd:enumeration value="AllowanceForConsignmentMerchandise"/>
-            <xsd:enumeration value="AllowanceNon-Performance"/>
-            <xsd:enumeration value="AllowanceRequest"/>
-            <xsd:enumeration value="Alterations"/>
-            <xsd:enumeration value="AmendingExportDocumentation"/>
-            <xsd:enumeration value="AnnealHeatSteelorGlassTreatment"/>
-            <xsd:enumeration value="AnodizingCharge"/>
-            <xsd:enumeration value="Anti-dumpingDuty"/>
-            <xsd:enumeration value="AppointmentNotification"/>
-            <xsd:enumeration value="ArbitraryInAdditionToThroughRatesandCharges"/>
-            <xsd:enumeration value="ArtWork"/>
-            <xsd:enumeration value="Assembly"/>
-            <xsd:enumeration value="AssistAmount"/>
-            <xsd:enumeration value="AttachmentsToBillOfLadingCharge"/>
-            <xsd:enumeration value="BadDebt"/>
-            <xsd:enumeration value="BankingDrafts"/>
-            <xsd:enumeration value="BargeFreightAllKindsService"/>
-            <xsd:enumeration value="BaseCharge"/>
-            <xsd:enumeration value="BasicReorderAllowance"/>
-            <xsd:enumeration value="BeamingCharge"/>
-            <xsd:enumeration value="BeddingFeedingDisinfecting"/>
-            <xsd:enumeration value="BeefFee"/>
-            <xsd:enumeration value="BeyondCharge"/>
-            <xsd:enumeration value="BeyondFreightCharges"/>
-            <xsd:enumeration value="BillAndHold"/>
-            <xsd:enumeration value="BilledDemand"/>
-            <xsd:enumeration value="BillOfLadingAttendancy"/>
-            <xsd:enumeration value="BillOfLadingCharge"/>
-            <xsd:enumeration value="BlackLungTax"/>
-            <xsd:enumeration value="BlockingAndBracingCharge"/>
-            <xsd:enumeration value="BlowerCharge"/>
-            <xsd:enumeration value="BobtailCharges"/>
-            <xsd:enumeration value="BondAmount"/>
-            <xsd:enumeration value="BondCharge"/>
-            <xsd:enumeration value="BopSheet"/>
-            <xsd:enumeration value="BordeauxArbitraries"/>
-            <xsd:enumeration value="Both-Flat"/>
-            <xsd:enumeration value="BreakbulkServices"/>
-            <xsd:enumeration value="BreakBulkSurfaceCharge"/>
-            <xsd:enumeration value="BridgeToll"/>
-            <xsd:enumeration value="BrokenLot"/>
-            <xsd:enumeration value="BrokenPackageCharge"/>
-            <xsd:enumeration value="Brokerage"/>
-            <xsd:enumeration value="BrokerageOrDuty"/>
-            <xsd:enumeration value="BunkerAdjustment"/>
-            <xsd:enumeration value="BunkerAdjustment-20FootContainer"/>
-            <xsd:enumeration value="BunkerAdjustment-40FootContainer"/>
-            <xsd:enumeration value="BunkerSurcharge"/>
-            <xsd:enumeration value="BurdenOverheadOrAllowanceForIndirectCosts"/>
-            <xsd:enumeration value="Burning"/>
-            <xsd:enumeration value="BuyerHandCarry"/>
-            <xsd:enumeration value="BuyersCarAllowance"/>
-            <xsd:enumeration value="CablePressurization"/>
-            <xsd:enumeration value="CablesSendingOf"/>
-            <xsd:enumeration value="CallTag"/>
-            <xsd:enumeration value="CampArbitrary"/>
-            <xsd:enumeration value="CanadaGreatLakesAdditionals"/>
-            <xsd:enumeration value="CanadianCQCustomsClearance"/>
-            <xsd:enumeration value="CanadianCurrencyExchange"/>
-            <xsd:enumeration value="CanadianImportTerminationFee"/>
-            <xsd:enumeration value="CanadianReconsignmentFee"/>
-            <xsd:enumeration value="CanadianRemanifestFee"/>
-            <xsd:enumeration value="CancellationCharge"/>
-            <xsd:enumeration value="CancelledOrderHeavyDutyFlatcar"/>
-            <xsd:enumeration value="Capping"/>
-            <xsd:enumeration value="CaptureAdditionalData"/>
-            <xsd:enumeration value="CargoTaxes"/>
-            <xsd:enumeration value="CarLoading"/>
-            <xsd:enumeration value="CarRental"/>
-            <xsd:enumeration value="Carrier"/>
-            <xsd:enumeration value="CarrierCreditAllowance"/>
-            <xsd:enumeration value="CarrierDebitAllowance"/>
-            <xsd:enumeration value="CarrierNotificationCharge"/>
-            <xsd:enumeration value="Cartage"/>
-            <xsd:enumeration value="CartageCharge"/>
-            <xsd:enumeration value="CatalogingServices"/>
-            <xsd:enumeration value="CentralBuy"/>
-            <xsd:enumeration value="CentsOff"/>
-            <xsd:enumeration value="CertificateOfConformance"/>
-            <xsd:enumeration value="CertificateOfOrigin"/>
-            <xsd:enumeration value="CertificateOfRegistration"/>
-            <xsd:enumeration value="Certification"/>
-            <xsd:enumeration value="ChainAndBinders"/>
-            <xsd:enumeration value="ChamberOfCommerceServiceCharge"/>
-            <xsd:enumeration value="ChangeOfAirbill-ServiceFee"/>
-            <xsd:enumeration value="Charge"/>
-            <xsd:enumeration value="ChargeLineItems"/>
-            <xsd:enumeration value="ChargeMessage"/>
-            <xsd:enumeration value="ChargePerCallOf"/>
-            <xsd:enumeration value="ChargesForwardAdvanceCharge"/>
-            <xsd:enumeration value="CharterServices"/>
-            <xsd:enumeration value="ChassisTransfer"/>
-            <xsd:enumeration value="ChemicalMillingCharge"/>
-            <xsd:enumeration value="ChicagoLoopCharge"/>
-            <xsd:enumeration value="CigaretteStamping"/>
-            <xsd:enumeration value="CityDelivery"/>
-            <xsd:enumeration value="CityMaintenanceFee"/>
-            <xsd:enumeration value="CityPick-up"/>
-            <xsd:enumeration value="CityTerminalCharge"/>
-            <xsd:enumeration value="CleaningCharge"/>
-            <xsd:enumeration value="ClosingSealing"/>
-            <xsd:enumeration value="CoatingDipRustproofEDP"/>
-            <xsd:enumeration value="CODAmount"/>
-            <xsd:enumeration value="CODCharges"/>
-            <xsd:enumeration value="CollectOnDeliveryAlterationCharge"/>
-            <xsd:enumeration value="CollectOnDeliveryDeletionCharge"/>
-            <xsd:enumeration value="CollectSurcharge"/>
-            <xsd:enumeration value="Co-manufacturingDiscount"/>
-            <xsd:enumeration value="Combination"/>
-            <xsd:enumeration value="CombinationPerformanceAndNon-performance"/>
-            <xsd:enumeration value="CombineAllSameDayShipment"/>
-            <xsd:enumeration value="CommissionAmount"/>
-            <xsd:enumeration value="CommunicationsCharges"/>
-            <xsd:enumeration value="CompetitiveAllowance"/>
-            <xsd:enumeration value="CompetitiveCarAllowance"/>
-            <xsd:enumeration value="CompetitivePrice"/>
-            <xsd:enumeration value="CompressorCharge"/>
-            <xsd:enumeration value="ConcessionCredit"/>
-            <xsd:enumeration value="ConcessionMoney"/>
-            <xsd:enumeration value="CongestionSurcharge"/>
-            <xsd:enumeration value="ConnectCharge"/>
-            <xsd:enumeration value="ConservationResearchFee"/>
-            <xsd:enumeration value="ConsigneeUnload"/>
-            <xsd:enumeration value="Consolidation"/>
-            <xsd:enumeration value="ConstantSurveillanceService"/>
-            <xsd:enumeration value="ConstantSurveillanceService-Armed"/>
-            <xsd:enumeration value="ConsularizationFee"/>
-            <xsd:enumeration value="ConsularLegalizationService"/>
-            <xsd:enumeration value="ConsultingService"/>
-            <xsd:enumeration value="ConsumerServiceProviderCharge"/>
-            <xsd:enumeration value="ContainerAllowance"/>
-            <xsd:enumeration value="ContainerDeposits"/>
-            <xsd:enumeration value="ContainerDestuffing"/>
-            <xsd:enumeration value="ContainerDiscount"/>
-            <xsd:enumeration value="ContainerDiversion"/>
-            <xsd:enumeration value="ContainerLease"/>
-            <xsd:enumeration value="ContainerLeasing"/>
-            <xsd:enumeration value="ContainerLossDamage"/>
-            <xsd:enumeration value="ContainerServiceChargeUKEUR"/>
-            <xsd:enumeration value="ContainerServiceChargeUSACanada"/>
-            <xsd:enumeration value="ContainerStuffing"/>
-            <xsd:enumeration value="ContainerTrailerAllowance"/>
-            <xsd:enumeration value="ContinuousMileage"/>
-            <xsd:enumeration value="ContractAllowance"/>
-            <xsd:enumeration value="ContractEscalation"/>
-            <xsd:enumeration value="ContractServiceCharge"/>
-            <xsd:enumeration value="ControlledAtmosphere"/>
-            <xsd:enumeration value="Converting"/>
-            <xsd:enumeration value="Co-opCredit"/>
-            <xsd:enumeration value="CooperativeAdvertisingMerchandisingAllowancePerformance"/>
-            <xsd:enumeration value="Copying"/>
-            <xsd:enumeration value="CopyOfBillOfLadingCharge"/>
-            <xsd:enumeration value="CopyOfDeliveryReceiptCharge"/>
-            <xsd:enumeration value="CoreCharge"/>
-            <xsd:enumeration value="CostRecoveryAdjustment"/>
-            <xsd:enumeration value="CostRecoveryFactor"/>
-            <xsd:enumeration value="CottonFee"/>
-            <xsd:enumeration value="CountAndRecount"/>
-            <xsd:enumeration value="CountervailingDuty"/>
-            <xsd:enumeration value="CouponReimbursement"/>
-            <xsd:enumeration value="Crafting"/>
-            <xsd:enumeration value="Crating"/>
-            <xsd:enumeration value="Credit"/>
-            <xsd:enumeration value="CurrencyAdjustment"/>
-            <xsd:enumeration value="CurrencyAdjustment-20FootContainer"/>
-            <xsd:enumeration value="CurrencyAdjustment-40FootContainer"/>
-            <xsd:enumeration value="CurrencyAdjustment-BreakBulk"/>
-            <xsd:enumeration value="CurrencyAdjustmentFactor"/>
-            <xsd:enumeration value="CurrencyDiscount"/>
-            <xsd:enumeration value="CustomerAccountIdentification"/>
-            <xsd:enumeration value="CustomerEquipmentAllowance"/>
-            <xsd:enumeration value="CustomsBrokerFee"/>
-            <xsd:enumeration value="CustomsCharge"/>
-            <xsd:enumeration value="CustomsDuty"/>
-            <xsd:enumeration value="CustomsEntry"/>
-            <xsd:enumeration value="CustomsExam"/>
-            <xsd:enumeration value="CustomsFees-ContainerLevel"/>
-            <xsd:enumeration value="CustomsFees-LiftLevel"/>
-            <xsd:enumeration value="CustomsFormalities"/>
-            <xsd:enumeration value="CustomsInvoice"/>
-            <xsd:enumeration value="CustomsInvoice-AdditionalPage"/>
-            <xsd:enumeration value="CustomsPenalty"/>
-            <xsd:enumeration value="Cut"/>
-            <xsd:enumeration value="CutAndParallel"/>
-            <xsd:enumeration value="CuttingCharge"/>
-            <xsd:enumeration value="DamagedMerchandise"/>
-            <xsd:enumeration value="DamageToCarrierEquipment"/>
-            <xsd:enumeration value="DamageToCarrierVessel"/>
-            <xsd:enumeration value="DamageToGovernmentEquipment"/>
-            <xsd:enumeration value="DataDrawingCharge"/>
-            <xsd:enumeration value="DeadheadMileageCharge"/>
-            <xsd:enumeration value="DeafAndDisabledSurcharge"/>
-            <xsd:enumeration value="DeclaredValueForCarriage"/>
-            <xsd:enumeration value="DeclaredValueForCustoms"/>
-            <xsd:enumeration value="DeclaredValueForInsurance"/>
-            <xsd:enumeration value="DeductToMakeMarketValue"/>
-            <xsd:enumeration value="DefectiveAllowance"/>
-            <xsd:enumeration value="DeficitFreight"/>
-            <xsd:enumeration value="De-Installation"/>
-            <xsd:enumeration value="DelayFurnishingDestinationWeights"/>
-            <xsd:enumeration value="Delivery"/>
-            <xsd:enumeration value="DeliverySurcharge"/>
-            <xsd:enumeration value="DemandCharge"/>
-            <xsd:enumeration value="Demurrage"/>
-            <xsd:enumeration value="Demurrage-AverageAgreement"/>
-            <xsd:enumeration value="Demurrage-Special"/>
-            <xsd:enumeration value="Deposit"/>
-            <xsd:enumeration value="DepositCharges"/>
-            <xsd:enumeration value="DepositInLieuOfOrder"/>
-            <xsd:enumeration value="Deramping"/>
-            <xsd:enumeration value="DerrickCharge"/>
-            <xsd:enumeration value="DesignatedSupplierInspection"/>
-            <xsd:enumeration value="DestinationCharge"/>
-            <xsd:enumeration value="DetentionLoading"/>
-            <xsd:enumeration value="DetentionOfPowerUnits"/>
-            <xsd:enumeration value="DetentionOfTrailers"/>
-            <xsd:enumeration value="Detention-SpecialTypeFlatCar"/>
-            <xsd:enumeration value="DetentionUnloading"/>
-            <xsd:enumeration value="DeterminedFreight"/>
-            <xsd:enumeration value="DevelopmentCharge"/>
-            <xsd:enumeration value="DieServiceCharge"/>
-            <xsd:enumeration value="DirectProductHandling"/>
-            <xsd:enumeration value="Disbursement"/>
-            <xsd:enumeration value="DisconnectCharge"/>
-            <xsd:enumeration value="Discount"/>
-            <xsd:enumeration value="Discount-DropBoxConvenienceCtr"/>
-            <xsd:enumeration value="Discount-Incentive"/>
-            <xsd:enumeration value="Discount-MultipleShipment"/>
-            <xsd:enumeration value="Discount-ServiceOptionDelivery"/>
-            <xsd:enumeration value="Discount-ServiceOptionPickup"/>
-            <xsd:enumeration value="Discount-Special"/>
-            <xsd:enumeration value="DisplayAllowance"/>
-            <xsd:enumeration value="DistributionFee"/>
-            <xsd:enumeration value="DistributionService"/>
-            <xsd:enumeration value="DistributorDiscountAllowance"/>
-            <xsd:enumeration value="DiversionAndReconsignment"/>
-            <xsd:enumeration value="DiversionCharge"/>
-            <xsd:enumeration value="DiversionToAirCharge"/>
-            <xsd:enumeration value="Dockage-BoatDetention"/>
-            <xsd:enumeration value="DocumentationCharge"/>
-            <xsd:enumeration value="DocumentHandling"/>
-            <xsd:enumeration value="Door-To-Door"/>
-            <xsd:enumeration value="DowelPinCharge"/>
-            <xsd:enumeration value="DrayagAtPortOfDebarkation"/>
-            <xsd:enumeration value="Drayage"/>
-            <xsd:enumeration value="DrayageatPortOfDebarkationRateZone"/>
-            <xsd:enumeration value="DrayageAtPortOfEmbarkation"/>
-            <xsd:enumeration value="DrayageatPortOfEmbarkationRateZone"/>
-            <xsd:enumeration value="DrayageLineHaul"/>
-            <xsd:enumeration value="DriverAssistedUnloading"/>
-            <xsd:enumeration value="DriversWages"/>
-            <xsd:enumeration value="DropDock"/>
-            <xsd:enumeration value="DropYard"/>
-            <xsd:enumeration value="DrumCost"/>
-            <xsd:enumeration value="DrumDeposit"/>
-            <xsd:enumeration value="DrumUpCharge"/>
-            <xsd:enumeration value="DryerCharge"/>
-            <xsd:enumeration value="DryIce"/>
-            <xsd:enumeration value="Dunnage"/>
-            <xsd:enumeration value="DutyCharge"/>
-            <xsd:enumeration value="DutyDrawback"/>
-            <xsd:enumeration value="EarlyBuyAllowance"/>
-            <xsd:enumeration value="EarlyPaymentAllowance"/>
-            <xsd:enumeration value="EarlyShipAllowance"/>
-            <xsd:enumeration value="EmergencyPortCharge"/>
-            <xsd:enumeration value="EmergencyService"/>
-            <xsd:enumeration value="EmergencySurcharge"/>
-            <xsd:enumeration value="EmptyWeighingCharge"/>
-            <xsd:enumeration value="Enclosure"/>
-            <xsd:enumeration value="EndorsementFee"/>
-            <xsd:enumeration value="Energycharge"/>
-            <xsd:enumeration value="EnergySurchargeFuelAdjustmentFactor"/>
-            <xsd:enumeration value="EngineeringCharge"/>
-            <xsd:enumeration value="EngineeringSupplies"/>
-            <xsd:enumeration value="Engraving"/>
-            <xsd:enumeration value="EnteredValue"/>
-            <xsd:enumeration value="EnvironmentalProtectionService"/>
-            <xsd:enumeration value="EquipmentManufacturerRestorationAudit"/>
-            <xsd:enumeration value="Escalation"/>
-            <xsd:enumeration value="EscortService"/>
-            <xsd:enumeration value="Escrow"/>
-            <xsd:enumeration value="Eur1PresentationFee"/>
-            <xsd:enumeration value="EuropeanPortCharges"/>
-            <xsd:enumeration value="Exact"/>
-            <xsd:enumeration value="ExcessiveValueCharge"/>
-            <xsd:enumeration value="ExcessMileageCharge"/>
-            <xsd:enumeration value="ExcessPeriods"/>
-            <xsd:enumeration value="ExcessValueFee"/>
-            <xsd:enumeration value="ExcessWeight"/>
-            <xsd:enumeration value="ExchangeAccessCredit"/>
-            <xsd:enumeration value="ExclusiveUse"/>
-            <xsd:enumeration value="ExclusiveUseOfEquipment"/>
-            <xsd:enumeration value="ExhibitionDeliveryCharge"/>
-            <xsd:enumeration value="ExhibitionPickupCharge"/>
-            <xsd:enumeration value="ExpandedService"/>
-            <xsd:enumeration value="ExpeditedOneDayConsularService"/>
-            <xsd:enumeration value="ExpeditedServiceCharge"/>
-            <xsd:enumeration value="ExpeditedShipments"/>
-            <xsd:enumeration value="ExpeditingFee"/>
-            <xsd:enumeration value="ExpeditingPremium"/>
-            <xsd:enumeration value="ExportCustomsClearance"/>
-            <xsd:enumeration value="ExportDeclarations-Automated"/>
-            <xsd:enumeration value="ExportDeclarations-USShippers"/>
-            <xsd:enumeration value="ExportImportCharge"/>
-            <xsd:enumeration value="ExportLicenseApplication"/>
-            <xsd:enumeration value="ExportShippingCharge"/>
-            <xsd:enumeration value="ExtraCopiesandMailings"/>
-            <xsd:enumeration value="ExtraLaborHelperService"/>
-            <xsd:enumeration value="ExtraLength"/>
-            <xsd:enumeration value="ExtraLengthSurcharge"/>
-            <xsd:enumeration value="ExtraService-Counter-To-Counter"/>
-            <xsd:enumeration value="FabricationCharge"/>
-            <xsd:enumeration value="FacsimileCharges"/>
-            <xsd:enumeration value="FacsimileCharges-AdditionalPages"/>
-            <xsd:enumeration value="FailedLampPanelCharge"/>
-            <xsd:enumeration value="FaxPre-alert"/>
-            <xsd:enumeration value="FederalTransferSurcharge"/>
-            <xsd:enumeration value="Fee"/>
-            <xsd:enumeration value="FinanceCharge"/>
-            <xsd:enumeration value="FirstArticleCharge"/>
-            <xsd:enumeration value="FirstFlightOut"/>
-            <xsd:enumeration value="FlatrackSurcharge"/>
-            <xsd:enumeration value="FlatRate"/>
-            <xsd:enumeration value="FloorStockProtection"/>
-            <xsd:enumeration value="FoodAndLodging"/>
-            <xsd:enumeration value="ForeignCustomsDuty"/>
-            <xsd:enumeration value="ForeignMilitarySalesRental"/>
-            <xsd:enumeration value="ForeignMilitarySalesSpecialCharge"/>
-            <xsd:enumeration value="ForeignOfficeAdvance"/>
-            <xsd:enumeration value="ForwardCoupons"/>
-            <xsd:enumeration value="ForwardingAgentCommission"/>
-            <xsd:enumeration value="ForwardingCharge"/>
-            <xsd:enumeration value="FranchiseFee"/>
-            <xsd:enumeration value="FreeDomicileShipmentProcessing"/>
-            <xsd:enumeration value="FreeGoods"/>
-            <xsd:enumeration value="Freight"/>
-            <xsd:enumeration value="FreightBasedOnDollarMinimum"/>
-            <xsd:enumeration value="FreightChargesToBorder"/>
-            <xsd:enumeration value="FreightChargesToDestination"/>
-            <xsd:enumeration value="FreightEqualization"/>
-            <xsd:enumeration value="FreightInternational"/>
-            <xsd:enumeration value="FreightInternationalNon-USDollars"/>
-            <xsd:enumeration value="FreightInternationalUSDollars"/>
-            <xsd:enumeration value="FreightPassthrough"/>
-            <xsd:enumeration value="FreightSurcharge"/>
-            <xsd:enumeration value="FreshnessLeakerAllowance"/>
-            <xsd:enumeration value="FuelCharge"/>
-            <xsd:enumeration value="FuelSurcharge"/>
-            <xsd:enumeration value="FullService"/>
-            <xsd:enumeration value="FullTruckloadAllowance"/>
-            <xsd:enumeration value="Fumigation"/>
-            <xsd:enumeration value="GarmentDistrict"/>
-            <xsd:enumeration value="GarmentSurcharge"/>
-            <xsd:enumeration value="GasPressure"/>
-            <xsd:enumeration value="GatewayFee"/>
-            <xsd:enumeration value="Glaze"/>
-            <xsd:enumeration value="GoldFactor"/>
-            <xsd:enumeration value="GoodsAndServicesCharge"/>
-            <xsd:enumeration value="GoodsAndServicesCreditAllowance"/>
-            <xsd:enumeration value="GoodsAndServicesTaxCharge"/>
-            <xsd:enumeration value="GovernmentInspection"/>
-            <xsd:enumeration value="GovernmentWarehouseFee-Destination"/>
-            <xsd:enumeration value="GovernmentWarehouseFee-Origin"/>
-            <xsd:enumeration value="GrainDoors"/>
-            <xsd:enumeration value="GrainFlowCharge"/>
-            <xsd:enumeration value="Gratuity"/>
-            <xsd:enumeration value="Grinding"/>
-            <xsd:enumeration value="GrossReceiptsSurcharge"/>
-            <xsd:enumeration value="GroupageDiscount"/>
-            <xsd:enumeration value="GroupedItems"/>
-            <xsd:enumeration value="GuaranteedInspectionTechnicalService"/>
-            <xsd:enumeration value="GulfPortDeliveryCharge"/>
-            <xsd:enumeration value="Handling"/>
-            <xsd:enumeration value="HandlingChargesOnDistributionFreightForwardedBeyond"/>
-            <xsd:enumeration value="HandlingFreightAtPositionsNotImmediatelyAdjacentToVehicleCharge"/>
-            <xsd:enumeration value="HarborMaintenanceFee"/>
-            <xsd:enumeration value="HarborMaintenanceReport"/>
-            <xsd:enumeration value="HaulingAndHoisting"/>
-            <xsd:enumeration value="HaulingAndHoistingToBeDirectBilled"/>
-            <xsd:enumeration value="HazardousCargoCharge"/>
-            <xsd:enumeration value="HazardousCargoOnDeck"/>
-            <xsd:enumeration value="HazardousMaterialsHandlingFee-Domestic"/>
-            <xsd:enumeration value="HazardousMaterialsHandlingFee-International"/>
-            <xsd:enumeration value="HazardousStorage"/>
-            <xsd:enumeration value="HeatInTransitCharges"/>
-            <xsd:enumeration value="HeatTreatCharge"/>
-            <xsd:enumeration value="HeavyDutyFlatCarCharge"/>
-            <xsd:enumeration value="HeavyLift"/>
-            <xsd:enumeration value="HighSecurityRedIn-bondSealCharge"/>
-            <xsd:enumeration value="HighwayInterchange"/>
-            <xsd:enumeration value="HointinsAndHauling"/>
-            <xsd:enumeration value="HoldingCharge"/>
-            <xsd:enumeration value="HomeLineFreightCharge"/>
-            <xsd:enumeration value="HoneyFee"/>
-            <xsd:enumeration value="Hook-upcharge"/>
-            <xsd:enumeration value="HoseCharge"/>
-            <xsd:enumeration value="HoseChargeSpecial"/>
-            <xsd:enumeration value="HouseholdGoodsPick-upOrDelivery"/>
-            <xsd:enumeration value="IATAAirbillPreparation"/>
-            <xsd:enumeration value="IATAFee"/>
-            <xsd:enumeration value="Identification"/>
-            <xsd:enumeration value="ImportServiceFee"/>
-            <xsd:enumeration value="ImproperDocumentation"/>
-            <xsd:enumeration value="InboundFreightCharges"/>
-            <xsd:enumeration value="IncomeFreightManufacturingToShippingPoint"/>
-            <xsd:enumeration value="IncorrectBillingAccountCharge"/>
-            <xsd:enumeration value="IndustryPriceAllowance"/>
-            <xsd:enumeration value="InitialLicenseFee"/>
-            <xsd:enumeration value="InlandTransportation"/>
-            <xsd:enumeration value="InsideCableConnectors"/>
-            <xsd:enumeration value="InsideDelivery"/>
-            <xsd:enumeration value="InsidePick-up"/>
-            <xsd:enumeration value="InspectAtDestination"/>
-            <xsd:enumeration value="InspectAtOrigin"/>
-            <xsd:enumeration value="Inspection"/>
-            <xsd:enumeration value="Installation"/>
-            <xsd:enumeration value="InstallationAndTraining"/>
-            <xsd:enumeration value="InstallationWarranty"/>
-            <xsd:enumeration value="InsulatedTankCharge"/>
-            <xsd:enumeration value="Insurance"/>
-            <xsd:enumeration value="InsuranceFee"/>
-            <xsd:enumeration value="InsurancePlacementCostCharge"/>
-            <xsd:enumeration value="InsurancePremium"/>
-            <xsd:enumeration value="InsuranceProvidedByLessee"/>
-            <xsd:enumeration value="InsuranceProvidedByLessor"/>
-            <xsd:enumeration value="InsuranceSurcharge"/>
-            <xsd:enumeration value="InterdivisionProfit"/>
-            <xsd:enumeration value="InterestAmount"/>
-            <xsd:enumeration value="InterestOnRefund"/>
-            <xsd:enumeration value="InterestOnSecurityDeposit"/>
-            <xsd:enumeration value="InterimUsePermittedAtSpecialRate"/>
-            <xsd:enumeration value="InternationalAirTransportAssociationCommission"/>
-            <xsd:enumeration value="InternationalAirTransportAssociationMarkup"/>
-            <xsd:enumeration value="InternationalCourier"/>
-            <xsd:enumeration value="InternationalDoor-to-DoorHandlingFee"/>
-            <xsd:enumeration value="InterplantCharge"/>
-            <xsd:enumeration value="InterstateHighwayToll"/>
-            <xsd:enumeration value="InTransitPriceProtection"/>
-            <xsd:enumeration value="Intra-plantCharge"/>
-            <xsd:enumeration value="InvoiceAdditionalAmount"/>
-            <xsd:enumeration value="InvoiceAdjustment"/>
-            <xsd:enumeration value="InvoiceAt-CostAmount"/>
-            <xsd:enumeration value="InvoiceDeliveryTermsAmount"/>
-            <xsd:enumeration value="InvoiceNo-ChargeAmount"/>
-            <xsd:enumeration value="InvoiceServices"/>
-            <xsd:enumeration value="InvoiceWithGoods"/>
-            <xsd:enumeration value="IrishArbitraries"/>
-            <xsd:enumeration value="IslandDeliveryCharge"/>
-            <xsd:enumeration value="IslandPick-UpCharge"/>
-            <xsd:enumeration value="ItalianReleaseCharge"/>
-            <xsd:enumeration value="ItemPercentage"/>
-            <xsd:enumeration value="Item-Unit"/>
-            <xsd:enumeration value="KeepFromFreezingPercentDifferential"/>
-            <xsd:enumeration value="Koshering"/>
-            <xsd:enumeration value="LabelAllowance"/>
-            <xsd:enumeration value="Labeling"/>
-            <xsd:enumeration value="LaborCharges"/>
-            <xsd:enumeration value="LaborCostOfRemoval"/>
-            <xsd:enumeration value="LaborModify"/>
-            <xsd:enumeration value="LaborNoTroubleFound"/>
-            <xsd:enumeration value="LaborOvertime"/>
-            <xsd:enumeration value="LaborPremiumOvertime"/>
-            <xsd:enumeration value="LaborRepairAndReturnOrders"/>
-            <xsd:enumeration value="LaborService"/>
-            <xsd:enumeration value="LaborStraight-time"/>
-            <xsd:enumeration value="LaborTestAndCalibrate"/>
-            <xsd:enumeration value="LadingAdjustmentCharge"/>
-            <xsd:enumeration value="LandCurrencyAdjustmentFactor-20FootContainer"/>
-            <xsd:enumeration value="LandCurrencyAdjustmentFactor-40FootContainer"/>
-            <xsd:enumeration value="Lashing"/>
-            <xsd:enumeration value="LateOrderCharge"/>
-            <xsd:enumeration value="LatePaymentCharge"/>
-            <xsd:enumeration value="LayoutDesign"/>
-            <xsd:enumeration value="LayoverCharges"/>
-            <xsd:enumeration value="LeadFactor"/>
-            <xsd:enumeration value="LeakingUndergroundStorageTax"/>
-            <xsd:enumeration value="LeaseShortfallConsideration"/>
-            <xsd:enumeration value="LessThanContainer"/>
-            <xsd:enumeration value="LessThanTruckloadCharge"/>
-            <xsd:enumeration value="LetterOfCreditProcessing"/>
-            <xsd:enumeration value="LicenseAndTitle"/>
-            <xsd:enumeration value="LifelineSurcharge"/>
-            <xsd:enumeration value="LiftGateTruckOrForkliftServiceAtPick-upDelivery"/>
-            <xsd:enumeration value="LimeFee"/>
-            <xsd:enumeration value="LineItemAllowance"/>
-            <xsd:enumeration value="LineItemCharge"/>
-            <xsd:enumeration value="LinehaulFromPortOfDebarkation"/>
-            <xsd:enumeration value="LinehaulPercentDifferential"/>
-            <xsd:enumeration value="LinehaulToPortOfEmbarkation"/>
-            <xsd:enumeration value="LinerTermsAtPortOfDebarkation"/>
-            <xsd:enumeration value="LinerTermsAtPortOfEmbarkation"/>
-            <xsd:enumeration value="LiquidatedDamages"/>
-            <xsd:enumeration value="LiquidationAnti-DumpingDuty"/>
-            <xsd:enumeration value="LiquidationCountervailingDuty"/>
-            <xsd:enumeration value="LiquidationTaxAmount"/>
-            <xsd:enumeration value="LiquidationTotalDueUSCustomsService"/>
-            <xsd:enumeration value="LiquidationTotalFees"/>
-            <xsd:enumeration value="Loading"/>
-            <xsd:enumeration value="LoadingLaborCharges"/>
-            <xsd:enumeration value="LoadWeighingCharge"/>
-            <xsd:enumeration value="LoanFee"/>
-            <xsd:enumeration value="LocalDeliveryDrayage"/>
-            <xsd:enumeration value="LocomotiveDelayedInSwitchingService"/>
-            <xsd:enumeration value="LocomotiveUnderOwnPower"/>
-            <xsd:enumeration value="LotCharge"/>
-            <xsd:enumeration value="LotteryChargeBack"/>
-            <xsd:enumeration value="LotteryCrossRedeemed"/>
-            <xsd:enumeration value="Low-TierLotteryCashingBonus"/>
-            <xsd:enumeration value="Low-TierLotteryWinners"/>
-            <xsd:enumeration value="LumpSum"/>
-            <xsd:enumeration value="MachiningCharge"/>
-            <xsd:enumeration value="MailFee"/>
-            <xsd:enumeration value="Mailing-PostageCost"/>
-            <xsd:enumeration value="Mailing-ServiceFee"/>
-            <xsd:enumeration value="MailInvoice"/>
-            <xsd:enumeration value="MailInvoiceToEachLocation"/>
-            <xsd:enumeration value="ManifestCharge"/>
-            <xsd:enumeration value="Manufacturing"/>
-            <xsd:enumeration value="MarketDevelopmentFunds"/>
-            <xsd:enumeration value="MarkingOrTaggingCharge"/>
-            <xsd:enumeration value="MarriageRule"/>
-            <xsd:enumeration value="Maximum"/>
-            <xsd:enumeration value="MemoReturnableContainer"/>
-            <xsd:enumeration value="MerchandiseProcessingFee"/>
-            <xsd:enumeration value="MessageCharge"/>
-            <xsd:enumeration value="MessageRateAdjustment"/>
-            <xsd:enumeration value="MessengerService"/>
-            <xsd:enumeration value="MetalsSurcharge"/>
-            <xsd:enumeration value="MeterCharge"/>
-            <xsd:enumeration value="Mid-TierLotteryCashingBonus"/>
-            <xsd:enumeration value="Mid-TierLotteryWinners"/>
-            <xsd:enumeration value="MileageFeeForRepairAndReturn"/>
-            <xsd:enumeration value="MileageOrTravel"/>
-            <xsd:enumeration value="Minus-Amount"/>
-            <xsd:enumeration value="Minus-Percentage"/>
-            <xsd:enumeration value="ModifiedAtmosphere"/>
-            <xsd:enumeration value="MonthlyRental"/>
-            <xsd:enumeration value="MountDemount"/>
-            <xsd:enumeration value="Mounting"/>
-            <xsd:enumeration value="MunicipalSurcharge"/>
-            <xsd:enumeration value="MushroomFee"/>
-            <xsd:enumeration value="NewDiscount"/>
-            <xsd:enumeration value="NewDistributionAllowance"/>
-            <xsd:enumeration value="NewItemAllowance"/>
-            <xsd:enumeration value="NewStoreAllowance"/>
-            <xsd:enumeration value="NewStoreDiscount"/>
-            <xsd:enumeration value="NewWarehouse"/>
-            <xsd:enumeration value="NewWarehouseDiscount"/>
-            <xsd:enumeration value="NewYorkDeliveryCharge"/>
-            <xsd:enumeration value="NewYorkPick-upCharge"/>
-            <xsd:enumeration value="NHDWharfage"/>
-            <xsd:enumeration value="NoAllowance"/>
-            <xsd:enumeration value="NoAllowanceOrCharge"/>
-            <xsd:enumeration value="NoCharge"/>
-            <xsd:enumeration value="Non-DutiableCharges"/>
-            <xsd:enumeration value="NonGeneratedFreight"/>
-            <xsd:enumeration value="Non-returnableContainers"/>
-            <xsd:enumeration value="NoReturnCreditAllowance"/>
-            <xsd:enumeration value="NormalPumpCharge"/>
-            <xsd:enumeration value="NotarizedAffidavit"/>
-            <xsd:enumeration value="NotifyConsignee"/>
-            <xsd:enumeration value="NotifyConsigneeBeforeDelivery"/>
-            <xsd:enumeration value="NozzleCharge"/>
-            <xsd:enumeration value="OceanCharges-Hazardous"/>
-            <xsd:enumeration value="OceanFreight"/>
-            <xsd:enumeration value="OfficeSupplies"/>
-            <xsd:enumeration value="Offshore-AlaskaHawaii"/>
-            <xsd:enumeration value="OnCarriage"/>
-            <xsd:enumeration value="OnDeckBreakBulkDifferential"/>
-            <xsd:enumeration value="One-DayService"/>
-            <xsd:enumeration value="OneTimeEngineeringCharge"/>
-            <xsd:enumeration value="One-TimeLicenseFee"/>
-            <xsd:enumeration value="One-Time-OnlyCharge"/>
-            <xsd:enumeration value="OnetimeTooling"/>
-            <xsd:enumeration value="OnHandService"/>
-            <xsd:enumeration value="OperatorCredit"/>
-            <xsd:enumeration value="OptionalCharge"/>
-            <xsd:enumeration value="OptionalSoftwareSupportForOperationalSupportSystems"/>
-            <xsd:enumeration value="OptionalSoftwareSupportForSwitchingSystems"/>
-            <xsd:enumeration value="OptionChargeColorFabricOfficeFurniture"/>
-            <xsd:enumeration value="Order-Flat"/>
-            <xsd:enumeration value="OrderNotifyCharge"/>
-            <xsd:enumeration value="OtherAccessorialServiceCharge"/>
-            <xsd:enumeration value="OtherAdvances"/>
-            <xsd:enumeration value="OtherExportCharges"/>
-            <xsd:enumeration value="OtherGovernmentAgencyDeclaration"/>
-            <xsd:enumeration value="OtherGovernmentAgencyExam"/>
-            <xsd:enumeration value="OtherImportCharge"/>
-            <xsd:enumeration value="OtherMiscellaneousEarningOrAdditive"/>
-            <xsd:enumeration value="OtherSeeRelatedDescription"/>
-            <xsd:enumeration value="OutOfRouteMiles"/>
-            <xsd:enumeration value="OutOfZonePick-upOrDelivery"/>
-            <xsd:enumeration value="OutsideCableConnectors"/>
-            <xsd:enumeration value="OverDimension"/>
-            <xsd:enumeration value="OverHeightContainer"/>
-            <xsd:enumeration value="OverrunCharge"/>
-            <xsd:enumeration value="OversizedPremium"/>
-            <xsd:enumeration value="OvertimeLoading"/>
-            <xsd:enumeration value="OverWidthContainer"/>
-            <xsd:enumeration value="Packaging"/>
-            <xsd:enumeration value="PackagingService"/>
-            <xsd:enumeration value="PackingCratingAndHandlingCharge"/>
-            <xsd:enumeration value="PackingCratingHandlingAndTransportationCharge"/>
-            <xsd:enumeration value="PackInvoiceWithShipment"/>
-            <xsd:enumeration value="PaintingPrimerOrFinish"/>
-            <xsd:enumeration value="Pallet"/>
-            <xsd:enumeration value="PalletExchangeCharge"/>
-            <xsd:enumeration value="Palletizing"/>
-            <xsd:enumeration value="Paralleling"/>
-            <xsd:enumeration value="ParishCountySalesTaxOnly"/>
-            <xsd:enumeration value="PassingShippersExportEntry"/>
-            <xsd:enumeration value="Payment"/>
-            <xsd:enumeration value="PayrollAdditivesOvertimeLabor"/>
-            <xsd:enumeration value="PayrollAdditivesStraightTimeLabor"/>
-            <xsd:enumeration value="PayrollTaxes"/>
-            <xsd:enumeration value="PecanFee"/>
-            <xsd:enumeration value="PenaltyCharge"/>
-            <xsd:enumeration value="PercentDifferential-LessThanContainer"/>
-            <xsd:enumeration value="PercentOfProduct"/>
-            <xsd:enumeration value="PercentOfShipmentValueThatIsReturnable"/>
-            <xsd:enumeration value="PercentOfShippedQuantityThatIsReturnable"/>
-            <xsd:enumeration value="PerformanceAllowance"/>
-            <xsd:enumeration value="PerformanceAward"/>
-            <xsd:enumeration value="PerItemCharge"/>
-            <xsd:enumeration value="PermitCharge"/>
-            <xsd:enumeration value="PermitsBondsEscortAttendant"/>
-            <xsd:enumeration value="PerOrderCharge"/>
-            <xsd:enumeration value="PerPoundCharge"/>
-            <xsd:enumeration value="PersonalPropertyMember"/>
-            <xsd:enumeration value="PersonalPropertySpouse"/>
-            <xsd:enumeration value="PhosphatizingSteelTreatment"/>
-            <xsd:enumeration value="PickleAndOil"/>
-            <xsd:enumeration value="PickUp"/>
-            <xsd:enumeration value="Pick-upAndDelivery"/>
-            <xsd:enumeration value="Pickup-OutOfArea"/>
-            <xsd:enumeration value="PickupSurcharge"/>
-            <xsd:enumeration value="PierChargesOtherThanWharfage"/>
-            <xsd:enumeration value="PierCharges-Wharfage"/>
-            <xsd:enumeration value="PierPick-upAndOrDelivery"/>
-            <xsd:enumeration value="PierUnloading"/>
-            <xsd:enumeration value="PilotInspection"/>
-            <xsd:enumeration value="PlacementAndOrRemovalCharge"/>
-            <xsd:enumeration value="Plating"/>
-            <xsd:enumeration value="Plus-Amount"/>
-            <xsd:enumeration value="Plus-Percentage"/>
-            <xsd:enumeration value="PlusOrMinus-Amount"/>
-            <xsd:enumeration value="PlusOrMinus-Percentage"/>
-            <xsd:enumeration value="PoleLashingEquipmentSurcharge"/>
-            <xsd:enumeration value="PoleWood-ServiceCharge"/>
-            <xsd:enumeration value="PorkFee"/>
-            <xsd:enumeration value="PortChanges"/>
-            <xsd:enumeration value="PortHandlingAndUnloading"/>
-            <xsd:enumeration value="PositioningAtOrigin"/>
-            <xsd:enumeration value="Postage"/>
-            <xsd:enumeration value="PostDamagedHandling"/>
-            <xsd:enumeration value="PotatoFee"/>
-            <xsd:enumeration value="PowerFactorAdjustment"/>
-            <xsd:enumeration value="Pre-carriage"/>
-            <xsd:enumeration value="Pre-carriageExcess"/>
-            <xsd:enumeration value="PreciousMetalContent"/>
-            <xsd:enumeration value="PreloadingCharge"/>
-            <xsd:enumeration value="PrelodgeCharge"/>
-            <xsd:enumeration value="PremiseUse"/>
-            <xsd:enumeration value="PremiumCharge"/>
-            <xsd:enumeration value="PremiumTransportation"/>
-            <xsd:enumeration value="PrepaidUsageAllowance"/>
-            <xsd:enumeration value="Preparation"/>
-            <xsd:enumeration value="PreparationAndDelivery"/>
-            <xsd:enumeration value="PreparationOfAirWaybill-Origin"/>
-            <xsd:enumeration value="PreparationOfCanadianCustomsInvoice"/>
-            <xsd:enumeration value="PreparationOfCommercialInvoice"/>
-            <xsd:enumeration value="PreparationOfExportEntry"/>
-            <xsd:enumeration value="PreparationOfInsuranceCertificate"/>
-            <xsd:enumeration value="PreparationOfUSExportDocumentation"/>
-            <xsd:enumeration value="Pre-PositionedInventoryService"/>
-            <xsd:enumeration value="PreviousBilling"/>
-            <xsd:enumeration value="PriceAdjustmentPercent"/>
-            <xsd:enumeration value="PriceAndMarketingAllowance"/>
-            <xsd:enumeration value="PriceDeviation"/>
-            <xsd:enumeration value="PriorBalance"/>
-            <xsd:enumeration value="PriorBillingAmount"/>
-            <xsd:enumeration value="PriorDeliveryOfBillCharge"/>
-            <xsd:enumeration value="PriorityService"/>
-            <xsd:enumeration value="PriorMonthCredit"/>
-            <xsd:enumeration value="PrivateOwnedVehicleProcessing"/>
-            <xsd:enumeration value="Processing"/>
-            <xsd:enumeration value="ProcessingCharge"/>
-            <xsd:enumeration value="ProcessInTransitPrivilege"/>
-            <xsd:enumeration value="ProcurementCharge"/>
-            <xsd:enumeration value="ProfessionalFees"/>
-            <xsd:enumeration value="ProformaInvoice"/>
-            <xsd:enumeration value="ProgressPaymentRequirement"/>
-            <xsd:enumeration value="PromotionalAllowance"/>
-            <xsd:enumeration value="PromotionalDiscount"/>
-            <xsd:enumeration value="ProofComposition"/>
-            <xsd:enumeration value="ProofOfDelivery"/>
-            <xsd:enumeration value="ProtectiveServiceCharge"/>
-            <xsd:enumeration value="ProtectiveService-Cold"/>
-            <xsd:enumeration value="ProtectiveService-Heat"/>
-            <xsd:enumeration value="ProvideHouseholdIdentifier"/>
-            <xsd:enumeration value="ProvideNameAndAddress"/>
-            <xsd:enumeration value="PullingEyes"/>
-            <xsd:enumeration value="PumpAirCharge"/>
-            <xsd:enumeration value="PumpCharge"/>
-            <xsd:enumeration value="PurchaseOption"/>
-            <xsd:enumeration value="QuantityDiscount"/>
-            <xsd:enumeration value="QuantitySurcharge"/>
-            <xsd:enumeration value="RailheadHandling"/>
-            <xsd:enumeration value="Ramping"/>
-            <xsd:enumeration value="RateCode"/>
-            <xsd:enumeration value="RateReductionBond"/>
-            <xsd:enumeration value="Rebate"/>
-            <xsd:enumeration value="Re-BillCharge"/>
-            <xsd:enumeration value="RebilledDrayage-Destination"/>
-            <xsd:enumeration value="RebilledDrayage-Origin"/>
-            <xsd:enumeration value="Receiving"/>
-            <xsd:enumeration value="RecipientAddressCorrection"/>
-            <xsd:enumeration value="ReclamationCenterHandlingChute"/>
-            <xsd:enumeration value="ReclamationFederal"/>
-            <xsd:enumeration value="ReclamationSharedResponsibility"/>
-            <xsd:enumeration value="ReclamationState"/>
-            <xsd:enumeration value="Reconciliation"/>
-            <xsd:enumeration value="Reconnectcharge"/>
-            <xsd:enumeration value="ReconsignConsigneeCharge"/>
-            <xsd:enumeration value="ReconsignDeliveryCharge"/>
-            <xsd:enumeration value="ReconsignmentCharge"/>
-            <xsd:enumeration value="RecooperingAtOwnersOrShippersExpense"/>
-            <xsd:enumeration value="RecordFiling"/>
-            <xsd:enumeration value="Recovery"/>
-            <xsd:enumeration value="RecoveryFee"/>
-            <xsd:enumeration value="RecratingRecoopering-Destination"/>
-            <xsd:enumeration value="RecratingRecoopering-Origin"/>
-            <xsd:enumeration value="RecurringHardwareMaintenanceCharge"/>
-            <xsd:enumeration value="RecurringLicenseFee"/>
-            <xsd:enumeration value="RecurringSoftwareMaintenanceCharge"/>
-            <xsd:enumeration value="Redelivery"/>
-            <xsd:enumeration value="RedistributionAllowance"/>
-            <xsd:enumeration value="ReductionPrepalletizedCargo"/>
-            <xsd:enumeration value="ReeferCargoPercentDifferential"/>
-            <xsd:enumeration value="ReeferMaintenance"/>
-            <xsd:enumeration value="Reel"/>
-            <xsd:enumeration value="ReelCable"/>
-            <xsd:enumeration value="ReelDeposit"/>
-            <xsd:enumeration value="Refrigeration"/>
-            <xsd:enumeration value="RefrigerationMechanicalDetention"/>
-            <xsd:enumeration value="Refund"/>
-            <xsd:enumeration value="RefurbishingCharge"/>
-            <xsd:enumeration value="Regain"/>
-            <xsd:enumeration value="RegistrationOfExportForReentry"/>
-            <xsd:enumeration value="RegistrationOfExportShipments"/>
-            <xsd:enumeration value="RegulatoryFee"/>
-            <xsd:enumeration value="RegulatoryRequiredRefund"/>
-            <xsd:enumeration value="ReliabilityCharge"/>
-            <xsd:enumeration value="RelinquishmentCharge"/>
-            <xsd:enumeration value="ReliquidationAnti-DumpingDuty"/>
-            <xsd:enumeration value="ReliquidationCountervailingDuty"/>
-            <xsd:enumeration value="ReliquidationTaxAmount"/>
-            <xsd:enumeration value="ReliquidationTotalDueUSCustomsService"/>
-            <xsd:enumeration value="ReliquidationTotalFees"/>
-            <xsd:enumeration value="RentalCharge"/>
-            <xsd:enumeration value="RentalDeduction"/>
-            <xsd:enumeration value="RentsAndLeases"/>
-            <xsd:enumeration value="RepackCharge"/>
-            <xsd:enumeration value="Repair"/>
-            <xsd:enumeration value="RepairAtBuyersExpenseCharge"/>
-            <xsd:enumeration value="RepairAtCustomerExpenseCharge"/>
-            <xsd:enumeration value="RepairAtGovernmentExpenseCharge"/>
-            <xsd:enumeration value="Repickup"/>
-            <xsd:enumeration value="RequestViaCanada"/>
-            <xsd:enumeration value="ResearchDevelopmentFee"/>
-            <xsd:enumeration value="ResellersDiscount"/>
-            <xsd:enumeration value="ResidentialDelivery"/>
-            <xsd:enumeration value="ResidentialPick-up"/>
-            <xsd:enumeration value="Respotting"/>
-            <xsd:enumeration value="RestockingCharge"/>
-            <xsd:enumeration value="RestrictedArticleFee"/>
-            <xsd:enumeration value="Retainer"/>
-            <xsd:enumeration value="ReturnableContainer"/>
-            <xsd:enumeration value="ReturnCargoCharge"/>
-            <xsd:enumeration value="ReturnedLoad"/>
-            <xsd:enumeration value="Rework"/>
-            <xsd:enumeration value="RidingAttendantCharge"/>
-            <xsd:enumeration value="RockyMountainBureau583Item1100ArbitraryCharge"/>
-            <xsd:enumeration value="RollOutAdjustment"/>
-            <xsd:enumeration value="RollRebate"/>
-            <xsd:enumeration value="Royalties"/>
-            <xsd:enumeration value="Salvage"/>
-            <xsd:enumeration value="Same-DayService"/>
-            <xsd:enumeration value="SaturdayDelivery"/>
-            <xsd:enumeration value="SaturdayPick-Up"/>
-            <xsd:enumeration value="SaturdayPick-upOrDeliveryCharge"/>
-            <xsd:enumeration value="ScaleCharge"/>
-            <xsd:enumeration value="ScaleChargeUnloading"/>
-            <xsd:enumeration value="ScrapAllowance"/>
-            <xsd:enumeration value="SecuritySignatureService"/>
-            <xsd:enumeration value="SegregatingSorting"/>
-            <xsd:enumeration value="SelectCharge"/>
-            <xsd:enumeration value="SelfUnloader"/>
-            <xsd:enumeration value="SellerHandCarry"/>
-            <xsd:enumeration value="ServiceAssistanceProgramSurcharge"/>
-            <xsd:enumeration value="ServiceCharge"/>
-            <xsd:enumeration value="ServiceChargeWithCashDiscount"/>
-            <xsd:enumeration value="ServiceUpgrade"/>
-            <xsd:enumeration value="Set-up"/>
-            <xsd:enumeration value="Shearing"/>
-            <xsd:enumeration value="SheepFee"/>
-            <xsd:enumeration value="ShipperLoad"/>
-            <xsd:enumeration value="ShipperLoadAndCount"/>
-            <xsd:enumeration value="ShipperLoadCarrierCount"/>
-            <xsd:enumeration value="ShipperLoadConsigneeUnload"/>
-            <xsd:enumeration value="Shipping"/>
-            <xsd:enumeration value="ShippingAndHandling"/>
-            <xsd:enumeration value="ShipsidePickup"/>
-            <xsd:enumeration value="ShipToStockQualityAudit"/>
-            <xsd:enumeration value="Shotblasting"/>
-            <xsd:enumeration value="ShrinkageAllowance"/>
-            <xsd:enumeration value="ShrinkAllowance"/>
-            <xsd:enumeration value="Shrink-WrapCharge"/>
-            <xsd:enumeration value="SingleFactorOriginationDestination"/>
-            <xsd:enumeration value="SingleFactorOriginationPortOfDebarkation"/>
-            <xsd:enumeration value="SingleFactorPortOfEmbarkationDestination"/>
-            <xsd:enumeration value="SingleInvoiceAllowance"/>
-            <xsd:enumeration value="SinglePick-up"/>
-            <xsd:enumeration value="SingleShipmentFee"/>
-            <xsd:enumeration value="Sleeving"/>
-            <xsd:enumeration value="SlipSheetRail"/>
-            <xsd:enumeration value="SlipSheetTruck"/>
-            <xsd:enumeration value="SlipSheetUnloadingAllowance"/>
-            <xsd:enumeration value="SlottingAllowance"/>
-            <xsd:enumeration value="SmallOrderCharge"/>
-            <xsd:enumeration value="SoftwareSupportService"/>
-            <xsd:enumeration value="SourceInspection"/>
-            <xsd:enumeration value="SpecialAllowance"/>
-            <xsd:enumeration value="SpecialBuy"/>
-            <xsd:enumeration value="SpecialCircusTrains"/>
-            <xsd:enumeration value="SpecialCredit"/>
-            <xsd:enumeration value="SpecialDelivery"/>
-            <xsd:enumeration value="SpecialDetentionCharge"/>
-            <xsd:enumeration value="SpecialEquipmentCharge"/>
-            <xsd:enumeration value="SpecialFinishCharge"/>
-            <xsd:enumeration value="SpecialFreightSupplements"/>
-            <xsd:enumeration value="SpecialHandling"/>
-            <xsd:enumeration value="SpecialMileageMovements"/>
-            <xsd:enumeration value="SpecialPackaging"/>
-            <xsd:enumeration value="SpecialPermits"/>
-            <xsd:enumeration value="SpecialPickup"/>
-            <xsd:enumeration value="SpecialPumpCharge"/>
-            <xsd:enumeration value="SpecialSealCharge"/>
-            <xsd:enumeration value="SpecialServices"/>
-            <xsd:enumeration value="SpecialTestEquipmentCharge"/>
-            <xsd:enumeration value="SpecialToolingCharge"/>
-            <xsd:enumeration value="SpecialToolingreworkcharge"/>
-            <xsd:enumeration value="SpecialTrainMovement"/>
-            <xsd:enumeration value="SpecialUse"/>
-            <xsd:enumeration value="SpecialVehicleRent"/>
-            <xsd:enumeration value="SpecificationReview"/>
-            <xsd:enumeration value="SpecificDuty"/>
-            <xsd:enumeration value="SplitDelivery"/>
-            <xsd:enumeration value="SplitPick-up"/>
-            <xsd:enumeration value="SplitPick-UpAtPierCharge"/>
-            <xsd:enumeration value="SpoolCharge"/>
-            <xsd:enumeration value="SpottingOfTrailer"/>
-            <xsd:enumeration value="SpreaderCharge"/>
-            <xsd:enumeration value="StampFee"/>
-            <xsd:enumeration value="Stamping"/>
-            <xsd:enumeration value="StandbyCharge"/>
-            <xsd:enumeration value="StateMetropolitanTransitAuthoritySurcharge"/>
-            <xsd:enumeration value="StateMotorFuel"/>
-            <xsd:enumeration value="StateSalesCharge"/>
-            <xsd:enumeration value="StateSurcharge"/>
-            <xsd:enumeration value="SteamingCharge"/>
-            <xsd:enumeration value="StencilingCharge"/>
-            <xsd:enumeration value="Stopcharge"/>
-            <xsd:enumeration value="Stop-offAtDestination"/>
-            <xsd:enumeration value="Stop-offAtOrigination"/>
-            <xsd:enumeration value="Stop-offAtPierCharge"/>
-            <xsd:enumeration value="Stop-offCharge"/>
-            <xsd:enumeration value="StoppingInTransit"/>
-            <xsd:enumeration value="Storage"/>
-            <xsd:enumeration value="StorageInTransit"/>
-            <xsd:enumeration value="StraighteningCharge"/>
-            <xsd:enumeration value="Strapping"/>
-            <xsd:enumeration value="StreetLampsCharge"/>
-            <xsd:enumeration value="StrippingSortingAndConsolidation"/>
-            <xsd:enumeration value="Stuffing"/>
-            <xsd:enumeration value="StuffingCharge"/>
-            <xsd:enumeration value="SubjectToCooperativeAdvertisingAllowance"/>
-            <xsd:enumeration value="SubjectToTaxOnResale"/>
-            <xsd:enumeration value="SufferanceWarehouseChargeExportOrImport"/>
-            <xsd:enumeration value="SugarFee"/>
-            <xsd:enumeration value="SumOfAddsAndDeductsToMakeMarketValue"/>
-            <xsd:enumeration value="SundayOrHolidayPick-upOrDelivery"/>
-            <xsd:enumeration value="SuperBagCharge"/>
-            <xsd:enumeration value="SupervisorCharge"/>
-            <xsd:enumeration value="SupplementalDuty"/>
-            <xsd:enumeration value="SupplementalItems"/>
-            <xsd:enumeration value="Surcharge"/>
-            <xsd:enumeration value="SuretyBond"/>
-            <xsd:enumeration value="Swell"/>
-            <xsd:enumeration value="SwitchCharge"/>
-            <xsd:enumeration value="SwitchingCharge"/>
-            <xsd:enumeration value="TankCarAllowance"/>
-            <xsd:enumeration value="TankRental"/>
-            <xsd:enumeration value="Tarping"/>
-            <xsd:enumeration value="Tax"/>
-            <xsd:enumeration value="Tax-AirportTaxDestination"/>
-            <xsd:enumeration value="Tax-AirportTaxOrigin"/>
-            <xsd:enumeration value="Tax-BeverageTax"/>
-            <xsd:enumeration value="Tax-CitySalesTaxOnly"/>
-            <xsd:enumeration value="TaxCredit"/>
-            <xsd:enumeration value="Tax-ExciseTax-Destination"/>
-            <xsd:enumeration value="Tax-ExciseTax-Origin"/>
-            <xsd:enumeration value="Tax-FederalExciseTax"/>
-            <xsd:enumeration value="Tax-FederalExciseTaxOnTires"/>
-            <xsd:enumeration value="Tax-Governmental"/>
-            <xsd:enumeration value="Tax-HandlingChargeTax"/>
-            <xsd:enumeration value="TaxLiability-Amortized"/>
-            <xsd:enumeration value="TaxLiability-OneTime"/>
-            <xsd:enumeration value="Tax-LocalSalesTax"/>
-            <xsd:enumeration value="Tax-LocalTax"/>
-            <xsd:enumeration value="Tax-MetropolitanTransitTax"/>
-            <xsd:enumeration value="TaxOnMiscellaneousCharges"/>
-            <xsd:enumeration value="TaxOnTransportation"/>
-            <xsd:enumeration value="Tax-RegulatoryTax"/>
-            <xsd:enumeration value="Tax-SalesandUse"/>
-            <xsd:enumeration value="Tax-SalesTaxStateAndLocal"/>
-            <xsd:enumeration value="Tax-StateHazardousSubstance"/>
-            <xsd:enumeration value="Tax-StateTax"/>
-            <xsd:enumeration value="Tax-SuperFundExciseTax"/>
-            <xsd:enumeration value="Tax-UseTax"/>
-            <xsd:enumeration value="Tax-ValueAddedTax"/>
-            <xsd:enumeration value="TeaFee"/>
-            <xsd:enumeration value="TechnologyExchange"/>
-            <xsd:enumeration value="TelegramChargeback"/>
-            <xsd:enumeration value="TelephoneCharge"/>
-            <xsd:enumeration value="Telephone-Destination"/>
-            <xsd:enumeration value="Telephone-Origin"/>
-            <xsd:enumeration value="TemperatureProtection"/>
-            <xsd:enumeration value="TemporaryAllowance"/>
-            <xsd:enumeration value="TemporaryVoluntaryAllowance"/>
-            <xsd:enumeration value="TenderedAsTruckload"/>
-            <xsd:enumeration value="TerminalCharge"/>
-            <xsd:enumeration value="TerminalDifferential"/>
-            <xsd:enumeration value="TerminalHandlingCharges"/>
-            <xsd:enumeration value="TerminalServiceFee"/>
-            <xsd:enumeration value="TermsAllowance"/>
-            <xsd:enumeration value="Testing"/>
-            <xsd:enumeration value="TestingServicesCharge"/>
-            <xsd:enumeration value="TestQualificationCharge"/>
-            <xsd:enumeration value="ThirdPartyAllowance"/>
-            <xsd:enumeration value="ThirdPartyPallets"/>
-            <xsd:enumeration value="ThroughputAllowance"/>
-            <xsd:enumeration value="ThroughputContainerCharge"/>
-            <xsd:enumeration value="ThruwayCharge"/>
-            <xsd:enumeration value="TicketingService"/>
-            <xsd:enumeration value="TobaccoProductsReportCharge"/>
-            <xsd:enumeration value="TOFCServiceCharge"/>
-            <xsd:enumeration value="ToolCharge"/>
-            <xsd:enumeration value="Tooling"/>
-            <xsd:enumeration value="ToolingReworkCharge"/>
-            <xsd:enumeration value="ToolsForPrinting"/>
-            <xsd:enumeration value="TotalOther"/>
-            <xsd:enumeration value="TotalAssessorialCharges"/>
-            <xsd:enumeration value="TotalDueUSCustomsService"/>
-            <xsd:enumeration value="TotalFees"/>
-            <xsd:enumeration value="TotalInvoiceAmount"/>
-            <xsd:enumeration value="TotalInvoiceAmountNon-USDollars"/>
-            <xsd:enumeration value="TotalInvoiceAmountUSDollars"/>
-            <xsd:enumeration value="TotalMaterialInvoiceAmount"/>
-            <xsd:enumeration value="TracingInboundViaOtherCarriers"/>
-            <xsd:enumeration value="TracingServiceFee"/>
-            <xsd:enumeration value="TrackStorage"/>
-            <xsd:enumeration value="TradeDiscount"/>
-            <xsd:enumeration value="TradeIn"/>
-            <xsd:enumeration value="TrailerRentalCharge"/>
-            <xsd:enumeration value="TransferCharge"/>
-            <xsd:enumeration value="TransferOfLadingCharge"/>
-            <xsd:enumeration value="TransferredCharges"/>
-            <xsd:enumeration value="Transit"/>
-            <xsd:enumeration value="TransmissionCharge"/>
-            <xsd:enumeration value="TransportationAndSetup"/>
-            <xsd:enumeration value="TransportationChargeMinimumRate"/>
-            <xsd:enumeration value="TransportationDirectBilling"/>
-            <xsd:enumeration value="TransportationThirdPartyBilling"/>
-            <xsd:enumeration value="TransportationVendorProvided"/>
-            <xsd:enumeration value="TrimmingCharge"/>
-            <xsd:enumeration value="TruckDetention"/>
-            <xsd:enumeration value="TruckloadDiscount"/>
-            <xsd:enumeration value="TurningCharge"/>
-            <xsd:enumeration value="Two-DayService"/>
-            <xsd:enumeration value="TwoDoorPickUp"/>
-            <xsd:enumeration value="UnabsorbedSwitching"/>
-            <xsd:enumeration value="Unitized"/>
-            <xsd:enumeration value="Unloading"/>
-            <xsd:enumeration value="UnloadingLaborCharges"/>
-            <xsd:enumeration value="UnloadingReloadingCharge"/>
-            <xsd:enumeration value="UnsaleableMerchandiseAllowance"/>
-            <xsd:enumeration value="UnscheduledFee"/>
-            <xsd:enumeration value="UpCharge"/>
-            <xsd:enumeration value="UsagePlanDetailCharge"/>
-            <xsd:enumeration value="USCustomsServiceFlatAssistAmount"/>
-            <xsd:enumeration value="USCustomsServiceMaximumAssistAmount"/>
-            <xsd:enumeration value="USDAInspectedStampingCertification"/>
-            <xsd:enumeration value="UseChargeToolingPersonnel"/>
-            <xsd:enumeration value="Use-SpecialTypeFlatCar"/>
-            <xsd:enumeration value="USVehicles"/>
-            <xsd:enumeration value="ValuationFee"/>
-            <xsd:enumeration value="VanCleaning"/>
-            <xsd:enumeration value="VehicleOrderedButNotUsed"/>
-            <xsd:enumeration value="VehiclePrepChargeCourtesyDelivery"/>
-            <xsd:enumeration value="VehicleRoadCharge"/>
-            <xsd:enumeration value="VendorFreight"/>
-            <xsd:enumeration value="VentingInstructions"/>
-            <xsd:enumeration value="VirginIslandTransferCharge"/>
-            <xsd:enumeration value="VolumeDiscount"/>
-            <xsd:enumeration value="VoluntaryContributionCharge"/>
-            <xsd:enumeration value="WaitingTime"/>
-            <xsd:enumeration value="Warehouse"/>
-            <xsd:enumeration value="Warehousing"/>
-            <xsd:enumeration value="Warranties"/>
-            <xsd:enumeration value="WarRiskCrewInsurance"/>
-            <xsd:enumeration value="WarRiskInsurance"/>
-            <xsd:enumeration value="WarRiskSurcharge"/>
-            <xsd:enumeration value="WastedFutileTrip"/>
-            <xsd:enumeration value="WatermelonFee"/>
-            <xsd:enumeration value="WaybillAndInvoiceDistribution"/>
-            <xsd:enumeration value="WeatherProtection"/>
-            <xsd:enumeration value="WeightVerificationCharge"/>
-            <xsd:enumeration value="Wharfage-Breakbulk"/>
-            <xsd:enumeration value="WharfageCharge"/>
-            <xsd:enumeration value="Wharfage-Container"/>
-            <xsd:enumeration value="WharfageHandling"/>
-            <xsd:enumeration value="WideAreaTelephoneServiceUsageCredit"/>
-            <xsd:enumeration value="WillCallCharge"/>
-            <xsd:enumeration value="WrittenProofOfDelivery"/>
-            <xsd:enumeration value="X-rayCharge"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="BasisMonetaryRange">
-        <xsd:choice>
-            <xsd:element ref="MonetaryRange"/>
-            <xsd:element ref="MonetaryLimit"/>
-        </xsd:choice>
-    </xsd:complexType>
-    <xsd:element name="BasisMonetaryRange" type="BasisMonetaryRange"/>
-    <xsd:complexType name="MonetaryRange">
-        <xsd:sequence>
-            <xsd:element name="MinimumMonetaryValue" type="Decimal21_6"/>
-            <xsd:element name="MaximumMonetaryValue" type="Decimal21_6"/>
-            <xsd:element ref="Currency"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="MonetaryRange" type="MonetaryRange"/>
-    <xsd:complexType name="MonetaryLimit">
-        <xsd:sequence>
-            <xsd:element name="MonetaryLimitValue" type="Decimal21_6"/>
-            <xsd:element ref="Currency"/>
-        </xsd:sequence>
-        <xsd:attribute name="SignificanceCoded" type="SignificanceCode" use="optional"/>
-        <xsd:attribute name="SignificanceCodedOther" type="xsd:string" use="optional"/>
-    </xsd:complexType>
-    <xsd:element name="MonetaryLimit" type="MonetaryLimit"/>
-    <xsd:complexType name="TypeOfAllowanceOrCharge">
-        <xsd:choice>
-            <xsd:element ref="QuantityAllowanceOrCharge"/>
-            <xsd:element ref="PercentageAllowanceOrCharge"/>
-            <xsd:element ref="MonetaryValue"/>
-        </xsd:choice>
-    </xsd:complexType>
-    <xsd:element name="TypeOfAllowanceOrCharge" type="TypeOfAllowanceOrCharge"/>
-    <xsd:complexType name="QuantityAllowanceOrCharge">
-        <xsd:sequence>
-            <xsd:element ref="Quantity"/>
-            <xsd:element ref="Rate"/>
-            <xsd:element minOccurs="0" name="QuantityMonetaryValue">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="MonetaryValue"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="QuantityAllowanceOrCharge" type="QuantityAllowanceOrCharge"/>
-    <xsd:complexType name="Rate">
-        <xsd:sequence>
-            <xsd:element name="RatePerUnit">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="UnitPrice"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="UnitPriceBasis" type="Decimal18_3"/>
-            <xsd:element minOccurs="0" ref="UnitOfMeasurement"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Rate" type="Rate"/>
-    <xsd:simpleType name="Decimal18_3">
-        <xsd:restriction base="xsd:decimal">
-            <xsd:totalDigits value="18"/>
-            <xsd:fractionDigits value="3"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="MonetaryValue">
-        <xsd:sequence>
-            <xsd:element name="MonetaryAmount" type="Decimal21_6"/>
-            <xsd:element minOccurs="0" ref="Currency"/>
-            <xsd:element minOccurs="0" ref="RateOfExchangeDetail"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="MonetaryValue" type="MonetaryValue"/>
-    <xsd:complexType name="RateOfExchangeDetail">
-        <xsd:sequence>
-            <xsd:element name="ReferenceCurrency">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Currency"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="TargetCurrency">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Currency"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="RateOfExchange" type="Decimal19_9"/>
-            <xsd:element minOccurs="0" name="InverseRateOfExchange" type="Decimal19_9"/>
-            <xsd:element minOccurs="0" name="DateOfRateOfExchange" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" name="ListOfRateOfExchangeReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfReference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="RateOfExchangeDetail" type="RateOfExchangeDetail"/>
-    <xsd:simpleType name="Decimal19_9">
-        <xsd:restriction base="xsd:decimal">
-            <xsd:totalDigits value="19"/>
-            <xsd:fractionDigits value="9"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfReference">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="Reference"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfReference" type="ListOfReference"/>
-    <xsd:complexType name="PercentageAllowanceOrCharge">
-        <xsd:sequence>
-            <xsd:element ref="PercentQualifier"/>
-            <xsd:element name="Percent" type="Decimal10_4"/>
-            <xsd:element minOccurs="0" name="PercentageMonetaryValue">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="MonetaryValue"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PercentageAllowanceOrCharge" type="PercentageAllowanceOrCharge"/>
-    <xsd:complexType name="PercentQualifier">
-        <xsd:sequence>
-            <xsd:element name="PercentQualifierCoded" type="PercentQualifierCode"/>
-            <xsd:element minOccurs="0" name="PercentQualifierCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PercentQualifier" type="PercentQualifier"/>
-    <xsd:simpleType name="PercentQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="ItemListCost"/>
-            <xsd:enumeration value="ItemNetCost"/>
-            <xsd:enumeration value="Discount-Gross"/>
-            <xsd:enumeration value="Discount-Net"/>
-            <xsd:enumeration value="BasePriceperUnit"/>
-            <xsd:enumeration value="BasePriceAmount"/>
-            <xsd:enumeration value="BasePriceAmountLessPreviousDiscount"/>
-            <xsd:enumeration value="NetMonthlyOnAllInvoicesPastDue"/>
-            <xsd:enumeration value="LatePaymentChargeBaseAmount"/>
-            <xsd:enumeration value="FuelRate"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="DeliveryDetail">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="ShipToLocation">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Location"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ShipFromLocation">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Location"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" ref="ListOfScheduleLine"/>
-            <xsd:element minOccurs="0" ref="ItemPackagingReference"/>
-            <xsd:element minOccurs="0" name="SimplePackageNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" ref="TermsOfDelivery"/>
-            <xsd:element minOccurs="0" ref="CargoClassification"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="DeliveryDetail" type="DeliveryDetail"/>
-    <xsd:complexType name="ListOfScheduleLine">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ScheduleLine"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfScheduleLine" type="ListOfScheduleLine"/>
-    <xsd:complexType name="ScheduleLine">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="ScheduleLineID" type="xsd:int"/>
-            <xsd:element minOccurs="0" name="ShipmentStatusEventCoded" type="ShipmentStatusEventCode"/>
-            <xsd:element minOccurs="0" name="ShipmentStatusEventCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ShipmentStatusReasons">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfStatusReason"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element ref="Quantity"/>
-            <xsd:element minOccurs="0" name="RequestedDeliveryDate" type="xcblDatetime"/>
-            <xsd:element minOccurs="0" name="ListOfOtherDeliveryDate">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfDateCoded"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="ScheduleLineNote" type="xsd:string"/>
-            <xsd:choice minOccurs="0">
-                <xsd:element ref="Transport"/>
-                <xsd:element name="TransportReference" type="xsd:int"/>
-            </xsd:choice>
-            <xsd:element minOccurs="0" ref="ListOfShipToSubInformation"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ScheduleLine" type="ScheduleLine"/>
-    <xsd:simpleType name="ShipmentStatusEventCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="NotApplicable"/>
-            <xsd:enumeration value="NotYetShipped"/>
-            <xsd:enumeration value="BackOrdered"/>
-            <xsd:enumeration value="BackOrderShipped"/>
-            <xsd:enumeration value="ReadyForPickup"/>
-            <xsd:enumeration value="InTransit"/>
-            <xsd:enumeration value="PartiallyShipped"/>
-            <xsd:enumeration value="PartiallyDelivered"/>
-            <xsd:enumeration value="ShipmentComplete"/>
-            <xsd:enumeration value="Delivered"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfStatusReason">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="StatusReason"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfStatusReason" type="ListOfStatusReason"/>
-    <xsd:complexType name="StatusReason">
-        <xsd:sequence>
-            <xsd:element name="StatusReasonCoded" type="StatusReasonCode"/>
-            <xsd:element minOccurs="0" name="StatusReasonCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="StatusReason" type="StatusReason"/>
-    <xsd:simpleType name="StatusReasonCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="ChangedSchedule"/>
-            <xsd:enumeration value="InstructionsAwaited"/>
-            <xsd:enumeration value="Damaged"/>
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="CustomsRefusal"/>
-            <xsd:enumeration value="EmptyOnInspection"/>
-            <xsd:enumeration value="DestinationIncorrect"/>
-            <xsd:enumeration value="ExportRestrictions"/>
-            <xsd:enumeration value="ImportRestrictions"/>
-            <xsd:enumeration value="PaymentNotReceived"/>
-            <xsd:enumeration value="DeliveryDifferentDate"/>
-            <xsd:enumeration value="DeliveryTooLate"/>
-            <xsd:enumeration value="IncidentAttributedToSeller"/>
-            <xsd:enumeration value="IncidentAttributedToTheBuyer"/>
-            <xsd:enumeration value="IncidentAttributedToTheCarrier"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfDateCoded">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="DateCoded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfDateCoded" type="ListOfDateCoded"/>
-    <xsd:complexType name="DateCoded">
-        <xsd:sequence>
-            <xsd:element name="Date" type="xcblDatetime"/>
-            <xsd:element ref="DateQualifier"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="DateCoded" type="DateCoded"/>
-    <xsd:complexType name="DateQualifier">
-        <xsd:sequence>
-            <xsd:element name="DateQualifierCoded" type="DateQualifierCode"/>
-            <xsd:element minOccurs="0" name="DateQualifierCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="DateQualifier" type="DateQualifier"/>
-    <xsd:simpleType name="DateQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="36030"/>
-            <xsd:enumeration value="36530"/>
-            <xsd:enumeration value="365630"/>
-            <xsd:enumeration value="3602831"/>
-            <xsd:enumeration value="3652831"/>
-            <xsd:enumeration value="36562831"/>
-            <xsd:enumeration value="1stScheduleDelivery"/>
-            <xsd:enumeration value="1stScheduleShip"/>
-            <xsd:enumeration value="Acceleration"/>
-            <xsd:enumeration value="AcceptanceDateOfDocument"/>
-            <xsd:enumeration value="AcceptanceDateOfGoodsDeclarationCustoms"/>
-            <xsd:enumeration value="AcceptanceDateTimeOfGoods"/>
-            <xsd:enumeration value="AccidentBenefitAgeLimit"/>
-            <xsd:enumeration value="AccidentBenefitPeriod"/>
-            <xsd:enumeration value="AccidentDateAndOrTime"/>
-            <xsd:enumeration value="AccidentInsuranceEliminationPeriod"/>
-            <xsd:enumeration value="AccidentLifetimeBenefitQualificationAge"/>
-            <xsd:enumeration value="AccountantsOpinionDate"/>
-            <xsd:enumeration value="AccountClosedDate"/>
-            <xsd:enumeration value="AccountingMethodologyChangeDate"/>
-            <xsd:enumeration value="AccountingPeriod"/>
-            <xsd:enumeration value="AccountingPeriodEndDate"/>
-            <xsd:enumeration value="AccountingPeriodStartDate"/>
-            <xsd:enumeration value="AccountingTransactionDate"/>
-            <xsd:enumeration value="AccountingValueDate"/>
-            <xsd:enumeration value="AccountingYear"/>
-            <xsd:enumeration value="AccountOpened"/>
-            <xsd:enumeration value="AccountsReceivable-StatementDate"/>
-            <xsd:enumeration value="Acknowledgment"/>
-            <xsd:enumeration value="AcquisitionDate"/>
-            <xsd:enumeration value="ActionDate"/>
-            <xsd:enumeration value="ActionEndDate"/>
-            <xsd:enumeration value="ActivityReportingDate"/>
-            <xsd:enumeration value="ActivityPeriodDateRange"/>
-            <xsd:enumeration value="Actual"/>
-            <xsd:enumeration value="ActualArchive"/>
-            <xsd:enumeration value="ArrivalDateTimeActual"/>
-            <xsd:enumeration value="ActualComplete"/>
-            <xsd:enumeration value="DepartureDateTimeActual"/>
-            <xsd:enumeration value="DischargeDateTimeActual"/>
-            <xsd:enumeration value="ActualPortOfEntry"/>
-            <xsd:enumeration value="ActualRelease"/>
-            <xsd:enumeration value="ActualReturnToWork"/>
-            <xsd:enumeration value="StartDateActual"/>
-            <xsd:enumeration value="AcuteManifestationDate"/>
-            <xsd:enumeration value="AcuteManifestationOfAChronicCondition"/>
-            <xsd:enumeration value="Added"/>
-            <xsd:enumeration value="AddressPeriod"/>
-            <xsd:enumeration value="Adjournment"/>
-            <xsd:enumeration value="AdjustedAge"/>
-            <xsd:enumeration value="AdjustedContestability"/>
-            <xsd:enumeration value="AdjustedDeathBenefit"/>
-            <xsd:enumeration value="AdjustedEnd"/>
-            <xsd:enumeration value="AdjustedHire"/>
-            <xsd:enumeration value="AdjustedStart"/>
-            <xsd:enumeration value="AdjustmentEffectiveDate"/>
-            <xsd:enumeration value="AdjustmentPeriod"/>
-            <xsd:enumeration value="AdjustmentPeriodEnd"/>
-            <xsd:enumeration value="AdjustmentPeriodStart"/>
-            <xsd:enumeration value="AdjustmentProcessed"/>
-            <xsd:enumeration value="AdjustmentPromised"/>
-            <xsd:enumeration value="AdjustmentToBillDated"/>
-            <xsd:enumeration value="AdministratorOrderedDate"/>
-            <xsd:enumeration value="AdmissionDateAndOrTimeExpected"/>
-            <xsd:enumeration value="AdoptionDateActual"/>
-            <xsd:enumeration value="AdviseAfterDateTime"/>
-            <xsd:enumeration value="AdviseBeforeDateTime"/>
-            <xsd:enumeration value="AdviseCompletedDateTime"/>
-            <xsd:enumeration value="AdviseOnDateTime"/>
-            <xsd:enumeration value="AdvisingDate"/>
-            <xsd:enumeration value="Age"/>
-            <xsd:enumeration value="AgreementToPayDate"/>
-            <xsd:enumeration value="AiredDate"/>
-            <xsd:enumeration value="AllotmentPeriodStart"/>
-            <xsd:enumeration value="AllowableEffective"/>
-            <xsd:enumeration value="AllowedRenewalDurationPeriod"/>
-            <xsd:enumeration value="AlternateBasePeriod"/>
-            <xsd:enumeration value="AlternateProblemResolution"/>
-            <xsd:enumeration value="AlternativeDueDate"/>
-            <xsd:enumeration value="AnalysisMonthEnding"/>
-            <xsd:enumeration value="AnesthesiaAdministration"/>
-            <xsd:enumeration value="Anniversary"/>
-            <xsd:enumeration value="AnnualReportDelinquentOnDate"/>
-            <xsd:enumeration value="AnnualReportDueDate"/>
-            <xsd:enumeration value="AnnualReportFilingDate"/>
-            <xsd:enumeration value="AnnualReportMailingDate"/>
-            <xsd:enumeration value="Annuitization"/>
-            <xsd:enumeration value="AnnuityCommencementDate"/>
-            <xsd:enumeration value="AnticipatedClosing"/>
-            <xsd:enumeration value="AppliancePlacement"/>
-            <xsd:enumeration value="ApplicantSigned"/>
-            <xsd:enumeration value="Application"/>
-            <xsd:enumeration value="ApplicationEntry"/>
-            <xsd:enumeration value="ApplicationLoggedDate"/>
-            <xsd:enumeration value="ApplicationStatus"/>
-            <xsd:enumeration value="AppointmentEffective"/>
-            <xsd:enumeration value="AppointmentExpiryDate"/>
-            <xsd:enumeration value="AppraisalOrdered"/>
-            <xsd:enumeration value="ApprovalOffer"/>
-            <xsd:enumeration value="ApprovalDate"/>
-            <xsd:enumeration value="Arrested"/>
-            <xsd:enumeration value="ArrivalDateTimeAtInitialPort"/>
-            <xsd:enumeration value="ArrivalDateTimeEarliest"/>
-            <xsd:enumeration value="ArrivalDateTimeOfTransportLeadTime"/>
-            <xsd:enumeration value="ArrivalDateTimeScheduled"/>
-            <xsd:enumeration value="ArrivalDateTimeUltimate"/>
-            <xsd:enumeration value="ArrivalInCountry"/>
-            <xsd:enumeration value="ArterialBloodGasTest"/>
-            <xsd:enumeration value="AsOf"/>
-            <xsd:enumeration value="AssemblyStart"/>
-            <xsd:enumeration value="Asset"/>
-            <xsd:enumeration value="AssetAndLiabilityScheduleDate"/>
-            <xsd:enumeration value="AssetDocumentationExpiration"/>
-            <xsd:enumeration value="AssignedDate"/>
-            <xsd:enumeration value="AssignmentRecorded"/>
-            <xsd:enumeration value="AttendanceDateAndOrTimeAndOrPeriod"/>
-            <xsd:enumeration value="AudienceDeficiencyPeriod"/>
-            <xsd:enumeration value="AuditPeriodAfterSplitDate"/>
-            <xsd:enumeration value="AuditPeriodPriorToSplitDate"/>
-            <xsd:enumeration value="AuthenticationDateTimeOfDocument"/>
-            <xsd:enumeration value="AuthenticationValidationDateTime"/>
-            <xsd:enumeration value="AuthorizationDate"/>
-            <xsd:enumeration value="AutomaticPremiumLoan"/>
-            <xsd:enumeration value="AvailabilityDueDate"/>
-            <xsd:enumeration value="Availability"/>
-            <xsd:enumeration value="AverageDeliveryDelay"/>
-            <xsd:enumeration value="AveragePaymentPeriod"/>
-            <xsd:enumeration value="Award"/>
-            <xsd:enumeration value="BackOnMarket"/>
-            <xsd:enumeration value="BackOrderDeliveryDateTimePeriod"/>
-            <xsd:enumeration value="BalanceDateTimePeriod"/>
-            <xsd:enumeration value="BalanceSheetDateLatest"/>
-            <xsd:enumeration value="Base"/>
-            <xsd:enumeration value="Baseline"/>
-            <xsd:enumeration value="BaselineComplete"/>
-            <xsd:enumeration value="BaselineStart"/>
-            <xsd:enumeration value="BeforeInventoryIsReplenishedBasedOnStockCheckLeadTime"/>
-            <xsd:enumeration value="BeginningLayDate"/>
-            <xsd:enumeration value="BeginTherapy"/>
-            <xsd:enumeration value="BeneficiarysBanksDueDate"/>
-            <xsd:enumeration value="Benefit"/>
-            <xsd:enumeration value="BenefitAdjustmentEnd"/>
-            <xsd:enumeration value="BenefitAdjustmentPeriod"/>
-            <xsd:enumeration value="BenefitAdjustmentStart"/>
-            <xsd:enumeration value="BenefitApplicationDate"/>
-            <xsd:enumeration value="BenefitBegin"/>
-            <xsd:enumeration value="BenefitChangeDateTime"/>
-            <xsd:enumeration value="BenefitCreditEnd"/>
-            <xsd:enumeration value="BenefitCreditPeriod"/>
-            <xsd:enumeration value="BenefitCreditStart"/>
-            <xsd:enumeration value="BenefitDebitEnd"/>
-            <xsd:enumeration value="BenefitDebitStart"/>
-            <xsd:enumeration value="BenefitEnd"/>
-            <xsd:enumeration value="BenefitPaymentsTerminationDate"/>
-            <xsd:enumeration value="BenefitPeriod"/>
-            <xsd:enumeration value="BenefitReleaseAuthorizationDate"/>
-            <xsd:enumeration value="BenefitsPaid"/>
-            <xsd:enumeration value="BenefitTransferEnd"/>
-            <xsd:enumeration value="BenefitTransferPeriod"/>
-            <xsd:enumeration value="BenefitTransferStart"/>
-            <xsd:enumeration value="BenefitTypeGrossWeeklyAmountEffective"/>
-            <xsd:enumeration value="BenefitTypeNetWeeklyAmountEffective"/>
-            <xsd:enumeration value="BenefitPeriodEndDate"/>
-            <xsd:enumeration value="BenefitPeriodStartDate"/>
-            <xsd:enumeration value="BestBeforeDate"/>
-            <xsd:enumeration value="BestTimeToCall"/>
-            <xsd:enumeration value="BiannualTerminalInspectionDate"/>
-            <xsd:enumeration value="BidEffective"/>
-            <xsd:enumeration value="BidOpenDateBidsWillBeOpened"/>
-            <xsd:enumeration value="BidPriceException"/>
-            <xsd:enumeration value="Bill"/>
-            <xsd:enumeration value="BilledThrough"/>
-            <xsd:enumeration value="BillOfLadingDate"/>
-            <xsd:enumeration value="BirthCertificate"/>
-            <xsd:enumeration value="BirthDateTime"/>
-            <xsd:enumeration value="BlanksValueDate"/>
-            <xsd:enumeration value="Blueprint"/>
-            <xsd:enumeration value="BoardOfDirectorsIncompleteAsOf"/>
-            <xsd:enumeration value="BoardOfDirectorsNotAuthorizedAsOfGivenDate"/>
-            <xsd:enumeration value="BoardOfDirectorsNotCompleteAsOfGivenDate"/>
-            <xsd:enumeration value="BoardOfDirectorsRegistrationDate"/>
-            <xsd:enumeration value="BookEntryDelivery"/>
-            <xsd:enumeration value="BookingDateTime"/>
-            <xsd:enumeration value="BritishThermalUnitTestPerformed"/>
-            <xsd:enumeration value="BudgetLineApplicationDate"/>
-            <xsd:enumeration value="BusinessControlChangeDate"/>
-            <xsd:enumeration value="BusinessOpenedDate"/>
-            <xsd:enumeration value="BusinessTerminationDate"/>
-            <xsd:enumeration value="BuyersDock"/>
-            <xsd:enumeration value="BuyersLocalTime"/>
-            <xsd:enumeration value="CalculationDate"/>
-            <xsd:enumeration value="CalendarAnniversary"/>
-            <xsd:enumeration value="CalendarYear"/>
-            <xsd:enumeration value="CancelAfter"/>
-            <xsd:enumeration value="CancelAfterExCountry"/>
-            <xsd:enumeration value="CancelAfterExFactory"/>
-            <xsd:enumeration value="CancelIfNotDeliveredByThisDate"/>
-            <xsd:enumeration value="CancelIfNotPublishedByThisDate"/>
-            <xsd:enumeration value="CancelIfNotShippedByThisDate"/>
-            <xsd:enumeration value="CancellationDate"/>
-            <xsd:enumeration value="CancellationDateTimeLatest"/>
-            <xsd:enumeration value="CapitalizationDate"/>
-            <xsd:enumeration value="CapitationPeriodEnd"/>
-            <xsd:enumeration value="CapitationPeriodStart"/>
-            <xsd:enumeration value="CargoBookingConfirmedDateTime"/>
-            <xsd:enumeration value="CargoReleaseDateTimeUltimate"/>
-            <xsd:enumeration value="CaseConverted"/>
-            <xsd:enumeration value="CaseReopened"/>
-            <xsd:enumeration value="CashCallDate"/>
-            <xsd:enumeration value="CategoryChangeDateTime"/>
-            <xsd:enumeration value="CeasedOperations"/>
-            <xsd:enumeration value="CertificateEffective"/>
-            <xsd:enumeration value="Certification"/>
-            <xsd:enumeration value="CertificationOfWeightDateTime"/>
-            <xsd:enumeration value="CertificationPeriodStart"/>
-            <xsd:enumeration value="CertificationRevision"/>
-            <xsd:enumeration value="ChangedAccountingDate"/>
-            <xsd:enumeration value="ChangedDate"/>
-            <xsd:enumeration value="ChargeBackDateTime"/>
-            <xsd:enumeration value="ChargePeriod"/>
-            <xsd:enumeration value="ChargePeriodEndDate"/>
-            <xsd:enumeration value="ChargePeriodStartDate"/>
-            <xsd:enumeration value="ChartOfAccountPeriod"/>
-            <xsd:enumeration value="Check"/>
-            <xsd:enumeration value="CheckedDate"/>
-            <xsd:enumeration value="ChildbirthDateAndOrTimeActual"/>
-            <xsd:enumeration value="ChildbirthDateEstimated"/>
-            <xsd:enumeration value="Christening"/>
-            <xsd:enumeration value="Citation"/>
-            <xsd:enumeration value="CitizenshipChangeDate"/>
-            <xsd:enumeration value="ClaimAdministratorKnowledgeOfTheInjury"/>
-            <xsd:enumeration value="ClaimAdministratorNotifiedOfEmployeeLegalRepresentation"/>
-            <xsd:enumeration value="ClaimIncurredDate"/>
-            <xsd:enumeration value="ClaimMadeDate"/>
-            <xsd:enumeration value="ClaimNotificationReceived"/>
-            <xsd:enumeration value="ClaimsMade"/>
-            <xsd:enumeration value="ClaimStatementPeriodEnd"/>
-            <xsd:enumeration value="ClaimStatementPeriodStart"/>
-            <xsd:enumeration value="Clause"/>
-            <xsd:enumeration value="ClearanceDateCustoms"/>
-            <xsd:enumeration value="ClinicalExaminationDateAndOrTime"/>
-            <xsd:enumeration value="Closed"/>
-            <xsd:enumeration value="ClosedUntilDate"/>
-            <xsd:enumeration value="ClosingDateOfFirstBalanceSheet"/>
-            <xsd:enumeration value="ClosingDateTime"/>
-            <xsd:enumeration value="ClosureDateTimePeriod"/>
-            <xsd:enumeration value="CollateralDependent"/>
-            <xsd:enumeration value="CollateralDependentBegin"/>
-            <xsd:enumeration value="CollateralDependentEnd"/>
-            <xsd:enumeration value="Collection"/>
-            <xsd:enumeration value="CollectionDateTimeEarliest"/>
-            <xsd:enumeration value="CollectionDateTimeLatest"/>
-            <xsd:enumeration value="CommencedPumpingBallastDateTime"/>
-            <xsd:enumeration value="CommencedTankCleaningDateTime"/>
-            <xsd:enumeration value="CommercialRating"/>
-            <xsd:enumeration value="CompanyTermination"/>
-            <xsd:enumeration value="ComparisonPeriod"/>
-            <xsd:enumeration value="CompilationDateAndTime"/>
-            <xsd:enumeration value="Complaint"/>
-            <xsd:enumeration value="CompletedPumpingBallastDateTime"/>
-            <xsd:enumeration value="CompletedTankCleaningDateTime"/>
-            <xsd:enumeration value="CompletionDate"/>
-            <xsd:enumeration value="CompletionDateOrTimeNotAfter"/>
-            <xsd:enumeration value="CompletionDateOrTimeNotBefore"/>
-            <xsd:enumeration value="CompletionDateOrTimeScheduled"/>
-            <xsd:enumeration value="Compliance"/>
-            <xsd:enumeration value="ConditionInitialTreatmentDate"/>
-            <xsd:enumeration value="Confinement"/>
-            <xsd:enumeration value="ConfinementEnd"/>
-            <xsd:enumeration value="ConfinementStart"/>
-            <xsd:enumeration value="ConfirmationDateLeadTime"/>
-            <xsd:enumeration value="ConfirmedDateTime"/>
-            <xsd:enumeration value="Connection"/>
-            <xsd:enumeration value="Consolidated"/>
-            <xsd:enumeration value="ConsolidatedOmnibusBudgetReconciliationActCOBRA"/>
-            <xsd:enumeration value="ConsolidatedOmnibusBudgetReconciliationActCOBRABegin"/>
-            <xsd:enumeration value="ConsolidatedOmnibusBudgetReconciliationActCOBRAEnd"/>
-            <xsd:enumeration value="ConsolidatedOmnibusBudgetReconciliationActCOBRAQualifyingEvent"/>
-            <xsd:enumeration value="ConsolidationDate"/>
-            <xsd:enumeration value="ConstructionDateActual"/>
-            <xsd:enumeration value="ConstructionStart"/>
-            <xsd:enumeration value="ContainerSafetyConventionCscInspectionDate"/>
-            <xsd:enumeration value="ContainerSafetyConventionCscPlateExpirationDate"/>
-            <xsd:enumeration value="ContainerStrippingDateTimeUltimate"/>
-            <xsd:enumeration value="ContainerStuffingDateTimeUltimate"/>
-            <xsd:enumeration value="Contestability"/>
-            <xsd:enumeration value="Contingency"/>
-            <xsd:enumeration value="ContingencyEnd"/>
-            <xsd:enumeration value="Continuance"/>
-            <xsd:enumeration value="ContinuationOfPayStartDate"/>
-            <xsd:enumeration value="ContinuingEducationRequirement"/>
-            <xsd:enumeration value="ContinuousCoverageDates"/>
-            <xsd:enumeration value="ContinuousPassiveMotionCPM"/>
-            <xsd:enumeration value="ContractAuditDate"/>
-            <xsd:enumeration value="ContractAwardDateTime"/>
-            <xsd:enumeration value="ContractBindingDate"/>
-            <xsd:enumeration value="ContractCompletionDate"/>
-            <xsd:enumeration value="ContractCostsThrough"/>
-            <xsd:enumeration value="ContractDate"/>
-            <xsd:enumeration value="ContractDefinition"/>
-            <xsd:enumeration value="ContractEffectiveDate"/>
-            <xsd:enumeration value="ContractExpiryDate"/>
-            <xsd:enumeration value="ContractMailed"/>
-            <xsd:enumeration value="ContractPerformanceDelivery"/>
-            <xsd:enumeration value="ContractPerformanceStart"/>
-            <xsd:enumeration value="ContractPeriod"/>
-            <xsd:enumeration value="ContractRe-Open"/>
-            <xsd:enumeration value="ContractStart"/>
-            <xsd:enumeration value="ContractualDeliveryDate"/>
-            <xsd:enumeration value="ContractualStartDateTime"/>
-            <xsd:enumeration value="ContributionPeriodEndDateTime"/>
-            <xsd:enumeration value="ContributionPeriodStartDateTime"/>
-            <xsd:enumeration value="ContributionsCeasingDateTime"/>
-            <xsd:enumeration value="ControlPlan"/>
-            <xsd:enumeration value="ControvertDate"/>
-            <xsd:enumeration value="ConversionPrivilegeEnd"/>
-            <xsd:enumeration value="ConversionToRepayment"/>
-            <xsd:enumeration value="ConversionIntoHoldingCompanyDate"/>
-            <xsd:enumeration value="ConvertedToElectronicDate"/>
-            <xsd:enumeration value="ConveyanceRegistrationDate"/>
-            <xsd:enumeration value="ConvictedDate"/>
-            <xsd:enumeration value="CoordinationOfBenefits"/>
-            <xsd:enumeration value="CoordinationOfBenefitsBegin"/>
-            <xsd:enumeration value="CoordinationOfBenefitsEnd"/>
-            <xsd:enumeration value="CorrectedDateOfBirth"/>
-            <xsd:enumeration value="Correction"/>
-            <xsd:enumeration value="CosignerSigned"/>
-            <xsd:enumeration value="CourtDismissalDate"/>
-            <xsd:enumeration value="CourtEvent"/>
-            <xsd:enumeration value="CourtNotice"/>
-            <xsd:enumeration value="CourtRegistrationDate"/>
-            <xsd:enumeration value="CoverageDuration"/>
-            <xsd:enumeration value="CoverageIssueDate"/>
-            <xsd:enumeration value="CoveredIncomePeriod"/>
-            <xsd:enumeration value="CreditAdvice"/>
-            <xsd:enumeration value="CreditDocumentationExpiration"/>
-            <xsd:enumeration value="CreditedService"/>
-            <xsd:enumeration value="CreditedServiceBegin"/>
-            <xsd:enumeration value="CreditedServiceEnd"/>
-            <xsd:enumeration value="CreditorsRequestedValueDate"/>
-            <xsd:enumeration value="Crime"/>
-            <xsd:enumeration value="CriminalSentenceDuration"/>
-            <xsd:enumeration value="CrossborderDateTime"/>
-            <xsd:enumeration value="CumulativeQuantityEndDate"/>
-            <xsd:enumeration value="CumulativeQuantityStartDate"/>
-            <xsd:enumeration value="CureTime"/>
-            <xsd:enumeration value="Current"/>
-            <xsd:enumeration value="CurrentAuthorityControlStartDate"/>
-            <xsd:enumeration value="CurrentDisabilityPeriodEnd"/>
-            <xsd:enumeration value="CurrentDisabilityPeriodLastDayWorked"/>
-            <xsd:enumeration value="CurrentDisabilityPeriodStart"/>
-            <xsd:enumeration value="CurrentIncomePeriod"/>
-            <xsd:enumeration value="CurrentLegalStructureEffectiveDate"/>
-            <xsd:enumeration value="CurrentList"/>
-            <xsd:enumeration value="CurrentMonthEnding"/>
-            <xsd:enumeration value="CurrentNameEffectiveDate"/>
-            <xsd:enumeration value="CurrentReportDate"/>
-            <xsd:enumeration value="CurrentScheduleDelivery"/>
-            <xsd:enumeration value="CurrentScheduleShip"/>
-            <xsd:enumeration value="CurtailmentDate"/>
-            <xsd:enumeration value="CurtailmentDatefromAdviceOfPayment"/>
-            <xsd:enumeration value="CustomerContractEffective"/>
-            <xsd:enumeration value="CustomerContractExpiration"/>
-            <xsd:enumeration value="CustomerOrder"/>
-            <xsd:enumeration value="CustomerValueDate"/>
-            <xsd:enumeration value="CustomsCargoRelease"/>
-            <xsd:enumeration value="CustomsClearance"/>
-            <xsd:enumeration value="CustomsEntryDate"/>
-            <xsd:enumeration value="Cycle"/>
-            <xsd:enumeration value="CycleBegin"/>
-            <xsd:enumeration value="CycleEnd"/>
-            <xsd:enumeration value="CycleToDate"/>
-            <xsd:enumeration value="DateAccountMatures"/>
-            <xsd:enumeration value="DateAcquired"/>
-            <xsd:enumeration value="DateAndOrTimeOfHandlingEstimated"/>
-            <xsd:enumeration value="DateAsAt"/>
-            <xsd:enumeration value="DateAssignmentFiledForRecord"/>
-            <xsd:enumeration value="BankruptcyFiledDate"/>
-            <xsd:enumeration value="DateBecameAware"/>
-            <xsd:enumeration value="DateClaimPaid"/>
-            <xsd:enumeration value="DateCourseOfOrthodonticsTreatmentBeganOrIsExpectedToBegin"/>
-            <xsd:enumeration value="DateDeedFiledForRecord"/>
-            <xsd:enumeration value="DateDefaultWasCured"/>
-            <xsd:enumeration value="DateDocumentationOrPaperworkOrBothWasSent"/>
-            <xsd:enumeration value="FiledDate"/>
-            <xsd:enumeration value="DateForeclosureHeld"/>
-            <xsd:enumeration value="DateForeclosureProceedingsInstituted"/>
-            <xsd:enumeration value="DateForeclosureSaleScheduled"/>
-            <xsd:enumeration value="DateForTheLastUpdate"/>
-            <xsd:enumeration value="DateHazardInsurancePolicyCancelled"/>
-            <xsd:enumeration value="DateHazardInsurancePolicyRefused"/>
-            <xsd:enumeration value="DateMaterialUsageSuspended"/>
-            <xsd:enumeration value="DateOfAbandonment"/>
-            <xsd:enumeration value="DateOfAcquisitionOfTitle"/>
-            <xsd:enumeration value="DateOfAction"/>
-            <xsd:enumeration value="DateOfAdvance"/>
-            <xsd:enumeration value="DateOfAppraisal"/>
-            <xsd:enumeration value="DateOfAssignmentApproval"/>
-            <xsd:enumeration value="DateOfAssignmentRejection"/>
-            <xsd:enumeration value="DateOfClaim"/>
-            <xsd:enumeration value="DateOfClosing"/>
-            <xsd:enumeration value="DateOfDamage"/>
-            <xsd:enumeration value="DeceaseDate"/>
-            <xsd:enumeration value="DateOfDeedInLieu"/>
-            <xsd:enumeration value="DateOfDivorce"/>
-            <xsd:enumeration value="DateOfExtensionToConvey"/>
-            <xsd:enumeration value="DateOfFirmCommitment"/>
-            <xsd:enumeration value="DateOfFirstMortgagePayment"/>
-            <xsd:enumeration value="DateOfFirstRegistration"/>
-            <xsd:enumeration value="DateOfFirstUncuredDefault"/>
-            <xsd:enumeration value="DateOfForeclosureNotice"/>
-            <xsd:enumeration value="DateOfLastContact"/>
-            <xsd:enumeration value="DateOfLastDraw"/>
-            <xsd:enumeration value="DateOfLastInstallmentReceived"/>
-            <xsd:enumeration value="DateOfLastPaymentReceived"/>
-            <xsd:enumeration value="DateOfLastUpdate"/>
-            <xsd:enumeration value="DateOfLoan"/>
-            <xsd:enumeration value="DateOfLocalOfficeApprovalOfConveyanceOfDamagedRealEstateProperty"/>
-            <xsd:enumeration value="DateOfLocalOfficeApprovalOfConveyanceOfOccupied"/>
-            <xsd:enumeration value="DateOfLocalOfficeCertificationOfConveyanceOfDamagedRealEstate"/>
-            <xsd:enumeration value="DateOfMaximumMedicalImprovement"/>
-            <xsd:enumeration value="DateOfNoticeOfProbableIneligibilityForAssignment"/>
-            <xsd:enumeration value="DateOfNoticeOfReferralForAssignment"/>
-            <xsd:enumeration value="DateOfNoticeToConvey"/>
-            <xsd:enumeration value="DateOfOperation"/>
-            <xsd:enumeration value="DateOfOrderLeadTime"/>
-            <xsd:enumeration value="DateOfPossession"/>
-            <xsd:enumeration value="DateOfProductFailure"/>
-            <xsd:enumeration value="DateOfPropertyInspection"/>
-            <xsd:enumeration value="ReleaseFromBankruptcyDate"/>
-            <xsd:enumeration value="DateOfRepairOrService"/>
-            <xsd:enumeration value="DateOfSeizure"/>
-            <xsd:enumeration value="DateOfSeparation"/>
-            <xsd:enumeration value="DateOfSourceDocument"/>
-            <xsd:enumeration value="DateOfSpecification"/>
-            <xsd:enumeration value="DateOfStandard"/>
-            <xsd:enumeration value="DateOnWhichAssetsJudgedInsufficientToPayCreditors"/>
-            <xsd:enumeration value="DateOutstandingLoanBalanceReported"/>
-            <xsd:enumeration value="PackagingDate"/>
-            <xsd:enumeration value="DatePaid"/>
-            <xsd:enumeration value="DatePlacedInDisfavour"/>
-            <xsd:enumeration value="DatePossessoryActionInitiated"/>
-            <xsd:enumeration value="DatePracticeCeased"/>
-            <xsd:enumeration value="DatePracticeEstablished"/>
-            <xsd:enumeration value="DatePropertySold"/>
-            <xsd:enumeration value="DateReadyForCollection"/>
-            <xsd:enumeration value="DateRedemptionPeriodEnds"/>
-            <xsd:enumeration value="DateReferredToAttorneyForForeclosure"/>
-            <xsd:enumeration value="RequestDate"/>
-            <xsd:enumeration value="DateThroughWhichPropertyTaxesHaveBeenPaid"/>
-            <xsd:enumeration value="DateTimeOfDiscountTermination"/>
-            <xsd:enumeration value="DateTimeOfInterestDue"/>
-            <xsd:enumeration value="DateTimeOfLatestAccountsFilingAtPublicRegistry"/>
-            <xsd:enumeration value="DateTotalAmountOfDelinquencyReported"/>
-            <xsd:enumeration value="DateVoluntaryConveyanceAccepted"/>
-            <xsd:enumeration value="DateWhenContainerEquipmentBecomesDomestic"/>
-            <xsd:enumeration value="DaylightOverdraftTime"/>
-            <xsd:enumeration value="DaysOfOperation"/>
-            <xsd:enumeration value="DeathDateAndOrTime"/>
-            <xsd:enumeration value="DebitAdvice"/>
-            <xsd:enumeration value="DebitValueDateRequested"/>
-            <xsd:enumeration value="DebtIncurred"/>
-            <xsd:enumeration value="DecisionDate"/>
-            <xsd:enumeration value="Declaration"/>
-            <xsd:enumeration value="DeclarationPresentationDate"/>
-            <xsd:enumeration value="DeclarationReferencePeriod"/>
-            <xsd:enumeration value="Deductible"/>
-            <xsd:enumeration value="DeedNotAvailableAsOfGivenDate"/>
-            <xsd:enumeration value="Deferral"/>
-            <xsd:enumeration value="DeferredDistribution"/>
-            <xsd:enumeration value="DeferredPayment"/>
-            <xsd:enumeration value="DeferredPeriod"/>
-            <xsd:enumeration value="DefinitionOfDisabilityDuration"/>
-            <xsd:enumeration value="DelayedBillingNotDelayedPayment"/>
-            <xsd:enumeration value="DeletionDate"/>
-            <xsd:enumeration value="Delivered"/>
-            <xsd:enumeration value="DeliverNotBeforeAndNotAfterDates"/>
-            <xsd:enumeration value="DeliveryAppointmentDateAndTime"/>
-            <xsd:enumeration value="DeliveryDateTime1StSchedule"/>
-            <xsd:enumeration value="DeliveryDateTimeActual"/>
-            <xsd:enumeration value="DeliveryDateTimeCurrentSchedule"/>
-            <xsd:enumeration value="DeliveryDateTimeDeferred"/>
-            <xsd:enumeration value="DeliveryDateTimeEarliest"/>
-            <xsd:enumeration value="DeliveryDateTimeExpected"/>
-            <xsd:enumeration value="DeliveryDateTimeFirst"/>
-            <xsd:enumeration value="DeliveryDateTimeLast"/>
-            <xsd:enumeration value="DeliveryDateTimeLatest"/>
-            <xsd:enumeration value="DeliveryDateTimePromisedFor"/>
-            <xsd:enumeration value="DeliveryDateTimePromisedForAfterAndIncluding"/>
-            <xsd:enumeration value="DeliveryDateTimePromisedForPriorToAndIncluding"/>
-            <xsd:enumeration value="DeliveryDateTimeRequested"/>
-            <xsd:enumeration value="DeliveryDateTimeScheduledFor"/>
-            <xsd:enumeration value="DeliveryEnd"/>
-            <xsd:enumeration value="DeliveryOrderIssued"/>
-            <xsd:enumeration value="DeliveryRating"/>
-            <xsd:enumeration value="DeliveryRequested"/>
-            <xsd:enumeration value="DeliveryStart"/>
-            <xsd:enumeration value="DeliveryTicket"/>
-            <xsd:enumeration value="DenialEffective"/>
-            <xsd:enumeration value="DenialRescission"/>
-            <xsd:enumeration value="DepartmentAdmissionDateAndOrTime"/>
-            <xsd:enumeration value="DepartmentDischargeDateAndOrTime"/>
-            <xsd:enumeration value="DepartmentOfLaborWageDeterminationDate"/>
-            <xsd:enumeration value="DepartureDateTime"/>
-            <xsd:enumeration value="DepartureDateTimeEarliest"/>
-            <xsd:enumeration value="DepartureDateTimeFromLastPortOfCall"/>
-            <xsd:enumeration value="DepartureDateTimeScheduled"/>
-            <xsd:enumeration value="DepartureDateTimeUltimate"/>
-            <xsd:enumeration value="DepartureFromSpecification"/>
-            <xsd:enumeration value="DepositDateTime"/>
-            <xsd:enumeration value="DespatchDateAndOrTime"/>
-            <xsd:enumeration value="DespatchNoteDate"/>
-            <xsd:enumeration value="DetrimentalInformationReceiptDate"/>
-            <xsd:enumeration value="DirectInterchangeDate"/>
-            <xsd:enumeration value="Disability"/>
-            <xsd:enumeration value="DisabilityWaitPeriod"/>
-            <xsd:enumeration value="DisbursementDate"/>
-            <xsd:enumeration value="DischargeDateTime"/>
-            <xsd:enumeration value="DischargeAndLoadingCompletedDateTime"/>
-            <xsd:enumeration value="Discharge-Planned"/>
-            <xsd:enumeration value="Discovered"/>
-            <xsd:enumeration value="DiscrepancyDateTime"/>
-            <xsd:enumeration value="DisembarkationDateAndTime"/>
-            <xsd:enumeration value="DismissalDate"/>
-            <xsd:enumeration value="Disposal"/>
-            <xsd:enumeration value="Disposition"/>
-            <xsd:enumeration value="DistributorEffective"/>
-            <xsd:enumeration value="DistributorTermination"/>
-            <xsd:enumeration value="DividendApplied"/>
-            <xsd:enumeration value="DocumentaryCreditAmendmentDate"/>
-            <xsd:enumeration value="DocumentaryCreditExpiryDateTime"/>
-            <xsd:enumeration value="DocumentaryCreditIssueDate"/>
-            <xsd:enumeration value="DocumentaryCreditPresentationPeriod"/>
-            <xsd:enumeration value="DocumentDate"/>
-            <xsd:enumeration value="DocumentDue"/>
-            <xsd:enumeration value="DocumentMessageDateTime"/>
-            <xsd:enumeration value="DocumentReceivedDateTime"/>
-            <xsd:enumeration value="DocumentRequestedDateTime"/>
-            <xsd:enumeration value="DoNotDeliverAfter"/>
-            <xsd:enumeration value="DoNotDeliverBefore"/>
-            <xsd:enumeration value="DoNotShipBeforeExCountry"/>
-            <xsd:enumeration value="DoNotShipBeforeExFactory"/>
-            <xsd:enumeration value="Draft"/>
-            <xsd:enumeration value="DrawingRevisionDate"/>
-            <xsd:enumeration value="DropActionDate"/>
-            <xsd:enumeration value="DroppedToLessThanHalfTime"/>
-            <xsd:enumeration value="DueDate"/>
-            <xsd:enumeration value="DueDateLastCompleteInstallmentPaid"/>
-            <xsd:enumeration value="DueDateOfFirstPaymentToPrincipalAndInterest"/>
-            <xsd:enumeration value="DueToCustomer"/>
-            <xsd:enumeration value="DuplicateBill"/>
-            <xsd:enumeration value="Duration"/>
-            <xsd:enumeration value="EarliestFilingPeriod"/>
-            <xsd:enumeration value="EarliestSaleDate"/>
-            <xsd:enumeration value="EarlyFinish"/>
-            <xsd:enumeration value="EarlyStart"/>
-            <xsd:enumeration value="EarlyWithdrawal"/>
-            <xsd:enumeration value="EarningsEffectiveDate"/>
-            <xsd:enumeration value="Education"/>
-            <xsd:enumeration value="EducationBegin"/>
-            <xsd:enumeration value="EducationEndDate"/>
-            <xsd:enumeration value="EducationStartDate"/>
-            <xsd:enumeration value="EffectiveDateTime"/>
-            <xsd:enumeration value="EffectiveDateOfChange"/>
-            <xsd:enumeration value="Election"/>
-            <xsd:enumeration value="Eligibility"/>
-            <xsd:enumeration value="EligibilityBegin"/>
-            <xsd:enumeration value="EligibilityEnd"/>
-            <xsd:enumeration value="EmbarkationDateAndTime"/>
-            <xsd:enumeration value="EmployedInThisPosition"/>
-            <xsd:enumeration value="EmployedInThisProfession"/>
-            <xsd:enumeration value="EmployeeEffectiveDateOfCoverage"/>
-            <xsd:enumeration value="EmployeeLaidOff"/>
-            <xsd:enumeration value="EmployeeTemporaryLaidOffPeriodStartDate"/>
-            <xsd:enumeration value="EmployeeTemporaryLaidOffPeriodEndDate"/>
-            <xsd:enumeration value="EmployeeWagesCeased"/>
-            <xsd:enumeration value="EmployerKnowledgeOfTheInjury"/>
-            <xsd:enumeration value="EmployerReportedInjuryToClaimAdministrator"/>
-            <xsd:enumeration value="EmploymentPositionStartDate"/>
-            <xsd:enumeration value="EmploymentEnd"/>
-            <xsd:enumeration value="EmploymentOrHire"/>
-            <xsd:enumeration value="EmploymentPositionStartDateEstimated"/>
-            <xsd:enumeration value="EmploymentProfessionStartDate"/>
-            <xsd:enumeration value="EndDateTime"/>
-            <xsd:enumeration value="EndAvailabilityDate"/>
-            <xsd:enumeration value="EndDateOfSupport"/>
-            <xsd:enumeration value="EndDateScheduled"/>
-            <xsd:enumeration value="EndingLayDate"/>
-            <xsd:enumeration value="EndOfGrace"/>
-            <xsd:enumeration value="EndOfLastFiscalYear"/>
-            <xsd:enumeration value="EndorsedCertificateIssueDate"/>
-            <xsd:enumeration value="EndorsementDate"/>
-            <xsd:enumeration value="EngineeringChangeLevelDate"/>
-            <xsd:enumeration value="EngineeringDataList"/>
-            <xsd:enumeration value="Enrollment"/>
-            <xsd:enumeration value="EnrollmentSignatureDate"/>
-            <xsd:enumeration value="EntryDate"/>
-            <xsd:enumeration value="EntryDateEstimatedCustoms"/>
-            <xsd:enumeration value="EquipmentCollectionOrPickUpDateTimeActual"/>
-            <xsd:enumeration value="EquipmentCollectionOrPickUpDateTimeEarliest"/>
-            <xsd:enumeration value="EquipmentCollectionOrPickUpDateTimePlanned"/>
-            <xsd:enumeration value="EquipmentLogEntry"/>
-            <xsd:enumeration value="EquipmentPositioningDateTimeActual"/>
-            <xsd:enumeration value="EquipmentPositioningDateTimeEstimated"/>
-            <xsd:enumeration value="EquipmentPositioningDateTimeRequested"/>
-            <xsd:enumeration value="EquipmentPositioningDateTimeUltimate"/>
-            <xsd:enumeration value="EquipmentPreTripDate"/>
-            <xsd:enumeration value="EquipmentReconditioningDateTimeActual"/>
-            <xsd:enumeration value="EquipmentRepairReadyDateTimeUltimate"/>
-            <xsd:enumeration value="EquipmentReturnPeriodExpected"/>
-            <xsd:enumeration value="EquipmentStockCheckDateTime"/>
-            <xsd:enumeration value="EscalationDate"/>
-            <xsd:enumeration value="EscalationStartDate"/>
-            <xsd:enumeration value="EstablishedDate"/>
-            <xsd:enumeration value="EstimateComment"/>
-            <xsd:enumeration value="Estimated"/>
-            <xsd:enumeration value="EstimatedAcceptanceDate"/>
-            <xsd:enumeration value="ArrivalDateTimeEstimated"/>
-            <xsd:enumeration value="CompletionDateOrTimeEstimated"/>
-            <xsd:enumeration value="EstimatedCompletion-FirstPriorMonth"/>
-            <xsd:enumeration value="EstimatedCompletion-SecondPriorMonth"/>
-            <xsd:enumeration value="EstimatedCompletion-ThirdPriorMonth"/>
-            <xsd:enumeration value="ConstructionDateEstimated"/>
-            <xsd:enumeration value="DateOfBirthEstimated"/>
-            <xsd:enumeration value="DeliveryDateTimeEstimated"/>
-            <xsd:enumeration value="DepartureDateTimeEstimated"/>
-            <xsd:enumeration value="EstimatedEscrowClosing"/>
-            <xsd:enumeration value="EstimatedImmigrationDate"/>
-            <xsd:enumeration value="EstimatedPointOfArrival"/>
-            <xsd:enumeration value="EstimatedPointOfDischarge"/>
-            <xsd:enumeration value="EstimatedPortOfEntry"/>
-            <xsd:enumeration value="StartDateEstimated"/>
-            <xsd:enumeration value="EstimatedStart-FirstPriorMonth"/>
-            <xsd:enumeration value="EstimatedStart-SecondPriorMonth"/>
-            <xsd:enumeration value="EstimatedStart-ThirdPriorMonth"/>
-            <xsd:enumeration value="EstimatePreparation"/>
-            <xsd:enumeration value="EvaluationDate"/>
-            <xsd:enumeration value="EventDate"/>
-            <xsd:enumeration value="Examination"/>
-            <xsd:enumeration value="ExecutionDate"/>
-            <xsd:enumeration value="ExecutionDateTimeRequested"/>
-            <xsd:enumeration value="ExitPlantDate"/>
-            <xsd:enumeration value="ExpectedContainerHireFromDateTime"/>
-            <xsd:enumeration value="ExpectedFundingDate"/>
-            <xsd:enumeration value="ExpectedProblemResolutionDate"/>
-            <xsd:enumeration value="ExpectedReply"/>
-            <xsd:enumeration value="ExpectedValueDate"/>
-            <xsd:enumeration value="ExpeditedOn"/>
-            <xsd:enumeration value="Expiration"/>
-            <xsd:enumeration value="ExpirationDateOfExtensionToAssign"/>
-            <xsd:enumeration value="ExpirationDateOfExtensiontoForeclose"/>
-            <xsd:enumeration value="ExpirationDateTimeOfCustomsDocument"/>
-            <xsd:enumeration value="ExpirationDateToSubmitTitleEvidence"/>
-            <xsd:enumeration value="ExpirationOfExtensionToConvey"/>
-            <xsd:enumeration value="ExpirationOfExtensionToSubmitFiscalData"/>
-            <xsd:enumeration value="ExpirationOfForeclosureTimeframe"/>
-            <xsd:enumeration value="ExpiryDate"/>
-            <xsd:enumeration value="ExpiryDateOfExportLicence"/>
-            <xsd:enumeration value="ExpiryDateOfImportLicence"/>
-            <xsd:enumeration value="Explantation"/>
-            <xsd:enumeration value="ExportationDate"/>
-            <xsd:enumeration value="ExportationDateForTextiles"/>
-            <xsd:enumeration value="Exposure"/>
-            <xsd:enumeration value="ExposureSourcePeriod"/>
-            <xsd:enumeration value="Extended"/>
-            <xsd:enumeration value="Extract"/>
-            <xsd:enumeration value="FacsimileDueBy"/>
-            <xsd:enumeration value="Failed"/>
-            <xsd:enumeration value="FailureModeEffective"/>
-            <xsd:enumeration value="FeasibilitySignOff"/>
-            <xsd:enumeration value="FederalHighwayAdministrationFhwaInspectionDate"/>
-            <xsd:enumeration value="FeeCapitalization"/>
-            <xsd:enumeration value="FieldFailure"/>
-            <xsd:enumeration value="FieldTest"/>
-            <xsd:enumeration value="FileGenerationDateAndOrTime"/>
-            <xsd:enumeration value="FilingPeriod"/>
-            <xsd:enumeration value="FinalIssue"/>
-            <xsd:enumeration value="FinalReconciliationValueEstimateAsOf"/>
-            <xsd:enumeration value="FinalScheduledPayment"/>
-            <xsd:enumeration value="FinancialCoveragePeriod"/>
-            <xsd:enumeration value="FinancialInformationDate"/>
-            <xsd:enumeration value="FinancialInformationSubmissionDateTime"/>
-            <xsd:enumeration value="FinishDateOrTimeMandatory"/>
-            <xsd:enumeration value="FinishDateOrTimeEarliest"/>
-            <xsd:enumeration value="FinishDateOrTimeLatest"/>
-            <xsd:enumeration value="FirstContact"/>
-            <xsd:enumeration value="FirstDateOfOrdering"/>
-            <xsd:enumeration value="FirstInterestBearingDate"/>
-            <xsd:enumeration value="FirstInterestPaymentDue"/>
-            <xsd:enumeration value="FirstInvolvement"/>
-            <xsd:enumeration value="FirstIssue"/>
-            <xsd:enumeration value="FirstMarketed"/>
-            <xsd:enumeration value="FirstPaymentChange"/>
-            <xsd:enumeration value="FirstPaymentDue"/>
-            <xsd:enumeration value="FirstProduced"/>
-            <xsd:enumeration value="FirstPublishedDate"/>
-            <xsd:enumeration value="FirstRateAdjustment"/>
-            <xsd:enumeration value="FirstSaleDateAndOrTimeAndOrPeriod"/>
-            <xsd:enumeration value="FirstSubmission"/>
-            <xsd:enumeration value="FirstVisitorConsultation"/>
-            <xsd:enumeration value="FiscalAnniversary"/>
-            <xsd:enumeration value="FlatExtraEnd"/>
-            <xsd:enumeration value="FlatExtraPeriod"/>
-            <xsd:enumeration value="ForecastPeriod"/>
-            <xsd:enumeration value="ForecastPeriodEndDate"/>
-            <xsd:enumeration value="ForecastPeriodStart"/>
-            <xsd:enumeration value="Formation"/>
-            <xsd:enumeration value="FreightBillDateTime"/>
-            <xsd:enumeration value="FromDateOfAwardToCompletion"/>
-            <xsd:enumeration value="FromDateOfAwardToDelivery"/>
-            <xsd:enumeration value="FromDateOfAwardToEarliestDelivery"/>
-            <xsd:enumeration value="FromDateOfAwardToLatestDelivery"/>
-            <xsd:enumeration value="FromDateOfNoticeToProceedToCommencementOf"/>
-            <xsd:enumeration value="FromDateOfNoticeToProceedToCompletion"/>
-            <xsd:enumeration value="FromDateOfOrderReceiptToDelivery"/>
-            <xsd:enumeration value="FromDateOfOrderReceiptToSampleReady"/>
-            <xsd:enumeration value="FromDateOfOrderReceiptToShipment"/>
-            <xsd:enumeration value="FromDateOfReceiptOfItemToApproval"/>
-            <xsd:enumeration value="FromDateOfReceiptOfToolingAidsToSampleReady"/>
-            <xsd:enumeration value="FromDateOfSampleApprovalToFirstProductShipment"/>
-            <xsd:enumeration value="FromDateOfToolingAuthorizationToSampleReady"/>
-            <xsd:enumeration value="FromLastBookedOrderToDelivery"/>
-            <xsd:enumeration value="FumigationDateAndOrTime"/>
-            <xsd:enumeration value="FunctionalTest"/>
-            <xsd:enumeration value="FundsAppropriation-End"/>
-            <xsd:enumeration value="FundsAppropriation-Start"/>
-            <xsd:enumeration value="FuturePeriod"/>
-            <xsd:enumeration value="GallonsPerMinuteTestPerformed"/>
-            <xsd:enumeration value="GoodsCollectionOrPickUpDateTimePlanned"/>
-            <xsd:enumeration value="GoodsPositioningDateTimeExpected"/>
-            <xsd:enumeration value="GoodsPositioningDateTimePlanned"/>
-            <xsd:enumeration value="GoodsReceiptDateTime"/>
-            <xsd:enumeration value="GraduationDate"/>
-            <xsd:enumeration value="GroupContractEffective"/>
-            <xsd:enumeration value="GroupContractExpiration"/>
-            <xsd:enumeration value="GuaranteeDate"/>
-            <xsd:enumeration value="GuaranteePeriod"/>
-            <xsd:enumeration value="GuarantorReceived"/>
-            <xsd:enumeration value="HandOverDateTimeActual"/>
-            <xsd:enumeration value="HandOverDateTimePlanned"/>
-            <xsd:enumeration value="HighCapitalYear"/>
-            <xsd:enumeration value="HighFabricationReleaseAuthorization"/>
-            <xsd:enumeration value="HighRawMaterialAuthorization"/>
-            <xsd:enumeration value="HiredFromDate"/>
-            <xsd:enumeration value="HiredUntilDate"/>
-            <xsd:enumeration value="HoldAsOf"/>
-            <xsd:enumeration value="HoldAsStockAsOf"/>
-            <xsd:enumeration value="Holiday"/>
-            <xsd:enumeration value="HolidayFinish"/>
-            <xsd:enumeration value="HolidayStart"/>
-            <xsd:enumeration value="Homestead"/>
-            <xsd:enumeration value="HorizonEndDate"/>
-            <xsd:enumeration value="HorizonPeriod"/>
-            <xsd:enumeration value="HorizonStartDate"/>
-            <xsd:enumeration value="HosesConnectedDateTime"/>
-            <xsd:enumeration value="HosesDisconnectedDateTime"/>
-            <xsd:enumeration value="HospitalAdmissionDateAndOrTime"/>
-            <xsd:enumeration value="HospitalDischargeDateAndOrTime"/>
-            <xsd:enumeration value="HydrotestDate"/>
-            <xsd:enumeration value="Illness"/>
-            <xsd:enumeration value="IllnessBegin"/>
-            <xsd:enumeration value="IllnessRecoveryDateExpected"/>
-            <xsd:enumeration value="ImmigrationDate"/>
-            <xsd:enumeration value="Implantation"/>
-            <xsd:enumeration value="ImplementationDateTimePeriod"/>
-            <xsd:enumeration value="Import"/>
-            <xsd:enumeration value="ImportationDate"/>
-            <xsd:enumeration value="ImportLicenceDate"/>
-            <xsd:enumeration value="InactivityEndDate"/>
-            <xsd:enumeration value="Inactivity"/>
-            <xsd:enumeration value="InboundMovementAuthorizationDate"/>
-            <xsd:enumeration value="Incident"/>
-            <xsd:enumeration value="Income"/>
-            <xsd:enumeration value="IncomeDocumentationExpiration"/>
-            <xsd:enumeration value="IncomeIncreasePeriod"/>
-            <xsd:enumeration value="IncomePeriod"/>
-            <xsd:enumeration value="IncorporationDate"/>
-            <xsd:enumeration value="IncorporationDissolution"/>
-            <xsd:enumeration value="IncumbencyPeriod"/>
-            <xsd:enumeration value="IndividualEducationPlanIEP"/>
-            <xsd:enumeration value="In-force"/>
-            <xsd:enumeration value="InformationReleaseAuthorizationDate"/>
-            <xsd:enumeration value="InitialClaim"/>
-            <xsd:enumeration value="InitialCompletion"/>
-            <xsd:enumeration value="InitialContactDate"/>
-            <xsd:enumeration value="InitialDisabilityPeriodEnd"/>
-            <xsd:enumeration value="InitialDisabilityPeriodLastDayWorked"/>
-            <xsd:enumeration value="InitialDisabilityPeriodReturnToWork"/>
-            <xsd:enumeration value="InitialDisabilityPeriodStart"/>
-            <xsd:enumeration value="InitialFeeDue"/>
-            <xsd:enumeration value="InitialFinancialAccountsFiledDate"/>
-            <xsd:enumeration value="PlacementDateInitial"/>
-            <xsd:enumeration value="InitialPremium"/>
-            <xsd:enumeration value="InitialPremiumEffective"/>
-            <xsd:enumeration value="InitialRequestDate"/>
-            <xsd:enumeration value="InitialTreatment"/>
-            <xsd:enumeration value="InjuryBegin"/>
-            <xsd:enumeration value="InjuryEnd"/>
-            <xsd:enumeration value="InjuryOrIllness"/>
-            <xsd:enumeration value="InlandShip"/>
-            <xsd:enumeration value="InquiryDate"/>
-            <xsd:enumeration value="InServiceSurveyDate"/>
-            <xsd:enumeration value="InsolvencyDischargeGrantedDate"/>
-            <xsd:enumeration value="InspectionDate"/>
-            <xsd:enumeration value="InstallationDateTimePeriod"/>
-            <xsd:enumeration value="InstallmentDate"/>
-            <xsd:enumeration value="InstalmentPaymentDueDate"/>
-            <xsd:enumeration value="InstructionsOriginalExecutionDate"/>
-            <xsd:enumeration value="InsufficientAssetsJudgementDate"/>
-            <xsd:enumeration value="InsuranceCard"/>
-            <xsd:enumeration value="InterestCapitalization"/>
-            <xsd:enumeration value="InterestPaidThrough"/>
-            <xsd:enumeration value="InterestPaidTo"/>
-            <xsd:enumeration value="InterestPeriod"/>
-            <xsd:enumeration value="InterestRateValidityPeriod"/>
-            <xsd:enumeration value="InternationalAssessmentApprovalForPublicationDate"/>
-            <xsd:enumeration value="InternationalReviewCycleStartDate"/>
-            <xsd:enumeration value="InterruptionEnd"/>
-            <xsd:enumeration value="InterruptionStart"/>
-            <xsd:enumeration value="InterviewedDate"/>
-            <xsd:enumeration value="InterviewerSigned"/>
-            <xsd:enumeration value="Inventory"/>
-            <xsd:enumeration value="InventoryReportDate"/>
-            <xsd:enumeration value="InvestigationEndDate"/>
-            <xsd:enumeration value="InvestigationStartDate"/>
-            <xsd:enumeration value="InvestmentNumberAllocationDate"/>
-            <xsd:enumeration value="InvitationToTenderDateTime"/>
-            <xsd:enumeration value="InvoiceDateTime"/>
-            <xsd:enumeration value="InvoiceDateRequired"/>
-            <xsd:enumeration value="InvoicePeriodEnd"/>
-            <xsd:enumeration value="InvoicePeriodStart"/>
-            <xsd:enumeration value="InvoicingPeriod"/>
-            <xsd:enumeration value="IrregularInterestPaymentDue"/>
-            <xsd:enumeration value="IssueDate"/>
-            <xsd:enumeration value="ItemContractEffective"/>
-            <xsd:enumeration value="ItemContractExpiration"/>
-            <xsd:enumeration value="JoinedEmployerDate"/>
-            <xsd:enumeration value="JoinedFundDateTime"/>
-            <xsd:enumeration value="JudgementDate"/>
-            <xsd:enumeration value="Judgment"/>
-            <xsd:enumeration value="KeyEventCalendarYear"/>
-            <xsd:enumeration value="KeyEventFiscalYear"/>
-            <xsd:enumeration value="LabourWageDeterminationDate"/>
-            <xsd:enumeration value="LastActivityDate"/>
-            <xsd:enumeration value="LastAnnualReportDate"/>
-            <xsd:enumeration value="LastCapitalChangeDate"/>
-            <xsd:enumeration value="LastCertification"/>
-            <xsd:enumeration value="LastChange"/>
-            <xsd:enumeration value="LastCheckForBalanceSheetUpdateDate"/>
-            <xsd:enumeration value="LastCivilianFlight"/>
-            <xsd:enumeration value="LastDateForAGovernmentAgencyToFileAClaim"/>
-            <xsd:enumeration value="LastDateOfAccountsFiledAtPublicRegister"/>
-            <xsd:enumeration value="LastDateOfOrdering"/>
-            <xsd:enumeration value="LastDateToFileAClaim"/>
-            <xsd:enumeration value="LastDateToObject"/>
-            <xsd:enumeration value="LastEpisode"/>
-            <xsd:enumeration value="LastFlight"/>
-            <xsd:enumeration value="LastFollow-up"/>
-            <xsd:enumeration value="LastInsuranceMedical"/>
-            <xsd:enumeration value="LastInterestBearingDate"/>
-            <xsd:enumeration value="LastItemDelivery"/>
-            <xsd:enumeration value="LastLogged"/>
-            <xsd:enumeration value="LastMarketed"/>
-            <xsd:enumeration value="LastMeal"/>
-            <xsd:enumeration value="LastMenstrualCycleStartDate"/>
-            <xsd:enumeration value="LastMenstrualPeriod"/>
-            <xsd:enumeration value="LastMilitaryFlight"/>
-            <xsd:enumeration value="LastNotification"/>
-            <xsd:enumeration value="LastOffHireDate"/>
-            <xsd:enumeration value="LastOnHireDate"/>
-            <xsd:enumeration value="LastPaidInstallmentDate"/>
-            <xsd:enumeration value="LastPaymentMade"/>
-            <xsd:enumeration value="LastPhysical"/>
-            <xsd:enumeration value="LastPremiumEffective"/>
-            <xsd:enumeration value="LastPremiumPaidDate"/>
-            <xsd:enumeration value="LastProduction"/>
-            <xsd:enumeration value="LastPublication"/>
-            <xsd:enumeration value="LastPublishedDate"/>
-            <xsd:enumeration value="LastSalaryIncrease"/>
-            <xsd:enumeration value="LastSaleDateAndOrTimeAndOrPeriod"/>
-            <xsd:enumeration value="LastScreening"/>
-            <xsd:enumeration value="LastSeenDate"/>
-            <xsd:enumeration value="LastVisitDate"/>
-            <xsd:enumeration value="LastXRayDate"/>
-            <xsd:enumeration value="LateFinish"/>
-            <xsd:enumeration value="LatestAbsence"/>
-            <xsd:enumeration value="LateStart"/>
-            <xsd:enumeration value="LatestBalanceSheet"/>
-            <xsd:enumeration value="LatestCheckInTime"/>
-            <xsd:enumeration value="LatestDeliveryDateatPier"/>
-            <xsd:enumeration value="LatestDeliveryDateAtRailRamp"/>
-            <xsd:enumeration value="LatestFilingPeriod"/>
-            <xsd:enumeration value="LatestMaterialSafetyDataSheetDate"/>
-            <xsd:enumeration value="LatestMeterReadingDate"/>
-            <xsd:enumeration value="LatestOnBoardCarrierDate"/>
-            <xsd:enumeration value="LatestPriceAdjustmentDate"/>
-            <xsd:enumeration value="LatestReceivingDateCutoffDate"/>
-            <xsd:enumeration value="LatestVisitorConsultation"/>
-            <xsd:enumeration value="LayTimeFirstDay"/>
-            <xsd:enumeration value="LayTimeLastDay"/>
-            <xsd:enumeration value="LeadTime"/>
-            <xsd:enumeration value="LeaseCommencement"/>
-            <xsd:enumeration value="LeasePeriod"/>
-            <xsd:enumeration value="LeaseTermEndDate"/>
-            <xsd:enumeration value="LeaseTermStartDate"/>
-            <xsd:enumeration value="LeftEmployerDate"/>
-            <xsd:enumeration value="LegalActionClosedDate"/>
-            <xsd:enumeration value="LegalActionStarted"/>
-            <xsd:enumeration value="LegalSettlementTermsMetDate"/>
-            <xsd:enumeration value="LegalStructureChangeDate"/>
-            <xsd:enumeration value="LenderCreditCheck"/>
-            <xsd:enumeration value="LetterOfAgreementDate"/>
-            <xsd:enumeration value="LetterOfLiabilityDate"/>
-            <xsd:enumeration value="License"/>
-            <xsd:enumeration value="LicenseEffective"/>
-            <xsd:enumeration value="LicenseExpiration"/>
-            <xsd:enumeration value="LicenseRenewal"/>
-            <xsd:enumeration value="LicenseRequested"/>
-            <xsd:enumeration value="Lien"/>
-            <xsd:enumeration value="LiquidationDate"/>
-            <xsd:enumeration value="ListingReceived"/>
-            <xsd:enumeration value="ListPriceChange"/>
-            <xsd:enumeration value="LoadedonVessel"/>
-            <xsd:enumeration value="LoadingDateTimeActual"/>
-            <xsd:enumeration value="Loan"/>
-            <xsd:enumeration value="LoanPurchase"/>
-            <xsd:enumeration value="LoanServicingTransfer"/>
-            <xsd:enumeration value="LocationExceptionOrderNumberAssigned"/>
-            <xsd:enumeration value="Loss"/>
-            <xsd:enumeration value="LotNumberExpiration"/>
-            <xsd:enumeration value="LowestActivityPeriod"/>
-            <xsd:enumeration value="LowPeriod"/>
-            <xsd:enumeration value="MailBy"/>
-            <xsd:enumeration value="MailingDate"/>
-            <xsd:enumeration value="MailReceiptDate"/>
-            <xsd:enumeration value="Maintenance"/>
-            <xsd:enumeration value="MaintenanceComment"/>
-            <xsd:enumeration value="MaintenanceEffective"/>
-            <xsd:enumeration value="MakegoodCommercialDate"/>
-            <xsd:enumeration value="ManagementAvailableDate"/>
-            <xsd:enumeration value="ManagerNotRegisteredAsOfGivenDate"/>
-            <xsd:enumeration value="MandatoryOrTargetFinish"/>
-            <xsd:enumeration value="MandatoryOrTargetStart"/>
-            <xsd:enumeration value="ManifestShipNoticeDate"/>
-            <xsd:enumeration value="Manufacture"/>
-            <xsd:enumeration value="Map"/>
-            <xsd:enumeration value="DateOfMarriage"/>
-            <xsd:enumeration value="MasterLeaseAgreement"/>
-            <xsd:enumeration value="MaterialChangeNotice"/>
-            <xsd:enumeration value="MaterialClassification"/>
-            <xsd:enumeration value="MaterialSpecification"/>
-            <xsd:enumeration value="Maturity"/>
-            <xsd:enumeration value="MaturityDate"/>
-            <xsd:enumeration value="MaximumCreditGrantedDate"/>
-            <xsd:enumeration value="MeatAgeingPeriod"/>
-            <xsd:enumeration value="Medicaid"/>
-            <xsd:enumeration value="MedicaidBegin"/>
-            <xsd:enumeration value="MedicaidEnd"/>
-            <xsd:enumeration value="MedicalCertificate"/>
-            <xsd:enumeration value="MedicalInformationSignature"/>
-            <xsd:enumeration value="MedicalInformationSystem"/>
-            <xsd:enumeration value="Medicare"/>
-            <xsd:enumeration value="MedicareBegin"/>
-            <xsd:enumeration value="MedicareEnd"/>
-            <xsd:enumeration value="MedicarePartACoverageEffectiveDate"/>
-            <xsd:enumeration value="MedicarePartAEligibilityBeginDate"/>
-            <xsd:enumeration value="MedicarePartAEligibilityEndDate"/>
-            <xsd:enumeration value="MedicarePartATerminationDate"/>
-            <xsd:enumeration value="MedicarePartBCoverageEffectiveDate"/>
-            <xsd:enumeration value="MedicarePartBEligibilityBeginDate"/>
-            <xsd:enumeration value="MedicarePartBEligibilityEndDate"/>
-            <xsd:enumeration value="MedicarePartBTerminationDate"/>
-            <xsd:enumeration value="Medication"/>
-            <xsd:enumeration value="MeetingDate"/>
-            <xsd:enumeration value="Merger"/>
-            <xsd:enumeration value="Message"/>
-            <xsd:enumeration value="MeterReading"/>
-            <xsd:enumeration value="MidpointOfPerformance"/>
-            <xsd:enumeration value="MinimumRequiredDistribution"/>
-            <xsd:enumeration value="MinimumShelfLifeRemainingAtTimeOfDespatchPeriod"/>
-            <xsd:enumeration value="MinimumShelfLifeRemainingAtTimeOfReceipt"/>
-            <xsd:enumeration value="MonthEnding"/>
-            <xsd:enumeration value="MonthToDate"/>
-            <xsd:enumeration value="MooringDateAndTime"/>
-            <xsd:enumeration value="MortgageeOfficialSignatureDate"/>
-            <xsd:enumeration value="MortgageeReportedCurtailmentDate"/>
-            <xsd:enumeration value="MortgageNoteDate"/>
-            <xsd:enumeration value="MostLikelyEarlyFinish"/>
-            <xsd:enumeration value="MostLikelyEarlyStart"/>
-            <xsd:enumeration value="MostLikelyLateFinish"/>
-            <xsd:enumeration value="MostLikelyLateStart"/>
-            <xsd:enumeration value="MostRecentHemoglobinOrHematocritOrBoth"/>
-            <xsd:enumeration value="MostRecentRenewal"/>
-            <xsd:enumeration value="MostRecentRevisionorInitialVersion"/>
-            <xsd:enumeration value="MostRecentSerumCreatine"/>
-            <xsd:enumeration value="MovedFromLocationDate"/>
-            <xsd:enumeration value="NegotiatedExtensionDate"/>
-            <xsd:enumeration value="NegotiatedFinish"/>
-            <xsd:enumeration value="NegotiatedStart"/>
-            <xsd:enumeration value="NegotiationsStartDate"/>
-            <xsd:enumeration value="NetCreditServiceDate"/>
-            <xsd:enumeration value="NetWorthDate"/>
-            <xsd:enumeration value="NextActivity"/>
-            <xsd:enumeration value="NextAnniversary"/>
-            <xsd:enumeration value="NextAnnualMeeting"/>
-            <xsd:enumeration value="NextInstallmentDueDate"/>
-            <xsd:enumeration value="NextInterestChangeDate"/>
-            <xsd:enumeration value="NextPayIncrease"/>
-            <xsd:enumeration value="NextPaymentDue"/>
-            <xsd:enumeration value="NextReviewDate"/>
-            <xsd:enumeration value="NonWorking"/>
-            <xsd:enumeration value="NoProductionScheduleEstablishedAsOf"/>
-            <xsd:enumeration value="NoPromiseAsOf"/>
-            <xsd:enumeration value="NoShippingScheduleEstablishedAsOf"/>
-            <xsd:enumeration value="NotAfter"/>
-            <xsd:enumeration value="NotBefore"/>
-            <xsd:enumeration value="Note"/>
-            <xsd:enumeration value="Notice"/>
-            <xsd:enumeration value="NotificationDateTime"/>
-            <xsd:enumeration value="NotificationOfDeath"/>
-            <xsd:enumeration value="NotificationTimeLimit"/>
-            <xsd:enumeration value="Notified"/>
-            <xsd:enumeration value="NotRegistered"/>
-            <xsd:enumeration value="NotRegisteredAsOfGivenDate"/>
-            <xsd:enumeration value="NursingHome"/>
-            <xsd:enumeration value="NursingHomeFrom"/>
-            <xsd:enumeration value="NursingHomeTo"/>
-            <xsd:enumeration value="Occupancy"/>
-            <xsd:enumeration value="Occurrence"/>
-            <xsd:enumeration value="OccurrenceSpan"/>
-            <xsd:enumeration value="OccurrenceSpanFrom"/>
-            <xsd:enumeration value="OccurrenceSpanTo"/>
-            <xsd:enumeration value="OfferExpiration"/>
-            <xsd:enumeration value="OffHireSurveyDate"/>
-            <xsd:enumeration value="OffHold"/>
-            <xsd:enumeration value="OfficialRailCarInterchangeEitherActualorAgreedUpon"/>
-            <xsd:enumeration value="Off-Market"/>
-            <xsd:enumeration value="Offset"/>
-            <xsd:enumeration value="OffsetBegin"/>
-            <xsd:enumeration value="OffsetEnd"/>
-            <xsd:enumeration value="OffsetFromCoordinatedUniversalTimeUtc"/>
-            <xsd:enumeration value="OldestUnpaidInstallment"/>
-            <xsd:enumeration value="On"/>
-            <xsd:enumeration value="OnBoardDate"/>
-            <xsd:enumeration value="OnHireSurveyDate"/>
-            <xsd:enumeration value="OnHold"/>
-            <xsd:enumeration value="OnsetOfCurrentSymptomsOrIllness"/>
-            <xsd:enumeration value="OnsetOfSimilarSymptomsOrIllness"/>
-            <xsd:enumeration value="OpenHouse"/>
-            <xsd:enumeration value="OpeningDate"/>
-            <xsd:enumeration value="OperationsCeasedDate"/>
-            <xsd:enumeration value="Opinion"/>
-            <xsd:enumeration value="OptimisticEarlyFinish"/>
-            <xsd:enumeration value="OptimisticEarlyStart"/>
-            <xsd:enumeration value="OptimisticLateFinish"/>
-            <xsd:enumeration value="OptimisticLateStart"/>
-            <xsd:enumeration value="Option"/>
-            <xsd:enumeration value="Order"/>
-            <xsd:enumeration value="OrderAmendmentBindingDate"/>
-            <xsd:enumeration value="OrderCompletionDateTimeUltimate"/>
-            <xsd:enumeration value="OrderDateTime"/>
-            <xsd:enumeration value="OrderEnd"/>
-            <xsd:enumeration value="OrderReceivedDateTime"/>
-            <xsd:enumeration value="OrderStart"/>
-            <xsd:enumeration value="OrderToProceedDate"/>
-            <xsd:enumeration value="Original"/>
-            <xsd:enumeration value="OriginalDueDate"/>
-            <xsd:enumeration value="OriginalDuration"/>
-            <xsd:enumeration value="OriginalEarlyFinish"/>
-            <xsd:enumeration value="OriginalEarlyStart"/>
-            <xsd:enumeration value="OriginalEstimateDate"/>
-            <xsd:enumeration value="OriginalIssueAge"/>
-            <xsd:enumeration value="OriginalList"/>
-            <xsd:enumeration value="OriginallyScheduledShip"/>
-            <xsd:enumeration value="OriginalMaturityDate"/>
-            <xsd:enumeration value="OriginalNameChangeDate"/>
-            <xsd:enumeration value="OriginalPostingDate"/>
-            <xsd:enumeration value="OriginalReceipt"/>
-            <xsd:enumeration value="OrthodonticTreatmentPeriodRemaining"/>
-            <xsd:enumeration value="OrthodonticTreatmentPeriodTotal"/>
-            <xsd:enumeration value="Out-Of-Pocket"/>
-            <xsd:enumeration value="OutsideAuditorsReport"/>
-            <xsd:enumeration value="Overhauled"/>
-            <xsd:enumeration value="OverrideDateForSettlement"/>
-            <xsd:enumeration value="OverTargetBaselineMonth"/>
-            <xsd:enumeration value="OvertimeEndDate"/>
-            <xsd:enumeration value="OvertimeStartDate"/>
-            <xsd:enumeration value="OwnershipChangeDate"/>
-            <xsd:enumeration value="OwnershipPeriod"/>
-            <xsd:enumeration value="OxygenSaturationTest"/>
-            <xsd:enumeration value="OxygenTherapy"/>
-            <xsd:enumeration value="OxygenTherapyEvaluation"/>
-            <xsd:enumeration value="OxygenTherapyFrom"/>
-            <xsd:enumeration value="OxygenTherapyTo"/>
-            <xsd:enumeration value="PackingEndDate"/>
-            <xsd:enumeration value="PackingStartDate"/>
-            <xsd:enumeration value="PaidInFull"/>
-            <xsd:enumeration value="PaidThroughDate"/>
-            <xsd:enumeration value="Paid-ThroughDateForAccruedSickPay"/>
-            <xsd:enumeration value="PaidThroughDateForMinimumPayment"/>
-            <xsd:enumeration value="Paid-ThroughDateForSalaryContinuation"/>
-            <xsd:enumeration value="PaidThroughDateForTotalPayment"/>
-            <xsd:enumeration value="Paid-ThroughDateForVacationPay"/>
-            <xsd:enumeration value="PaidToDate"/>
-            <xsd:enumeration value="Paid-up"/>
-            <xsd:enumeration value="PaperworkMailed"/>
-            <xsd:enumeration value="PartialAnnuitization"/>
-            <xsd:enumeration value="ParticipationDate"/>
-            <xsd:enumeration value="PartTimeWorkingChangeDateTime"/>
-            <xsd:enumeration value="PastDue"/>
-            <xsd:enumeration value="PatientFirstVisitForCondition"/>
-            <xsd:enumeration value="PaymentCommencement"/>
-            <xsd:enumeration value="PaymentDate"/>
-            <xsd:enumeration value="PaymentDateTimeDeferred"/>
-            <xsd:enumeration value="PaymentDueDate"/>
-            <xsd:enumeration value="PaymentEffective"/>
-            <xsd:enumeration value="PaymentInitiated"/>
-            <xsd:enumeration value="PaymentInstructionDateTime"/>
-            <xsd:enumeration value="PaymentIssue"/>
-            <xsd:enumeration value="PaymentPeriod"/>
-            <xsd:enumeration value="PaymentPeriodEnd"/>
-            <xsd:enumeration value="PaymentPeriodStart"/>
-            <xsd:enumeration value="PaymentValuationPresentationDateTime"/>
-            <xsd:enumeration value="PayrollDeductionDateTime"/>
-            <xsd:enumeration value="PayrollPeriod"/>
-            <xsd:enumeration value="PayrollPeriodBegin"/>
-            <xsd:enumeration value="PayrollPeriodEnd"/>
-            <xsd:enumeration value="PeakActivityPeriod"/>
-            <xsd:enumeration value="PeerReviewOrganizationPROApprovedStay"/>
-            <xsd:enumeration value="PeerReviewOrganizationPROApprovedStayFrom"/>
-            <xsd:enumeration value="PeerReviewOrganizationPROApprovedStayTo"/>
-            <xsd:enumeration value="Penalty"/>
-            <xsd:enumeration value="PenaltyBegin"/>
-            <xsd:enumeration value="PenaltyEnd"/>
-            <xsd:enumeration value="PendingArchive"/>
-            <xsd:enumeration value="PercolationTest"/>
-            <xsd:enumeration value="PeriodAnEventIsLateDueToCustomer"/>
-            <xsd:enumeration value="PeriodAssigned"/>
-            <xsd:enumeration value="PeriodBetweenChanges"/>
-            <xsd:enumeration value="PeriodCoveredBySourceDocuments"/>
-            <xsd:enumeration value="PeriodEnd"/>
-            <xsd:enumeration value="PeriodExtended"/>
-            <xsd:enumeration value="PeriodicInspectionDate"/>
-            <xsd:enumeration value="PeriodOfCareEndDateAndOrTime"/>
-            <xsd:enumeration value="PeriodOfCareStartDateAndOrTime"/>
-            <xsd:enumeration value="PeriodOfIllnessEndDate"/>
-            <xsd:enumeration value="PeriodOfIllnessStartDate"/>
-            <xsd:enumeration value="PeriodOverdue"/>
-            <xsd:enumeration value="PeriodStart"/>
-            <xsd:enumeration value="PeriodWorkedForTheCompany"/>
-            <xsd:enumeration value="PermitToAdmitDate"/>
-            <xsd:enumeration value="PermitYear"/>
-            <xsd:enumeration value="PessimisticEarlyFinish"/>
-            <xsd:enumeration value="PessimisticEarlyStart"/>
-            <xsd:enumeration value="PessimisticLateFinish"/>
-            <xsd:enumeration value="PessimisticLateStart"/>
-            <xsd:enumeration value="PickUpCollectionDateTimeOfCargo"/>
-            <xsd:enumeration value="PickUpDateTimeOfEquipment"/>
-            <xsd:enumeration value="Placement"/>
-            <xsd:enumeration value="PlacementDate"/>
-            <xsd:enumeration value="PlacementDatePrevious"/>
-            <xsd:enumeration value="PlacementPeriodExpiration"/>
-            <xsd:enumeration value="Plan"/>
-            <xsd:enumeration value="PlanAnniversary"/>
-            <xsd:enumeration value="PlanBegin"/>
-            <xsd:enumeration value="PlanEnd"/>
-            <xsd:enumeration value="PlanEntry"/>
-            <xsd:enumeration value="PlannedDurationOfWorks"/>
-            <xsd:enumeration value="PlannedRelease"/>
-            <xsd:enumeration value="PlanOfTreatmentPeriod"/>
-            <xsd:enumeration value="PlanParticipationSuspension"/>
-            <xsd:enumeration value="PlanPeriodElection"/>
-            <xsd:enumeration value="PlanPeriodElectionBegin"/>
-            <xsd:enumeration value="PlanPeriodElectionEnd"/>
-            <xsd:enumeration value="PlanTermination"/>
-            <xsd:enumeration value="PluggedAndAbandoned"/>
-            <xsd:enumeration value="PolicyEffective"/>
-            <xsd:enumeration value="PolicyEffectiveOnOrAfter"/>
-            <xsd:enumeration value="PolicyEffectiveOnOrBefore"/>
-            <xsd:enumeration value="PolicyExpiration"/>
-            <xsd:enumeration value="PolicySurrender"/>
-            <xsd:enumeration value="PoolSettlement"/>
-            <xsd:enumeration value="PositioningDateTimeOfEquipment"/>
-            <xsd:enumeration value="PositioningDateTimeOfGoods"/>
-            <xsd:enumeration value="PostingDate"/>
-            <xsd:enumeration value="PostmarkDateTime"/>
-            <xsd:enumeration value="Post-Reclassification"/>
-            <xsd:enumeration value="Post-ReclassificationEndOfSecondYear"/>
-            <xsd:enumeration value="Post-ReclassificationFirstReportCard"/>
-            <xsd:enumeration value="Post-ReclassificationFirstSemi-annual"/>
-            <xsd:enumeration value="Post-ReclassificationSecondSemi-annual"/>
-            <xsd:enumeration value="PrearrangedDealMatch"/>
-            <xsd:enumeration value="Pre-AwardSurvey"/>
-            <xsd:enumeration value="PrecedingPeriod"/>
-            <xsd:enumeration value="Pre-certificationDate"/>
-            <xsd:enumeration value="PreforeclosureAcceptanceDate"/>
-            <xsd:enumeration value="PreforeclosureSaleClosingDate"/>
-            <xsd:enumeration value="PregnancyBegin"/>
-            <xsd:enumeration value="PregnancyDurationActual"/>
-            <xsd:enumeration value="PregnancyEnd"/>
-            <xsd:enumeration value="PremiumChangePeriod"/>
-            <xsd:enumeration value="PremiumPaidToDate"/>
-            <xsd:enumeration value="PremiumPaidToDateBegin"/>
-            <xsd:enumeration value="PremiumPaidToDateEnd"/>
-            <xsd:enumeration value="PreparationDateTimeOfDocument"/>
-            <xsd:enumeration value="Prescription"/>
-            <xsd:enumeration value="PrescriptionDispensingDateAndOrTime"/>
-            <xsd:enumeration value="PrescriptionFill"/>
-            <xsd:enumeration value="PrescriptionFrom"/>
-            <xsd:enumeration value="PrescriptionIssueDateAndOrTime"/>
-            <xsd:enumeration value="PrescriptionTo"/>
-            <xsd:enumeration value="PresentationDateLatest"/>
-            <xsd:enumeration value="PresentationDateOfGoodsDeclarationCustoms"/>
-            <xsd:enumeration value="PresentationToBankruptcyReceiversDate"/>
-            <xsd:enumeration value="PresentControl"/>
-            <xsd:enumeration value="PresentedToReceivers"/>
-            <xsd:enumeration value="PresentLegalStructure"/>
-            <xsd:enumeration value="PresentlyResiding"/>
-            <xsd:enumeration value="PresentmentDate"/>
-            <xsd:enumeration value="PresentName"/>
-            <xsd:enumeration value="PresentResidenceStartDate"/>
-            <xsd:enumeration value="PreviousBookingDateTime"/>
-            <xsd:enumeration value="PreviousCourtEvent"/>
-            <xsd:enumeration value="PreviousCurrentAccountDate"/>
-            <xsd:enumeration value="PreviousEmployment"/>
-            <xsd:enumeration value="PreviousEmploymentEnd"/>
-            <xsd:enumeration value="PreviousEmploymentStart"/>
-            <xsd:enumeration value="PreviousInvoiceDate"/>
-            <xsd:enumeration value="PreviouslyReportedDateOfBirth"/>
-            <xsd:enumeration value="PreviouslyResided"/>
-            <xsd:enumeration value="PreviousMeterReadingDate"/>
-            <xsd:enumeration value="PreviousMonthEnding"/>
-            <xsd:enumeration value="PreviousPeriod"/>
-            <xsd:enumeration value="PreviousReportDate"/>
-            <xsd:enumeration value="PreviousResidence"/>
-            <xsd:enumeration value="PreviousResidenceEnd"/>
-            <xsd:enumeration value="PreviousResidenceStart"/>
-            <xsd:enumeration value="PreviousTerminationDate"/>
-            <xsd:enumeration value="PriceAdjustmentDate"/>
-            <xsd:enumeration value="PriceAdjustmentLimitDate"/>
-            <xsd:enumeration value="PriceAdjustmentStartDate"/>
-            <xsd:enumeration value="PriceBaseDateTime"/>
-            <xsd:enumeration value="PriceProtection"/>
-            <xsd:enumeration value="PrimaryCareProvider"/>
-            <xsd:enumeration value="PrimaryCareProviderBegin"/>
-            <xsd:enumeration value="PrimaryCareProviderEnd"/>
-            <xsd:enumeration value="Printed"/>
-            <xsd:enumeration value="PriorContractAnniversary"/>
-            <xsd:enumeration value="PriorContractIssue"/>
-            <xsd:enumeration value="PriorHospitalizationDatesRelatedToCurrentServices"/>
-            <xsd:enumeration value="PriorIncorrectDateOfBirth"/>
-            <xsd:enumeration value="PriorNotice"/>
-            <xsd:enumeration value="PriorPlacement"/>
-            <xsd:enumeration value="PrivilegeDetailsVerificationDate"/>
-            <xsd:enumeration value="ProcessingDateTime"/>
-            <xsd:enumeration value="ProcessingDatePeriod"/>
-            <xsd:enumeration value="ProcessingEndDateTime"/>
-            <xsd:enumeration value="ProcessingStartDateTime"/>
-            <xsd:enumeration value="ProductAvailabilityDate"/>
-            <xsd:enumeration value="ProductHeldUntil"/>
-            <xsd:enumeration value="Production"/>
-            <xsd:enumeration value="ProductionDateNoScheduleEstablishedAsOf"/>
-            <xsd:enumeration value="ProductionInspectionDate"/>
-            <xsd:enumeration value="ProductionManufactureDate"/>
-            <xsd:enumeration value="ProductLifespanAtTimeOfProduction"/>
-            <xsd:enumeration value="ProfitPeriod"/>
-            <xsd:enumeration value="ProgrammedCalendarYear"/>
-            <xsd:enumeration value="ProgrammedFiscalYear"/>
-            <xsd:enumeration value="ProgressPayment"/>
-            <xsd:enumeration value="ProjectedActionEndDate"/>
-            <xsd:enumeration value="ProjectedForeclosureSaleDate"/>
-            <xsd:enumeration value="ProjectOverTargetBaselineDate"/>
-            <xsd:enumeration value="PromisedForDelivery"/>
-            <xsd:enumeration value="PromisedForDeliveryAfterAndIncluding"/>
-            <xsd:enumeration value="PromisedForDeliveryPriorToAndIncluding"/>
-            <xsd:enumeration value="PromisedForDeliveryWeekOf"/>
-            <xsd:enumeration value="PromisedForShipment"/>
-            <xsd:enumeration value="PromisedForShipmentAfterAndIncluding"/>
-            <xsd:enumeration value="PromisedForShipmentPriortoAndIncluding"/>
-            <xsd:enumeration value="PromisedForShipmentWeekOf"/>
-            <xsd:enumeration value="PromotionDatePeriod"/>
-            <xsd:enumeration value="PromotionEndDateTime"/>
-            <xsd:enumeration value="PromotionFloorStockProtect-End"/>
-            <xsd:enumeration value="PromotionFloorStockProtect-Start"/>
-            <xsd:enumeration value="PromotionInvoicePerformance-End"/>
-            <xsd:enumeration value="PromotionInvoicePerformance-Start"/>
-            <xsd:enumeration value="PromotionOrder-End"/>
-            <xsd:enumeration value="PromotionOrder-Start"/>
-            <xsd:enumeration value="PromotionPerformance-End"/>
-            <xsd:enumeration value="PromotionPerformance-Start"/>
-            <xsd:enumeration value="PromotionRequestedDelivery-End"/>
-            <xsd:enumeration value="PromotionRequestedDelivery-Start"/>
-            <xsd:enumeration value="PromotionShip-End"/>
-            <xsd:enumeration value="PromotionShip-Start"/>
-            <xsd:enumeration value="PromotionStartDateTime"/>
-            <xsd:enumeration value="Property"/>
-            <xsd:enumeration value="PropertyAcquired"/>
-            <xsd:enumeration value="PropertyBuilt"/>
-            <xsd:enumeration value="PrototypeTest"/>
-            <xsd:enumeration value="ProviderSignatureDate"/>
-            <xsd:enumeration value="PublicationDate"/>
-            <xsd:enumeration value="PurchasedDate"/>
-            <xsd:enumeration value="PurchaseOrder"/>
-            <xsd:enumeration value="PurchaseOrderLatestPossibleChangeDate"/>
-            <xsd:enumeration value="PurchaseOrderReceived"/>
-            <xsd:enumeration value="PutIntoService"/>
-            <xsd:enumeration value="QualityRating"/>
-            <xsd:enumeration value="QuarterEnding"/>
-            <xsd:enumeration value="QuotaDate"/>
-            <xsd:enumeration value="Quote"/>
-            <xsd:enumeration value="QuoteToBeReceivedBy"/>
-            <xsd:enumeration value="RateAdjustment"/>
-            <xsd:enumeration value="RateDate"/>
-            <xsd:enumeration value="RateOfExchangeDateTime"/>
-            <xsd:enumeration value="RatePriceDateTime"/>
-            <xsd:enumeration value="ReachedTotalDepth"/>
-            <xsd:enumeration value="ReadyForInspection"/>
-            <xsd:enumeration value="RealEstateProperty"/>
-            <xsd:enumeration value="RealEstateTaxYear"/>
-            <xsd:enumeration value="Rebuilt"/>
-            <xsd:enumeration value="Recapture"/>
-            <xsd:enumeration value="ReceivablesCollectionPeriod"/>
-            <xsd:enumeration value="Received"/>
-            <xsd:enumeration value="ReceiveAtLockboxDate"/>
-            <xsd:enumeration value="ReceivedDateTime"/>
-            <xsd:enumeration value="ReceivedInTheMail"/>
-            <xsd:enumeration value="ReceiverAppointed"/>
-            <xsd:enumeration value="ReceivershipPeriod"/>
-            <xsd:enumeration value="ReceivershipResultDate"/>
-            <xsd:enumeration value="Reclassification"/>
-            <xsd:enumeration value="ReclassificationExitDate"/>
-            <xsd:enumeration value="Recompletion"/>
-            <xsd:enumeration value="RecordedDate"/>
-            <xsd:enumeration value="Recovery"/>
-            <xsd:enumeration value="RecoveryFinish"/>
-            <xsd:enumeration value="RecoveryStart"/>
-            <xsd:enumeration value="Re-entry"/>
-            <xsd:enumeration value="Re-evaluationDate"/>
-            <xsd:enumeration value="ReExportationDate"/>
-            <xsd:enumeration value="ReferenceDateTime"/>
-            <xsd:enumeration value="ReferencedItemCreationDate"/>
-            <xsd:enumeration value="ReferralDate"/>
-            <xsd:enumeration value="ReferredFrom"/>
-            <xsd:enumeration value="ReferredTo"/>
-            <xsd:enumeration value="Refinance"/>
-            <xsd:enumeration value="RefusalPeriod"/>
-            <xsd:enumeration value="Registered"/>
-            <xsd:enumeration value="RegisteredContractorNumberAssignmentDateOriginal"/>
-            <xsd:enumeration value="RegistrationDate"/>
-            <xsd:enumeration value="RegistrationDateOfPreviousCustomsDeclaration"/>
-            <xsd:enumeration value="RegistrationOfBoardOfDirectors"/>
-            <xsd:enumeration value="Rehire"/>
-            <xsd:enumeration value="ReimbursementClaimIssueDateAndOrTime"/>
-            <xsd:enumeration value="ReImportationDate"/>
-            <xsd:enumeration value="ReinstatementDate"/>
-            <xsd:enumeration value="ReinsuranceAccountingPeriod"/>
-            <xsd:enumeration value="ReinsuranceCoverageDuration"/>
-            <xsd:enumeration value="ReinsuranceCurrentAccountPeriod"/>
-            <xsd:enumeration value="ReinsuranceEffective"/>
-            <xsd:enumeration value="ReinsuranceIssueAge"/>
-            <xsd:enumeration value="ReinsurancePaidUpDate"/>
-            <xsd:enumeration value="ReinsurancePaymentFrequency"/>
-            <xsd:enumeration value="Reissue"/>
-            <xsd:enumeration value="Rejected"/>
-            <xsd:enumeration value="ReleaseDateTime"/>
-            <xsd:enumeration value="ReleaseDateCustoms"/>
-            <xsd:enumeration value="ReleaseDateOfCustomer"/>
-            <xsd:enumeration value="ReleaseDateOfSupplier"/>
-            <xsd:enumeration value="ReleasedReturnToWork"/>
-            <xsd:enumeration value="ReleasedToVessel"/>
-            <xsd:enumeration value="ReleaseFrequency"/>
-            <xsd:enumeration value="ReleaseOfInformation"/>
-            <xsd:enumeration value="Remittance"/>
-            <xsd:enumeration value="RemodelingCompleted"/>
-            <xsd:enumeration value="Removed"/>
-            <xsd:enumeration value="RenewalDate"/>
-            <xsd:enumeration value="RentalPeriod"/>
-            <xsd:enumeration value="RentStart"/>
-            <xsd:enumeration value="RentSurvey"/>
-            <xsd:enumeration value="RepairTurnaroundTime"/>
-            <xsd:enumeration value="RepaymentBegin"/>
-            <xsd:enumeration value="RepaymentScheduleSent"/>
-            <xsd:enumeration value="Replaced"/>
-            <xsd:enumeration value="Replacement"/>
-            <xsd:enumeration value="ReplacementEffective"/>
-            <xsd:enumeration value="ReplyDate"/>
-            <xsd:enumeration value="Report"/>
-            <xsd:enumeration value="ReportedDate"/>
-            <xsd:enumeration value="ReportEndDate"/>
-            <xsd:enumeration value="ReportingCycleDate"/>
-            <xsd:enumeration value="ReportPeriod"/>
-            <xsd:enumeration value="ReportStartDate"/>
-            <xsd:enumeration value="Requalification"/>
-            <xsd:enumeration value="Request"/>
-            <xsd:enumeration value="RequestedContract"/>
-            <xsd:enumeration value="RequestedDepartureDate"/>
-            <xsd:enumeration value="RequestedFinish"/>
-            <xsd:enumeration value="DeliveryDateTimeRequestedForAfterAndIncluding"/>
-            <xsd:enumeration value="DeliveryDateTimeRequestedForPriorToAndIncluding"/>
-            <xsd:enumeration value="RequestedForDeliveryWeekOf"/>
-            <xsd:enumeration value="ShipmentDateTimeRequestedForAfterAndIncluding"/>
-            <xsd:enumeration value="ShipmentDateTimeRequestedForPriorToAndIncluding"/>
-            <xsd:enumeration value="RequestedForShipmentWeekOf"/>
-            <xsd:enumeration value="RequestedOffer"/>
-            <xsd:enumeration value="RequestedPick-up"/>
-            <xsd:enumeration value="RequestedSettlement"/>
-            <xsd:enumeration value="RequestedShip"/>
-            <xsd:enumeration value="RequestedStart"/>
-            <xsd:enumeration value="RequestForQuotation"/>
-            <xsd:enumeration value="RequiredBy"/>
-            <xsd:enumeration value="RequiredDelivery"/>
-            <xsd:enumeration value="ReservationOfFacility"/>
-            <xsd:enumeration value="ResidentLicenseEffective"/>
-            <xsd:enumeration value="ResidentLicenseExpiration"/>
-            <xsd:enumeration value="ResignationDate"/>
-            <xsd:enumeration value="Resigned"/>
-            <xsd:enumeration value="ResolvedDate"/>
-            <xsd:enumeration value="RestDay"/>
-            <xsd:enumeration value="RestFinish"/>
-            <xsd:enumeration value="RestStart"/>
-            <xsd:enumeration value="Resubmission"/>
-            <xsd:enumeration value="RetentionReleaseDateTime"/>
-            <xsd:enumeration value="RetentionReleaseDateTimePartial"/>
-            <xsd:enumeration value="Retermination"/>
-            <xsd:enumeration value="Retirement"/>
-            <xsd:enumeration value="RetransmissionTimeStamp"/>
-            <xsd:enumeration value="ReturnedDate"/>
-            <xsd:enumeration value="ReturnedToCustomer"/>
-            <xsd:enumeration value="ReturnToWorkDate"/>
-            <xsd:enumeration value="ReturnToWorkPartTime"/>
-            <xsd:enumeration value="ReviewDate"/>
-            <xsd:enumeration value="ReviewPeriodEnd"/>
-            <xsd:enumeration value="RevisedAdjustedEnd"/>
-            <xsd:enumeration value="RevisedAdjustedStart"/>
-            <xsd:enumeration value="RevisedEstimateDate"/>
-            <xsd:enumeration value="Revision"/>
-            <xsd:enumeration value="Revocation"/>
-            <xsd:enumeration value="Revoked"/>
-            <xsd:enumeration value="RigArrival"/>
-            <xsd:enumeration value="RoadFundTaxExpiryDate"/>
-            <xsd:enumeration value="Sailing"/>
-            <xsd:enumeration value="SalaryChangeEffectiveDate"/>
-            <xsd:enumeration value="SalaryDeferral"/>
-            <xsd:enumeration value="SaleableStockDemandCoverPeriodExpected"/>
-            <xsd:enumeration value="SalesDateAndOrTimeAndOrPeriod"/>
-            <xsd:enumeration value="SalesPeriod"/>
-            <xsd:enumeration value="SampleAvailableDate"/>
-            <xsd:enumeration value="SampleCollected"/>
-            <xsd:enumeration value="SampleRequiredDate"/>
-            <xsd:enumeration value="SamplesToBeReturnedBy"/>
-            <xsd:enumeration value="Sanction"/>
-            <xsd:enumeration value="SatisfactionDate"/>
-            <xsd:enumeration value="Satisfied"/>
-            <xsd:enumeration value="Schedule"/>
-            <xsd:enumeration value="ScheduledFinish"/>
-            <xsd:enumeration value="ScheduledForDeliveryOnOrAfter"/>
-            <xsd:enumeration value="ScheduledForDeliveryOnOrBefore"/>
-            <xsd:enumeration value="ScheduledForDeliveryWeekOf"/>
-            <xsd:enumeration value="ScheduledForShipmentAfterAndIncluding"/>
-            <xsd:enumeration value="ScheduledForShipmentPriorToAndIncluding"/>
-            <xsd:enumeration value="ScheduledForShipmentWeekOf"/>
-            <xsd:enumeration value="ScheduledInterchangeDelivery"/>
-            <xsd:enumeration value="ScheduledStart"/>
-            <xsd:enumeration value="ScheduleRelease"/>
-            <xsd:enumeration value="SchoolRefund"/>
-            <xsd:enumeration value="Seal"/>
-            <xsd:enumeration value="SecondAdmissionDate"/>
-            <xsd:enumeration value="SecondDischargeDate"/>
-            <xsd:enumeration value="SecurityRateAdjustment"/>
-            <xsd:enumeration value="SecuritySharePriceAsOfGivenDate"/>
-            <xsd:enumeration value="Selected"/>
-            <xsd:enumeration value="SelectionPeriodEndDate"/>
-            <xsd:enumeration value="SelectionPeriodStartDate"/>
-            <xsd:enumeration value="SellByDate"/>
-            <xsd:enumeration value="SellersLocalTime"/>
-            <xsd:enumeration value="SemiannualEnding"/>
-            <xsd:enumeration value="SendingRoadTimeStamp"/>
-            <xsd:enumeration value="SepticApproval"/>
-            <xsd:enumeration value="Service"/>
-            <xsd:enumeration value="ServiceCompletionDateTimeActual"/>
-            <xsd:enumeration value="ServiceInterruption"/>
-            <xsd:enumeration value="ServicePeriodEnd"/>
-            <xsd:enumeration value="ServicePeriodStart"/>
-            <xsd:enumeration value="ServiceRequested"/>
-            <xsd:enumeration value="ServicerSignatureDate"/>
-            <xsd:enumeration value="Setoff"/>
-            <xsd:enumeration value="Settled"/>
-            <xsd:enumeration value="SettlementDate"/>
-            <xsd:enumeration value="SettlementDateAsSpecifiedByTheOriginator"/>
-            <xsd:enumeration value="SettlementDateFromInterlineSettlementSystemOnly"/>
-            <xsd:enumeration value="SettlementDatePlanned"/>
-            <xsd:enumeration value="SettlementDueDate"/>
-            <xsd:enumeration value="SettlementStatus"/>
-            <xsd:enumeration value="SharePrice"/>
-            <xsd:enumeration value="ShelfLifeExpiration"/>
-            <xsd:enumeration value="ShipDateOriginallyScheduled"/>
-            <xsd:enumeration value="ShipDuringDate"/>
-            <xsd:enumeration value="ShipmentDateTimePromisedFor"/>
-            <xsd:enumeration value="ShipmentDateTimePromisedForPriorToAndIncluding"/>
-            <xsd:enumeration value="ShipmentDateTimeRequested"/>
-            <xsd:enumeration value="ShipNotLaterThanDateTime"/>
-            <xsd:enumeration value="ShipNotBeforeDateTime"/>
-            <xsd:enumeration value="ShipNotBeforeAndNotAfterDateTime"/>
-            <xsd:enumeration value="ShipOnOrAboutDate"/>
-            <xsd:enumeration value="Shipped"/>
-            <xsd:enumeration value="ShippingDateAndOrTimeCurrentSchedule"/>
-            <xsd:enumeration value="ShippingDateNoScheduleEstablishedAsOf"/>
-            <xsd:enumeration value="ShipWeekOfDate"/>
-            <xsd:enumeration value="ShutIn"/>
-            <xsd:enumeration value="SicknessBenefitAgeLimit"/>
-            <xsd:enumeration value="SicknessBenefitPeriod"/>
-            <xsd:enumeration value="SicknessInsuranceEliminationPeriod"/>
-            <xsd:enumeration value="SicknessLifetimeBenefitQualificationAge"/>
-            <xsd:enumeration value="SidetrackedWellbore"/>
-            <xsd:enumeration value="SignatureDate"/>
-            <xsd:enumeration value="SignatureReceived"/>
-            <xsd:enumeration value="SimilarIllnessOnsetDate"/>
-            <xsd:enumeration value="SimpleInterestDue"/>
-            <xsd:enumeration value="SlaughteringEndDate"/>
-            <xsd:enumeration value="SlaughteringStartDate"/>
-            <xsd:enumeration value="SocialSecurityClaimsVerificationDate"/>
-            <xsd:enumeration value="Sold"/>
-            <xsd:enumeration value="SoldBookPublication"/>
-            <xsd:enumeration value="SoleDirectorshipRegistrationDate"/>
-            <xsd:enumeration value="Solicitation"/>
-            <xsd:enumeration value="SourceDocumentCaptureDate"/>
-            <xsd:enumeration value="SpacingOrderUnitAssigned"/>
-            <xsd:enumeration value="SponsoredDependent"/>
-            <xsd:enumeration value="SponsoredDependentBegin"/>
-            <xsd:enumeration value="SponsoredDependentEnd"/>
-            <xsd:enumeration value="SpouseRetirement"/>
-            <xsd:enumeration value="Spud"/>
-            <xsd:enumeration value="StartDateTime"/>
-            <xsd:enumeration value="StartDateOrTimeActual"/>
-            <xsd:enumeration value="StartDateOrTimeEarliest"/>
-            <xsd:enumeration value="StartDateOrTimeEstimated"/>
-            <xsd:enumeration value="StartDateOrTimeLatest"/>
-            <xsd:enumeration value="StartDateOrTimeMandatory"/>
-            <xsd:enumeration value="StartDateOrTimeNotAfter"/>
-            <xsd:enumeration value="StartDateOrTimeNotBefore"/>
-            <xsd:enumeration value="StartDateOrTimeScheduled"/>
-            <xsd:enumeration value="StartDateTimePlanned"/>
-            <xsd:enumeration value="StartedDoingBusiness"/>
-            <xsd:enumeration value="StartNoEarlierThan"/>
-            <xsd:enumeration value="StartNoLaterThan"/>
-            <xsd:enumeration value="Statement"/>
-            <xsd:enumeration value="StateResidencyDate"/>
-            <xsd:enumeration value="StateTermination"/>
-            <xsd:enumeration value="StatisticalTimeSeriesDate"/>
-            <xsd:enumeration value="Status"/>
-            <xsd:enumeration value="StatusAfterAndIncluding"/>
-            <xsd:enumeration value="StatusAssignmentDate"/>
-            <xsd:enumeration value="StatusChangeDateTime"/>
-            <xsd:enumeration value="StatusCommercial"/>
-            <xsd:enumeration value="StatusOutsideProcessor"/>
-            <xsd:enumeration value="StatusPriorAndIncluding"/>
-            <xsd:enumeration value="StopDistributionDate"/>
-            <xsd:enumeration value="StopWorkAsOfGivenDate"/>
-            <xsd:enumeration value="Stored"/>
-            <xsd:enumeration value="StudentSigned"/>
-            <xsd:enumeration value="SubcontractorPeriodOfHire"/>
-            <xsd:enumeration value="SubmissionDate"/>
-            <xsd:enumeration value="Submittal"/>
-            <xsd:enumeration value="SubsequentInterestPaymentDue"/>
-            <xsd:enumeration value="SubsequentSubmission"/>
-            <xsd:enumeration value="SupersededDateTime"/>
-            <xsd:enumeration value="SupplementalIssue"/>
-            <xsd:enumeration value="SuppliersAverageCreditPeriod"/>
-            <xsd:enumeration value="SurfaceCasingAuthorityApproval"/>
-            <xsd:enumeration value="Surgery"/>
-            <xsd:enumeration value="Surrender"/>
-            <xsd:enumeration value="SurveyYear"/>
-            <xsd:enumeration value="SuspendedDate"/>
-            <xsd:enumeration value="SuspensionEffective"/>
-            <xsd:enumeration value="SuspensionPeriod"/>
-            <xsd:enumeration value="SwornAndSubscribed"/>
-            <xsd:enumeration value="SymptomsOnsetPatientAlleged"/>
-            <xsd:enumeration value="SystemSurvey"/>
-            <xsd:enumeration value="SystemTest"/>
-            <xsd:enumeration value="TableRatingEnd"/>
-            <xsd:enumeration value="TailCoverageBegin"/>
-            <xsd:enumeration value="TailCoverageEnd"/>
-            <xsd:enumeration value="TanksAcceptedDateTime"/>
-            <xsd:enumeration value="TanksInspectedDateTime"/>
-            <xsd:enumeration value="Tax"/>
-            <xsd:enumeration value="TaxPeriod"/>
-            <xsd:enumeration value="TaxPeriodEndDate"/>
-            <xsd:enumeration value="TaxPeriodStartDate"/>
-            <xsd:enumeration value="TaxPointDate"/>
-            <xsd:enumeration value="TaxYear"/>
-            <xsd:enumeration value="TechnicalRating"/>
-            <xsd:enumeration value="TelexDate"/>
-            <xsd:enumeration value="TemporaryProsthesisDate"/>
-            <xsd:enumeration value="TenderSubmissionDateTime"/>
-            <xsd:enumeration value="TerminatedDate"/>
-            <xsd:enumeration value="Termination"/>
-            <xsd:enumeration value="TerminationOfFacility"/>
-            <xsd:enumeration value="TermsDiscountDueDateTime"/>
-            <xsd:enumeration value="TermsMet"/>
-            <xsd:enumeration value="TermsNetDueDate"/>
-            <xsd:enumeration value="TestCompletionDate"/>
-            <xsd:enumeration value="TestPerformed"/>
-            <xsd:enumeration value="TestPeriodEnding"/>
-            <xsd:enumeration value="TestStartDate"/>
-            <xsd:enumeration value="TexasLineTermination"/>
-            <xsd:enumeration value="Therapy"/>
-            <xsd:enumeration value="TimeEmployeeBeganWork"/>
-            <xsd:enumeration value="TimeInUS"/>
-            <xsd:enumeration value="TimeLimit"/>
-            <xsd:enumeration value="TimeNowDate"/>
-            <xsd:enumeration value="TimePeriod"/>
-            <xsd:enumeration value="TitleTransfer"/>
-            <xsd:enumeration value="ToolingRequiredDate"/>
-            <xsd:enumeration value="TotalShelfLifePeriod"/>
-            <xsd:enumeration value="Tour"/>
-            <xsd:enumeration value="TradeDate"/>
-            <xsd:enumeration value="TradeStyleRegistrationDate"/>
-            <xsd:enumeration value="TrainingBegin"/>
-            <xsd:enumeration value="TrainingEnd"/>
-            <xsd:enumeration value="TransactionCreationDate"/>
-            <xsd:enumeration value="TransferNoteAcceptanceDateAndTime"/>
-            <xsd:enumeration value="Transferred"/>
-            <xsd:enumeration value="TranshipmentDateTime"/>
-            <xsd:enumeration value="Transition"/>
-            <xsd:enumeration value="TransitTimeLimits"/>
-            <xsd:enumeration value="TransmissionDateTimeOfDocument"/>
-            <xsd:enumeration value="Transmitted"/>
-            <xsd:enumeration value="TransportEquipmentStrippingDateAndOrTime"/>
-            <xsd:enumeration value="TransportEquipmentStuffingDateAndOrTime"/>
-            <xsd:enumeration value="Travel"/>
-            <xsd:enumeration value="Treatment"/>
-            <xsd:enumeration value="TreatmentEnd"/>
-            <xsd:enumeration value="TreatmentStart"/>
-            <xsd:enumeration value="TrialBalancePeriod"/>
-            <xsd:enumeration value="TrialSet"/>
-            <xsd:enumeration value="TrialStartDateActual"/>
-            <xsd:enumeration value="TrialStartDateScheduled"/>
-            <xsd:enumeration value="Trust"/>
-            <xsd:enumeration value="UnderwritingYear"/>
-            <xsd:enumeration value="UnloadedDateAndTime"/>
-            <xsd:enumeration value="ValidationDate"/>
-            <xsd:enumeration value="ValidityPeriod"/>
-            <xsd:enumeration value="ValidityStartDate"/>
-            <xsd:enumeration value="ValidUntil"/>
-            <xsd:enumeration value="ValuationDateTime"/>
-            <xsd:enumeration value="ValuationDateCustoms"/>
-            <xsd:enumeration value="ValueAddedTaxClaimsVerificationDate"/>
-            <xsd:enumeration value="ValueDate"/>
-            <xsd:enumeration value="ValueDateOfIndex"/>
-            <xsd:enumeration value="VerbalReportNeeded"/>
-            <xsd:enumeration value="VerificationReceived"/>
-            <xsd:enumeration value="VerificationSent"/>
-            <xsd:enumeration value="Verified"/>
-            <xsd:enumeration value="Version"/>
-            <xsd:enumeration value="VesselRegistry"/>
-            <xsd:enumeration value="VestingService"/>
-            <xsd:enumeration value="VestingServiceBegin"/>
-            <xsd:enumeration value="VestingServiceEnd"/>
-            <xsd:enumeration value="VoluntaryTermination"/>
-            <xsd:enumeration value="VoucherDateOf"/>
-            <xsd:enumeration value="WageEffective"/>
-            <xsd:enumeration value="WagesEarned"/>
-            <xsd:enumeration value="WagePeriodEndDate"/>
-            <xsd:enumeration value="WagePeriodStartDate"/>
-            <xsd:enumeration value="WaitingTime"/>
-            <xsd:enumeration value="WarrantyExpiration"/>
-            <xsd:enumeration value="Waybill"/>
-            <xsd:enumeration value="WeekEnding"/>
-            <xsd:enumeration value="Weighed"/>
-            <xsd:enumeration value="WellLogRun"/>
-            <xsd:enumeration value="WholesaleContractEffective"/>
-            <xsd:enumeration value="WholesaleContractExpiration"/>
-            <xsd:enumeration value="WillAdviseAsOf"/>
-            <xsd:enumeration value="WithdrawnDate"/>
-            <xsd:enumeration value="WithheldDate"/>
-            <xsd:enumeration value="WorkEffectiveStartDate"/>
-            <xsd:enumeration value="WorkingPeriodEndDate"/>
-            <xsd:enumeration value="WorkingPeriodStartDate"/>
-            <xsd:enumeration value="WorkPeriod"/>
-            <xsd:enumeration value="WorksCompletionDateTimeActual"/>
-            <xsd:enumeration value="WorksCompletionDateTimePlanned"/>
-            <xsd:enumeration value="WorstTimeToCall"/>
-            <xsd:enumeration value="YearBeginning"/>
-            <xsd:enumeration value="YearDue"/>
-            <xsd:enumeration value="YearEnding"/>
-            <xsd:enumeration value="YearOfOccurrence"/>
-            <xsd:enumeration value="YearToDate"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Transport">
-        <xsd:sequence>
-            <xsd:element name="TransportID" type="xsd:int"/>
-            <xsd:element minOccurs="0" ref="TransportMode"/>
-            <xsd:element minOccurs="0" ref="TransportMeans"/>
-            <xsd:element minOccurs="0" name="CarrierName" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CarrierID">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="CustShippingContractNum" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ServiceLevelCoded" type="ServiceLevelCode"/>
-            <xsd:element minOccurs="0" name="ServiceLevelCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ShippingInstructions" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TransportLegCoded" type="TransportLegCode"/>
-            <xsd:element minOccurs="0" name="TransportLegCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfTransportEquipment"/>
-            <xsd:element minOccurs="0" ref="TransitDirection"/>
-            <xsd:element minOccurs="0" name="TransportNote" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Transport" type="Transport"/>
-    <xsd:complexType name="TransportMode">
-        <xsd:sequence>
-            <xsd:element name="TransportModeCoded" type="TransportModeCode"/>
-            <xsd:element minOccurs="0" name="TransportModeCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TransportMode" type="TransportMode"/>
-    <xsd:simpleType name="TransportModeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Air"/>
-            <xsd:enumeration value="AirCharter"/>
-            <xsd:enumeration value="AirExpress"/>
-            <xsd:enumeration value="AirFreight"/>
-            <xsd:enumeration value="AirFrieghtForwarder"/>
-            <xsd:enumeration value="AirTaxi"/>
-            <xsd:enumeration value="AirTransport"/>
-            <xsd:enumeration value="ArmedForcesCourierService"/>
-            <xsd:enumeration value="Backhaul"/>
-            <xsd:enumeration value="Barge"/>
-            <xsd:enumeration value="BestWay-ShippersOption"/>
-            <xsd:enumeration value="BookPostal"/>
-            <xsd:enumeration value="Bus"/>
-            <xsd:enumeration value="CabOrTaxi"/>
-            <xsd:enumeration value="CommonIrregularCarrier"/>
-            <xsd:enumeration value="Consolidation"/>
-            <xsd:enumeration value="ContainerizedOcean"/>
-            <xsd:enumeration value="ContractCarrier"/>
-            <xsd:enumeration value="ConventionalOcean"/>
-            <xsd:enumeration value="CustomerPickup"/>
-            <xsd:enumeration value="CustomerPickupOrCustomersExpense"/>
-            <xsd:enumeration value="Driveaway"/>
-            <xsd:enumeration value="DriveawayService"/>
-            <xsd:enumeration value="EuropeanOrPacificDistributionSystem"/>
-            <xsd:enumeration value="ExpeditedTruck"/>
-            <xsd:enumeration value="FixedTransportInstallation"/>
-            <xsd:enumeration value="Flyaway"/>
-            <xsd:enumeration value="GeographicReceiving"/>
-            <xsd:enumeration value="GeographicReceivingOrShipping"/>
-            <xsd:enumeration value="GeographicShipping"/>
-            <xsd:enumeration value="InlandWaterTransport"/>
-            <xsd:enumeration value="InlandWaterway"/>
-            <xsd:enumeration value="Intermodal-Piggyback"/>
-            <xsd:enumeration value="LessThanTrailerLoad"/>
-            <xsd:enumeration value="Logair"/>
-            <xsd:enumeration value="Mail"/>
-            <xsd:enumeration value="MaritimeTransport"/>
-            <xsd:enumeration value="MilitaryIntratheaterAirliftService"/>
-            <xsd:enumeration value="MilitaryOfficialMail"/>
-            <xsd:enumeration value="ModeUnknown"/>
-            <xsd:enumeration value="Motor"/>
-            <xsd:enumeration value="Motor-BulkCarrier"/>
-            <xsd:enumeration value="Motor-CommonCarrier"/>
-            <xsd:enumeration value="Motor-Flatbed"/>
-            <xsd:enumeration value="Motor-PackageCarrier"/>
-            <xsd:enumeration value="Motor-Van"/>
-            <xsd:enumeration value="MutimodalTransport"/>
-            <xsd:enumeration value="Ocean"/>
-            <xsd:enumeration value="OceanConferenceCarrier"/>
-            <xsd:enumeration value="OceanNon-ConferenceCarrier"/>
-            <xsd:enumeration value="ParcelPost"/>
-            <xsd:enumeration value="Pipeline"/>
-            <xsd:enumeration value="PooledAir"/>
-            <xsd:enumeration value="PooledPiggyback"/>
-            <xsd:enumeration value="PooledRail"/>
-            <xsd:enumeration value="PooledTruck"/>
-            <xsd:enumeration value="PoolToPool"/>
-            <xsd:enumeration value="PrivateCarrier"/>
-            <xsd:enumeration value="PrivateParcelService"/>
-            <xsd:enumeration value="PrivateVessel"/>
-            <xsd:enumeration value="Quicktrans"/>
-            <xsd:enumeration value="Rail"/>
-            <xsd:enumeration value="RailTransport"/>
-            <xsd:enumeration value="Roadrailer"/>
-            <xsd:enumeration value="RoadTransport"/>
-            <xsd:enumeration value="SeaOrAir"/>
-            <xsd:enumeration value="ShipperAgent"/>
-            <xsd:enumeration value="ShipperAgent-Truck"/>
-            <xsd:enumeration value="ShipperAssociation"/>
-            <xsd:enumeration value="StackTrain"/>
-            <xsd:enumeration value="Steamship"/>
-            <xsd:enumeration value="SupplierTruck"/>
-            <xsd:enumeration value="TowawayService"/>
-            <xsd:enumeration value="Vessel"/>
-            <xsd:enumeration value="WaterOrPipelineIntermodalMovement"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="TransportMeans">
-        <xsd:sequence>
-            <xsd:element name="TransportMeansCoded" type="TransportMeansCode"/>
-            <xsd:element minOccurs="0" name="TransportMeansCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TransportMeans" type="TransportMeans"/>
-    <xsd:simpleType name="TransportMeansCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="20FtILContainer-ClosedTop"/>
-            <xsd:enumeration value="20FtILContainer-OpenTop"/>
-            <xsd:enumeration value="40FtILContainer-OpenTop"/>
-            <xsd:enumeration value="40FtILContainer-ClosedTop"/>
-            <xsd:enumeration value="Aircraft"/>
-            <xsd:enumeration value="AirFreight-BreakBulk"/>
-            <xsd:enumeration value="AirRideVan"/>
-            <xsd:enumeration value="Barge"/>
-            <xsd:enumeration value="BargeChemicalTanker"/>
-            <xsd:enumeration value="BargeOpen"/>
-            <xsd:enumeration value="BilevelRailcarFullyEnclosed"/>
-            <xsd:enumeration value="BilevelRailcarFullyOpen"/>
-            <xsd:enumeration value="BilevelRailcarScreened-NoRoof"/>
-            <xsd:enumeration value="BilevelRailcarScreened-WithRoof"/>
-            <xsd:enumeration value="Bogie"/>
-            <xsd:enumeration value="Boxcar"/>
-            <xsd:enumeration value="BoxcarCushionUnderFrameOF"/>
-            <xsd:enumeration value="Boxcar-DamageFreeEquipped"/>
-            <xsd:enumeration value="Boxcar-Insulated"/>
-            <xsd:enumeration value="Boxcar-InteriorBulkheads"/>
-            <xsd:enumeration value="Bulktruck"/>
-            <xsd:enumeration value="BulkTruckAndBulkTrailer"/>
-            <xsd:enumeration value="BulkTruckAndExtendableGondolaTrailer"/>
-            <xsd:enumeration value="BulkTruckAndExtendableTrailer"/>
-            <xsd:enumeration value="BulkTruckAndGondolaTrailer"/>
-            <xsd:enumeration value="BulkTruckAndTankTrailer"/>
-            <xsd:enumeration value="BulkTruckAndTrailerWithOpeningFloor"/>
-            <xsd:enumeration value="Bus"/>
-            <xsd:enumeration value="Caboose"/>
-            <xsd:enumeration value="Car"/>
-            <xsd:enumeration value="CarCarrier"/>
-            <xsd:enumeration value="CargoAndPassengerVessel"/>
-            <xsd:enumeration value="CarWithCaravan"/>
-            <xsd:enumeration value="CementVessel"/>
-            <xsd:enumeration value="Chassis"/>
-            <xsd:enumeration value="Chassis-Gooseneck"/>
-            <xsd:enumeration value="ClosedContainer"/>
-            <xsd:enumeration value="ClosedContainer-ControlledTemperature"/>
-            <xsd:enumeration value="ClosedVan"/>
-            <xsd:enumeration value="CoalVessel"/>
-            <xsd:enumeration value="CoasterChemicalTanker"/>
-            <xsd:enumeration value="Coil-CarCovered"/>
-            <xsd:enumeration value="CoilCarOpen"/>
-            <xsd:enumeration value="Container"/>
-            <xsd:enumeration value="Container-Aluminum"/>
-            <xsd:enumeration value="Container-Bulk"/>
-            <xsd:enumeration value="Container-ClosedTop-LengthUnspecified"/>
-            <xsd:enumeration value="Container-HeatedOrInsulatedOrVentilated"/>
-            <xsd:enumeration value="Container-HighSideOpenTop"/>
-            <xsd:enumeration value="Container-Insulated"/>
-            <xsd:enumeration value="Container-InsulatedOrVentilated"/>
-            <xsd:enumeration value="Container-LowSideOpenTop"/>
-            <xsd:enumeration value="ContainerOnlyVessel"/>
-            <xsd:enumeration value="Container-Open-Sided"/>
-            <xsd:enumeration value="Container-OpenTop-LengthUnspecified"/>
-            <xsd:enumeration value="Container-Platform"/>
-            <xsd:enumeration value="ContainerrestingonaChassis"/>
-            <xsd:enumeration value="ContainerShip"/>
-            <xsd:enumeration value="Container-Steel"/>
-            <xsd:enumeration value="Container-Tank"/>
-            <xsd:enumeration value="Container-TankChemicals"/>
-            <xsd:enumeration value="Container-TankFoodGrade-Liquid"/>
-            <xsd:enumeration value="Container-TankGas"/>
-            <xsd:enumeration value="Container-Upgraded"/>
-            <xsd:enumeration value="Container-Vented"/>
-            <xsd:enumeration value="ContainerwithBagHangers"/>
-            <xsd:enumeration value="ContainerwithFloorSecuringRings"/>
-            <xsd:enumeration value="ContainerwithFlushDoors"/>
-            <xsd:enumeration value="ContainerwithHangarBars"/>
-            <xsd:enumeration value="ContainerWithSmoothSides"/>
-            <xsd:enumeration value="ContainerWithWavyOrRippleSides"/>
-            <xsd:enumeration value="ControlledTemperatureTrailer"/>
-            <xsd:enumeration value="ControlUnit"/>
-            <xsd:enumeration value="CoveredBarge"/>
-            <xsd:enumeration value="CrudeOilTanker"/>
-            <xsd:enumeration value="CustomerDeterminedDeansOfTransport"/>
-            <xsd:enumeration value="CustomerRailTanker"/>
-            <xsd:enumeration value="Cut-InHelper"/>
-            <xsd:enumeration value="DeepSeaChemicalTanker"/>
-            <xsd:enumeration value="Double-DropTrailer"/>
-            <xsd:enumeration value="DropBackTrailer"/>
-            <xsd:enumeration value="DryBulkCarrier"/>
-            <xsd:enumeration value="EndofTrainDevice"/>
-            <xsd:enumeration value="ExceptionalTransport"/>
-            <xsd:enumeration value="Ferry"/>
-            <xsd:enumeration value="FishingVessel"/>
-            <xsd:enumeration value="Fixed-RackDoubleDropTrailer"/>
-            <xsd:enumeration value="FixedRack-FlatBedTrailer"/>
-            <xsd:enumeration value="FixedRack-SingleDropTrailer"/>
-            <xsd:enumeration value="FlatbedSlidingTandem"/>
-            <xsd:enumeration value="FlatBedTrailer"/>
-            <xsd:enumeration value="FlatBedTrailer-RemovableSides"/>
-            <xsd:enumeration value="FlatBedTrailerwithHeadboards"/>
-            <xsd:enumeration value="FlatBedTrailerwithNoHeadboards"/>
-            <xsd:enumeration value="FlatCar"/>
-            <xsd:enumeration value="FlatCar-EndBulkheads"/>
-            <xsd:enumeration value="FlatcarWithPedestal"/>
-            <xsd:enumeration value="FreezerTruck"/>
-            <xsd:enumeration value="FreezerTruckAndIsothermicTrailer"/>
-            <xsd:enumeration value="FreezerTruckAndRefrigeratedTrailer"/>
-            <xsd:enumeration value="FreezerTruckAndTrailer"/>
-            <xsd:enumeration value="FreezerVan"/>
-            <xsd:enumeration value="FrozenFoodTrailer"/>
-            <xsd:enumeration value="FurnitureTruck"/>
-            <xsd:enumeration value="GasTanker"/>
-            <xsd:enumeration value="GeneralCargoVessel"/>
-            <xsd:enumeration value="GeneratorSet"/>
-            <xsd:enumeration value="GondolaCar-CoveredInteriorBulkheads"/>
-            <xsd:enumeration value="GondolaCar-Open"/>
-            <xsd:enumeration value="GondolaCovered"/>
-            <xsd:enumeration value="Graincarrier"/>
-            <xsd:enumeration value="GravelVessel"/>
-            <xsd:enumeration value="HalfHeightFlatRack"/>
-            <xsd:enumeration value="Head-EndHelperUnit"/>
-            <xsd:enumeration value="HeadofTrainDevice"/>
-            <xsd:enumeration value="HighCubeVan"/>
-            <xsd:enumeration value="HopperCar-Covered"/>
-            <xsd:enumeration value="HopperCar-CoveredPneumaticDischarge"/>
-            <xsd:enumeration value="HopperCar-Open"/>
-            <xsd:enumeration value="HydrantCart"/>
-            <xsd:enumeration value="IdlerCar"/>
-            <xsd:enumeration value="IsothermicTruck"/>
-            <xsd:enumeration value="IsothermicTruckAndFreezerTrailer"/>
-            <xsd:enumeration value="IsothermicTruckAndIsothermicTrailer"/>
-            <xsd:enumeration value="Isothermictruckandrefrigeratedtrailer"/>
-            <xsd:enumeration value="IsothermicVan"/>
-            <xsd:enumeration value="LiquefiedNaturalGasCarrier"/>
-            <xsd:enumeration value="LiquefiedPetroleumGasCarrier"/>
-            <xsd:enumeration value="LoadOrUnloadDeviceOnEquipment"/>
-            <xsd:enumeration value="Locomotive"/>
-            <xsd:enumeration value="OceanVessel"/>
-            <xsd:enumeration value="OilProductsTanker"/>
-            <xsd:enumeration value="Open-TopOrFlatBedTrailer"/>
-            <xsd:enumeration value="OpenTopVan"/>
-            <xsd:enumeration value="OreCarrier"/>
-            <xsd:enumeration value="PassengerVessel"/>
-            <xsd:enumeration value="PatrolVessel"/>
-            <xsd:enumeration value="Pick-UpTruck"/>
-            <xsd:enumeration value="Pipeline"/>
-            <xsd:enumeration value="PowerPack"/>
-            <xsd:enumeration value="ProtectedTrailer"/>
-            <xsd:enumeration value="RailBulkCar"/>
-            <xsd:enumeration value="RailCar"/>
-            <xsd:enumeration value="RailExpress"/>
-            <xsd:enumeration value="RailroadMaintenanceOfWayCar"/>
-            <xsd:enumeration value="RailSiloTanker"/>
-            <xsd:enumeration value="RailTanker"/>
-            <xsd:enumeration value="Rear-EndHelperUnit"/>
-            <xsd:enumeration value="RefrigeratedCar"/>
-            <xsd:enumeration value="RefrigeratedContainer"/>
-            <xsd:enumeration value="RefrigeratedTruck"/>
-            <xsd:enumeration value="RefrigeratedTruckAndFreezerTrailer"/>
-            <xsd:enumeration value="RefrigeratedTruckAndIsothermicTrailer"/>
-            <xsd:enumeration value="RefrigeratedTruckAndTrailer"/>
-            <xsd:enumeration value="RefrigeratedVan"/>
-            <xsd:enumeration value="RemovableSideTrailer"/>
-            <xsd:enumeration value="RemovalTruckAndTrailer"/>
-            <xsd:enumeration value="RigidTruckWithTank"/>
-            <xsd:enumeration value="RigidTruckWithTankAndBulkTrailer"/>
-            <xsd:enumeration value="RigidTruckWithTankAndTankTrailer"/>
-            <xsd:enumeration value="RoadRailer"/>
-            <xsd:enumeration value="RoadSiloTanker"/>
-            <xsd:enumeration value="RoadTanker"/>
-            <xsd:enumeration value="RollOn-RollOffVessel"/>
-            <xsd:enumeration value="Saddle"/>
-            <xsd:enumeration value="SellerDeterminedMeansOfTransport"/>
-            <xsd:enumeration value="ServiceCar"/>
-            <xsd:enumeration value="Ship"/>
-            <xsd:enumeration value="ShipTanker"/>
-            <xsd:enumeration value="Single-DropTrailer"/>
-            <xsd:enumeration value="StackCar"/>
-            <xsd:enumeration value="STAK-RAK"/>
-            <xsd:enumeration value="SteelProductsVessel"/>
-            <xsd:enumeration value="TankCar"/>
-            <xsd:enumeration value="Tautliner25TonneWith90CubicMeterTrailer"/>
-            <xsd:enumeration value="TautlinerTruck"/>
-            <xsd:enumeration value="TautlinerTruckAndExtendableGondolaTrailer"/>
-            <xsd:enumeration value="TautlinerTruckAndExtendableTrailer"/>
-            <xsd:enumeration value="TautlinerTruckAndGondolaTrailer"/>
-            <xsd:enumeration value="TautlinerTruckAndRemovalTrailer"/>
-            <xsd:enumeration value="TautlinerTruckAndTrailerWithOpeningFloor"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoof"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoofAndExtendableGondolaTrailer"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoofAndExtendableTrailer"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoofAndGondolaTrailer"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoofAndRemovalTrailer"/>
-            <xsd:enumeration value="TautlinerTruckWithRemovableRoofandTrailerWithOpeningFloor"/>
-            <xsd:enumeration value="Taxi"/>
-            <xsd:enumeration value="TelescopingTrailer"/>
-            <xsd:enumeration value="TimberOrLogCarrier"/>
-            <xsd:enumeration value="Tip-UpArticulatedTruck"/>
-            <xsd:enumeration value="Tip-Uptruck"/>
-            <xsd:enumeration value="Tip-UpTruckAndExtendableGondolaTrailer"/>
-            <xsd:enumeration value="Tip-UpTruckAndGondolaTrailer"/>
-            <xsd:enumeration value="Tip-UpTruckAndTrailerWithOpeningFloor"/>
-            <xsd:enumeration value="Tractor"/>
-            <xsd:enumeration value="Trailer-Boat"/>
-            <xsd:enumeration value="Trailer-Car"/>
-            <xsd:enumeration value="Trailer-DryFreight"/>
-            <xsd:enumeration value="Trailer-ElectricHeat"/>
-            <xsd:enumeration value="Trailer-HeatedOrInsulatedOrVentilated"/>
-            <xsd:enumeration value="Trailer-Insulated"/>
-            <xsd:enumeration value="Trailer-InsulatedOrVentilated"/>
-            <xsd:enumeration value="Trailer-NotOtherwiseSpecified"/>
-            <xsd:enumeration value="Trailer-Pneumatic"/>
-            <xsd:enumeration value="Trailer-Refrigerated"/>
-            <xsd:enumeration value="Trailer-Tank-Chemicals"/>
-            <xsd:enumeration value="Trailer-Tank-FoodGradeLiquid"/>
-            <xsd:enumeration value="Trailer-Tank-Gas"/>
-            <xsd:enumeration value="TrainingVessel"/>
-            <xsd:enumeration value="TrainWith20OrMoreWagons"/>
-            <xsd:enumeration value="TrainWithMoreThanOneAndLessThan20Wagons"/>
-            <xsd:enumeration value="TrainWithOneWagon"/>
-            <xsd:enumeration value="TrilevelRailcar20Feet"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-FullyEnclosed"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-NoRoof"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-WithDoorsNoRoof"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-WithRoof"/>
-            <xsd:enumeration value="Truck"/>
-            <xsd:enumeration value="TruckAndTrailerWithOpeningFloor"/>
-            <xsd:enumeration value="Truck-OpenTop"/>
-            <xsd:enumeration value="Truck-OpenTopHighSide"/>
-            <xsd:enumeration value="Truck-OpenTopLowSide"/>
-            <xsd:enumeration value="TruckOrTrailerWithTilt"/>
-            <xsd:enumeration value="Truck-Van"/>
-            <xsd:enumeration value="TruckWithOpeningFloor"/>
-            <xsd:enumeration value="TruckWithOpeningFloorAndExtendableGondolaTrailer"/>
-            <xsd:enumeration value="TruckWithOpeningFloorAndExtendableTrailer"/>
-            <xsd:enumeration value="TruckWithOpeningFloorAndGondolaTrailer"/>
-            <xsd:enumeration value="TugandOrPushboat"/>
-            <xsd:enumeration value="UnitLoadDevice"/>
-            <xsd:enumeration value="Van"/>
-            <xsd:enumeration value="Van-SpecialInsideLengthWidthOrHeightRequirements"/>
-            <xsd:enumeration value="Vessel-Lake"/>
-            <xsd:enumeration value="Vessel-Ocean"/>
-            <xsd:enumeration value="Vessel-Ocean-Containership"/>
-            <xsd:enumeration value="Vessel-Ocean-Lash"/>
-            <xsd:enumeration value="Vessel-Ocean-RollOn-RollOff"/>
-            <xsd:enumeration value="Woodchipcarrier"/>
-            <xsd:enumeration value="WorkVessel"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="ServiceLevelCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="BulkCommodityTrain"/>
-            <xsd:enumeration value="PremiumSurface"/>
-            <xsd:enumeration value="ThreeDayService"/>
-            <xsd:enumeration value="9AM"/>
-            <xsd:enumeration value="AirCargo"/>
-            <xsd:enumeration value="AirEconomy"/>
-            <xsd:enumeration value="AM"/>
-            <xsd:enumeration value="BusinessClass"/>
-            <xsd:enumeration value="ConsigneeBillingService"/>
-            <xsd:enumeration value="CourierExpress"/>
-            <xsd:enumeration value="Ground"/>
-            <xsd:enumeration value="ExpressService"/>
-            <xsd:enumeration value="DeliveryScheduledNextDayByCartageAgent"/>
-            <xsd:enumeration value="DeliveryScheduledSecondDayByCartageAgent"/>
-            <xsd:enumeration value="DeliveryScheduledThirdDayByCartageAgent"/>
-            <xsd:enumeration value="DeliveryConfirmation"/>
-            <xsd:enumeration value="DeferredService"/>
-            <xsd:enumeration value="DeliveryConfirmationReturn"/>
-            <xsd:enumeration value="DoorService"/>
-            <xsd:enumeration value="DeliveryNotificationOnly"/>
-            <xsd:enumeration value="ExpeditedService"/>
-            <xsd:enumeration value="ProofOfDeliveryWithSignature"/>
-            <xsd:enumeration value="FirstClass"/>
-            <xsd:enumeration value="StandardService"/>
-            <xsd:enumeration value="ExpressServicePlus"/>
-            <xsd:enumeration value="TrackingGround"/>
-            <xsd:enumeration value="Iata"/>
-            <xsd:enumeration value="ExpeditedServiceWorldwide"/>
-            <xsd:enumeration value="ExpressServiceWorldwide"/>
-            <xsd:enumeration value="Metro"/>
-            <xsd:enumeration value="Multiweight"/>
-            <xsd:enumeration value="NextDayAir"/>
-            <xsd:enumeration value="NextFlightOut"/>
-            <xsd:enumeration value="NextDayHundredWeight"/>
-            <xsd:enumeration value="NextMorning"/>
-            <xsd:enumeration value="NotServed"/>
-            <xsd:enumeration value="Overnight"/>
-            <xsd:enumeration value="PrimaryServiceAreaNextDayBy1030AM"/>
-            <xsd:enumeration value="PriorityMail"/>
-            <xsd:enumeration value="PrimaryServiceAreaNextDayBy930AM"/>
-            <xsd:enumeration value="PriorityMailInsured"/>
-            <xsd:enumeration value="PM"/>
-            <xsd:enumeration value="PrimaryServiceAreaNextDayByNoon"/>
-            <xsd:enumeration value="POBoxZipCode"/>
-            <xsd:enumeration value="PrimaryServiceAreaNextDayBy500PM"/>
-            <xsd:enumeration value="PrimaryServiceAreaSecondDayByNoon"/>
-            <xsd:enumeration value="PassengerService"/>
-            <xsd:enumeration value="QualityIntermodalHighSpeed70MilesPerHour"/>
-            <xsd:enumeration value="OtherIntermodalAndStackService"/>
-            <xsd:enumeration value="60MilesPerHourService"/>
-            <xsd:enumeration value="ManifestFreight"/>
-            <xsd:enumeration value="CircusTrain"/>
-            <xsd:enumeration value="WorkTrain"/>
-            <xsd:enumeration value="CommuterService"/>
-            <xsd:enumeration value="AuthorizedReturnService"/>
-            <xsd:enumeration value="SameDay"/>
-            <xsd:enumeration value="SecondDayAir"/>
-            <xsd:enumeration value="Saturday"/>
-            <xsd:enumeration value="SecondDay"/>
-            <xsd:enumeration value="StandardGround"/>
-            <xsd:enumeration value="SecondDayHundredWeight"/>
-            <xsd:enumeration value="StandardGroundHundredWeight"/>
-            <xsd:enumeration value="SecondMorning"/>
-            <xsd:enumeration value="SaturdayPickup"/>
-            <xsd:enumeration value="StandardClass"/>
-            <xsd:enumeration value="Express"/>
-            <xsd:enumeration value="HighSpeed"/>
-            <xsd:enumeration value="NormalSpeed"/>
-            <xsd:enumeration value="PostService"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TransportLegCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="InlandTransport"/>
-            <xsd:enumeration value="AtTheStatisticalTerritoryLimit"/>
-            <xsd:enumeration value="Pre-CarriageTransport"/>
-            <xsd:enumeration value="AtBorder"/>
-            <xsd:enumeration value="AtDeparture"/>
-            <xsd:enumeration value="AtDestination"/>
-            <xsd:enumeration value="MainCarriage-FourthCarrier"/>
-            <xsd:enumeration value="MainCarriage-FifthCarrier"/>
-            <xsd:enumeration value="MainCarriage-SixthCarrier"/>
-            <xsd:enumeration value="MainCarriage-SeventhCarrier"/>
-            <xsd:enumeration value="MainCarriage-EighthCarrier"/>
-            <xsd:enumeration value="Main-CarriageTransport"/>
-            <xsd:enumeration value="MainCarriage-FirstCarrier"/>
-            <xsd:enumeration value="MaiCarriage-SecondCarrier"/>
-            <xsd:enumeration value="MainCarriage-ThirdCarrier"/>
-            <xsd:enumeration value="InlandWaterwayTransport"/>
-            <xsd:enumeration value="DeliveryCarrierAllTransport"/>
-            <xsd:enumeration value="SecondPre-CarriageTransport"/>
-            <xsd:enumeration value="Pre-AcceptanceTransport"/>
-            <xsd:enumeration value="SecondOn-CarriageTransport"/>
-            <xsd:enumeration value="MainCarriage-NinthCarrier"/>
-            <xsd:enumeration value="On-CarriageTransport"/>
-            <xsd:enumeration value="MainCarriage-TenthCarrier"/>
-            <xsd:enumeration value="MainCarriage-EleventhCarrier"/>
-            <xsd:enumeration value="MainCarriage-TwelfthCarrier"/>
-            <xsd:enumeration value="1stCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="2ndCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="3rdCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="4thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="5thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="6thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="7thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="8thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="9thCarrierAfterOriginCarrier"/>
-            <xsd:enumeration value="AgentsRoutingOriginCarrier"/>
-            <xsd:enumeration value="OriginDeliveryCarrier"/>
-            <xsd:enumeration value="DELY"/>
-            <xsd:enumeration value="HaulageRightsCarrierAndJunction"/>
-            <xsd:enumeration value="OriginSwitchCarrier"/>
-            <xsd:enumeration value="HaulageMovementCarrierAndJunction"/>
-            <xsd:enumeration value="OriginCarrierAirMotorOrOcean"/>
-            <xsd:enumeration value="OriginCarrierRule11Shipment"/>
-            <xsd:enumeration value="ShippersRoutingOriginCarrier"/>
-            <xsd:enumeration value="IntermediateSwitchCarrier"/>
-            <xsd:enumeration value="LastCarrierInRouteOnReturnRouteMove"/>
-            <xsd:enumeration value="JunctionSettlementCarrierFollowing"/>
-            <xsd:enumeration value="JunctionSettlementCarrierPredecessor"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfTransportEquipment">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="TransportEquipment"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfTransportEquipment" type="ListOfTransportEquipment"/>
-    <xsd:complexType name="TransportEquipment">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="EquipmentProviderCoded" type="EquipmentProviderCode"/>
-            <xsd:element minOccurs="0" name="EquipmentProviderCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="EquipmentOwnerCoded" type="EquipmentOwnerCode"/>
-            <xsd:element minOccurs="0" name="EquipmentOwnerCodedOther" type="xsd:string"/>
-            <xsd:element name="EquipmentID" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="EquipmentSizeTypeCoded" type="EquipmentSizeTypeCode"/>
-            <xsd:element minOccurs="0" name="EquipementSizeTypeCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="EquipmentStatusCoded" type="EquipmentStatusCode"/>
-            <xsd:element minOccurs="0" name="EquipmentStatusCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FullIndicatorCoded" type="FullIndicatorCode"/>
-            <xsd:element minOccurs="0" name="FullIndicatorCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Conditions"/>
-            <xsd:element minOccurs="0" name="EquipmentNote" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfSealInfo"/>
-            <xsd:element minOccurs="0" name="ListOfEquipmentMeasurements">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfDimension"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TransportEquipment" type="TransportEquipment"/>
-    <xsd:simpleType name="EquipmentProviderCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="ShipperSupplied"/>
-            <xsd:enumeration value="CarrierSupplied"/>
-            <xsd:enumeration value="ConsolidatorSupplied"/>
-            <xsd:enumeration value="DeconsolidatorSupplied"/>
-            <xsd:enumeration value="ThirdPartySupplied"/>
-            <xsd:enumeration value="ForwarderSuppliedFromALeasingCompany"/>
-            <xsd:enumeration value="ForwarderSuppliedFromTheRailwaysPool"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="EquipmentOwnerCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="NotCustomerOwnedOrLeased"/>
-            <xsd:enumeration value="SellerOwned"/>
-            <xsd:enumeration value="CustomerOwnedOrLeased"/>
-            <xsd:enumeration value="TripLeased"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="EquipmentSizeTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="20FtIlContainer-ClosedTop"/>
-            <xsd:enumeration value="20FtIlContainer-OpenTop"/>
-            <xsd:enumeration value="40FtIlContainer-ClosedTop"/>
-            <xsd:enumeration value="40FtIlContainer-OpenTop"/>
-            <xsd:enumeration value="Aircraft"/>
-            <xsd:enumeration value="AirFreight-BreakBulk"/>
-            <xsd:enumeration value="AirRideVan"/>
-            <xsd:enumeration value="Barge"/>
-            <xsd:enumeration value="BargeOpen"/>
-            <xsd:enumeration value="BilevelRailcarFullyEnclosed"/>
-            <xsd:enumeration value="BilevelRailcarFullyOpen"/>
-            <xsd:enumeration value="BilevelRailcarScreened-NoRoof"/>
-            <xsd:enumeration value="BilevelRailcarScreenedWithRoof"/>
-            <xsd:enumeration value="Bogie"/>
-            <xsd:enumeration value="Boxcar"/>
-            <xsd:enumeration value="BoxcarCushionUnderFrameOf"/>
-            <xsd:enumeration value="Boxcar-DamageFreeEquipped"/>
-            <xsd:enumeration value="Boxcar-Insulated"/>
-            <xsd:enumeration value="Boxcar-InteriorBulkheads"/>
-            <xsd:enumeration value="BoxPallet"/>
-            <xsd:enumeration value="Caboose"/>
-            <xsd:enumeration value="Chassis"/>
-            <xsd:enumeration value="Chassis-Gooseneck"/>
-            <xsd:enumeration value="ClosedContainer"/>
-            <xsd:enumeration value="ClosedContainer-ControlledTemperature"/>
-            <xsd:enumeration value="ClosedVan"/>
-            <xsd:enumeration value="Coil-CarCovered"/>
-            <xsd:enumeration value="CoilCarOpen"/>
-            <xsd:enumeration value="Container"/>
-            <xsd:enumeration value="Container-Aluminum"/>
-            <xsd:enumeration value="Container-Bulk"/>
-            <xsd:enumeration value="Container-ClosedTop-LengthUnspecified"/>
-            <xsd:enumeration value="Container-HeatedOrInsulatedOrVentilated"/>
-            <xsd:enumeration value="Container-HighSideOpenTop"/>
-            <xsd:enumeration value="ContainerIc20Feet"/>
-            <xsd:enumeration value="ContainerIc30Feet"/>
-            <xsd:enumeration value="ContainerIc40Feet"/>
-            <xsd:enumeration value="Container-Insulated"/>
-            <xsd:enumeration value="Container-InsulatedOrVentilated"/>
-            <xsd:enumeration value="Container-LowSideOpenTop"/>
-            <xsd:enumeration value="Container-Open-Sided"/>
-            <xsd:enumeration value="Container-OpenTop-LengthUnspecified"/>
-            <xsd:enumeration value="Container-Platform"/>
-            <xsd:enumeration value="ContainerRestingOnAChassis"/>
-            <xsd:enumeration value="Container-Steel"/>
-            <xsd:enumeration value="Container-Tank"/>
-            <xsd:enumeration value="Container-Tank-Chemicals"/>
-            <xsd:enumeration value="Container-Tank-FoodGrade-Liquid"/>
-            <xsd:enumeration value="Container-Tank-Gas"/>
-            <xsd:enumeration value="Container-Upgraded"/>
-            <xsd:enumeration value="Container-Vented"/>
-            <xsd:enumeration value="ContainerWithBagHangers"/>
-            <xsd:enumeration value="ContainerWithFloorSecuringRings"/>
-            <xsd:enumeration value="ContainerWithFlushDoors"/>
-            <xsd:enumeration value="ContainerWithHangarBars"/>
-            <xsd:enumeration value="ContainerWithSmoothSides"/>
-            <xsd:enumeration value="ContainerWithWavyOrRippleSides"/>
-            <xsd:enumeration value="ControlledTemperatureTrailer-Reefer"/>
-            <xsd:enumeration value="ControlUnit"/>
-            <xsd:enumeration value="CoveredBarge"/>
-            <xsd:enumeration value="Cut-InHelper"/>
-            <xsd:enumeration value="DimeCoatedTank"/>
-            <xsd:enumeration value="Double-DropTrailer"/>
-            <xsd:enumeration value="DropBackTrailer"/>
-            <xsd:enumeration value="DualTrailers"/>
-            <xsd:enumeration value="EndOfTrainDevice"/>
-            <xsd:enumeration value="EpoxyCoatedTank"/>
-            <xsd:enumeration value="EuroPallet"/>
-            <xsd:enumeration value="ExchangeablePallet"/>
-            <xsd:enumeration value="Fixed-Rack-DoubleDropTrailer"/>
-            <xsd:enumeration value="Fixed-Rack-Flat-BedTrailer"/>
-            <xsd:enumeration value="Fixed-Rack-Single-DropTrailer"/>
-            <xsd:enumeration value="FlatbedSlidingTandem"/>
-            <xsd:enumeration value="FlatBedTrailer"/>
-            <xsd:enumeration value="FlatBedTrailer-RemovableSides"/>
-            <xsd:enumeration value="FlatBedTrailerWithHeadboards"/>
-            <xsd:enumeration value="FlatBedTrailerWithNoHeadboards"/>
-            <xsd:enumeration value="FlatCar"/>
-            <xsd:enumeration value="FlatCar-EndBulkheads"/>
-            <xsd:enumeration value="FlatcarWithPedestal"/>
-            <xsd:enumeration value="FrozenFoodTrailer"/>
-            <xsd:enumeration value="GeneratorSet"/>
-            <xsd:enumeration value="GondolaCar-Covered-InteriorBulkheads"/>
-            <xsd:enumeration value="GondolaCar-Open"/>
-            <xsd:enumeration value="GondolaCovered"/>
-            <xsd:enumeration value="HalfHeightFlatRack"/>
-            <xsd:enumeration value="Head-EndHelperUnit"/>
-            <xsd:enumeration value="HeadOfTrainDevice"/>
-            <xsd:enumeration value="HighCubeVan"/>
-            <xsd:enumeration value="HopperCar-Covered"/>
-            <xsd:enumeration value="HopperCar-Covered-PneumaticDischarge"/>
-            <xsd:enumeration value="HopperCar-Open"/>
-            <xsd:enumeration value="Hydrant-Cart"/>
-            <xsd:enumeration value="IdlerCar"/>
-            <xsd:enumeration value="IMO1"/>
-            <xsd:enumeration value="IMO2"/>
-            <xsd:enumeration value="IMO3"/>
-            <xsd:enumeration value="LoadOrUnloadDeviceOnEquipment"/>
-            <xsd:enumeration value="Locomotive"/>
-            <xsd:enumeration value="MovableCase-Between10.90MAnd13.75M"/>
-            <xsd:enumeration value="MovableCase-Between6.15MAnd7.82M"/>
-            <xsd:enumeration value="MovableCase-Between7.82MAnd9.15M"/>
-            <xsd:enumeration value="MovableCase-Between9.15MAnd10.90M"/>
-            <xsd:enumeration value="MovableCase-LessThan6.15M"/>
-            <xsd:enumeration value="NonworkingReeferContainer20Ft"/>
-            <xsd:enumeration value="NonworkingReeferContainer40Ft"/>
-            <xsd:enumeration value="NonWorkingRefrigeratedOrReeferContainer30Ft"/>
-            <xsd:enumeration value="OceanVessel-BreakBulk"/>
-            <xsd:enumeration value="Open-TopOrFlatbedTrailer"/>
-            <xsd:enumeration value="OpenTopVan"/>
-            <xsd:enumeration value="Pick-UpTruck"/>
-            <xsd:enumeration value="PowerPack"/>
-            <xsd:enumeration value="PressurizedTank"/>
-            <xsd:enumeration value="ProtectedTrailer"/>
-            <xsd:enumeration value="RailCar"/>
-            <xsd:enumeration value="RailroadMaintenanceOfWayCar"/>
-            <xsd:enumeration value="Rear-EndHelperUnit"/>
-            <xsd:enumeration value="RefrigeratedContainer"/>
-            <xsd:enumeration value="RefrigeratedOrReeferCar"/>
-            <xsd:enumeration value="RefrigeratedTank"/>
-            <xsd:enumeration value="RefrigeratedTank20Feet"/>
-            <xsd:enumeration value="RefrigeratedTank30Feet"/>
-            <xsd:enumeration value="RefrigeratedTank40Feet"/>
-            <xsd:enumeration value="RefrigeratedTankIc20Feet"/>
-            <xsd:enumeration value="RefrigeratedTankIc40Feet"/>
-            <xsd:enumeration value="RemovableSideTrailer"/>
-            <xsd:enumeration value="Roadrailer"/>
-            <xsd:enumeration value="Saddle"/>
-            <xsd:enumeration value="ScandinavianPallet"/>
-            <xsd:enumeration value="Semi-Refrigerated"/>
-            <xsd:enumeration value="Semi-Trailer"/>
-            <xsd:enumeration value="ServiceCar"/>
-            <xsd:enumeration value="Single-DropTrailer"/>
-            <xsd:enumeration value="StackCar"/>
-            <xsd:enumeration value="StainlessSteelTank"/>
-            <xsd:enumeration value="Stak-Rak"/>
-            <xsd:enumeration value="TankCar"/>
-            <xsd:enumeration value="TankContainer20Feet"/>
-            <xsd:enumeration value="TankContainer30Feet"/>
-            <xsd:enumeration value="TankContainer40Feet"/>
-            <xsd:enumeration value="TankContainerIc20Feet"/>
-            <xsd:enumeration value="TankContainerIc30Feet"/>
-            <xsd:enumeration value="TankContainerIc40Feet"/>
-            <xsd:enumeration value="TelescopingTrailer"/>
-            <xsd:enumeration value="TemperatureControlledContainer20Ft"/>
-            <xsd:enumeration value="TemperatureControlledContainer30Ft"/>
-            <xsd:enumeration value="TemperatureControlledContainer40Ft"/>
-            <xsd:enumeration value="Totebin"/>
-            <xsd:enumeration value="Tractor"/>
-            <xsd:enumeration value="Trailer"/>
-            <xsd:enumeration value="Trailer-Boat"/>
-            <xsd:enumeration value="Trailer-Car"/>
-            <xsd:enumeration value="Trailer-DryFreight"/>
-            <xsd:enumeration value="Trailer-ElectricHeat"/>
-            <xsd:enumeration value="Trailer-HeatedOrInsulatedOrVentilated"/>
-            <xsd:enumeration value="Trailer-Insulated"/>
-            <xsd:enumeration value="Trailer-InsulatedOrVentilated"/>
-            <xsd:enumeration value="Trailer-NotOtherwiseSpecified"/>
-            <xsd:enumeration value="Trailer-Pneumatic"/>
-            <xsd:enumeration value="Trailer-Refrigerated"/>
-            <xsd:enumeration value="Trailer-Tank-Chemicals"/>
-            <xsd:enumeration value="Trailer-Tank-FoodGrade-Liquid"/>
-            <xsd:enumeration value="Trailer-Tank-Gas"/>
-            <xsd:enumeration value="TrilevelRailcar20Feet"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-FullyEnclosed"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-NoRoof"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-WithDoors-NoRoof"/>
-            <xsd:enumeration value="TrilevelRailcarScreened-WithRoof"/>
-            <xsd:enumeration value="Truck-OpenTop"/>
-            <xsd:enumeration value="Truck-OpenTopHighSide"/>
-            <xsd:enumeration value="Truck-OpenTopLowSide"/>
-            <xsd:enumeration value="Truck-Van"/>
-            <xsd:enumeration value="UnitLoadDevice"/>
-            <xsd:enumeration value="Van-SpecialInsideLength-WidthOrHeightRequirements"/>
-            <xsd:enumeration value="Vessel-Lake"/>
-            <xsd:enumeration value="Vessel-Ocean"/>
-            <xsd:enumeration value="Vessel-Ocean-Containership"/>
-            <xsd:enumeration value="Vessel-Ocean-Lash"/>
-            <xsd:enumeration value="Vessel-Ocean-Rollon-Rolloff"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="EquipmentStatusCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Continental"/>
-            <xsd:enumeration value="Export"/>
-            <xsd:enumeration value="Import"/>
-            <xsd:enumeration value="RemainOnBoard"/>
-            <xsd:enumeration value="Shifter"/>
-            <xsd:enumeration value="Transhipment"/>
-            <xsd:enumeration value="Shortlanded"/>
-            <xsd:enumeration value="Overlanded"/>
-            <xsd:enumeration value="Domestic"/>
-            <xsd:enumeration value="Positioning"/>
-            <xsd:enumeration value="Delivery"/>
-            <xsd:enumeration value="Redelivery"/>
-            <xsd:enumeration value="Repair"/>
-            <xsd:enumeration value="Reloader"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="FullIndicatorCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Full"/>
-            <xsd:enumeration value="Empty"/>
-            <xsd:enumeration value="Partial"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="Conditions">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="RefrigerationOn" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" name="Residue" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" name="ListOfConditions">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ListOfDimension"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="Conditions" type="Conditions"/>
-    <xsd:complexType name="ListOfSealInfo">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="SealInfo"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfSealInfo" type="ListOfSealInfo"/>
-    <xsd:complexType name="SealInfo">
-        <xsd:sequence>
-            <xsd:element name="SealNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="SealIssuer"/>
-            <xsd:element minOccurs="0" ref="SealStatusDescription"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="SealInfo" type="SealInfo"/>
-    <xsd:complexType name="SealIssuer">
-        <xsd:sequence>
-            <xsd:element name="SealIssuerCoded" type="SealIssuerCode"/>
-            <xsd:element minOccurs="0" name="SealIssuerCodedOther" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="SealIssuer" type="SealIssuer"/>
-    <xsd:simpleType name="SealIssuerCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Consolidator"/>
-            <xsd:enumeration value="Unknown"/>
-            <xsd:enumeration value="QuarantineAgency"/>
-            <xsd:enumeration value="Carrier"/>
-            <xsd:enumeration value="Customs"/>
-            <xsd:enumeration value="Shipper"/>
-            <xsd:enumeration value="TerminalOperator"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="SealStatusDescription">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="SealStatusCoded" type="SealStatusCode"/>
-            <xsd:element minOccurs="0" name="SealStatusCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SealStatusInfo" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="SealStatusDescription" type="SealStatusDescription"/>
-    <xsd:simpleType name="SealStatusCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Broken"/>
-            <xsd:enumeration value="Damaged"/>
-            <xsd:enumeration value="InRightCondition"/>
-            <xsd:enumeration value="Missing"/>
-            <xsd:enumeration value="Replaced"/>
-            <xsd:enumeration value="TheElectronicSealIsFaulty"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="TransitDirection">
-        <xsd:sequence>
-            <xsd:element name="TransitDirectionCoded" type="TransitDirectionCode"/>
-            <xsd:element minOccurs="0" name="TransitDirectionCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TransitTimeQualifierCoded" type="TransitTimeQualifierCode"/>
-            <xsd:element minOccurs="0" name="TransitTimeQualifierCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TransitTime" type="xsd:decimal"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TransitDirection" type="TransitDirection"/>
-    <xsd:simpleType name="TransitDirectionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="BuyerToSeller"/>
-            <xsd:enumeration value="SellerToBuyer"/>
-            <xsd:enumeration value="SubcontractorToSeller"/>
-            <xsd:enumeration value="SellerToDropShipDesignatedLocation"/>
-            <xsd:enumeration value="SellerToFreightForwarder"/>
-            <xsd:enumeration value="SellerToSubcontractor"/>
-            <xsd:enumeration value="MotherVesselToLighter"/>
-            <xsd:enumeration value="LighterToMotherVessel"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TransitTimeQualifierCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="AirHours"/>
-            <xsd:enumeration value="AirDays"/>
-            <xsd:enumeration value="CalendarDays"/>
-            <xsd:enumeration value="CalendarWeeks"/>
-            <xsd:enumeration value="Hours"/>
-            <xsd:enumeration value="SurfaceDays"/>
-            <xsd:enumeration value="SurfaceHours"/>
-            <xsd:enumeration value="WorkingDays"/>
-            <xsd:enumeration value="5DayWorkWeek"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="ListOfShipToSubInformation">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="ShipToSubInformation"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfShipToSubInformation" type="ListOfShipToSubInformation"/>
-    <xsd:complexType name="ShipToSubInformation">
-        <xsd:sequence>
-            <xsd:element name="ShipToSubLocation">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Location"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="ShipToSubQuantity">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Quantity"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="SubLocationItemPackagingReference">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="ItemPackagingReference"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ShipToSubInformation" type="ShipToSubInformation"/>
-    <xsd:complexType name="ItemPackagingReference">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="PackageReference"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ItemPackagingReference" type="ItemPackagingReference"/>
-    <xsd:complexType name="PackageReference">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" ref="Quantity"/>
-            <xsd:element name="PackageIDReference" type="xsd:int"/>
-            <xsd:element minOccurs="0" ref="PackageReference"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="PackageReference" type="PackageReference"/>
-    <xsd:complexType name="TermsOfDelivery">
-        <xsd:sequence>
-            <xsd:element name="TermsOfDeliveryFunctionCoded" type="TermsOfDeliveryFunctionCode"/>
-            <xsd:element minOccurs="0" name="TermsOfDeliveryFunctionCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TransportTermsCoded" type="TransportTermsCode"/>
-            <xsd:element minOccurs="0" name="TransportTermsCodedOther" type="xsd:string"/>
-            <xsd:element name="ShipmentMethodOfPaymentCoded" type="ShipmentMethodOfPaymentCode"/>
-            <xsd:element minOccurs="0" name="ShipmentMethodOfPaymentCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="Location"/>
-            <xsd:element minOccurs="0" name="TermsOfDeliveryDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TransportDescription" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="RiskOfLossCoded" type="RiskOfLossCode"/>
-            <xsd:element minOccurs="0" name="RiskOfLossCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="RiskOfLossDescription" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="TermsOfDelivery" type="TermsOfDelivery"/>
-    <xsd:simpleType name="TermsOfDeliveryFunctionCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="PriceCondition"/>
-            <xsd:enumeration value="DespatchCondition"/>
-            <xsd:enumeration value="PriceandDespatchCondition"/>
-            <xsd:enumeration value="CollectedByCustomer"/>
-            <xsd:enumeration value="TransportCondition"/>
-            <xsd:enumeration value="DeliveryCondition"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="TransportTermsCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Ex-Works"/>
-            <xsd:enumeration value="Free-Carrier"/>
-            <xsd:enumeration value="FreeAlongsideShip"/>
-            <xsd:enumeration value="FreeOnBoard"/>
-            <xsd:enumeration value="CostAndFreight"/>
-            <xsd:enumeration value="Cost-InsuranceAndFreight"/>
-            <xsd:enumeration value="CarriagePaidTo"/>
-            <xsd:enumeration value="Carriage-InsurancePaidTo"/>
-            <xsd:enumeration value="DeliveredAtFrontier"/>
-            <xsd:enumeration value="DeliveredEx-Ship"/>
-            <xsd:enumeration value="DeliveredEx-Quay"/>
-            <xsd:enumeration value="DeliveredDutyUnpaid"/>
-            <xsd:enumeration value="DeliveredDutyPaid"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="ShipmentMethodOfPaymentCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Account"/>
-            <xsd:enumeration value="AdvanceCollect"/>
-            <xsd:enumeration value="AdvancePrepaid"/>
-            <xsd:enumeration value="CashOnDeliveryServiceChargePaidByConsignee"/>
-            <xsd:enumeration value="CashOnDeliveryServiceChargePaidByConsignor"/>
-            <xsd:enumeration value="Collect"/>
-            <xsd:enumeration value="CollectFreightCreditedToPaymentCustomer"/>
-            <xsd:enumeration value="CollectOnDelivery"/>
-            <xsd:enumeration value="CustomerPick-UpOrBackhaul"/>
-            <xsd:enumeration value="DefinedByBuyerAndSeller"/>
-            <xsd:enumeration value="FobPortOfCall"/>
-            <xsd:enumeration value="HalfPrepaid"/>
-            <xsd:enumeration value="InformationCopy-NoPaymentDue"/>
-            <xsd:enumeration value="InsuranceCostsPaidByConsignee"/>
-            <xsd:enumeration value="InsuranceCostsPaidByConsignor"/>
-            <xsd:enumeration value="Mixed"/>
-            <xsd:enumeration value="NonRevenue"/>
-            <xsd:enumeration value="NotSpecified"/>
-            <xsd:enumeration value="PaidByBuyer"/>
-            <xsd:enumeration value="PaidBySupplierOrSeller"/>
-            <xsd:enumeration value="PayableElsewhere"/>
-            <xsd:enumeration value="PerContract"/>
-            <xsd:enumeration value="Pickup"/>
-            <xsd:enumeration value="PrepaidAndSummaryBill"/>
-            <xsd:enumeration value="PrepaidButChargedToCustomer"/>
-            <xsd:enumeration value="PrepaidByProcessor"/>
-            <xsd:enumeration value="Prepaid-BySeller"/>
-            <xsd:enumeration value="PrepaidLocalCollectOutstate"/>
-            <xsd:enumeration value="PrepaidOnly"/>
-            <xsd:enumeration value="ReturnContainerFreightFree"/>
-            <xsd:enumeration value="ReturnContainerFreightPaidByCustomer"/>
-            <xsd:enumeration value="ReturnContainerFreightPaidBySupplier"/>
-            <xsd:enumeration value="Rule11Shipment"/>
-            <xsd:enumeration value="ServiceFreight-NoCharge"/>
-            <xsd:enumeration value="ThirdPartyPay"/>
-            <xsd:enumeration value="WeightCondition"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="RiskOfLossCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="RiskOfLossInTransitToDestinationIsBuyers"/>
-            <xsd:enumeration value="RiskOfLossInTransitToFreightEqualizationPointIsSellers"/>
-            <xsd:enumeration value="RiskOfLossInTransitToPoolPointIsSellers"/>
-            <xsd:enumeration value="RiskOfLossInTransitToDestinationIsSellers"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="CargoClassification">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="NatureOfGoods">
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element ref="Identifier"/>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="OperationalTypeCoded" type="OperationalTypeCode"/>
-            <xsd:element minOccurs="0" name="OperationalTypeCodedOther" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="TypeOfCargo" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="CargoClassification" type="CargoClassification"/>
-    <xsd:simpleType name="OperationalTypeCode">
-        <xsd:restriction base="xsd:NMTOKEN">
-            <xsd:enumeration value="Other"/>
-            <xsd:enumeration value="Documents"/>
-            <xsd:enumeration value="LowValueNon-DutiableConsignments"/>
-            <xsd:enumeration value="LowValueDutiableConsignments"/>
-            <xsd:enumeration value="HighValueConsignments"/>
-            <xsd:enumeration value="OtherNon-Containerized"/>
-            <xsd:enumeration value="Vehicles"/>
-            <xsd:enumeration value="Roll-OnRoll-Off"/>
-            <xsd:enumeration value="Palletized"/>
-            <xsd:enumeration value="Containerized"/>
-            <xsd:enumeration value="Breakbulk"/>
-            <xsd:enumeration value="HazardousCargo"/>
-            <xsd:enumeration value="GeneralCargo"/>
-            <xsd:enumeration value="LiquidCargo"/>
-            <xsd:enumeration value="TemperatureControlledCargo"/>
-            <xsd:enumeration value="EnvironmentalPollutantCargo"/>
-            <xsd:enumeration value="Not-HazardousCargo"/>
-            <xsd:enumeration value="Diplomatic"/>
-            <xsd:enumeration value="Military"/>
-            <xsd:enumeration value="Obnoxious"/>
-            <xsd:enumeration value="OutOfGauge"/>
-            <xsd:enumeration value="HouseholdGoodsAndPersonalEffects"/>
-            <xsd:enumeration value="FrozenCargo"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="RoundTripInformation">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" name="Immutable" type="xcblBoolean"/>
-            <xsd:element minOccurs="0" name="ReLink" type="xsd:anyURI"/>
-            <xsd:element minOccurs="0" name="SupplierShoppingCartID" type="xsd:string"/>
-        </xsd:sequence>
-        <xsd:attribute name="RoundTripOrder" type="xcblBoolean" fixed="true"/>
-    </xsd:complexType>
-    <xsd:element name="RoundTripInformation" type="RoundTripInformation"/>
-    <xsd:complexType name="ListOfAccountAssignment">
-        <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" ref="AccountAssignment"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="ListOfAccountAssignment" type="ListOfAccountAssignment"/>
-    <xsd:complexType name="AccountAssignment">
-        <xsd:sequence>
-            <xsd:element name="AccountAssignmentID" type="xsd:string"/>
-            <xsd:element name="DistributionPercentage" type="xsd:decimal"/>
-            <xsd:element minOccurs="0" name="GLAccount" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CostCenter" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="AccountAssignmentOrderNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="OperationNumber" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="SalesOrderReference" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="BusinessArea" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ControllingArea" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="ProfitCenter" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="WorkBreakdownStructure" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Network" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FixedAsset" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FixedAssetSub" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FundsCenter" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="Fund" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="CommitmentItem" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="FunctionalArea" type="xsd:string"/>
-            <xsd:element minOccurs="0" name="GenericAccounting" type="xsd:string"/>
-            <xsd:element minOccurs="0" ref="ListOfNameValueSet"/>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:element name="AccountAssignment" type="AccountAssignment"/>
-    <!-- SOX format datatypes where they difer from standard XSDL datatypes-->
-    <xsd:simpleType name="xcblDate">
-        <xsd:restriction base="xsd:string">
-            <xsd:pattern value="[0-9]{4}(((01|03|05|07|08|10|12)((0[1-9])|([1-2][0-9])|(3[0-1])))|((04|06|09|11)((0[1-9])|([1-2][0-9])|30))|((02)((0[1-9])|([1-2][0-9]))))"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="xcblTime">
-        <xsd:restriction base="xsd:string">
-            <xsd:pattern value="((([0-1][0-9])|(2[0-3]))(:([0-5][0-9])){2}((\+|-)(([0-1][0-9])|(2[0-3])):([0-5][0-9]))?)"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="xcblDatetime">
-        <xsd:restriction base="xsd:string">
-            <xsd:pattern value="[0-9]{4}(((01|03|05|07|08|10|12)((0[1-9])|([1-2][0-9])|(3[0-1])))|((04|06|09|11)((0[1-9])|([1-2][0-9])|30))|((02)((0[1-9])|([1-2][0-9]))))T((([0-1][0-9])|(2[0-3]))(:([0-5][0-9])){2}((\+|-)(([0-1][0-9])|(2[0-3])):([0-5][0-9]))?)"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="xcblBoolean">
-        <xsd:restriction base="xsd:boolean">
-            <xsd:pattern value="true|false"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="xcblFloat">
-        <xsd:restriction base="xsd:float">
-            <xsd:pattern value="(\+|-)?[0-9]*\.?[0-9]*(E|e)?[0-9]*"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:simpleType name="xcblDouble">
-        <xsd:restriction base="xsd:double">
-            <xsd:pattern value="(\+|-)?[0-9]*\.?[0-9]*(E|e)?[0-9]*"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-</xsd:schema>
diff --git a/v1/test/cases/schema/wli/annuitynet_new.xsd b/v1/test/cases/schema/wli/annuitynet_new.xsd
deleted file mode 100644
index 9f299b7..0000000
--- a/v1/test/cases/schema/wli/annuitynet_new.xsd
+++ /dev/null
@@ -1,1335 +0,0 @@
-<?xml version="1.0" ?>
-<xsd:schema targetNamespace="http://www.annuitynet.com/namespace/profiles"
-
-  xmlns="http://www.annuitynet.com/namespace/profiles"
-  xmlns:cvoe="http://www.contivo.com/xmlns/2002/enrichment"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
-  <xsd:complexType name="Type2">
-    <xsd:sequence>
-      <xsd:element name="CODE">
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:length value="2"/>
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:element>
-      <xsd:element name="BEGIN_DATE" minOccurs="0" type="xsd:date"/>
-      <xsd:element name="END_DATE" minOccurs="0" type="xsd:date"/>
-      <xsd:element name="TERM_DATE" minOccurs="0" type="xsd:date"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="Type1">
-    <xsd:sequence>
-      <xsd:element name="ID" maxOccurs="unbounded">
-        <xsd:complexType>
-          <xsd:simpleContent>
-            <xsd:extension base="xsd:string">
-              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-            </xsd:extension>
-          </xsd:simpleContent>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:element name="ENVELOPE">
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element name="HEADER">
-          <xsd:complexType>
-            <xsd:sequence>
-              <xsd:element name="SENDING_PARTY_ID" type="xsd:string"/>
-              <xsd:element name="RECEIVING_PARTY_ID" type="xsd:string"/>
-              <xsd:element name="TRANSACTION_COUNT" type="xsd:integer"/>
-              <xsd:element name="TEST" minOccurs="0" default="0" type="xsd:boolean"/>
-            </xsd:sequence>
-          </xsd:complexType>
-        </xsd:element>
-        <xsd:element name="TRANSACTION" maxOccurs="unbounded">
-          <xsd:complexType>
-            <xsd:sequence>
-              <xsd:element name="HEADER">
-                <xsd:complexType>
-                  <xsd:sequence>
-                    <xsd:element name="EFFECTIVE_DATE" minOccurs="0" type="xsd:date"/>
-                    <xsd:element name="AS_OF_DATETIME" minOccurs="0" type="xsd:dateTime"/>
-                    <xsd:element name="ACTIVITY">
-                      <xsd:simpleType>
-                        <xsd:restriction base="xsd:string">
-                          <xsd:enumeration value="ADD"/>
-                          <xsd:enumeration value="MODIFY"/>
-                          <xsd:enumeration value="DELETE"/>
-                        </xsd:restriction>
-                      </xsd:simpleType>
-                    </xsd:element>
-                    <xsd:element name="TRANSACTION_ID" maxOccurs="unbounded">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="PARTY_ID" type="xsd:string"/>
-                          <xsd:element name="TRANSACTION_ID" type="xsd:string"/>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="ROUTING">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="STEP" maxOccurs="unbounded">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="RECEIVING_PARTY_ID" type="xsd:string"/>
-                                <xsd:element name="SENDING_PARTY_ID" type="xsd:string"/>
-                                <xsd:element name="ORDER" type="xsd:integer"/>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="ROUTING_HISTORY">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="STEP" maxOccurs="unbounded">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="RECEIVING_PARTY_ID" type="xsd:string"/>
-                                <xsd:element name="SENDING_PARTY_ID" type="xsd:string"/>
-                                <xsd:element name="SEND_DATETIME" type="xsd:dateTime"/>
-                                <xsd:element name="RECEIVE_DATETIME" minOccurs="0" type="xsd:dateTime"/>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="TRANSACTION_TYPE">
-                      <xsd:simpleType>
-                        <xsd:restriction base="xsd:string">
-                          <xsd:enumeration value="BUSINESS_UNIT_DEFINITION"/>
-                        </xsd:restriction>
-                      </xsd:simpleType>
-                    </xsd:element>
-                  </xsd:sequence>
-                </xsd:complexType>
-              </xsd:element>
-              <xsd:element name="REQUEST">
-                <xsd:complexType>
-                  <xsd:sequence>
-                    <xsd:element name="BUSINESS_UNITS" minOccurs="0">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="BUSINESS_UNIT" maxOccurs="unbounded">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="ID">
-                                  <xsd:complexType>
-                                    <xsd:simpleContent>
-                                      <xsd:extension base="xsd:string">
-                                        <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                      </xsd:extension>
-                                    </xsd:simpleContent>
-                                  </xsd:complexType>
-                                </xsd:element>
-                                <xsd:element name="ACTIVE" minOccurs="0" type="xsd:boolean"/>
-                                <xsd:element name="IDS" type="Type1"/>
-                                <xsd:element name="NAME" type="xsd:string"/>
-                                <xsd:element name="CLASS" type="xsd:string"/>
-                                <xsd:element name="TIN" type="xsd:string"/>
-                                <xsd:element name="ACCOUNT_LINKS" minOccurs="0">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="ACCOUNT_LINK" maxOccurs="unbounded">
-                                        <xsd:complexType>
-                                          <xsd:sequence>
-                                            <xsd:element name="ID">
-                                              <xsd:complexType>
-                                                <xsd:simpleContent>
-                                                  <xsd:extension base="xsd:string">
-                                                    <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                  </xsd:extension>
-                                                </xsd:simpleContent>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                          </xsd:sequence>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                                <xsd:element name="CONTACT_LINKS" minOccurs="0">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="CONTACT_LINK" maxOccurs="unbounded">
-                                        <xsd:complexType>
-                                          <xsd:sequence>
-                                            <xsd:element name="ID">
-                                              <xsd:complexType>
-                                                <xsd:simpleContent>
-                                                  <xsd:extension base="xsd:string">
-                                                    <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                  </xsd:extension>
-                                                </xsd:simpleContent>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                            <xsd:element name="RESPONSIBILITY" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
-                                          </xsd:sequence>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="USERS" minOccurs="0">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="USER" maxOccurs="unbounded">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="IDS" type="Type1"/>
-                                <xsd:element name="ACTIVE" minOccurs="0" type="xsd:boolean"/>
-                                <xsd:element name="TIN" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="USER_LOGON_ID" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="PASSWORD" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="LAST_NAME" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="FIRST_NAME" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="MIDDLE_INITIAL" minOccurs="0">
-                                  <xsd:simpleType>
-                                    <xsd:restriction base="xsd:string">
-                                      <xsd:maxLength value="1"/>
-                                    </xsd:restriction>
-                                  </xsd:simpleType>
-                                </xsd:element>
-                                <xsd:element name="SALUTATION_CD" minOccurs="0">
-                                  <xsd:simpleType>
-                                    <xsd:restriction base="xsd:string">
-                                      <xsd:enumeration value="Mr"/>
-                                      <xsd:enumeration value="Mrs"/>
-                                      <xsd:enumeration value="Ms"/>
-                                      <xsd:enumeration value="Miss"/>
-                                      <xsd:enumeration value="Dr"/>
-                                      <xsd:enumeration value="Rev"/>
-                                      <xsd:enumeration value="Atty"/>
-                                    </xsd:restriction>
-                                  </xsd:simpleType>
-                                </xsd:element>
-                                <xsd:element name="SUFFIX_CD" minOccurs="0">
-                                  <xsd:simpleType>
-                                    <xsd:restriction base="xsd:string">
-                                      <xsd:enumeration value="Jr"/>
-                                      <xsd:enumeration value="Sr"/>
-                                      <xsd:enumeration value="II"/>
-                                      <xsd:enumeration value="III"/>
-                                      <xsd:enumeration value="IV"/>
-                                      <xsd:enumeration value="MD"/>
-                                    </xsd:restriction>
-                                  </xsd:simpleType>
-                                </xsd:element>
-                                <xsd:element name="EMAIL" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="PHONE_NUMBER" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="LICENSES" minOccurs="0">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="LICENSE" maxOccurs="2">
-                                        <xsd:complexType>
-                                          <xsd:sequence>
-                                            <xsd:element name="TYPE">
-                                              <xsd:simpleType>
-                                                <xsd:restriction base="xsd:string">
-                                                  <xsd:enumeration value="FIXED"/>
-                                                  <xsd:enumeration value="VARIABLE"/>
-                                                </xsd:restriction>
-                                              </xsd:simpleType>
-                                            </xsd:element>
-                                            <xsd:element name="STATES">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="EXCEPTION" minOccurs="0" default="0" type="xsd:boolean"/>
-                                                  <xsd:element name="STATE" minOccurs="0" maxOccurs="unbounded" type="Type2"/>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                          </xsd:sequence>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                                <xsd:element name="APPOINTMENTS" minOccurs="0">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="APPOINTMENT" maxOccurs="unbounded">
-                                        <xsd:complexType>
-                                          <xsd:sequence>
-                                            <xsd:element name="STATUS">
-                                              <xsd:simpleType>
-                                                <xsd:restriction base="xsd:string">
-                                                  <xsd:enumeration value="PENDING"/>
-                                                  <xsd:enumeration value="APPOINTED"/>
-                                                  <xsd:enumeration value="TERMINATED"/>
-                                                </xsd:restriction>
-                                              </xsd:simpleType>
-                                            </xsd:element>
-                                            <xsd:element name="NEW_BUSINESS" type="xsd:boolean"/>
-                                            <xsd:element name="COMMISSIONS" type="xsd:boolean"/>
-                                            <xsd:element name="WRITING_COMPANY">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="ID">
-                                                    <xsd:complexType>
-                                                      <xsd:simpleContent>
-                                                        <xsd:extension base="xsd:string">
-                                                          <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                        </xsd:extension>
-                                                      </xsd:simpleContent>
-                                                    </xsd:complexType>
-                                                  </xsd:element>
-                                                  <xsd:element name="LINES_OF_BUSINESS" minOccurs="0">
-                                                    <xsd:complexType>
-                                                      <xsd:sequence>
-                                                        <xsd:element name="LINE_OF_BUSINESS" maxOccurs="unbounded">
-                                                          <xsd:simpleType>
-                                                            <xsd:restriction base="xsd:string">
-                                                              <xsd:enumeration value="INDIVIDUAL_LIFE"/>
-                                                              <xsd:enumeration value="VARIABLE_ANNUITIES"/>
-                                                              <xsd:enumeration value="FIXED_ANNUITIES"/>
-                                                              <xsd:enumeration value="GROUP_LIFE"/>
-                                                              <xsd:enumeration value="VARIABLE_LIFE"/>
-                                                              <xsd:enumeration value="ALL"/>
-                                                            </xsd:restriction>
-                                                          </xsd:simpleType>
-                                                        </xsd:element>
-                                                      </xsd:sequence>
-                                                    </xsd:complexType>
-                                                  </xsd:element>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                            <xsd:element name="STATES">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="EXCEPTION" minOccurs="0" default="0" type="xsd:boolean"/>
-                                                  <xsd:element name="STATE" minOccurs="0" maxOccurs="unbounded" type="Type2"/>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                          </xsd:sequence>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="USER_ROLES" minOccurs="0">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="USER_ROLE" maxOccurs="unbounded">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="IDS" type="Type1"/>
-                                <xsd:element name="DESCRIPTION" minOccurs="0" type="xsd:string"/>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="ACCOUNTS" minOccurs="0">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="ACCOUNT" maxOccurs="unbounded">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="IDS" type="Type1"/>
-                                <xsd:element name="ACCOUNT_NAME" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="OWNER_NAME" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="ABA_NUMBER" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="ACCOUNT_NUMBER" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="PURPOSE" minOccurs="0">
-                                  <xsd:simpleType>
-                                    <xsd:restriction base="xsd:string">
-                                      <xsd:enumeration value="PREMIUM COLLECTION"/>
-                                      <xsd:enumeration value="COMMISSION RECIEPTS"/>
-                                    </xsd:restriction>
-                                  </xsd:simpleType>
-                                </xsd:element>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="CONTACTS" minOccurs="0">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="CONTACT" maxOccurs="unbounded">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="IDS" type="Type1"/>
-                                <xsd:element name="NAME" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="PHONE_NUMBER" minOccurs="0" type="xsd:string"/>
-                                <xsd:element name="EMAIL" minOccurs="0" type="xsd:string"/>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="BUSINESS_UNIT_AVAILABILITY" minOccurs="0">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="BUSINESS_UNIT_LINKS">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="BUSINESS_UNIT_LINK" maxOccurs="unbounded">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="ID">
-                                        <xsd:complexType>
-                                          <xsd:simpleContent>
-                                            <xsd:extension base="xsd:string">
-                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                            </xsd:extension>
-                                          </xsd:simpleContent>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                      <xsd:element name="AVAILABILITY">
-                                        <xsd:complexType>
-                                          <xsd:sequence>
-                                            <xsd:element name="PRODUCTS" minOccurs="0">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="PRODUCT_LINKS">
-                                                    <xsd:complexType>
-                                                      <xsd:sequence>
-                                                        <xsd:element name="PRODUCT_LINK" maxOccurs="unbounded">
-                                                          <xsd:complexType>
-                                                            <xsd:sequence>
-                                                              <xsd:element name="ID">
-                                                                <xsd:complexType>
-                                                                  <xsd:simpleContent>
-                                                                    <xsd:extension base="xsd:string">
-                                                                      <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                    </xsd:extension>
-                                                                  </xsd:simpleContent>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                              <xsd:element name="STATES" minOccurs="0">
-                                                                <xsd:complexType>
-                                                                  <xsd:sequence>
-                                                                    <xsd:element name="EXCEPTION" minOccurs="0" default="0" type="xsd:boolean"/>
-                                                                    <xsd:element name="STATE" minOccurs="0" maxOccurs="unbounded" type="Type2"/>
-                                                                  </xsd:sequence>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                            </xsd:sequence>
-                                                          </xsd:complexType>
-                                                        </xsd:element>
-                                                      </xsd:sequence>
-                                                    </xsd:complexType>
-                                                  </xsd:element>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                            <xsd:element name="PRODUCTS_PLANS" minOccurs="0">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="PRODUCT_LINKS">
-                                                    <xsd:complexType>
-                                                      <xsd:sequence>
-                                                        <xsd:element name="PRODUCT_LINK" maxOccurs="unbounded">
-                                                          <xsd:complexType>
-                                                            <xsd:sequence>
-                                                              <xsd:element name="ID">
-                                                                <xsd:complexType>
-                                                                  <xsd:simpleContent>
-                                                                    <xsd:extension base="xsd:string">
-                                                                      <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                    </xsd:extension>
-                                                                  </xsd:simpleContent>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                              <xsd:element name="PLAN_LINKS" minOccurs="0">
-                                                                <xsd:complexType>
-                                                                  <xsd:sequence>
-                                                                    <xsd:element name="PLAN_LINK" maxOccurs="unbounded">
-                                                                      <xsd:complexType>
-                                                                        <xsd:sequence>
-                                                                          <xsd:element name="ID">
-                                                                            <xsd:complexType>
-                                                                              <xsd:simpleContent>
-                                                                                <xsd:extension base="xsd:string">
-                                                                                  <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                </xsd:extension>
-                                                                              </xsd:simpleContent>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                          <xsd:element name="STATES" minOccurs="0">
-                                                                            <xsd:complexType>
-                                                                              <xsd:sequence>
-                                                                                <xsd:element name="EXCEPTION" minOccurs="0" default="0" type="xsd:boolean"/>
-                                                                                <xsd:element name="STATE" minOccurs="0" maxOccurs="unbounded" type="Type2"/>
-                                                                              </xsd:sequence>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                        </xsd:sequence>
-                                                                      </xsd:complexType>
-                                                                    </xsd:element>
-                                                                  </xsd:sequence>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                            </xsd:sequence>
-                                                          </xsd:complexType>
-                                                        </xsd:element>
-                                                      </xsd:sequence>
-                                                    </xsd:complexType>
-                                                  </xsd:element>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                            <xsd:element name="PRODUCTS_RIDERS">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="PRODUCT_LINKS">
-                                                    <xsd:complexType>
-                                                      <xsd:sequence>
-                                                        <xsd:element name="PRODUCT_LINK" maxOccurs="unbounded">
-                                                          <xsd:complexType>
-                                                            <xsd:sequence>
-                                                              <xsd:element name="ID">
-                                                                <xsd:complexType>
-                                                                  <xsd:simpleContent>
-                                                                    <xsd:extension base="xsd:string">
-                                                                      <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                    </xsd:extension>
-                                                                  </xsd:simpleContent>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                              <xsd:element name="RIDER_LINKS" minOccurs="0">
-                                                                <xsd:complexType>
-                                                                  <xsd:sequence>
-                                                                    <xsd:element name="RIDER_LINK" maxOccurs="unbounded">
-                                                                      <xsd:complexType>
-                                                                        <xsd:sequence>
-                                                                          <xsd:element name="ID">
-                                                                            <xsd:complexType>
-                                                                              <xsd:simpleContent>
-                                                                                <xsd:extension base="xsd:string">
-                                                                                  <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                </xsd:extension>
-                                                                              </xsd:simpleContent>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                          <xsd:element name="CONFIGURATION_LINKS" minOccurs="0">
-                                                                            <xsd:complexType>
-                                                                              <xsd:sequence>
-                                                                                <xsd:element name="CONFIGURATION_LINK" maxOccurs="unbounded">
-                                                                                  <xsd:complexType>
-                                                                                    <xsd:sequence>
-                                                                                      <xsd:element name="ID">
-                                                                                        <xsd:complexType>
-                                                                                          <xsd:simpleContent>
-                                                                                            <xsd:extension base="xsd:string">
-                                                                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                            </xsd:extension>
-                                                                                          </xsd:simpleContent>
-                                                                                        </xsd:complexType>
-                                                                                      </xsd:element>
-                                                                                      <xsd:element name="STATES" minOccurs="0">
-                                                                                        <xsd:complexType>
-                                                                                          <xsd:sequence>
-                                                                                            <xsd:element name="EXCEPTION" minOccurs="0" default="0" type="xsd:boolean"/>
-                                                                                            <xsd:element name="STATE" minOccurs="0" maxOccurs="unbounded" type="Type2"/>
-                                                                                          </xsd:sequence>
-                                                                                        </xsd:complexType>
-                                                                                      </xsd:element>
-                                                                                    </xsd:sequence>
-                                                                                  </xsd:complexType>
-                                                                                </xsd:element>
-                                                                              </xsd:sequence>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                          <xsd:element name="OPTIONALITY" minOccurs="0" default="OPTIONAL">
-                                                                            <xsd:simpleType>
-                                                                              <xsd:restriction base="xsd:string">
-                                                                                <xsd:enumeration value="REQUIRED"/>
-                                                                                <xsd:enumeration value="OPTIONAL"/>
-                                                                              </xsd:restriction>
-                                                                            </xsd:simpleType>
-                                                                          </xsd:element>
-                                                                        </xsd:sequence>
-                                                                      </xsd:complexType>
-                                                                    </xsd:element>
-                                                                  </xsd:sequence>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                            </xsd:sequence>
-                                                          </xsd:complexType>
-                                                        </xsd:element>
-                                                      </xsd:sequence>
-                                                    </xsd:complexType>
-                                                  </xsd:element>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                            <xsd:element name="PRODUCTS_PLANS_RIDERS">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="PRODUCT_LINKS">
-                                                    <xsd:complexType>
-                                                      <xsd:sequence>
-                                                        <xsd:element name="PRODUCT_LINK" maxOccurs="unbounded">
-                                                          <xsd:complexType>
-                                                            <xsd:sequence>
-                                                              <xsd:element name="ID">
-                                                                <xsd:complexType>
-                                                                  <xsd:simpleContent>
-                                                                    <xsd:extension base="xsd:string">
-                                                                      <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                    </xsd:extension>
-                                                                  </xsd:simpleContent>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                              <xsd:element name="PLAN_LINKS" minOccurs="0">
-                                                                <xsd:complexType>
-                                                                  <xsd:sequence>
-                                                                    <xsd:element name="PLAN_LINK" maxOccurs="unbounded">
-                                                                      <xsd:complexType>
-                                                                        <xsd:sequence>
-                                                                          <xsd:element name="ID">
-                                                                            <xsd:complexType>
-                                                                              <xsd:simpleContent>
-                                                                                <xsd:extension base="xsd:string">
-                                                                                  <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                </xsd:extension>
-                                                                              </xsd:simpleContent>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                          <xsd:element name="RIDER_LINKS" minOccurs="0">
-                                                                            <xsd:complexType>
-                                                                              <xsd:sequence>
-                                                                                <xsd:element name="RIDER_LINK" maxOccurs="unbounded">
-                                                                                  <xsd:complexType>
-                                                                                    <xsd:sequence>
-                                                                                      <xsd:element name="ID">
-                                                                                        <xsd:complexType>
-                                                                                          <xsd:simpleContent>
-                                                                                            <xsd:extension base="xsd:string">
-                                                                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                            </xsd:extension>
-                                                                                          </xsd:simpleContent>
-                                                                                        </xsd:complexType>
-                                                                                      </xsd:element>
-                                                                                      <xsd:element name="CONFIGURATION_LINKS" minOccurs="0">
-                                                                                        <xsd:complexType>
-                                                                                          <xsd:sequence>
-                                                                                            <xsd:element name="CONFIGURATION_LINK" maxOccurs="unbounded">
-                                                                                              <xsd:complexType>
-                                                                                                <xsd:sequence>
-                                                                                                  <xsd:element name="ID">
-                                                                                                    <xsd:complexType>
-                                                                                                      <xsd:simpleContent>
-                                                                                                        <xsd:extension base="xsd:string">
-                                                                                                          <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                                        </xsd:extension>
-                                                                                                      </xsd:simpleContent>
-                                                                                                    </xsd:complexType>
-                                                                                                  </xsd:element>
-                                                                                                  <xsd:element name="STATES" minOccurs="0">
-                                                                                                    <xsd:complexType>
-                                                                                                      <xsd:sequence>
-                                                                                                        <xsd:element name="EXCEPTION" minOccurs="0" default="0" type="xsd:boolean"/>
-                                                                                                        <xsd:element name="STATE" minOccurs="0" maxOccurs="unbounded" type="Type2"/>
-                                                                                                      </xsd:sequence>
-                                                                                                    </xsd:complexType>
-                                                                                                  </xsd:element>
-                                                                                                </xsd:sequence>
-                                                                                              </xsd:complexType>
-                                                                                            </xsd:element>
-                                                                                          </xsd:sequence>
-                                                                                        </xsd:complexType>
-                                                                                      </xsd:element>
-                                                                                      <xsd:element name="OPTIONALITY" minOccurs="0" default="OPTIONAL">
-                                                                                        <xsd:simpleType>
-                                                                                          <xsd:restriction base="xsd:string">
-                                                                                            <xsd:enumeration value="REQUIRED"/>
-                                                                                            <xsd:enumeration value="OPTIONAL"/>
-                                                                                          </xsd:restriction>
-                                                                                        </xsd:simpleType>
-                                                                                      </xsd:element>
-                                                                                    </xsd:sequence>
-                                                                                  </xsd:complexType>
-                                                                                </xsd:element>
-                                                                              </xsd:sequence>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                        </xsd:sequence>
-                                                                      </xsd:complexType>
-                                                                    </xsd:element>
-                                                                  </xsd:sequence>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                            </xsd:sequence>
-                                                          </xsd:complexType>
-                                                        </xsd:element>
-                                                      </xsd:sequence>
-                                                    </xsd:complexType>
-                                                  </xsd:element>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                            <xsd:element name="PRODUCTS_SERVICE_PROGRAMS">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="PRODUCT_LINKS">
-                                                    <xsd:complexType>
-                                                      <xsd:sequence>
-                                                        <xsd:element name="PRODUCT_LINK" maxOccurs="unbounded">
-                                                          <xsd:complexType>
-                                                            <xsd:sequence>
-                                                              <xsd:element name="ID">
-                                                                <xsd:complexType>
-                                                                  <xsd:simpleContent>
-                                                                    <xsd:extension base="xsd:string">
-                                                                      <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                    </xsd:extension>
-                                                                  </xsd:simpleContent>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                              <xsd:element name="SERVICE_PROGRAM_LINKS" minOccurs="0">
-                                                                <xsd:complexType>
-                                                                  <xsd:sequence>
-                                                                    <xsd:element name="SERVICE_PROGRAM_LINK" maxOccurs="unbounded">
-                                                                      <xsd:complexType>
-                                                                        <xsd:sequence>
-                                                                          <xsd:element name="ID">
-                                                                            <xsd:complexType>
-                                                                              <xsd:simpleContent>
-                                                                                <xsd:extension base="xsd:string">
-                                                                                  <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                </xsd:extension>
-                                                                              </xsd:simpleContent>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                          <xsd:element name="OPTION_LINKS" minOccurs="0">
-                                                                            <xsd:complexType>
-                                                                              <xsd:sequence>
-                                                                                <xsd:element name="OPTION_LINK" maxOccurs="unbounded">
-                                                                                  <xsd:complexType>
-                                                                                    <xsd:sequence>
-                                                                                      <xsd:element name="ID">
-                                                                                        <xsd:complexType>
-                                                                                          <xsd:simpleContent>
-                                                                                            <xsd:extension base="xsd:string">
-                                                                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                            </xsd:extension>
-                                                                                          </xsd:simpleContent>
-                                                                                        </xsd:complexType>
-                                                                                      </xsd:element>
-                                                                                    </xsd:sequence>
-                                                                                  </xsd:complexType>
-                                                                                </xsd:element>
-                                                                              </xsd:sequence>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                          <xsd:element name="CONFIGURATION_LINKS" minOccurs="0">
-                                                                            <xsd:complexType>
-                                                                              <xsd:sequence>
-                                                                                <xsd:element name="CONFIGURATION_LINK" maxOccurs="unbounded">
-                                                                                  <xsd:complexType>
-                                                                                    <xsd:sequence>
-                                                                                      <xsd:element name="ID">
-                                                                                        <xsd:complexType>
-                                                                                          <xsd:simpleContent>
-                                                                                            <xsd:extension base="xsd:string">
-                                                                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                            </xsd:extension>
-                                                                                          </xsd:simpleContent>
-                                                                                        </xsd:complexType>
-                                                                                      </xsd:element>
-                                                                                      <xsd:element name="STATES" minOccurs="0">
-                                                                                        <xsd:complexType>
-                                                                                          <xsd:sequence>
-                                                                                            <xsd:element name="EXCEPTION" minOccurs="0" default="0" type="xsd:boolean"/>
-                                                                                            <xsd:element name="STATE" minOccurs="0" maxOccurs="unbounded" type="Type2"/>
-                                                                                          </xsd:sequence>
-                                                                                        </xsd:complexType>
-                                                                                      </xsd:element>
-                                                                                    </xsd:sequence>
-                                                                                  </xsd:complexType>
-                                                                                </xsd:element>
-                                                                              </xsd:sequence>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                          <xsd:element name="OPTIONALITY" minOccurs="0" default="OPTIONAL">
-                                                                            <xsd:simpleType>
-                                                                              <xsd:restriction base="xsd:string">
-                                                                                <xsd:enumeration value="REQUIRED"/>
-                                                                                <xsd:enumeration value="OPTIONAL"/>
-                                                                              </xsd:restriction>
-                                                                            </xsd:simpleType>
-                                                                          </xsd:element>
-                                                                        </xsd:sequence>
-                                                                      </xsd:complexType>
-                                                                    </xsd:element>
-                                                                  </xsd:sequence>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                            </xsd:sequence>
-                                                          </xsd:complexType>
-                                                        </xsd:element>
-                                                      </xsd:sequence>
-                                                    </xsd:complexType>
-                                                  </xsd:element>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                            <xsd:element name="PRODUCTS_PLANS_SERVICE_PROGRAMS">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="PRODUCT_LINKS">
-                                                    <xsd:complexType>
-                                                      <xsd:sequence>
-                                                        <xsd:element name="PRODUCT_LINK" maxOccurs="unbounded">
-                                                          <xsd:complexType>
-                                                            <xsd:sequence>
-                                                              <xsd:element name="ID">
-                                                                <xsd:complexType>
-                                                                  <xsd:simpleContent>
-                                                                    <xsd:extension base="xsd:string">
-                                                                      <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                    </xsd:extension>
-                                                                  </xsd:simpleContent>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                              <xsd:element name="PLAN_LINKS" minOccurs="0">
-                                                                <xsd:complexType>
-                                                                  <xsd:sequence>
-                                                                    <xsd:element name="PLAN_LINK" maxOccurs="unbounded">
-                                                                      <xsd:complexType>
-                                                                        <xsd:sequence>
-                                                                          <xsd:element name="ID">
-                                                                            <xsd:complexType>
-                                                                              <xsd:simpleContent>
-                                                                                <xsd:extension base="xsd:string">
-                                                                                  <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                </xsd:extension>
-                                                                              </xsd:simpleContent>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                          <xsd:element name="SERVICE_PROGRAM_LINKS" minOccurs="0">
-                                                                            <xsd:complexType>
-                                                                              <xsd:sequence>
-                                                                                <xsd:element name="SERVICE_PROGRAM_LINK" maxOccurs="unbounded">
-                                                                                  <xsd:complexType>
-                                                                                    <xsd:sequence>
-                                                                                      <xsd:element name="ID">
-                                                                                        <xsd:complexType>
-                                                                                          <xsd:simpleContent>
-                                                                                            <xsd:extension base="xsd:string">
-                                                                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                            </xsd:extension>
-                                                                                          </xsd:simpleContent>
-                                                                                        </xsd:complexType>
-                                                                                      </xsd:element>
-                                                                                      <xsd:element name="OPTION__LINKS" minOccurs="0">
-                                                                                        <xsd:complexType>
-                                                                                          <xsd:sequence>
-                                                                                            <xsd:element name="OPTION__LINK" maxOccurs="unbounded">
-                                                                                              <xsd:complexType>
-                                                                                                <xsd:sequence>
-                                                                                                  <xsd:element name="ID">
-                                                                                                    <xsd:complexType>
-                                                                                                      <xsd:simpleContent>
-                                                                                                        <xsd:extension base="xsd:string">
-                                                                                                          <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                                        </xsd:extension>
-                                                                                                      </xsd:simpleContent>
-                                                                                                    </xsd:complexType>
-                                                                                                  </xsd:element>
-                                                                                                </xsd:sequence>
-                                                                                              </xsd:complexType>
-                                                                                            </xsd:element>
-                                                                                          </xsd:sequence>
-                                                                                        </xsd:complexType>
-                                                                                      </xsd:element>
-                                                                                      <xsd:element name="CONFIGURATION_LINKS" minOccurs="0">
-                                                                                        <xsd:complexType>
-                                                                                          <xsd:sequence>
-                                                                                            <xsd:element name="CONFIGURATION_LINK" maxOccurs="unbounded">
-                                                                                              <xsd:complexType>
-                                                                                                <xsd:sequence>
-                                                                                                  <xsd:element name="ID">
-                                                                                                    <xsd:complexType>
-                                                                                                      <xsd:simpleContent>
-                                                                                                        <xsd:extension base="xsd:string">
-                                                                                                          <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                                        </xsd:extension>
-                                                                                                      </xsd:simpleContent>
-                                                                                                    </xsd:complexType>
-                                                                                                  </xsd:element>
-                                                                                                  <xsd:element name="STATES" minOccurs="0">
-                                                                                                    <xsd:complexType>
-                                                                                                      <xsd:sequence>
-                                                                                                        <xsd:element name="EXCEPTION" minOccurs="0" default="0" type="xsd:boolean"/>
-                                                                                                        <xsd:element name="STATE" minOccurs="0" maxOccurs="unbounded" type="Type2"/>
-                                                                                                      </xsd:sequence>
-                                                                                                    </xsd:complexType>
-                                                                                                  </xsd:element>
-                                                                                                </xsd:sequence>
-                                                                                              </xsd:complexType>
-                                                                                            </xsd:element>
-                                                                                          </xsd:sequence>
-                                                                                        </xsd:complexType>
-                                                                                      </xsd:element>
-                                                                                      <xsd:element name="OPTIONALITY" minOccurs="0" default="OPTIONAL">
-                                                                                        <xsd:simpleType>
-                                                                                          <xsd:restriction base="xsd:string">
-                                                                                            <xsd:enumeration value="REQUIRED"/>
-                                                                                            <xsd:enumeration value="OPTIONAL"/>
-                                                                                          </xsd:restriction>
-                                                                                        </xsd:simpleType>
-                                                                                      </xsd:element>
-                                                                                    </xsd:sequence>
-                                                                                  </xsd:complexType>
-                                                                                </xsd:element>
-                                                                              </xsd:sequence>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                        </xsd:sequence>
-                                                                      </xsd:complexType>
-                                                                    </xsd:element>
-                                                                  </xsd:sequence>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                            </xsd:sequence>
-                                                          </xsd:complexType>
-                                                        </xsd:element>
-                                                      </xsd:sequence>
-                                                    </xsd:complexType>
-                                                  </xsd:element>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                            <xsd:element name="PRODUCTS_INVESTMENT_OPTIONS" minOccurs="0">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="PRODUCT_LINKS">
-                                                    <xsd:complexType>
-                                                      <xsd:sequence>
-                                                        <xsd:element name="PRODUCT_LINK" maxOccurs="unbounded">
-                                                          <xsd:complexType>
-                                                            <xsd:sequence>
-                                                              <xsd:element name="ID">
-                                                                <xsd:complexType>
-                                                                  <xsd:simpleContent>
-                                                                    <xsd:extension base="xsd:string">
-                                                                      <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                    </xsd:extension>
-                                                                  </xsd:simpleContent>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                              <xsd:element name="INVESTMENT_OPTIONS_LINKS" minOccurs="0">
-                                                                <xsd:complexType>
-                                                                  <xsd:sequence>
-                                                                    <xsd:element name="INVESTMENT_OPTIONS_LINK" maxOccurs="unbounded">
-                                                                      <xsd:complexType>
-                                                                        <xsd:sequence>
-                                                                          <xsd:element name="ID">
-                                                                            <xsd:complexType>
-                                                                              <xsd:simpleContent>
-                                                                                <xsd:extension base="xsd:string">
-                                                                                  <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                                </xsd:extension>
-                                                                              </xsd:simpleContent>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                          <xsd:element name="STATES" minOccurs="0">
-                                                                            <xsd:complexType>
-                                                                              <xsd:sequence>
-                                                                                <xsd:element name="EXCEPTION" minOccurs="0" default="0" type="xsd:boolean"/>
-                                                                                <xsd:element name="STATE" minOccurs="0" maxOccurs="unbounded" type="Type2"/>
-                                                                              </xsd:sequence>
-                                                                            </xsd:complexType>
-                                                                          </xsd:element>
-                                                                        </xsd:sequence>
-                                                                      </xsd:complexType>
-                                                                    </xsd:element>
-                                                                  </xsd:sequence>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                            </xsd:sequence>
-                                                          </xsd:complexType>
-                                                        </xsd:element>
-                                                      </xsd:sequence>
-                                                    </xsd:complexType>
-                                                  </xsd:element>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                          </xsd:sequence>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="OPERATING_PROFILES" minOccurs="0">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="OPERATING_PROFILE" maxOccurs="unbounded">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="IDS" type="Type1"/>
-                                <xsd:element name="NETTING_OPTION" minOccurs="0" type="xsd:boolean"/>
-                                <xsd:element name="COMMISSION_OPTION_LINKS" minOccurs="0">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="COMMISSION_OPTION_LINK" maxOccurs="unbounded">
-                                        <xsd:complexType>
-                                          <xsd:sequence>
-                                            <xsd:element name="ID">
-                                              <xsd:complexType>
-                                                <xsd:simpleContent>
-                                                  <xsd:extension base="xsd:string">
-                                                    <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                  </xsd:extension>
-                                                </xsd:simpleContent>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                          </xsd:sequence>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                                <xsd:element name="TRANSACTION_TYPES" minOccurs="0">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="TRANSACTION_TYPE" maxOccurs="unbounded">
-                                        <xsd:complexType>
-                                          <xsd:sequence>
-                                            <xsd:element name="TYPE">
-                                              <xsd:simpleType>
-                                                <xsd:restriction base="xsd:string">
-                                                  <xsd:enumeration value="APPLICATION"/>
-                                                  <xsd:enumeration value="INITIAL_PREMIUM"/>
-                                                  <xsd:enumeration value="SUBSEQUENT_PREMIUM"/>
-                                                  <xsd:enumeration value="SCHEDULED_ACH_PROGRAM"/>
-                                                  <xsd:enumeration value="WITHDRAWAL"/>
-                                                  <xsd:enumeration value="SURRENDER"/>
-                                                  <xsd:enumeration value="TRANSFER"/>
-                                                  <xsd:enumeration value="REBALANCE"/>
-                                                  <xsd:enumeration value="SYSTEMATIC_WITHDRAWAL_PROGRAM"/>
-                                                  <xsd:enumeration value="MRD_PROGRAM"/>
-                                                  <xsd:enumeration value="MRD"/>
-                                                  <xsd:enumeration value="SCHEDULED_REBALANCE_PROGRAM"/>
-                                                  <xsd:enumeration value="DCA"/>
-                                                  <xsd:enumeration value="DCA_PROGRAM"/>
-                                                  <xsd:enumeration value="SYSTEMATIC_WITHDRAWAL_PROGRAM"/>
-                                                  <xsd:enumeration value="RENEWAL"/>
-                                                  <xsd:enumeration value="ANNUITIZATION"/>
-                                                  <xsd:enumeration value="PAYOUT"/>
-                                                  <xsd:enumeration value="DEATH_CLAIM_PENDING"/>
-                                                  <xsd:enumeration value="DEATH_CLAIM"/>
-                                                  <xsd:enumeration value="SYSTEMATIC_WITHDRAWAL"/>
-                                                  <xsd:enumeration value="SCHEDULED_ACH"/>
-                                                </xsd:restriction>
-                                              </xsd:simpleType>
-                                            </xsd:element>
-                                            <xsd:element name="MONEY_FORMS" minOccurs="0">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="MONEY_FORM" maxOccurs="unbounded" type="xsd:string"/>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                          </xsd:sequence>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                                <xsd:element name="TRANSACTION_ROUTING_LINK" minOccurs="0">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="ID">
-                                        <xsd:complexType>
-                                          <xsd:simpleContent>
-                                            <xsd:extension base="xsd:string">
-                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                            </xsd:extension>
-                                          </xsd:simpleContent>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                      <xsd:element name="PARAMETERS" minOccurs="0">
-                                        <xsd:complexType>
-                                          <xsd:sequence>
-                                            <xsd:element name="PARAMETER" maxOccurs="unbounded">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="NAME" type="xsd:string"/>
-                                                  <xsd:element name="New Character Item" type="xsd:string"/>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                          </xsd:sequence>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="TRANSACTION_ROUTINGS" minOccurs="0">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="TRANSACTION_ROUTING" maxOccurs="unbounded">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="ID">
-                                  <xsd:complexType>
-                                    <xsd:simpleContent>
-                                      <xsd:extension base="xsd:string">
-                                        <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                      </xsd:extension>
-                                    </xsd:simpleContent>
-                                  </xsd:complexType>
-                                </xsd:element>
-                                <xsd:element name="IDS" type="Type1"/>
-                                <xsd:element name="NAME" type="xsd:string"/>
-                                <xsd:element name="FORMAT">
-                                  <xsd:simpleType>
-                                    <xsd:restriction base="xsd:string">
-                                      <xsd:enumeration value="ANSI"/>
-                                      <xsd:enumeration value="NSCC"/>
-                                      <xsd:enumeration value="ANNUITYNET_PROFILE_V1.0"/>
-                                      <xsd:enumeration value="XMLIFE"/>
-                                      <xsd:enumeration value="TXMLIFE"/>
-                                    </xsd:restriction>
-                                  </xsd:simpleType>
-                                </xsd:element>
-                                <xsd:element name="PARAMETERS" minOccurs="0">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="PARAMETER" maxOccurs="unbounded">
-                                        <xsd:complexType>
-                                          <xsd:sequence>
-                                            <xsd:element name="NAME" type="xsd:string"/>
-                                          </xsd:sequence>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="USER_TO_BUSINESS_UNIT_MAPPINGS" minOccurs="0">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="USER_TO_BUSINESS_UNIT_MAPPING" maxOccurs="unbounded">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="BUSINESS_UNIT_LINK">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="ID">
-                                        <xsd:complexType>
-                                          <xsd:simpleContent>
-                                            <xsd:extension base="xsd:string">
-                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                            </xsd:extension>
-                                          </xsd:simpleContent>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                                <xsd:element name="USER_LINK">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="ID">
-                                        <xsd:complexType>
-                                          <xsd:simpleContent>
-                                            <xsd:extension base="xsd:string">
-                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                            </xsd:extension>
-                                          </xsd:simpleContent>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                                <xsd:element name="USER_ROLE_LINK">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="ID">
-                                        <xsd:complexType>
-                                          <xsd:simpleContent>
-                                            <xsd:extension base="xsd:string">
-                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                            </xsd:extension>
-                                          </xsd:simpleContent>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="BUSINESS_UNIT_RELATIONSHIPS" minOccurs="0">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="BUSINESS_UNIT_RELATIONSHIP" maxOccurs="unbounded">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="PARENT_BUSINESS_UNIT_LINK">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="ID">
-                                        <xsd:complexType>
-                                          <xsd:simpleContent>
-                                            <xsd:extension base="xsd:string">
-                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                            </xsd:extension>
-                                          </xsd:simpleContent>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                                <xsd:element name="CHILD_BUSINESS_UNIT_LINK">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="ID">
-                                        <xsd:complexType>
-                                          <xsd:simpleContent>
-                                            <xsd:extension base="xsd:string">
-                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                            </xsd:extension>
-                                          </xsd:simpleContent>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="BUSINESS_UNIT_OPERATING_PROFILE_LINKS" minOccurs="0">
-                      <xsd:complexType>
-                        <xsd:sequence>
-                          <xsd:element name="BUSINESS_UNIT_LINKS">
-                            <xsd:complexType>
-                              <xsd:sequence>
-                                <xsd:element name="BUSINESS_UNIT_LINK" maxOccurs="unbounded">
-                                  <xsd:complexType>
-                                    <xsd:sequence>
-                                      <xsd:element name="ID">
-                                        <xsd:complexType>
-                                          <xsd:simpleContent>
-                                            <xsd:extension base="xsd:string">
-                                              <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                            </xsd:extension>
-                                          </xsd:simpleContent>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                      <xsd:element name="PRODUCT_LINKS">
-                                        <xsd:complexType>
-                                          <xsd:sequence>
-                                            <xsd:element name="PRODUCT_LINK" maxOccurs="unbounded">
-                                              <xsd:complexType>
-                                                <xsd:sequence>
-                                                  <xsd:element name="ID">
-                                                    <xsd:complexType>
-                                                      <xsd:simpleContent>
-                                                        <xsd:extension base="xsd:string">
-                                                          <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                        </xsd:extension>
-                                                      </xsd:simpleContent>
-                                                    </xsd:complexType>
-                                                  </xsd:element>
-                                                  <xsd:element name="OPERATING_PROFILE_LINKS" minOccurs="0">
-                                                    <xsd:complexType>
-                                                      <xsd:sequence>
-                                                        <xsd:element name="OPERATING_PROFILE_LINK" maxOccurs="unbounded">
-                                                          <xsd:complexType>
-                                                            <xsd:sequence>
-                                                              <xsd:element name="ID">
-                                                                <xsd:complexType>
-                                                                  <xsd:simpleContent>
-                                                                    <xsd:extension base="xsd:string">
-                                                                      <xsd:attribute name="@PARTY_LINK_ID" use="required" type="xsd:string"/>
-                                                                    </xsd:extension>
-                                                                  </xsd:simpleContent>
-                                                                </xsd:complexType>
-                                                              </xsd:element>
-                                                            </xsd:sequence>
-                                                          </xsd:complexType>
-                                                        </xsd:element>
-                                                      </xsd:sequence>
-                                                    </xsd:complexType>
-                                                  </xsd:element>
-                                                </xsd:sequence>
-                                              </xsd:complexType>
-                                            </xsd:element>
-                                          </xsd:sequence>
-                                        </xsd:complexType>
-                                      </xsd:element>
-                                    </xsd:sequence>
-                                  </xsd:complexType>
-                                </xsd:element>
-                              </xsd:sequence>
-                            </xsd:complexType>
-                          </xsd:element>
-                        </xsd:sequence>
-                      </xsd:complexType>
-                    </xsd:element>
-                  </xsd:sequence>
-                </xsd:complexType>
-              </xsd:element>
-            </xsd:sequence>
-            <xsd:attribute name="SCHEMA_VERSION" use="required">
-              <xsd:simpleType>
-                <xsd:restriction base="xsd:string">
-                  <xsd:enumeration value="PARTNER_XML_INTERFACE_V1.10"/>
-                </xsd:restriction>
-              </xsd:simpleType>
-            </xsd:attribute>
-          </xsd:complexType>
-        </xsd:element>
-      </xsd:sequence>
-    </xsd:complexType>
-  </xsd:element>
-
-</xsd:schema>
diff --git a/v1/test/cases/schema/wli/cxml.xsd b/v1/test/cases/schema/wli/cxml.xsd
deleted file mode 100644
index 8d83d22..0000000
--- a/v1/test/cases/schema/wli/cxml.xsd
+++ /dev/null
@@ -1,1022 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--W3C Schema generated by XML Spy v4.4 U (http://www.xmlspy.com)-->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-	<xs:element name="Accounting">
-		<xs:complexType>
-			<xs:choice>
-				<xs:element name="Segment" ref="Segment" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="AccountingSegment" ref="AccountingSegment" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:choice>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="AccountingSegment">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Name" ref="Name"/>
-				<xs:element name="Description" ref="Description"/>
-			</xs:sequence>
-			<xs:attribute name="id" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Address">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Name" ref="Name"/>
-				<xs:element name="PostalAddress" ref="PostalAddress" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Email" ref="Email" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Phone" ref="Phone" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Fax" ref="Fax" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="URL" ref="URL" minOccurs="0" maxOccurs="1"/>
-			</xs:sequence>
-			<xs:attribute name="isoCountryCode" type="xs:string"/>
-			<xs:attribute name="addressID" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="AreaOrCityCode" type="xs:string"/>
-	<xs:element name="Attachment">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="URL" ref="URL"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="BillTo">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Address" ref="Address"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="BrowserFormPost">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="URL" ref="URL"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="BuyerCookie">
-		<xs:complexType mixed="true"/>
-	</xs:element>
-	<xs:element name="CIFContent" type="xs:string"/>
-	<xs:element name="Changetime" type="xs:string"/>
-	<xs:element name="Charge">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Money" ref="Money"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="City" type="xs:string"/>
-	<xs:element name="Classification">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="domain" type="xs:string" use="required"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Comments">
-		<xs:complexType mixed="true">
-			<xs:choice minOccurs="0" maxOccurs="unbounded">
-				<xs:element name="Attachment" ref="Attachment"/>
-			</xs:choice>
-			<xs:attribute name="lang" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Contact">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Name" ref="Name"/>
-				<xs:element name="PostalAddress" ref="PostalAddress" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="Email" ref="Email" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="Phone" ref="Phone" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="Fax" ref="Fax" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="URL" ref="URL" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="role" type="xs:NMTOKEN"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Contract">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="SupplierID" ref="SupplierID" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="Comments" ref="Comments" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="ItemSegment" ref="ItemSegment" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="effectiveDate" type="xs:string" use="required"/>
-			<xs:attribute name="expirationDate" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ContractItem">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="ItemID" ref="ItemID"/>
-				<xs:element name="UnitPrice" ref="UnitPrice" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Extrinsic" ref="Extrinsic" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Country">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="isoCountryCode" type="xs:string" use="required"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="CountryCode">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="isoCountryCode" type="xs:string" use="required"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Credential">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Identity" ref="Identity"/>
-				<xs:choice minOccurs="0" maxOccurs="1">
-					<xs:element name="SharedSecret" ref="SharedSecret"/>
-					<xs:element name="DigitalSignature" ref="DigitalSignature"/>
-				</xs:choice>
-			</xs:sequence>
-			<xs:attribute name="domain" type="xs:string" use="required"/>
-			<xs:attribute name="type">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="marketplace"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="DeliverTo" type="xs:string"/>
-	<xs:element name="Description">
-		<xs:complexType mixed="true">
-			<xs:choice minOccurs="0" maxOccurs="unbounded">
-				<xs:element name="ShortName" ref="ShortName"/>
-			</xs:choice>
-			<xs:attribute name="lang" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="DigitalSignature">
-		<xs:complexType mixed="true">
-			<xs:attribute name="type" type="xs:string" default="PK7 self-contained"/>
-			<xs:attribute name="encoding" type="xs:string" default="Base64"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Distribution">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Accounting" ref="Accounting"/>
-				<xs:element name="Charge" ref="Charge"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="DocumentReference">
-		<xs:complexType>
-			<xs:attribute name="payloadID" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="EffectiveDate" type="xs:string"/>
-	<xs:element name="Email">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="name" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ExpirationDate" type="xs:string"/>
-	<xs:element name="Extension" type="xs:string"/>
-	<xs:element name="Extrinsic">
-		<xs:complexType mixed="true">
-			<xs:attribute name="name" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Fax">
-		<xs:complexType>
-			<xs:choice>
-				<xs:element name="TelephoneNumber" ref="TelephoneNumber"/>
-				<xs:element name="URL" ref="URL"/>
-				<xs:element name="Email" ref="Email"/>
-			</xs:choice>
-			<xs:attribute name="name" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Followup">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="URL" ref="URL"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Format">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="version" type="xs:string" use="required"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="From">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Credential" ref="Credential" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="GetPendingRequest">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="MessageType" ref="MessageType" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="maxMessages" type="xs:string"/>
-			<xs:attribute name="lastReceivedTimestamp" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="GetPendingResponse">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="cXML" ref="cXML" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Header">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="From" ref="From"/>
-				<xs:element name="To" ref="To"/>
-				<xs:element name="Sender" ref="Sender"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Identity">
-		<xs:complexType mixed="true">
-			<xs:attribute name="lastChangedTimestamp" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Index">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="SupplierID" ref="SupplierID" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="Comments" ref="Comments" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="SearchGroup" ref="SearchGroup" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="IndexItem" ref="IndexItem" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="IndexItem">
-		<xs:complexType>
-			<xs:choice>
-				<xs:element name="IndexItemAdd" ref="IndexItemAdd" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="IndexItemDelete" ref="IndexItemDelete" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="IndexItemPunchout" ref="IndexItemPunchout" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:choice>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="IndexItemAdd">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="ItemID" ref="ItemID"/>
-				<xs:element name="ItemDetail" ref="ItemDetail"/>
-				<xs:element name="IndexItemDetail" ref="IndexItemDetail"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="IndexItemDelete">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="ItemID" ref="ItemID"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="IndexItemDetail">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="LeadTime" ref="LeadTime"/>
-				<xs:element name="ExpirationDate" ref="ExpirationDate" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="EffectiveDate" ref="EffectiveDate" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="SearchGroupData" ref="SearchGroupData" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="TerritoryAvailable" ref="TerritoryAvailable" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="IndexItemPunchout">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="ItemID" ref="ItemID"/>
-				<xs:element name="PunchoutDetail" ref="PunchoutDetail"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="InternalID">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="domain" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ItemDetail">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="UnitPrice" ref="UnitPrice"/>
-				<xs:element name="Description" ref="Description" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="UnitOfMeasure" ref="UnitOfMeasure"/>
-				<xs:element name="Classification" ref="Classification" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="ManufacturerPartID" ref="ManufacturerPartID" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="ManufacturerName" ref="ManufacturerName" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="URL" ref="URL" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Extrinsic" ref="Extrinsic" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ItemID">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="SupplierPartID" ref="SupplierPartID"/>
-				<xs:element name="SupplierPartAuxiliaryID" ref="SupplierPartAuxiliaryID" minOccurs="0" maxOccurs="1"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ItemIn">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="ItemID" ref="ItemID"/>
-				<xs:element name="ItemDetail" ref="ItemDetail"/>
-				<xs:element name="SupplierID" ref="SupplierID" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="ShipTo" ref="ShipTo" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Shipping" ref="Shipping" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Tax" ref="Tax" minOccurs="0" maxOccurs="1"/>
-			</xs:sequence>
-			<xs:attribute name="quantity" type="xs:string" use="required"/>
-			<xs:attribute name="lineNumber" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ItemOut">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="ItemID" ref="ItemID"/>
-				<xs:element name="ItemDetail" ref="ItemDetail" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="SupplierID" ref="SupplierID" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="ShipTo" ref="ShipTo" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Shipping" ref="Shipping" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Tax" ref="Tax" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Distribution" ref="Distribution" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="Contact" ref="Contact" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="Comments" ref="Comments" minOccurs="0" maxOccurs="1"/>
-			</xs:sequence>
-			<xs:attribute name="quantity" type="xs:string" use="required"/>
-			<xs:attribute name="lineNumber" type="xs:string"/>
-			<xs:attribute name="requisitionID" type="xs:string"/>
-			<xs:attribute name="requestedDeliveryDate" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ItemSegment">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="ContractItem" ref="ContractItem" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="segmentKey" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="LeadTime" type="xs:string"/>
-	<xs:element name="ManufacturerName">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="lang" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ManufacturerPartID" type="xs:string"/>
-	<xs:element name="Message">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Status" ref="Status" minOccurs="0" maxOccurs="1"/>
-				<xs:choice>
-					<xs:element name="PunchOutOrderMessage" ref="PunchOutOrderMessage"/>
-					<xs:element name="SubscriptionChangeMessage" ref="SubscriptionChangeMessage"/>
-					<xs:element name="SupplierChangeMessage" ref="SupplierChangeMessage"/>
-				</xs:choice>
-			</xs:sequence>
-			<xs:attribute name="deploymentMode" default="production">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="production"/>
-						<xs:enumeration value="test"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="inReplyTo" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="MessageType" type="xs:string"/>
-	<xs:element name="Money">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="currency" type="xs:string" use="required"/>
-					<xs:attribute name="alternateAmount" type="xs:string"/>
-					<xs:attribute name="alternateCurrency" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Name">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="lang" type="xs:string" use="required"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Number" type="xs:string"/>
-	<xs:element name="Option">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="name" type="xs:string" use="required"/>
-					<xs:attribute name="a-dtype" type="xs:NMTOKENS" fixed="name string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="OrderMethod">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="OrderTarget" ref="OrderTarget"/>
-				<xs:element name="OrderProtocol" ref="OrderProtocol" minOccurs="0" maxOccurs="1"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="OrderMethods">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="OrderMethod" ref="OrderMethod" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="Contact" ref="Contact" minOccurs="0" maxOccurs="1"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="OrderProtocol" type="xs:string"/>
-	<xs:element name="OrderRequest">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="OrderRequestHeader" ref="OrderRequestHeader"/>
-				<xs:element name="ItemOut" ref="ItemOut" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="OrderRequestHeader">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Total" ref="Total"/>
-				<xs:element name="ShipTo" ref="ShipTo" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="BillTo" ref="BillTo"/>
-				<xs:element name="Shipping" ref="Shipping" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Tax" ref="Tax" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Payment" ref="Payment" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Contact" ref="Contact" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="Comments" ref="Comments" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Followup" ref="Followup" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="DocumentReference" ref="DocumentReference" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Extrinsic" ref="Extrinsic" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="orderID" type="xs:string" use="required"/>
-			<xs:attribute name="orderDate" type="xs:string" use="required"/>
-			<xs:attribute name="type" default="new">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="new"/>
-						<xs:enumeration value="update"/>
-						<xs:enumeration value="delete"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="requisitionID" type="xs:string"/>
-			<xs:attribute name="shipComplete">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="yes"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="OrderTarget">
-		<xs:complexType>
-			<xs:choice>
-				<xs:element name="Phone" ref="Phone"/>
-				<xs:element name="Email" ref="Email"/>
-				<xs:element name="Fax" ref="Fax"/>
-				<xs:element name="URL" ref="URL"/>
-				<xs:element name="OtherOrderTarget" ref="OtherOrderTarget"/>
-			</xs:choice>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="OtherOrderTarget">
-		<xs:complexType mixed="true">
-			<xs:attribute name="name" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="PCard">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="PostalAddress" ref="PostalAddress" minOccurs="0" maxOccurs="1"/>
-			</xs:sequence>
-			<xs:attribute name="number" type="xs:string" use="required"/>
-			<xs:attribute name="expiration" type="xs:string" use="required"/>
-			<xs:attribute name="name" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Payment">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="PCard" ref="PCard"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Phone">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="TelephoneNumber" ref="TelephoneNumber"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="PostalAddress">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="DeliverTo" ref="DeliverTo" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="Street" ref="Street" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="City" ref="City"/>
-				<xs:element name="State" ref="State" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="PostalCode" ref="PostalCode" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Country" ref="Country"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="PostalCode" type="xs:string"/>
-	<xs:element name="ProfileRequest">
-		<xs:complexType/>
-	</xs:element>
-	<xs:element name="ProfileResponse">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Option" ref="Option" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="Transaction" ref="Transaction" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="effectiveDate" type="xs:string" use="required"/>
-			<xs:attribute name="a-dtype" type="xs:NMTOKENS" fixed="effectiveDate dateTime"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="PunchOutOrderMessage">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="BuyerCookie" ref="BuyerCookie"/>
-				<xs:element name="PunchOutOrderMessageHeader" ref="PunchOutOrderMessageHeader"/>
-				<xs:element name="ItemIn" ref="ItemIn" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="PunchOutOrderMessageHeader">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Total" ref="Total"/>
-				<xs:element name="ShipTo" ref="ShipTo" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Shipping" ref="Shipping" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Tax" ref="Tax" minOccurs="0" maxOccurs="1"/>
-			</xs:sequence>
-			<xs:attribute name="operationAllowed" use="required">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="create"/>
-						<xs:enumeration value="inspect"/>
-						<xs:enumeration value="edit"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="PunchOutSetupRequest">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="BuyerCookie" ref="BuyerCookie"/>
-				<xs:element name="Extrinsic" ref="Extrinsic" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="BrowserFormPost" ref="BrowserFormPost" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Contact" ref="Contact" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="SupplierSetup" ref="SupplierSetup" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="ShipTo" ref="ShipTo" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="SelectedItem" ref="SelectedItem" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="ItemOut" ref="ItemOut" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="operation" use="required">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="create"/>
-						<xs:enumeration value="inspect"/>
-						<xs:enumeration value="edit"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="PunchOutSetupResponse">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="StartPage" ref="StartPage"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="PunchoutDetail">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Description" ref="Description" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="URL" ref="URL"/>
-				<xs:element name="Classification" ref="Classification" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="ManufacturerName" ref="ManufacturerName" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="ManufacturerPartID" ref="ManufacturerPartID" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="ExpirationDate" ref="ExpirationDate" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="EffectiveDate" ref="EffectiveDate" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="SearchGroupData" ref="SearchGroupData" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element name="TerritoryAvailable" ref="TerritoryAvailable" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Request">
-		<xs:complexType>
-			<xs:choice>
-				<xs:element name="ProfileRequest" ref="ProfileRequest"/>
-				<xs:element name="OrderRequest" ref="OrderRequest"/>
-				<xs:element name="PunchOutSetupRequest" ref="PunchOutSetupRequest"/>
-				<xs:element name="StatusUpdateRequest" ref="StatusUpdateRequest"/>
-				<xs:element name="GetPendingRequest" ref="GetPendingRequest"/>
-				<xs:element name="SubscriptionListRequest" ref="SubscriptionListRequest"/>
-				<xs:element name="SubscriptionContentRequest" ref="SubscriptionContentRequest"/>
-				<xs:element name="SupplierListRequest" ref="SupplierListRequest"/>
-				<xs:element name="SupplierDataRequest" ref="SupplierDataRequest"/>
-			</xs:choice>
-			<xs:attribute name="deploymentMode" default="production">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="production"/>
-						<xs:enumeration value="test"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Response">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Status" ref="Status"/>
-				<xs:choice minOccurs="0" maxOccurs="1">
-					<xs:choice>
-						<xs:element name="ProfileResponse" ref="ProfileResponse"/>
-						<xs:element name="PunchOutSetupResponse" ref="PunchOutSetupResponse"/>
-						<xs:element name="GetPendingResponse" ref="GetPendingResponse"/>
-						<xs:element name="SubscriptionListResponse" ref="SubscriptionListResponse"/>
-						<xs:element name="SubscriptionContentResponse" ref="SubscriptionContentResponse"/>
-						<xs:element name="SupplierListResponse" ref="SupplierListResponse"/>
-						<xs:element name="SupplierDataResponse" ref="SupplierDataResponse"/>
-					</xs:choice>
-				</xs:choice>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SearchAttribute">
-		<xs:complexType>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="type" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SearchDataElement">
-		<xs:complexType>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="value" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SearchGroup">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Name" ref="Name"/>
-				<xs:element name="SearchAttribute" ref="SearchAttribute" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SearchGroupData">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Name" ref="Name"/>
-				<xs:element name="SearchDataElement" ref="SearchDataElement" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Segment">
-		<xs:complexType>
-			<xs:attribute name="type" type="xs:string" use="required"/>
-			<xs:attribute name="id" type="xs:string" use="required"/>
-			<xs:attribute name="description" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SelectedItem">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="ItemID" ref="ItemID"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Sender">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Credential" ref="Credential" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="UserAgent" ref="UserAgent"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SharedSecret">
-		<xs:complexType mixed="true"/>
-	</xs:element>
-	<xs:element name="ShipTo">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Address" ref="Address"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Shipping">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Money" ref="Money"/>
-				<xs:element name="Description" ref="Description"/>
-			</xs:sequence>
-			<xs:attribute name="trackingDomain" type="xs:string"/>
-			<xs:attribute name="trackingId" type="xs:string"/>
-			<xs:attribute name="tracking" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ShortName" type="xs:string"/>
-	<xs:element name="StartPage">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="URL" ref="URL"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="State" type="xs:string"/>
-	<xs:element name="Status">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="code" type="xs:string" use="required"/>
-					<xs:attribute name="text" type="xs:string" use="required"/>
-					<xs:attribute name="lang" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="StatusUpdateRequest">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="DocumentReference" ref="DocumentReference"/>
-				<xs:element name="Status" ref="Status"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Street" type="xs:string"/>
-	<xs:element name="Subscription">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="InternalID" ref="InternalID"/>
-				<xs:element name="Name" ref="Name"/>
-				<xs:element name="Changetime" ref="Changetime"/>
-				<xs:element name="SupplierID" ref="SupplierID" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="Format" ref="Format" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="Description" ref="Description" minOccurs="0" maxOccurs="1"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SubscriptionChangeMessage">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Subscription" ref="Subscription" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="type" use="required">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="new"/>
-						<xs:enumeration value="update"/>
-						<xs:enumeration value="delete"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SubscriptionContent">
-		<xs:complexType>
-			<xs:choice>
-				<xs:element name="CIFContent" ref="CIFContent"/>
-				<xs:element name="Index" ref="Index"/>
-				<xs:element name="Contract" ref="Contract"/>
-			</xs:choice>
-			<xs:attribute name="filename" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SubscriptionContentRequest">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="InternalID" ref="InternalID"/>
-				<xs:element name="SupplierID" ref="SupplierID" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SubscriptionContentResponse">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Subscription" ref="Subscription"/>
-				<xs:element name="SubscriptionContent" ref="SubscriptionContent" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SubscriptionListRequest">
-		<xs:complexType/>
-	</xs:element>
-	<xs:element name="SubscriptionListResponse">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Subscription" ref="Subscription" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Supplier">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Name" ref="Name"/>
-				<xs:element name="Comments" ref="Comments" minOccurs="0" maxOccurs="1"/>
-				<xs:element name="SupplierID" ref="SupplierID" minOccurs="1" maxOccurs="unbounded"/>
-				<xs:element name="SupplierLocation" ref="SupplierLocation" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="corporateURL" type="xs:string"/>
-			<xs:attribute name="storeFrontURL" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SupplierChangeMessage">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Supplier" ref="Supplier" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="type" use="required">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="new"/>
-						<xs:enumeration value="update"/>
-						<xs:enumeration value="delete"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SupplierDataRequest">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="SupplierID" ref="SupplierID" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SupplierDataResponse">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Supplier" ref="Supplier"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SupplierID">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="domain" type="xs:string" use="required"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SupplierListRequest">
-		<xs:complexType/>
-	</xs:element>
-	<xs:element name="SupplierListResponse">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Supplier" ref="Supplier" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SupplierLocation">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Address" ref="Address"/>
-				<xs:element name="OrderMethods" ref="OrderMethods"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SupplierPartAuxiliaryID">
-		<xs:complexType mixed="true"/>
-	</xs:element>
-	<xs:element name="SupplierPartID" type="xs:string"/>
-	<xs:element name="SupplierSetup">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="URL" ref="URL"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Tax">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Money" ref="Money"/>
-				<xs:element name="Description" ref="Description"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="TelephoneNumber">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="CountryCode" ref="CountryCode"/>
-				<xs:element name="AreaOrCityCode" ref="AreaOrCityCode"/>
-				<xs:element name="Number" ref="Number"/>
-				<xs:element name="Extension" ref="Extension" minOccurs="0" maxOccurs="1"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="TerritoryAvailable" type="xs:string"/>
-	<xs:element name="To">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Credential" ref="Credential" minOccurs="1" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Total">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Money" ref="Money"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Transaction">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="URL" ref="URL"/>
-				<xs:element name="Option" ref="Option" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="requestName" type="xs:string" use="required"/>
-			<xs:attribute name="a-dtype" type="xs:NMTOKENS" fixed="requestName NMTOKEN"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="URL">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="name" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="UnitOfMeasure" type="xs:string"/>
-	<xs:element name="UnitPrice">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="Money" ref="Money"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="UserAgent" type="xs:string"/>
-	<xs:element name="cXML">
-		<xs:complexType>
-			<xs:choice>
-				<xs:sequence>
-					<xs:element name="Header" ref="Header"/>
-					<xs:choice>
-						<xs:element name="Message" ref="Message"/>
-						<xs:element name="Request" ref="Request"/>
-					</xs:choice>
-				</xs:sequence>
-				<xs:element name="Response" ref="Response"/>
-			</xs:choice>
-			<xs:attribute name="version" type="xs:string" default="1.1.009"/>
-			<xs:attribute name="payloadID" type="xs:string" use="required"/>
-			<xs:attribute name="timestamp" type="xs:string" use="required"/>
-			<xs:attribute name="lang" type="xs:string"/>
-		</xs:complexType>
-	</xs:element>
-</xs:schema>
diff --git a/v1/test/cases/schema/wli/oagis_fields.xsd b/v1/test/cases/schema/wli/oagis_fields.xsd
deleted file mode 100644
index efac2b6..0000000
--- a/v1/test/cases/schema/wli/oagis_fields.xsd
+++ /dev/null
@@ -1,928 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
-<xs:schema xmlns="http://www.openapplications.org/oagis_fields" targetNamespace="http://www.openapplications.org/oagis_fields" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-	<xs:annotation>
-		<xs:documentation>
-			
-		License information for this file is provided in LICENSE.TXT, as published
-		on the Open Applications Group web site. www.openapplications.org
-		
-		For support, more information, or to report implementation bugs,
-		please contact the Open Applications Group at xml@openapplications.org
-		
-		$Revision: 1.1 $
-		$Date: 2003/09/15 18:20:42 $
-		Open Applications Group XML
-		Copyright 1998-2001, All Rights Reserved
-		
-		$Name:  $
-		
-		ajw	7.2		09/14/2001	Fields to support ECatalog: CLASSFNID,CLASSFN,CLASSLEVEL,CLSSSCHMRV,FTGROUP,
-									FTVALIND,FTVALQUAL,	PRICECODE,	PRICETYPE,SEQNCENUM,USAGERESTN
-		ajw	7.2		09/14/2001	Fields to support Consumptn: CONSLINENUM,ROUTELEVEL1-ROUTELEVEL9  
-		mlr	7.2 		09/14/2001	Added fields to support updated delivery: ACKMODE, DISCRPTYPE, RECEIPTYPE.
-		ajw	7.2.1	10/31/2001	W3C Schema Release 
-		
-
-		Structure Overview
-		
-			This schema defines the OAGI Field datatypes used throughout the specification.
-			Below is an outline depicting their placement and usage.
-			
-			BOD Namespace ("http://www.openapplications.org/nnn_verb_noun_rel")
-				|
-				|--- Segments Namespace - oagis_segments.xsd (os: "http://www.openapplications.org/oagis_segments")
-				|	|
-				|---	|--- Fields Namespace - oagis_fields.xsd (of:"http://www.openapplications.org/oagis_fields") 
-					
-					
-			
-		</xs:documentation>
-	</xs:annotation>
-	<xs:element name="VERB" type="VERB"/>
-	<xs:simpleType name="VERB">
-		<xs:restriction base="xs:string">
-			<xs:enumeration value="ACKNOWLEDGE"/>
-			<xs:enumeration value="ALLOCATE"/>
-			<xs:enumeration value="ADD"/>
-			<xs:enumeration value="CANCEL"/>
-			<xs:enumeration value="CHANGE"/>
-			<xs:enumeration value="CONFIRM"/>
-			<xs:enumeration value="CREATE"/>
-			<xs:enumeration value="GET"/>
-			<xs:enumeration value="GETLIST"/>
-			<xs:enumeration value="ISSUE"/>
-			<xs:enumeration value="LIST"/>
-			<xs:enumeration value="LOAD"/>
-			<xs:enumeration value="POST"/>
-			<xs:enumeration value="PROCESS"/>
-			<xs:enumeration value="RECEIVE"/>
-			<xs:enumeration value="RESPOND"/>
-			<xs:enumeration value="SHOW"/>
-			<xs:enumeration value="SYNC"/>
-			<xs:enumeration value="TRANSFER"/>
-			<xs:enumeration value="UPDATE"/>
-		</xs:restriction>
-	</xs:simpleType>
-	<xs:simpleType name="NOUN">
-		<xs:restriction base="xs:string">
-			<xs:enumeration value="ACTIVITY"/>
-			<xs:enumeration value="BOM"/>
-			<xs:enumeration value="BOD"/>
-			<xs:enumeration value="CATALOG"/>
-			<xs:enumeration value="COA"/>
-			<xs:enumeration value="CONSUMPTN"/>
-			<xs:enumeration value="COUNTINFO"/>
-			<xs:enumeration value="CREDIT"/>
-			<xs:enumeration value="CUSTOMER"/>
-			<xs:enumeration value="DELIVERY"/>
-			<xs:enumeration value="DSPTCHLIST"/>
-			<xs:enumeration value="ECATALOG"/>
-			<xs:enumeration value="ENGCHGORDR"/>
-			<xs:enumeration value="EXCHNGRATE"/>
-			<xs:enumeration value="FIELD"/>
-			<xs:enumeration value="INSPECTION"/>
-			<xs:enumeration value="INVENCOUNT"/>
-			<xs:enumeration value="INVENTORY"/>
-			<xs:enumeration value="INVOICE"/>
-			<xs:enumeration value="ISSUE"/>
-			<xs:enumeration value="ISSUEINFO"/>
-			<xs:enumeration value="ITEM"/>
-			<xs:enumeration value="ITEMCLASS"/>
-			<xs:enumeration value="ITEMSPECS"/>
-			<xs:enumeration value="ITEMXREF"/>
-			<xs:enumeration value="JOURNAL"/>
-			<xs:enumeration value="LDGRACTUAL"/>
-			<xs:enumeration value="LDGRBUDGET"/>
-			<xs:enumeration value="MAINTORDER"/>
-			<xs:enumeration value="MATCHDOC"/>
-			<xs:enumeration value="MATCHFAIL"/>
-			<xs:enumeration value="MATCHOK"/>
-			<xs:enumeration value="MFGTLCODE"/>
-			<xs:enumeration value="MISCITEM"/>
-			<xs:enumeration value="PAYABLE"/>
-			<xs:enumeration value="PERSONNEL"/>
-			<xs:enumeration value="PERSONTIME"/>
-			<xs:enumeration value="PICKLIST"/>
-			<xs:enumeration value="PLANSCHD"/>
-			<xs:enumeration value="PLINVOICE"/>
-			<xs:enumeration value="PO"/>
-			<xs:enumeration value="PRICELIST"/>
-			<xs:enumeration value="PRODAVAIL"/>
-			<xs:enumeration value="PRODORDER"/>
-			<xs:enumeration value="PRODUCTREQ"/>
-			<xs:enumeration value="PROJACCTNG"/>
-			<xs:enumeration value="PROJINFO"/>
-			<xs:enumeration value="QUOTE"/>
-			<xs:enumeration value="RECEIVABLE"/>
-			<xs:enumeration value="REQUISITN"/>
-			<xs:enumeration value="RESOURCE"/>
-			<xs:enumeration value="RFQ"/>
-			<xs:enumeration value="ROUTING"/>
-			<xs:enumeration value="SALESORDER"/>
-			<xs:enumeration value="SEQSCHD"/>
-			<xs:enumeration value="SHIPMENT"/>
-			<xs:enumeration value="SHIPSCHD"/>
-			<xs:enumeration value="SITELEVEL"/>
-			<xs:enumeration value="STATUS"/>
-			<xs:enumeration value="SUPPLIER"/>
-			<xs:enumeration value="UOMGROUP"/>
-			<xs:enumeration value="WIPCONFIRM"/>
-			<xs:enumeration value="WIPMERGE"/>
-			<xs:enumeration value="WIPMOVE"/>
-			<xs:enumeration value="WIPRECOVER"/>
-			<xs:enumeration value="WIPSPLIT"/>
-			<xs:enumeration value="WIPSTATUS"/>
-			<xs:enumeration value="WRKSCHDULE"/>
-		</xs:restriction>
-	</xs:simpleType>
-	<xs:simpleType name="REVISION">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="LOGICALID">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="CONFIRMATION">
-		<xs:annotation>
-			<xs:documentation>
-			0 - No Confirm BOD requested, 1 - Send Confirm BOD only on error, 2 - Send Confirm BOD always								</xs:documentation>
-		</xs:annotation>
-		<xs:restriction base="xs:string">
-			<xs:enumeration value="0"/>
-			<xs:enumeration value="1"/>
-			<xs:enumeration value="2"/>
-			<xs:enumeration value="NOCONFIRM"/>
-			<xs:enumeration value="ONERROR"/>
-			<xs:enumeration value="YESCONFIRM"/>
-		</xs:restriction>
-	</xs:simpleType>
-	<xs:simpleType name="LANGUAGE">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="CHARGETYPE">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="DOCTYPE">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="DOCUMENTID">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="DOCUMENTRV">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="ITEM">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="ORIGREF">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="PARTNRID">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="PARTNRTYPE">
-		<xs:restriction base="xs:string">
-			<xs:enumeration value="ShipTo"/>
-			<xs:enumeration value="BillTo"/>
-			<xs:enumeration value="SoldTo"/>
-			<xs:enumeration value="PayFrom"/>
-			<xs:enumeration value="Supplier"/>
-			<xs:enumeration value="RemitTo"/>
-			<xs:enumeration value="Carrier"/>
-			<xs:enumeration value="Broker"/>
-			<xs:enumeration value="Employee"/>
-			<xs:enumeration value="JV"/>
-			<xs:enumeration value="Publisher"/>
-			<xs:enumeration value="Manufacturer"/>
-			<xs:enumeration value="ShipFrom"/>
-		</xs:restriction>
-	</xs:simpleType>
-	<xs:simpleType name="PAYMETHOD">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="REASONCODE">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="SCHLINENUM">
-		<!-- future xs:decimal  -->
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="STATUSLVL">
-		<xs:annotation>
-			<xs:documentation>00 - Success, 99 - Failure</xs:documentation>
-		</xs:annotation>
-		<xs:restriction base="xs:integer">
-			<xs:enumeration value="00"/>
-			<xs:enumeration value="99"/>
-		</xs:restriction>
-	</xs:simpleType>
-	<xs:simpleType name="SUBLINENUM">
-		<!-- future xs:decimal  -->
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="TAXCODE">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="TAXJRSDCTN">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:simpleType name="TERMID">
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-	<xs:element name="NOUN" type="NOUN"/>
-	<xs:element name="REVISION" type="REVISION"/>
-	<!-- AW: support BSR Type - End -->
-	<!-- AW: Below support SENDER Type - Start -->
-	<xs:element name="LOGICALID" type="LOGICALID"/>
-	<xs:element name="COMPONENT" type="xs:string"/>
-	<xs:element name="TASK" type="xs:string"/>
-	<xs:element name="REFERENCEID" type="xs:string"/>
-	<xs:element name="CONFIRMATION" type="CONFIRMATION"/>
-	<xs:element name="LANGUAGE" type="LANGUAGE"/>
-	<xs:element name="CODEPAGE" type="xs:string"/>
-	<xs:element name="AUTHID" type="xs:string"/>
-	<!-- End - Support SENDER Type -->
-	<!-- Start - Support DATETIME Type -->
-	<xs:element name="YEAR" type="xs:gYear"/>
-	<xs:element name="MONTH" type="xs:integer"/>
-	<xs:element name="DAY" type="xs:integer"/>
-	<xs:element name="HOUR" type="xs:integer"/>
-	<xs:element name="MINUTE" type="xs:integer"/>
-	<xs:element name="SECOND" type="xs:integer"/>
-	<xs:element name="SUBSECOND" type="xs:integer"/>
-	<xs:element name="TIMEZONE" type="xs:string"/>
-	<!-- End - Support DATETIME Type -->
-	<!-- Start - Alphabetical from here on -->
-	<xs:element name="ABSENCETYP" type="xs:string"/>
-	<xs:element name="ACCTPERIOD" type="xs:string"/>
-	<xs:element name="ACCTTYPE" type="xs:string"/>
-	<xs:element name="ACCTYEAR" type="xs:integer"/>
-	<xs:element name="ACKCODE" type="xs:string"/>
-	<xs:element name="ACKMODE" type="xs:string"/>
-	<xs:element name="ACKREQUEST">
-		<xs:simpleType>
-			<xs:restriction base="xs:string">
-				<xs:enumeration value="0"/>
-				<xs:enumeration value="1"/>
-				<xs:enumeration value="2"/>
-				<xs:enumeration value="NOACK"/>
-				<xs:enumeration value="ONCHANGE"/>
-				<xs:enumeration value="YESACK"/>
-			</xs:restriction>
-		</xs:simpleType>
-	</xs:element>
-	<xs:element name="ACTIONCODE" type="xs:string"/>
-	<xs:element name="ACTIVE" type="xs:string"/>
-	<xs:element name="ACTTYPE" type="xs:string"/>
-	<xs:element name="ADDRLINE">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ADDRTYPE" type="xs:string"/>
-	<xs:element name="ALLOWTYPE" type="xs:string"/>
-	<xs:element name="APPROVAL" type="xs:boolean"/>
-	<xs:element name="APPROVE" type="xs:boolean"/>
-	<xs:element name="APPROVED" type="xs:boolean"/>
-	<xs:element name="APPROVERID" type="xs:string"/>
-	<xs:element name="AUTHCODE" type="xs:string"/>
-	<xs:element name="BACKORDIND" type="xs:boolean"/>
-	<xs:element name="BILLOLADNG" type="xs:string"/>
-	<xs:element name="BKTYPE" type="xs:string"/>
-	<xs:element name="BOMALTID" type="xs:string"/>
-	<xs:element name="BOMID" type="xs:string"/>
-	<xs:element name="BOMNAME" type="xs:string"/>
-	<xs:element name="BOMREVISON" type="xs:string"/>
-	<xs:element name="BOMSTATUS" type="xs:string"/>
-	<xs:element name="BOMTYPE" type="xs:string"/>
-	<xs:element name="BOMUSAGE" type="xs:string"/>
-	<xs:element name="BUDGSTAT" type="xs:integer"/>
-	<xs:element name="BUDGTXN" type="xs:boolean"/>
-	<xs:element name="BUDGVER" type="xs:string"/>
-	<xs:element name="BUSNAREA" type="xs:string"/>
-	<xs:element name="BUYERID" type="xs:string"/>
-	<xs:element name="CARRIER" type="xs:string"/>
-	<xs:element name="CARRSRVLVL" type="xs:string"/>
-	<xs:element name="CATALGNAME" type="xs:string"/>
-	<xs:element name="CATALOGRV" type="xs:string"/>
-	<xs:element name="CHARGEID" type="xs:string"/>
-	<xs:element name="CHARGETYPE" type="CHARGETYPE"/>
-	<xs:element name="CHGLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="CITY" type="xs:string"/>
-	<xs:element name="CLASSFN">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="CLASSFNID" type="xs:string"/>
-	<xs:element name="CLASSLEVEL" type="xs:string"/>
-	<xs:element name="CLSSSCHMRV" type="xs:string"/>
-	<xs:element name="CLSELMLVL" type="xs:string"/>
-	<xs:element name="CLSSELMT">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="CLSSLMNTID" type="xs:string"/>
-	<xs:element name="CLSSSCHMID" type="xs:string"/>
-	<xs:element name="CMPRSNID" type="xs:string"/>
-	<xs:element name="CMPRSNTYPE" type="xs:string"/>
-	<xs:element name="CNTCTTYPE" type="xs:string"/>
-	<xs:element name="COMMENTS" type="xs:string"/>
-	<xs:element name="COMMODITY">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="COMPLEVEL" type="xs:string"/>
-	<xs:element name="COMPREFDES" type="xs:string"/>
-	<xs:element name="CONDSTATUS" type="xs:string"/>
-	<xs:element name="CONSLINENUM" type="xs:string"/>
-	<xs:element name="CONSUMPTN" type="xs:string"/>
-	<xs:element name="CONTAINRID" type="xs:string"/>
-	<xs:element name="CONTCTTYPE" type="xs:string"/>
-	<xs:element name="CONTNRSEAL" type="xs:string"/>
-	<xs:element name="CONTNRTYPE" type="xs:string"/>
-	<xs:element name="CONTRACTB" type="xs:string"/>
-	<xs:element name="CONTRACTID" type="xs:string"/>
-	<xs:element name="CONTRACTS" type="xs:string"/>
-	<xs:element name="COSTCENTER" type="xs:string"/>
-	<xs:element name="COSTTYPE" type="xs:string"/>
-	<xs:element name="COUNTRY" type="xs:string"/>
-	<xs:element name="COUNTRYDST" type="xs:string"/>
-	<xs:element name="COUNTRYORG" type="xs:string"/>
-	<xs:element name="COUNTY" type="xs:string"/>
-	<xs:element name="CRAFTID" type="xs:string"/>
-	<xs:element name="CTCHWCONV" type="xs:string"/>
-	<xs:element name="CTCHWFLAG" type="xs:integer"/>
-	<xs:element name="CURRENCY" type="xs:string"/>
-	<xs:element name="CURRFROM" type="xs:string"/>
-	<xs:element name="CURRTO" type="xs:string"/>
-	<xs:element name="DATETYPE" type="xs:string"/>
-	<xs:element name="DAYOFMONTH" type="xs:integer"/>
-	<xs:element name="DAYSNUM" type="xs:integer"/>
-	<xs:element name="DEFAULT" type="xs:string"/>
-	<xs:element name="DEFLTVALUE" type="xs:string"/>
-	<xs:element name="DELIVERTO" type="xs:string"/>
-	<xs:element name="DENSITYFAC" type="xs:integer"/>
-	<xs:element name="DEPARTMENT" type="xs:string"/>
-	<xs:element name="DESCRIPTN" type="xs:string"/>
-	<xs:element name="DISCRPTYPE" type="xs:string"/>
-	<xs:element name="DISPOSITN" type="xs:string"/>
-	<xs:element name="DISPOSITON" type="xs:string"/>
-	<xs:element name="DISTCENTER" type="xs:string"/>
-	<xs:element name="DIVISION" type="xs:string"/>
-	<xs:element name="DOCKID" type="xs:string"/>
-	<xs:element name="DOCTYPE" type="DOCTYPE"/>
-	<xs:element name="DOCUMENTID" type="DOCUMENTID"/>
-	<xs:element name="DOCUMENTRV" type="DOCUMENTRV"/>
-	<xs:element name="DRAWING" type="xs:string"/>
-	<xs:element name="DRCR" type="xs:string"/>
-	<xs:element name="DROPSHIP" type="xs:string"/>
-	<xs:element name="DSPSTNINV" type="xs:string"/>
-	<xs:element name="DUNSNUMBER" type="xs:string"/>
-	<xs:element name="ECOAPPSTAT" type="xs:string"/>
-	<xs:element name="ECONAME" type="xs:string"/>
-	<xs:element name="ECOPRIORITY" type="xs:string"/>
-	<xs:element name="ECOREVISON" type="xs:string"/>
-	<xs:element name="ECOTYPE" type="xs:string"/>
-	<xs:element name="ELEMENT">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="EMAIL" type="xs:string"/>
-	<xs:element name="EMPCATEGRY" type="xs:string"/>
-	<xs:element name="EMPDEPT" type="xs:string"/>
-	<xs:element name="EMPLOYEEID" type="xs:string"/>
-	<xs:element name="EMPNAME" type="xs:string"/>
-	<xs:element name="EMPQUALIF" type="xs:string"/>
-	<xs:element name="EMPSTATUS" type="xs:string"/>
-	<xs:element name="ENDITEMID" type="xs:string"/>
-	<xs:element name="EXCLUSIVE" type="xs:boolean"/>
-	<xs:element name="EXCPLINNUM" type="xs:string"/>
-	<xs:element name="EXCPTNCODE" type="xs:string"/>
-	<xs:element name="EXPIREFLAG" type="xs:string"/>
-	<xs:element name="EXPORTLIC" type="xs:boolean"/>
-	<xs:element name="FACTOR" type="xs:integer"/>
-	<xs:element name="FAILCLASS" type="xs:string"/>
-	<xs:element name="FAILCODE" type="xs:string"/>
-	<xs:element name="FAILTYPE" type="xs:string"/>
-	<xs:element name="FAILUREID" type="xs:string"/>
-	<xs:element name="FAX">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="FEATUREID" type="xs:string"/>
-	<xs:element name="FEATVAL" type="xs:string"/>
-	<xs:element name="FIELDID" type="xs:string"/>
-	<xs:element name="FIELDVALUE" type="xs:string"/>
-	<xs:element name="FILENAME" type="xs:string"/>
-	<xs:element name="FILETYPE" type="xs:string"/>
-	<xs:element name="FIXDQTYIND" type="xs:boolean"/>
-	<xs:element name="FIXEDASSET" type="xs:string"/>
-	<xs:element name="FLEXBKTID" type="xs:string"/>
-	<xs:element name="FREIGHTCLS" type="xs:string"/>
-	<xs:element name="FRGHTCLS" type="xs:string"/>
-	<xs:element name="FRGHTITEM" type="xs:string"/>
-	<xs:element name="FRGHTTERMS" type="xs:string"/>
-	<xs:element name="FRMITMCLSS" type="xs:string"/>
-	<xs:element name="FRMITMNM" type="xs:string"/>
-	<xs:element name="FRMITMNMRV" type="xs:string"/>
-	<xs:element name="FRMSITELVL">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="FROMPARTY" type="xs:string"/>
-	<xs:element name="FTDATATYPE" type="xs:string"/>
-	<xs:element name="FTGROUP" type="xs:string"/>
-	<xs:element name="FTVALIND" type="xs:string"/>
-	<xs:element name="FTVALQUAL" type="xs:string"/>
-	<xs:element name="FUND" type="xs:string"/>
-	<xs:element name="GEOGRAPHY" type="xs:string"/>
-	<xs:element name="GLENTITYD" type="xs:string"/>
-	<xs:element name="GLENTITYS" type="xs:string"/>
-	<xs:element name="GLNOMACCT" type="xs:string"/>
-	<xs:element name="HAZRDMATL" type="xs:string"/>
-	<xs:element name="HDRSTATUS" type="xs:integer"/>
-	<!--	<xs:element name="HOUR" type="xs:integer"/>  def'd above -->
-	<xs:element name="HRORG">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="IMPORTLIC" type="xs:boolean"/>
-	<xs:element name="INCPLANFLG" type="xs:boolean"/>
-	<xs:element name="INDLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="INMRPPLAN" type="xs:boolean"/>
-	<xs:element name="INQUEUEID" type="xs:string"/>
-	<xs:element name="INSLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="INSPDOCREV" type="xs:string"/>
-	<xs:element name="INSPECTDOC" type="xs:string"/>
-	<xs:element name="INSPECTRID" type="xs:string"/>
-	<xs:element name="INVENDISP" type="xs:string"/>
-	<xs:element name="INVLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="ITEM" type="ITEM"/>
-	<xs:element name="ITEMX" type="xs:string"/>
-	<xs:element name="ITEMCATID" type="xs:string"/>
-	<xs:element name="ITEMCLASS" type="xs:string"/>
-	<xs:element name="ITEMCLASSID" type="xs:string"/>
-	<xs:element name="ITEMDEFN" type="xs:string"/>
-	<xs:element name="ITEMDESC" type="xs:string"/>
-	<xs:element name="ITEMRV" type="xs:string"/>
-	<xs:element name="ITEMRVX" type="xs:string"/>
-	<xs:element name="ITEMSTATUS" type="xs:string"/>
-	<xs:element name="ITEMTYPE" type="xs:string"/>
-	<xs:element name="ITEMVAR" type="xs:string"/>
-	<xs:element name="ITMFTVAL" type="xs:string"/>
-	<xs:element name="ITMIDFLG" type="xs:boolean"/>
-	<xs:element name="JEID" type="xs:string"/>
-	<xs:element name="JOBCODE" type="xs:string"/>
-	<xs:element name="JPID" type="xs:string"/>
-	<xs:element name="KANBAN" type="xs:string"/>
-	<xs:element name="LABORID" type="xs:string"/>
-	<xs:element name="LEDGER" type="xs:string"/>
-	<xs:element name="LINE" type="xs:string"/>
-	<xs:element name="LINEFEED" type="xs:string"/>
-	<xs:element name="LINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="LINETYPE" type="xs:string"/>
-	<xs:element name="LOADPOINT" type="xs:string"/>
-	<xs:element name="LOCK" type="xs:integer"/>
-	<xs:element name="LOTLEVEL">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="LOTSNFLAG" type="xs:string"/>
-	<xs:element name="MACHCLASS" type="xs:string"/>
-	<xs:element name="MACHID" type="xs:string"/>
-	<xs:element name="MACHINEID" type="xs:string"/>
-	<xs:element name="MACHSTATE" type="xs:boolean"/>
-	<xs:element name="MACHSUDEP" type="xs:string"/>
-	<xs:element name="MACHTYPE" type="xs:string"/>
-	<xs:element name="MAINTCALID" type="xs:string"/>
-	<xs:element name="MAINTLOCID" type="xs:string"/>
-	<xs:element name="MAINTORDID" type="xs:string"/>
-	<xs:element name="MANDATORY" type="xs:boolean"/>
-	<xs:element name="MATCHTYPE" type="xs:string"/>
-	<xs:element name="MCHDOCID" type="xs:string"/>
-	<xs:element name="MCHDOCTYPE" type="xs:string"/>
-	<xs:element name="MCHLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="MOPARENTID" type="xs:string"/>
-	<xs:element name="MOPRIORITY" type="xs:integer"/>
-	<xs:element name="MOSTATUS" type="xs:string"/>
-	<xs:element name="MOTYPE" type="xs:string"/>
-	<xs:element name="MSDSID" type="xs:string"/>
-	<xs:element name="MSGID" type="xs:string"/>
-	<xs:element name="MSGTEXT" type="xs:string"/>
-	<xs:element name="MSGTYPE" type="xs:string"/>
-	<xs:element name="NAME">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="NEWITMREV" type="xs:string"/>
-	<xs:element name="NEWREVFLAG" type="xs:string"/>
-	<xs:element name="NOTES" type="NOTES"/>
-	<xs:complexType name="NOTES">
-		<xs:simpleContent>
-			<xs:extension base="xs:string">
-				<xs:attribute name="index" use="required" type="xs:string"/>
-			</xs:extension>
-		</xs:simpleContent>
-	</xs:complexType>
-	<xs:element name="NUMOFDEC" type="xs:integer"/>
-	<xs:element name="OILINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="OLDITMREV" type="xs:string"/>
-	<xs:element name="ONETIME" type="xs:boolean"/>
-	<xs:element name="OPENITEM" type="xs:boolean"/>
-	<xs:element name="OPERATNAME" type="xs:string"/>
-	<xs:element name="OPERATNID" type="xs:string"/>
-	<xs:element name="OPERATNSEQ" type="xs:string"/>
-	<xs:element name="OPERATTYPE" type="xs:string"/>
-	<xs:element name="OPRAMTAUTH" type="xs:string"/>
-	<xs:element name="OPRGRPNAME" type="xs:string"/>
-	<xs:element name="OPRGRPTYPE" type="xs:string"/>
-	<xs:element name="OPSTATUS" type="xs:string"/>
-	<xs:element name="OPTCLSNAME" type="xs:string"/>
-	<xs:element name="OPTCLSSID" type="xs:string"/>
-	<xs:element name="OPTIONID" type="xs:string"/>
-	<xs:element name="OPTIONNAME" type="xs:string"/>
-	<xs:element name="ORIGREF" type="ORIGREF"/>
-	<xs:element name="OTELIGIBLE" type="xs:boolean"/>
-	<xs:element name="OUTQUEUEID" type="xs:string"/>
-	<xs:element name="OVERIDPRIC" type="xs:string"/>
-	<xs:element name="OVERTIME" type="xs:boolean"/>
-	<xs:element name="OWNRSHPCDE" type="xs:string"/>
-	<xs:element name="PACKING" type="xs:string"/>
-	<xs:element name="PACKNGDESC" type="xs:string"/>
-	<xs:element name="PARCNTNRID" type="xs:string"/>
-	<xs:element name="PARENTID" type="xs:string"/>
-	<xs:element name="PARENTLOT" type="PARENTLOT"/>
-	<xs:complexType name="PARENTLOT">
-		<xs:simpleContent>
-			<xs:extension base="xs:string">
-				<xs:attribute name="index" use="required" type="xs:string"/>
-			</xs:extension>
-		</xs:simpleContent>
-	</xs:complexType>
-	<xs:element name="PARENTSNUM" type="xs:string"/>
-	<xs:element name="PARTIALSHP" type="xs:boolean"/>
-	<xs:element name="PARTNRID" type="PARTNRID"/>
-	<xs:element name="PARTNRIDX" type="xs:string"/>
-	<xs:element name="PARTNRRATG" type="xs:string"/>
-	<xs:element name="PARTNRROLE" type="xs:integer"/>
-	<xs:element name="PARTNRTYPE" type="PARTNRTYPE"/>
-	<xs:element name="PAYMETHOD" type="PAYMETHOD"/>
-	<xs:element name="PERSONCODE" type="REASONCODE"/>
-	<xs:element name="PICLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="PLANNERID" type="xs:string"/>
-	<xs:element name="PMID" type="xs:string"/>
-	<xs:element name="POENTITY" type="xs:string"/>
-	<xs:element name="POID" type="xs:string"/>
-	<xs:element name="POLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="POLNSTATUS" type="xs:string"/>
-	<xs:element name="PORELEASE" type="xs:string"/>
-	<xs:element name="POSITION" type="xs:string"/>
-	<xs:element name="POSTALCODE" type="xs:string"/>
-	<xs:element name="POSTATUS" type="xs:string"/>
-	<xs:element name="POTYPE" type="xs:string"/>
-	<xs:element name="PRCESSCODE" type="xs:string"/>
-	<xs:element name="PRDLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="PREFERENCE" type="xs:string"/>
-	<xs:element name="PRICECODE" type="xs:string"/>
-	<xs:element name="PRICELSTID" type="xs:string"/>
-	<xs:element name="PRICELSTRV" type="xs:string"/>
-	<xs:element name="PRICETYPE" type="xs:string"/>
-	<xs:element name="PRINT" type="xs:boolean"/>
-	<xs:element name="PRINTCNTL" type="xs:string"/>
-	<xs:element name="PRIORITY" type="xs:string"/>
-	<xs:element name="PRNTCLSELM" type="xs:string"/>
-	<xs:element name="PRODCTLINE" type="xs:string"/>
-	<xs:element name="PRODORDER" type="xs:string"/>
-	<xs:element name="PRODORDID" type="xs:string"/>
-	<xs:element name="PRODOSTATS" type="xs:string"/>
-	<xs:element name="PRODOTYPE" type="xs:string"/>
-	<xs:element name="PRODSEQBEG" type="xs:string"/>
-	<xs:element name="PRODSEQEND" type="xs:string"/>
-	<xs:element name="PRODSEQNUM" type="xs:string"/>
-	<xs:element name="PROFITCTR" type="xs:string"/>
-	<xs:element name="PROJACTSTS" type="xs:string"/>
-	<xs:element name="PROJACTVTY" type="xs:string"/>
-	<xs:element name="PROJECT" type="xs:string"/>
-	<xs:element name="PROJRESEL">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="PROJSTATUS" type="xs:string"/>
-	<xs:element name="PROJTXTYPE" type="xs:string"/>
-	<xs:element name="PROPERTY">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="PROXMONTH" type="xs:integer"/>
-	<xs:element name="PSBLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="PSCLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="PSDLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="PSSTATUS" type="xs:string"/>
-	<xs:element name="PUBLISHER" type="xs:string"/>
-	<xs:element name="QSLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="QSLINESTAT" type="xs:string"/>
-	<xs:element name="QSLINETYPE" type="xs:string"/>
-	<xs:element name="QTEID" type="xs:string"/>
-	<xs:element name="QTEIDX" type="xs:string"/>
-	<xs:element name="QTELINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="QTELNSTAT" type="xs:string"/>
-	<xs:element name="QTEREVISON" type="xs:string"/>
-	<xs:element name="QTESTATUS" type="xs:string"/>
-	<xs:element name="QTETYPE" type="xs:string"/>
-	<xs:element name="QUALFNID" type="xs:string"/>
-	<xs:element name="QUALFNTYPE" type="xs:string"/>
-	<xs:element name="QUALFNVAL" type="xs:string"/>
-	<xs:element name="QUALIF" type="xs:string"/>
-	<xs:element name="RATETYPE" type="xs:string"/>
-	<xs:element name="REASONCODE" type="REASONCODE"/>
-	<xs:element name="RECEIPTID" type="xs:string"/>
-	<xs:element name="RECEIPTYPE" type="xs:string"/>
-	<xs:element name="RECEPTDISP" type="xs:string"/>
-	<xs:element name="RECLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="REF">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="REGION" type="xs:string"/>
-	<xs:element name="RELITEMID" type="xs:string"/>
-	<xs:element name="RELLOCID" type="xs:string"/>
-	<xs:element name="RELMACHID" type="xs:string"/>
-	<xs:element name="REMITTANCE" type="xs:string"/>
-	<xs:element name="REPRTGFLAG" type="xs:string"/>
-	<xs:element name="REQLINENUM" type="xs:string"/>
-	<xs:element name="REQLNSTAT" type="xs:string"/>
-	<xs:element name="REQUESTER" type="xs:string"/>
-	<xs:element name="REQUISTNID" type="xs:string"/>
-	<xs:element name="RESORCEUSE" type="xs:string"/>
-	<!-- Deprecated -->
-		<xs:element name="RESORCKIN" type="xs:string"/>
-		<xs:element name="RESORCUSE" type="xs:string"/>
-	<!-- Deprecated	-->
-	<xs:element name="RESORCGRP" type="xs:string"/>
-	<xs:element name="RESORCLVL" type="xs:string"/>
-	<xs:element name="RESORCTYP" type="xs:string"/>
-	<xs:element name="RESOURCEID" type="xs:string"/>
-	<xs:element name="RESTRICTN" type="xs:string"/>
-	<!--	<xs:element name="REVISION">   Already defined above -->
-	<xs:element name="REVITMSTAT" type="xs:string"/>
-	<xs:element name="RFQID" type="xs:string"/>
-	<xs:element name="RFQIDX" type="xs:string"/>
-	<xs:element name="RFQLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="RFQLNSTAT" type="xs:string"/>
-	<xs:element name="RFQNAME" type="xs:string"/>
-	<xs:element name="RFQREVISON" type="xs:string"/>
-	<xs:element name="RFQSTATUS" type="xs:string"/>
-	<xs:element name="RFQTYPE" type="xs:string"/>
-	<xs:element name="ROUTEID" type="xs:string"/>
-	<xs:element name="ROUTELEVEL">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ROUTETYPE" type="xs:string"/>
-	<xs:element name="ROUTEVAR" type="xs:string"/>
-	<xs:element name="ROUTINGID" type="xs:string"/>
-	<xs:element name="ROUTINGREV" type="xs:string"/>
-	<xs:element name="ROUTINGVAR" type="xs:string"/>
-	<xs:element name="RQSLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="RSBLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="RSLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="RSLINETYPE" type="xs:string"/>
-	<xs:element name="RSPLINNUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="RSPREVNUM" type="xs:string"/>
-	<xs:element name="RSPSCHEDID" type="xs:string"/>
-	<xs:element name="RSPSDLNUM" type="xs:string"/>
-	<xs:element name="SAFETYID" type="xs:string"/>
-	<xs:element name="SAFETYTYPE" type="xs:string"/>
-	<xs:element name="SAFTYCLASS" type="xs:string"/>
-	<xs:element name="SALESORDID" type="xs:string"/>
-	<xs:element name="SALESORG">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SALESPERSN" type="xs:string"/>
-	<xs:element name="SAVESETUP" type="xs:boolean"/>
-	<xs:element name="SCHDULETYP" type="xs:string"/>
-	<xs:element name="SCHEDULEID" type="xs:string"/>
-	<xs:element name="SCHLINENUM" type="SCHLINENUM"/>
-	<xs:element name="SCRAP" type="xs:boolean"/>
-	<xs:element name="SERIALNUM" type="xs:string"/>
-	<xs:element name="SEQNCENUM" type="xs:string"/>
-	<xs:element name="SHIFT" type="xs:string"/>
-	<xs:element name="SHIPMATLID" type="xs:string"/>
-	<xs:element name="SHIPNOTES" type="xs:string"/>
-	<xs:element name="SHIPPERID" type="xs:string"/>
-	<xs:element name="SHIPPERNUM" type="xs:string"/>
-	<xs:element name="SHIPPOINT" type="xs:string"/>
-	<xs:element name="SHIPPRIOR" type="xs:boolean"/>
-	<xs:element name="SHIPSRVLVL" type="xs:string"/>
-	<xs:element name="SHPMTLDESC" type="xs:string"/>
-	<xs:element name="SHPUNITSEQ" type="xs:string"/>
-	<xs:element name="SHPUNITSTS" type="xs:string"/>
-	<xs:element name="SHPUNITTOT" type="xs:string"/>
-	<xs:element name="SIGN" type="xs:string"/>
-	<xs:element name="SITELEVEL">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SOLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="SOLNSTATUS" type="xs:string"/>
-	<xs:element name="SOSLINENUM" type="xs:string"/>
-	<!-- future xs:decimal  -->
-	<xs:element name="SOSTATUS" type="xs:string"/>
-	<xs:element name="SPECIALHND" type="xs:string"/>
-	<xs:element name="SPLITABLE" type="xs:boolean"/>
-	<xs:element name="STAGEPOINT" type="xs:string"/>
-	<xs:element name="STATEPROVN" type="xs:string"/>
-	<xs:element name="STATUSLVL" type="STATUSLVL"/>
-	<xs:element name="STEPID" type="xs:string"/>
-	<xs:element name="STEPNUM" type="xs:string"/>
-	<xs:element name="STEPTYPE" type="xs:string"/>
-	<xs:element name="SUBLINENUM" type="SUBLINENUM"/>
-	<xs:element name="SUBSFLAG" type="xs:boolean"/>
-	<xs:element name="SUFFIX" type="xs:string"/>
-	<xs:element name="SUPERVISOR" type="xs:string"/>
-	<xs:element name="SYNCIND" type="xs:string"/>
-	<!-- See above
-	<xs:element name="TASK" type="TASK"/>
-	<xs:simpleType name="TASK">
-		<xs:restriction base="xs:string">
-			<xs:maxLength value="10"/>
-		</xs:restriction>
-	</xs:simpleType> -->
-	<xs:element name="TAXCODE" type="TAXCODE"/>
-	<xs:element name="TAXEXEMPT" type="xs:boolean"/>
-	<xs:element name="TAXID" type="xs:string"/>
-	<xs:element name="TAXJRSDCTN" type="TAXJRSDCTN"/>
-	<xs:element name="TAXLINE" type="xs:boolean"/>
-	<xs:element name="TAXWHEXMPT" type="xs:boolean"/>
-	<xs:element name="TELEPHONE">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="TERMFLAG" type="xs:boolean"/>
-	<xs:element name="TERMID" type="TERMID"/>
-	<xs:element name="TITLE" type="xs:string"/>
-	<xs:element name="TOITMCLSS" type="xs:string"/>
-	<xs:element name="TOITMNM" type="xs:string"/>
-	<xs:element name="TOITMNMRV" type="xs:string"/>
-	<xs:element name="TOOLCLASS" type="xs:string"/>
-	<xs:element name="TOOLID" type="xs:string"/>
-	<xs:element name="TOPARTY" type="xs:string"/>
-	<xs:element name="TOSITELVL">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="index" use="required" type="xs:string"/>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="TRACKFLG" type="xs:boolean"/>
-	<xs:element name="TRACKINGID" type="xs:string"/>
-	<xs:element name="TRAKNGFLAG" type="xs:boolean"/>
-	<xs:element name="TRANSMETHD" type="xs:string"/>
-	<xs:element name="TRANSTERMS" type="xs:string"/>
-	<xs:element name="TRNSFRTYPE" type="xs:string"/>
-	<xs:element name="TXANALYSIS" type="xs:string"/>
-	<xs:element name="UNIT" type="xs:string"/>
-	<xs:element name="UNITTYPE" type="xs:string"/>
-	<xs:element name="UOM" type="xs:string"/>
-	<xs:element name="UOMGROUPID" type="xs:string"/>
-	<xs:element name="UOMNUMDEC" type="xs:integer"/>
-	<xs:element name="UOMVALUE" type="xs:string"/>
-	<xs:element name="UPC" type="xs:string"/>
-	<xs:element name="UPCPKGIND" type="xs:string"/>
-	<xs:element name="UPCSCC14" type="xs:string"/>
-	<xs:element name="UPDTWIPFG" type="xs:boolean"/>
-	<xs:element name="URI" type="xs:string"/>
-	<!--xs:uriReference -->
-	<xs:element name="URL" type="xs:string"/>
-	<xs:element name="USAGERESTN" type="xs:string"/>
-	<xs:element name="USERAREA" type="USERAREA"/>
-	<xs:complexType name="USERAREA" mixed="true">
-		<xs:sequence>
-			<xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
-		</xs:sequence>
-	</xs:complexType>
-	<xs:element name="USERID" type="xs:string"/>
-	<xs:element name="USEUPITEM" type="xs:string"/>
-	<xs:element name="USUPINVFG" type="xs:boolean"/>
-	<xs:element name="VALUE" type="xs:decimal"/>
-	<xs:element name="VALUECLASS" type="xs:string"/>
-	<xs:element name="VOUCHER" type="xs:string"/>
-	<xs:element name="WAGEGROUP" type="xs:string"/>
-	<xs:element name="WAGETYPE" type="xs:string"/>
-	<xs:element name="WAREHOUSE" type="xs:string"/>
-	<xs:element name="WARRANTY" type="xs:string"/>
-	<xs:element name="WORKCENTER" type="xs:string"/>
-	<xs:element name="WORKORDER" type="xs:string"/>
-	<xs:element name="WRKSCHDID" type="xs:string"/>
-	<xs:element name="XREFTYPEID" type="xs:string"/>
-	<!-- End - Supporting Fields & Types -->
-</xs:schema>
diff --git a/v1/test/cases/schema/wli/oagis_segments.xsd b/v1/test/cases/schema/wli/oagis_segments.xsd
deleted file mode 100644
index 79ada37..0000000
--- a/v1/test/cases/schema/wli/oagis_segments.xsd
+++ /dev/null
@@ -1,560 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema targetNamespace="http://www.openapplications.org/oagis_segments" xmlns="http://www.openapplications.org/oagis_segments" xmlns:of="http://www.openapplications.org/oagis_fields" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-	<xs:import namespace="http://www.openapplications.org/oagis_fields" schemaLocation="oagis_fields.xsd"/>
-	<xs:annotation>
-		<xs:documentation>
-			
-		License information for this file is provided in LICENSE.TXT, as published
-		on the Open Applications Group web site. www.openapplications.org
-		
-		For support, more information, or to report implementation bugs,
-		please contact the Open Applications Group at xml@openapplications.org
-		
-		$Revision: 1.1 $
-		$Date: 2003/09/15 18:20:42 $
-		Open Applications Group XML
-		Copyright 1998-2001, All Rights Reserved
-		
-		$Name:  $
-		
-		ajw	7.2.1	10/31/2001	W3C Schema Release 
-		
-
-		Structure Overview
-		
-			This schema defines the OAGI Segment datatypes used throughout the specification.
-			Below is an outline depicting their placement and usage.
-			
-			BOD Namespace ("http://www.openapplications.org/nnn_verb_noun_rel")
-				|
-				|--- Segments Namespace - oagis_segments.xsd (os: "http://www.openapplications.org/oagis_segments")
-				|	|
-				|---	|--- Fields Namespace - oagis_fields.xsd (of:"http://www.openapplications.org/oagis_fields") 
-					
-					
-			
-		</xs:documentation>
-	</xs:annotation>
-	<xs:element name="CNTROLAREA" type="CNTROLAREA"/>
-	<xs:complexType name="CNTROLAREA">
-		<xs:sequence>
-			<xs:element ref="BSR"/>
-			<xs:element ref="SENDER"/>
-			<xs:element ref="DATETIMEANY"/>
-			<!-- Either DATETIME or DATETIMEISO -->
-		</xs:sequence>
-	</xs:complexType>
-	<xs:element name="BSR">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="of:VERB"/>
-				<xs:element ref="of:NOUN"/>
-				<xs:element ref="of:REVISION"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="SENDER">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="of:LOGICALID"/>
-				<xs:element ref="of:COMPONENT"/>
-				<xs:element ref="of:TASK"/>
-				<xs:element ref="of:REFERENCEID"/>
-				<xs:element ref="of:CONFIRMATION"/>
-				<xs:element ref="of:LANGUAGE"/>
-				<xs:element ref="of:CODEPAGE"/>
-				<xs:element ref="of:AUTHID"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="DATETIMEANY" abstract="true"/>
-	<xs:element name="DATETIMEISO" type="DATETIMEISO" substitutionGroup="DATETIMEANY"/>
-	<xs:complexType name="DATETIMEISO">
-		<xs:simpleContent>
-			<xs:extension base="xs:dateTime">
-				<xs:attribute name="qualifier" type="DATETIMEqual"/>
-			</xs:extension>
-		</xs:simpleContent>
-	</xs:complexType>
-	<!-- DATETIMEISO -->
-	<xs:element name="DATETIME" type="DATETIME" substitutionGroup="DATETIMEANY"/>
-	<xs:complexType name="DATETIME">
-		<xs:sequence>
-			<xs:element ref="of:YEAR"/>
-			<xs:element ref="of:MONTH"/>
-			<xs:element ref="of:DAY"/>
-			<xs:element ref="of:HOUR"/>
-			<xs:element ref="of:MINUTE"/>
-			<xs:element ref="of:SECOND"/>
-			<xs:element ref="of:SUBSECOND"/>
-			<xs:element ref="of:TIMEZONE"/>
-		</xs:sequence>
-		<xs:attribute name="qualifier" type="DATETIMEqual" use="required"/>
-	</xs:complexType>
-		<xs:simpleType name="DATETIMEtype">
-		<xs:restriction base="xs:string">
-			<xs:enumeration value="ACCOUNTING"/>
-			<xs:enumeration value="ACTEND"/>
-			<xs:enumeration value="ACTSTART"/>
-			<xs:enumeration value="APPREQ"/>
-			<xs:enumeration value="APPROVAL"/>
-		</xs:restriction>
-	</xs:simpleType>
-	<xs:simpleType name="DATETIMEqual">
-		<xs:restriction base="xs:string">
-			<xs:enumeration value="ACCOUNTING"/>
-			<xs:enumeration value="ACTEND"/>
-			<xs:enumeration value="ACTSTART"/>
-			<xs:enumeration value="APPREQ"/>
-			<xs:enumeration value="APPROVAL"/>
-			<xs:enumeration value="AVAILABLE"/>
-			<xs:enumeration value="BKTEND"/>
-			<xs:enumeration value="BKTSTART"/>
-			<xs:enumeration value="CANCEL"/>
-			<xs:enumeration value="CHANGEDATE"/>
-			<xs:enumeration value="COMPDATE"/>
-			<xs:enumeration value="CONSUME"/>			
-			<xs:enumeration value="CREATION"/>
-			<xs:enumeration value="CUMULATIVE"/>
-			<xs:enumeration value="DELIVACT"/>
-			<xs:enumeration value="DELIVSCHED"/>
-			<xs:enumeration value="DISCNT"/>
-			<xs:enumeration value="DOCUMENT"/>
-			<xs:enumeration value="DUE"/>
-			<xs:enumeration value="EARLSTEFF"/>
-			<xs:enumeration value="EARLSTSHIP"/>
-			<xs:enumeration value="EFFECTIVE"/>
-			<xs:enumeration value="ENGCHG"/>
-			<xs:enumeration value="EXECFINISH"/>
-			<xs:enumeration value="EXECSTART"/>
-			<xs:enumeration value="EXPIRATION"/>
-			<xs:enumeration value="FAILDATE"/>
-			<xs:enumeration value="FORECASTF"/>
-			<xs:enumeration value="FORECASTS"/>
-			<xs:enumeration value="FROM"/>
-			<xs:enumeration value="GENERATION"/>
-			<xs:enumeration value="JOBDUE"/>
-			<xs:enumeration value="IMPL"/>
-			<xs:enumeration value="INVOICE"/>
-			<xs:enumeration value="LABORFINSH"/>
-			<xs:enumeration value="LABORSTART"/>
-			<xs:enumeration value="LASTUSED"/>
-			<xs:enumeration value="LOADING"/>
-			<xs:enumeration value="MATCHING"/>
-			<xs:enumeration value="MSMENTDATE"/>
-			<xs:enumeration value="NEEDDELV"/>
-			<xs:enumeration value="OPFINISH"/>
-			<xs:enumeration value="OPSTART"/>
-			<xs:enumeration value="PAYEND"/>
-			<xs:enumeration value="PLANEND"/>
-			<xs:enumeration value="PLANSTART"/>
-			<xs:enumeration value="PO"/>
-			<xs:enumeration value="PROMDELV"/>
-			<xs:enumeration value="PROMSHIP"/>
-			<xs:enumeration value="PYMTTERM"/>
-			<xs:enumeration value="RECEIVED"/>
-			<xs:enumeration value="REPORTDATE"/>
-			<xs:enumeration value="REPORTNGFN"/>
-			<xs:enumeration value="REPORTNGST"/>
-			<xs:enumeration value="REQUIRED"/>
-			<xs:enumeration value="RESORCDWNF"/>
-			<xs:enumeration value="RESORCDWNS"/>
-			<xs:enumeration value="RSPDDATE"/>
-			<xs:enumeration value="RSPDOCGEN"/>
-			<xs:enumeration value="SCHEND"/>
-			<xs:enumeration value="SCHSTART"/>
-			<xs:enumeration value="SETUPFINSH"/>
-			<xs:enumeration value="SETUPSTART"/>
-			<xs:enumeration value="SHIP"/>
-			<xs:enumeration value="SHIPSCHED"/>
-			<xs:enumeration value="STATUSDATE"/>
-			<xs:enumeration value="TEARDOWNF"/>
-			<xs:enumeration value="TEARDOWNS"/>
-			<xs:enumeration value="TO"/>
-			<xs:enumeration value="OTHER"/>
-		</xs:restriction>
-	</xs:simpleType>
-	<!-- DATETIME -->
-	<xs:element name="ADDRESS" type="ADDRESS"/>
-	<xs:complexType name="ADDRESS">
-		<xs:sequence>
-			<xs:element ref="of:ADDRLINE" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:ADDRTYPE" minOccurs="0"/>
-			<xs:element ref="of:CITY" minOccurs="0"/>
-			<xs:element ref="of:COUNTRY" minOccurs="0"/>
-			<xs:element ref="of:COUNTY" minOccurs="0"/>
-			<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-			<xs:element ref="of:FAX" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:POSTALCODE" minOccurs="0"/>
-			<xs:element ref="of:REGION" minOccurs="0"/>
-			<xs:element ref="of:STATEPROVN" minOccurs="0"/>
-			<xs:element ref="of:TAXJRSDCTN" minOccurs="0"/>
-			<xs:element ref="of:TELEPHONE" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:URL" minOccurs="0"/>
-			<xs:element ref="of:USERAREA" minOccurs="0"/>
-		</xs:sequence>
-		<xs:attribute name="returndata" type="xs:string"/>
-	</xs:complexType>
-	<xs:element name="CONTACT" type="CONTACT"/>
-	<xs:complexType name="CONTACT">
-		<xs:sequence>
-			<xs:element ref="of:NAME"/>
-			<xs:element ref="of:CONTCTTYPE" minOccurs="0"/>
-			<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-			<xs:element ref="of:EMAIL" minOccurs="0"/>
-			<xs:element ref="of:FAX" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:NAME" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:TELEPHONE" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:USERAREA" minOccurs="0"/>
-		</xs:sequence>
-		<xs:attribute name="returndata" type="xs:string"/>
-	</xs:complexType>
-	<xs:element name="AMOUNT" type="AMOUNT"/>
-	<xs:complexType name="AMOUNT">
-		<xs:sequence>
-			<xs:element ref="of:VALUE"/>
-			<xs:element ref="of:NUMOFDEC"/>
-			<xs:element ref="of:SIGN"/>
-			<xs:element ref="of:CURRENCY"/>
-			<xs:element ref="of:DRCR"/>
-		</xs:sequence>
-		<xs:attribute name="qualifier" use="required">
-			<xs:simpleType>
-				<xs:restriction base="xs:NMTOKEN">
-					<xs:enumeration value="ACTUAL"/>
-					<xs:enumeration value="APPRVORD"/>
-					<xs:enumeration value="AVAILABLE"/>
-					<xs:enumeration value="BUDGET"/>
-					<xs:enumeration value="COMMISSION"/>
-					<xs:enumeration value="DECLAREVAL"/>
-					<xs:enumeration value="DSCPRCNT"/>
-					<xs:enumeration value="DSCVALUE"/>
-					<xs:enumeration value="DISCNT"/>
-					<xs:enumeration value="DOCUMENT"/>
-					<xs:enumeration value="ESTENGIMP"/>
-					<xs:enumeration value="ESTFREIGHT"/>
-					<xs:enumeration value="ESTHRS"/>
-					<xs:enumeration value="ESTIMATE"/>
-					<xs:enumeration value="ESTMANIMP"/>
-					<xs:enumeration value="ESTUCOST"/>
-					<xs:enumeration value="EXTENDED"/>
-					<xs:enumeration value="FREIGHT"/>
-					<xs:enumeration value="ITEM"/>
-					<xs:enumeration value="OPENITEM"/>
-					<xs:enumeration value="ORDER"/>
-					<xs:enumeration value="ORDLIMIT"/>
-					<xs:enumeration value="PAYRATE"/>
-					<xs:enumeration value="RATE"/>
-					<xs:enumeration value="PRCBRK"/>
-					<xs:enumeration value="TAX"/>
-					<xs:enumeration value="TAXBASE"/>
-					<xs:enumeration value="TOTAL"/>
-					<xs:enumeration value="TOTLIMIT"/>
-					<xs:enumeration value="OTHER"/>
-				</xs:restriction>
-			</xs:simpleType>
-		</xs:attribute>
-		<xs:attribute name="type">
-			<xs:simpleType>
-				<xs:restriction base="xs:NMTOKEN">
-					<xs:enumeration value="T"/>
-					<xs:enumeration value="F"/>
-					<xs:enumeration value="TAX"/>
-					<xs:enumeration value="OTHER"/>
-				</xs:restriction>
-			</xs:simpleType>
-		</xs:attribute>
-		<xs:attribute name="index" type="xs:string"/>
-	</xs:complexType>
-	<!-- AMOUNT -->
-	<xs:element name="ATTCHREF" type="ATTCHREF"/>
-	<xs:complexType name="ATTCHREF">
-		<xs:sequence>
-			<xs:element ref="DATETIME" minOccurs="0"/>
-			<xs:element ref="QUANTITY" minOccurs="0"/>
-			<xs:element ref="of:CMPRSNTYPE" minOccurs="0"/>
-			<xs:element ref="of:CMPRSNID" minOccurs="0"/>
-			<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-			<xs:element ref="of:FILETYPE" minOccurs="0"/>
-			<xs:element ref="of:NOTES" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:TITLE" minOccurs="0"/>
-			<!-- <xs:element ref="of:USERAREA" minOccurs="0"/> -->
-			<xs:choice>
-				<xs:element ref="of:FILENAME"/>
-				<xs:sequence>
-					<xs:element ref="of:URI"/>
-					<xs:element ref="of:FILENAME" minOccurs="0"/>
-				</xs:sequence>
-			</xs:choice>
-			<xs:element ref="of:USERAREA" minOccurs="0"/>
-		</xs:sequence>
-		<xs:attribute name="returndata" type="xs:string"/>
-	</xs:complexType>
-	<xs:element name="CHARGE" type="CHARGE"/>
-	<xs:complexType name="CHARGE">
-		<xs:sequence>
-			<xs:element ref="OPERAMT" minOccurs="0"/>
-			<xs:element ref="of:CHARGEID" minOccurs="0"/>
-			<xs:element ref="of:CHARGETYPE" minOccurs="0"/>
-			<xs:element ref="of:CHGLINENUM" minOccurs="0"/>
-			<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-			<xs:element ref="of:USERAREA" minOccurs="0"/>
-			<xs:element ref="DISTRIBUTN" minOccurs="0" maxOccurs="unbounded"/>
-		</xs:sequence>
-		<xs:attribute name="returndata" type="xs:string"/>
-	</xs:complexType>
-	<xs:element name="DISTRIBUTN" type="DISTRIBUTN"/>
-	<xs:complexType name="DISTRIBUTN">
-		<xs:sequence>
-			<xs:element ref="OPERAMT" minOccurs="0"/>
-			<xs:element ref="of:BUSNAREA" minOccurs="0"/>
-			<xs:element ref="of:COSTCENTER" minOccurs="0"/>
-			<xs:element ref="of:DEPARTMENT" minOccurs="0"/>
-			<xs:element ref="of:DIVISION" minOccurs="0"/>
-			<xs:element ref="of:ELEMENT" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:FUND" minOccurs="0"/>
-			<xs:element ref="of:GEOGRAPHY" minOccurs="0"/>
-			<xs:element ref="of:GLENTITYS" minOccurs="0"/>
-			<xs:element ref="of:GLNOMACCT" minOccurs="0"/>
-			<xs:element ref="of:PROFITCTR" minOccurs="0"/>
-			<xs:element ref="of:PROJECT" minOccurs="0"/>
-			<xs:element ref="of:UNIT" minOccurs="0"/>
-			<xs:element ref="of:WAREHOUSE" minOccurs="0"/>
-			<xs:element ref="of:USERAREA" minOccurs="0"/>
-		</xs:sequence>
-		<xs:attribute name="returndata" type="xs:string"/>
-	</xs:complexType>
-	<xs:element name="OPERAMT" type="OPERAMT"/>
-	<xs:complexType name="OPERAMT">
-		<xs:sequence>
-			<xs:element ref="of:VALUE"/>
-			<xs:element ref="of:NUMOFDEC"/>
-			<xs:element ref="of:SIGN"/>
-			<xs:element ref="of:CURRENCY"/>
-			<xs:element ref="of:UOMVALUE"/>
-			<xs:element ref="of:UOMNUMDEC"/>
-			<xs:element ref="of:UOM"/>
-		</xs:sequence>
-		<xs:attribute name="qualifier" use="required">
-			<xs:simpleType>
-				<xs:restriction base="xs:NMTOKEN">
-					<xs:enumeration value="COST"/>
-					<xs:enumeration value="EXTENDED"/>
-					<xs:enumeration value="FREIGHT"/>
-					<xs:enumeration value="UNIT"/>
-					<xs:enumeration value="OTHER"/>
-				</xs:restriction>
-			</xs:simpleType>
-		</xs:attribute>
-		<xs:attribute name="type" use="required">
-			<xs:simpleType>
-				<xs:restriction base="xs:NMTOKEN">
-					<xs:enumeration value="T"/>
-					<xs:enumeration value="F"/>
-					<xs:enumeration value="OTHER"/>
-				</xs:restriction>
-			</xs:simpleType>
-		</xs:attribute>
-	</xs:complexType>
-	<xs:element name="PARTNER" type="PARTNER"/>
-	<xs:complexType name="PARTNER">
-		<xs:sequence>
-			<xs:element ref="of:NAME" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:ONETIME" minOccurs="0"/>
-			<xs:element ref="of:PARTNRID" minOccurs="0"/>
-			<xs:element ref="of:PARTNRTYPE" minOccurs="0"/>
-			<xs:element ref="of:SYNCIND" minOccurs="0"/>
-			<xs:element ref="of:ACTIVE" minOccurs="0"/>
-			<xs:element ref="of:CURRENCY" minOccurs="0"/>
-			<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-			<xs:element ref="of:DUNSNUMBER" minOccurs="0"/>
-			<xs:element ref="of:GLENTITYS" minOccurs="0"/>
-			<xs:element ref="of:PARENTID" minOccurs="0"/>
-			<xs:element ref="of:PARTNRIDX" minOccurs="0"/>
-			<xs:element ref="of:PARTNRRATG" minOccurs="0"/>
-			<xs:element ref="of:PARTNRROLE" minOccurs="0"/>
-			<xs:element ref="of:PAYMETHOD" minOccurs="0"/>
-			<xs:element ref="of:TAXEXEMPT" minOccurs="0"/>
-			<xs:element ref="of:TAXID" minOccurs="0"/>
-			<xs:element ref="of:TERMID" minOccurs="0"/>
-			<xs:element ref="of:USERAREA" minOccurs="0"/>
-			<xs:element ref="ADDRESS" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="CONTACT" minOccurs="0" maxOccurs="unbounded"/>
-		</xs:sequence>
-		<xs:attribute name="returndata" type="xs:string"/>
-	</xs:complexType>
-	<xs:element name="TEMPRATURE" type="TEMPERATURE"/>
-	<xs:complexType name="TEMPERATURE">
-		<xs:sequence>
-			<xs:element ref="of:VALUE"/>
-			<xs:element ref="of:NUMOFDEC"/>
-			<xs:element ref="of:SIGN"/>
-		</xs:sequence>
-		<xs:attribute name="qualifier" use="required">
-			<xs:simpleType>
-				<xs:restriction base="xs:NMTOKEN">
-					<xs:enumeration value="ACTUAL"/>
-					<xs:enumeration value="DELIVERY"/>
-					<xs:enumeration value="LOADING"/>
-					<xs:enumeration value="OTHER"/>
-				</xs:restriction>
-			</xs:simpleType>
-		</xs:attribute>
-		<xs:attribute name="type" use="required">
-			<xs:simpleType>
-				<xs:restriction base="xs:NMTOKEN">
-					<xs:enumeration value="CELSIUS"/>
-					<xs:enumeration value="FAHRENHEIT"/>
-					<xs:enumeration value="KELVIN"/>
-					<xs:enumeration value="OTHER"/>
-				</xs:restriction>
-			</xs:simpleType>
-		</xs:attribute>
-	</xs:complexType>
-	<xs:element name="QUANTITY" type="QUANTITY"/>
-	<xs:complexType name="QUANTITY">
-		<xs:sequence>
-			<xs:element ref="of:VALUE"/>
-			<xs:element ref="of:NUMOFDEC"/>
-			<xs:element ref="of:SIGN"/>
-			<xs:element ref="of:UOM"/>
-		</xs:sequence>
-		<xs:attribute name="qualifier" use="required">
-			<xs:simpleType>
-				<xs:restriction base="xs:NMTOKEN">
-					<xs:enumeration value="ACCEPTED"/>
-					<xs:enumeration value="ACTDUR"/>
-					<xs:enumeration value="ACTHRS"/>
-					<xs:enumeration value="ALLOCATED"/>
-					<xs:enumeration value="ALLOWEDWT"/>
-					<xs:enumeration value="AVAILABLE"/>
-					<xs:enumeration value="AVGRUNSIZE"/>
-					<xs:enumeration value="BACKORDERD"/>
-					<xs:enumeration value="BATCHSIZE"/>
-					<xs:enumeration value="BATCHTIME"/>
-					<xs:enumeration value="BLOCKED"/>
-					<xs:enumeration value="BREAKTIME"/>
-					<xs:enumeration value="CAPPERCENT"/>
-					<xs:enumeration value="CATCHWEGHT"/>
-					<xs:enumeration value="COMMISSION"/>
-					<xs:enumeration value="COMPLETED"/>
-					<xs:enumeration value="CUMULATIVE"/>
-					<xs:enumeration value="DELIVERED"/>
-					<xs:enumeration value="DURATION"/>
-					<xs:enumeration value="DUROVER"/>
-					<xs:enumeration value="DURUNDER"/>
-					<xs:enumeration value="EMPLOYEES"/>
-					<xs:enumeration value="EMPREQD"/>
-					<xs:enumeration value="ESTDUR"/>
-					<xs:enumeration value="ESTHRS"/>
-					<xs:enumeration value="ESTWEIGHT"/>
-					<xs:enumeration value="FILENAME"/>
-					<xs:enumeration value="FILESIZE"/>
-					<xs:enumeration value="FIXEDTIME"/>
-					<xs:enumeration value="HEIGHT"/>
-					<xs:enumeration value="INSPECTED"/>
-					<xs:enumeration value="INSPECTION"/>
-					<xs:enumeration value="ITEM"/>
-					<xs:enumeration value="LDTMOFFSET"/>
-					<xs:enumeration value="LENGTH"/>
-					<xs:enumeration value="LABOR"/>
-					<xs:enumeration value="LOADINGWT"/>
-					<xs:enumeration value="LOTSIZEMAX"/>
-					<xs:enumeration value="LOTSIZEMIN"/>
-					<xs:enumeration value="LOTSIZEMLT"/>
-					<xs:enumeration value="LOWERLIMIT"/>
-					<xs:enumeration value="MACHINEHRS"/>
-					<xs:enumeration value="MAXIMUM"/>
-					<xs:enumeration value="MAXPARLTM"/>
-					<xs:enumeration value="MINIMUM"/>
-					<xs:enumeration value="MOVETIME"/>
-					<xs:enumeration value="MSMENT"/>
-					<xs:enumeration value="MULTIPLIER"/>
-					<xs:enumeration value="NETWEIGHT"/>
-					<xs:enumeration value="OPEN"/>
-					<xs:enumeration value="ORDERED"/>
-					<xs:enumeration value="OTHERREJ"/>
-					<xs:enumeration value="OVERSHIP"/>
-					<xs:enumeration value="PACKING"/>
-					<xs:enumeration value="PERCENT"/>
-					<xs:enumeration value="PERCENTREQ"/>
-					<xs:enumeration value="PERSHBNOPR"/>
-					<xs:enumeration value="PERSHWIOPR"/>
-					<xs:enumeration value="PLNDPRCT"/>
-					<xs:enumeration value="PRCBRK"/>
-					<xs:enumeration value="PRIOR"/>
-					<xs:enumeration value="QUEUETIME"/>
-					<xs:enumeration value="RATE"/>
-					<xs:enumeration value="RECEIVED"/>
-					<xs:enumeration value="REJECTED"/>
-					<xs:enumeration value="REJFIXED"/>
-					<xs:enumeration value="REJPERCENT"/>
-					<xs:enumeration value="REMDUR"/>
-					<xs:enumeration value="REMHRS"/>
-					<xs:enumeration value="REQUIRED"/>
-					<xs:enumeration value="RETURNED"/>
-					<xs:enumeration value="REWORK"/>
-					<xs:enumeration value="RUNTIME"/>
-					<xs:enumeration value="SCRAP"/>
-					<xs:enumeration value="SETUPTIME"/>
-					<xs:enumeration value="SHELFLIFE"/>
-					<xs:enumeration value="SHIPPED"/>
-					<xs:enumeration value="SHIPUNIT"/>
-					<xs:enumeration value="START"/>
-					<xs:enumeration value="TEARDOWN"/>
-					<xs:enumeration value="TOOLREQD"/>
-					<xs:enumeration value="TOTWEIGHT"/>
-					<xs:enumeration value="TRANSFRLOT"/>
-					<xs:enumeration value="UNDERSHIP"/>
-					<xs:enumeration value="UNIT"/>
-					<xs:enumeration value="UPPERLIMIT"/>
-					<xs:enumeration value="VOLUME"/>
-					<xs:enumeration value="WAITTIME"/>
-					<xs:enumeration value="WEIGHT"/>
-					<xs:enumeration value="WIDTH"/>
-					<xs:enumeration value="OTHER"/>
-				</xs:restriction>
-			</xs:simpleType>
-		</xs:attribute>
-	</xs:complexType>
-	<!-- QUANTITY -->
-	<xs:element name="DOCUMNTREF" type="DOCUMNTREF"/>
-	<xs:complexType name="DOCUMNTREF">
-		<xs:sequence>
-			<xs:element ref="of:DOCTYPE"/>
-			<xs:element ref="of:DOCUMENTID"/>
-			<xs:element ref="of:PARTNRID"/>
-			<xs:element ref="of:PARTNRTYPE"/>
-			<xs:element ref="of:DESCRIPTN" minOccurs="0"/>
-			<xs:element ref="of:DOCUMENTRV" minOccurs="0"/>
-			<xs:element ref="of:LINENUM" minOccurs="0"/>
-			<xs:element ref="of:NOTES" minOccurs="0"/>
-			<xs:element ref="of:SCHLINENUM" minOccurs="0"/>
-			<xs:element ref="of:SUBLINENUM" minOccurs="0"/>
-			<xs:element ref="of:USERAREA" minOccurs="0"/>
-		</xs:sequence>
-	</xs:complexType>
-	<xs:element name="DOCUMENT" type="DOCUMENT"/>
-	<xs:complexType name="DOCUMENT">
-		<xs:sequence>
-			<xs:element ref="of:DOCUMENTID" minOccurs="0"/>
-			<xs:element ref="of:DOCUMENTRV" minOccurs="0"/>
-			<xs:element ref="of:DOCTYPE" minOccurs="0"/>
-			<xs:element ref="of:USERAREA" minOccurs="0"/>
-		</xs:sequence>
-		<xs:attribute name="returndata" type="xs:string"/>
-	</xs:complexType>
-	<xs:element name="LOTSERIAL" type="LOTSERIAL"/>
-	<xs:complexType name="LOTSERIAL">
-		<xs:sequence>
-			<xs:element ref="QUANTITY" minOccurs="0"/>
-			<!--(%QUANTITY.ITEM;)? -->
-			<xs:element ref="of:LOTLEVEL" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:PARENTLOT" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:PARENTSNUM" minOccurs="0"/>
-			<xs:element ref="of:SERIALNUM" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element ref="of:USERAREA" minOccurs="0"/>
-		</xs:sequence>
-		<xs:attribute name="returndata" type="xs:string"/>
-	</xs:complexType>
-</xs:schema>
diff --git a/v1/test/cases/store/ConsolidateTest.xml b/v1/test/cases/store/ConsolidateTest.xml
deleted file mode 100644
index 821086a..0000000
--- a/v1/test/cases/store/ConsolidateTest.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<employees>
-  <employee>
-    <name>Fred Jones</name>
-    <address location="home">
-      <street>900 Aurora Ave.</street>
-      <city>Seattle</city>
-      <state>WA</state>
-      <zip>98109</zip>
-    </address>
-    <address location="work">
-      <street>2011 152nd Avenue NE</street>
-      <city>Redmond</city>
-      <state>WA</state>
-      <zip>98052</zip>
-    </address>
-    <phone location="work">(425)641-9385</phone>
-    <phone location="home">(206)441-1695</phone>
-    <phone location="mobile">(206)714-2515</phone>
-  </employee>
-  <employee>
-    <name>Sally Smith</name>
-    <address location="home">
-      <street>1430 Oak Place</street>
-      <city>Salem</city>
-      <state>OR</state>
-      <zip>97125</zip>
-    </address>
-    <address location="work">
-      <street>765 Main St.</street>
-      <city>Kaiser</city>
-      <state>OR</state>
-      <zip>97103</zip>
-    </address>
-    <phone location="work">(503)264-3856</phone>
-    <phone location="home">(503)416-6951</phone>
-    <phone location="mobile">(503)214-5152</phone>
-  </employee>
-</employees>
diff --git a/v1/test/cases/store/easypo1.xml b/v1/test/cases/store/easypo1.xml
deleted file mode 100644
index f8d877e..0000000
--- a/v1/test/cases/store/easypo1.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<po:purchase-order xmlns:po="http://openuri.org/easypo">
-  <po:customer>
-    <po:name>David Bau</po:name>
-    <po:address>Gladwyne, PA</po:address>
-  </po:customer>
-  <po:date>2002-09-30T14:16:00-05:00</po:date>
-  <po:line-item>
-    <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
-    <po:per-unit-ounces>5</po:per-unit-ounces>
-    <po:price>21.79</po:price>
-    <po:quantity>2</po:quantity>
-  </po:line-item>
-  <po:line-item>
-    <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
-    <po:per-unit-ounces>5</po:per-unit-ounces>
-    <po:price>19.89</po:price>
-    <po:quantity>2</po:quantity>
-  </po:line-item>
-  <po:line-item>
-    <po:description>Burnham's Celestial Handbook, Vol 3</po:description>
-    <po:per-unit-ounces>5</po:per-unit-ounces>
-    <po:price>19.89</po:price>
-    <po:quantity>1</po:quantity>
-  </po:line-item>
-  <po:shipper>
-    <po:name>UPS</po:name>
-    <po:per-ounce-rate>0.74</po:per-ounce-rate>
-  </po:shipper>
-</po:purchase-order>
diff --git a/v1/test/cases/store/erictest.xml b/v1/test/cases/store/erictest.xml
deleted file mode 100644
index 3b993bd..0000000
--- a/v1/test/cases/store/erictest.xml
+++ /dev/null
@@ -1 +0,0 @@
-<bar><foo>1</foo><foo>2</foo></bar>
\ No newline at end of file
diff --git a/v1/test/cases/store/people.xml b/v1/test/cases/store/people.xml
deleted file mode 100644
index 64d1044..0000000
--- a/v1/test/cases/store/people.xml
+++ /dev/null
@@ -1,171 +0,0 @@
-<people x="">
-
-  <person>
-    <name>
-      <first>Eric</first>
-      <last>Vasilik</last>
-    </name>
-    <age>37</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Sylvia</first>
-      <last>Vasilik</last>
-    </name>
-    <age>34</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Rod</first>
-      <last>Chavez</last>
-    </name>
-    <age>39</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Terry</first>
-      <last>Lucas</last>
-    </name>
-    <age>42</age>
-  </person>
-
-  <person>
-    <name>
-      <first>David</first>
-      <last>Bau</last>
-    </name>
-    <age>31</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Eric</first>
-      <last>Vasilik</last>
-    </name>
-    <age>37</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Sylvia</first>
-      <last>Vasilik</last>
-    </name>
-    <age>34</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Rod</first>
-      <last>Chavez</last>
-    </name>
-    <age>39</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Terry</first>
-      <last>Lucas</last>
-    </name>
-    <age>42</age>
-  </person>
-
-  <person>
-    <name>
-      <first>David</first>
-      <last>Bau</last>
-    </name>
-    <age>31</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Eric</first>
-      <last>Vasilik</last>
-    </name>
-    <age>37</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Sylvia</first>
-      <last>Vasilik</last>
-    </name>
-    <age>34</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Rod</first>
-      <last>Chavez</last>
-    </name>
-    <age>39</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Terry</first>
-      <last>Lucas</last>
-    </name>
-    <age>42</age>
-  </person>
-
-  <person>
-    <name>
-      <first>David</first>
-      <last>Bau</last>
-    </name>
-    <age>31</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Rod</first>
-      <last>Chavez</last>
-    </name>
-    <age>39</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Eric</first>
-      <last>Vasilik</last>
-    </name>
-    <age>37</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Sylvia</first>
-      <last>Vasilik</last>
-    </name>
-    <age>34</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Rod</first>
-      <last>Chavez</last>
-    </name>
-    <age>39</age>
-  </person>
-
-  <person>
-    <name>
-      <first>Terry</first>
-      <last>Lucas</last>
-    </name>
-    <age>42</age>
-  </person>
-
-  <person>
-    <name>
-      <first>David</first>
-      <last>Bau</last>
-    </name>
-    <age>31</age>
-  </person>
-
-</people>
diff --git a/v1/test/cases/store/small.xml b/v1/test/cases/store/small.xml
deleted file mode 100644
index cde6453..0000000
--- a/v1/test/cases/store/small.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml   
-
-   version
-=
-
-
-"
-"
-standalone='yes'   ?>
-<aaaa a="a_value" b:a = 'b_value'  xmlns:b="b_ns">	
-  <?pi	tab  tesxt rt?>
-</aaaa>
diff --git a/v1/test/cases/store/test.xml b/v1/test/cases/store/test.xml
deleted file mode 100644
index 75d928a..0000000
--- a/v1/test/cases/store/test.xml
+++ /dev/null
@@ -1 +0,0 @@
-<foo x="y">ab</foo>
\ No newline at end of file
diff --git a/v1/test/src/drt/drtcases/AllTests.java b/v1/test/src/drt/drtcases/AllTests.java
deleted file mode 100644
index 77908c2..0000000
--- a/v1/test/src/drt/drtcases/AllTests.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import junit.framework.Test;
-
-public class AllTests extends TestCase
-{
-    public AllTests(String name) { super(name); }
-
-    public static Test suite()
-    {
-        TestSuite suite = new TestSuite();
-        suite.addTest(QNameSetTest.suite());
-        suite.addTest(SmokeTests.suite());
-        //suite.addTestSuite(JavelinTests.class);
-
-        return suite;
-    }
-}
diff --git a/v1/test/src/drt/drtcases/AnnotationsTests.java b/v1/test/src/drt/drtcases/AnnotationsTests.java
deleted file mode 100644
index 9d5cf3c..0000000
--- a/v1/test/src/drt/drtcases/AnnotationsTests.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import java.io.File;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import junit.framework.Assert;
-import junit.framework.TestCase;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AnnotationsTests extends TestCase
-{
-    public AnnotationsTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(AnnotationsTests.class); }
-
-    static String[] _args;
-    static String _test;
-
-    public static File getCaseFile(String theCase)
-    {
-        return TestEnv.xbeanCase("store/" + theCase);
-    }
-
-    static XmlCursor loadCase(String theCase) throws Exception
-    {
-        return XmlObject.Factory.parse(getCaseFile(theCase), null).newCursor();
-    }
-
-    static class TestBookmark extends XmlCursor.XmlBookmark
-    {
-    }
-
-    //
-    // Basic load up a file and iterate through it
-    //
-
-    public void testBasicXml( )
-        throws Exception
-    {
-        XmlCursor c = loadCase("test.xml");
-
-        TestBookmark a1 = new TestBookmark();
-
-        c.setBookmark( a1 );
-        
-        TestBookmark a2 = new TestBookmark();
-
-        c.toNextToken();
-        c.toNextToken();
-        
-        c.setBookmark( a2 );
-        
-        c.toPrevToken();
-        c.toPrevToken();
-
-        Assert.assertEquals( c.getBookmark( TestBookmark.class ), a1 );
-        
-        c.toNextToken();
-        c.toNextToken();
-        
-        Assert.assertEquals( c.getBookmark( TestBookmark.class ), a2 );
-        
-        c.toNextToken();
-        
-        Assert.assertTrue( c.getBookmark( TestBookmark.class ) == null );
-    }
-}
diff --git a/v1/test/src/drt/drtcases/AssortedTests.java b/v1/test/src/drt/drtcases/AssortedTests.java
deleted file mode 100644
index 1fe28c6..0000000
--- a/v1/test/src/drt/drtcases/AssortedTests.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.TestCase;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.Assert;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlTime;
-import com.easypo.XmlPurchaseOrderDocumentBean;
-import com.easypo.XmlLineItemBean;
-
-import java.math.BigInteger;
-
-import org.w3.x2001.xmlSchema.SchemaDocument;
-import xint.test.PositionDocument;
-
-public class AssortedTests extends TestCase
-{
-    public AssortedTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(AssortedTests.class); }
-    
-    // bug 27489
-    public static void testSaverCharEscaping() throws XmlException
-    {
-        String newLine = System.getProperty( "line.separator" );
-        XmlObject xdoc = XmlObject.Factory.parse("<test>something</test>");
-        XmlCursor cur = xdoc.newCursor();
-        cur.toFirstChild();
-        // valid chars
-        cur.setTextValue("<something or other:\u03C0\uD7FF>");
-        Assert.assertEquals("<test>&lt;something or other:\u03C0\uD7FF></test>" + newLine, xdoc.toString());
-        
-        // invalid chars - control chars, unicode surrogates, FFFF/FFFE, etc
-        cur.setTextValue("<something\0or\1other:\u0045\uFFFE\uD800\uDFFF\uDB80\uDC00\u03C0\uD7FF\u001F>");
-        Assert.assertEquals("<test>&lt;something?or?other:\u0045?????\u03C0\uD7FF?></test>" + newLine, xdoc.toString());
-    }
-    
-    // bug 26140/26104
-    public static void testNoTypeInvalid() throws XmlException
-    {
-        XmlObject xdoc = XmlObject.Factory.parse("<test-no-type>something</test-no-type>");
-        Assert.assertTrue("Untyped document should be invalid", !xdoc.validate());
-        
-        xdoc = XmlObject.Factory.parse("<x:blah xmlns:x=\"http://no-type.com/\"/>");
-        Assert.assertTrue("Untyped document should be invalid", !xdoc.validate());
-    }
-    
-    // bug 26790
-    public static void testComplexSetter() throws XmlException
-    {
-        XmlPurchaseOrderDocumentBean xdoc = XmlPurchaseOrderDocumentBean.Factory.parse(
-                "<purchase-order xmlns='http://openuri.org/easypo'>" +
-                 "<customer>" +
-                   "<name>David Bau</name>" +
-                   "<address>100 Main Street</address>" + 
-                 "</customer>" +
-                 "<date>2003-05-18T11:50:00</date>" +
-                 "<line-item>" +
-                  "<description>Red Candy</description>" +
-                  "<per-unit-ounces>0.423</per-unit-ounces>" +
-                  "<quantity>4</quantity>" +
-                 "</line-item>" +
-                 "<line-item>" +
-                  "<description>Blue Candy</description>" +
-                  "<per-unit-ounces>5.0</per-unit-ounces>" +
-                  "<quantity>1</quantity>" +
-                 "</line-item>" +
-                "</purchase-order>");
-        // test copy-within doc
-        XmlLineItemBean newItem = xdoc.getPurchaseOrder().addNewLineItem();
-        newItem.set(xdoc.getPurchaseOrder().getLineItemArray(0));
-        Assert.assertEquals(BigInteger.valueOf(4), xdoc.getPurchaseOrder().getLineItemArray(2).getQuantity());
-        xdoc.getPurchaseOrder().setLineItemArray(0, xdoc.getPurchaseOrder().getLineItemArray(1));
-        Assert.assertEquals(BigInteger.valueOf(1), xdoc.getPurchaseOrder().getLineItemArray(0).getQuantity());
-        
-        // test copy-between docs
-        XmlLineItemBean anotherItem = XmlLineItemBean.Factory.parse(
-                "<xml-fragment xmlns:ep='http://openuri.org/easypo' xmlns:xsi='http://wwww.w3.org/2001/XMLSchema-instance' xsi:type='line-item'>" +
-                 "<ep:description>Yellow Balloon</ep:description>" +
-                 "<ep:per-unit-ounces>0.001</ep:per-unit-ounces>" +
-                 "<ep:quantity>200</ep:quantity>" +
-                "</xml-fragment>");
-        
-        Assert.assertEquals("Yellow Balloon", anotherItem.getDescription());
-        xdoc.getPurchaseOrder().setLineItemArray(1, anotherItem);
-        
-        Assert.assertEquals("Yellow Balloon", xdoc.getPurchaseOrder().getLineItemArray(1).getDescription());
-        Assert.assertEquals(BigInteger.valueOf(1), xdoc.getPurchaseOrder().getLineItemArray(0).getQuantity());
-        Assert.assertEquals(BigInteger.valueOf(200), xdoc.getPurchaseOrder().getLineItemArray(1).getQuantity());
-        Assert.assertEquals(BigInteger.valueOf(4), xdoc.getPurchaseOrder().getLineItemArray(2).getQuantity());
-        
-        // test copy-to-self
-        xdoc.getPurchaseOrder().setLineItemArray(1, xdoc.getPurchaseOrder().getLineItemArray(1));
-        Assert.assertEquals("Yellow Balloon", xdoc.getPurchaseOrder().getLineItemArray(1).getDescription());
-        Assert.assertEquals(BigInteger.valueOf(1), xdoc.getPurchaseOrder().getLineItemArray(0).getQuantity());
-        Assert.assertEquals(BigInteger.valueOf(200), xdoc.getPurchaseOrder().getLineItemArray(1).getQuantity());
-        Assert.assertEquals(BigInteger.valueOf(4), xdoc.getPurchaseOrder().getLineItemArray(2).getQuantity());
-    }
-    
-    public static void donttestPrettyPrint() throws Exception
-    {
-        XmlObject xobj = XmlObject.Factory.parse("<test xmlns:x='foo'>&lt;SHOULDNOTBEATAG&gt;<a>simple<b/></a>&lt;ALSOSHOULDNOTBEATAG&gt;</test>");
-        // System.out.println(xobj);
-        System.out.println(xobj.xmlText());
-        /*
-        XmlCursor xcur = xobj.newCursor();
-        xcur.toFirstChild();
-        xobj = xcur.getObject();
-        String result = xobj.toString();
-        System.out.println(result);
-        
-        xcur.toFirstChild();
-        xcur.toFirstChild();
-        xcur.toFirstContentToken();
-        xcur.insertChars("<html><body>this is a test</body></html>");
-        
-        System.out.println(xobj);
-        */
-    }
-    
-    public static void dontTestQNameCopy() throws Exception
-    {
-        SchemaDocument xobj = SchemaDocument.Factory.parse(
-                "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>" +
-                "<xs:element name='foo' type='xs:string'/></xs:schema>");
-        SchemaDocument xobj2 = SchemaDocument.Factory.parse(
-                "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'/>");
-        xobj2.getSchema().addNewElement().set(xobj.getSchema().getElementArray(0));
-        System.out.println(xobj2);
-    }
-    
-    // don't run on normal drt because it's too slow: about 20-30 secs
-    public static void donttestCursorFinalize()
-    {
-        XmlObject obj = XmlObject.Factory.newInstance();
-        int i = 0;
-        try
-        {
-            for (i = 0; i < 2000 * 1000; i++)
-            {
-                XmlCursor cur = obj.newCursor();
-                // cur.dispose(); skipping this depends on finalization or else OOM
-            }
-        }
-        catch (OutOfMemoryError e)
-        {
-            System.err.println("Did " + i + " iterations before running out of memory");
-            throw e;
-        }
-    }
-    
-    public static void testOutOfRange() throws Exception
-    {
-        PositionDocument doc = PositionDocument.Factory.parse("<position xmlns='java:int.test'><lat>43</lat><lon>037</lon></position>");
-        Assert.assertEquals(43, doc.getPosition().getLat());
-        Assert.assertEquals(37, doc.getPosition().getLon());
-        Assert.assertTrue(doc.validate());
-        
-        doc = PositionDocument.Factory.parse("<position xmlns='java:int.test'><lat>443</lat><lon>737</lon></position>");
-        Assert.assertEquals(443, doc.getPosition().getLat());
-        Assert.assertEquals(737, doc.getPosition().getLon());
-        Assert.assertTrue(!doc.validate());
-        
-        doc.getPosition().setLat((short)-300);
-        doc.getPosition().setLon((short)32767);
-        Assert.assertEquals(-300, doc.getPosition().getLat());
-        Assert.assertEquals(32767, doc.getPosition().getLon());
-        Assert.assertTrue(!doc.validate());
-        
-        doc.getPosition().setLat((short)43);
-        doc.getPosition().setLon((short)127);
-        Assert.assertEquals(43, doc.getPosition().getLat());
-        Assert.assertEquals(127, doc.getPosition().getLon());
-        Assert.assertTrue(doc.validate());
-    }
-    
-    public static void testParse() throws Exception
-    {
-        XmlTime xt = XmlTime.Factory.parse("<xml-fragment>12:00:00</xml-fragment>");
-        Assert.assertEquals("12:00:00", xt.calendarValue().toString());
-    }
-
-    
-    
-}
diff --git a/v1/test/src/drt/drtcases/CompilationTests.java b/v1/test/src/drt/drtcases/CompilationTests.java
deleted file mode 100644
index f21c185..0000000
--- a/v1/test/src/drt/drtcases/CompilationTests.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.TestCase;
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.apache.xmlbeans.impl.tool.SchemaCompiler;
-import org.apache.xmlbeans.impl.tool.CodeGenUtil;
-import org.w3.x2001.xmlSchema.SchemaDocument;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlException;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Arrays;
-
-public class CompilationTests extends TestCase
-{
-    public CompilationTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(CompilationTests.class); }
-
-    public void testJ2EE() throws Throwable
-    {
-        TestEnv.deltree(TestEnv.xbeanOutput("schema/j2ee"));
-        // First, compile schema
-        File srcdir = TestEnv.xbeanOutput("schema/j2ee/j2eeconfigxml/src");
-        File classesdir = TestEnv.xbeanOutput("schema/j2ee/j2eeconfigxml/classes");
-        File outputjar = TestEnv.xbeanOutput("schema/j2ee/j2eeconfigxml.jar");
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-        params.setXsdFiles(new File[] {
-            TestEnv.xbeanCase("schema/j2ee/application-client_1_4.xsd"),
-            TestEnv.xbeanCase("schema/j2ee/application_1_4.xsd"),
-            TestEnv.xbeanCase("schema/j2ee/connector_1_5.xsd"),
-            TestEnv.xbeanCase("schema/j2ee/ejb-jar_2_1.xsd"),
-            TestEnv.xbeanCase("schema/j2ee/j2ee_1_4.xsd"),
-            TestEnv.xbeanCase("schema/j2ee/jsp_2_0.xsd"),
-            TestEnv.xbeanCase("schema/j2ee/web-app_2_4.xsd"),
-            TestEnv.xbeanCase("schema/j2ee/XML.xsd"),
-        });
-        params.setSrcDir(srcdir);
-        params.setClassesDir(classesdir);
-        params.setOutputJar(outputjar);
-        Assert.assertTrue("Build failed", SchemaCompiler.compile(params));
-        Assert.assertTrue("Cannout find " + outputjar, outputjar.exists());
-    }
-
-
-    public void __testBuild()
-    {
-        TestEnv.deltree(TestEnv.xbeanOutput("schema/s4s"));
-        File inputfile1 = TestEnv.xbeanCase("schema/s4s/XML.xsd");
-        File inputfile2 = TestEnv.xbeanCase("schema/s4s/XMLSchema.xsd");
-        File srcdir = TestEnv.xbeanOutput("schema/s4s/s4stypes/src");
-        File classesdir = TestEnv.xbeanOutput("schema/s4s/s4stypes/classes");
-        File outputjar = TestEnv.xbeanOutput("schema/s4s/s4stypes.jar");
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-        params.setXsdFiles(new File[] { inputfile1, inputfile2 });
-        params.setSrcDir(srcdir);
-        params.setClassesDir(classesdir);
-        params.setOutputJar(outputjar);
-        Assert.assertTrue("Build failed", SchemaCompiler.compile(params));
-        Assert.assertTrue("Cannout find " + outputjar, outputjar.exists());
-    }
-
-    /* test not needed because bootstrap build tests this better
-    public void testNewBuild()
-    {
-        TestEnv.deltree(TestEnv.xbeanOutput("schema/s4s"));
-        File inputfile1 = TestEnv.xbeanCase("schema/s4s/XML.xsd");
-        File inputfile2 = TestEnv.xbeanCase("schema/s4s/XMLSchema.xsd");
-        File outputjar = TestEnv.xbeanOutput("schema/s4s/s4stypes.jar");
-        SchemaCompiler.compile(new File[] { inputfile1, inputfile2 }, new File[0], new File[0], new File[0], null, outputjar, "schema.s4s", null, null, null, true, false, false);
-        Assert.assertTrue("Cannout find " + outputjar, outputjar.exists());
-    }
-    */
-
-    public void __testSimple() throws Throwable
-    {
-        TestEnv.deltree(TestEnv.xbeanOutput("schema/simple"));
-        // First, compile schema
-        File inputfile1 = TestEnv.xbeanCase("schema/simple/person.xsd");
-        File inputfile2 = TestEnv.xbeanCase("schema/simple/simplec.xsd");
-        File srcdir = TestEnv.xbeanOutput("schema/simple/simpletypes/src");
-        File classesdir = TestEnv.xbeanOutput("schema/simple/simpletypes/classes");
-        File outputjar = TestEnv.xbeanOutput("schema/simple/simpletypes.jar");
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-        params.setXsdFiles(new File[] { inputfile1, inputfile2 });
-        params.setSrcDir(srcdir);
-        params.setClassesDir(classesdir);
-        params.setOutputJar(outputjar);
-        Assert.assertTrue("Build failed", SchemaCompiler.compile(params));
-
-        // Then, compile java classes
-        File javasrc = TestEnv.xbeanCase("schema/simple/javasrc");
-        File javaclasses = TestEnv.xbeanOutput("schema/simple/javaclasses");
-        javaclasses.mkdirs();
-        List testcp = new ArrayList();
-        testcp.addAll(Arrays.asList(CodeGenUtil.systemClasspath()));
-        testcp.add(outputjar);
-        CodeGenUtil.externalCompile(Arrays.asList(new File[] { javasrc }), javaclasses, (File[])testcp.toArray(new File[testcp.size()]), true);
-
-        // Then run the test
-        testcp.add(javaclasses);
-        TestRunUtil.run("SimplePersonTest", new File[] { outputjar, javaclasses });
-    }
-
-    public void __testDownload() throws Throwable
-    {
-        TestEnv.deltree(TestEnv.xbeanOutput("schema/include"));
-
-        {
-            // First, compile schema without download and verify failure
-            File srcdir = TestEnv.xbeanOutput("schema/include/shouldfail/src");
-            File classesdir = TestEnv.xbeanOutput("schema/include/shouldfail/classes");
-            File outputjar = TestEnv.xbeanOutput("schema/include/shouldfail.jar");
-            SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-            params.setXsdFiles(new File[] {
-                TestEnv.xbeanCase("schema/j2ee/j2ee_1_4.xsd"),
-            });
-            params.setSrcDir(srcdir);
-            params.setClassesDir(classesdir);
-            params.setOutputJar(outputjar);
-            Assert.assertTrue("Build should have failed", !SchemaCompiler.compile(params));
-            Assert.assertTrue("Should not have created " + outputjar, !outputjar.exists());
-        }
-
-        {
-            // now turn on download and verify success
-            File srcdir = TestEnv.xbeanOutput("schema/include/shouldsucceed/src");
-            File classesdir = TestEnv.xbeanOutput("schema/include/shouldsucceed/classes");
-            File outputjar = TestEnv.xbeanOutput("schema/include/shouldsucceed.jar");
-            SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-            params.setDownload(true);
-            params.setXsdFiles(new File[] {
-                TestEnv.xbeanCase("schema/j2ee/j2ee_1_4.xsd"),
-            });
-            params.setSrcDir(srcdir);
-            params.setClassesDir(classesdir);
-            params.setOutputJar(outputjar);
-            Assert.assertTrue("Build failed", SchemaCompiler.compile(params));
-            Assert.assertTrue("Cannout find " + outputjar, outputjar.exists());
-        }
-    }
-
-    public void __testPricequote() throws Throwable
-    {
-        TestEnv.deltree(TestEnv.xbeanOutput("schema/pricequote"));
-        // First, compile schema
-        File srcdir = TestEnv.xbeanOutput("schema/pricequote/src");
-        File classesdir = TestEnv.xbeanOutput("schema/pricequote/classes");
-        File outputjar = TestEnv.xbeanOutput("schema/pricequote/pricequote.jar");
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-        params.setXsdFiles(new File[] { TestEnv.xbeanCase("schema/pricequote/PriceQuote.xsd") });
-        params.setSrcDir(srcdir);
-        params.setClassesDir(classesdir);
-        params.setOutputJar(outputjar);
-        Assert.assertTrue("Build failed", SchemaCompiler.compile(params));
-        Assert.assertTrue("Cannout find " + outputjar, outputjar.exists());
-    }
-
-    public void __testAnnuity() throws Throwable
-    {
-        TestEnv.deltree(TestEnv.xbeanOutput("schema/annuity"));
-        // First, compile schema
-        File srcdir = TestEnv.xbeanOutput("schema/annuity/src");
-        File outputdir = TestEnv.xbeanOutput("schema/annuity/classes");
-        SchemaCompiler.Parameters params = new SchemaCompiler.Parameters();
-        params.setXsdFiles(new File[] { TestEnv.xbeanCase("schema/annuity/annuitynet.xsd") });
-        params.setSrcDir(srcdir);
-        params.setClassesDir(outputdir);
-        params.setConfigFiles(new File[] { TestEnv.xbeanCase("schema/annuity/annuitynet.xsdconfig") });
-        Assert.assertTrue("Build failed", SchemaCompiler.compile(params));
-        Assert.assertTrue("Cannout find " + outputdir, outputdir.exists());
-    }
-
-    static String [] invalidSchemas = {
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-        "  <xs:complexType name='base' final='extension'/>\n" +
-        "  <xs:complexType name='ext'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:extension base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-        "  <xs:complexType name='base' final='#all'/>\n" +
-        "  <xs:complexType name='ext'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:extension base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='#all'>\n" +
-        "  <xs:complexType name='base'/>\n" +
-        "  <xs:complexType name='rest'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:restriction base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='restriction'>\n" +
-        "  <xs:complexType name='base'/>\n" +
-        "  <xs:complexType name='rest'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:restriction base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-    };
-
-    static String [] validSchemas = {
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-        "  <xs:complexType name='base' final='extension'/>\n" +
-        "  <xs:complexType name='rest'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:restriction base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-        "  <xs:complexType name='base' final='restriction'/>\n" +
-        "  <xs:complexType name='ext'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:extension base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='restriction'>\n" +
-        "  <xs:complexType name='base'/>\n" +
-        "  <xs:complexType name='ext'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:extension base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-
-        "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' finalDefault='extension'>\n" +
-        "  <xs:complexType name='base'/>\n" +
-        "  <xs:complexType name='rest'>\n" +
-        "    <xs:complexContent>\n" +
-        "      <xs:restriction base='base'/>\n" +
-        "    </xs:complexContent>\n" +
-        "  </xs:complexType>\n" +
-        "</xs:schema>\n",
-    };
-
-    public void __testFinal() throws Throwable
-    {
-        SchemaDocument[] schemas = new SchemaDocument[invalidSchemas.length];
-
-        // Parse the invalid schema files
-        for (int i = 0 ; i < invalidSchemas.length ; i++)
-            schemas[i] = SchemaDocument.Factory.parse(invalidSchemas[i]);
-
-        // Now compile the invalid schemas, test that they fail
-        for (int i = 0 ; i < schemas.length ; i++)
-        {
-            try {
-                XmlBeans.loadXsd(new XmlObject[] {schemas[i]});
-                fail("Schema should have failed to compile:\n" + invalidSchemas[i]);
-            }
-            catch (XmlException success) {}
-        }
-
-        // Parse the valid schema files
-        schemas = new SchemaDocument[validSchemas.length];
-        for (int i = 0 ; i < validSchemas.length ; i++)
-            schemas[i] = SchemaDocument.Factory.parse(validSchemas[i]);
-
-        // Compile the valid schemas. They should not fail
-        for (int i = 0 ; i < schemas.length ; i++)
-        {
-            try {
-                XmlBeans.loadXsd(new XmlObject[]{schemas[i]});
-            }
-            catch (XmlException fail) {
-                fail("Failed to compile schema:\n" + validSchemas[i]);
-            }
-        }
-    }
-
-}
diff --git a/v1/test/src/drt/drtcases/CreationTests.java b/v1/test/src/drt/drtcases/CreationTests.java
deleted file mode 100644
index 6714294..0000000
--- a/v1/test/src/drt/drtcases/CreationTests.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.TestCase;
-import junit.framework.Assert;
-import com.easypo.XmlPurchaseOrderDocumentBean;
-import com.easypo.XmlPurchaseOrderDocumentBean.PurchaseOrder;
-import com.easypo.XmlLineItemBean;
-import com.easypo.XmlShipperBean;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-public class CreationTests extends TestCase
-{
-    public CreationTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(CreationTests.class); }
-
-    public void testCreatePo() throws Exception
-    {
-        XmlPurchaseOrderDocumentBean doc =
-            XmlPurchaseOrderDocumentBean.Factory.newInstance();
-        
-        PurchaseOrder order = doc.addNewPurchaseOrder();
-        order.addNewCustomer().setName("David Bau");
-        order.getCustomer().setAddress("Gladwyne, PA");
-        XmlLineItemBean li;
-        li = order.addNewLineItem();
-        li.setDescription("Burnham's Celestial Handbook, Vol 1");
-        li.setPrice(new BigDecimal("21.79"));
-        li.setQuantity(BigInteger.valueOf(2));
-        li.setPerUnitOunces(new BigDecimal("5"));
-        li = order.addNewLineItem();
-        li.setDescription("Burnham's Celestial Handbook, Vol 2");
-        li.setPrice(new BigDecimal("19.89"));
-        li.setQuantity(BigInteger.valueOf(2));
-        li.setPerUnitOunces(new BigDecimal("5"));
-        li = order.addNewLineItem();
-        li.setDescription("Burnham's Celestial Handbook, Vol 3");
-        li.setPrice(new BigDecimal("19.89"));
-        li.setQuantity(BigInteger.valueOf(1));
-        li.setPerUnitOunces(new BigDecimal("5"));
-        XmlShipperBean sh = order.addNewShipper();
-        sh.setName("UPS");
-        sh.setPerOunceRate(new BigDecimal("0.74"));
-
-//        System.out.println(doc.xmlText());
-
-        Assert.assertEquals("David Bau", order.getCustomer().getName());
-        Assert.assertEquals("Gladwyne, PA", order.getCustomer().getAddress());
-        Assert.assertEquals(3, order.sizeOfLineItemArray());
-
-        Assert.assertEquals("Burnham's Celestial Handbook, Vol 1", order.getLineItemArray(0).getDescription());
-        Assert.assertEquals(new BigDecimal("21.79"), order.getLineItemArray(0).getPrice());
-        Assert.assertEquals(new BigInteger("2"), order.getLineItemArray(0).getQuantity());
-        Assert.assertEquals(new BigDecimal("5"), order.getLineItemArray(0).getPerUnitOunces());
-
-        Assert.assertEquals("Burnham's Celestial Handbook, Vol 2", order.getLineItemArray(1).getDescription());
-        Assert.assertEquals(new BigDecimal("19.89"), order.getLineItemArray(1).getPrice());
-        Assert.assertEquals(new BigInteger("2"), order.getLineItemArray(1).getQuantity());
-        Assert.assertEquals(new BigDecimal("5"), order.getLineItemArray(1).getPerUnitOunces());
-
-        Assert.assertEquals("Burnham's Celestial Handbook, Vol 3", order.getLineItemArray(2).getDescription());
-        Assert.assertEquals(new BigDecimal("19.89"), order.getLineItemArray(2).getPrice());
-        Assert.assertEquals(new BigInteger("1"), order.getLineItemArray(2).getQuantity());
-        Assert.assertEquals(new BigDecimal("5"), order.getLineItemArray(2).getPerUnitOunces());
-
-        Assert.assertEquals(true, order.isSetShipper());
-        Assert.assertEquals("UPS", order.getShipper().getName());
-        Assert.assertEquals(new BigDecimal("0.74"), order.getShipper().getPerOunceRate());
-    }
-}
diff --git a/v1/test/src/drt/drtcases/DomTests.java b/v1/test/src/drt/drtcases/DomTests.java
deleted file mode 100644
index d9180fe..0000000
--- a/v1/test/src/drt/drtcases/DomTests.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import org.apache.xmlbeans.impl.store.Root;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.XmlCursor.TokenType;
-import org.apache.xmlbeans.XmlCursor.XmlBookmark;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.xml.sax.InputSource;
-
-public class DomTests extends TestCase
-{
-    public DomTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(DomTests.class); }
-
-    static String[] _args;
-    static String _test;
-
-    public static File getCaseFile(String theCase)
-    {
-        return TestEnv.xbeanCase("store/" + theCase);
-    }
-
-    static XmlCursor loadCase(String theCase) throws Exception
-    {
-        return XmlObject.Factory.parse(getCaseFile(theCase), null).newCursor();
-    }
-
-    public void doTestDomImport ( String xml )
-        throws Exception
-    {
-        DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
-        f.setNamespaceAware(true);
-        DocumentBuilder parser = f.newDocumentBuilder();
-
-        Document doc = parser.parse( new InputSource( new StringReader( xml ) ) );
-
-        XmlObject x = XmlObject.Factory.parse( doc );
-
-        Assert.assertTrue( x.xmlText().equals( xml ) );
-    }
-    
-    public void doTestDomExport ( String xml )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( XmlObject.Factory.parse( xml ).newDomNode() );
-        Assert.assertTrue( x.xmlText().equals( xml ) );
-    }
-    
-    public void doTest ( String xml )
-        throws Exception
-    {
-        doTestDomImport( xml );
-        doTestDomExport( xml );
-    }
-
-//    public void testDom2 ( )
-//        throws Exception
-//    {
-//        DOMParser parser = new DOMParser();
-//        
-//        parser.setFeature( "http://xml.org/sax/features/namespaces", true );
-//        
-//        parser.parse( new InputSource( new StringReader( "<foo a='x\n\ny'></foo>" ) ) );
-//
-//        XmlObject x = XmlLoader.Factory.parse( parser.getDocument() );
-//
-//        System.out.println( x.xmlText() );
-//    }
-    
-    public void testDom ( )
-        throws Exception
-    {
-        doTest( "<foo xmlns=\"x\"/>" );
-        doTest( "<foo xmlns=\"x\" xmlns:e=\"v\"/>" );
-        doTest( "<foo>a<?X?>b</foo>" );
-        doTest( "<foo>a<!--X-->b</foo>" );
-        doTest( "<!--X--><foo/>" );
-        doTest( "<foo/>" );
-        doTest( "<foo x=\"y\"/>" );
-        doTest( "<foo><a/><b>moo</b></foo>" );
-        
-        String xx =
-            "<!--gg--><?a b?><foo>sdsd<a/>sdsd<b>moo</b>sd<!--asas-->sd</foo><!--hh-->";
-        
-        doTest( xx );
-
-        String xml =
-            "<xml-fragment>" +
-            "foo" +
-            "</xml-fragment>";
-
-        doTestDomExport( xml );
-        
-        try
-        {
-            xml =
-                "<xml-fragment " +
-                "  foo='bar'>" +
-                "</xml-fragment>";
-                
-            doTestDomExport( xml );
-            
-            Assert.assertTrue( false );
-        }
-        catch ( Exception e )
-        {
-        }
-
-        XmlObject x = XmlObject.Factory.parse( xx );
-
-        XmlCursor c = x.newCursor();
-
-        for ( ; ; )
-        {
-            Node n = c.newDomNode();
-            XmlObject.Factory.parse( n );
-
-            if (c.toNextToken().isNone())
-                break;
-        }
-    }
-}
diff --git a/v1/test/src/drt/drtcases/EasyPoTests.java b/v1/test/src/drt/drtcases/EasyPoTests.java
deleted file mode 100644
index b7201e9..0000000
--- a/v1/test/src/drt/drtcases/EasyPoTests.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.TestCase;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.Assert;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlException;
-import com.easypo.XmlPurchaseOrderDocumentBean;
-import com.easypo.XmlPurchaseOrderDocumentBean.PurchaseOrder;
-
-public class EasyPoTests extends TestCase
-{
-    public EasyPoTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(EasyPoTests.class); }
-
-    public void testEasyPo() throws Exception
-    {
-        XmlPurchaseOrderDocumentBean doc = (XmlPurchaseOrderDocumentBean)
-            XmlObject.Factory.parse(TestEnv.xbeanCase("store/easypo1.xml"));
-        Assert.assertEquals(false, doc.isNil());
-        PurchaseOrder order = doc.getPurchaseOrder();
-        Assert.assertEquals("David Bau", order.getCustomer().getName());
-        Assert.assertEquals("Gladwyne, PA", order.getCustomer().getAddress());
-        Assert.assertEquals(3, order.sizeOfLineItemArray());
-
-        Assert.assertEquals("Burnham's Celestial Handbook, Vol 1", order.getLineItemArray(0).getDescription());
-        Assert.assertEquals(new BigDecimal("21.79"), order.getLineItemArray(0).getPrice());
-        Assert.assertEquals(new BigInteger("2"), order.getLineItemArray(0).getQuantity());
-        Assert.assertEquals(new BigDecimal("5"), order.getLineItemArray(0).getPerUnitOunces());
-
-        Assert.assertEquals("Burnham's Celestial Handbook, Vol 2", order.getLineItemArray(1).getDescription());
-        Assert.assertEquals(new BigDecimal("19.89"), order.getLineItemArray(1).getPrice());
-        Assert.assertEquals(new BigInteger("2"), order.getLineItemArray(1).getQuantity());
-        Assert.assertEquals(new BigDecimal("5"), order.getLineItemArray(1).getPerUnitOunces());
-
-        Assert.assertEquals("Burnham's Celestial Handbook, Vol 3", order.getLineItemArray(2).getDescription());
-        Assert.assertEquals(new BigDecimal("19.89"), order.getLineItemArray(2).getPrice());
-        Assert.assertEquals(new BigInteger("1"), order.getLineItemArray(2).getQuantity());
-        Assert.assertEquals(new BigDecimal("5"), order.getLineItemArray(2).getPerUnitOunces());
-
-        Assert.assertEquals(true, order.isSetShipper());
-        Assert.assertEquals("UPS", order.getShipper().getName());
-        Assert.assertEquals(new BigDecimal("0.74"), order.getShipper().getPerOunceRate());
-
-        Assert.assertEquals(3, order.sizeOfLineItemArray());
-    }
-    
-    
-    public void testSimpleAutoValidaiton() throws Exception
-    {
-        XmlPurchaseOrderDocumentBean.Factory.parse(
-            "<purchase-order xmlns='http://openuri.org/easypo'/>" );
-
-        try
-        {
-            XmlPurchaseOrderDocumentBean.Factory.parse(
-                "<purchase-orde xmlns='http://openuri.org/easypo'/>" );
-
-            Assert.assertTrue( false );
-        }
-        catch ( XmlException e )
-        {
-        }
-
-        try
-        {
-            XmlPurchaseOrderDocumentBean.Factory.parse(
-                "<purchase-order xmlns='http://openuri.org/easyp'/>" );
-
-            Assert.assertTrue( false );
-        }
-        catch ( XmlException e )
-        {
-        }
-        
-        try
-        {
-            XmlPurchaseOrderDocumentBean.Factory.parse(
-                "<f:fragment xmlns:f='http://www.openuri.org/fragment'/>" );
-
-            Assert.assertTrue( false );
-        }
-        catch ( XmlException e )
-        {
-        }
-        
-        try
-        {
-            XmlPurchaseOrderDocumentBean.Factory.parse(
-                "<f:fragment xmlns:f='http://www.openuri.org/fragment'><a/></f:fragment>" );
-
-            Assert.assertTrue( false );
-        }
-        catch ( XmlException e )
-        {
-        }
-        
-        try
-        {
-            XmlPurchaseOrderDocumentBean.Factory.parse(
-                "<f:fragment xmlns:f='http://www.openuri.org/fragment'><a/><a/></f:fragment>" );
-
-            Assert.assertTrue( false );
-        }
-        catch ( XmlException e )
-        {
-        }
-    }
-}
diff --git a/v1/test/src/drt/drtcases/EnumTests.java b/v1/test/src/drt/drtcases/EnumTests.java
deleted file mode 100644
index 659e795..0000000
--- a/v1/test/src/drt/drtcases/EnumTests.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.Assert;
-import junit.framework.TestCase;
-import org.apache.xmlbeans.XmlObject;
-import org.openuri.enumtest.StatusreportDocument;
-import org.openuri.enumtest.Quantity;
-import org.openuri.enumtest.Data;
-
-public class EnumTests extends TestCase
-{
-    public EnumTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(EnumTests.class); }
-
-    public static void testReport1() throws Exception
-    {
-        StatusreportDocument doc = (StatusreportDocument)
-                    XmlObject.Factory.parse(TestEnv.xbeanCase("enumtest/report1.xml"));
-
-        Quantity.Enum[] contents = new Quantity.Enum[]
-        {
-            Quantity.ALL,
-            Quantity.ALL,
-            Quantity.FEW,
-            Quantity.ALL,
-            Quantity.MOST,
-            Quantity.NONE,
-            Quantity.NONE,
-            Quantity.NONE,
-        };
-        Data[] data = doc.getStatusreport().getStatusArray();
-        int t = 0;
-        for (int i = 0; i < data.length; i++)
-        {
-            Assert.assertEquals(contents[t++], data[i].enumValue());
-            // System.out.println("Target: " + data[i].getTarget() + ", value: " + data[i].enumValue());
-            Assert.assertEquals(contents[t++], data[i].getTarget());
-        }
-    }
-}
diff --git a/v1/test/src/drt/drtcases/GDateTests.java b/v1/test/src/drt/drtcases/GDateTests.java
deleted file mode 100644
index abf30fb..0000000
--- a/v1/test/src/drt/drtcases/GDateTests.java
+++ /dev/null
@@ -1,573 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.TestCase;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.Assert;
-import org.apache.xmlbeans.GDate;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.GDateBuilder;
-import org.apache.xmlbeans.GDuration;
-import org.apache.xmlbeans.GDurationBuilder;
-import org.apache.xmlbeans.XmlCalendar;
-
-import java.util.GregorianCalendar;
-import java.util.Date;
-import java.util.Calendar;
-
-public class GDateTests extends TestCase
-{
-    public GDateTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(GDateTests.class); }
-
-    static String[] validDurations =
-            {
-                "PT0S",
-                "P1Y",
-                "P1M",
-                "P1D",
-                "P2Y",
-                "P2M",
-                "P2D",
-                "PT1H",
-                "PT1M",
-                "PT1S",
-                "PT3600S",
-                "P1Y1M1DT1H1M1S",
-                "P1Y1M1DT1H1M1.1S",
-                "P1Y365D",
-                "P1Y366D",
-                "PT0.1S",
-                "P1Y-364D",
-                "P1Y-365D",
-                "P1Y-366D",
-                "P1Y-367D",
-                "P1Y-12M",
-                "P1M29D",
-                "P1M-27D",
-                "P1M-28D",
-                "P1M-29D",
-                "P1M-31D",
-                "P1M-32D",
-                "P1MT-660H",
-                "P1MT-670H",
-                "P1MT-680H",
-                "P1MT-690H",
-                "P1MT-700H",
-                "P1MT-710H",
-                "P1MT-720H",
-                "P1MT-730H",
-                "P1MT-740H",
-                "PT0.1415926S",
-                "PT5233132S",
-                "PT142332M",
-                "PT98023H",
-
-                "-PT0S",
-                "-P1Y",
-                "-P1M",
-                "-P1D",
-                "-PT1H",
-                "-PT1M",
-                "-PT1S",
-                "-P1Y1M1DT1H1M1S",
-                "-P1Y1M1DT1H1M1.1S",
-                "-P27D",
-                "-P28D",
-                "-P29D",
-                "-P30D",
-                "-P31D",
-                "-P364D",
-                "-P365D",
-                "-P366D",
-                "-PT0.1S",
-                "-PT0.1415926S",
-                "-PT5233132S",
-                "-PT142332M",
-                "-PT98023H",
-
-            };
-
-    static String[] invalidDates =
-            {
-                "+14:01", // tz
-                "-14:01", // tz
-                "+15:00", // tz
-                "-15:00", // tz
-                "X",
-                ",",
-                "T",
-                "+",
-                "-",
-                ":",
-                "0",
-                "March 2",
-                "T00:00:00Z", // T not allowed
-                "-00:00:00Z", // - not allowed
-                "96-02-28T00:00:00Z", // year width
-                "100-02-28T00:00:00Z", // year width
-                "1900-2-28T00:00:00Z", // month width
-                "1900-02-8T00:00:00Z", // day width
-                "1900-02-08T0:00:00Z", // hour width
-                "1900-02-08T00:0:00Z", // hour width
-                "1900-02-08T00:00:0Z", // hour width
-                "1900-02-08T00:00Z", // time incomplete
-                "1900-02-08 T00:00:00Z", // space
-                "1900-02-08T 00:00:00Z", // space
-                "1900-02-08T00:00:00 Z", // space
-                "1900-02-29T00Z", // time incomplete
-                "00:00", // time incomplete
-                "00", // incomplete
-                "2100-02-29", // not leap
-                "-9999999-02-28T00:00:00Z", // too long ago
-                "9999999-02-28T00:00:00Z", // too long from now
-                "9999999999999999999999999999999-02-28T00:00:00Z", // overflow?
-                "1996-00-28T00:00:00Z", // month
-                "1996-13-28T00:00:00Z", // month
-                "1996-02-00T00:00:00Z", // day
-                "2000-02-30T00:00:00Z", // day
-                "1996-02-29T24:00:00Z", // hr
-                "1996-02-29T00:60:00Z", // min
-                "1996-02-29T00:00:60Z", // sec
-                "1996-02-29T00:00:00+14:01", // tz
-                "1996-02-29T00:00:00-14:01", // tz
-                "1996-02-29T00:00:00+15:00", // tz
-                "1996-02-29T00:00:00-15:00", // tz
-                "1996-00-29", // month
-                "1996-13-29", // month
-                "1996-02-00", // day
-                "2000-02-30", // day
-                "--00", // month
-                "--13", // month
-                "--00-01", // month
-                "--13-01", // month
-                "--02-00", // day
-                "--02-30", // day
-                "--01-32", // day
-                "--11-31", // day
-                "---00", // day
-                "---32", // day
-                "24:00:00Z", // hr
-                "00:60:00Z", // min
-                "00:00:60Z", // sec
-                "00:00:00+14:01", // tz
-                "00:00:00-14:01", // tz
-                "00:00:00+15:00", // tz
-                "00:00:00-15:00", // tz
-            };
-
-    static String[] validDates =
-            {
-                "",
-                "Z", // timezone only
-                "-14:00", // timezone only
-                "999999-12-31T23:59:59.999Z",
-                "1970-12-31T23:59:59.990+14:00",
-                "1996-02-29T00:00:00Z", // leap
-                "2000-02-29T00:00:00Z", // leap
-                "2004-02-29T00:00:00Z", // leap
-                "2008-02-29T00:00:00Z", // leap
-                "2012-02-29T00:00:00Z", // leap
-                "1900-02-28T00:00:00Z", // not leap
-                "2100-02-28T00:00:00Z", // not leap
-                "1900-03-28T00:00:00Z", // not leap
-                "-4712-01-01T00:00:00Z",
-                "1999-01-01T00:00:00+01:00",
-                "2001-12-31T23:59:59.010",
-                "2001-12-31T23:59:59.999901000",
-                "1999-12-31T23:59:59.1234567890-14:00",
-                "1992-12-31T23:59:59.01-14:00",
-                "1965-12-31T23:59:59.000Z",
-                "0000-12-31T04:35:22.456",
-                "1696-09-01T00:00:00Z",
-                "1697-02-01T00:00:00Z",
-                "1903-03-01T00:00:00Z",
-                "1903-07-01T00:00:00Z",
-                "1696-09-01T00:00:00+00:00",
-                "1697-02-01T00:00:00-00:00",
-                "2002",
-                "-0001",
-                "--12",
-                "-0001-11",
-                "2002-01",
-                "---31",
-                "1554--31",
-                "-0004--31",
-                "--02-29",
-                "--12-31",
-                "2002-04-18",
-                "-0423-12-31",
-                "23:59:59",
-                "00:00:00",
-                "2010T23:59:59",
-                "-0001T00:00:00",
-                "--12T23:59:59",
-                "-0001-11T00:00:00",
-                "2011-01T23:59:59",
-                "---31T00:00:00",
-                "2002--31T23:59:59",
-                "-0004--31T00:00:00",
-                "2002-02-18T23:59:59",
-                "-0423-12-31T00:00:00",
-                "2002Z",
-                "-0001+01:30",
-                "--12-14:00",
-                "-0001-11Z",
-                "1970-12-01:00",
-                "---31+01:30",
-                "2002--31Z",
-                "--03-31-03:00",
-                "--04-30+05:00",
-                "-0004--31-01:00",
-                "2002-04-18-14:00",
-                "-0423-12-31Z",
-                "23:59:59-01:00",
-                "00:00:00Z",
-                "00:00:00+01:30",
-                "1776T23:59:59-14:00",
-                "-0001T00:00:00Z",
-                "--12T23:59:59+01:30",
-                "-0001-11T00:00:00-01:00",
-                "2002-02T23:59:59Z",
-                "---31T00:00:00-14:00",
-                "2002--31T23:59:59-01:00",
-                "-0004--31T00:00:00+01:30",
-                "2002-04-18T23:59:59Z",
-                "-0423-12-31T00:00:00-05:00",
-            };
-
-    private static boolean hasTime(GDuration gd)
-    {
-        return gd.getHour() != 0 || gd.getMinute() != 0 || gd.getSecond() != 0 || gd.getFraction().signum() != 0;
-    }
-    
-    public static void testGregorianCalendar()
-    {
-        // this is a check of DST offsets
-        Date date = new GDate("2002-04-18T23:59:59Z").getDate();
-        GregorianCalendar gcal = new XmlCalendar(date);
-        Assert.assertEquals(date, gcal.getTime());
-
-        // now check out some things
-        GDate gd = new GDate("2001-12-31T07:00:59.010");
-        GregorianCalendar gc = gd.getCalendar();
-        Date gdd = gd.getDate();
-        Date gcd = gc.getTime();
-        Assert.assertEquals(gdd, gcd);
-        
-        // set up 2/29, and read out Feb 29 in the year 1 BC.
-        Calendar gregcal = new GDate("--02-29").getCalendar();
-        Assert.assertEquals(29, gregcal.get(Calendar.DAY_OF_MONTH));
-        Assert.assertEquals(2 - 1, gregcal.get(Calendar.MONTH));
-        Assert.assertEquals(1, gregcal.get(Calendar.YEAR));
-        Assert.assertEquals(0, gregcal.get(Calendar.ERA));
-        // repeat some tests to make sure it's stable.
-        Assert.assertEquals(29, gregcal.get(Calendar.DAY_OF_MONTH));
-        Assert.assertEquals(2 - 1, gregcal.get(Calendar.MONTH));
-
-        // now try some setters
-        gregcal = new GDate("--02-29").getCalendar();
-        gregcal.set(Calendar.MONTH, 10);
-        Assert.assertEquals("--11-29", gregcal.toString());
-        // repeat to ensure it's stable.
-        Assert.assertEquals("--11-29", gregcal.toString());
-    }
-
-    public static void testValidDuration()
-    {
-        for (int i = 0; i < validDurations.length; i++)
-        {
-            GDuration gd = null;
-            String str = validDurations[i];
-            try
-            {
-                gd = new GDuration(str);
-            }
-            catch (IllegalArgumentException e)
-            {
-                Assert.assertTrue("Problem with " + str + ": " + e.getMessage(), false);
-            }
-
-            Assert.assertEquals(str, gd.toString());
-
-            for (int j = 0; j < validDurations.length; j++)
-            {
-                GDuration gd2 = null;
-                String str2 = validDurations[j];
-                try
-                {
-                    gd2 = new GDuration(str2);
-                }
-                catch (IllegalArgumentException e)
-                {
-                    Assert.assertTrue("Problem with " + str2 + ": " + e.getMessage(), false);
-                }
-
-                // subtracting two ways works
-                GDuration diff = gd.subtract(gd2);
-                GDurationBuilder gdb = new GDurationBuilder(gd2);
-                gdb.setSign(-gdb.getSign());
-                gdb.addGDuration(gd);
-                GDuration sum2 = gdb.toGDuration();
-                Assert.assertEquals(0, diff.compareToGDuration(sum2));
-                gdb.normalize();
-                GDurationBuilder gdb1 = new GDurationBuilder(diff);
-                gdb1.normalize();
-                Assert.assertEquals("Problem: " + gd + " and " + gd2, gdb.toString(), gdb1.toString());
-
-
-                // comparing is reversible
-                int comp1 = gd.compareToGDuration(gd2);
-                int comp2 = gd2.compareToGDuration(gd);
-                if (comp1 == 2)
-                    Assert.assertEquals(2, comp2);
-                else
-                    Assert.assertEquals(-comp1, comp2);
-
-                // comparing translates to addition to dates
-                boolean[] seen = new boolean[3];
-
-                for (int k = 0; k < validDates.length; k++)
-                {
-                    GDate date = new GDate(validDates[k]);
-                    if (!date.hasDate() || date.getYear() > 99999 || date.getYear() < -4000)
-                        continue;
-                    if ((hasTime(gd) || hasTime(gd2)) && !date.hasTime())
-                        continue;
-                    // System.out.println("Adding " + gd + " and " + gd2 + " to " + date + ", expecting " + comp1);
-                    GDate date1 = date.add(gd);
-                    GDate date2 = date.add(gd2);
-
-                    comp2 = date1.compareToGDate(date2);
-                    if (comp1 != 2)
-                    {
-                        Assert.assertEquals("Adding " + date + " + " + gd + " -> " + date1 + ", " + gd2 + " -> " + date2 + ", expecting " + comp1, comp1, comp2);
-                    }
-                    else
-                    {
-                        Assert.assertTrue(comp2 != 2);
-                        seen[comp2 + 1] = true;
-                    }
-
-                    // subtraction should yeild the same result
-                    if (comp1 != 2)
-                    {
-                        GDate date3 = date.add(diff);
-                        Assert.assertEquals(comp1, date3.compareToGDate(date));
-                    }
-                }
-
-                if (comp1 == 2)
-                {
-                    int seencount = 0;
-                    for (int k = 0; k < seen.length; k++)
-                        if (seen[k])
-                            seencount += 1;
-                    Assert.assertTrue("Not ambiguous as advertised" /* + gd + ", " + gd2 + " d: " + diff */, seencount > 1);
-                }
-            }
-        }
-    }
-
-    public static void testOrder()
-    {
-        Assert.assertEquals(-1, new GDate("1998-08-26").compareToGDate(new GDate("2001-08-06")));
-        Assert.assertEquals(-1, new GDate("1970-12-20T04:14:22Z").compareToGDate(new GDate("1971-04-18T12:51:41Z")));
-        Assert.assertEquals(2, new GDate("2001-08-06").compareToGDate(new GDate("2001-08-06Z")));
-        Assert.assertEquals(2, new GDate("2001-08-06").compareToGDate(new GDate("2001-08-07+10:00")));
-        Assert.assertEquals(2, new GDate("2001-08-06").compareToGDate(new GDate("2001-08-05-10:00")));
-        Assert.assertEquals(2, new GDate("2001-02-28").compareToGDate(new GDate("2001-03-01+10:00")));
-        Assert.assertEquals(2, new GDate("2001-03-01").compareToGDate(new GDate("2001-02-28-10:00")));
-        Assert.assertEquals(-1, new GDate("2000-02-28").compareToGDate(new GDate("2000-03-01+10:00")));
-        Assert.assertEquals(1, new GDate("2000-03-01").compareToGDate(new GDate("2000-02-28-10:00")));
-        Assert.assertEquals(-1, new GDate("2001-08-06Z").compareToGDate(new GDate("2001-08-06-00:01")));
-        Assert.assertEquals(0, new GDate("00:00:00Z").compareToGDate(new GDate("00:01:00+00:01")));
-        Assert.assertEquals(0, new GDate("12:00:00-05:00").compareToGDate(new GDate("09:00:00-08:00")));
-        Assert.assertEquals(-1, new GDate("09:00:00-05:00").compareToGDate(new GDate("09:00:00-08:00"))); // the east coast rises before the west
-        Assert.assertEquals(-1, new GDate("2003-05-05T09:00:00-05:00").compareToGDate(new GDate("2003-05-05T09:00:00-08:00"))); // the east coast rises before the west
-        Assert.assertEquals(-1, new GDate("---01").compareToGDate(new GDate("---31")));
-        Assert.assertEquals(-1, new GDate("---01").compareToGDate(new GDate("---31+14:00")));
-        Assert.assertEquals(-1, new GDate("---01").compareToGDate(new GDate("---31-14:00")));
-        Assert.assertEquals(1, new GDate("---31").compareToGDate(new GDate("---01")));
-        Assert.assertEquals(1, new GDate("---31").compareToGDate(new GDate("---01+14:00")));
-        Assert.assertEquals(1, new GDate("---31").compareToGDate(new GDate("---01-14:00")));
-        Assert.assertEquals(-1, new GDate("---01").compareToGDate(new GDate("---02")));
-        Assert.assertEquals(1, new GDate("---02").compareToGDate(new GDate("---01")));
-        Assert.assertEquals(-1, new GDate("---01").compareToGDate(new GDate("---02Z")));
-        Assert.assertEquals(1, new GDate("---02").compareToGDate(new GDate("---01Z")));
-        Assert.assertEquals(2, new GDate("---02").compareToGDate(new GDate("---01-10:00")));
-        Assert.assertEquals(2, new GDate("---01").compareToGDate(new GDate("---02+10:00")));
-        Assert.assertEquals(1, new GDate("---02").compareToGDate(new GDate("---01-09:00")));
-        Assert.assertEquals(-1, new GDate("---01").compareToGDate(new GDate("---02+09:00")));
-        Assert.assertEquals(0, new GDate("---01").compareToGDate(new GDate("---01")));
-        Assert.assertEquals(-1, new GDate("2003").compareToGDate(new GDate("2004")));
-        Assert.assertEquals(-1, new GDate("--11").compareToGDate(new GDate("--12")));
-        Assert.assertEquals(-1, new GDate("2003-12").compareToGDate(new GDate("2004-01")));
-        Assert.assertEquals(-1, new GDate("--11-30").compareToGDate(new GDate("--12-01")));
-        Assert.assertEquals(-1, new GDate("--02-28").compareToGDate(new GDate("--02-29")));
-        Assert.assertEquals(-1, new GDate("--02-29").compareToGDate(new GDate("--03-01")));
-        Assert.assertEquals(2, new GDate("--02-29").compareToGDate(new GDate("--03-01+10:00")));
-        Assert.assertEquals(2, new GDate("--02-28").compareToGDate(new GDate("--03-01+10:00")));
-        Assert.assertEquals(2, new GDate("--03-01").compareToGDate(new GDate("--02-28-10:00")));
-        Assert.assertEquals(2, new GDate("--03-01").compareToGDate(new GDate("--02-29-10:00")));
-        Assert.assertEquals(-1, new GDate("--02-29").compareToGDate(new GDate("--03-01+09:00")));
-        Assert.assertEquals(-1, new GDate("--02-28").compareToGDate(new GDate("--03-01+09:00")));
-        Assert.assertEquals(1, new GDate("--03-01").compareToGDate(new GDate("--02-28-09:00")));
-        Assert.assertEquals(1, new GDate("--03-01").compareToGDate(new GDate("--02-29-09:00")));
-        Assert.assertEquals(-1, new GDate("00:00:00").compareToGDate(new GDate("23:59:59")));
-        Assert.assertEquals(-1, new GDate("00:00:00").compareToGDate(new GDate("23:59:59+09:59")));
-        Assert.assertEquals(-1, new GDate("00:00:00").compareToGDate(new GDate("23:59:01+09:59")));
-        Assert.assertEquals(2, new GDate("00:00:00").compareToGDate(new GDate("23:59:00+09:59")));
-        Assert.assertEquals(2, new GDate("00:00:00").compareToGDate(new GDate("23:59:59+10:00")));
-        Assert.assertEquals(-1, new GDate("00:00:00").compareToGDate(new GDate("23:59:59-14:00")));
-        Assert.assertEquals(1, new GDate("23:59:59").compareToGDate(new GDate("00:00:00-09:59")));
-        Assert.assertEquals(1, new GDate("23:59:59").compareToGDate(new GDate("00:00:58-09:59")));
-        Assert.assertEquals(2, new GDate("23:59:59").compareToGDate(new GDate("00:00:59-09:59")));
-        Assert.assertEquals(2, new GDate("23:59:59").compareToGDate(new GDate("00:00:00-10:00")));
-        Assert.assertEquals(1, new GDate("23:59:59").compareToGDate(new GDate("00:00:00+14:00")));
-    }
-
-
-    public static void testFailure() throws Exception
-    {
-        for (int i = 0; i < invalidDates.length; i++)
-        {
-            String str = invalidDates[i];
-            try
-            {
-                new GDate(str);
-            }
-            catch (IllegalArgumentException e)
-            {
-                continue;
-            }
-            Assert.assertTrue("Missing exception for GDate " + str, false);
-        }
-    }
-
-    public static void testSuccess() throws Exception
-    {
-        for (int i = 0; i < validDates.length; i++)
-        {
-            String str = validDates[i];
-            GDate gdate = null;
-            try
-            {
-                gdate = new GDate(str);
-            }
-            catch (IllegalArgumentException e)
-            {
-                Assert.assertTrue("Problem with " + str + ": " + e.getMessage(), false);
-            }
-
-            // must round-trip to string
-            Assert.assertEquals(str, gdate.toString());
-
-            // must round-trip to GregorianCalendar if fractions-of-seconds <=3 digits
-            if (gdate.getFraction() == null || gdate.getFraction().scale() <= 3)
-                if (!gdate.toString().equals("--02-29")) // bug in gcal -> 03-01
-            {
-                GregorianCalendar gcal = gdate.getCalendar();
-                GDate gdate2 = new GDate(gcal);
-                Assert.assertEquals(gdate, gdate2);
-
-                // and if fractions-of-seconds is 3 digits, stringrep must round-trip
-                if (gdate.getFraction() == null || gdate.getFraction().scale() == 3 || gdate.getFraction().scale() == 0)
-                    Assert.assertEquals(gdate.toString(), gdate2.toString());
-            }
-
-            // must round-trip to Date if absolute time+timezone + fractions-of-seconds <= 3
-            if (gdate.hasTimeZone() && gdate.getYear() > -4000 && gdate.getYear() < 99999 && gdate.getBuiltinTypeCode() == SchemaType.BTC_DATE_TIME && gdate.getFraction().scale() <= 3)
-            {
-                Date date = gdate.getDate();
-                GDate gdate2 = new GDate(date);
-                Assert.assertEquals(gdate, gdate2);
-                
-                // normalize to UTC fractions-of-seconds is 0 or 3 digits [not 000], stringrep must round-trip
-                if (gdate.getTimeZoneSign() == 0 && ((gdate.getFraction().scale() == 3 && gdate.getFraction().signum() != 0) || gdate.getFraction().scale() == 0))
-                {
-                    GDateBuilder gdb = new GDateBuilder(gdate2);
-                    gdb.normalizeToTimeZone(0, 0, 0);
-                    Assert.assertEquals(gdate.toString(), gdb.toString());
-                }
-
-                // verify that going through gcal gives us the same thing
-                GregorianCalendar gcal = gdate.getCalendar();
-                Assert.assertEquals(date, gcal.getTime());
-                
-                // double-check XmlCalendar constructor
-                gcal = new XmlCalendar(date);
-                Assert.assertEquals("Doing " + gdate, date, gcal.getTime());
-            }
-            else if (gdate.hasDate() && (gdate.getFraction() == null || gdate.getFraction().scale() <= 3))
-            {
-                // must be able to get a date if time+timezone is unset (midnight, ltz are assumed)
-                Date date = gdate.getDate();
-                GDateBuilder gdate1 = new GDateBuilder(gdate);
-                if (!gdate1.hasTime())
-                    gdate1.setTime(0, 0, 0, null);
-                Assert.assertEquals(gdate1.getDate(), date);
-
-                // verify that going through gcal gives us the same thing
-                GregorianCalendar gcal = gdate.getCalendar();
-                Assert.assertEquals("Comparing " + gdate + " and " + gcal, date, gcal.getTime());
-            }
-        }
-    }
-}
diff --git a/v1/test/src/drt/drtcases/IDECursorUsageTest.java b/v1/test/src/drt/drtcases/IDECursorUsageTest.java
deleted file mode 100644
index a6a2f1a..0000000
--- a/v1/test/src/drt/drtcases/IDECursorUsageTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlObject;
-
-import java.io.File;
-
-import junit.framework.TestCase;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Tests a simple usage of the cursor I'm having trouble with in IDE code.
- */
-public class IDECursorUsageTest extends TestCase
-{
-    public IDECursorUsageTest(String name) { super(name); }
-    public static Test suite() { return new TestSuite(IDECursorUsageTest.class); }
-
-    public static File getCaseFile(String theCase)
-    {
-        return TestEnv.xbeanCase("store/" + theCase);
-    }
-
-    static XmlCursor loadCase(String theCase) throws Exception
-    {
-        return XmlObject.Factory.parse(getCaseFile(theCase)).newCursor();
-    }
-
-    public void testScanElement() throws Exception
-    {
-        XmlCursor cursor = loadCase("ConsolidateTest.xml");
-        cursor.toFirstChild();
-
-        XmlCursor cur = cursor.newCursor();
-
-        // back up to previous start or end tag
-        while (!isStartOrEnd(cur.toPrevToken())) { System.out.println("Backing up: at " + cur.currentTokenType()); }
-        // then forward to first start or comment (may end up where we started)
-        while (!isStartOrComment(cur.toNextToken())) { System.out.println("Advancing: at " + cur.currentTokenType()); }
-        // then grab the "start" javelin annotation, and grab the start token and the first char
-        // _firstToken = ((JavelinAnnotation)cur.getAnnotation(JavelinAnnotation.class)).getStartToken();
-
-        // now peek at the end tag (it may be unplaced for the <a/> case, so use the start tag if needed
-        cur.toCursor(cursor);
-        // _lastToken = ((JavelinAnnotation)cur.getAnnotation(JavelinAnnotation.class)).getEndToken();
-        cur.toEndToken();
-        // JavelinAnnotation endAnn = (JavelinAnnotation)cur.getAnnotation(JavelinAnnotation.class);
-        // if (endAnn != null)
-        //    _lastToken = endAnn.getEndToken();
-    }
-
-    boolean isStartOrEnd(XmlCursor.TokenType tokType)
-    {
-        switch (tokType.intValue())
-        {
-            case XmlCursor.TokenType.INT_END:
-            case XmlCursor.TokenType.INT_ENDDOC:
-            case XmlCursor.TokenType.INT_START:
-            case XmlCursor.TokenType.INT_STARTDOC:
-                return true;
-            default:
-                return false;
-        }
-    }
-
-    boolean isStartOrComment(XmlCursor.TokenType tokType)
-    {
-        switch (tokType.intValue())
-        {
-            case XmlCursor.TokenType.INT_START:
-            case XmlCursor.TokenType.INT_STARTDOC:
-            case XmlCursor.TokenType.INT_COMMENT:
-                return true;
-            default:
-                return false;
-        }
-    }
-
-}
diff --git a/v1/test/src/drt/drtcases/IntTests.java b/v1/test/src/drt/drtcases/IntTests.java
deleted file mode 100644
index 138ab6a..0000000
--- a/v1/test/src/drt/drtcases/IntTests.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.TestCase;
-import junit.framework.Assert;
-
-import xint.test.PositionDocument;
-
-public class IntTests extends TestCase
-{
-    public IntTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(IntTests.class); }
-
-    public static void testLatLong() throws Exception
-    {
-        PositionDocument doc = PositionDocument.Factory.parse(
-          "<p:position xmlns:p='java:int.test'><p:lat>43</p:lat><p:lon>020</p:lon></p:position>");
-        Assert.assertEquals(43, doc.getPosition().getLat());
-        Assert.assertEquals(20, doc.getPosition().getLon());
-        doc.getPosition().xgetLat().set("07");
-        doc.getPosition().xgetLon().set("040");
-        Assert.assertEquals(7, doc.getPosition().getLat());
-        Assert.assertEquals(40, doc.getPosition().getLon());
-        doc.getPosition().setLat((short)22);
-    }
-}
diff --git a/v1/test/src/drt/drtcases/ListAndUnionTests.java b/v1/test/src/drt/drtcases/ListAndUnionTests.java
deleted file mode 100644
index fa3d866..0000000
--- a/v1/test/src/drt/drtcases/ListAndUnionTests.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.TestCase;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.Assert;
-import org.openuri.lut.ListsDocument;
-import org.openuri.lut.UnionsDocument;
-import org.openuri.lut.IncidentReportsDocument;
-import org.openuri.lut.DateOrDateTime;
-
-import java.util.List;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.math.BigInteger;
-
-import org.apache.xmlbeans.GDate;
-import org.apache.xmlbeans.SimpleValue;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlDate;
-import org.apache.xmlbeans.XmlDateTime;
-import org.apache.xmlbeans.XmlCalendar;
-
-public class ListAndUnionTests extends TestCase
-{
-    public ListAndUnionTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(ListAndUnionTests.class); }
-
-    public void testListGetters() throws Exception
-    {
-        ListsDocument lists = ListsDocument.Factory.parse(
-                "<lut:lists xmlns:lut='http://openuri.org/lut'><lut:int-list>2 4 8 16 32</lut:int-list><lut:nni-list>unbounded 3 unbounded 6</lut:nni-list></lut:lists>");
-        List intList = lists.getLists().getIntList();
-        Assert.assertEquals(new Integer(2), intList.get(0));
-        Assert.assertEquals(new Integer(4), intList.get(1));
-        Assert.assertEquals(new Integer(8), intList.get(2));
-        Assert.assertEquals(new Integer(16), intList.get(3));
-        Assert.assertEquals(new Integer(32), intList.get(4));
-        Assert.assertEquals(5, intList.size());
-
-        List nniList = lists.getLists().getNniList();
-        Assert.assertEquals("unbounded", nniList.get(0));
-        Assert.assertEquals(BigInteger.valueOf(3), nniList.get(1));
-        Assert.assertEquals("unbounded", nniList.get(2));
-        Assert.assertEquals(BigInteger.valueOf(6), nniList.get(3));
-        Assert.assertEquals(4, nniList.size());
-    }
-
-    public void testListSetters() throws Exception
-    {
-        ListsDocument doc = ListsDocument.Factory.newInstance();
-        ListsDocument.Lists lists = doc.addNewLists();
-        lists.setIntList(Arrays.asList(new Object[] { new Integer(4), new Integer(18) }));
-        lists.setNniList(Arrays.asList(new Object[] { BigInteger.valueOf(1), BigInteger.valueOf(2), "unbounded" }));
-        String xtext = doc.xmlText();
-
-        ListsDocument docrt = ListsDocument.Factory.parse(xtext);
-        List intList = docrt.getLists().getIntList();
-        Assert.assertEquals(new Integer(4), intList.get(0));
-        Assert.assertEquals(new Integer(18), intList.get(1));
-        Assert.assertEquals(2, intList.size());
-
-        List nniList = docrt.getLists().getNniList();
-        Assert.assertEquals(BigInteger.valueOf(1), nniList.get(0));
-        Assert.assertEquals(BigInteger.valueOf(2), nniList.get(1));
-        Assert.assertEquals("unbounded", nniList.get(2));
-        Assert.assertEquals(3, nniList.size());
-    }
-
-    public void testUnionGetters() throws Exception
-    {
-        UnionsDocument unions = UnionsDocument.Factory.parse(
-                "<lut:unions xmlns:lut='http://openuri.org/lut'><lut:nni>unbounded</lut:nni><lut:sizes>2 3 5 7 11</lut:sizes></lut:unions>");
-
-        Assert.assertEquals("unbounded", unions.getUnions().getNni());
-
-        Assert.assertTrue(unions.getUnions().getSizes() instanceof List);
-        List sizes = (List)unions.getUnions().getSizes();
-        Assert.assertEquals(new Integer(2), sizes.get(0));
-        Assert.assertEquals(new Integer(3), sizes.get(1));
-        Assert.assertEquals(new Integer(5), sizes.get(2));
-        Assert.assertEquals(new Integer(7), sizes.get(3));
-        Assert.assertEquals(new Integer(11), sizes.get(4));
-        Assert.assertEquals(5, sizes.size());
-
-        UnionsDocument unions2 = UnionsDocument.Factory.parse(
-                "<lut:unions xmlns:lut='http://openuri.org/lut'><lut:nni>37</lut:nni><lut:sizes>all</lut:sizes></lut:unions>");
-
-        Assert.assertEquals(BigInteger.valueOf(37), unions2.getUnions().getNni());
-        Assert.assertEquals("all", unions2.getUnions().getSizes());
-    }
-
-    public void testUnionSetters() throws Exception
-    {
-
-        // create a document
-        UnionsDocument doc = UnionsDocument.Factory.newInstance();
-        UnionsDocument.Unions unions = doc.addNewUnions();
-        unions.setNni("unbounded");
-        unions.setSizes(Arrays.asList(new Object[] { new Integer(5), new Integer(22) }));
-
-        // round trip to s text
-        String xtext = doc.xmlText();
-        UnionsDocument docrt = UnionsDocument.Factory.parse(xtext);
-
-        // verify contents
-        Assert.assertEquals("unbounded", docrt.getUnions().getNni());
-        List sizes = (List)docrt.getUnions().getSizes();
-        Assert.assertEquals(new Integer(5), sizes.get(0));
-        Assert.assertEquals(new Integer(22), sizes.get(1));
-        Assert.assertEquals(2, sizes.size());
-
-        // change the original document
-        unions.setNni(new Integer(11));
-        unions.setSizes("unknown");
-
-        // round trip it again
-        xtext = doc.xmlText();
-        docrt = UnionsDocument.Factory.parse(xtext);
-
-        // verify contents again
-        Assert.assertEquals(BigInteger.valueOf(11), docrt.getUnions().getNni());
-        Assert.assertEquals("unknown", docrt.getUnions().getSizes());
-    }
-
-    public void testUnionArray() throws Exception
-    {
-        IncidentReportsDocument doc = IncidentReportsDocument.Factory.parse(
-                 "<lut:incident-reports xmlns:lut='http://openuri.org/lut'><lut:when>2001-08-06T03:34:00</lut:when><lut:when>2002-01-04</lut:when><lut:when>2002-08-26T23:10:00</lut:when></lut:incident-reports>");
-        IncidentReportsDocument.IncidentReports reports = doc.getIncidentReports();
-        DateOrDateTime[] dt = reports.xgetWhenArray();
-        Calendar[] gd = reports.getWhenArray();
-        Assert.assertEquals(3, dt.length);
-        Assert.assertEquals(3, gd.length);
-        for (int i = 0; i < 3; i++)
-        {
-            Assert.assertEquals(((SimpleValue)dt[i]).gDateValue(), new GDate(gd[i]));
-            Assert.assertEquals(gd[i], dt[i].objectValue());
-        }
-
-        Assert.assertEquals(new XmlCalendar("2001-08-06T03:34:00"), gd[0]);
-        Assert.assertEquals(new XmlCalendar("2002-01-04"), gd[1]);
-        Assert.assertEquals(new XmlCalendar("2002-08-26T23:10:00"), gd[2]);
-
-        Assert.assertEquals(XmlDateTime.type, dt[0].instanceType());
-        Assert.assertEquals(XmlDate.type, dt[1].instanceType());
-        Assert.assertEquals(XmlDateTime.type, dt[2].instanceType());
-
-        reports.setWhenArray(0, new XmlCalendar("1980-04-18"));
-        reports.setWhenArray(1, new XmlCalendar("1970-12-20T04:33:00"));
-
-        dt = reports.xgetWhenArray();
-        gd = reports.getWhenArray();
-
-        Assert.assertEquals(new XmlCalendar("1980-04-18"), gd[0]);
-        Assert.assertEquals(new XmlCalendar("1970-12-20T04:33:00"), gd[1]);
-        Assert.assertEquals(new XmlCalendar("2002-08-26T23:10:00"), gd[2]);
-
-        Assert.assertEquals(XmlDate.type, dt[0].instanceType());
-        Assert.assertEquals(XmlDateTime.type, dt[1].instanceType());
-        Assert.assertEquals(XmlDateTime.type, dt[2].instanceType());
-
-    }
-
-}
diff --git a/v1/test/src/drt/drtcases/NameworldTest.java b/v1/test/src/drt/drtcases/NameworldTest.java
deleted file mode 100644
index 8494bcf..0000000
--- a/v1/test/src/drt/drtcases/NameworldTest.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import org.openuri.nameworld.NameworldDocument;
-import org.openuri.nameworld.NameworldDocument.Nameworld;
-import org.openuri.nameworld.Loc;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlObject;
-
-import java.io.File;
-
-import javax.xml.namespace.QName;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class NameworldTest extends TestCase
-{
-    public NameworldTest(String name) { super(name); }
-    public static Test suite() { return new TestSuite(NameworldTest.class); }
-
-    public static void testWorld1() throws Exception
-    {
-        NameworldDocument doc = (NameworldDocument)
-                    XmlObject.Factory.parse(TestEnv.xbeanCase("nameworld/world1.xml"));
-
-        Assert.assertEquals(new QName("http://openuri.org/nameworld", "nameworld"), doc.schemaType().getDocumentElementName());
-
-        QName[] contents = new QName[]
-        {
-            new QName("http://bar.com/", "barcity"),
-            new QName("http://foo.com/", "footown"),
-            new QName("http://bar.com/", "barvillage"),
-            new QName("http://bar.com/", "bartown"),
-            new QName("http://foo.com/", "foovillage"),
-            new QName("http://bar.com/", "barvillage"),
-            new QName("http://foo.com/", "foocity"),
-            new QName("http://bar.com/", "bartown"),
-            new QName("http://foo.com/", "foovillage"),
-            new QName("http://foo.com/", "footown"),
-            new QName("http://bar.com/", "barvillage"),
-            new QName("http://foo.com/", "foovillage"),
-        };
-        int t = 0;
-
-        Nameworld world = doc.getNameworld();
-        Nameworld.Island[] islands = world.getIslandArray();
-        for (int i = 0; i < islands.length; i++)
-        {
-            Loc[] locs = islands[i].getLocationArray();
-            for (int j = 0; j < locs.length; j++)
-            {
-                Loc.Reference[] refs = locs[j].getReferenceArray();
-                for (int k = 0; k < refs.length; k++)
-                {
-                    Assert.assertEquals(contents[t++], refs[k].getTo());
-                }
-            }
-        }
-    }
-
-    /*
-    public static void testAccessByName() throws Exception
-    {
-        NameworldDocument doc = (NameworldDocument)
-                    XmlLoader.Factory.parse(TestEnv.xbeanCase("nameworld/world1.xml"),
-                    NameworldDocument.type);
-        String[] contents = new String[]
-        {
-            "http://foo.com/",
-            "foocity",
-            "footown",
-            "foovillage",
-            "http://bar.com/",
-            "barcity",
-            "bartown",
-            "barvillage",
-        };
-        int t = 0;
-        Nameworld world = (Nameworld)doc.elementByName(new Name("http://openuri.org/nameworld", "nameworld"), 0);
-        for (int i = 0; i < world.countOfElementByName(new Name("http://openuri.org/nameworld", "island")); i++)
-        {
-            Nameworld.Island island = (Nameworld.Island)world.elementByName(new Name("http://openuri.org/nameworld", "island"), i);
-            Assert.assertEquals(contents[t++], ((SimpleValue)island.attributeByName(new Name("targetNamespace"))).stringValue());
-            for (int j = 0; j < island.countOfElementByName(new Name( "http://openuri.org/nameworld", "location")); j++)
-            {
-                Loc loc = (Loc)island.elementByName(new Name("http://openuri.org/nameworld", "location"), j);
-                Assert.assertEquals(contents[t++], ((SimpleValue)loc.attributeByName(new Name("name"))).stringValue());
-            }
-        }
-    }
-    */
-
-}
diff --git a/v1/test/src/drt/drtcases/QNameSetTest.java b/v1/test/src/drt/drtcases/QNameSetTest.java
deleted file mode 100644
index a76bbf1..0000000
--- a/v1/test/src/drt/drtcases/QNameSetTest.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import javax.xml.namespace.QName;
-
-import java.text.DecimalFormat;
-import java.util.Random;
-import java.util.Stack;
-
-import org.apache.xmlbeans.QNameSetBuilder;
-import org.apache.xmlbeans.QNameSetSpecification;
-import junit.framework.TestCase;
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class QNameSetTest extends TestCase
-{
-    public QNameSetTest(String name) { super(name); }
-    public static Test suite() { return new TestSuite(QNameSetTest.class); }
-
-    public static String format(int indent, int iter, String p, QNameSetBuilder set)
-    {
-        /*
-        System.err.print(new DecimalFormat("00000 ").format(iter));
-        while (indent-- > 0)
-            System.err.print(' ');
-        System.err.print(p);
-        System.err.print(" = ");
-        System.err.println(set.dump());
-        */
-
-        return "case# " + iter + " " + p + " " + set.toString();
-
-    }
-
-
-    public void testQNameSets()
-    {
-        int iterations = 10000;
-        int seed = 0;
-        int stopat = -1;
-
-        Random rnd = new Random(seed);
-        String[] localname = {"a", "b", "c", "d", "e"};
-        String[] namespace = {"n1", "n2", "n3", "n4", "n5"};
-        int width = localname.length;
-
-        QName[] name = new QName[width * namespace.length];
-        for (int i = 0; i < width; i++)
-        {
-            for (int j = 0; j < namespace.length; j++)
-            {
-                name[i + width * j] = new QName(namespace[j], localname[i]);
-            }
-        }
-
-        Stack teststack = new Stack(); // stack of sets
-        Stack trackstack = new Stack(); // stack of boolean arrays
-
-        QNameSetBuilder current = new QNameSetBuilder();
-        boolean[] contents = new boolean[width * namespace.length];
-        boolean[] temp;
-        int i = 0;
-        int j = 0;
-
-        for (int l = 0; l < iterations; l++)
-        {
-            // for debugging
-
-            if (l == stopat)
-                System.err.println("We're here");
-
-            // apply a random operation
-
-            if (rnd.nextInt(3) != 0)
-            {
-                i = rnd.nextInt(width - 1); // don't do the last one for isAll test
-                j = rnd.nextInt(namespace.length - 1); // don't do the last one for isAll test
-            }
-
-            String label;
-
-            switch (teststack.size() < 1 ? 24 : rnd.nextInt(iterations - l > teststack.size() ? 24 : 5))
-            {
-                default:
-                    teststack.push(current);
-                    trackstack.push(contents);
-                    current = new QNameSetBuilder();
-                    contents = new boolean[width * namespace.length];
-                    label = "new";
-                    break;
-
-                case 19:
-                case 20:
-                case 22:
-                    teststack.push(current);
-                    trackstack.push(contents);
-                    current = new QNameSetBuilder();
-                    contents = new boolean[width * namespace.length];
-
-                    if (rnd.nextInt(2) == 0)
-                    {
-                        current.invert();
-                        for (int k = 0; k < width; k++)
-                        {
-                            contents[k + width * (namespace.length - 1)] = true;
-                        }
-                    }
-
-                    for (int h = 0; h < namespace.length - 1; h++)
-                    {
-                        if (rnd.nextInt(2) == 0)
-                            current.removeNamespace(namespace[h]);
-                        else
-                        {
-                            current.addNamespace(namespace[h]);
-                            contents[width - 1 + width * h] = true;
-                        }
-                        for (int k = 0; k < width - 1; k++)
-                        {
-                            if (rnd.nextInt(2) == 0)
-                                current.remove(name[k + width * h]);
-                            else
-                            {
-                                current.add(name[k + width * h]);
-                                contents[k + width * h] = true;
-                            }
-                        }
-                    }
-                    label = "random";
-                    break;
-
-                case 0:
-                    current.addAll((QNameSetSpecification)teststack.pop());
-                    temp = (boolean[])trackstack.pop();
-                    for (int k = 0; k < width * namespace.length; k++)
-                        if (temp[k])
-                            contents[k] = true;
-                    label = "add set";
-                    break;
-
-                case 1:
-                    current.removeAll((QNameSetSpecification)teststack.pop());
-                    temp = (boolean[])trackstack.pop();
-                    for (int k = 0; k < width * namespace.length; k++)
-                        if (temp[k])
-                            contents[k] = false;
-                    label = "remove set";
-                    break;
-
-                case 2:
-                    current.restrict((QNameSetSpecification)teststack.pop());
-                    temp = (boolean[])trackstack.pop();
-                    for (int k = 0; k < width * namespace.length; k++)
-                        if (!temp[k])
-                            contents[k] = false;
-                    label = "restrict set";
-                    break;
-
-                case 3:
-                    label = "union";
-                    current = new QNameSetBuilder(current.union((QNameSetSpecification)teststack.pop()));
-                    temp = (boolean[])trackstack.pop();
-                    for (int k = 0; k < width * namespace.length; k++)
-                        if (temp[k])
-                            contents[k] = true;
-                    label = "union";
-                    break;
-
-                case 4:
-                    label = "intersect";
-                    current = new QNameSetBuilder(current.intersect((QNameSetSpecification)teststack.pop()));
-                    temp = (boolean[])trackstack.pop();
-                    for (int k = 0; k < width * namespace.length; k++)
-                        if (!temp[k])
-                            contents[k] = false;
-                    label = "intersect";
-                    break;
-
-                case 5:
-                    current = new QNameSetBuilder(current);
-                    label = "copy";
-                    break;
-
-                case 6:
-                case 7:
-                case 8:
-                    current.add(name[i + width * j]);
-                    contents[i + width * j] = true;
-                    label = "add one " + name[i + width * j];
-                    break;
-
-                case 9:
-                case 10:
-                case 11:
-                    current.remove(name[i + width * j]);
-                    contents[i + width * j] = false;
-                    label = "remove one " + name[i + width * j];
-                    break;
-
-                case 12:
-                case 13:
-                    current.addNamespace(namespace[j]);
-                    for (int k = 0; k < width; k++)
-                        contents[k + width * j] = true;
-                    label = "add namespace " + namespace[j];
-                    break;
-
-                case 14:
-                case 15:
-                    current.removeNamespace(namespace[j]);
-                    for (int k = 0; k < width; k++)
-                        contents[k + width * j] = false;
-                    label = "remove namespace " + namespace[j];
-                    break;
-
-                case 16:
-                case 17:
-                    current.invert();
-                    for (int k = 0; k < width * namespace.length; k++)
-                        contents[k] = !contents[k];
-                    label = "invert";
-                    break;
-
-                case 18:
-                    current = new QNameSetBuilder(current.inverse());
-                    for (int k = 0; k < width * namespace.length; k++)
-                        contents[k] = !contents[k];
-                    label = "inverse";
-                    break;
-
-            }
-
-            // System.out.println(format(teststack.size(), l, label, current));
-
-            // then, verify current matches contents
-            int count = 0;
-            for (int k = 0; k < width * namespace.length; k++)
-            {
-                Assert.assertTrue(format(0, l, "Content mismatch " + name[k], current), (current.contains(name[k]) == contents[k]));
-                {
-                    // testprint(0, l, "ERROR ON " + name[k], current);
-                    // testprint(0, l, "expected " + contents[k] + ", got " + !contents[k], current);
-                    // System.exit(1);
-                }
-                if (contents[k])
-                    count++;
-            }
-
-            Assert.assertTrue(format(0, l, "ERROR: isEmpty is wrong", current), ((count == 0) == current.isEmpty()));
-            {
-                // testprint(0, l, "ERROR: isEmpty is wrong", current);
-                // testprint(0, l, "expected " + (count == 0) + ", got " + !(count == 0), current);
-                // System.exit(1);
-            }
-
-            Assert.assertTrue(format(0, l, "ERROR: isAll is wrong", current), (count == width * namespace.length) == current.isAll());
-            {
-                // testprint(0, l, "ERROR: isAll is wrong", current);
-                // testprint(0, l, "expected " + (count == width * namespace.length) + ", got " + !(count == width * namespace.length), current);
-                // System.exit(1);
-            }
-
-            // test isDisjoint and containsAll
-            if (teststack.size() >= 1)
-            {
-                boolean disjoint = true;
-                temp = (boolean[])trackstack.peek();
-                for (int k = 0; k < width * namespace.length; k++)
-                {
-                    if (temp[k] && contents[k])
-                    {
-                        disjoint = false;
-                        break;
-                    }
-                }
-                Assert.assertTrue(format(0, l, "ERROR: disjoint is wrong", current), disjoint == current.isDisjoint((QNameSetSpecification)teststack.peek()));
-                {
-                    // testprint(0, l, "ERROR: disjoint is wrong", current);
-                    // testprint(0, l, "expected " + disjoint + ", got " + !disjoint, (QNameSetBuilder)teststack.peek());
-                    // System.exit(1);
-                }
-                
-                
-                boolean containsAll = true;
-                for (int k = 0; k < width * namespace.length; k++)
-                {
-                    if (temp[k] && !contents[k])
-                    {
-                        containsAll = false;
-                        break;
-                    }
-                }
-                Assert.assertTrue(format(0, l, "ERROR: containsAll is wrong", current), containsAll == current.containsAll((QNameSetSpecification)teststack.peek()));
-            }
-            
-        }
-    }
-}
diff --git a/v1/test/src/drt/drtcases/QNameTests.java b/v1/test/src/drt/drtcases/QNameTests.java
deleted file mode 100644
index 72667e1..0000000
--- a/v1/test/src/drt/drtcases/QNameTests.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import org.apache.xmlbeans.XmlQName;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-public class QNameTests extends TestCase
-{
-    public QNameTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(QNameTests.class); }
-
-    static String[] _args;
-    static String _test;
-
-    public void testQName ( )
-        throws Exception
-    {
-        String schema =
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-            "" +
-            "  <xs:element name='any'>\n" +
-            "  </xs:element>\n" +
-            "" +
-            "</xs:schema>\n" +
-            "";
-
-        SchemaTypeLoader stl =
-            XmlBeans.loadXsd( new XmlObject[] {
-                XmlObject.Factory.parse(schema) } );
-
-        
-        //
-        // Test the set_XMLName function on XmlQNameImpl
-        //
-
-        String ns =
-            "xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' " +
-                "xmlns:xs='http://www.w3.org/2001/XMLSchema'";
-        
-        XmlObject sourceDocument =
-            stl.parse(
-                "<any " + ns + " xsi:type='xs:QName' xmlns:xxx='xxx.com'>" +
-                    "xxx:abc</any>", null, null );
-
-        XmlCursor sourceCursor = sourceDocument.newCursor();
-
-        sourceCursor.toFirstChild();
-
-        XmlQName sourceQName = (XmlQName) sourceCursor.getObject();
-
-        XmlObject targetDocument =
-            stl.parse(
-                "<any " + ns + " xsi:type='xs:QName'>" +
-                    "</any>", null, null );
-
-        XmlCursor targetCursor = targetDocument.newCursor();
-
-        targetCursor.toFirstChild();
-
-        XmlQName targetQName = (XmlQName) targetCursor.getObject();
-
-        targetQName.set( sourceQName );
-
-        Assert.assertTrue(
-            targetQName.qNameValue().getNamespaceURI().equals( "xxx.com" ) );
-
-        //
-        // Test the set_text function on XmlQNameImpl
-        //
-        
-        targetDocument =
-            stl.parse(
-                "<any " + ns + " xsi:type='xs:QName' xmlns:xxx='xxx.com'>" +
-                    "</any>", null, null );
-
-        targetCursor = targetDocument.newCursor();
-
-        targetCursor.toFirstChild();
-
-        targetQName = (XmlQName) targetCursor.getObject();
-
-        try
-        {
-            targetQName.set( "zzz:abc" );
-            
-            Assert.assertTrue( false ); // Must fail
-        }
-        catch ( Throwable t )
-        {
-        }
-        
-        targetQName.set( "xxx:abc" );
-        
-        Assert.assertTrue(
-            targetQName.qNameValue().getNamespaceURI().equals( "xxx.com" ) );
-    }
-}
diff --git a/v1/test/src/drt/drtcases/RuntimeSchemaLoaderTest.java b/v1/test/src/drt/drtcases/RuntimeSchemaLoaderTest.java
deleted file mode 100644
index b6fe09f..0000000
--- a/v1/test/src/drt/drtcases/RuntimeSchemaLoaderTest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.SchemaTypeLoader;
-
-import javax.xml.namespace.QName;
-
-import java.io.File;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.w3.x2001.xmlSchema.SchemaDocument.Schema;
-
-public class RuntimeSchemaLoaderTest extends TestCase
-{
-    public RuntimeSchemaLoaderTest(String name) { super(name); }
-    public static Test suite() { return new TestSuite(RuntimeSchemaLoaderTest.class); }
-
-    public void testDynamicLoad() throws Throwable
-    {
-        File inputfile1 = TestEnv.xbeanCase("schema/dynamic/dyntest.xsd");
-        SchemaTypeLoader loader = XmlBeans.loadXsd(new XmlObject[] { XmlObject.Factory.parse(inputfile1) });
-        XmlObject result = loader.parse(TestEnv.xbeanCase("schema/dynamic/dyntest.xml"), null, null);
-        Assert.assertEquals("D=wrappedinstance@http://openuri.org/test/dyntest", result.schemaType().toString());
-        Assert.assertEquals(loader.findDocumentType(new QName("http://openuri.org/test/dyntest", "wrappedinstance" )),
-                            result.schemaType());
-    }
-
-    public void testDynamicLoad2() throws Throwable
-    {
-        File inputfile1 = TestEnv.xbeanCase("schema/dynamic/dyntest2.xsd");
-        SchemaTypeLoader loader = XmlBeans.loadXsd(new XmlObject[] { XmlObject.Factory.parse(inputfile1) });
-        XmlObject result = loader.parse(TestEnv.xbeanCase("schema/dynamic/dyntest2.xml"), null, null);
-        Assert.assertEquals("D=wrappedwildcard@http://openuri.org/test/dyntest", result.schemaType().toString());
-        Assert.assertEquals(loader.findDocumentType(new QName("http://openuri.org/test/dyntest", "wrappedwildcard")),
-                            result.schemaType());
-        XmlCursor cur = result.newCursor();
-        Assert.assertTrue("Should have a root element", cur.toFirstChild());
-        result = cur.getObject();
-        Assert.assertEquals("E=wrappedwildcard|D=wrappedwildcard@http://openuri.org/test/dyntest", result.schemaType().toString());
-        Assert.assertEquals(loader.findElement(new QName("http://openuri.org/test/dyntest", "wrappedwildcard")).getType(),
-                            result.schemaType());
-        Assert.assertTrue("Should have a first child", cur.toFirstChild());
-        Assert.assertEquals(new QName("http://www.w3.org/2001/XMLSchema", "schema"), cur.getName());
-        XmlObject obj = cur.getObject();
-        Assert.assertEquals(Schema.type, obj.schemaType());
-    }
-}
diff --git a/v1/test/src/drt/drtcases/SchemaTypesTests.java b/v1/test/src/drt/drtcases/SchemaTypesTests.java
deleted file mode 100644
index 416eb9a..0000000
--- a/v1/test/src/drt/drtcases/SchemaTypesTests.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlCalendar;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import java.util.Date;
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.io.InputStream;
-
-import org.openuri.xstypes.test.*;
-import org.openuri.def.DefaultsDocument;
-import org.w3.x2001.xmlSchema.SchemaDocument;
-
-import javax.xml.namespace.QName;
-
-public class SchemaTypesTests extends TestCase
-{
-    public SchemaTypesTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(SchemaTypesTests.class); }
-
-    private CustomerDocument doc;
-
-    private void ensureDoc()
-        throws Exception
-    {
-        if( doc==null )
-        {
-            doc = (CustomerDocument)
-                    XmlObject.Factory.parse(TestEnv.xbeanCase("../src/xstypes/xstypes.xml"));
-        }
-    }
-
-    public void testDefaults() throws Throwable
-    {
-        DefaultsDocument doc = DefaultsDocument.Factory.newInstance();
-        DefaultsDocument.Defaults defs = doc.addNewDefaults();
-        Assert.assertEquals(783, defs.getCool()); // this is the default value
-    }
-
-    public void testSourceName() throws Throwable
-    {
-        String name = DefaultsDocument.type.getSourceName();
-        Assert.assertEquals("defaults.xsd", name);
-        InputStream str = XmlBeans.getContextTypeLoader().getSourceAsStream("defaults.xsd");
-        SchemaDocument doc = SchemaDocument.Factory.parse(str);
-        Assert.assertTrue(doc.validate());
-    }
-
-    public void testRead() throws Throwable
-    {
-        ensureDoc();
-
-        // Move from the root to the root customer element
-        Person person = doc.getCustomer();
-        Assert.assertEquals("Howdy", person.getFirstname());
-        Assert.assertEquals(4,   person.sizeOfNumberArray());
-        Assert.assertEquals(436, person.getNumberArray(0));
-        Assert.assertEquals(123, person.getNumberArray(1));
-        Assert.assertEquals(44,  person.getNumberArray(2));
-        Assert.assertEquals(933, person.getNumberArray(3));
-        Assert.assertEquals(2,   person.sizeOfBirthdayArray());
-        Assert.assertEquals(new XmlCalendar("1998-08-26Z"),
-             person.getBirthdayArray(0));
-        Assert.assertEquals(new XmlCalendar("2000-08-06-08:00"),
-             person.getBirthdayArray(1));
-
-        Person.Gender.Enum g = person.getGender();
-        Assert.assertEquals(Person.Gender.MALE, g);
-
-        Assert.assertEquals("EGIQTWYZJ", new String(person.getHex()));
-        Assert.assertEquals("This string is base64Binary encoded!",
-                            new String(person.getBase64()));
-
-        Assert.assertEquals("GGIQTWYGG", new String(person.getHexAtt()));
-        Assert.assertEquals("This string is base64Binary encoded!",
-                            new String(person.getBase64Att()));
-
-        Assert.assertEquals("{some_uri}localname", person.getQnameAtt().toString());
-        Assert.assertEquals("{http://openuri.org/xstypes/test}openuri_org_localname", person.getQname().toString());
-
-        Assert.assertEquals("http://dmoz.org/World/Fran\u00e7ais/", person.getAnyuriAtt().toString());
-        Assert.assertEquals("http://3space.org/space%20space/", person.getAnyuri().toString());
-
-        //RuntimeException: src/xmlstore/com/bea/xml/store/Splay.java(1537): ns != null && ns.length() > 0 failed
-        //Assert.assertEquals("JPEG", person.getNotationAtt().toString());
-        //Assert.assertEquals("GIF", person.getNotation().toString());
-    }
-
-    public void testWriteRead() throws Throwable
-    {
-        ensureDoc();
-        // Move from the root to the root customer element
-        Person person = doc.getCustomer();
-
-        person.setFirstname("George");
-        Assert.assertEquals("George", person.getFirstname());
-
-        person.setHex("hex encoding".getBytes());
-        Assert.assertEquals("hex encoding", new String(person.getHex()));
-
-        person.setBase64("base64 encoded".getBytes());
-        Assert.assertEquals("base64 encoded",
-                            new String(person.getBase64()));
-
-        person.setHexAtt("hex encoding in attributes".getBytes());
-        Assert.assertEquals("hex encoding in attributes",
-                            new String(person.getHexAtt()));
-
-        person.setBase64Att("This string is base64Binary encoded!".getBytes());
-        Assert.assertEquals("This string is base64Binary encoded!",
-                            new String(person.getBase64Att()));
-
-        person.setAnyuri("a.c:7001");
-        Assert.assertEquals("a.c:7001", person.getAnyuri());
-
-        person.setAnyuriAtt("b.d:7002");
-        Assert.assertEquals("b.d:7002", person.getAnyuriAtt());
-
-        person.setQnameAtt(new QName("aaa","bbb"));
-        Assert.assertEquals("{aaa}bbb", person.getQnameAtt().toString());
-
-        person.setQname(new QName("ddd","eee"));
-        Assert.assertEquals("{ddd}eee", person.getQname().toString());
-
-        //Exception: src/xmlstore/com/bea/xml/store/Type.java(189): user == _user failed
-//        person.setAnyuriAtt(URI.create("b.d:7002"));
-//        Assert.assertEquals("b.d:7002", person.getAnyuriAtt().toString());
-
-        //XmlNOTATION notation = (XmlNOTATION)Person.Notation.type.createNode();
-        //notation.setValue("JPEG");
-        //person.setNotation( notation );
-        //Assert.assertEquals("JPEG", person.getNotation().toString());
-
-        //XmlNOTATION notationAtt = (XmlNOTATION)Person.NotationAtt.type.createNode();
-        //notationAtt.setValue("GIF");
-        //person.setNotationAtt( notationAtt );
-        //person.setNotationAtt(notation);
-        //Assert.assertEquals("GIF", person.getNotationAtt().toString());
-    }
-
-    public void testStoreWrite() throws Throwable
-    {
-        ensureDoc();
-        // Move from the root to the root customer element
-        Person person = doc.getCustomer();
-
-        XmlObject xmlobj;
-        XmlCursor xmlcurs;
-
-        person.setFirstname("George");
-        xmlobj = person.xgetFirstname();
-        xmlcurs = xmlobj.newCursor();
-        Assert.assertEquals("George", xmlcurs.getTextValue() );
-
-        person.setQnameAtt( new QName("http://ggg.com","hhh") );
-        xmlobj = person.xgetQnameAtt();
-        xmlcurs = xmlobj.newCursor();
-        Assert.assertEquals("ggg:hhh", xmlcurs.getTextValue() );
-
-        person.setQname( new QName("http://ggg.com/gggAgain","kkk") );
-        xmlobj = person.xgetQname();
-        xmlcurs = xmlobj.newCursor();
-        Assert.assertEquals("ggg1:kkk", xmlcurs.getTextValue() );
-
-        person.setAnyuri( "crossgain.com" );
-        xmlobj = person.xgetAnyuri();
-        xmlcurs = xmlobj.newCursor();
-        Assert.assertEquals("crossgain.com", xmlcurs.getTextValue() );
-
-        person.setAnyuriAtt( "www.crossgain.com" );
-        xmlobj = person.xgetAnyuriAtt();
-        xmlcurs = xmlobj.newCursor();
-        Assert.assertEquals("www.crossgain.com", xmlcurs.getTextValue() );
-
-        //person.setNotation("GIF");
-        //xmlobj = person.getNotation();
-        //xmlcurs = xmlobj.newXmlCursor();
-        //Assert.assertEquals("GIF", xmlcurs.getText() );
-
-        //person.setNotationAtt("JPEGu");
-        //xmlobj = person.xgetNotationAtt();
-        //xmlcurs = xmlobj.newXmlCursor();
-        //Assert.assertEquals("JPEG", xmlcurs.getText() );
-    }
-}
diff --git a/v1/test/src/drt/drtcases/SerializationTests.java b/v1/test/src/drt/drtcases/SerializationTests.java
deleted file mode 100644
index ff642ad..0000000
--- a/v1/test/src/drt/drtcases/SerializationTests.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.TestCase;
-import junit.framework.Assert;
-import com.easypo.XmlPurchaseOrderDocumentBean.PurchaseOrder;
-import com.easypo.XmlLineItemBean;
-import com.easypo.XmlShipperBean;
-import com.easypo.XmlPurchaseOrderDocumentBean;
-import org.apache.xmlbeans.XmlObject;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.io.ByteArrayOutputStream;
-import java.io.ObjectOutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ObjectInputStream;
-
-public class SerializationTests extends TestCase
-{
-    public SerializationTests (String name) { super(name); }
-    public static Test suite() { return new TestSuite(SerializationTests.class); }
-
-    public void testXmlObjectSerialization() throws Exception
-    {
-        String simpleDocument = "<simpleDoc><nestedTag attr=\"sample\">43</nestedTag></simpleDoc>";
-        XmlObject doc = XmlObject.Factory.parse(simpleDocument);
-
-        // baseline test
-        Assert.assertEquals(simpleDocument, doc.xmlText());
-
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        ObjectOutputStream oos = new ObjectOutputStream(out);
-        oos.writeObject(doc);
-        oos.close();
-
-        byte[] byteArray = out.toByteArray();
-        ByteArrayInputStream in = new ByteArrayInputStream(byteArray);
-        ObjectInputStream ois = new ObjectInputStream(in);
-        XmlObject newdoc = (XmlObject)ois.readObject();
-        ois.close();
-
-        Assert.assertEquals(simpleDocument, newdoc.xmlText());
-    }
-
-    public void testXBeanSerialization() throws Exception
-    {
-        XmlPurchaseOrderDocumentBean doc = XmlPurchaseOrderDocumentBean.Factory.newInstance();
-        PurchaseOrder order = doc.addNewPurchaseOrder();
-        order.addNewCustomer().setName("David Bau");
-        order.getCustomer().setAddress("Gladwyne, PA");
-        XmlLineItemBean li;
-        li = order.addNewLineItem();
-        li.setDescription("Burnham's Celestial Handbook, Vol 1");
-        li.setPrice(new BigDecimal("21.79"));
-        li.setQuantity(BigInteger.valueOf(2));
-        li.setPerUnitOunces(new BigDecimal("5"));
-        li = order.addNewLineItem();
-        li.setDescription("Burnham's Celestial Handbook, Vol 2");
-        li.setPrice(new BigDecimal("19.89"));
-        li.setQuantity(BigInteger.valueOf(2));
-        li.setPerUnitOunces(new BigDecimal("5"));
-        li = order.addNewLineItem();
-        li.setDescription("Burnham's Celestial Handbook, Vol 3");
-        li.setPrice(new BigDecimal("19.89"));
-        li.setQuantity(BigInteger.valueOf(1));
-        li.setPerUnitOunces(new BigDecimal("5"));
-        XmlShipperBean sh = order.addNewShipper();
-        sh.setName("UPS");
-        sh.setPerOunceRate(new BigDecimal("0.74"));
-
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-        ObjectOutputStream oos = new ObjectOutputStream(out);
-        oos.writeObject(doc.getPurchaseOrder().getLineItemArray(1));
-        oos.writeObject(doc);
-        oos.writeObject(doc.getPurchaseOrder().getLineItemArray(2));
-        oos.close();
-
-        byte[] byteArray = out.toByteArray();
-        ByteArrayInputStream in = new ByteArrayInputStream(byteArray);
-        ObjectInputStream ois = new ObjectInputStream(in);
-        XmlLineItemBean newli1 = (XmlLineItemBean)ois.readObject();
-        XmlPurchaseOrderDocumentBean newdoc = (XmlPurchaseOrderDocumentBean)ois.readObject();
-        XmlLineItemBean newli2 = (XmlLineItemBean)ois.readObject();
-        ois.close();
-
-        PurchaseOrder neworder = newdoc.getPurchaseOrder();
-
-        Assert.assertEquals(newli1, neworder.getLineItemArray(1));
-        Assert.assertEquals(newli2, neworder.getLineItemArray(2));
-
-        Assert.assertEquals("David Bau", neworder.getCustomer().getName());
-        Assert.assertEquals("Gladwyne, PA", neworder.getCustomer().getAddress());
-        Assert.assertEquals(3, neworder.sizeOfLineItemArray());
-
-        Assert.assertEquals("Burnham's Celestial Handbook, Vol 1", neworder.getLineItemArray(0).getDescription());
-        Assert.assertEquals(new BigDecimal("21.79"), neworder.getLineItemArray(0).getPrice());
-        Assert.assertEquals(new BigInteger("2"), neworder.getLineItemArray(0).getQuantity());
-        Assert.assertEquals(new BigDecimal("5"), neworder.getLineItemArray(0).getPerUnitOunces());
-
-        Assert.assertEquals("Burnham's Celestial Handbook, Vol 2", neworder.getLineItemArray(1).getDescription());
-        Assert.assertEquals(new BigDecimal("19.89"), neworder.getLineItemArray(1).getPrice());
-        Assert.assertEquals(new BigInteger("2"), neworder.getLineItemArray(1).getQuantity());
-        Assert.assertEquals(new BigDecimal("5"), neworder.getLineItemArray(1).getPerUnitOunces());
-
-        Assert.assertEquals("Burnham's Celestial Handbook, Vol 3", neworder.getLineItemArray(2).getDescription());
-        Assert.assertEquals(new BigDecimal("19.89"), neworder.getLineItemArray(2).getPrice());
-        Assert.assertEquals(new BigInteger("1"), neworder.getLineItemArray(2).getQuantity());
-        Assert.assertEquals(new BigDecimal("5"), neworder.getLineItemArray(2).getPerUnitOunces());
-
-        Assert.assertEquals(true, neworder.isSetShipper());
-        Assert.assertEquals("UPS", neworder.getShipper().getName());
-        Assert.assertEquals(new BigDecimal("0.74"), neworder.getShipper().getPerOunceRate());
-    }
-}
diff --git a/v1/test/src/drt/drtcases/SmokeTests.java b/v1/test/src/drt/drtcases/SmokeTests.java
deleted file mode 100644
index cc5d8fb..0000000
--- a/v1/test/src/drt/drtcases/SmokeTests.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.TestCase;
-
-public class SmokeTests extends TestCase
-{
-    SmokeTests(String name) { super(name); }
-
-    public static Test suite()
-    {
-        TestSuite suite = new TestSuite(SmokeTests.class.getName());
-        suite.addTest(AssortedTests.suite());
-        suite.addTest(IntTests.suite());
-        suite.addTest(RuntimeSchemaLoaderTest.suite());
-        suite.addTest(StoreTests.suite());
-        suite.addTest(QNameTests.suite());
-        suite.addTest(ValidationTests.suite());
-        suite.addTest(CompilationTests.suite());
-        suite.addTest(AnnotationsTests.suite());
-        suite.addTest(EasyPoTests.suite());
-        suite.addTest(NameworldTest.suite());
-        suite.addTest(SchemaTypesTests.suite());
-        suite.addTest(EnumTests.suite());
-        suite.addTest(CreationTests.suite());
-        suite.addTest(ThreadingTest.suite());
-        suite.addTest(SerializationTests.suite());
-        suite.addTest(DomTests.suite());
-        suite.addTest(GDateTests.suite());
-        suite.addTest(SubstGroupTests.suite());
-        return suite;
-    }
-}
diff --git a/v1/test/src/drt/drtcases/StandaloneTests.java b/v1/test/src/drt/drtcases/StandaloneTests.java
deleted file mode 100644
index 4d24717..0000000
--- a/v1/test/src/drt/drtcases/StandaloneTests.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.TestCase;
-
-public class StandaloneTests extends TestCase
-{
-    StandaloneTests(String name) { super(name); }
-
-    public static Test suite()
-    {
-        TestSuite suite = new TestSuite(StandaloneTests.class.getName());
-        suite.addTest(AssortedTests.suite());
-        suite.addTest(IntTests.suite());
-        suite.addTest(RuntimeSchemaLoaderTest.suite());
-        suite.addTest(StoreTests.suite());
-        suite.addTest(QNameTests.suite());
-        suite.addTest(ValidationTests.suite());
-        suite.addTest(CompilationTests.suite());
-        suite.addTest(AnnotationsTests.suite());
-        suite.addTest(EasyPoTests.suite());
-        suite.addTest(NameworldTest.suite());
-        suite.addTest(SchemaTypesTests.suite());
-        suite.addTest(EnumTests.suite());
-        suite.addTest(CreationTests.suite());
-        suite.addTest(ThreadingTest.suite());
-        suite.addTest(SerializationTests.suite());
-        suite.addTest(DomTests.suite());
-        suite.addTest(GDateTests.suite());
-        suite.addTest(SubstGroupTests.suite());
-        return suite;
-    }
-}
diff --git a/v1/test/src/drt/drtcases/StoreTests.java b/v1/test/src/drt/drtcases/StoreTests.java
deleted file mode 100644
index e8fba63..0000000
--- a/v1/test/src/drt/drtcases/StoreTests.java
+++ /dev/null
@@ -1,2590 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import org.apache.xmlbeans.XmlCursor.TokenType;
-import org.apache.xmlbeans.XmlCursor.XmlBookmark;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlSaxHandler;
-import org.apache.xmlbeans.XmlLineNumber;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.impl.common.XmlNameImpl;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Random;
-import java.util.Iterator;
-import java.util.TreeSet;
-import javax.xml.namespace.QName;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-import weblogic.xml.stream.Attribute;
-import weblogic.xml.stream.AttributeIterator;
-import weblogic.xml.stream.ChangePrefixMapping;
-import weblogic.xml.stream.CharacterData;
-import weblogic.xml.stream.Comment;
-import weblogic.xml.stream.EndDocument;
-import weblogic.xml.stream.EndElement;
-import weblogic.xml.stream.EndPrefixMapping;
-import weblogic.xml.stream.StartDocument;
-import weblogic.xml.stream.StartElement;
-import weblogic.xml.stream.StartPrefixMapping;
-import weblogic.xml.stream.XMLEvent;
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLName;
-   
-public class StoreTests extends TestCase
-{
-    public StoreTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(StoreTests.class); }
-
-    static String[] _args;
-    static String _test;
-
-    public static File getCaseFile(String theCase)
-    {
-        return TestEnv.xbeanCase("store/" + theCase);
-    }
-
-    static XmlCursor loadCase(String theCase) throws Exception
-    {
-        return XmlObject.Factory.parse(getCaseFile(theCase), null).newCursor();
-    }
-
-    public void testReplaceContents ( )
-        throws Exception
-    {
-        XmlObject xDst = XmlObject.Factory.newInstance();
-        XmlObject xSrc = XmlObject.Factory.parse( "<foo/>" );
-        XmlObject newDst = xDst.set( xSrc );
-        Assert.assertTrue( newDst.xmlText().equals( "<foo/>" ) );
-        
-        xDst = XmlObject.Factory.parse( "<bar/>" );
-        xSrc = XmlObject.Factory.parse( "<foo/>" );
-        XmlCursor c = xDst.newCursor();
-        c.toNextToken();
-        xDst = c.getObject();
-        xDst.set( xSrc );
-        c.toStartDoc();
-        xDst = c.getObject();
-        Assert.assertTrue( xDst.xmlText().equals( "<bar><foo/></bar>" ) );
-
-        xDst = XmlObject.Factory.parse( "<bar x='y'/>" );
-        xSrc = XmlObject.Factory.parse( "<foo>moo</foo>" );
-        c = xDst.newCursor();
-        c.toNextToken();
-        c.toNextToken();
-        xDst = c.getObject();
-        xDst.set( xSrc );
-        c.toStartDoc();
-        xDst = c.getObject();
-        Assert.assertTrue( xDst.xmlText().equals( "<bar x=\"moo\"/>" ) );
-    }
-    
-    public void testSniffing ( )
-        throws Exception
-    {
-        XmlObject x;
-        
-        x = XmlObject.Factory.parse( "<xoo/>" );
-        Assert.assertTrue( x.schemaType() == XmlBeans.NO_TYPE );
-        
-        x = XmlObject.Factory.parse(
-            "<schema xmlns='http://www.w3.org/2001/XMLSchema'/>" );
-        Assert.assertTrue(
-            x.schemaType() == org.w3.x2001.xmlSchema.SchemaDocument.type );
-
-        x = XmlObject.Factory.parse(
-            "<schema xmlns='http://www.w3.org/2001/XMLSchema/moo'/>" );
-        Assert.assertTrue( x.schemaType() == XmlBeans.NO_TYPE );
-
-        x = XmlObject.Factory.parse(
-            "<schema xmlns='http://www.w3.org/2001/XMLSchema'/>" );
-        Assert.assertTrue(
-            x.schemaType() == org.w3.x2001.xmlSchema.SchemaDocument.type );
-
-        x = org.w3.x2001.xmlSchema.SchemaDocument.Factory.parse(
-                "<schema xmlns='http://www.w3.org/2001/XMLSchema'/>" );
-        Assert.assertTrue(
-            x.schemaType() == org.w3.x2001.xmlSchema.SchemaDocument.type );
-
-        try {
-            x = 
-                org.w3.x2001.xmlSchema.SchemaDocument.Factory.parse(
-                    "<schema xmlns='http://www.w3.org/2001/XMLSchema/moo'/>" );
-            Assert.assertTrue( false );
-        }
-        catch ( Throwable e ) { }
-    }
-    
-    public void testCursorStack ( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( "<foo x='y'/>" );
-        XmlCursor c = x.newCursor();
-        c.push();
-        c.toNextToken();
-        c.push();
-        c.toNextToken();
-        Assert.assertTrue( c.isAttr() );
-        c.pop();
-        Assert.assertTrue( c.isStart() );
-        c.pop();
-        Assert.assertTrue( c.isStartdoc() );
-    }
-    
-    public void testImplicitNamespaces ( )
-        throws Exception
-    {
-        Map namespaces = new HashMap();
-        namespaces.put( "foo", "foo.com" );
-        namespaces.put( "bar", "bar.com" );
-        namespaces.put( "", "default.com" );
-
-        XmlOptions options = new XmlOptions();
-        options.put( XmlOptions.SAVE_IMPLICIT_NAMESPACES, namespaces );
-
-        XmlObject x = XmlObject.Factory.newInstance();
-        XmlCursor c = x.newCursor();
-
-        c.toNextToken();
-
-        c.beginElement( "a", "foo.com" );
-        c.beginElement( "b", "default.com" );
-        c.beginElement( "c", "bar.com" );
-
-        Assert.assertTrue(
-            x.xmlText( options ).equals( "<foo:a><b><bar:c/></b></foo:a>" ) );
-    }
-
-    private static class Content implements ContentHandler, LexicalHandler
-    {
-        public void startDocument ( ) throws SAXException 
-        {
-            add( "START_DOCUMENT" );
-        }
-
-        public void endDocument ( ) throws SAXException 
-        {
-            add( "END_DOCUMENT" );
-        }
-
-        public void startElement (
-            String namespaceURI, String localName,
-            String qName, Attributes atts )
-                throws SAXException
-        {
-            add( "START_ELEMENT" );
-            add( "  namespaceURI: " + namespaceURI );
-            add( "  localName: " + localName );
-//            add( "  qName: " + qName ); 
-
-            TreeSet sortedAttrs = new TreeSet();
-
-            for ( int i = 0 ; i < atts.getLength() ; i++ )
-            {
-                String ln = atts.getLocalName( i );
-                String uri = atts.getURI( i );
-                String qname = atts.getQName( i );
-
-                if (ln.equals("xmlns"))
-                    continue;
-                if (qname.startsWith("xmlns"))
-                    continue;
-
-//                if (ln.equals( "xmlns" ))
-//                    ln = "";
-//
-//                if (uri.equals( "xmlns" ))
-//                    uri = "";
-
-                sortedAttrs.add(
-                    uri + "-" + ln + "-" +
-                        atts.getQName( i ) + "-" + atts.getType( i ) + "-" +
-                            atts.getValue( i ) );
-            }
-
-            for ( Iterator i = sortedAttrs.iterator() ; i.hasNext() ; )
-                add( "  Attr: " + i.next() );
-        }
-
-        public void endElement (
-            String namespaceURI, String localName, String qName )
-                throws SAXException
-        {
-            add( "END_ELEMENT" );
-            add( "  namespaceURI: " + namespaceURI );
-            add( "  localName: " + localName );
-//            add( "  qName: " + qName );
-        }
-
-        public void characters ( char ch[], int start, int length )
-            throws SAXException
-        {
-            if (length > 0)
-            {
-                add( "CHARACTERS" );
-                add( ch, start, length );
-            }
-        }
-
-        public void comment ( char ch[], int start, int length ) 
-            throws SAXException 
-        { 
-            add( "COMMENT" );
-            add( "  Comment: ", ch, start, length );
-        }
-
-        public void processingInstruction ( String target, String data )
-            throws SAXException
-        {
-            add( "PROCESSING_INSTRUCTION" );
-            add(   "target: " + target );
-            add(   "data: " + data );
-        }
-
-        public void ignorableWhitespace ( char ch[], int start, int length )
-            throws SAXException
-        {
-            if (length > 0)
-            {
-                add( "IGNORABLE_WHITESPACE" );
-                add( "  whitespace: ", ch, start, length );
-            }
-        }
-        
-        public void startPrefixMapping ( String prefix, String uri )
-            throws SAXException
-        {
-            add( "START_PREFIX_MAPPING" );
-//            add( "  prefix: " + prefix );
-            add( "  uri: " + uri );
-        }
-        
-        public void endPrefixMapping ( String prefix ) throws SAXException
-        {
-            add( "END_PREFIX_MAPPING" );
-//            add( "  prefix: " + prefix );
-        }
-        
-        public void startCDATA ( ) throws SAXException
-        {
-            add( "START_CDATA" );
-        }
-        
-        public void endCDATA ( ) throws SAXException
-        {
-            add( "END_CDATA" );
-        }
-        
-        public void startDTD ( String name, String publicId, String systemId )
-            throws SAXException
-        {
-            add( "START_DTD" );
-            add( "  name: " + name );
-            add( "  publicId: " + publicId );
-            add( "  systemId: " + systemId );
-        }
-        
-        public void endDTD ( ) throws SAXException
-        {
-            add( "END_DTD" );
-        }
-        
-        public void startEntity ( String name ) throws SAXException
-        {
-            add( "START_ENTITY" );
-            add( "  name: " + name );
-        }
-        
-        public void endEntity ( String name ) throws SAXException
-        {
-            add( "END_ENTITY" );
-            add( "  name: " + name );
-        }
-        
-        public void setDocumentLocator ( Locator locator )
-        {
-            // add( "START_DOCUMENT_LOCATOR" );
-        }
-
-        public void skippedEntity ( String name ) throws SAXException
-        {
-            add( "SKIPPED_ENTITY" );
-            add( "  name: " + name );
-        }
-
-        private void add ( String s )
-        {
-            _sb.append( s );
-            _sb.append( "\n" );
-        }
-        
-        private void add ( String s, char[] buf, int off, int cch )
-        {
-            _sb.append( s );
-            _sb.append( buf, off, cch );
-            _sb.append( "\n" );
-        }
-        
-        private void add ( char[] buf, int off, int cch )
-        {
-            _sb.append( buf, off, cch );
-            _sb.append( "\n" );
-        }
-        
-        public boolean equals ( Object that )
-        {
-            return toString().equals( that.toString() );
-        }
-
-        public String toString ( )
-        {
-            return _sb.toString();
-        }
-
-        private StringBuffer _sb = new StringBuffer();
-    }
-    
-    public void doTestSaxSaver ( String xml )
-        throws Exception
-    {
-        // ME
-        
-        Content content2 = new Content();
-
-        XmlObject x = XmlObject.Factory.parse( xml );
-
-        x.save( content2, content2 );
-
-        // THEM
-
-        SAXParserFactory spf = SAXParserFactory.newInstance();
-        SAXParser sp = spf.newSAXParser();
-        
-        XMLReader xr = sp.getXMLReader();
-        
-        Content content1 = new Content();
-        
-        xr.setProperty( "http://xml.org/sax/properties/lexical-handler", content1 );
-        xr.setFeature( "http://xml.org/sax/features/namespace-prefixes", true );
-        xr.setFeature( "http://xml.org/sax/features/namespaces", true );
-        xr.setFeature( "http://xml.org/sax/features/validation", false );
-
-        xr.setContentHandler( content1 );
-        
-        InputSource is = new InputSource( new StringReader(  xml ) );
-
-        xr.parse( is );
-
-
-        if (!content1.equals( content2 ))
-        {
-            System.err.println( "SAX save failure: " );
-            System.err.println( xml );
-            System.err.println();
-            
-            System.err.println( "SAX: " );
-            System.err.println( content1.toString() );
-            System.err.println();
-            
-            System.err.println( "ME: " );
-            System.err.println( content2.toString() );
-            System.err.println();
-            
-            Assert.assertTrue( false );
-        }
-    }
-    
-    public void testSaxSaver ( )
-        throws Exception
-    {
-        doTestSaxSaver( "<a xmlns='nnn'></a>" );
-        doTestSaxSaver( "<a x='y'><!---->x<b/><c p='q'>z</c></a>" );
-        doTestSaxSaver( "<a x='y'><!----><b>moo</b><c p='q'></c></a>" );
-        doTestSaxSaver( "<a>asa<b/>sdsd<c>aaz</c>adsasd</a>" );
-        doTestSaxSaver( "<a><?target value?></a>" );
-        doTestSaxSaver( "<n:a xmlns:n='nnn'></n:a>" );
-        doTestSaxSaver( "<j:a x='y' p='q' xmlns:j='k'></j:a>" );
-    }
-    
-    public void __testParsing ( )
-        throws Exception
-    {
-        Random r = new Random( 1 );
-        
-        for ( int i = 0 ; i < 100000 ; i++ )
-        {
-            String xml = makeRandomDocument( r );
-
-//            System.err.println( "Starting..." );
-//
-//            System.err.println( xml );
-
-            try
-            {
-                XmlObject.Factory.parse( xml );
-            }
-            catch ( Throwable e )
-            {
-                System.err.println( "Failed parse test:" );
-                e.printStackTrace();
-                System.err.println( xml );
-
-                OutputStream os = new FileOutputStream( "c:\\ee.xml" );
-                PrintStream ps = new PrintStream( os );
-                ps.println( xml );
-                ps.close();
-                os.close();
-
-                throw (RuntimeException) e;
-            }
-            
-//            System.err.println( "Finished..." );
-        }
-    }
-
-    public void doTestLineNumbers ( String xml )
-        throws Exception
-    {
-        int line = 1;
-        int col = 1;
-
-        XmlCursor c =
-            XmlObject.Factory.parse(
-                xml, new XmlOptions().setLoadLineNumbers() ).
-                    newCursor();
-
-        for ( int i = 0 ; i < xml.length() ; i++ )
-        {
-            char ch = xml.charAt( i );
-
-            if (ch == '<' && Character.isLetter( xml.charAt( i + 1 ) ) )
-            {
-                while (!c.currentTokenType().isStart())
-                    c.toNextToken();
-
-                Assert.assertTrue( c.currentTokenType().isStart() );
-                    
-                XmlLineNumber ln =
-                    (XmlLineNumber)
-                        c.getBookmark( XmlLineNumber.class );
-
-                Assert.assertTrue( ln != null );
-
-                Assert.assertTrue( ln.getLine()   == -1 || ln.getLine() == line );
-                Assert.assertTrue( ln.getColumn() == -1 || ln.getColumn() == col );
-                Assert.assertTrue( ln.getOffset() == -1 || ln.getOffset() == i );
-                
-                c.toNextToken();
-            }
-
-            if (ch == '\n')
-            {
-                line++;
-                col= 1;
-            }
-            else
-                col++;
-        }
-    }
-    
-    public void __testLineNumbers ( )
-        throws Exception
-    {
-        Random r = new Random( 1 );
-        
-        for ( int i = 0 ; i < 1000 ; i++ )
-        {
-            String xml = makeRandomDocument( r );
-
-//            System.err.println( "Starting..." );
-//
-//            System.err.println( xml );
-
-            try
-            {
-                doTestLineNumbers( xml );
-            }
-            catch ( Throwable e )
-            {
-                System.err.println( "Failed line number test:" );
-                System.err.println( xml );
-
-                OutputStream os = new FileOutputStream( "c:\\ee.xml" );
-                PrintStream ps = new PrintStream( os );
-                ps.println( xml );
-                ps.close();
-                os.close();
-
-                throw (RuntimeException) e;
-            }
-            
-//            System.err.println( "Finished..." );
-        }
-    }
-
-    private static class DocBuilder
-    {
-        Random r;
-        StringBuffer sb;
-        
-        DocBuilder ( Random _r, StringBuffer _sb )
-        {
-            r = _r;
-            sb = _sb;
-        }
-
-        void append ( char ch )
-        {
-            sb.append( ch );
-        }
-        
-        void append ( String s )
-        {
-            sb.append( s );
-        }
-
-        public void whitespace ( )
-        {
-            int p = r.nextInt( 100 );
-
-            if (p < 20)
-                append( '\t' );
-            else if (p < 40)
-                append( '\n' );
-            else
-                append( ' ' );
-        }
-
-        public void whitespaces ( )
-        {
-            for ( int i = r.nextInt( 8 ) ; i > 0 ; i-- )
-                whitespace();
-        }
-
-        public char makeLetter ( )
-        {
-            return (char) (((int) 'a') + r.nextInt( 26 ));
-        }
-        
-        public void letter ( )
-        {
-            append( makeLetter() );
-        }
-
-        public void charEntity ( )
-        {
-            switch ( r.nextInt( 5 ) )
-            {
-            case 0 : append( "&lt;" ); break;
-            case 1 : append( "&gt;" ); break;
-            case 2 : append( "&amp;" ); break;
-            case 3 : append( "&apos;" ); break;
-            case 4 : append( "&quot;" ); break;
-            }
-        }
-                
-        public void text ( )
-        {
-            for ( int i = r.nextInt( 20 ) ; i > 0 ; i-- )
-            {
-                int p = r.nextInt( 100 );
-
-                if (p < 70)
-                    letter();
-                else if (p < 74)
-                    charEntity();
-                else
-                    whitespace();
-            }
-        }
-
-        public String makeNcName ( )
-        {
-            StringBuffer name = new StringBuffer();
-            
-            for ( ; ; )
-            {
-                char ch = makeLetter();
-
-                if (ch == 'x' || ch == 'X')
-                    continue;
-
-                name.append( ch );
-
-                break;
-            }
-            
-            for ( int i = r.nextInt( 20 ) ; i > 0 ; i-- )
-                name.append( makeLetter() );
-
-            return name.toString();
-        }
-
-        public void ncName ( )
-        {
-            append( makeNcName() );
-        }
-
-        public void comment ( )
-        {
-            append( "<!--" );
-            text();
-            append( "-->" );
-        }
-        
-        public void procinst ( )
-        {
-            append( "<?" );
-            ncName();
-
-            if (r.nextInt( 100 ) < 90)
-            {
-                whitespace();
-                text();
-            }
-
-            append( "?>" );
-        }
-
-        public void whiteContent ( )
-        {
-            for ( ; ; )
-            {
-                int p = r.nextInt( 100 );
-
-                if (p < 20)
-                    break;
-                else if (p < 50)
-                    whitespaces();
-                else if (p < 70)
-                    comment();
-                else
-                    procinst();
-            }
-        }
-        
-        public void xmlDecl ( )
-        {
-            append( "<?xml version=\"1.0\"?>" );
-        }
-        
-        public void content ( int depth )
-        {
-            for ( int i = r.nextInt( 10 ) ; i > 0 ; i-- )
-            {
-                switch ( r.nextInt( 4 ) )
-                {
-                case 0 :
-                    elementContent( depth + 1 );
-                    break;
-                    
-                case 1 : text();           break;
-                case 2 : comment();        break;
-                case 3 : procinst();       break;
-                }
-            }
-        }
-        
-        public void attribute ( )
-        {
-            ncName();
-            
-            if (r.nextInt( 100 ) == 0)
-                whitespaces();
-
-            append( '=' );
-            
-            if (r.nextInt( 100 ) == 0)
-                whitespaces();
-
-            char q = r.nextInt( 2 ) == 0 ? '\'' : '"';
-
-            append( q );
-
-            text();
-            
-            append( q );
-        }
-        
-        public void elementContent ( int depth )
-        {
-            // If depth == 0, guarantee an element, otherwise, as depth
-            // increases, the probablility we'll spit out an element
-            // gets smaller.
-
-            if (r.nextInt( depth + 1 ) <= 1)
-            {
-                String name = makeNcName();
-
-                append( '<' );
-                append( name );
-
-                if (r.nextInt( 100 ) == 0)
-                    whitespaces();
-
-                HashMap attrs = new HashMap();
-                
-                for ( int i = r.nextInt( 3 ) ; i > 0 ; i-- )
-                {
-                    append( ' ' );
-                    
-                    String aname;
-
-                    for ( ; ; )
-                    {
-                        aname = makeNcName();
-                            
-                        if (!attrs.containsKey( aname ))
-                            break;
-                    }
-
-                    attrs.put( aname, null );
-
-                    append( aname );
-
-                    if (r.nextInt( 100 ) == 0)
-                        whitespaces();
-
-                    append( '=' );
-
-                    if (r.nextInt( 100 ) == 0)
-                        whitespaces();
-
-                    char q = r.nextInt( 2 ) == 0 ? '\'' : '"';
-
-                    append( q );
-
-                    text();
-
-                    append( q );
-                            
-                    if (r.nextInt( 10 ) == 0)
-                        whitespaces();
-                }
-
-                append( '>' );
-
-                content( depth );
-
-                append( "</" );
-                append( name );
-                
-                if (r.nextInt( 100 ) == 0)
-                    whitespaces();
-
-                append( '>' );
-            }
-        }
-        
-        public void document ( )
-        {
-            if (r.nextInt( 2 ) == 0)
-                xmlDecl();
-            
-            whiteContent();
-            
-            elementContent( 0 );
-            
-            whiteContent();
-        }
-    }
-    
-    public String makeRandomDocument ( Random r )
-    {
-        StringBuffer sb = new StringBuffer();
-
-        DocBuilder db = new DocBuilder( r, sb );
-
-        db.document();
-
-        return sb.toString();
-    }
-    
-    public void testThatAssertIsOn ( )
-    {
-        try
-        {
-            assert false;
-
-            Assert.assertTrue( false );
-        }
-        catch ( Throwable e )
-        {
-        }
-    }
-            
-    static class MyMark extends XmlBookmark
-    {
-    }
-
-    public void testBookmarks ( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( "<foo x='y'>abcdefg<!---->xy</foo>" );
-        
-        XmlCursor c = x.newCursor();
-        MyMark m1 = new MyMark(); c.setBookmark( m1 );
-        
-        c.toNextToken();
-        MyMark m2 = new MyMark(); c.setBookmark( m2 );
-        
-        c.toNextToken();
-        MyMark m3 = new MyMark(); c.setBookmark( m3 );
-        
-        c.toNextToken();
-        MyMark m4 = new MyMark(); c.setBookmark( m4 );
-        
-        c.toNextChar( 1 );
-        MyMark m5 = new MyMark(); c.setBookmark( m5 );
-        
-        c.toNextChar( 3 );
-        MyMark m6 = new MyMark(); c.setBookmark( m6 );
-
-        c.toNextToken();
-        c.toNextToken();
-        c.toNextToken();
-        MyMark m7 = new MyMark(); c.setBookmark( m7 );
-        
-        c.toNextToken();
-        MyMark m8 = new MyMark(); c.setBookmark( m8 );
-
-        c.toStartDoc();
-
-        Assert.assertTrue( c.getBookmark   ( MyMark.class ) == m1 );
-        Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m2 );
-        Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m3 );
-        Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m4 );
-        Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m5 );
-        Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m6 );
-        Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m7 );
-        Assert.assertTrue( c.toNextBookmark( MyMark.class ) == m8 );
-        Assert.assertTrue( c.toNextBookmark( MyMark.class ) == null );
-        
-        c.toEndDoc();
-        
-        Assert.assertTrue( c.getBookmark   ( MyMark.class ) == m8 );
-        Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m7 );
-        Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m6 );
-        Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m5 );
-        Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m4 );
-        Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m3 );
-        Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m2 );
-        Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == m1 );
-        Assert.assertTrue( c.toPrevBookmark( MyMark.class ) == null );
-    }
-    
-    public void testSetName( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( "<foo x='a'/>" );
-        XmlCursor c = x.newCursor();
-        c.toNextToken();
-        c.setName( new QName( "bar" ) );
-        c.toNextToken();
-        c.setName( new QName( "y" ) );
-
-        Assert.assertTrue( x.xmlText().equals( "<bar y=\"a\"/>" ) );
-    }
-    
-    //
-    // Basic load up a file and iterate through it
-    //
-
-   
-    public void testBasicXml( )
-        throws Exception
-    {
-        XmlCursor c = loadCase("test.xml");
-
-        int n = 0;
-        
-        for ( ; ; )
-        {
-            TokenType t = c.toNextToken();
-
-            n++;
-            
-            if (t == TokenType.NONE)
-                break;
-        }
-        
-        Assert.assertTrue( n == 6 );
-    }
-
-    //
-    // Make sure the tokens going forward the the reverse of the tokens
-    // going backward
-    //
-
-    public void testConsistentTokenOrder( )
-        throws Exception
-    {
-        ArrayList l = new ArrayList();
-
-        XmlCursor c = loadCase("test.xml");
-
-        for ( ; ; )
-        {
-            // System.err.println(c.currentTokenType());
-            l.add(c.currentTokenType());
-
-            if (c.toNextToken() == TokenType.NONE)
-                break;
-        }
-
-        c.toEndDoc();
-        // System.err.println("Reversing");
-
-        for ( int i = l.size() - 1 ; ; i-- )
-        {
-            // System.err.println(c.currentTokenType());
-            Assert.assertEquals(l.get(i), c.currentTokenType());
-
-            if (c.toPrevToken() == TokenType.NONE)
-                break;
-        }
-    }
-
-    //
-    // Make sure you can't insert text before the doc begin
-    // going backward
-    //
-
-    public void testIllegalTextInsert( )
-        throws Exception
-    {
-        XmlCursor c = loadCase("test.xml");
-
-        try
-        {
-            c.insertChars( "Ho ho ho" );
-        }
-        catch (IllegalStateException e)
-        {
-            return;
-        }
-
-        Assert.assertTrue("Did not catch IllegalStateException", false);
-    }
-
-    //
-    // Make sure getText works in a basic way
-    //
-
-    public void testgetText( )
-        throws Exception
-    {
-        XmlCursor c = loadCase("test.xml");
-
-        Assert.assertTrue( c.getTextValue().equals( "ab" ) ); // Doc node
-
-        c.toNextToken();
-        Assert.assertTrue( c.getTextValue().equals( "ab" ) ); // Doc elem
-
-        c.toNextToken();
-        Assert.assertTrue( c.getTextValue().equals( "y" ) ); // Attr x
-
-        c.toNextToken();
-        Assert.assertTrue( c.getChars().equals( "ab" ) ); // Text
-
-        c.toNextChar( 1 );
-        Assert.assertTrue( c.getChars().equals( "b" ) ); // Text
-
-        c.toNextToken();
-        Assert.assertTrue( c.getChars().length() == 0 );       // End tag
-
-        c.toNextToken();
-        Assert.assertTrue( c.getChars().length() == 0 );       // End doc
-    }
-
-    //
-    // Text XMLInputStream support
-    //
-
-    private void assertName (
-        XMLName name, String uri, String local, String prefix )
-    {
-        Assert.assertTrue( local != null );
-        
-        String nameUri = name.getNamespaceUri();
-        String nameLocal = name.getLocalName();
-        String namePrefix = name.getPrefix();
-
-        if (uri == null)
-            Assert.assertTrue( nameUri == null );
-        else
-            Assert.assertTrue( nameUri.equals( uri ) );
-        
-        if (local == null)
-            Assert.assertTrue( nameLocal == null );
-        else
-            Assert.assertTrue( nameLocal.equals( local ) );
-        
-        if (prefix == null)
-            Assert.assertTrue( namePrefix == null );
-        else
-            Assert.assertTrue( namePrefix.equals( prefix ) );
-
-        if (prefix != null)
-        {
-            String qName = prefix + ":" + local;
-            Assert.assertTrue( name.getQualifiedName().equals( qName ) );
-        }
-        else
-            Assert.assertTrue( name.getQualifiedName().equals( local ) );
-    }
-
-    private void doXmlStreamTest ( String xml )
-        throws Exception
-    {
-        XmlCursor c = XmlObject.Factory.parse( xml ).newCursor();
-        XMLInputStream xmlStream = c.newXMLInputStream();
-        XmlObject o = XmlObject.Factory.parse( xmlStream );
-        Assert.assertTrue( o.xmlText().equals( xml ) );
-    }
-
-    private void doSaverTest ( String xml )
-        throws Exception
-    {
-        XmlCursor c = XmlObject.Factory.parse( xml ).newCursor();
-        Assert.assertTrue( c.xmlText().equals( xml ) );
-    }
-    
-    private void doSaveTest ( String xml )
-        throws Exception
-    {
-        doXmlStreamTest( xml );
-        doSaverTest( xml );
-    }
-
-    public void testSaving ( )
-        throws Exception
-    {
-        doSaveTest( "<foo xmlns=\"foo.com\"><bar>1</bar></foo>" );
-        doSaveTest( "<foo><!--comment--><?target foo?></foo>" );
-        doSaveTest( "<foo>a<bar>b</bar>c<bar>d</bar>e</foo>" );
-        doSaveTest( "<foo xmlns:x=\"y\"><bar xmlns:x=\"z\"/></foo>" );
-        doSaveTest( "<foo x=\"y\" p=\"r\"/>" );
-
-        String s = "<foo>aaa</foo>bbb";
-        s = s + s + s + s + s + s + s + s + s + s + s + s + s + s + s;
-        s = "<bar>xxxx" + s + "</bar>";
-        
-        doSaveTest( s );
-
-        XmlObject x =
-            XmlObject.Factory.parse( "<foo xmlns:a='a.com'><bar xmlns:a='b.com'/></foo>" );
-
-        XmlCursor c = x.newCursor();
-
-        c.toFirstChild();
-        c.toFirstChild();
-
-        Assert.assertTrue( c.xmlText().equals( "<bar xmlns:a=\"b.com\"/>" ) );
-        
-        x = XmlObject.Factory.parse( "<foo xmlns:a='a.com'><bar/></foo>" );
-
-        c = x.newCursor();
-
-        c.toFirstChild();
-        c.toFirstChild();
-
-        Assert.assertTrue( c.xmlText().equals( "<bar xmlns:a=\"a.com\"/>" ) );
-    }
-
-    public void testXMLStream ( )
-        throws Exception
-    {
-        XmlObject o =
-            XmlObject.Factory.parse(
-                "<foo x=\"y\" xmlns=\"default.com\">" +
-                    "<!-- x -->bar</foo>" );
-        
-        XmlCursor c = o.newCursor();
-        
-        c.toNextToken();
-        c.toNextToken();
-        c.toNextToken();
-        c.toNextToken();
-        
-        c.insertElement( "bar", "bar.com" );
-        
-        c.toStartDoc();
-
-        XMLInputStream xis = c.newXMLInputStream();
-
-        XMLEvent xev;
-        StartDocument startDocument;
-        EndDocument endDocument;
-        StartElement startElement;
-        AttributeIterator attributeIterator;
-        StartPrefixMapping startPrefixMapping;
-        EndPrefixMapping endPrefixMapping;
-        ChangePrefixMapping cpm;
-        EndElement endElement;
-        Attribute attribute;
-        Comment comment;
-        CharacterData characterData;
-        XMLName name;
-        String str;
-        Map map;
-        
-        xev = startDocument = (StartDocument) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.START_DOCUMENT );
-        Assert.assertTrue( !xev.hasName() );
-        Assert.assertTrue( startDocument.isStartDocument() );
-        
-        xev = startPrefixMapping = (StartPrefixMapping) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.START_PREFIX_MAPPING );
-        Assert.assertTrue( !xev.hasName() );
-        Assert.assertTrue( xev.isStartPrefixMapping() );
-        str = startPrefixMapping.getNamespaceUri();
-        Assert.assertTrue( str.equals( "default.com" ) );
-        Assert.assertTrue( startPrefixMapping.getPrefix().length() == 0 );
-        
-        xev = startElement = (StartElement) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.START_ELEMENT );
-        Assert.assertTrue( xev.hasName() );
-        Assert.assertTrue( xev.isStartElement() );
-        assertName( startElement.getName(), "default.com", "foo", null );
-        attributeIterator = startElement.getAttributes();
-        attribute = attributeIterator.next();
-        assertName( attribute.getName(), null, "x", null );
-        Assert.assertTrue( attribute.getValue().equals( "y" ) );
-        Assert.assertTrue( attributeIterator.next() == null );
-        attributeIterator = startElement.getNamespaces();
-        attribute = attributeIterator.next();
-        assertName( attribute.getName(), null, "xmlns", null );
-        Assert.assertTrue( attribute.getValue().equals( "default.com" ) );
-        Assert.assertTrue( attributeIterator.next() == null );
-        attributeIterator = startElement.getAttributesAndNamespaces();
-        Assert.assertTrue( attributeIterator.next() != null );
-        Assert.assertTrue( attributeIterator.next() != null );
-        Assert.assertTrue( attributeIterator.next() == null );
-        name = new XmlNameImpl( null, "x", null );
-        attribute = startElement.getAttributeByName( name );
-        Assert.assertTrue( attribute != null );
-        Assert.assertTrue( attribute.getValue().equals( "y" ) );
-        name = new XmlNameImpl( null, "xmlns", null );
-        attribute = startElement.getAttributeByName( name );
-        Assert.assertTrue( attribute == null );
-        str = startElement.getNamespaceUri( null );
-        Assert.assertTrue( str.equals( "default.com" ) );
-
-        xev = startPrefixMapping = (StartPrefixMapping) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.START_PREFIX_MAPPING );
-        Assert.assertTrue( !xev.hasName() );
-        Assert.assertTrue( xev.isStartPrefixMapping() );
-        str = startPrefixMapping.getNamespaceUri();
-        Assert.assertTrue( str.equals( "bar.com" ) );
-        Assert.assertTrue( startPrefixMapping.getPrefix().equals( "bar" ) );
-        
-        xev = startElement = (StartElement) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.START_ELEMENT );
-        Assert.assertTrue( xev.hasName() );
-        Assert.assertTrue( xev.isStartElement() );
-        assertName( startElement.getName(), "bar.com", "bar", "bar" );
-        attributeIterator = startElement.getAttributes();
-        Assert.assertTrue( attributeIterator.next() == null );
-        attributeIterator = startElement.getNamespaces();
-        attribute = attributeIterator.next();
-        assertName( attribute.getName(), null, "bar", "xmlns" );
-        Assert.assertTrue( attribute.getValue().equals( "bar.com" ) );
-        Assert.assertTrue( attributeIterator.next() == null );
-        attributeIterator = startElement.getAttributesAndNamespaces();
-        Assert.assertTrue( attributeIterator.next() != null );
-        Assert.assertTrue( attributeIterator.next() == null );
-        str = startElement.getNamespaceUri( "bar" );
-        Assert.assertTrue( str.equals( "bar.com" ) );
-        map = startElement.getNamespaceMap();
-        Assert.assertTrue( map.get( "bar" ).equals( "bar.com" ) );
-        
-        xev = endElement = (EndElement) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.END_ELEMENT );
-        Assert.assertTrue( xev.hasName() );
-        Assert.assertTrue( xev.isEndElement() );
-        assertName( endElement.getName(), "bar.com", "bar", "bar" );
-
-        xev = endPrefixMapping = (EndPrefixMapping) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.END_PREFIX_MAPPING );
-        Assert.assertTrue( !xev.hasName() );
-        Assert.assertTrue( xev.isEndPrefixMapping() );
-        Assert.assertTrue( endPrefixMapping.getPrefix().equals( "bar" ) );
-
-        xev = comment = (Comment) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.COMMENT );
-        Assert.assertTrue( !xev.hasName() );
-        Assert.assertTrue( comment.hasContent() );
-        Assert.assertTrue( comment.getContent().equals( " x " ) );
-        
-        xev = characterData = (CharacterData) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.CHARACTER_DATA );
-        Assert.assertTrue( !xev.hasName() );
-        Assert.assertTrue( xev.isCharacterData() );
-        Assert.assertTrue( characterData.hasContent() );
-        Assert.assertTrue( characterData.getContent().equals( "bar" ) );
-
-        xev = endElement = (EndElement) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.END_ELEMENT );
-        Assert.assertTrue( xev.hasName() );
-        Assert.assertTrue( xev.isEndElement() );
-        assertName( endElement.getName(), "default.com", "foo", null );
-
-        xev = cpm = (ChangePrefixMapping) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.CHANGE_PREFIX_MAPPING );
-        Assert.assertTrue( !xev.hasName() );
-        Assert.assertTrue( xev.isChangePrefixMapping() );
-        Assert.assertTrue( cpm.getPrefix().length() == 0 );
-        Assert.assertTrue( cpm.getOldNamespaceUri().equals( "default.com" ) );
-        Assert.assertTrue( cpm.getNewNamespaceUri().equals( "" ) );
-
-        xev = endDocument = (EndDocument) xis.next();
-        Assert.assertTrue( xev.getType() == XMLEvent.END_DOCUMENT );
-        Assert.assertTrue( !xev.hasName() );
-        Assert.assertTrue( xev.isEndDocument() );
-        
-        xev = xis.next();
-        Assert.assertTrue( xev == null );
-
-        //
-        // Test ChangePrefixMapping event
-        //
-
-        o = XmlObject.Factory.parse( "<foo xmlns:x=\"y\"><bar xmlns:x=\"z\"/></foo>" );
-        c = o.newCursor();
-        xis = c.newXMLInputStream();
-        
-        startDocument = (StartDocument) xis.next();
-        
-        startPrefixMapping = (StartPrefixMapping) xis.next();
-        str = startPrefixMapping.getNamespaceUri();
-        Assert.assertTrue( str.equals( "y" ) );
-        Assert.assertTrue( startPrefixMapping.getPrefix().equals( "x" ) );
-        
-        startElement = (StartElement) xis.next();
-
-        startPrefixMapping = (StartPrefixMapping) xis.next();
-        str = startPrefixMapping.getNamespaceUri();
-        Assert.assertTrue( str.equals( "z" ) );
-        Assert.assertTrue( startPrefixMapping.getPrefix().equals( "x" ) );
-        
-        startElement = (StartElement) xis.next();
-        
-        endElement = (EndElement) xis.next();
-
-        cpm = (ChangePrefixMapping) xis.next();
-        str = cpm.getOldNamespaceUri();
-        Assert.assertTrue( str.equals( "z" ) );
-        str = cpm.getNewNamespaceUri();
-        Assert.assertTrue( str.equals( "y" ) );
-        str = cpm.getPrefix();
-        Assert.assertTrue( str.equals( "x" ) );
-
-        endElement = (EndElement) xis.next();
-        
-        endPrefixMapping = (EndPrefixMapping) xis.next();
-        Assert.assertTrue( endPrefixMapping.getPrefix().equals( "x" ) );
-
-        endDocument = (EndDocument) xis.next();
-        
-        xev = xis.next();
-        Assert.assertTrue( xev == null );
-
-        //
-        // Test CharacterData events
-        //
-
-        o = XmlObject.Factory.parse( "<foo>a<bar>b<baz>c</baz>d</bar>e</foo>" );
-        c = o.newCursor();
-        xis = c.newXMLInputStream();
-        
-        startDocument = (StartDocument) xis.next();
-
-        startElement = (StartElement) xis.next();
-
-        characterData = (CharacterData) xis.next();
-        Assert.assertTrue( characterData.hasContent() );
-        Assert.assertTrue( characterData.getContent().equals( "a" ) );
-
-        startElement = (StartElement) xis.next();
-        
-        characterData = (CharacterData) xis.next();
-        Assert.assertTrue( characterData.hasContent() );
-        Assert.assertTrue( characterData.getContent().equals( "b" ) );
-
-        startElement = (StartElement) xis.next();
-        
-        characterData = (CharacterData) xis.next();
-        Assert.assertTrue( characterData.hasContent() );
-        Assert.assertTrue( characterData.getContent().equals( "c" ) );
-
-        endElement = (EndElement) xis.next();
-        
-        characterData = (CharacterData) xis.next();
-        Assert.assertTrue( characterData.hasContent() );
-        Assert.assertTrue( characterData.getContent().equals( "d" ) );
-
-        endElement = (EndElement) xis.next();
-
-        characterData = (CharacterData) xis.next();
-        Assert.assertTrue( characterData.hasContent() );
-        Assert.assertTrue( characterData.getContent().equals( "e" ) );
-
-        endElement = (EndElement) xis.next();
-        
-        endDocument = (EndDocument) xis.next();
-        
-        xev = xis.next();
-        Assert.assertTrue( xev == null );
-
-        //
-        // Test SubStreams
-        //
-
-        o = XmlObject.Factory.parse( "<foo>a<bar>b<baz>c</baz>d</bar>e</foo>" );
-        c = o.newCursor();
-        xis = c.newXMLInputStream();
-        
-        startDocument = (StartDocument) xis.next();
-
-        startElement = (StartElement) xis.next();
-
-        characterData = (CharacterData) xis.next();
-        Assert.assertTrue( characterData.hasContent() );
-        Assert.assertTrue( characterData.getContent().equals( "a" ) );
-
-        startElement = (StartElement) xis.next();
-        
-        characterData = (CharacterData) xis.next();
-        Assert.assertTrue( characterData.hasContent() );
-        Assert.assertTrue( characterData.getContent().equals( "b" ) );
-
-            XMLInputStream xis2 = xis.getSubStream();
-
-        startElement = (StartElement) xis.next();
-        
-        characterData = (CharacterData) xis.next();
-        Assert.assertTrue( characterData.hasContent() );
-        Assert.assertTrue( characterData.getContent().equals( "c" ) );
-
-        endElement = (EndElement) xis.next();
-        
-        characterData = (CharacterData) xis.next();
-        Assert.assertTrue( characterData.hasContent() );
-        Assert.assertTrue( characterData.getContent().equals( "d" ) );
-
-            startElement = (StartElement) xis2.next();
-
-            characterData = (CharacterData) xis2.next();
-            Assert.assertTrue( characterData.hasContent() );
-            Assert.assertTrue( characterData.getContent().equals( "c" ) );
-
-            endElement = (EndElement) xis2.next();
-            
-            xev = xis2.next();
-            Assert.assertTrue( xev == null );
-            
-        endElement = (EndElement) xis.next();
-
-        characterData = (CharacterData) xis.next();
-        Assert.assertTrue( characterData.hasContent() );
-        Assert.assertTrue( characterData.getContent().equals( "e" ) );
-
-        endElement = (EndElement) xis.next();
-        
-        endDocument = (EndDocument) xis.next();
-        
-        xev = xis.next();
-        Assert.assertTrue( xev == null );
-    }
-    
-    private XmlCursor navDoc ( XmlObject x, String dirs )
-    {
-        return navCursor( x.newCursor(), dirs );
-    }
-    
-    private XmlCursor navNewCursor ( XmlCursor c, String dirs )
-    {
-        return navCursor( c.newCursor(), dirs );
-    }
-
-    //
-    // Format:
-    //
-    //    ( [-][N] type ) *
-    //
-    //    type:
-    //
-    //      c - character
-    //      t - token
-    //      p - parent element
-    //      s - sibling element
-    //      d - descendent (child) element
-    //      r - end of the doc (root)
-    //      b - begin of the doc
-    //
-    
-    private XmlCursor navCursor ( XmlCursor c, String dirs )
-    {
-        int n = 0;
-        boolean prev = false;
-        
-        for ( int i = 0 ; i < dirs.length() ; i++ )
-        {
-            char ch = dirs.charAt( i );
-
-            if (ch == '-')
-            {
-                prev = ! prev;
-                continue;
-            }
-            else if (ch >= '0' && ch <= '9')
-            {
-                n = n * 10 + (ch - '0');
-                continue;
-            }
-
-            if (n == 0)
-                n = 1;
-            
-            if (ch == 'c')
-            {
-                if (prev)
-                    Assert.assertTrue( c.toPrevChar( n ) == n );
-                else
-                    Assert.assertTrue( c.toNextChar( n ) == n );
-            }
-            else if (ch == 't')
-            {
-                while ( n-- > 0 )
-                {
-                    if (prev)
-                        Assert.assertTrue( c.toPrevToken() != TokenType.NONE );
-                    else
-                        Assert.assertTrue( c.toNextToken() != TokenType.NONE );
-                }
-            }
-            else if (ch == 'p')
-            {
-                Assert.assertTrue( ! prev );
-                
-                while ( n-- > 0 )
-                    Assert.assertTrue( c.toParent() );
-            }
-            else if (ch == 'r')
-            {
-                Assert.assertTrue( ! prev );
-                Assert.assertTrue( n == 1 );
-                
-                c.toEndDoc();
-            }
-            else if (ch == 'b')
-            {
-                Assert.assertTrue( ! prev );
-                Assert.assertTrue( n == 1 );
-                
-                c.toStartDoc();
-            }
-            else if (ch == 's')
-            {
-                while ( n-- > 0 )
-                {
-                    if (prev)
-                        Assert.assertTrue( c.toPrevSibling() );
-                    else
-                        Assert.assertTrue( c.toNextSibling() );
-                }
-            }
-            else if (ch == 'd')
-            {
-                Assert.assertTrue( ! prev );
-                
-                while ( n-- > 0 )
-                    Assert.assertTrue( c.toFirstChild() );
-            }
-            else
-            {
-                Assert.assertTrue( false );
-            }
-            
-            n = 0;
-            prev = false;
-        }
-
-        return c;
-    }
-    
-    public void testOps ( )
-        throws Exception
-    {
-        XmlObject x, x2, y;
-        XmlCursor cFrom, cTo, cTemp, cTemp2, c, d;
-        XmlBookmark anno;
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
-        cFrom = navDoc( x, "d" );
-        cTo = navNewCursor( cFrom, "" );
-        Assert.assertTrue( !cFrom.moveXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        XmlOptions options = new XmlOptions();
-        
-        options.put(
-            XmlOptions.SAVE_SYNTHETIC_DOCUMENT_ELEMENT,
-            new QName( null, "bar" ) );
-
-        Assert.assertTrue(
-            x.xmlText( options ).equals( "<bar>[FROM][TO]<foo>abcdef</foo></bar>" ) ||
-                x.xmlText( options ).equals( "<bar>[TO][FROM]<foo>abcdef</foo></bar>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
-        
-        cFrom = navDoc( x, "d" );
-        cTo = navNewCursor( cFrom, "ttt" );
-        Assert.assertTrue( !cFrom.moveXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText( options ).equals( "<bar>[FROM]<foo>abcdef</foo>[TO]</bar>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
-        
-        cFrom = navDoc( x, "d" );
-        cTo = navNewCursor( cFrom, "t3c" );
-        Assert.assertTrue( !cFrom.moveXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText( options ).equals( "<bar>[FROM]<foo>abc[TO]def</foo></bar>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<r><a>xyz</a><b>pqr</b></r>" );
-        
-        cFrom = navDoc( x, "dd" );
-        cTo = navNewCursor( cFrom, "r-1t" );
-        Assert.assertTrue( cFrom.moveXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals( "<r>[FROM]<b>pqr</b><a>xyz</a>[TO]</r>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<r><a>xyz</a><b>pqr</b>AB</r>" );
-        
-        cFrom = navDoc( x, "dd" );
-        cTo = navNewCursor( cFrom, "r-1t-1c" );
-        Assert.assertTrue( cFrom.moveXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals( "<r>[FROM]<b>pqr</b>A<a>xyz</a>[TO]B</r>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<r><a>xyz</a><b>pqr</b>AB</r>" );
-        
-        cFrom = navDoc( x, "dd" );
-        cTo = navNewCursor( cFrom, "stc" );
-        Assert.assertTrue( cFrom.moveXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals( "<r>[FROM]<b>p<a>xyz</a>[TO]qr</b>AB</r>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<r><a>xyz</a><b>pqr</b>AB</r>" );
-        
-        cFrom = navDoc( x, "dd" );
-        cTo = navDoc( x, "d" );
-        Assert.assertTrue( cFrom.moveXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        testTextFrag( x.xmlText(), "<a>xyz</a>[TO]<r>[FROM]<b>pqr</b>AB</r>" );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<r><a>xyz</a><b>pqr</b>AB</r>" );
-        
-        cFrom = navDoc( x, "dd" );
-        cTo = navDoc( x, "r" );
-        Assert.assertTrue( cFrom.moveXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText( options ).equals( "<bar><r>[FROM]<b>pqr</b>AB</r><a>xyz</a>[TO]</bar>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<r><a>xyz</a></r>" );
-        x2 = XmlObject.Factory.parse( "<s></s>" );
-        
-        cFrom = navDoc( x, "dd" );
-        cTo = navDoc( x2, "dt" );
-        Assert.assertTrue( cFrom.moveXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(  x.xmlText().equals( "<r>[FROM]</r>" ) );
-        Assert.assertTrue( x2.xmlText().equals( "<s><a>xyz</a>[TO]</s>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<r><a>pq</a><b></b></r>" );
-        
-        cFrom = navDoc( x, "dd" );
-        cTo = navDoc( x, "ddst" );
-        cTemp = navDoc( x, "ddt1c" );
-        Assert.assertTrue( cFrom.moveXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-        cTemp.insertChars( "[TEMP]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals( "<r>[FROM][TEMP]<b><a>pq</a>[TO]</b></r>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
-        
-        cFrom = navDoc( x, "2t2c" );
-        cTo = navNewCursor( cFrom, "-1c" );
-        cFrom.moveChars( 2, cTo );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals( "<foo>acd[TO]b[FROM]ef</foo>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
-        
-        cFrom = navDoc( x, "2t2c" );
-        cTo = navNewCursor( cFrom, "3c" );
-        cFrom.moveChars( 2, cTo );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals( "<foo>ab[FROM]ecd[TO]f</foo>" ) );
-    
-        //
-        
-        x = XmlObject.Factory.parse( "<bar><foo>abcdef</foo><foo>123456</foo></bar>" );
-        
-        cFrom = navDoc( x, "3t2c" );
-        cTo = navNewCursor( cFrom, "3t3c" );
-        cFrom.moveChars( 2, cTo );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals(
-                "<bar><foo>ab[FROM]ef</foo><foo>123cd[TO]456</foo></bar>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<bar><foo>abcdef</foo><foo>123456</foo></bar>" );
-        
-        cFrom = navDoc( x, "2d" );
-        cTo = navDoc( x, "2dst2c" );
-        Assert.assertTrue( cFrom.copyXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals(
-                "<bar>[FROM]<foo>abcdef</foo><foo>12" +
-                        "<foo>abcdef</foo>[TO]3456</foo></bar>" ) );
-
-        //
-        
-        x = XmlObject.Factory.parse( "<r><a>xyz</a></r>" );
-        x2 = XmlObject.Factory.parse( "<s></s>" );
-        
-        cFrom = navDoc( x, "dd" );
-        cTo = navDoc( x2, "dt" );
-        Assert.assertTrue( cFrom.copyXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(  x.xmlText().equals( "<r>[FROM]<a>xyz</a></r>" ) );
-        Assert.assertTrue( x2.xmlText().equals( "<s><a>xyz</a>[TO]</s>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse(
-            "<bar><foo>abcdef</foo>blah<foo>123456</foo></bar>" );
-        
-        cFrom = navDoc( x, "2d" );
-        cTo = navDoc( x, "2dst2c" );
-        Assert.assertTrue( cFrom.copyXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals(
-                "<bar>[FROM]<foo>abcdef</foo>blah<foo>12" +
-                        "<foo>abcdef</foo>[TO]3456</foo></bar>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse(
-            "<bar><foo x='y'>abcdef</foo><foo>123456</foo>7890</bar>" );
-        
-        cFrom = navDoc( x, "2dt" );
-        cTo = navDoc( x, "2dst" );
-        cTemp = navDoc( x, "2dst3c" );
-        cTemp2 = navDoc( x, "2ds3t2c" );
-        Assert.assertTrue( cFrom.copyXml( cTo ) );
-        cTemp.insertChars( "[TEMP]" );
-        cTemp2.insertChars( "[TEMP2]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals(
-                "<bar><foo x=\"y\">abcdef</foo>" +
-                    "<foo x=\"y\">123[TEMP]456</foo>78[TEMP2]90</bar>" ) );
-
-        //
-        
-        x = XmlObject.Factory.parse(
-            "<bar>xy<foo x='y'>abcdef</foo>pqr<foo>123456</foo></bar>" );
-        
-        cFrom = navDoc( x, "2d" );
-        cTo = navDoc( x, "2ds-2c" );
-        
-        Assert.assertTrue( cFrom.removeXml() );
-
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals(
-                "<bar>xy[FROM]p[TO]qr<foo>123456</foo></bar>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse(
-            "<bar>xy<foo x='y'>abcdef</foo>pqr<foo>123456</foo></bar>" );
-        
-        cFrom = navDoc( x, "2d2t2c" );
-        cTo = navDoc( x, "2d2t5c" );
-        
-        cFrom.removeChars( 2 );
-
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue(
-            x.xmlText().equals(
-                "<bar>xy<foo x=\"y\">ab[FROM]e[TO]f" +
-                    "</foo>pqr<foo>123456</foo></bar>" ) );
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<bar><!---->abc</bar>" );
-        
-        cFrom = navDoc( x, "tt" );
-        cTo = navDoc( x, "tttc" );
-        
-        Assert.assertTrue( cFrom.removeXml() );
-
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-
-        Assert.assertTrue( x.xmlText().equals( "<bar>[FROM]a[TO]bc</bar>" ) );
-
-        //
-        
-        x = XmlObject.Factory.newInstance();
-
-        cTo = navDoc( x, "t" );
-        cTo.insertElement( "boo" );
-        cTo.toPrevToken();
-        cTo.insertElement( "moo" );
-        cTo.toPrevToken();
-        cTo.insertElement( "goo" );
-
-        Assert.assertTrue( x.xmlText().equals(
-            "<boo><moo><goo/></moo></boo>" ) );
-
-        //
-        
-        x = XmlObject.Factory.newInstance();
-
-        cTo = navDoc( x, "t" );
-        cTo.insertElement( "boo" );
-        cTo.toPrevToken();
-        cTo.insertElement( "moo" );
-        cTo.toPrevToken();
-        cTo.insertAttributeWithValue( "x", "y" );
-
-        Assert.assertTrue( x.xmlText().equals(
-            "<boo><moo x=\"y\"/></boo>" ) );
-                                              
-        //
-        
-        x = XmlObject.Factory.parse( "<bar x='y'>abc</bar>" );
-        cTo = navDoc( x, "tt" );
-        cTo.insertAttributeWithValue( "p", "q" );
-        
-        Assert.assertTrue( x.xmlText().equals(
-            "<bar p=\"q\" x=\"y\">abc</bar>" ) );
-
-        // Text XmlBookmark
-
-        x = XmlObject.Factory.parse( "<r><foo>abc</foo><bar></bar></r>" );
-        cFrom = navDoc( x, "tt" );
-        anno = new Anno();
-        cFrom.setBookmark( anno );
-        cTo = navDoc( x, "6t" );
-        Assert.assertTrue( cFrom.moveXml( cTo ) );
-        cFrom.insertChars( "[FROM]" );
-        cTo.insertChars( "[TO]" );
-        anno.createCursor().insertChars( "[ANNO]" );
-        
-        Assert.assertTrue( x.xmlText().equals(
-            "<r>[FROM]<bar>[ANNO]<foo>abc</foo>[TO]</bar></r>" ) );
-
-        // Test content ops
-
-        x = XmlObject.Factory.parse( "<foo x='y'>abc</foo>" );
-        y = XmlObject.Factory.newInstance();
-        d = y.newCursor();
-        d.toNextToken();
-        x.newCursor().moveXmlContents( d );
-        Assert.assertTrue( y.xmlText().equals( "<foo x=\"y\">abc</foo>" ) );
-        
-        x = XmlObject.Factory.parse( "<bar><foo x='y'>abc</foo></bar>" );
-        y = XmlObject.Factory.newInstance();
-        c = x.newCursor();
-        c.toNextToken();
-        d = y.newCursor();
-        d.toNextToken();
-        c.moveXmlContents( d );
-        Assert.assertTrue( y.xmlText().equals( "<foo x=\"y\">abc</foo>" ) );
-
-        x = XmlObject.Factory.parse( "<bar><foo x='y'>abc</foo></bar>" );
-        c = x.newCursor();
-        c.toNextToken();
-        c.removeXmlContents();
-        Assert.assertTrue( x.xmlText().equals( "<bar/>" ) );
-
-        x = XmlObject.Factory.parse( "<foo x='y'>abc</foo>" );
-        y = XmlObject.Factory.newInstance();
-        d = y.newCursor();
-        d.toNextToken();
-        x.newCursor().copyXmlContents( d );
-        Assert.assertTrue( y.xmlText().equals( "<foo x=\"y\">abc</foo>" ) );
-    }        
-
-    public static class Anno extends XmlBookmark
-    {
-    }
-    
-    public void testSave ( )
-        throws Exception
-    {
-        XmlObject x;
-        XmlCursor cTo;
-        
-        //
-        
-        x = XmlObject.Factory.parse( "<foo>abcdef</foo>" );
-        
-        Assert.assertTrue( x.xmlText().equals( "<foo>abcdef</foo>" ) );
-
-        //
-        
-        x = XmlObject.Factory.parse( "<foo>a&lt;b&amp;c</foo>" );
-        
-        Assert.assertTrue( x.xmlText().equals( "<foo>a&lt;b&amp;c</foo>" ) );
-
-        //
-        
-        x = XmlObject.Factory.parse( "<foo></foo>" );
-        
-        cTo = navDoc( x, "dt" );
-        cTo.insertChars( "&<" );
-        
-        Assert.assertTrue( x.xmlText().equals( "<foo>&amp;&lt;</foo>" ) );
-
-        //
-        
-        x = XmlObject.Factory.parse( "<foo><boo>bar</boo></foo>" );
-        
-        cTo = navDoc( x, "dt" );
-        
-        Assert.assertTrue( cTo.xmlText().equals( "<boo>bar</boo>" ) );
-
-        //
-        
-        x = XmlObject.Factory.parse( "<foo><boo x=\"y\">bar</boo></foo>" );
-        
-        cTo = navDoc( x, "dt" );
-        
-        Assert.assertTrue( cTo.xmlText().equals( "<boo x=\"y\">bar</boo>" ) );
-
-        // Tests fragment saving and loading
-        
-        x = XmlObject.Factory.parse( "<foo>Eric</foo>" );
-        
-        cTo = navDoc( x, "dt" );
-
-        x = XmlObject.Factory.parse( cTo.xmlText() );
-        
-        cTo = navDoc( x, "" );
-        
-        Assert.assertTrue( cTo.getTextValue().equals( "Eric" ) );
-
-        // test save where I replace the name of an element
-        
-        x = XmlObject.Factory.parse( "<foo>Eric</foo>" );
-        
-        cTo = navDoc( x, "d" );
-
-        XmlOptions options = new XmlOptions();
-        
-        options.put(
-            XmlOptions.SAVE_SYNTHETIC_DOCUMENT_ELEMENT,
-            new QName( null, "bar" ) );
-        
-        x = XmlObject.Factory.parse( cTo.xmlText( options ) );
-        
-        cTo = navDoc( x, "" );
-        
-        Assert.assertTrue( cTo.xmlText().equals( "<bar>Eric</bar>" ) );
-
-        // test save where I replace the name of the document
-        
-        x = XmlObject.Factory.parse( "<foo>Eric</foo>" );
-        
-        cTo = navDoc( x, "" );
-
-        options = new XmlOptions();
-        
-        options.put(
-            XmlOptions.SAVE_SYNTHETIC_DOCUMENT_ELEMENT,
-            new QName( null, "bar" ) );
-        
-        x = XmlObject.Factory.parse( cTo.xmlText( options ) );
-        
-        cTo = navDoc( x, "" );
-        
-        Assert.assertTrue(
-            cTo.xmlText().equals( "<bar><foo>Eric</foo></bar>" ) );
-
-        //
-        //
-        //
-        
-        x = XmlObject.Factory.parse( "<a xmlns='foo'/>" );
-
-        XmlCursor c = x.newCursor();
-
-        c.toFirstContentToken();
-        c.toFirstContentToken();
-
-        c.insertElement( "b" );
-        c.toPrevSibling();
-        Assert.assertTrue( c.getName().getLocalPart().equals( "b" ) );
-        Assert.assertTrue( c.getName().getNamespaceURI().length() == 0 );
-        
-        x = XmlObject.Factory.parse( x.xmlText() );
-        
-        c = x.newCursor();
-        
-        c.toFirstContentToken();
-        c.toFirstContentToken();
-
-        Assert.assertTrue( c.getName().getLocalPart().equals( "b" ) );
-        Assert.assertTrue( c.getName().getNamespaceURI().length() == 0 );
-    }
-
-    private void testTextFrag ( String actual, String expected )
-    {
-        String pre = "<xml-fragment>";
-        
-        String post = "</xml-fragment>";
-        
-        Assert.assertTrue( actual.startsWith( pre ) );
-        Assert.assertTrue( actual.endsWith( post ) );
-        
-        Assert.assertTrue(
-            expected.equals(
-                actual.substring(
-                    pre.length(), actual.length() - post.length() ) ) );
-    }
-    
-    public void testSaveFrag ( )
-        throws Exception
-    {
-        XmlObject x;
-        XmlCursor c;
-        
-        x = XmlObject.Factory.newInstance();
-
-        c = x.newCursor();
-        
-        c.toNextToken();
-        
-        c.insertChars( "Eric" );
-
-        testTextFrag( x.xmlText(), "Eric" );
-
-        //
-
-        x = XmlObject.Factory.newInstance();
-
-        c = x.newCursor();
-
-        c.toNextToken();
-
-        c.insertComment( "" );
-        c.insertChars( "x" );
-        
-        testTextFrag( x.xmlText(), "<!---->x" );
-
-        //
-
-        x = XmlObject.Factory.newInstance();
-
-        c = x.newCursor();
-
-        c.toNextToken();
-
-        c.insertElement( "foo" );
-        c.insertChars( "x" );
-        
-        testTextFrag( x.xmlText(), "<foo/>x" );
-        
-        //
-
-        x = XmlObject.Factory.newInstance();
-
-        c = x.newCursor();
-
-        c.toNextToken();
-
-        c.insertElement( "foo" );
-        c.insertElement( "bar" );
-        
-        testTextFrag( x.xmlText(), "<foo/><bar/>" );
-    }
-    
-    public void testLoad ( )
-        throws Exception
-    {
-        XmlObject x;
-        
-        XmlOptions options = new XmlOptions();
-        
-        options.put( XmlOptions.LOAD_REPLACE_DOCUMENT_ELEMENT, null );
-        
-        x =
-            XmlObject.Factory.parse(
-                "<bar p='q' x='y'>ab<foo>xy</foo>cd</bar>", options );
-        
-        XmlCursor c = navDoc( x, "t" );
-
-        assertTrue( c.currentTokenType() == TokenType.ATTR );
-
-        String open = "xmlns:open='http://www.openuri.org/fragment'";
-        
-        x =
-            XmlObject.Factory.parse(
-                "<open:fragment p='q' x='y' " + open +
-                    ">ab<foo>xy</foo>cd</open:fragment>" );
-        
-        c = navDoc( x, "t" );
-
-        assertTrue( c.currentTokenType() == TokenType.ATTR );
-    }
-    
-    public void testCompare ( )
-        throws Exception
-    {
-        XmlObject x;
-        XmlCursor cFrom, cTo;
-
-        // Forward navigation 
-        
-        x = XmlObject.Factory.parse( "<bar p='q' x='y'>ab<foo>xy</foo>cd</bar>" );
-
-        cFrom = navDoc( x, "" );
-        cTo = navDoc( x, "" );
-            
-        for ( ; ; )
-        {
-            Assert.assertTrue( cFrom.comparePosition( cTo ) == 0 );
-            Assert.assertTrue( cFrom.isAtSamePositionAs( cTo ) );
-
-            TokenType tt = cFrom.currentTokenType();
-            
-            if (tt == TokenType.ENDDOC)
-            {
-                break;
-            }
-            else if (tt == TokenType.TEXT)
-            {
-                cFrom.toNextChar( 1 );
-                cTo.toNextChar( 1 );
-            }
-            else
-            {
-                cFrom.toNextToken();
-                cTo.toNextToken();
-            }
-        }
-
-        // Backward navigation 
-        
-        x = XmlObject.Factory.parse( "<bar p='q' x='y'>ab<foo>xy</foo>cd</bar>" );
-
-        cFrom = navDoc( x, "r" );
-        cTo = navDoc( x, "r" );
-            
-        for ( ; ; )
-        {
-            Assert.assertTrue( cFrom.comparePosition( cTo ) == 0 );
-            Assert.assertTrue( cFrom.isAtSamePositionAs( cTo ) );
-
-            if (cFrom.toPrevChar( 1 ) == 1)
-                cTo.toPrevChar( 1 );
-            else if (cFrom.toPrevToken() != TokenType.NONE)
-                cTo.toPrevToken();
-            else
-                break;
-        }
-
-        //
-        
-        x = XmlObject.Factory.parse(
-            "<bar p='q' x='y'>ab<foo>xy</foo>c<f y='x'>xy</f>d</bar>" );
-
-        cFrom = navDoc( x, "" );
-
-        for ( ; ; )
-        {
-            boolean passed = false;
-            
-            cTo = navDoc( x, "" );
-
-            for ( ; ; )
-            {
-                if (cTo.isAtSamePositionAs( cFrom ))
-                {
-                    Assert.assertTrue( !passed );
-                    passed = true;
-                }
-                else if (cTo.isLeftOf( cFrom ))
-                {
-                    Assert.assertTrue( !passed );
-                }
-                else
-                {
-                    Assert.assertTrue( passed );
-                    Assert.assertTrue( cTo.isRightOf( cFrom ) );
-                }
-                
-                if (cTo.toNextChar( 1 ) != 1)
-                    if (cTo.toNextToken() == TokenType.ENDDOC)
-                        break;
-            }
-            
-            if (cFrom.toNextChar( 1 ) != 1)
-                if (cFrom.toNextToken() == TokenType.ENDDOC)
-                    break;
-        }
-    }
-
-    static class MyAnno extends XmlBookmark
-    {
-    }
-
-    public void testAnnotation ( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( "<foo/>" );
-        XmlCursor c = x.newCursor();
-        c.toNextToken();
-        MyAnno a = new MyAnno();
-        c.setBookmark( a );
-        Assert.assertTrue( c.removeXml() );
-        XmlCursor c2 = a.createCursor();
-        Assert.assertTrue( c2 == null );
-    }
-    
-    public void testAttrSetter ( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( "<foo/>" );
-        XmlCursor c = x.newCursor();
-        c.toNextToken();
-        c.setAttributeText( new QName( null, "x" ), "hardehar" );
-        Assert.assertTrue( x.xmlText().equals( "<foo x=\"hardehar\"/>" ) );
-    }
-    
-    public void testNavigation ( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( "<a><x/><y/><z/></a>" );
-        XmlCursor c = x.newCursor();
-        Assert.assertTrue( c.toNextSibling() == false );
-        Assert.assertTrue( c.toPrevSibling() == false );
-        Assert.assertTrue( c.toFirstAttribute() == false );
-        Assert.assertTrue( c.toLastAttribute() == false );
-        c.toNextToken();
-        c.toNextToken();
-        Assert.assertTrue( c.toNextSibling() == true );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "y" ) );
-        Assert.assertTrue( c.toNextSibling() == true );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "z" ) );
-        Assert.assertTrue( c.toNextSibling() == false );
-
-        x = XmlObject.Factory.parse( "<a p='q' m='n'><x/><y/><z/></a>" );
-        c = x.newCursor();
-        c.toNextToken();
-        c.toNextToken();
-        Assert.assertTrue( c.currentTokenType().isAttr() );
-        Assert.assertTrue( c.toPrevSibling() == false );
-        Assert.assertTrue( c.currentTokenType().isAttr() );
-        Assert.assertTrue( c.toNextSibling() == true );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "x" ) );
-
-        c.toEndDoc();
-        c.toPrevToken();
-        Assert.assertTrue( c.toPrevSibling() == true );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "z" ) );
-        Assert.assertTrue( c.toPrevSibling() == true );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "y" ) );
-        Assert.assertTrue( c.toPrevSibling() == true );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "x" ) );
-        Assert.assertTrue( c.toPrevSibling() == false );
-        
-        c.toEndDoc();
-        c.toPrevToken();
-        Assert.assertTrue( c.toParent() == true );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "a" ) );
-        
-        c.toEndDoc();
-        Assert.assertTrue( c.toParent() == true );
-        Assert.assertTrue( c.currentTokenType().isStartdoc() );
-        
-        x = XmlObject.Factory.parse( "<a>moo<!---->foo</a>" );
-        c = x.newCursor();
-        c.toStartDoc();
-        c.toNextToken();
-        c.toNextToken();
-        c.toNextToken();
-        Assert.assertTrue( c.toParent() == true );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "a" ) );
-        
-        c.toStartDoc();
-        c.toNextToken();
-        c.toNextToken();
-        c.toNextToken();
-        c.toNextToken();
-        Assert.assertTrue( c.toParent() == true );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "a" ) );
-
-        c.toStartDoc();
-        c.toNextToken();
-        c.toNextToken();
-        c.toNextToken();
-        c.toNextToken();
-        c.toNextChar( 2 );
-        Assert.assertTrue( c.toParent() == true );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "a" ) );
-        
-        x = XmlObject.Factory.parse( "<foo>early<bar>text<char>zap</char></bar></foo>" );
-        c = x.newCursor();
-        c.toNextToken();
-        c.toNextToken();
-        Assert.assertTrue( c.toFirstChild() == true );
-        Assert.assertTrue( c.getTextValue().equals( "zap" ) );
-    }
-    
-    public void testGetName ( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( "<a x='y'>eric<!----><?moo?></a>" );
-        XmlCursor c = x.newCursor();
-        Assert.assertTrue( c.getName() == null );
-        Assert.assertTrue( !c.toNextToken().isNone() );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "a" ) );
-        Assert.assertTrue( c.getName().getNamespaceURI().length() == 0 );
-        Assert.assertTrue( !c.toNextToken().isNone() );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "x" ) );
-        Assert.assertTrue( c.getName().getNamespaceURI().length() == 0 );
-        Assert.assertTrue( !c.toNextToken().isNone() );
-        Assert.assertTrue( c.getName() == null );
-        Assert.assertTrue( !c.toNextToken().isNone() );
-        Assert.assertTrue( c.getName() == null );
-        Assert.assertTrue( !c.toNextToken().isNone() );
-        Assert.assertTrue( c.getName().getLocalPart().equals( "moo" ) );
-        Assert.assertTrue( c.getName().getNamespaceURI().length() == 0 );
-        Assert.assertTrue( !c.toNextToken().isNone() );
-        Assert.assertTrue( c.getName() == null );
-        Assert.assertTrue( !c.toNextToken().isNone() );
-        Assert.assertTrue( c.getName() == null );
-        Assert.assertTrue( c.toNextToken().isNone() );
-    }
-    
-    public void testGetChars ( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( "<foo>abcdefghijkl</foo>" );
-        XmlCursor c = x.newCursor();
-        c.toNextToken();
-        c.toNextToken();
-        c.toNextChar( 2 );
-        
-        char[] buf = new char[ 3 ];
-        int n = c.getChars( buf, 0, 400 );
-
-        Assert.assertTrue( n == 3 );
-        Assert.assertTrue( buf[0] == 'c' );
-        Assert.assertTrue( buf[1] == 'd' );
-        Assert.assertTrue( buf[2] == 'e' );
-    }
-    
-    public void testNamespaceSubstitution ( )
-        throws Exception
-    {
-        HashMap subs = new HashMap();
-        subs.put( "foo", "moo" );
-        subs.put( "a", "b" );
-        
-        XmlOptions options = new XmlOptions();
-        options.put( XmlOptions.LOAD_SUBSTITUTE_NAMESPACES, subs );
-                     
-        XmlObject x =
-            XmlObject.Factory.parse(
-                "<a xmlns='foo' xmlns:a='a' a:x='y'/>",
-                options );
-
-        XmlCursor c = x.newCursor();
-
-        c.toNextToken();
-        Assert.assertTrue( c.getName().getNamespaceURI().equals( "moo" ) );
-        
-        c.toNextToken();
-        Assert.assertTrue( c.getName().getNamespaceURI().equals( "moo" ) );
-        
-        c.toNextToken();
-        Assert.assertTrue( c.getName().getNamespaceURI().equals( "b" ) );
-        
-        c.toNextToken();
-        Assert.assertTrue( c.getName().getNamespaceURI().equals( "b" ) );
-    }
-    
-    public void testNamespaceInsertion ( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.newInstance();
-
-        XmlCursor c = x.newCursor();
-
-        c.toNextToken();
-        c.insertElement( "foo", "http://p.com" );
-        c.toPrevToken();
-        c.insertNamespace( "p", "http://p.com" );
-
-        Assert.assertTrue(
-            x.xmlText().equals( "<p:foo xmlns:p=\"http://p.com\"/>" ) );
-    }
-
-    private void dotestParser ( String xml, String xmlResult )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( xml );
-        String result = x.xmlText();
-        Assert.assertTrue( xmlResult.equals( result ) );
-    }
-    
-    private void dotestParserErrors ( String xml )
-    {
-        try
-        {
-            XmlObject.Factory.parse( xml );
-        }
-        catch ( Throwable t )
-        {
-            return;
-        }
-        
-        Assert.assertTrue( false );
-    }
-
-    public void testNil ( )
-        throws Exception
-    {
-        XmlObject x = noNamespace.CanBeNilDocument.Factory.parse( "<canBeNil/>" );
-        XmlCursor c = x.newCursor();
-        c.toFirstChild();
-        XmlObject fc = c.getObject();
-        Assert.assertTrue( ! fc.isNil() );
-        fc.setNil();
-        Assert.assertTrue( fc.isNil() );
-        Assert.assertTrue( x.xmlText().equals( "<canBeNil xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>" ) );
-        c.toNextToken();
-        Assert.assertTrue( c.isAttr() );
-        c.removeXml();
-        Assert.assertTrue( x.xmlText().equals( "<canBeNil/>" ) );
-        Assert.assertTrue( ! fc.isNil() );
-    }
-    
-    
-    public void testParser ( )
-        throws Exception
-    {
-        dotestParserErrors( "<hee yee='five'><haw>66</haw></any>" );
-        dotestParserErrors( "<foo></moo>" );
-        dotestParserErrors( "<a><foo></moo></a>" );
-        dotestParserErrors( "" );
-        dotestParserErrors( "    " );
-        
-        dotestParserErrors( "har" );
-        dotestParserErrors( "<!-- comment -->" );
-        dotestParserErrors( "<?moo?>" );
-        dotestParserErrors( "<?xml version=\"1.0\" encoding=\"utf-8\"?>" );
-        dotestParserErrors( "<a$/>" );
-        dotestParserErrors( "<foo a='<'></foo>" );
-        dotestParserErrors( "<foo a></foo>" );
-        dotestParserErrors( "<foo>" );
-        dotestParserErrors( "</foo>" );
-// Fix the parser to make these work
-//        dotestParserErrors( "<foo><!-- -- --></foo>" );
-//        dotestParserErrors( "<foo><!-- ---></foo>" );
-
-        dotestParser( "<a b=\"x\n\ny\"/>", "<a b=\"x  y\"/>" );
-    }
-    
-    public void testSaxParser ( )
-        throws Exception
-    {
-        String xml =  "<a x='y'><!---->x<b/><c p='q'>z</c></a>";
-        
-        SAXParserFactory spf = SAXParserFactory.newInstance();
-        SAXParser sp = spf.newSAXParser();
-        XMLReader xr = sp.getXMLReader();
-        InputSource is = new InputSource( new StringReader(  xml ) );
-        XmlSaxHandler sh = XmlObject.Factory.newXmlSaxHandler();
-        
-        xr.setFeature(
-            "http://xml.org/sax/features/namespace-prefixes",
-            true );
-
-        xr.setFeature(
-            "http://xml.org/sax/features/namespaces", true );
-
-        xr.setFeature(
-            "http://xml.org/sax/features/validation", false );
-
-        xr.setContentHandler( sh.getContentHandler() );
-        
-        xr.setProperty(
-            "http://xml.org/sax/properties/lexical-handler",
-            sh.getLexicalHandler() );
-
-        xr.parse( is );
-
-        XmlObject x1 = sh.getObject();
-
-        XmlObject x2 = XmlObject.Factory.parse( xml );
-
-        Assert.assertTrue( x1.xmlText().equals( x2.xmlText() ) );
-    }
-}
diff --git a/v1/test/src/drt/drtcases/SubstGroupTests.java b/v1/test/src/drt/drtcases/SubstGroupTests.java
deleted file mode 100644
index c370329..0000000
--- a/v1/test/src/drt/drtcases/SubstGroupTests.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.impl.store.Root;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XMLStreamValidationException;
-import org.apache.xmlbeans.XmlDecimal;
-import org.apache.xmlbeans.XmlString;
-import org.apache.xmlbeans.XmlToken;
-import org.apache.xmlbeans.XmlNormalizedString;
-import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-// Types from substgroup.xsd
-import org.openuri.sgs.ADocument;
-import org.openuri.sgs.BDocument;
-import org.openuri.sgs.CDocument;
-import org.openuri.sgs.RootDocument;
-
-import org.w3.x2001.xmlSchema.SchemaDocument;
-
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-public class SubstGroupTests extends TestCase
-{
-    public SubstGroupTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(SubstGroupTests.class); }
-
-    public void test1() throws Exception {
-        String xml1 = "<root xmlns='http://openuri.org/sgs'>" +
-            "<A>\ta\ta\t</A>" +
-            "<B>\tb\tb\t</B>" +
-            "<C>\tc\tc\t</C>" +
-            "</root>";
-
-
-        RootDocument doc1 = RootDocument.Factory.parse(xml1);
-        RootDocument.Root root = doc1.getRoot();
-        assertTrue(doc1.validate());
-
-        XmlString a = root.xgetAArray(0);
-        assertTrue(a.schemaType().equals(XmlString.type));
-        assertEquals("\ta\ta\t", a.stringValue());
-
-        XmlString b = root.xgetAArray(1);
-        assertTrue(b.schemaType().equals(XmlNormalizedString.type));
-        assertEquals(" b b ", b.stringValue());
-
-        XmlString c = root.xgetAArray(2);
-        assertTrue(c.schemaType().equals(XmlToken.type));
-        assertEquals("c c", c.stringValue());
-
-        root.insertA(2, "d d");
-        assertEquals("d d", root.getAArray(2));
-        assertEquals(4, root.sizeOfAArray());
-        root.removeA(2);
-
-        root.removeA(1);
-        assertEquals("c c", root.getAArray(1));
-        assertEquals(2, root.sizeOfAArray());
-
-        root.addA("f f");
-        assertEquals(3, root.sizeOfAArray());
-        assertEquals("f f", root.getAArray(2));
-
-        // Test array setters
-
-        // test m < n case
-        String[] smaller = new String[]{ "x", "y" };
-        root.setAArray(smaller);
-        assertEquals(2, root.sizeOfAArray());
-        assertEquals("y", root.getAArray(1));
-
-        // test m > n case
-        String[] larger = new String[] { "p", "q", "r", "s" };
-        root.setAArray(larger);
-        assertEquals(4, root.sizeOfAArray());
-        assertEquals("r", root.getAArray(2));
-    }
-
-    public void test2() throws Exception {
-        String xml1 = "<A xmlns='http://openuri.org/sgs'>\ta\ta\t</A>";
-        String xml2 = "<B xmlns='http://openuri.org/sgs'>\tb\tb\t</B>";
-        String xml3 = "<C xmlns='http://openuri.org/sgs'>\tc\tc\t</C>";
-
-        ADocument d1 = ADocument.Factory.parse(xml1);
-        XmlString a = d1.xgetA();
-        assertTrue(a.schemaType().equals(XmlString.type));
-        assertEquals("\ta\ta\t", a.stringValue());
-
-        ADocument d2 = ADocument.Factory.parse(xml2);
-        XmlString b = d2.xgetA();
-        assertTrue(d2.schemaType().equals(BDocument.type));
-        assertTrue(b.schemaType().equals(XmlNormalizedString.type));
-        assertEquals(" b b ", b.stringValue());
-
-        ADocument d3 = ADocument.Factory.parse(xml3);
-        XmlString c = d3.xgetA();
-        assertTrue(d3.schemaType().equals(CDocument.type));
-        assertTrue(c.schemaType().equals(XmlToken.type));
-        assertEquals("c c", c.stringValue());
-    }
-
-    public static final String[] invalidSchemas = 
-    {
-        "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> " +
-        "  <xsd:element name='A' type='xsd:string'/> " +
-        "  <xsd:element name='B' type='xsd:int' substitutionGroup='A'/> " +
-        "</xsd:schema>",
-        "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> " +
-        "  <xsd:complexType name='foo'> " +
-        "    <xsd:sequence> " +
-        "      <xsd:element name='bar' substitutionGroup='A'/>" +
-        "    </xsd:sequence> " +
-        "  </xsd:complexType>" +
-        "</xsd:schema>",
-        "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> " +
-        "  <xsd:element name='A' type='xsd:string' final='#all'/> " +
-        "  <xsd:element name='B' type='xsd:string' substitutionGroup='A'/> " +
-        "</xsd:schema>",
-        "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> " +
-        "  <xsd:element name='A' type='xsd:string' final='restriction'/> " +
-        "  <xsd:element name='B' type='xsd:token' substitutionGroup='A'/> " +
-        "</xsd:schema>",
-        "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> " +
-        "  <xsd:element name='A' type='xsd:string' substitutionGroup='B'/> " +
-        "  <xsd:element name='B' type='xsd:string' substitutionGroup='C'/> " +
-        "  <xsd:element name='C' type='xsd:string' substitutionGroup='D'/> " +
-        "  <xsd:element name='D' type='xsd:string' substitutionGroup='E'/> " +
-        "  <xsd:element name='E' type='xsd:string' substitutionGroup='A'/> " +
-        "</xsd:schema>",
-        "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> " +
-        "  <xsd:element name='A' type='xsd:token' substitutionGroup='B'/> " +
-        "</xsd:schema>",
-        "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> " +
-        "  <xsd:element name='A' type='xsd:string'/> " +
-        "  <xsd:element name='B' type='xsd:string' substitutionGroup='A'/> " +
-        "  <xsd:element name='Complex'> " +
-        "    <xsd:complexType> " +
-        "      <xsd:choice> " +
-        "        <xsd:element ref='A'/>" +
-        "        <xsd:element ref='B'/>" +
-        "      </xsd:choice> " +
-        "    </xsd:complexType> " +
-        "  </xsd:element> " +
-        "</xsd:schema>",
-    };
-
-    public static final String[] validSchemas = 
-    {
-        "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>" +
-        "  <xsd:complexType name='base'>" +
-        "    <xsd:all>" +
-        "      <xsd:element ref='head'/>" +
-        "    </xsd:all>" +
-        "  </xsd:complexType>" +
-        "  <xsd:complexType name='restr'>" +
-        "    <xsd:complexContent>" +
-        "       <xsd:restriction base='base'>" +
-        "         <xsd:all>" +
-        "           <xsd:element ref='tail'/>" +
-        "         </xsd:all>" +
-        "       </xsd:restriction>" +
-        "    </xsd:complexContent>" +
-        "  </xsd:complexType>" +
-        "  <xsd:element name='head' type='xsd:string'/>" +
-        "  <xsd:element name='tail' substitutionGroup='head'/>" +
-        "</xsd:schema>",
-    };
-        
-    public void test3() throws Exception {
-        SchemaDocument[] schemas = new SchemaDocument[invalidSchemas.length];
-
-        // Parse the invalid schema files
-        for (int i = 0 ; i < invalidSchemas.length ; i++)
-            schemas[i] = SchemaDocument.Factory.parse(invalidSchemas[i]);
-
-        // Now compile the invalid schemas, test that they fail
-        for (int i = 0 ; i < schemas.length ; i++)
-        {
-            try {
-                XmlBeans.loadXsd(new XmlObject[] {schemas[i]});
-                fail("Schema should have failed to compile:\n" + invalidSchemas[i]);
-            }
-            catch (XmlException success) { /* System.out.println(success); */ }
-        }
-
-
-        // Parse the valid schema files
-        schemas = new SchemaDocument[validSchemas.length];
-        for (int i = 0 ; i < validSchemas.length ; i++)
-            schemas[i] = SchemaDocument.Factory.parse(validSchemas[i]);
-
-        // Now compile the valid schemas, test that they succeed
-        for (int i = 0 ; i < schemas.length ; i++)
-        {
-            try {
-                XmlBeans.loadXsd(new XmlObject[] {schemas[i]});
-            }
-            catch (XmlException fail)
-            {
-               fail("Failed to compile schema: " + schemas[i] + " with error: " + fail);
-            }
-        }
-    }
-
-    public static String[] invalidDocs = 
-    {
-        "<abstractTest xmlns='http://openuri.org/sgs'>" +
-        "    <abstract>content</abstract> " +
-        "</abstractTest> ",
-    };
-
-    public static String[] validDocs = 
-    {
-        "<abstractTest xmlns='http://openuri.org/sgs'>" +
-        "    <concrete>content</concrete> " +
-        "</abstractTest> ",
-    };
-
-    public void test4() throws Exception 
-    {
-
-        for (int i = 0 ; i < invalidDocs.length ; i++)
-        {
-            XmlObject xo = XmlObject.Factory.parse(invalidDocs[i]);
-            assertTrue("Doc was valid. Should be invalid: " + invalidDocs[i], 
-                ! xo.validate());
-        }
-
-        for (int i = 0 ; i < validDocs.length ; i++)
-        {
-            XmlObject xo = XmlObject.Factory.parse(validDocs[i]);
-            assertTrue("Doc was invalid. Should be valid: " + validDocs[i],
-                xo.validate());
-        }
-    }
-
-}
diff --git a/v1/test/src/drt/drtcases/TestEnv.java b/v1/test/src/drt/drtcases/TestEnv.java
deleted file mode 100644
index 8858400..0000000
--- a/v1/test/src/drt/drtcases/TestEnv.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import java.io.File;
-import java.io.IOException;
-
-public class TestEnv
-{
-    private static File fwroot = getRootFile();
-    private static File caseroot = new File(fwroot, "test/cases");
-    private static File outputroot = new File(fwroot, "build/test/output");
-
-    public static File getRootFile() throws IllegalStateException
-    {
-        try
-        {
-            return new File( System.getProperty( "xbean.rootdir" ) ).getCanonicalFile();
-        }
-        catch( IOException e )
-        {
-            throw new IllegalStateException(e.toString());
-        }
-    }
-
-    public static File xbeanCase(String str)
-    {
-        return (new File(caseroot, str));
-    }
-
-    public static File xbeanOutput(String str)
-    {
-        File result = (new File(outputroot, str));
-        File parentdir = result.getParentFile();
-        parentdir.mkdirs();
-        return result;
-    }
-
-    public static void deltree(File dir)
-    {
-        if (dir.exists())
-        {
-            if (dir.isDirectory())
-            {
-                String[] list = dir.list();
-                for (int i = 0; i < list.length; i++)
-                    deltree(new File(dir, list[i]));
-            }
-            if (!dir.delete())
-                throw new IllegalStateException("Could not delete " + dir);
-        }
-    }
-}
diff --git a/v1/test/src/drt/drtcases/TestRunUtil.java b/v1/test/src/drt/drtcases/TestRunUtil.java
deleted file mode 100644
index 6fadf8c..0000000
--- a/v1/test/src/drt/drtcases/TestRunUtil.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import java.io.File;
-import java.net.URLClassLoader;
-import java.net.URL;
-import java.net.MalformedURLException;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
-public class TestRunUtil
-{
-    /**
-     * Runs method that must be declared "static void test()" on the given
-     * class, with the given additional jars or directories on the classpath.
-     */
-    public static void run(String classname, File[] classpath) throws Throwable
-    {
-        // System.err.println("Running " + classname + " with classpath:");
-        for (int i = 0; i < classpath.length; i++)
-        {
-            // System.err.println(classpath[i]);
-            if (!classpath[i].exists())
-                throw new IllegalArgumentException("Classpath component " + classpath + " cannot be found!");
-        }
-
-        URL[] extracp = new URL[classpath.length];
-        for (int i = 0; i < classpath.length; i++)
-        {
-            try
-            {
-                extracp[i] = classpath[i].toURL();
-            }
-            catch (MalformedURLException e)
-            {
-                throw new IllegalArgumentException("Malformed classpath filename");
-            }
-        }
-
-        ClassLoader curcl = Thread.currentThread().getContextClassLoader();
-
-        try
-        {
-            ClassLoader childcl = new URLClassLoader(extracp);
-            Class javaClass = childcl.loadClass(classname);
-            Class testClass = childcl.loadClass("org.openuri.mytest.CustomerDocument");
-            if (testClass == null)
-                throw new IllegalStateException();
-            Method meth = javaClass.getMethod("test", new Class[0]); // should be static
-            Thread.currentThread().setContextClassLoader(childcl);
-            meth.invoke(null, new Object[0]);
-        }
-        catch (ClassNotFoundException e)
-        {
-            throw new IllegalArgumentException("class not found");
-        }
-        catch (NoSuchMethodException e)
-        {
-            throw new IllegalArgumentException("no test() method found");
-        }
-        catch (IllegalAccessException e)
-        {
-            throw new IllegalArgumentException("could not invoke static public test method");
-        }
-        catch (InvocationTargetException e)
-        {
-            throw e.getCause();
-        }
-        finally
-        {
-            Thread.currentThread().setContextClassLoader(curcl);
-        }
-    }
-}
diff --git a/v1/test/src/drt/drtcases/ThreadingTest.java b/v1/test/src/drt/drtcases/ThreadingTest.java
deleted file mode 100644
index 438784c..0000000
--- a/v1/test/src/drt/drtcases/ThreadingTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.framework.TestCase;
-import junit.framework.Assert;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-
-import javax.xml.namespace.QName;
-
-public class ThreadingTest extends TestCase
-{
-    public ThreadingTest(String name) { super(name); }
-    public static Test suite() { return new TestSuite(ThreadingTest.class); }
-
-    public static final int THREAD_COUNT = 4;
-    public static final int ITERATION_COUNT = 1;
-
-    public class CompilationThread extends Thread
-    {
-        private Throwable _throwable;
-        private boolean _result;
-
-        public Throwable getException()
-        {
-            return _throwable;
-        }
-
-        public boolean getResult()
-        {
-            return _result;
-        }
-
-        public void run()
-        {
-            try
-            {
-                for (int i = 0; i < ITERATION_COUNT; i++)
-                {
-                    SchemaTypeLoader loader = XmlBeans.loadXsd(new XmlObject[] { XmlObject.Factory.parse(TestEnv.xbeanCase("schema/XmlSignature/xmldsig-core-schema.xsd")) });
-                    XmlObject result = loader.parse(TestEnv.xbeanCase("schema/XmlSignature/signature-example.xml"), null, null);
-                    Assert.assertEquals(loader.findDocumentType(new QName("http://www.w3.org/2000/09/xmldsig#", "Signature")), result.schemaType());
-                }
-                _result = true;
-            }
-            catch (Throwable t)
-            {
-                _throwable = t;
-                t.printStackTrace();
-            }
-        }
-    }
-
-    public void testThreadedCompilation() throws Throwable
-    {
-        CompilationThread[] threads = new CompilationThread[THREAD_COUNT];
-        for (int i = 0; i < threads.length; i++)
-        {
-            threads[i] = new CompilationThread();
-        }
-
-        for (int i = 0; i < threads.length; i++)
-        {
-            threads[i].start();
-        }
-
-        for (int i = 0; i < threads.length; i++)
-        {
-            threads[i].join();
-        }
-
-        for (int i = 0; i < threads.length; i++)
-        {
-            Assert.assertNull(threads[i].getException());
-            Assert.assertTrue("Thread " + i + " didn't succeed", threads[i].getResult());
-        }
-    }
-}
diff --git a/v1/test/src/drt/drtcases/TypedSettersTests.java b/v1/test/src/drt/drtcases/TypedSettersTests.java
deleted file mode 100644
index f62569a..0000000
--- a/v1/test/src/drt/drtcases/TypedSettersTests.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import org.apache.xmlbeans.XmlCursor.TokenType;
-import org.apache.xmlbeans.XmlCursor.XmlBookmark;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlSaxHandler;
-import org.apache.xmlbeans.XmlLineNumber;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlInt;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.io.StringReader;
-import java.lang.Comparable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Random;
-import java.util.Iterator;
-import java.util.TreeSet;
-import javax.xml.namespace.QName;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-   
-public class TypedSettersTests extends TestCase
-{
-    public TypedSettersTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(TypedSettersTests.class); }
-
-    private static final String schemaNs ="xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"";
-    private static final String instanceNs = "xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"";
-
-    private static final String fmt ( String s )
-    {
-        StringBuffer sb = new StringBuffer();
-
-        for ( int i = 0 ; i < s.length() ; i++ )
-        {
-            char ch = s.charAt( i );
-
-            if (ch != '$')
-            {
-                sb.append( ch );
-                continue;
-            }
-            
-            ch = s.charAt( ++i );
-
-            String id = "";
-
-            while ( (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
-            {
-                id = id + ch;
-                ch = s.charAt( ++i );
-            }
-
-            String arg = "";
-
-            if (ch == '(')
-            {
-                ch = s.charAt( ++i );
-
-                while ( ch != ')' )
-                {
-                    arg += ch;
-                    ch = s.charAt( ++i );
-                }
-            }
-            else
-                i--;
-
-            if (id.equals( "schema" ))
-                sb.append( schemaNs );
-            else if (id.equals( "xsi" ))
-                sb.append( instanceNs );
-            else if (id.equals( "type" ))
-            {
-                Assert.assertTrue( arg.length() > 0 );
-                sb.append( "xsi:type=\"" + arg + "\"" );
-            }
-            else
-                Assert.assertTrue( false );
-        }
-
-        return sb.toString();
-    }
-
-    private static final String nses = schemaNs + " " + instanceNs;
-    
-    public void testJavaNoTypeSingletonElement ( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( "<xyzzy/>" );
-        XmlObject x2 = XmlObject.Factory.parse( "<bubba>moo</bubba>" );
-        XmlCursor c = x.newCursor();
-        XmlCursor c2 = x2.newCursor();
-
-        c.toNextToken();
-        c2.toNextToken();
-
-        c.getObject().set( c2.getObject() );
-
-        Assert.assertTrue( x.xmlText().equals( "<xyzzy>moo</xyzzy>" ) );
-    }
-    
-    public void testJavaNoTypeSingletonAttribute ( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( "<xyzzy a=''/>" );
-        XmlObject x2 = XmlObject.Factory.parse( "<bubba b='moo'/>" );
-        XmlCursor c = x.newCursor();
-        XmlCursor c2 = x2.newCursor();
-
-        c.toNextToken();
-        c.toNextToken();
-        c2.toNextToken();
-        c2.toNextToken();
-
-        c.getObject().set( c2.getObject() );
-
-        Assert.assertTrue( x.xmlText().equals( "<xyzzy a=\"moo\"/>" ) );
-    }
-    
-    public void testJavaNoTypeSingletonElementWithXsiType ( )
-        throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( "<xyzzy/>", new XmlOptions().setDocumentType( XmlObject.type ) );
-        XmlObject x2 = XmlObject.Factory.parse( fmt( "<bubba $type(xs:int) $xsi $schema>69</bubba>" ) );
-        XmlCursor c = x.newCursor();
-        XmlCursor c2 = x2.newCursor();
-
-        c.toNextToken();
-        c2.toNextToken();
-
-        XmlObject xyzzy = c.getObject();
-        XmlObject bubba = c2.getObject();
-
-        Assert.assertTrue( bubba.schemaType() == XmlInt.type );
-
-//        xyzzy.set( bubba );
-
-//        Assert.assertTrue( x.xmlText().equals( fmt( "<xyzzy $type(xs:int) $xsi $schema>moo</xyzzy>" ) ) );
-    }
-    
-}
diff --git a/v1/test/src/drt/drtcases/ValidationTests.java b/v1/test/src/drt/drtcases/ValidationTests.java
deleted file mode 100644
index e9598a5..0000000
--- a/v1/test/src/drt/drtcases/ValidationTests.java
+++ /dev/null
@@ -1,1612 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package drtcases;
-
-import javax.xml.namespace.QName;
-import org.apache.xmlbeans.impl.store.Root;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XMLStreamValidationException;
-import org.apache.xmlbeans.XmlDecimal;
-import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import weblogic.xml.stream.XMLInputStream;
-import javax.xml.namespace.QName;
-
-public class ValidationTests extends TestCase
-{
-    public ValidationTests(String name) { super(name); }
-    public static Test suite() { return new TestSuite(ValidationTests.class); }
-
-    static String[] _args;
-    static String _test;
-
-    public static File getCaseFile(String theCase)
-    {
-        return TestEnv.xbeanCase("store/" + theCase);
-    }
-
-    static XmlCursor loadCase(String theCase) throws Exception
-    {
-        return
-            XmlObject.Factory.parse(
-                getCaseFile( theCase ) ).newCursor();
-    }
-
-    public SchemaTypeLoader makeSchemaTypeLoader ( String[] schemas )
-        throws Exception
-    {
-        XmlObject[] schemaDocs = new XmlObject [ schemas.length ];
-
-        for ( int i = 0 ; i < schemas.length ; i++ )
-        {
-            schemaDocs[ i ] =
-                XmlObject.Factory.parse(
-                    schemas[ i ] );
-        }
-
-        return XmlBeans.loadXsd( schemaDocs );
-    }
-    
-    public SchemaTypeLoader makeSchemaTypeLoader ( File[] schemas )
-        throws Exception
-    {
-        XmlObject[] schemaDocs = new XmlObject [ schemas.length ];
-
-        for ( int i = 0 ; i < schemas.length ; i++ )
-        {
-            schemaDocs[ i ] =
-                XmlObject.Factory.parse(
-                    schemas[ i ], new XmlOptions().setLoadLineNumbers().setLoadMessageDigest() );
-        }
-        
-        return XmlBeans.loadXsd( schemaDocs );
-    }
-    
-    public void v ( String xml ) throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( xml );
-        Assert.assertTrue( x.schemaType() != XmlObject.type );
-        Assert.assertTrue( x.validate() );
-    }
-    
-    public void nv ( String xml ) throws Exception
-    {
-        XmlObject x = XmlObject.Factory.parse( xml );
-        Assert.assertTrue( x.schemaType() != XmlObject.type );
-        Assert.assertTrue( !x.validate() );
-    }
-    
-    public void ___testDefault ( ) throws Exception
-    {
-        // Default
-        
-//        v( "<validElemDefault/>" );
-//        v( "<validAttrDefault/>" );
-//        
-//        nv( "<invalidElemDefault/>" );
-        nv( "<invalidAttrDefault/>" );
-
-        v( "<invalidElemDefault>11<invalidElemDefault>" );
-        v( "<invalidAttrDefault attr='22'>" );
-        
-        // Fixed
-
-        v( "<validElemFixed/>" );
-        v( "<validAttrFixed/>" );
-        
-        nv( "<invalidElemFixed/>" );
-        nv( "<invalidAttrFixed/>" );
-        
-        v( "<invalidElemFixed>33<invalidElemFixed>" );
-        v( "<invalidAttrFixed attr='44'/>" );
-    }
-
-    public void doTest (
-        String[] schemas, QName docType,
-        String[] validInstances, String[] invalidInstances)
-            throws Exception
-    {
-        doTest(schemas, docType, validInstances, invalidInstances, true);
-    }
-
-    public void doTest (
-        String[] schemas, QName docType,
-        String[] validInstances, String[] invalidInstances, boolean startOnDocument )
-            throws Exception
-    {
-        SchemaTypeLoader stl = makeSchemaTypeLoader( schemas );
-
-        XmlOptions options = new XmlOptions();
-
-        if (docType != null)
-        {
-            SchemaType docSchema = stl.findDocumentType( docType );
-
-            Assert.assertTrue( docSchema != null );
-            
-            options.put( XmlOptions.DOCUMENT_TYPE, docSchema );
-        }
-
-        for ( int i = 0 ; i < validInstances.length ; i++ )
-        {
-            XmlObject x =
-                stl.parse( (String) validInstances[ i ], null, options );
-
-            if (!startOnDocument) 
-            {
-                XmlCursor c = x.newCursor();
-                c.toFirstChild();
-                x = c.getObject();
-                c.dispose();
-            }
-            
-            List xel = new ArrayList();
-            
-            options.put( XmlOptions.ERROR_LISTENER, xel );
-            
-            boolean isValid = x.validate( options );
-            
-            if (!isValid)
-            {
-                System.err.println( "Invalid doc, expected a valid doc: " );
-                System.err.println( "Instance(" + i + "): " );
-                System.err.println( x.xmlText() );
-                Root.dump( x );
-                System.err.println( "Errors: " );
-                for ( int j = 0 ; j < xel.size() ; j++ )
-                    System.err.println( xel.get( j ) );
-                System.err.println();
-            }
-            
-            Assert.assertTrue( isValid );
-        }
-
-        for ( int i = 0 ; i < invalidInstances.length ; i++ )
-        {
-            XmlObject x;
-            
-            try
-            {
-                x = stl.parse( (String) invalidInstances[ i ], null, options );
-
-                if (! startOnDocument) 
-                {
-                    XmlCursor c = x.newCursor();
-                    c.toFirstChild();
-                    x = c.getObject();
-                    c.dispose();
-                }
-
-                boolean isValid = x.validate();
-
-                if (isValid)
-                {
-                    System.err.println( "Valid doc, expected a invalid doc: " );
-                    System.err.println( "Instance(" + i + "): " );
-                    System.err.println( x.xmlText() );
-                    Root.dump( x );
-                    System.err.println();
-                }
-
-                Assert.assertTrue( !isValid );
-            }
-            catch ( XmlException e )
-            {
-            }
-        }
-    }
-
-    // Just compile a schema, good and bad
-    
-    public void testValidate0 ( )
-        throws Exception
-    {
-        //
-        // The most basic schema
-        //
-        
-        String schema =
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-            "</xs:schema>" +
-            "";
-        
-        String[] schemas = { schema };
-        
-        SchemaTypeLoader stl = makeSchemaTypeLoader( schemas );
-        
-        //
-        // One which uses ##targetNamespace on a wildcard
-        //
-        
-        schema =
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-            "  <xs:complexType name='foo'>\n" +
-            "    <xs:sequence>\n" +
-            "      <xs:any namespace='##targetNamespace'/>\n" +
-            "    </xs:sequence>\n" +
-            "  </xs:complexType>\n" +
-            "</xs:schema>" +
-            "";
-        
-        String[] schemas99 = { schema };
-        
-        stl = makeSchemaTypeLoader( schemas99 );
-        
-        //
-        // A big, nasty schema :-)
-        //
-        
-        File file = TestEnv.getRootFile();
-        File schemeFile = new File( file, "test/cases/schema/s4s/XMLSchema.xsd" );
-        File xmlFile = new File( file, "test/cases/schema/s4s/XML.xsd" );
-
-        File[] schemasF = { schemeFile, xmlFile };
-
-        Root.disableStoreValidation();
-        try
-        {
-            stl = makeSchemaTypeLoader( schemasF );
-        }
-        finally
-        {
-            Root.enableStoreValidation();
-        }
-
-        SchemaType type =
-            stl.findDocumentType(
-                new QName( "http://www.w3.org/2001/XMLSchema", "schema" ) );
-
-        Assert.assertTrue( type != null );
-
-
-        //
-        // A good piece from a J2EE schema
-        //
-        
-        schema =
-            "<?xml version='1.0' encoding='UTF-8'?>\n" + 
-            "<xsd:schema xmlns='http://www.w3.org/2001/XMLSchema'\n" + 
-            "     xmlns:xsd='http://www.w3.org/2001/XMLSchema'\n" + 
-            "     elementFormDefault='qualified'\n" + 
-            "     attributeFormDefault='unqualified'>\n" + 
-            "<xsd:annotation>\n" + 
-            "<xsd:documentation>\n" + 
-            "@(#)application-client_1_4.xsds	1.7 07/08/02\n" + 
-            "</xsd:documentation>\n" + 
-            "</xsd:annotation>\n" + 
-            "</xsd:schema>\n";
-                
-        String[] schemas5 = { schema };
-
-        stl = makeSchemaTypeLoader( schemas5 );
-
-        //
-        // A bad schema
-        //
-        
-        schema = "<foo/>";
-        
-        String[] schemas2 = { schema };
-
-        try
-        {
-            stl = makeSchemaTypeLoader( schemas2 );
-            Assert.assertTrue( false );
-        }
-        catch ( Exception e )
-        {
-        }
-
-        //
-        // A bad schema
-        //
-        schema =
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-            "  <foo/>\n" +
-            "</xs:schema>" +
-            "";
-        
-        String[] schemas3 = { schema };
-
-        try
-        {
-            makeSchemaTypeLoader( schemas3 );
-            
-            Assert.assertTrue( false );
-        }
-        catch ( XmlException e )
-        {
-        }
-    }
-    
-    public void testValidate1 ( )
-        throws Exception
-    {
-        String ericSchema =
-            "<xs:schema\n" +
-            "   xmlns:xs='http://www.w3.org/2001/XMLSchema'\n" +
-            "   xmlns:nw='http://openuri.org/ericschema'\n" +
-            "   targetNamespace='http://openuri.org/ericschema'\n" +
-            "   elementFormDefault='qualified'>\n" +
-            "\n" +
-            "  <xs:complexType name='foo'>\n" +
-            "  </xs:complexType>\n" +
-            "\n" +
-            "  <xs:element name='foo' type='nw:foo'>\n" +
-            "  </xs:element>\n" +
-            "\n" +
-            "  <xs:element name='eric'>\n" +
-            "    <xs:complexType>\n" +
-            "      <xs:sequence>\n" +
-            "        <xs:element name='a' maxOccurs='unbounded'/>\n" +
-            "        <xs:element name='b' />\n" +
-            "        <xs:any namespace='yaya' minOccurs='0' maxOccurs='1' processContents='lax'/>\n" +
-            "        <xs:element name='c' />\n" +
-            "        <xs:any minOccurs='0' maxOccurs='unbounded' processContents='strict'/>\n" +
-            "      </xs:sequence>\n" +
-            "      <xs:attribute name='x' use='optional'/>\n" +
-            "      <xs:attribute name='y' use='required'/>\n" +
-            "      <xs:attribute name='z' use='prohibited'/>\n" +
-            "    </xs:complexType>\n" +
-            "  </xs:element>\n" +
-            "" +
-            "</xs:schema>\n";
-
-        String eric2Schema =
-            "<xs:schema\n" +
-            "   xmlns:xs='http://www.w3.org/2001/XMLSchema'\n" +
-            "   xmlns:nw='http://openuri.org/ericschema2'\n" +
-            "   xmlns:eric='http://openuri.org/ericschema'\n" +
-            "   targetNamespace='http://openuri.org/ericschema2'\n" +
-            "   elementFormDefault='qualified'>\n" +
-            "\n" +
-            "  <xs:complexType name='eric2'>\n" +
-            "    <xs:complexContent>\n" +
-            "      <xs:extension base='eric:foo'>\n" +
-            "        <xs:sequence>\n" +
-            "          <xs:element name='a' maxOccurs='unbounded'/>\n" +
-            "        </xs:sequence>\n" +
-            "      </xs:extension>\n" +
-            "    </xs:complexContent>\n" +
-            "  </xs:complexType>\n" +
-            "</xs:schema>\n";
-
-        String eric = "<eric y='Y' xmlns='http://openuri.org/ericschema'>";
-        String eric2 = "<eric xmlns='http://openuri.org/ericschema2'>";
-        String xsi = "xmlns:eric2='http://openuri.org/ericschema2' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'";
-
-        String[] valid = {
-            eric + "<a/><b/><c/><foo xsi:type='eric2:eric2' " +
-                xsi + "><a xmlns=\"http://openuri.org/ericschema2\"/></foo></eric>",
-            eric + "<a/><b/><boo xmlns='yaya'/><c/></eric>",
-            eric + "<a/><b/><c/></eric>",
-            eric + "<a x='y'/><b/><c/></eric>",
-            "<eric y='Y' x='X' xmlns='http://openuri.org/ericschema'>" +
-                "<a/><b/><c/></eric>"
-        };
-
-        String ericSansY =
-            "<eric xmlns='http://openuri.org/ericschema'>";
-
-        String[] invalid = {
-            "<foo/>",
-            "<eric><a/><foo/><c/></eric>",
-            eric + "text<a/><b/><c/></eric>",
-            eric + "<a/>text<b/><c/></eric>",
-            eric + "<a/><b/>text<c/></eric>",
-            eric + "<a/><b/><c/>text</eric>",
-            eric + "<a x='y'/><b/><c/>text</eric>",
-            eric + "<a/><b/><boo xmlns='yaya'/><moo xmlns='yaya'/><c/></eric>",
-            ericSansY + "<a/><b/><c/></eric>",
-            "<eric y='' z='' xmlns='http://openuri.org/ericschema'>" +
-                "<a/><b/><c/></eric>"
-        };
-
-        String[] schemas = { ericSchema, eric2Schema };
-        
-        doTest(
-            schemas,
-            new QName( "http://openuri.org/ericschema", "eric" ),
-            valid, invalid );
-    }
-
-    public void testValidate2 ( )
-        throws Exception
-    {
-        String bobSchema =
-            "<xs:schema\n" +
-            "   xmlns:xs='http://www.w3.org/2001/XMLSchema'\n" +
-            "   xmlns:bob='http://openuri.org/bobschema'\n" +
-            "   targetNamespace='http://openuri.org/bobschema'\n" +
-            "   elementFormDefault='qualified'>\n" +
-            "\n" +
-            "  <xs:complexType name='biff'>\n" +
-            "   <xs:complexContent>\n" +
-            "    <xs:extension base='bob:foo'>\n" +
-            "     <xs:sequence>\n" +
-            "       <xs:element name='a' minOccurs='0' maxOccurs='unbounded'/>\n" +
-            "     </xs:sequence>\n" +
-            "    </xs:extension>\n" +
-            "   </xs:complexContent>\n" +
-            "  </xs:complexType>\n" +
-            "" +
-            "  <xs:complexType name='foo'>\n" +
-            "  </xs:complexType>\n" +
-            "" +
-            "  <xs:element name='foo' type='bob:foo'>\n" +
-            "  </xs:element>\n" +
-            "" +
-            "</xs:schema>\n";
-
-        String xsiType = "xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'";
-
-        String[] valid = {
-            "<bob:foo xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:bob='http://openuri.org/bobschema' " +
-                "xsi:type='bob:biff'><bob:a/><bob:a/><bob:a/></bob:foo>"
-        };
-
-        String[] invalid = {
-            "<bob:foo xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:bob='http://openuri.org/bobschema' " +
-                "xsi:type='bob:biff'><bob:q/></bob:foo>",
-            "<bob:foo a='b' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:bob='http://openuri.org/bobschema' " +
-                "xsi:type='bob:biff'><bob:a/><bob:a/><bob:a/></bob:foo>"
-        };
-
-        String[] schemas = { bobSchema };
-        
-        doTest( schemas, null, valid, invalid );
-    }
-    
-    String ns =
-        "xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' " +
-            "xmlns:xs='http://www.w3.org/2001/XMLSchema'";
-
-    public void testValidate3 ( )
-        throws Exception
-    {
-        String schema =
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-            "" +
-            " <xs:simpleType name='allNNI'>\n" + 
-            "  <xs:annotation><xs:documentation>\n" + 
-            "   for maxOccurs</xs:documentation></xs:annotation>\n" + 
-            "  <xs:union memberTypes='xs:nonNegativeInteger'>\n" + 
-            "   <xs:simpleType>\n" + 
-            "    <xs:restriction base='xs:NMTOKEN'>\n" + 
-            "     <xs:enumeration value='unbounded'/>\n" + 
-            "    </xs:restriction>\n" + 
-            "   </xs:simpleType>\n" + 
-            "  </xs:union>\n" + 
-            " </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='ericBase64Binary'>\n" +
-            "    <xs:restriction base='xs:base64Binary'>\n" +
-            "      <xs:enumeration value='Eric'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='abcdHexBinary'>\n" +
-            "    <xs:restriction base='xs:hexBinary'>\n" +
-            "      <xs:enumeration value='abcd'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='zeroNumber'>\n" +
-            "    <xs:restriction base='number'>\n" +
-            "      <xs:enumeration value='Zero'/>\n" +
-            "      <xs:enumeration value='0'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='number'>\n" +
-            "    <xs:union>\n" +
-            "      <xs:simpleType>\n" +
-            "        <xs:restriction base='xs:decimal'/>\n" +
-            "      </xs:simpleType>\n" +
-            "      <xs:simpleType>\n" +
-            "        <xs:restriction base='xs:string'>\n" +
-            "          <xs:whiteSpace value='collapse'/>\n" +
-            "          <xs:enumeration value='Zero'/>\n" +
-            "          <xs:enumeration value='One'/>\n" +
-            "          <xs:enumeration value='Two'/>\n" +
-            "          <xs:enumeration value='Three'/>\n" +
-            "          <xs:enumeration value='Many'/>\n" +
-            "        </xs:restriction>\n" +
-            "      </xs:simpleType>\n" +
-            "    </xs:union>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='listOfInt'>\n" +
-            "    <xs:list itemType='xs:int'/>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='listOfPrime'>\n" +
-            "    <xs:list itemType='prime'/>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='ericBrother'>\n" +
-            "    <xs:restriction base='xs:string'>\n" +
-            "      <xs:whiteSpace value='collapse'/>\n" +
-            "      <xs:enumeration value='Brian'/>\n" +
-            "      <xs:enumeration value='Kevin'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='ericBrothers'>\n" +
-            "    <xs:list itemType='ericBrother'/>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='weekString'>\n" +
-            "    <xs:restriction base='xs:string'>\n" +
-            "      <xs:whiteSpace value='collapse'/>\n" +
-            "      <xs:enumeration value='Monday'/>\n" +
-            "      <xs:enumeration value='Tuesday'/>\n" +
-            "      <xs:enumeration value='Wednesday'/>\n" +
-            "      <xs:enumeration value='Thursday'/>\n" +
-            "      <xs:enumeration value='Friday'/>\n" +
-            "      <xs:enumeration value='Saturday'/>\n" +
-            "      <xs:enumeration value='Sunday'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='aYear'>\n" +
-            "    <xs:restriction base='xs:duration'>\n" +
-            "      <xs:enumeration value='P1Y'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='ericBDay'>\n" +
-            "    <xs:restriction base='xs:date'>\n" +
-            "      <xs:enumeration value='1965-06-10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='youngerThanEric'>\n" +
-            "    <xs:restriction base='xs:date'>\n" +
-            "      <xs:minExclusive value='1965-06-10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='fiveCharQname'>\n" +
-            "    <xs:restriction base='xs:QName'>\n" +
-            "      <xs:length value='5'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='wackyQname'>\n" +
-            "    <xs:restriction base='xs:QName'>\n" +
-            "      <xs:minLength value='3'/>\n" +
-            "      <xs:maxLength value='10'/>\n" +
-            "      <xs:pattern value='[xs:abcde]*'/>\n" +
-            "      <xs:enumeration value='xs:abc'/>\n" +
-            "      <xs:enumeration value='xs:bcd'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='fiveCharAnyURI'>\n" +
-            "    <xs:restriction base='xs:anyURI'>\n" +
-            "      <xs:length value='5'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='wackyAnyURI'>\n" +
-            "    <xs:restriction base='xs:anyURI'>\n" +
-            "      <xs:minLength value='3'/>\n" +
-            "      <xs:maxLength value='10'/>\n" +
-            "      <xs:enumeration value='foo'/>\n" +
-            "      <xs:enumeration value='bar'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='bit'>\n" +
-            "    <xs:restriction base='xs:boolean'>\n" +
-            "      <xs:pattern value='1|0'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='evenInteger'>\n" +
-            "    <xs:restriction base='xs:decimal'>\n" +
-            "      <xs:pattern value='[0-9]*[02468]'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='prime'>\n" +
-            "    <xs:restriction base='xs:decimal'>\n" +
-            "      <xs:pattern value='[0-9]*[13579]'/>\n" +
-            "      <xs:enumeration value='3'/>\n" +
-            "      <xs:enumeration value='5'/>\n" +
-            "      <xs:enumeration value='7'/>\n" +
-            "      <xs:enumeration value='11'/>\n" +
-            "      <xs:enumeration value='13'/>\n" +
-            "      <xs:enumeration value='17'/>\n" +
-            "      <xs:enumeration value='19'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='fourCharString'>\n" +
-            "    <xs:restriction base='xs:string'>\n" +
-            "      <xs:length value='4'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='threeOrMoreCharString'>\n" +
-            "    <xs:restriction base='xs:string'>\n" +
-            "      <xs:minLength value='3'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='fiveOrLessCharString'>\n" +
-            "    <xs:restriction base='xs:string'>\n" +
-            "      <xs:maxLength value='5'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='fiveTotalDigits'>\n" +
-            "    <xs:restriction base='xs:decimal'>\n" +
-            "      <xs:totalDigits value='5'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='threeFractionDigits'>\n" +
-            "    <xs:restriction base='xs:decimal'>\n" +
-            "      <xs:fractionDigits value='3'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='tenMinExclusive'>\n" +
-            "    <xs:restriction base='xs:decimal'>\n" +
-            "      <xs:minExclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='tenMaxExclusive'>\n" +
-            "    <xs:restriction base='xs:decimal'>\n" +
-            "      <xs:maxExclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='tenMaxInclusive'>\n" +
-            "    <xs:restriction base='xs:decimal'>\n" +
-            "      <xs:maxInclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='tenMinInclusive'>\n" +
-            "    <xs:restriction base='xs:decimal'>\n" +
-            "      <xs:minInclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='tenMinExclusiveFloat'>\n" +
-            "    <xs:restriction base='xs:float'>\n" +
-            "      <xs:minExclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='tenMaxExclusiveFloat'>\n" +
-            "    <xs:restriction base='xs:float'>\n" +
-            "      <xs:maxExclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='tenMaxInclusiveFloat'>\n" +
-            "    <xs:restriction base='xs:float'>\n" +
-            "      <xs:maxInclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='tenMinInclusiveFloat'>\n" +
-            "    <xs:restriction base='xs:float'>\n" +
-            "      <xs:minInclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "\n" +
-            "  <xs:simpleType name='tenMinExclusiveDouble'>\n" +
-            "    <xs:restriction base='xs:double'>\n" +
-            "      <xs:minExclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='tenMaxExclusiveDouble'>\n" +
-            "    <xs:restriction base='xs:double'>\n" +
-            "      <xs:maxExclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='tenMaxInclusiveDouble'>\n" +
-            "    <xs:restriction base='xs:double'>\n" +
-            "      <xs:maxInclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "" +
-            "  <xs:simpleType name='tenMinInclusiveDouble'>\n" +
-            "    <xs:restriction base='xs:double'>\n" +
-            "      <xs:minInclusive value='10'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "\n" +
-            "  <xs:element name='any'>\n" +
-            "  </xs:element>\n" +
-            "" +
-            "  <xs:element name='default_12345' default='12345'>\n" +
-            "  </xs:element>\n" +
-            "" +
-            "  <xs:element name='default_1234' default='1234'>\n" +
-            "  </xs:element>\n" +
-            "" +
-            "  <xs:element name='default_eric' default='eric'>\n" +
-            "  </xs:element>\n" +
-            "" +
-            "</xs:schema>\n";
-
-        String[] valid = {
-            "<any " + ns + " xsi:type='threeFractionDigits'>.1</any>",
-            "<any " + ns + " xsi:type='threeFractionDigits'>.12</any>",
-            "<any " + ns + " xsi:type='threeFractionDigits'>.123</any>",
-
-            "<any " + ns + " xsi:type='allNNI'>unbounded</any>",
-            "<any " + ns + " xsi:type='allNNI'>0</any>",
-            "<any " + ns + " xsi:type='allNNI'>1</any>",
-
-            "<any " + ns + " xsi:type='xs:base64Binary'>CAFEBABE</any>",
-            "<any " + ns + " xsi:type='abcdHexBinary'>abcd</any>",
-
-            "<any " + ns + " xsi:type='xs:base64Binary'>abcdefgh</any>",
-            "<any " + ns + " xsi:type='ericBase64Binary'>Eric</any>",
-
-            "<any " + ns + " xsi:type='zeroNumber'> Zero</any>",
-            "<any " + ns + " xsi:type='zeroNumber'>Zero</any>",
-            "<any " + ns + " xsi:type='zeroNumber'>0</any>",
-
-            "<any " + ns + " xsi:type='number'>1</any>",
-            "<any " + ns + " xsi:type='number'> 1 </any>",
-            "<any " + ns + " xsi:type='number'>Two</any>",
-            "<any " + ns + " xsi:type='number'> Three </any>",
-
-            "<any " + ns + " xsi:type='ericBrothers'></any>",
-            "<any " + ns + " xsi:type='ericBrothers'>Brian</any>",
-            "<any " + ns + " xsi:type='ericBrothers'>Kevin</any>",
-            "<any " + ns + " xsi:type='ericBrothers'>Kevin Brian</any>",
-            "<any " + ns + " xsi:type='ericBrothers'>Brian Kevin</any>",
-
-            "<any " + ns + " xsi:type='listOfInt'>  1  22  333  4444  </any>",
-            "<any " + ns + " xsi:type='listOfInt'></any>",
-            "<any " + ns + " xsi:type='listOfInt'>5999</any>",
-
-            "<any " + ns + " xsi:type='aYear'>P1Y</any>",
-
-            "<any " + ns + " xsi:type='fiveCharAnyURI'>abcde</any>",
-            "<any " + ns + " xsi:type='xs:anyURI'>foo</any>",
-            "<any " + ns + " xsi:type='wackyAnyURI'>foo</any>",
-
-            "<any " + ns + " xsi:type='youngerThanEric'>1965-06-11</any>",
-            "<any " + ns + " xsi:type='ericBDay'>1965-06-10</any>",
-            "<any " + ns + " xsi:type='xs:dateTime'>1999-05-31T13:20:00-05:00</any>",
-            "<any " + ns + " xsi:type='xs:time'>00:00:00</any>",
-            "<any " + ns + " xsi:type='xs:time'>13:20:00-05:00</any>",
-
-            "<any " + ns + " xsi:type='wackyQname'>xs:abc</any>",
-            "<any " + ns + " xsi:type='fiveCharQname'>abcde</any>",
-            "<any " + ns + " xsi:type='fiveCharQname'>xs:ab</any>",
-            "<any " + ns + " xsi:type='prime'>3</any>",
-            "<any " + ns + " xsi:type='prime'>11</any>",
-            "<any " + ns + " xsi:type='xs:integer'>+45</any>",
-            "<any " + ns + " xsi:type='xs:integer'>1</any>",
-            "<any " + ns + " xsi:type='xs:integer'>0</any>",
-            "<any " + ns + " xsi:type='xs:integer'>-1</any>",
-            "<any " + ns + " xsi:type='xs:integer'>-1</any>",
-            "<any " + ns + " xsi:type='xs:integer'>489743579837589743434</any>",
-            "<any " + ns + " xsi:type='xs:boolean'>1</any>",
-            "<default_1234 " + ns + " xsi:type='evenInteger'></default_1234>",
-            "<any " + ns + " xsi:type='evenInteger'>12</any>",
-            "<any " + ns + " xsi:type='bit'>1</any>",
-            "<any " + ns + " xsi:type='bit'>0</any>",
-            "<any " + ns + " xsi:type='xs:boolean'>false</any>",
-            "<any " + ns + " xsi:type='evenInteger'>0</any>",
-            "<any " + ns + " xsi:type='weekString'>Monday</any>",
-            "<any " + ns + " xsi:type='weekString'>Sunday</any>",
-            "<any " + ns + " xsi:type='weekString'>  Thursday  </any>",
-
-            "<any " + ns + " xsi:type='tenMinExclusive'>10.1</any>",
-            "<any " + ns + " xsi:type='tenMaxExclusive'>9.9</any>",
-            "<any " + ns + " xsi:type='tenMinInclusive'>10</any>",
-            "<any " + ns + " xsi:type='tenMinInclusive'>10.1</any>",
-            "<any " + ns + " xsi:type='tenMaxInclusive'>10</any>",
-            "<any " + ns + " xsi:type='tenMaxInclusive'>9.9</any>",
-
-            "<any " + ns + " xsi:type='tenMinExclusiveFloat'>10.1</any>",
-            "<any " + ns + " xsi:type='tenMaxExclusiveFloat'>9.9</any>",
-            "<any " + ns + " xsi:type='tenMinInclusiveFloat'>10</any>",
-            "<any " + ns + " xsi:type='tenMinInclusiveFloat'>10.1</any>",
-            "<any " + ns + " xsi:type='tenMaxInclusiveFloat'>10</any>",
-            "<any " + ns + " xsi:type='tenMaxInclusiveFloat'>9.9</any>",
-
-            "<any " + ns + " xsi:type='tenMinExclusiveDouble'>10.1</any>",
-            "<any " + ns + " xsi:type='tenMaxExclusiveDouble'>9.9</any>",
-            "<any " + ns + " xsi:type='tenMinInclusiveDouble'>10</any>",
-            "<any " + ns + " xsi:type='tenMinInclusiveDouble'>10.1</any>",
-            "<any " + ns + " xsi:type='tenMaxInclusiveDouble'>10</any>",
-            "<any " + ns + " xsi:type='tenMaxInclusiveDouble'>9.9</any>",
-
-            "<any " + ns + " xsi:type='fourCharString'>eric</any>",
-            "<any " + ns + " xsi:type='threeOrMoreCharString'>12345</any>",
-            "<any " + ns + " xsi:type='fiveOrLessCharString'>1234</any>",
-            "<any " + ns + " xsi:type='fiveTotalDigits'>12345</any>",
-            "<any " + ns + " xsi:type='fiveTotalDigits'>1234</any>",
-            "<default_1234 " + ns + " xsi:type='evenInteger'>\n\n</default_1234>"
-        };
-
-        String[] invalid = {
-            "<any " + ns + " xsi:type='allNNI'>foo</any>",
-            "<any " + ns + " xsi:type='xs:hexBinary'>P</any>",
-            "<any " + ns + " xsi:type='xs:hexBinary'>CAFEBABP</any>",
-            "<any " + ns + " xsi:type='abcdHexBinary'>abce</any>",
-
-            "<any " + ns + " xsi:type='xs:base64Binary'>abcde</any>",
-            "<any " + ns + " xsi:type='ericBase64Binary'>Erik</any>",
-
-            "<any " + ns + " xsi:type='zeroNumber'>One</any>",
-            "<any " + ns + " xsi:type='zeroNumber'>Twenty</any>",
-
-            "<any " + ns + " xsi:type='number'>Seven</any>",
-            "<any " + ns + " xsi:type='number'>Bob</any>",
-            "<any " + ns + " xsi:type='number'></any>",
-
-            "<any " + ns + " xsi:type='ericBrothers'>1</any>",
-            "<any " + ns + " xsi:type='ericBrothers'>Bob</any>",
-            "<any " + ns + " xsi:type='ericBrothers'>Ralph Frank</any>",
-
-            "<any " + ns + " xsi:type='listOfInt'>  1  22  333  Eric  </any>",
-            "<any " + ns + " xsi:type='listOfInt'>Eric</any>",
-            "<any " + ns + " xsi:type='listOfInt'>-</any>",
-
-            "<any " + ns + " xsi:type='aYear'>P2Y</any>",
-
-            "<any " + ns + " xsi:type='youngerThanEric'>1965-06-10</any>",
-            "<any " + ns + " xsi:type='ericBDay'>1985-06-10</any>",
-            "<any " + ns + " xsi:type='xs:dateTime'>xx1999-05-31T13:20:00-05:00</any>",
-            "<any " + ns + " xsi:type='xs:dateTime'>eric</any>",
-            "<any " + ns + " xsi:type='xs:time'>99:99:00</any>",
-            "<any " + ns + " xsi:type='xs:time'>13:20:00-99:00</any>",
-
-            "<any " + ns + " xsi:type='wackyAnyURI'>moo</any>",
-            "<any " + ns + " xsi:type='fiveCharAnyURI'>ab</any>",
-
-            "<any " + ns + " xsi:type='wackyQname'>xs:abcdefghijk</any>",
-            "<any " + ns + " xsi:type='wackyQname'>xs:pqr</any>",
-            "<any " + ns + " xsi:type='xs:QName'>foo:bar</any>",
-            "<any " + ns + " xsi:type='fiveCharQname'>xs:abc</any>",
-            "<any " + ns + " xsi:type='prime'>12</any>",
-            "<any " + ns + " xsi:type='prime'>6</any>",
-            "<any " + ns + " xsi:type='xs:integer'>foo</any>",
-            "<any " + ns + " xsi:type='xs:integer'>.1</any>",
-            "<any " + ns + " xsi:type='evenInteger'>1</any>",
-            "<any " + ns + " xsi:type='bit'>true</any>",
-            "<any " + ns + " xsi:type='bit'>false</any>",
-            "<any " + ns + " xsi:type='bit'>nibble</any>",
-            "<any " + ns + " xsi:type='bit'>2</any>",
-            "<any " + ns + " xsi:type='xs:boolean'>blurf</any>",
-            "<any " + ns + " xsi:type='xs:boolean'></any>",
-            "<any " + ns + " xsi:type='evenInteger'></any>",
-            "<any " + ns + " xsi:type='weekString'>Monday Sucks</any>",
-
-            "<any " + ns + " xsi:type='tenMaxExclusive'>10.1</any>",
-            "<any " + ns + " xsi:type='tenMaxExclusive'>10</any>",
-            "<any " + ns + " xsi:type='tenMinExclusive'>10</any>",
-            "<any " + ns + " xsi:type='tenMinExclusive'>9.9</any>",
-            "<any " + ns + " xsi:type='tenMinInclusive'>9.9</any>",
-            "<any " + ns + " xsi:type='tenMaxInclusive'>10.1</any>",
-
-            "<any " + ns + " xsi:type='tenMaxExclusiveFloat'>10.1</any>",
-            "<any " + ns + " xsi:type='tenMaxExclusiveFloat'>10</any>",
-            "<any " + ns + " xsi:type='tenMinExclusiveFloat'>10</any>",
-            "<any " + ns + " xsi:type='tenMinExclusiveFloat'>9.9</any>",
-            "<any " + ns + " xsi:type='tenMinInclusiveFloat'>9.9</any>",
-            "<any " + ns + " xsi:type='tenMaxInclusiveFloat'>10.1</any>",
-
-            "<any " + ns + " xsi:type='tenMaxExclusiveDouble'>10.1</any>",
-            "<any " + ns + " xsi:type='tenMaxExclusiveDouble'>10</any>",
-            "<any " + ns + " xsi:type='tenMinExclusiveDouble'>10</any>",
-            "<any " + ns + " xsi:type='tenMinExclusiveDouble'>9.9</any>",
-            "<any " + ns + " xsi:type='tenMinInclusiveDouble'>9.9</any>",
-            "<any " + ns + " xsi:type='tenMaxInclusiveDouble'>10.1</any>",
-
-            "<any " + ns + " xsi:type='fiveOrLessCharString'> 1234 </any>",
-            "<any " + ns + " xsi:type='fiveTotalDigits'>123456</any>",
-            "<any " + ns + " xsi:type='fourCharString'>vasilik</any>",
-            "<any " + ns + " xsi:type='threeOrMoreCharString'>1</any>",
-            "<any " + ns + " xsi:type='fiveOrLessCharString'>1234567</any>",
-            "<any " + ns + " xsi:type='threeFractionDigits'>.1234</any>",
-            "<any " + ns + " xsi:type='fourCharString'> eric </any>",
-
-            "<default_12345 " + ns + " xsi:type='evenInteger'></default_12345>",
-            "<default_12345 " + ns + " xsi:type='evenInteger'>\n\n</default_12345>"
-        };
-
-        String[] schemas = { schema };
-
-        doTest( schemas, null, valid, invalid );
-    }
-
-    public void testValidate4 ( )
-        throws Exception
-    {
-        String schema =
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-            "\n" +
-            "  <xs:element name='any'>\n" +
-            "  </xs:element>\n" +
-            "\n" +
-            "  <xs:simpleType name='kindaPrime'>\n" +
-            "    <xs:restriction base='xs:decimal'>\n" +
-            "      <xs:pattern value='[0-9]*[13579]'/>\n" +
-            "      <xs:enumeration value='3'/>\n" +
-            "      <xs:enumeration value='5'/>\n" +
-            "      <xs:enumeration value='7'/>\n" +
-            "      <xs:enumeration value='11'/>\n" +
-            "      <xs:enumeration value='13'/>\n" +
-            "      <xs:enumeration value='17'/>\n" +
-            "      <xs:enumeration value='19'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "\n" +
-            "</xs:schema>\n" +
-            "";
-
-        String[] schemas = { schema };
-
-        SchemaTypeLoader stl = makeSchemaTypeLoader( schemas );
-
-        XmlObject x =
-            stl.parse(
-                "<any " + ns + " xsi:type='kindaPrime'>100</any>",
-                null, null );
-
-        // Make sure the unvalidated stream is OK
-
-        XMLInputStream xis = x.newXMLInputStream();
-
-        while ( xis.hasNext() )
-            xis.next();
-
-        // Make sure the validated stream fails
-
-        boolean blewChunks = false;
-
-        xis =
-            stl.newValidatingXMLInputStream(
-                x.newXMLInputStream(), null, null );
-
-        try
-        {
-            while ( xis.hasNext() )
-                xis.next();
-        }
-        catch ( XMLStreamValidationException e )
-        {
-            blewChunks = true;
-        }
-
-        Assert.assertTrue( blewChunks );
-    }
-
-    public void testValidate5 ( )
-        throws Exception
-    {
-        String schema =
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-            "\n" +
-            "  <xs:element name='hee'>\n" +
-            "    <xs:complexType>\n" +
-            "      <xs:sequence>\n" +
-            "        <xs:element name='haw' type='xs:int'/>\n" +
-            "      </xs:sequence>\n" +
-            "      <xs:attribute name='yee' type='xs:int'/>\n" +
-            "    </xs:complexType>\n" +
-            "  </xs:element>\n" +
-            "\n" +
-            "  <xs:simpleType name='kindaPrime'>\n" +
-            "    <xs:restriction base='xs:decimal'>\n" +
-            "      <xs:pattern value='[0-9]*[13579]'/>\n" +
-            "      <xs:enumeration value='3'/>\n" +
-            "      <xs:enumeration value='5'/>\n" +
-            "      <xs:enumeration value='7'/>\n" +
-            "      <xs:enumeration value='11'/>\n" +
-            "      <xs:enumeration value='13'/>\n" +
-            "      <xs:enumeration value='17'/>\n" +
-            "      <xs:enumeration value='19'/>\n" +
-            "    </xs:restriction>\n" +
-            "  </xs:simpleType>\n" +
-            "\n" +
-            "</xs:schema>\n" +
-            "";
-
-        String[] schemas = { schema };
-
-        SchemaTypeLoader stl = makeSchemaTypeLoader( schemas );
-
-        XmlObject x =
-            stl.parse(
-                "<hee yee='3'><haw>66</haw></hee>",
-                    null, null );
-
-        XmlCursor c = x.newCursor();
-
-        for ( ; ; )
-        {
-            XmlObject obj = c.getObject();
-
-            if (obj != null)
-                obj.validate();
-
-            if (c.toNextToken().isNone())
-                break;
-        }
-
-        // invalid
-
-        x =
-            stl.parse(
-                "<hee yee='five'><haw>66</haw></hee>",
-                null, null );
-
-        Assert.assertTrue( ! x.validate() );
-
-        c = x.newCursor();
-        c.toNextToken();
-        c.toNextToken();
-
-        Assert.assertTrue( ! c.getObject().validate() );
-
-        // No schema
-
-        x = XmlObject.Factory.parse( "<foo x='y'>asas<bar>asas</bar></foo>" );
-
-        c = x.newCursor();
-
-        for ( ; ; )
-        {
-            XmlObject obj = c.getObject();
-
-            if (obj != null)
-                obj.validate();
-
-            if (c.toNextToken().isNone())
-                break;
-        }
-    }
-
-    public void testValidate6 ( )
-        throws Exception
-    {
-        String schema =
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-            "  <xs:element name='hee'>\n" +
-            "  </xs:element>\n" +
-            "</xs:schema>\n" +
-            "";
-
-        String[] schemas = { schema, schema };
-
-
-        // Should get a schema compile error
-
-        try
-        {
-            makeSchemaTypeLoader( schemas );
-            Assert.assertTrue( false );
-        }
-        catch ( XmlException e )
-        {
-        }
-    }
-
-    public void testValidate7 ( )
-        throws Exception
-    {
-        String schema =
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>" +
-            "" +
-            "  <xs:element name='base' type='base'/>" +
-            "" +
-            "  <xs:complexType name='base'>" +
-            "    <xs:sequence>" +
-            "      <xs:element name='foo'/>" +
-            "    </xs:sequence>" +
-            "  </xs:complexType>" +
-            "" +
-            "  <xs:complexType name='derived'>" +
-            "    <xs:complexContent>" +
-            "      <xs:extension base='base'>" +
-            "        <xs:sequence>" +
-            "          <xs:element name='bar'/>" +
-            "        </xs:sequence>" +
-            "      </xs:extension>" +
-            "    </xs:complexContent>" +
-            "  </xs:complexType>" +
-            "" +
-            "</xs:schema>" +
-            "";
-
-        String[] schemas = { schema };
-
-        SchemaTypeLoader stl = makeSchemaTypeLoader( schemas );
-
-        XmlObject x =
-            stl.parse(
-                "<base><foo/></base>", null, null );
-
-        Assert.assertTrue( x.validate() );
-
-        XmlCursor c = x.newCursor();
-
-        c.toFirstChild();
-
-        XmlObject base = c.getObject();
-
-        c.toEndToken();
-        c.insertElement( "bar" );
-
-        Assert.assertTrue( !x.validate() );
-
-        c.toPrevSibling();
-
-        c.removeXml();
-
-        Assert.assertTrue( x.validate() );
-
-        base.changeType( stl.findType( new QName( "derived" ) ) );
-
-        c.insertElement( "bar" );
-
-        Assert.assertTrue( x.validate() );
-    }
-
-    // Tests abstract & block attributes on ComplexType
-    public void testValidate8() throws Exception
-    {
-        String[] schemas = {
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>" +
-            "" +
-            "  <xs:element name='abstract' type='abstract'/>" +
-            "  <xs:element name='base' type='base'/>" +
-            "" +
-            "  <xs:complexType name='abstract' abstract='true'/>" +
-            "" +
-            "  <xs:complexType name='concrete'>" +
-            "    <xs:complexContent>" +
-            "      <xs:extension base='abstract'/>" +
-            "    </xs:complexContent>" +
-            "  </xs:complexType>" +
-            "" +
-            "  <xs:complexType name='base' block='extension'/>" +
-            "" +
-            "  <xs:complexType name='ext'>" +
-            "    <xs:complexContent>" +
-            "      <xs:extension base='base'/>" +
-            "    </xs:complexContent>" +
-            "  </xs:complexType>" +
-            "" +
-            "  <xs:complexType name='rest'>" +
-            "    <xs:complexContent>" +
-            "      <xs:restriction base='base'/>" +
-            "    </xs:complexContent>" +
-            "  </xs:complexType>" +
-            "" +
-            "</xs:schema>" +
-            "",
-        };
-
-        String xsiType = " xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' ";
-
-        String[] valid = {
-            "<abstract" + xsiType + "xsi:type='concrete'/>",
-            "<base/>",
-            "<base" + xsiType + "xsi:type='rest'/>",
-        };
-        String[] invalid = {
-            "<abstract/>",
-            "<base" + xsiType + "xsi:type='ext'/>",
-        };
-
-        doTest(schemas, null, valid, invalid);
-    }
-
-    public void testValidate9() throws Exception
-    {
-
-        String[] schemas = {
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>" +
-            "   <xs:element name='order' type='OrderType'>" +
-            "       <xs:keyref name='prodNumKeyRef' refer='prodNumKey'>" +
-            "           <xs:selector xpath='items/*'/>" +
-            "           <xs:field xpath='@number'/>" +
-            "       </xs:keyref>" +
-            "       <xs:key name='prodNumKey'>" +
-            "           <xs:selector xpath='.//product'/>" +
-            "           <xs:field xpath='number'/>" +
-            "       </xs:key>" +
-            "   </xs:element>" +
-
-            "   <xs:complexType name='OrderType'>" +
-            "       <xs:sequence>" +
-            "           <xs:element name='items'>" +
-            "               <xs:complexType>" +
-            "                   <xs:sequence>" +
-            "                       <xs:element name='item' type='ItemType' minOccurs='0' maxOccurs='unbounded'/>" +
-            "                   </xs:sequence>" +
-            "               </xs:complexType>" +
-            "           </xs:element>" +
-            "           <xs:element name='products'>" +
-            "               <xs:complexType>" +
-            "                   <xs:sequence>" +
-            "                       <xs:element name='product' type='ProductType' maxOccurs='unbounded' minOccurs='0'/>" +
-            "                   </xs:sequence>" +
-            "               </xs:complexType>" +
-            "           </xs:element>" +
-            "       </xs:sequence>" +
-            "       <xs:attribute name='number' type='xs:string'/>" +
-            "   </xs:complexType>" +
-
-            "   <xs:complexType name='ItemType'>" +
-            "       <xs:sequence>" +
-            "           <xs:element name='quantity' type='xs:int'/>" +
-            "       </xs:sequence>" +
-            "       <xs:attribute name='number' type='xs:int'/>" +
-            "   </xs:complexType>" +
-
-            "   <xs:complexType name='ProductType'>" +
-            "       <xs:sequence>" +
-            "           <xs:element name='number' type='xs:int' minOccurs='0'/>" +
-            "           <xs:element name='name' type='xs:string'/>" +
-            "           <xs:element name='price'>" +
-            "               <xs:complexType>" +
-            "                   <xs:simpleContent>" +
-            "                       <xs:extension base='xs:decimal'>" +
-            "                           <xs:attribute name='currency' type='xs:string'/>" +
-            "                       </xs:extension>" +
-            "                   </xs:simpleContent>" +
-            "               </xs:complexType>" +
-            "           </xs:element>" +
-            "       </xs:sequence>" +
-            "   </xs:complexType>" +
-            "</xs:schema> ",
-
-            "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>" +
-
-            "    <xsd:element name='root' type='RootType'>" +
-            "        <xsd:key name='FooId'>" +
-            "            <xsd:selector xpath='.//string|.//token|.//int'/>" +
-            "            <xsd:field xpath='@id'/>" +
-            "        </xsd:key>" +
-            "    </xsd:element>" +
-
-            "    <xsd:group name='group'>" +
-            "        <xsd:choice>" +
-            "            <xsd:element ref='string'/>" +
-            "            <xsd:element ref='token'/>" +
-            "            <xsd:element ref='int'/>" +
-            "        </xsd:choice>" +
-            "    </xsd:group>" +
-
-            "    <xsd:complexType name='RootType'>" +
-            "        <xsd:group ref='group' minOccurs='0' maxOccurs='unbounded'/>" +
-            "    </xsd:complexType>" +
-
-            "    <xsd:element name='string'>" +
-            "       <xsd:complexType>" +
-            "            <xsd:group ref='group' minOccurs='0' maxOccurs='unbounded'/>" +
-            "            <xsd:attribute name='id' type='xsd:string'/>" +
-            "        </xsd:complexType>" +
-            "    </xsd:element>" +
-
-            "    <xsd:element name='int'>" +
-            "        <xsd:complexType>" +
-            "            <xsd:group ref='group' minOccurs='0' maxOccurs='unbounded'/>" +
-            "            <xsd:attribute name='id' type='xsd:int'/>" +
-            "        </xsd:complexType>" +
-            "    </xsd:element>" +
-
-            "    <xsd:element name='token'>" +
-            "        <xsd:complexType>" +
-            "            <xsd:group ref='group' minOccurs='0' maxOccurs='unbounded'/>" +
-            "            <xsd:attribute name='id' type='xsd:token'/>" +
-            "        </xsd:complexType>" +
-            "    </xsd:element>" +
-
-            "</xsd:schema>",
-
-            "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema' " +
-            "    targetNamespace='http://www.tim-hanson.com/' xmlns:th='http://www.tim-hanson.com/' " +
-            "    attributeFormDefault='qualified' elementFormDefault='qualified'>" +
-
-            "    <xsd:element name='root'>" +
-            "        <xsd:complexType>" +
-            "            <xsd:sequence>" +
-            "                <xsd:element name='foo' maxOccurs='unbounded'>" +
-            "                    <xsd:complexType>" +
-            "                        <xsd:attribute name='id' type='xsd:int'/>" +
-            "                    </xsd:complexType>" +
-            "                </xsd:element>" +
-            "            </xsd:sequence>" +
-            "        </xsd:complexType>" +
-            "        <xsd:key name='id'>" +
-            "            <xsd:selector xpath='./th:foo'/>" +
-            "            <xsd:field xpath='@th:id'/>" +
-            "        </xsd:key>" +
-            "    </xsd:element>" +
-            "</xsd:schema>",
-
-            "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema' >" +
-            "    <xsd:element name='idtest'>" +
-            "        <xsd:complexType>" +
-            "            <xsd:sequence maxOccurs='unbounded'>" +
-            "                <xsd:choice>" +
-            "                    <xsd:element name='id' maxOccurs='unbounded' type='xsd:ID'/>" +
-            "                    <xsd:element name='idref' maxOccurs='unbounded' type='xsd:IDREF'/>" +
-            "                    <xsd:element name='idrefs' maxOccurs='unbounded' type='xsd:IDREFS'/>" +
-            "                </xsd:choice>" +
-            "            </xsd:sequence>" +
-            "        </xsd:complexType>" +
-            "    </xsd:element>" +
-            "</xsd:schema>",
-
-        };
-
-        String[] valid = {
-            "<order>" +
-            "    <items>" +
-            "      <item number='124 '>" +
-            "          <quantity>1</quantity>" +
-            "      </item>" +
-            "      <item number='563'>" +
-            "          <quantity>1</quantity>" +
-            "      </item>" +
-            "    </items>" +
-            "    <products>" +
-            "        <product>" +
-            "            <number> 124</number>" +
-            "            <name>Shirt</name>" +
-            "            <price currency='USD'>29.99</price>" +
-            "        </product>" +
-            "        <product>" +
-            "            <number>563</number>" +
-            "            <name>Hat</name>" +
-            "            <price currency='USD'>69.99</price>" +
-            "        </product>" +
-            "        <product>" +
-            "            <number>443</number>" +
-            "            <name>Umbrella</name>" +
-            "            <price currency='USD'>49.99</price>" +
-            "        </product>" +
-            "    </products>" +
-            "</order>",
-
-            "<root>" +
-            "    <string id='foo1'>" +
-            "        <string id='foo2'>" +
-            "            <string id='foo3'>" +
-            "                <string id='foo6'>" +
-            "                    <string id='foo7'>" +
-            "                        <string id='foo8'/>" +
-            "                    </string>" +
-            "                </string>" +
-            "            </string>" +
-            "            <string id='foo4'/>" +
-            "        </string>" +
-            "        <string id='foo9'/>" +
-            "    </string>" +
-            "</root>",
-
-            "<root>" +
-            "    <int id='1'/>" +
-            "    <string id='1'/>" +
-            "</root>",
-
-            "<xyz:root xmlns:xyz='http://www.tim-hanson.com/'>" +
-            "  <xyz:foo xyz:id='1'/>" +
-            "  <xyz:foo xyz:id='2'/>" +
-            "  <xyz:foo xyz:id='3'/>" +
-            "</xyz:root>",
-
-            "<idtest>" +
-            "  <idref>xyz</idref>" +
-            "  <idrefs>abc def</idrefs>" +
-            "  <id>abc</id>" +
-            "  <id>def</id>" +
-            "  <id>xyz</id>" +
-            "  <idref>abc</idref>" +
-            "  <idrefs>xyz abc</idrefs>" +
-            "</idtest>",
-        };
-
-        String[] invalid = {
-            "<order>" +
-            "    <items>" +
-            "      <item number='125 '>" +
-            "          <quantity>1</quantity>" +
-            "      </item>" +
-            "      <item number='563'>" +
-            "          <quantity>1</quantity>" +
-            "      </item>" +
-            "    </items>" +
-            "    <products>" +
-            "        <product>" +
-            "            <number> 124</number>" +
-            "            <name>Shirt</name>" +
-            "            <price currency='USD'>29.99</price>" +
-            "        </product>" +
-            "        <product>" +
-            "            <number>563</number>" +
-            "            <name>Hat</name>" +
-            "            <price currency='USD'>69.99</price>" +
-            "        </product>" +
-            "        <product>" +
-            "            <number>443</number>" +
-            "            <name>Umbrella</name>" +
-            "            <price currency='USD'>49.99</price>" +
-            "        </product>" +
-            "    </products>" +
-            "</order>",
-
-            "<root>" +
-            "    <token token='  blah  blah'/>" +
-            "    <string id='blah blah'/>" +
-            "</root>",
-
-            "<root>" +
-            "    <string id='foo1'>" +
-            "        <string id='foo2'>" +
-            "            <string id='foo3'>" +
-            "                <string id='foo6'>" +
-            "                    <string id='foo7'>" +
-            "                        <string id='foo3'/>" +
-            "                    </string>" +
-            "                </string>" +
-            "            </string>" +
-            "        </string>" +
-            "    </string>" +
-            "</root>",
-
-            "<xyz:root xmlns:xyz='http://www.tim-hanson.com/'>" +
-            "  <xyz:foo xyz:id='1'/>" +
-            "  <xyz:foo xyz:id='2'/>" +
-            "  <xyz:foo xyz:id='2'/>" +
-            "</xyz:root>",
-        };
-
-        String[] invalidOnDocOnly = new String[]
-        {
-
-            "<idtest>" +
-            "  <idref>foo</idref>" +
-            "  <id>abc</id>" +
-            "  <id>def</id>" +
-            "  <id>xyz</id>" +
-            "</idtest>",
-
-            "<idtest>" +
-            "  <idrefs>abc foo</idrefs>" +
-            "  <id>abc</id>" +
-            "  <id>def</id>" +
-            "  <id>xyz</id>" +
-            "</idtest>",
-        };
-
-
-        doTest(schemas, null, valid, invalid, true);
-        doTest(schemas, null, valid, invalid, false);
-
-         // IDRefs are validated only if starting at the very root of the world
-        doTest(schemas, null, new String[0], invalidOnDocOnly, true);
-        doTest(schemas, null, invalidOnDocOnly, new String[0], false);
-    }
-
-    // Test validation of setting with the ValidateOnSet option
-    public void testValidate10() throws Exception {
-        String schema =
-            "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>\n" +
-            "  <xs:simpleType name='dec-restriction'>" +
-            "    <xs:restriction base='xs:decimal'>" +
-            "      <xs:maxExclusive value='100'/>" +
-            "    </xs:restriction>" +
-            "  </xs:simpleType>" +
-            "</xs:schema>" +
-            "";
-        
-        String[] schemas = { schema };
-        
-        SchemaTypeLoader stl = makeSchemaTypeLoader( schemas );
-
-        XmlOptions validate = new XmlOptions().setValidateOnSet();
-        XmlOptions noValidate = new XmlOptions();
-
-        SchemaType st = stl.findType(new QName("", "dec-restriction"));
-
-        XmlDecimal dec = (XmlDecimal)stl.newInstance(st, validate);
-
-        try {
-            dec.set("200");
-            fail("Expected XmlValueOutOfRangeException");
-        }
-        catch (XmlValueOutOfRangeException e) {}
-
-        dec = (XmlDecimal)stl.newInstance(st, noValidate);
-
-        try {
-            dec.set("200");
-        }
-        catch (XmlValueOutOfRangeException e) {
-            fail("Should not throw exception");
-        }
-
-    }
-
-}
diff --git a/v1/test/src/easypo/easypo.xsd b/v1/test/src/easypo/easypo.xsd
deleted file mode 100644
index 769c68c..0000000
--- a/v1/test/src/easypo/easypo.xsd
+++ /dev/null
@@ -1,44 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:po="http://openuri.org/easypo"
-   targetNamespace="http://openuri.org/easypo"
-   elementFormDefault="qualified">
-
-  <xs:element name="purchase-order">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="customer" type="po:customer"/>
-        <xs:element name="date" type="xs:dateTime"/>
-        <xs:element name="line-item" type="po:line-item" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element name="shipper" type="po:shipper" minOccurs="0" maxOccurs="1"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:complexType name="customer">
-    <xs:sequence>
-      <xs:element name="name" type="xs:string"/>
-      <xs:element name="address" type="xs:string"/>
-    </xs:sequence>
-    <xs:attribute name="age" type="xs:int"/>
-    <xs:attribute name="moo" type="xs:int" default="100"/>
-    <xs:attribute name="poo" type="xs:int" fixed="200"/>
-  </xs:complexType>
-
-  <xs:complexType name="line-item">
-    <xs:sequence>
-      <xs:element name="description" type="xs:string"/>
-      <xs:element name="per-unit-ounces" type="xs:decimal"/>
-      <xs:element name="price" type="xs:decimal"/>
-      <xs:element name="quantity" type="xs:integer"/>
-    </xs:sequence>
-  </xs:complexType>
-
-  <xs:complexType name="shipper">
-    <xs:sequence>
-      <xs:element name="name" type="xs:string"/>
-      <xs:element name="per-ounce-rate" type="xs:decimal"/>
-    </xs:sequence>
-  </xs:complexType>
-
-</xs:schema>
diff --git a/v1/test/src/easypo/easypo.xsdconfig b/v1/test/src/easypo/easypo.xsdconfig
deleted file mode 100644
index dadb685..0000000
--- a/v1/test/src/easypo/easypo.xsdconfig
+++ /dev/null
@@ -1,13 +0,0 @@
-<xb:config xmlns:xb="http://www.bea.com/2002/09/xbean/config"
-           xmlns:ep="http://openuri.org/easypo">
-
-  <xb:namespace uri="http://openuri.org/easypo">
-    <xb:package>com.easypo</xb:package>
-  </xb:namespace>
-
-  <xb:namespace uri="##any">
-    <xb:prefix>Xml</xb:prefix>
-    <xb:suffix>Bean</xb:suffix>
-  </xb:namespace>
-
-</xb:config>
diff --git a/v1/test/src/easypouse/com/bea/test/LoadAndUsePo.java b/v1/test/src/easypouse/com/bea/test/LoadAndUsePo.java
deleted file mode 100644
index 78e481d..0000000
--- a/v1/test/src/easypouse/com/bea/test/LoadAndUsePo.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package com.bea.test;
-
-import xml.util.*;
-import org.openuri.easypo.*;
-
-import java.io.File;
-
-public class LoadAndUsePo
-{
-    public static void main(String[] args) throws Exception
-    {
-        for (int i = 0; i < args.length; i++)
-        {
-            System.out.println("======================");
-            System.out.println("Loading file " + args[i]);
-            summarizePoDocument(PurchaseOrderDocument.Factory.parse(new File(args[i])));
-        }
-    }
-
-    public static void summarizePoDocument(PurchaseOrderDocument doc)
-    {
-        PurchaseOrder order = doc.getPurchaseOrder();
-        System.out.println("Customer: " + order.getCustomer().getName());
-        System.out.println("Address:  " + order.getCustomer().getAddress());
-        LineItem[] item = order.getLineItem();
-        for (int i = 0; i < item.length; i++)
-        {
-            System.out.println("----------------------");
-            System.out.println("Item description: " + item[i].getDescription());
-            System.out.println("  Price: " + item[i].getPrice());
-            System.out.println("  Quantity: " + item[i].getQuantity());
-            System.out.println("  Ounces: " + item[i].getPerUnitOunces());
-            System.out.println("  ----------------");
-            System.out.println("  Amount: " + item[i].getAmount());
-            System.out.println("  Weight: " + item[i].getLineItemOunces());
-        }
-        System.out.println("----------------------");
-        if (order.isSetShipper())
-        {
-            System.out.println("Shipper: " + order.getShipper().getName());
-            System.out.println("  Per-ounce rate: " + order.getShipper().getPerOunceRate());
-        }
-        System.out.println("----------------------");
-        System.out.println("Total weight in ounces: " + order.getTotalOunces());
-        System.out.println("Shipping amount: " + order.getShippingAmount());
-        System.out.println("Total amount: " + order.getTotalAmount());
-    }
-}
\ No newline at end of file
diff --git a/v1/test/src/enumtest/enumtest.xsd b/v1/test/src/enumtest/enumtest.xsd
deleted file mode 100644
index 7ba1991..0000000
--- a/v1/test/src/enumtest/enumtest.xsd
+++ /dev/null
@@ -1,41 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:et="http://openuri.org/enumtest"
-   targetNamespace="http://openuri.org/enumtest"
-   elementFormDefault="qualified">
-
-  <xs:simpleType name="quantity">
-    <xs:restriction base="xs:NMTOKEN">
-      <xs:enumeration value="all"/>
-      <xs:enumeration value="most"/>
-      <xs:enumeration value="some"/>
-      <xs:enumeration value="few"/>
-      <xs:enumeration value="none"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="allOrNone">
-    <xs:restriction base="et:quantity">
-      <xs:enumeration value="all"/>
-      <xs:enumeration value="none"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:complexType name="data">
-    <xs:simpleContent>
-      <xs:extension base="et:quantity">
-        <xs:attribute name="name" type="xs:string"/>
-        <xs:attribute name="target" type="et:allOrNone"/>
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-
-  <xs:element name="statusreport">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="status" type="et:data" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
- 
-</xs:schema>
diff --git a/v1/test/src/ericschema/ericschema.xsd b/v1/test/src/ericschema/ericschema.xsd
deleted file mode 100644
index 0b62ddf..0000000
--- a/v1/test/src/ericschema/ericschema.xsd
+++ /dev/null
@@ -1,8 +0,0 @@
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-	<xs:element name="asdasd">
-		<xs:complexType>
-			<xs:sequence>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-</xs:schema>
diff --git a/v1/test/src/erictest/EricTest.java b/v1/test/src/erictest/EricTest.java
deleted file mode 100644
index d6c2849..0000000
--- a/v1/test/src/erictest/EricTest.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.XMLReader;
-import org.apache.xmlbeans.impl.store.Root;
-import org.apache.xmlbeans.impl.tool.CodeGenUtil;
-import org.apache.xmlbeans.impl.tool.SchemaCompiler;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeLoader;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlCursor.TokenType;
-import org.apache.xmlbeans.XmlCursor.XmlBookmark;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.GDateBuilder;
-import org.apache.xmlbeans.XmlDate;
-import org.apache.xmlbeans.XmlDocumentProperties;
-import org.apache.xmlbeans.XmlError;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlInt;
-import org.apache.xmlbeans.XmlInteger;
-import org.apache.xmlbeans.XmlLineNumber;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import java.io.ByteArrayOutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.io.Reader;
-import java.io.StringReader;
-import java.lang.reflect.Field;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import javax.xml.namespace.QName;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import org.w3.x2001.xmlSchema.*;
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-import weblogic.xml.stream.XMLEvent;
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLName;
-import com.bea.x2002.x09.xbean.config.ConfigDocument;
-
-public class EricTest
-{
-    public static void main ( String[] args ) throws Exception
-    {
-        HashMap nses = new HashMap();
-        nses.put( "x", "x.com" );
-        nses.put( "y", "y.com" );
-        XmlOptions options = new XmlOptions();
-        options.setLoadAdditionalNamespaces( nses );
-        
-        XmlObject x = XmlObject.Factory.parse( "<a></a>", options );
-        x.save( System.out );
-    }
-}
-
diff --git a/v1/test/src/nameworlduse/com/bea/test/DumpNameworld.java b/v1/test/src/nameworlduse/com/bea/test/DumpNameworld.java
deleted file mode 100644
index 6858801..0000000
--- a/v1/test/src/nameworlduse/com/bea/test/DumpNameworld.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package com.bea.test;
-
-import org.openuri.nameworld.*;
-
-import java.io.File;
-
-import org.apache.xmlbeans.XmlBeans;
-
-public class DumpNameworld
-{
-    public static void main(String[] args) throws Exception
-    {
-        for (int i = 0; i < args.length; i++)
-        {
-            System.out.println("======================");
-            System.out.println("Loading file " + args[i]);
-            dumpDocument(NameworldDocument.Factory.parse(new File(args[i])));
-        }
-    }
-
-    public static void dumpDocument(NameworldDocument doc)
-    {
-        Nameworld world = doc.getNameworld();
-        Nameworld.Island[] islands = world.getIsland();
-        for (int i = 0; i < islands.length; i++)
-        {
-            System.out.println("----------------------");
-            System.out.println("Island target namespace: " + islands[i].getTargetNamespace());
-            Loc[] locs = islands[i].getLocation();
-            for (int j = 0; j < locs.length; j++)
-            {
-                System.out.println("  Location: " + locs[j].getName());
-                Loc.Reference[] refs = locs[j].getReference();
-                for (int k = 0; k < refs.length; k++)
-                {
-                    System.out.println("  Reference: " + refs[k].getTo());
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/v1/test/src/random/Random.java b/v1/test/src/random/Random.java
deleted file mode 100644
index 270fd30..0000000
--- a/v1/test/src/random/Random.java
+++ /dev/null
@@ -1,905 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.impl.tool.CommandLine;
-import org.apache.xmlbeans.impl.values.XmlValueDisconnectedException;
-import org.apache.xmlbeans.impl.store.Cursor;
-
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Arrays;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import javax.xml.namespace.QName;
-import weblogic.xml.stream.XMLInputStream;
-
-import com.easypo.XmlPurchaseOrderDocumentBean.PurchaseOrder;
-import com.easypo.XmlCustomerBean;
-import com.easypo.XmlLineItemBean;
-import com.easypo.XmlShipperBean;
-
-public class Random implements Runnable
-{
-    public static void main ( String[] args ) throws Exception
-    {
-        CommandLine cl = new CommandLine(args, Arrays.asList(new String[] { "seed", "i", "t", "docs", "?", "help" }));
-        long seed = System.currentTimeMillis();
-        int iterations = Integer.MAX_VALUE;
-        int threads = 1;
-        int docs = 10;
-        
-        if (cl.getOpt("?") != null || cl.getOpt("help") != null || cl.args().length != 0)
-            System.out.println("Usage: random [-seed #] [-i iterations] [-t threads] [-docs docs] [-readonly] [-nosave]");
-        else
-        {
-            boolean readonly = false;
-            boolean nosave = false;
-            boolean noquery = false;
-            
-            if (cl.getOpt("seed") != null)
-                seed = Long.parseLong(cl.getOpt("seed"));
-            if (cl.getOpt("i") != null)
-                iterations = Integer.parseInt(cl.getOpt("i"));
-            if (cl.getOpt("t") != null)
-                threads = Integer.parseInt(cl.getOpt("t"));
-            if (cl.getOpt("docs") != null)
-                docs = Integer.parseInt(cl.getOpt("docs"));
-            noquery = (cl.getOpt("noquery") != null);
-            readonly = (cl.getOpt("readonly") != null);
-            nosave = (cl.getOpt("nosave") != null);
-                
-            System.out.println("seed=" + seed);
-            System.out.println("iterations=" + iterations );
-            System.out.println("threads=" + threads);
-            System.out.println("docs=" + docs );
-            System.out.println(readonly ? "readonly" : "read/write");
-            System.out.println(nosave ? "nosave" : "with save");
-            System.out.println(noquery ? "noquery" : "with query");
-            doTests(seed, iterations, threads, docs, readonly, nosave, noquery);
-        }
-    }
-    
-    private static void doTests(long seed, int iterations, int threadCount, int docCount, boolean readonly, boolean nosave, boolean noquery)
-    {
-        long start = System.currentTimeMillis();
-        
-        XmlObject[] sharedDocs = new XmlObject [docCount];
-        Thread[] threads = new Thread[threadCount];
-        
-        for ( int i = 0 ; i < iterations ; i++ )
-        {
-            for (int j = 0; j < threadCount; j++)
-            {
-                Random runnable = new Random(seed, sharedDocs, readonly, nosave, noquery, threadCount > 1);
-                threads[j] = new Thread(runnable);
-                threads[j].start();
-                seed++;
-            }
-            for (int j = 0; j < threadCount; j++)
-            {
-                try
-                {
-                    threads[j].join();
-                }
-                catch (InterruptedException e)
-                {
-                    System.err.println("Thread interrupted");
-                }
-            }
-        }
-
-        long end = System.currentTimeMillis();
-
-        System.err.println();
-        System.err.println(
-            "Seconds to run random tests: " + (end - start) / 1000 );
-    }
-    
-    public void run()
-    {
-        System.err.print( "\rSeed: " + _seed );
-        
-        try
-        {
-            for ( int d = 0 ; d < _docs.length ; d++ )
-                _docs[ d ] = XmlObject.Factory.newInstance();
-    
-            _cursors = new ArrayList();
-    
-            int nIterations = rnd( 60000 ) + 5000;
-    
-            for ( int i = 0 ; i < nIterations ; i++ )
-            {
-                boolean good = false;
-                try
-                {
-                    _iter++;
-                    iterate();
-                    good = true;
-                }
-                finally
-                {
-                    if (!good)
-                    {
-                        System.err.println();
-                        System.err.println( "Error on iteration " + _iter );
-                        System.err.println();
-                    }
-                }
-            }
-        }
-        catch ( Throwable e )
-        {
-            System.err.println( "Error on seed " + _seed );
-            e.printStackTrace( System.err );
-        }
-    }
-
-    private java.util.Random _rnd;
-    
-    private XmlObject[] _docs; // shared among threads!!
-    private ArrayList   _cursors;
-    private long        _seed;
-    private int         _iter;
-    private boolean     _readonly;
-    private boolean     _nosave;
-    private boolean     _noquery;
-    private boolean     _interference;
-
-
-    private int rnd ( int n )
-    {
-        return _rnd.nextInt( n );
-    }
-    
-    private int rnd ( int min, int maxPlusOne )
-    {
-        return _rnd.nextInt(maxPlusOne - min) + min;
-    }
-
-    private XmlCursor getCursor ( )
-    {
-        int n = _cursors.size();
-        
-        if (n == 0 || (n < _docs.length * 3) && rnd( 4 ) == 0)
-        {
-            XmlCursor c = _docs[ rnd( _docs.length ) ].newCursor();
-            _cursors.add( c );
-            return c;
-        }
-
-        return (XmlCursor) _cursors.get( rnd( n ) );
-    }
-
-    private void iterate ( ) throws Exception
-    {
-        try
-        {
-            switch ( rnd ( 6 ) )
-            {
-            case  0 : interateHigh();   break;
-            case  1 : interateHigh();   break;
-            case  2 : interateHigh();   break;
-            case  3 : interateMedium(); break;
-            case  4 : interateMedium(); break;
-            case  5 : interateLow();    break;
-            }
-        }
-        catch (IllegalStateException e)
-        {
-            if (!_interference)
-                throw e;
-        }
-        catch (IllegalArgumentException e)
-        {
-            if (!_interference)
-                throw e;
-        }
-        catch (XmlValueDisconnectedException e)
-        {
-            
-        }
-    }
-
-    private void interateHigh ( ) throws Exception
-    {
-        switch ( rnd ( 2 ) )
-        {
-        case  0 : moveCursorRightOneToken(); break;
-        case  1 : moveCursorLeftOneToken();  break;
-        }
-    }
-    
-    private void interateMedium ( ) throws Exception
-    {
-        switch ( _readonly ? rnd ( 4 ) : rnd (24) )
-        {
-            case  0 : getChars();                break;
-            case  1 : getTextValue();            break;
-            case  2 : compareValue();            break;
-            case  3 : prevTokenType();           break;
-                
-            case  4 : insertText();              break;
-            case  5 : moveCharsRight();          break;
-            case  6 : moveCharsLeft();           break;
-            case  7 : insertElem();              break;
-            case  8 : insertAttr();              break;
-            case  9 : removeXml();               break;
-            case 10 : removeXmlContents();       break;
-            case 11 : copyXml();                 break;
-            case 12 : copyXmlContents();         break;
-            case 13 : moveXml();                 break;
-            case 14 : moveXmlContents();         break;
-            case 15 : removeText();              break;
-            case 16 : moveText();                break;
-            case 17 : copyText();                break;
-            case 18 : insertComment();           break;
-            case 19 : insertProcinst();          break;
-            case 20 : setTextValue();            break;
-            case 21 : setStrong();               break;
-            case 22 : objectSet();               break;
-            case 23 : setName();                 break;
-        }
-    }
-    
-    private void interateLow ( ) throws Exception
-    {
-        switch ( rnd (_readonly ? 1 : 0, _nosave ? 8 : 17) )
-        {
-            case  0 : changeType();              break;
-            case  1 : createBookmark();          break;
-            case  2 : clearBookmark();           break;
-            
-            case  3 : loadDoc();                 break;
-            case  4 : loadSchemadDoc();          break;
-            case  5 : compareCursors();          break;
-            case  6 : getObject();               break;
-            case  7 : newCursor();               break;
-
-            case  8 : validate();                break;
-            case  9 : execQuery();               break;
-            case 10 : xmlInputStream();          break;
-            case 11 : docBytes();                break;
-            case 12 : cursorBytes();             break;
-            case 13 : newDomNode();              break;
-            case 14 : objectString();            break;
-            case 15 : cursorString();            break;
-            case 16 : prettyObject();            break;
-        }
-    }
-
-    private XmlObject findObject ( )
-    {
-        XmlCursor c = getCursor();
-        c.push();
-        
-        while ( !(c.isContainer() || c.isAttr()) )
-            if (c.toNextToken().isNone())
-                break;
-
-        if (!c.isEnddoc())
-        {
-            XmlObject x = c.getObject();
-            c.pop();
-            if (x == null)
-                throw new IllegalStateException("getObject returned null - content must have changed");
-            return x;
-        }
-
-        c.pop();
-        c.push();
-        
-        while ( !(c.isContainer() || c.isAttr()) )
-            if (c.toPrevToken().isNone())
-                break;
-
-        XmlObject x = c.getObject();
-        c.pop();
-        if (x == null)
-            throw new IllegalStateException("getObject returned null - content must have changed");
-        return x;
-    }
-
-    private void prettyObject ( )
-    {
-        XmlOptions options = new XmlOptions();
-        options.setSavePrettyPrint();
-        findObject().xmlText( options );
-    }
-    
-    private void objectString ( )
-    {
-        findObject().toString();
-    }
-    
-    private void cursorString ( )
-    {
-        getCursor().toString();
-    }
-    
-    private void changeType ( )
-    {
-        XmlObject o, n;
-        
-        try
-        {
-            o = findObject();
-            SchemaType type = findObject().schemaType();
-            n = o.changeType( type );
-        }
-        catch ( IllegalArgumentException e )
-        {
-            return;
-        }
-        catch ( IllegalStateException e )
-        {
-            return;
-        }
-            
-        for ( int i = 0 ; i < _docs.length ; i++ )
-        {
-            if (o == _docs[ i ])
-            {
-                _docs[ i ] = n;
-                break;
-            }
-        }
-    }
-    
-    private void prevTokenType ( )
-    {
-        getCursor().prevTokenType();
-    }
-    
-    private void newCursor ( )
-    {
-        findObject().newCursor();
-    }
-    
-    private void setName ( )
-    {
-        XmlCursor c = findObject().newCursor();
-
-        if (!c.isStartdoc())
-            c.setName( getQName() );
-
-        c.dispose();
-    }
-    
-    private void newDomNode ( )
-    {
-        if (rnd( 5 ) != 0)
-            return;
-        
-        try
-        {
-            getCursor().newDomNode();
-        }
-        catch ( IllegalStateException e )
-        {
-        }
-    }
-
-    private void xmlInputStream ( ) throws Exception
-    {
-        if (rnd( 5 ) != 0)
-            return;
-        
-        XMLInputStream xis;
-        
-        try
-        {
-            xis = getCursor().newXMLInputStream();
-        }
-        catch ( IllegalStateException e )
-        {
-            return;
-        }
-
-        while ( xis.next() != null )
-            ;
-    }
-
-    private void objectSet ( )
-    {
-        findObject().set( findObject() );
-    }
-    
-    private void setStrong ( )
-    {
-        XmlObject x = findObject();
-
-        if (x instanceof PurchaseOrder)
-        {
-            PurchaseOrder o = (PurchaseOrder) x;
-            o.setDate( Calendar.getInstance() );
-        }
-        else if (x instanceof XmlCustomerBean)
-        {
-            XmlCustomerBean o = (XmlCustomerBean) x;
-            o.setName( "Bob" );
-            
-            if (rnd( 2 ) == 0)
-                o.setAge( 23 );
-            
-            if (rnd( 2 ) == 0)
-                o.setMoo( 24 );
-            
-            if (rnd( 2 ) == 0)
-                o.setPoo( 200 );
-        }
-        else if (x instanceof XmlLineItemBean)
-        {
-            XmlLineItemBean o = (XmlLineItemBean) x;
-            o.setPerUnitOunces( new BigDecimal( 122.44 ) );
-            o.setPrice( new BigDecimal( 555.33 ) );
-            o.setQuantity( BigInteger.valueOf( 111 ) );
-        }
-        else if (x instanceof XmlShipperBean)
-        {
-            XmlShipperBean o = (XmlShipperBean) x;
-            o.setPerOunceRate( new BigDecimal( 3.14159 ) );
-            o.setName( "Eric" );
-        }
-    }
-
-    private void compareValue ( )
-    {
-        findObject().compareValue( findObject() );
-    }
-    
-    private void validate ( )
-    {
-        findObject().validate();
-    }
-    
-    private void execQuery ( )
-    {
-        if (_noquery)
-            return;
-        
-        if (rnd( 20 ) > 0)
-            return;
-        
-        QName name = getQName();
-        
-        String query =
-            "declare namespace xxx='" + name.getNamespaceURI() + "' " +
-                ".//xxx:" + name.getLocalPart();
-        
-        XmlObject x = getCursor().execQuery( query ).getObject();
-
-        if (rnd( 3 ) == 0)
-            _docs[ rnd( _docs.length ) ] = x;
-    }
-
-    private void getObject ( )
-    {
-        getCursor().getObject();
-    }
-    
-    private void getChars ( )
-    {
-        getCursor().getChars();
-    }
-
-    private void compareCursors ( )
-    {
-        try
-        {
-            getCursor().isInSameDocument( getCursor() );
-            getCursor().comparePosition( getCursor() );
-            getCursor().isAtSamePositionAs( getCursor() );
-        }
-        catch ( IllegalArgumentException e )
-        {
-        }
-    }
-
-    private String[] _xmls =
-    {
-        "<a/>",
-    };
-
-    private String[] _schema_xmls =
-    {
-        "<po:purchase-order xmlns:po='http://openuri.org/easypo'>\n" + 
-        "<po:customer age='31' poo='200'>\n" + 
-            "<po:name>David Bau</po:name>\n" + 
-            "<po:address>Gladwyne, PA</po:address>\n" + 
-        "</po:customer>\n" + 
-        "<po:customer age='37'>\n" + 
-            "<po:name>Eric Vasilik</po:name>\n" + 
-            "<po:address>Redmond, WA</po:address>\n" + 
-        "</po:customer>\n" + 
-        "<po:date>2002-09-30T14:16:00-05:00</po:date>\n" + 
-        "<po:line-item>\n" + 
-            "<po:description>Burnham's Celestial Handbook, Vol 1</po:description>\n" + 
-            "<po:per-unit-ounces>5</po:per-unit-ounces>\n" + 
-            "<po:price>21.79</po:price>\n" + 
-            "<po:quantity>2</po:quantity>\n" + 
-        "</po:line-item>\n" + 
-        "<po:line-item>\n" + 
-            "<po:description>Burnham's Celestial Handbook, Vol 2</po:description>\n" + 
-            "<po:per-unit-ounces>5</po:per-unit-ounces>\n" + 
-            "<po:price>19.89</po:price>\n" + 
-            "<po:quantity>2</po:quantity>\n" + 
-        "</po:line-item>\n" + 
-        "<po:line-item>\n" + 
-            "<po:description>Burnham's Celestial Handbook, Vol 3</po:description>\n" + 
-            "<po:per-unit-ounces>5</po:per-unit-ounces>\n" + 
-            "<po:price>19.89</po:price>\n" + 
-            "<po:quantity>1</po:quantity>\n" + 
-        "</po:line-item>\n" + 
-        "<po:shipper>\n" + 
-            "<po:name>UPS</po:name>\n" + 
-            "<po:per-ounce-rate>0.74</po:per-ounce-rate>\n" + 
-        "</po:shipper>\n" + 
-        "</po:purchase-order>\n" +
-        "",
-    };
-
-    private void loadDoc ( ) throws Exception
-    {
-        if (rnd( 15 ) == 0)
-        {
-            _docs[ rnd( _docs.length ) ] =
-                XmlObject.Factory.parse( _xmls[ rnd( _xmls.length ) ] );
-        }
-    }
-
-    private void loadSchemadDoc ( ) throws Exception
-    {
-        if (rnd( 4 ) == 0)
-        {
-            _docs[ rnd( _docs.length ) ] =
-                XmlObject.Factory.parse(
-                    _schema_xmls[ rnd( _schema_xmls.length ) ] );
-        }
-    }
-
-    private void moveCursorLeftOneToken ( )
-    {
-        getCursor().toPrevToken();
-    }
-    
-    private void moveCursorRightOneToken ( )
-    {
-        getCursor().toNextToken();
-    }
-
-    private char[] _chars =
-    {
-        'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
-        'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 
-        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-        ' ', '<', '>', '&', '-', '?'
-    };
-    
-    private void getTextValue ( )
-    {
-        XmlCursor c = getCursor();
-
-        if (c.isFinish() || c.isNamespace() || c.isText())
-            return;
-        
-        c.getTextValue();
-    }
-
-    private void setTextValue ( )
-    {
-        XmlCursor c = getCursor();
-
-        if (c.isFinish() || c.isNamespace() || c.isText())
-            return;
-        
-        StringBuffer sb = new StringBuffer();
-
-        for ( int i = rnd( 10 ) ; i >= 0 ; i-- )
-            sb.append( _chars[ rnd( _chars.length ) ] );
-
-        c.setTextValue( sb.toString() );
-    }
-
-    private void moveText ( )
-    {
-        try
-        {
-            getCursor().moveChars( rnd( 10 ), getCursor() );
-        }
-        catch ( IllegalArgumentException e )
-        {
-        }
-        catch ( IllegalStateException e )
-        {
-        }
-    }
-    
-    private void copyText ( )
-    {
-        try
-        {
-            getCursor().copyChars( rnd( 10 ), getCursor() );
-        }
-        catch ( IllegalArgumentException e )
-        {
-        }
-        catch ( IllegalStateException e )
-        {
-        }
-    }
-    
-    private void removeText ( )
-    {
-        getCursor().removeChars( rnd( 6 ) );
-    }
-
-    private void insertComment ( )
-    {
-        try
-        {
-            getCursor().insertComment( "poo" );
-        }
-        catch ( IllegalArgumentException e )
-        {
-        }
-        catch ( IllegalStateException e )
-        {
-        }
-    }
-    
-    private void insertProcinst ( )
-    {
-        try
-        {
-            getCursor().insertProcInst( "target", "val" );
-        }
-        catch ( IllegalArgumentException e )
-        {
-        }
-        catch ( IllegalStateException e )
-        {
-        }
-    }
-    
-    private void insertText ( )
-    {
-        XmlCursor c = getCursor();
-
-        if (c.isAnyAttr() || c.isStartdoc())
-            return;
-        
-        StringBuffer sb = new StringBuffer();
-
-        for ( int i = rnd( 10 ) ; i >= 0 ; i-- )
-            sb.append( _chars[ rnd( _chars.length ) ] );
-
-        c.insertChars( sb.toString() );
-    }
-
-    private void docChars ( )
-    {
-        _docs[ rnd( _docs.length ) ].xmlText();
-    }
-
-    private void cursorChars ( )
-    {
-        getCursor().xmlText();
-    }
-
-    private void docBytes ( ) throws Exception
-    {
-        _docs[ rnd( _docs.length ) ].save( new ByteArrayOutputStream() );
-    }
-
-    private void cursorBytes ( ) throws Exception
-    {
-        getCursor().save( new ByteArrayOutputStream() );
-    }
-    
-    private void moveCharsRight ( ) throws Exception
-    {
-        getCursor().toNextChar( rnd( 10 ) );
-    }
-
-    private void moveCharsLeft ( ) throws Exception
-    {
-        getCursor().toPrevChar( rnd( 10 ) );
-    }
-
-    private QName getQName ( )
-    {
-        QName name = null;
-        
-        switch ( rnd( 3 ) )
-        {
-        case 0 : name = XmlBeans.getQName( "foo.com", "foo" ); break;
-        case 1 : name = XmlBeans.getQName( "bar.com", "bar" ); break;
-        case 2 : name = XmlBeans.getQName( "moo" ); break;
-        }
-
-        return name;
-    }
-    
-    private void insertElem ( ) throws Exception
-    {
-        XmlCursor c = getCursor();
-
-        if (c.isAnyAttr() || c.isStartdoc())
-            return;
-        
-        c.insertElement( getQName() );
-    }
-
-    public void insertAttr ( )
-    {
-        XmlCursor c = getCursor();
-
-        while ( !c.isEnddoc() && !c.isContainer() )
-            c.toNextToken();
-
-        if (c.isEnddoc())
-            return;
-
-        c.toNextToken();
-        
-        c.insertAttribute( getQName() );
-    }
-    
-    public void removeXmlContents ( )
-    {
-        XmlCursor c = getCursor();
-
-        c.removeXmlContents();
-    }
-    
-    public void copyXmlContents ( )
-    {
-        try
-        {
-            getCursor().copyXmlContents( getCursor() );
-        }
-        catch ( IllegalArgumentException e )
-        {
-        }
-        catch ( IllegalStateException e )
-        {
-        }
-    }
-    
-    public void copyXml ( )
-    {
-        try
-        {
-            getCursor().copyXml( getCursor() );
-        }
-        catch ( IllegalArgumentException e )
-        {
-        }
-        catch ( IllegalStateException e )
-        {
-        }
-    }
-    
-    public void moveXmlContents ( )
-    {
-        try
-        {
-            getCursor().moveXmlContents( getCursor() );
-        }
-        catch ( IllegalArgumentException e )
-        {
-        }
-        catch ( IllegalStateException e )
-        {
-        }
-    }
-    
-    public void moveXml ( )
-    {
-        try
-        {
-            getCursor().moveXml( getCursor() );
-        }
-        catch ( IllegalArgumentException e )
-        {
-        }
-        catch ( IllegalStateException e )
-        {
-        }
-    }
-    
-    public void removeXml ( )
-    {
-        XmlCursor c = getCursor();
-
-        if (!c.isStartdoc() && !c.isFinish())
-            c.removeXml();
-    }
-
-    public static class Bookmark extends XmlCursor.XmlBookmark
-    {
-    }
-
-    public void createBookmark ( ) throws Exception
-    {
-        getCursor().setBookmark( new Bookmark() );
-    }
-    
-    public void clearBookmark ( ) throws Exception
-    {
-        getCursor().clearBookmark( Bookmark.class );
-    }
-
-    public Random(long seed, XmlObject[] sharedDocs, boolean readonly, boolean nosave, boolean noquery, boolean interference)
-    {
-        _seed = seed;
-        _rnd = new java.util.Random(seed);
-        _docs = sharedDocs;
-        _readonly = readonly;
-        _nosave = nosave;
-        _noquery = noquery;
-        _interference = interference;
-    }
-
-}
-
diff --git a/v1/test/src/schemas/defaults.xsd b/v1/test/src/schemas/defaults.xsd
deleted file mode 100644
index f9a2116..0000000
--- a/v1/test/src/schemas/defaults.xsd
+++ /dev/null
@@ -1,17 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:tns="http://openuri.org/def"
-   targetNamespace="http://openuri.org/def"
-   elementFormDefault="qualified">
-
-  <xs:element name="defaults">
-    <xs:complexType>
-      <xs:sequence>
-      </xs:sequence>
-      <xs:attribute ref="tns:cool"/>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:attribute name="cool" type="xs:int" default="783"/>
-
-</xs:schema>
diff --git a/v1/test/src/schemas/included.xsd b/v1/test/src/schemas/included.xsd
deleted file mode 100644
index d6263af..0000000
--- a/v1/test/src/schemas/included.xsd
+++ /dev/null
@@ -1,22 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   elementFormDefault="qualified">
-
-  <xs:element name="chain" type="chainlink"/>
-
-  <xs:complexType name="chainlink">
-    <xs:sequence>
-      <xs:element ref="chain"/>
-    </xs:sequence>
-    <xs:attribute ref="name"/>
-  </xs:complexType>
-
-  <xs:simpleType name="token">
-    <xs:restriction base="xs:token">
-      <xs:maxLength value="5"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:attribute name="name" type="token"/>
-
-</xs:schema>
diff --git a/v1/test/src/schemas/includer1.xsd b/v1/test/src/schemas/includer1.xsd
deleted file mode 100644
index 9811023..0000000
--- a/v1/test/src/schemas/includer1.xsd
+++ /dev/null
@@ -1,17 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:tns="http://openuri.org/includer1"
-   targetNamespace="http://openuri.org/includer1"
-   elementFormDefault="qualified">
-
-  <xs:include schemaLocation="included.xsd"/>
-
-  <xs:element name="onechain">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:chain"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>
diff --git a/v1/test/src/schemas/includer2.xsd b/v1/test/src/schemas/includer2.xsd
deleted file mode 100644
index 03565dc..0000000
--- a/v1/test/src/schemas/includer2.xsd
+++ /dev/null
@@ -1,17 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:tns="http://openuri.org/includer2"
-   targetNamespace="http://openuri.org/includer2"
-   elementFormDefault="qualified">
-
-  <xs:include schemaLocation="included.xsd"/>
-
-  <xs:element name="twochains">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:chain" minOccurs="2" maxOccurs="2"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>
diff --git a/v1/test/src/schemas/inttest.xsd b/v1/test/src/schemas/inttest.xsd
deleted file mode 100644
index c1721de..0000000
--- a/v1/test/src/schemas/inttest.xsd
+++ /dev/null
@@ -1,47 +0,0 @@
-<xs:schema
-   elementFormDefault="qualified"
-   attributeFormDefault="unqualified"
-   targetNamespace="java:int.test"
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:tns="java:int.test">
-
-  <xs:simpleType name="LatitudeDegreesType">
-    <xs:annotation>
-      <xs:documentation>
-        <definition>Degrees of Latitude</definition>
-        <USMTFref>See USMTF field latitude.degrees.17.1</USMTFref>
-        <DoDXMLref>TBD</DoDXMLref>
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:short">
-      <xs:minInclusive value="00"/>
-      <xs:maxInclusive value="90"/>
-      <xs:pattern value="[\d]{2}"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="LongitudeDegreesType">
-    <xs:annotation>
-      <xs:documentation>
-        <definition>Degrees of Longitude</definition>
-        <USMTFref>See USMTF field longitude.degrees.18.1</USMTFref>
-        <DoDXMLref>TBD</DoDXMLref>
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:short">
-      <xs:minInclusive value="000"/>
-      <xs:maxInclusive value="180"/>
-      <xs:pattern value="[\d]{3}"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:element name="position">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="lat" type="tns:LatitudeDegreesType"/>
-        <xs:element name="lon" type="tns:LongitudeDegreesType"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>
\ No newline at end of file
diff --git a/v1/test/src/schemas/listandunion.xsd b/v1/test/src/schemas/listandunion.xsd
deleted file mode 100644
index 87deaa8..0000000
--- a/v1/test/src/schemas/listandunion.xsd
+++ /dev/null
@@ -1,68 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:tns="http://openuri.org/lut"
-   targetNamespace="http://openuri.org/lut"
-   elementFormDefault="qualified">
-
-  <xs:element name="unions">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="nni" type="tns:allNNI"/>
-        <xs:element name="sizes" type="tns:list-or-all"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:simpleType name='list-of-int'>
-    <xs:list itemType='xs:int'/>
-  </xs:simpleType>
-
-  <xs:simpleType name="allNNI">
-    <xs:union memberTypes="xs:nonNegativeInteger">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="unbounded"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-
-  <xs:simpleType name="list-or-all">
-    <xs:union memberTypes="tns:list-of-int">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="all"/>
-          <xs:enumeration value="unknown"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-
-  <xs:simpleType name="list-of-allNNI">
-    <xs:list itemType="tns:allNNI"/>
-  </xs:simpleType>
-
-  <xs:element name="lists">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="int-list" type="tns:list-of-int"/>
-        <xs:element name="nni-list" type="tns:list-of-allNNI"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:simpleType name="date-or-dateTime">
-    <xs:union memberTypes="xs:date xs:dateTime"/>
-  </xs:simpleType>
-
-  <xs:element name="when" type="tns:date-or-dateTime"/>
-
-  <xs:element name="incident-reports">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:when" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>
diff --git a/v1/test/src/schemas/nameworld.xsd b/v1/test/src/schemas/nameworld.xsd
deleted file mode 100644
index 8cd0ae8..0000000
--- a/v1/test/src/schemas/nameworld.xsd
+++ /dev/null
@@ -1,33 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:nw="http://openuri.org/nameworld"
-   targetNamespace="http://openuri.org/nameworld"
-   elementFormDefault="qualified">
-
-  <xs:element name="nameworld">
-    <xs:complexType>
-      <xs:sequence maxOccurs="unbounded">
-        <xs:element name="island">
-          <xs:complexType>
-            <xs:sequence maxOccurs="unbounded">
-              <xs:element name="location" type="nw:loc"/>
-            </xs:sequence>
-            <xs:attribute name="targetNamespace" type="xs:string"/>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:complexType name="loc">
-    <xs:sequence maxOccurs="unbounded">
-      <xs:element name="reference">
-        <xs:complexType>
-          <xs:attribute name="to" type="xs:QName"/>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:string"/>
-  </xs:complexType>
-
-</xs:schema>
diff --git a/v1/test/src/schemas/nonamespace.xsd b/v1/test/src/schemas/nonamespace.xsd
deleted file mode 100644
index ff4561d..0000000
--- a/v1/test/src/schemas/nonamespace.xsd
+++ /dev/null
@@ -1,22 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   elementFormDefault="qualified">
-
-  <xs:element name="nchain" type="nchainlink"/>
-
-  <xs:complexType name="nchainlink">
-    <xs:sequence>
-      <xs:element ref="nchain"/>
-    </xs:sequence>
-    <xs:attribute ref="nname"/>
-  </xs:complexType>
-
-  <xs:simpleType name="ntoken">
-    <xs:restriction base="xs:token">
-      <xs:maxLength value="5"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:attribute name="nname" type="ntoken"/>
-
-</xs:schema>
diff --git a/v1/test/src/schemas/substgroup.xsd b/v1/test/src/schemas/substgroup.xsd
deleted file mode 100644
index bf3a884..0000000
--- a/v1/test/src/schemas/substgroup.xsd
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
-    targetNamespace="http://openuri.org/sgs" xmlns:sg="http://openuri.org/sgs">
-    <xsd:element name="C" type="xsd:token" substitutionGroup="sg:B"/>
-    <xsd:element name="A" type="xsd:string"/>
-    <xsd:element name="B" type="xsd:normalizedString" substitutionGroup="sg:A"/>
-
-    <xsd:element name="Z" type="sg:Ext" substitutionGroup="sg:Y" />
-    <xsd:element name="Y" substitutionGroup="sg:X" />
-    <xsd:element name="X" type="sg:Base"/>
-
-    <xsd:element name="AnyType"/>
-    <xsd:element name="AnyTypeTail" substitutionGroup="sg:AnyType"/>
-
-    <xsd:element name="AnonSimple">
-        <xsd:simpleType>
-            <xsd:restriction base="xsd:int">
-                <xsd:maxExclusive value="100"/>
-            </xsd:restriction>
-        </xsd:simpleType>
-    </xsd:element>
-
-    <xsd:element name="AnonSimpleTail" substitutionGroup="sg:AnonSimple"/>
-
-    <xsd:element name="AnonComplex">
-        <xsd:complexType>
-            <xsd:sequence>
-                <xsd:element name="foo" type="xsd:int"/>
-            </xsd:sequence>
-        </xsd:complexType>
-    </xsd:element>
-
-    <xsd:element name="AnonComplexTail" substitutionGroup="sg:AnonComplex"/>
-
-    <xsd:element name="root">
-        <xsd:complexType>
-            <xsd:sequence maxOccurs="unbounded">
-                <xsd:element ref="sg:A"/>
-            </xsd:sequence>
-        </xsd:complexType>
-    </xsd:element>
-
-    <xsd:complexType name="Base">
-        <xsd:sequence>
-            <xsd:element name="str" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-
-    <xsd:complexType name="Unrelated">
-        <xsd:sequence>
-            <xsd:element name="str" type="xsd:string"/>
-        </xsd:sequence>
-    </xsd:complexType>
-
-    <xsd:complexType name="Ext">
-        <xsd:complexContent>
-            <xsd:extension base="sg:Base">
-                <xsd:sequence>
-                    <xsd:element name="int" type="xsd:int"/>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-
-	<xsd:element name="abstractTest">
-		<xsd:complexType>
-			<xsd:all>
-				<xsd:element ref="sg:abstract"/>
-			</xsd:all>
-		</xsd:complexType>
-	</xsd:element>
-
-	<xsd:element name="abstract" type="xsd:string" abstract="true"/>
-    <xsd:element name="concrete" substitutionGroup="sg:abstract"/>
-
-	<xsd:element name="blockTest">
-		<xsd:complexType>
-			<xsd:all>
-				<xsd:element ref="sg:block"/>
-			</xsd:all>
-		</xsd:complexType>
-	</xsd:element>
-
-	<xsd:element name="block" type="xsd:string" block="substitution"/>
-    <xsd:element name="subblock" substitutionGroup="sg:block"/>
-
-</xsd:schema>
diff --git a/v1/test/src/streamtest/Intern.java b/v1/test/src/streamtest/Intern.java
deleted file mode 100644
index c3d99c9..0000000
--- a/v1/test/src/streamtest/Intern.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package streamtest;
-
-import java.util.Date;
-import java.util.HashMap;
-
-public class Intern
-{
-    static final int MAX_ITER = 1000;
-    static final int MAX_CREATE = 100;
-    static final int MAX_COMP = 100;
-
-    public static void main(String[] args)
-    {
-        char[] ca = { 'a', 'a', 'a'};
-
-        System.out.println("aaa" == "aaa");
-        System.out.println("aaa" == new String("aaa"));
-        System.out.println("aaa" == new String(ca));
-        System.out.println("aaa" == new String(ca).intern());
-        System.out.println("aaa" == String.valueOf(ca));
-        System.out.println("aaa" == String.copyValueOf(ca));
-        System.out.println("aaa" == "aaa");
-
-        long start;
-        double d1 = 0;
-        double d2 = 0;
-        double d3 = 0;
-
-        start = new Date().getTime();
-        for( int i = 0; i<MAX_ITER; i++ )
-        {
-            Cache cache = new Cache();
-            Cache.QName qn1 = cache.create1(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-            System.out.println(qn1.toString());
-            for( int j=0; j<MAX_CREATE; j++ )
-            {
-                Cache.QName qn2 = cache.create1(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-                for( int k=0; k<MAX_COMP; k++ )
-                {
-                    boolean b = qn1 == qn2;
-                }
-            }
-        }
-        d1 = new Date().getTime() - start;
-
-        start = new Date().getTime();
-        for( int i = 0; i<MAX_ITER; i++ )
-        {
-            Cache cache = new Cache();
-            Cache.QName qn1 = cache.create1(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-            for( int j=0; j<MAX_CREATE; j++ )
-            {
-                Cache.QName qn2 = cache.create1(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-                for( int k=0; k<MAX_COMP; k++ )
-                {
-                    boolean b = qn1.equalIntern(qn2);
-                }
-            }
-        }
-        d2 = new Date().getTime() - start;
-
-        start = new Date().getTime();
-        for( int i = 0; i<MAX_ITER; i++ )
-        {
-            Cache cache = new Cache();
-            Cache.QName qn1 = cache.create1(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)));
-            for( int j=0; j<MAX_CREATE; j++ )
-            {
-                Cache.QName qn2 = cache.create1(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)));
-                for( int k=0; k<MAX_COMP; k++ )
-                {
-                    boolean b = qn1.equalExtern(qn2);
-                }
-            }
-        }
-        d3 = new Date().getTime() - start;
-
-        System.out.println("create1:\t" + d1 + "\t" + d2 + "\t" + d3);
-
-        //create2
-        start = new Date().getTime();
-        for( int i = 0; i<MAX_ITER; i++ )
-        {
-            Cache cache = new Cache();
-            Cache.QName qn1 = cache.create2(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-            for( int j=0; j<MAX_CREATE; j++ )
-            {
-                Cache.QName qn2 = cache.create2(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-                for( int k=0; k<MAX_COMP; k++ )
-                {
-                    boolean b = qn1 == qn2;
-                }
-            }
-        }
-        d1 = new Date().getTime() - start;
-
-        start = new Date().getTime();
-        for( int i = 0; i<MAX_ITER; i++ )
-        {
-            Cache cache = new Cache();
-            Cache.QName qn1 = cache.create2(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-            for( int j=0; j<MAX_CREATE; j++ )
-            {
-                Cache.QName qn2 = cache.create2(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-                for( int k=0; k<MAX_COMP; k++ )
-                {
-                    boolean b = qn1.equalIntern(qn2);
-                }
-            }
-        }
-        d2 = new Date().getTime() - start;
-
-        start = new Date().getTime();
-        for( int i = 0; i<MAX_ITER; i++ )
-        {
-            Cache cache = new Cache();
-            Cache.QName qn1 = cache.create2(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)));
-            for( int j=0; j<MAX_CREATE; j++ )
-            {
-                Cache.QName qn2 = cache.create2(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)));
-                for( int k=0; k<MAX_COMP; k++ )
-                {
-                    boolean b = qn1.equalExtern(qn2);
-                }
-            }
-        }
-        d3 = new Date().getTime() - start;
-
-        System.out.println("create2:\t" + d1 + "\t" + d2 + "\t" + d3);
-
-        //create3
-        start = new Date().getTime();
-        for( int i = 0; i<MAX_ITER; i++ )
-        {
-            Cache cache = new Cache();
-            Cache.QName qn1 = cache.create3(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-            for( int j=0; j<MAX_CREATE; j++ )
-            {
-                Cache.QName qn2 = cache.create3(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-                for( int k=0; k<MAX_COMP; k++ )
-                {
-                    boolean b = qn1 == qn2;
-                }
-            }
-        }
-        d1 = new Date().getTime() - start;
-
-        start = new Date().getTime();
-        for( int i = 0; i<MAX_ITER; i++ )
-        {
-            Cache cache = new Cache();
-            Cache.QName qn1 = cache.create3(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-            for( int j=0; j<MAX_CREATE; j++ )
-            {
-                Cache.QName qn2 = cache.create3(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)).intern(),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)).
-                    intern());
-                for( int k=0; k<MAX_COMP; k++ )
-                {
-                    boolean b = qn1.equalIntern(qn2);
-                }
-            }
-        }
-        d2 = new Date().getTime() - start;
-
-        start = new Date().getTime();
-        for( int i = 0; i<MAX_ITER; i++ )
-        {
-            Cache cache = new Cache();
-            Cache.QName qn1 = cache.create3(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)));
-            for( int j=0; j<MAX_CREATE; j++ )
-            {
-                Cache.QName qn2 = cache.create3(String.valueOf( Math.
-                    round(Math.random()*MAX_CREATE/10)),
-                    String.valueOf(Math.round(Math.random()*MAX_CREATE/10)));
-                for( int k=0; k<MAX_COMP; k++ )
-                {
-                    boolean b = qn1.equalExtern(qn2);
-                }
-            }
-        }
-        d3 = new Date().getTime() - start;
-
-        System.out.println("create3:\t" + d1 + "\t" + d2 + "\t" + d3);
-    }
-}
-
-class Cache
-{
-    HashMap h1 = new HashMap();
-
-    QName create1(String l, String u)
-    {
-        return new QName(l ,u);
-    }
-
-    QName create2(String l, String u)
-    {
-        int hcode = l.hashCode() + 33*u.hashCode();
-        Integer key = new Integer(hcode);
-
-        if( h1.containsKey( key ) )
-            return (QName)h1.get(key);
-
-        QName qn = new QName(l, u);
-        h1.put(key, qn);
-        return qn;
-    }
-
-    synchronized QName create3(String l, String u)
-    {
-        return create2(l, u);
-    }
-
-    static class QName
-    {
-        private String local;
-        private String uri;
-
-        private QName()
-        {}
-        private QName(String l, String u)
-        {
-            local = l;
-            uri = u;
-        }
-
-        boolean equalIntern( QName qn )
-        {
-            return local==qn.local && uri==qn.uri;
-        }
-
-        boolean equalExtern( QName qn )
-        {
-            return local.equals(qn.local) && uri.equals(qn.uri);
-        }
-
-        public String toString()
-        {
-            return local + "," + uri;
-        }
-    }
-}
-
diff --git a/v1/test/src/streamtest/SubStreamsTest.java b/v1/test/src/streamtest/SubStreamsTest.java
deleted file mode 100644
index 47a0227..0000000
--- a/v1/test/src/streamtest/SubStreamsTest.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package streamtest;
-
-/*
-* Created by cezar@bea.com
-*/
-
-import weblogic.xml.stream.XMLStreamException;
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLInputStreamFactory;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.FileReader;
-
-import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.stream.XmlStreamSource;
-import org.xmlpull.stream.XppXmlStreamImpl;
-import org.xmlpull.stream.XmlStreamFactory;
-import junit.framework.TestCase;
-
-public class SubStreamsTest
-{
-    public SubStreamsTest(String name)
-    {
-        //super(name);
-    }
-
-    public void testSubStream()
-    {
-        System.out.println("It works.");
-
-        //throw new RuntimeException("Kevin's exception");
-
-        //assertTrue( true );
-    }
-
-    public static void main(String[] args)
-        throws FileNotFoundException, XMLStreamException, IOException,
-            XmlPullParserException
-    {
-        Reader reader1;
-        Reader reader2;
-        if( args.length==0 )
-        {
-            String s = "<a><b><c a1='a1v' a2='a2v' /></b><x/>" +
-                "<y>Some text</y></a>";
-            reader1 = new StringReader(s);
-            reader2 = new StringReader(s);
-        }
-        else
-        {
-            reader1 = new FileReader(args[0]);
-            reader2 = new FileReader(args[0]);
-        }
-
-        System.out.println("reader ...");
-        XmlStreamSource source = new XppXmlStreamImpl(reader1);
-        XMLInputStream myStream = XmlStreamFactory.
-                createXmlInputStream( source );
-
-        XMLInputStream babelStream = XMLInputStreamFactory.newInstance().
-            newInputStream(reader2);
-
-        System.out.println("myStream ...");
-        for(int i=0; myStream.hasNext() && i<3; i++)
-        {
-            System.out.println( "my: " + myStream.hasNext() + " '" +
-                myStream.next() + "'");
-            System.out.println( "bb: " + babelStream.hasNext() + " '" +
-                    babelStream.next() + "'");
-        }
-
-        XMLInputStream myss = myStream.getSubStream();
-        XMLInputStream bbss = babelStream.getSubStream();
-
-        for(int i=0; (myss.hasNext() || bbss.hasNext()) && i<3; i++)
-        {
-            System.out.println( "my SUBStream: " + myss.hasNext() + " '" +
-                    myss.next() + "'");
-            System.out.println( "bb SUBStream: " + bbss.hasNext() + " '" +
-                    bbss.next() + "'");
-        }
-
-        XMLInputStream myss2 = myss.getSubStream();
-        XMLInputStream bbss2 = myss.getSubStream();
-        for(; myss2.hasNext() || bbss2.hasNext() ;)
-        {
-            System.out.println( "my SubSUBStream 2: " + myss2.hasNext() +
-                    " '" + myss2.next() + "'");
-            System.out.println( "bb SubSUBStream 2: " + bbss2.hasNext() +
-                    " '" + bbss2.next() + "'");
-        }
-        myss2.close();
-        bbss2.close();
-
-        for(; myss.hasNext() || bbss.hasNext() ;)
-        {
-            System.out.println( "my SUBStream: " + myss.hasNext() + " '" +
-                    myss.next() + "'");
-            System.out.println( "bb SUBStream: " + bbss.hasNext() + " '" +
-                    bbss.next() + "'");
-        }
-
-        for(; myStream.hasNext() || babelStream.hasNext();)
-        {
-            System.out.println( "my: " + myStream.hasNext() + " '" +
-                    myStream.next() + "'");
-            System.out.println( "bb: " + babelStream.hasNext() + " '" +
-                    babelStream.next() + "'");
-        }
-
-        main2();
-    }
-
-    public static void main2()
-        throws FileNotFoundException, XMLStreamException, IOException,
-            XmlPullParserException
-    {
-        Reader reader1;
-        Reader reader2;
-            String s = "<a><b><c a1='a1v' a2='a2v' /></b><x/>" +
-                "<y>Some text</y></a>";
-            reader1 = new StringReader(s);
-            reader2 = new StringReader(s);
-
-        System.out.println("reader ...");
-        XmlStreamSource source = new XppXmlStreamImpl(reader1);
-        XMLInputStream myStream = XmlStreamFactory.
-                createXmlInputStream( source );
-
-        XMLInputStream babelStream = XMLInputStreamFactory.newInstance().
-            newInputStream(reader2);
-
-        System.out.println("myStream ...");
-        for(int i=0; myStream.hasNext() && i<3; i++)
-        {
-            System.out.println( "my: " + " '" +
-                myStream.next() + "'");
-            System.out.println( "bb: " + " '" +
-                    babelStream.next() + "'");
-        }
-
-        XMLInputStream myss = myStream.getSubStream();
-        XMLInputStream bbss = babelStream.getSubStream();
-
-        for(int i=0; myss.hasNext() && i<3; i++)
-        {
-            System.out.println( "my SUBStream: " + " '" +
-                    myss.next() + "'");
-            System.out.println( "bb SUBStream: " + " '" +
-                    bbss.next() + "'");
-        }
-
-        XMLInputStream myss2 = myss.getSubStream();
-        XMLInputStream bbss2 = myss.getSubStream();
-        for(; myss2.hasNext() ;)
-        {
-            System.out.println( "my SubSUBStream 2: " +
-                    " '" + myss2.next() + "'");
-            System.out.println( "bb SubSUBStream 2: " +
-                    " '" + bbss2.next() + "'");
-        }
-        myss2.close();
-        bbss2.close();
-
-        for(; myss.hasNext() || bbss.hasNext() ;)
-        {
-            System.out.println( "my SUBStream: " + " '" +
-                    myss.next() + "'");
-            System.out.println( "bb SUBStream: " + " '" +
-                    bbss.next() + "'");
-        }
-
-        for(; myStream.hasNext() ;)
-        {
-            System.out.println( "my: " + " '" +
-                    myStream.next() + "'");
-            System.out.println( "bb: " +
-                    //babelStream.hasNext() +  //BABEL bugbug: un/comment this
-                                //line you'll get different behavior for next()
-                    " '" +
-                    babelStream.next() + "'");
-        }
-
-        main3();
-    }
-
-    public static void main3()
-        throws FileNotFoundException, XMLStreamException, IOException,
-            XmlPullParserException
-    {
-        Reader reader1;
-        Reader reader2;
-        String s = "<?xml version='1.1.1'?><a><b xmlns='' xmlns:a='sdfsdf'><c a1='a&lt;1v' a2='a2v' /></b><x/>" +
-            "<y>Some&lt; and &gt;text</y></a>";
-        reader1 = new StringReader(s);
-        reader2 = new StringReader(s);
-
-        System.out.println("reader ... in main3");
-        XmlStreamSource source = new XppXmlStreamImpl(reader1);
-        XMLInputStream myStream = XmlStreamFactory.
-                createXmlInputStream( source );
-
-        //XMLInputStream babelStream = XMLInputStreamFactory.newInstance().
-        //    newInputStream(reader2);
-
-        System.out.println("myStream ...");
-        for(int i=0; myStream.hasNext() && i<0; i++)
-        {
-            System.out.println( "my: " + " '" +
-                myStream.next() + "'");
-            //System.out.println( "bb: " + " '" +
-            //        babelStream.next() + "'");
-        }
-
-        XMLInputStream myss = myStream.getSubStream();
-        //XMLInputStream bbss = babelStream.getSubStream();
-
-        for(int i=0; myss.hasNext() && i<3; i++)
-        {
-            System.out.println( "my SUBStream: " + " '" +
-                    myss.next() + "'");
-            //System.out.println( "bb SUBStream: " + " '" +
-            //        bbss.next() + "'");
-        }
-
-        XMLInputStream myss2 = myss.getSubStream();
-        //XMLInputStream bbss2 = myss.getSubStream();
-        for(; myss2.hasNext() ;)
-        {
-            System.out.println( "my SubSUBStream 2: " +
-                    " '" + myss2.next() + "'");
-            //System.out.println( "bb SubSUBStream 2: " +
-            //        " '" + bbss2.next() + "'");
-        }
-        myss2.close();
-        //bbss2.close();
-
-        for(; myss.hasNext() /*|| bbss.hasNext()*/ ;)
-        {
-            System.out.println( "my SUBStream: " + " '" +
-                    myss.next() + "'");
-            //System.out.println( "bb SUBStream: " + " '" +
-            //        bbss.next() + "'");
-        }
-
-        for(; myStream.hasNext() ;)
-        {
-            System.out.println( "my: " + " '" +
-                    myStream.next() + "'");
-            //System.out.println( "bb: " +
-                    //babelStream.hasNext() +  //BABEL bugbug: un/comment this
-                                //line you'll get different behavior for next()
-            //        " '" +
-            //        babelStream.next() + "'");
-        }
-    }
-}
-
diff --git a/v1/test/src/streamtest/XmlStreamConformance.java b/v1/test/src/streamtest/XmlStreamConformance.java
deleted file mode 100644
index 72baf9e..0000000
--- a/v1/test/src/streamtest/XmlStreamConformance.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package streamtest;
-
-import java.io.File;
-import java.io.Reader;
-import java.io.FileReader;
-import java.io.BufferedReader;
-import java.util.Date;
-import org.xmlpull.mxp1.MXParser;
-import org.xmlpull.mxp1.MXParserCachingStrings;
-import weblogic.xml.stream.XMLInputStream;
-import weblogic.xml.stream.XMLInputStreamFactory;
-import weblogic.xml.stream.XMLEvent;
-import xmlext.xml.XppAdaptor;
-import org.xmlpull.stream.XppXmlStreamImpl;
-import org.xmlpull.stream.XmlStreamFactory;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-
-/**
- *   Tests the conformance of the XMLInputStream produced by XppXmlStreamImpl.
- *   @author Cezar Andrei
- */
-public class XmlStreamConformance
-{
-    final static int TIMES = 30;
-
-    public static void main(String[] args)
-        throws Exception
-    {
-        if( args.length>0 )
-        {
-            File f = new File(args[0]);
-            if( f.isDirectory() )
-                compareDir(f);
-            else
-                //compareFile(f);
-                printFile(f);
-        }
-        else
-        {
-            printUsage();
-        }
-    }
-
-    static void printUsage()
-    {
-        System.out.println("\tThis app tests the conformance of the two " +
-                           "XMLInputStream \n\tproduced by Babel parser and " +
-                           "Xpp3 parser.");
-        System.out.println("\n\n\tUSAGE: java ... test.XmlStreamConformance " +
-                           "dir|file");
-        System.out.println("\n\t\tdir\t\tMakes the test for all the files in " +
-                           "the dir.");
-        System.out.println("\t\tfile\t\tMakes the test only for that file.");
-    }
-
-    static void compareFile(File file)
-        throws Exception
-    {
-        System.out.println(file.getPath() + " size: " + file.length());
-
-        if(!file.isFile())
-            //throw new Exception("compareFile: file not a File");
-            return;
-
-        Reader r1 = new BufferedReader( new FileReader(file));
-        Reader r2 = new BufferedReader( new FileReader(file));
-
-        XMLInputStream xpp = XmlStreamFactory.
-                createXmlInputStream(new XppXmlStreamImpl(r2));
-        XMLInputStream babel = XMLInputStreamFactory.newInstance().
-            newInputStream(r1);
-
-        while( xpp.hasNext() || babel.hasNext() )
-        {
-            XMLEvent xppevent = xpp.peek();
-            XMLEvent babelevent = babel.peek();
-
-            if( !(""+xppevent).equals((""+babelevent)) )
-                printError(xppevent, babelevent);
-            else
-            {
-                //System.out.println("   `" + xppevent + "'\n   `" + babelevent +
-                //                   "'"); System.out.flush();
-            }
-
-            xppevent = xpp.next();
-            babelevent = babel.next();
-        }
-
-        //System.out.println("   xpp   overlimit: " + xpp.next() );
-        //System.out.println("   babel overlimit: " + babel.next() );
-
-        r1.close();
-        r2.close();
-
-        //comparePerf(file);
-    }
-
-    static void printFile(File file)
-        throws Exception
-    {
-        System.out.println(file.getPath() + " size: " + file.length());
-
-        if(!file.isFile())
-            //throw new Exception("compareFile: file not a File");
-            return;
-
-        Reader r2 = new BufferedReader( new FileReader(file));
-
-        XMLInputStream xpp = XmlStreamFactory.
-                createXmlInputStream(new XppXmlStreamImpl(r2));
-        XMLInputStream morphedStream;
-        try
-        {
-            System.out.println("Starting xquery");
-            XmlObject xmlObj = XmlObject.Factory.parse(xpp);
-            XmlCursor crs = xmlObj.newCursor();
-            XmlCursor resCrs = crs.execQuery("$this");
-            // not yet implemented
-            //morphedStream = resCrs.newXMLInputStream();
-            Reader reader = resCrs.newReader();
-            reader = resCrs.newReader();
-            morphedStream = XMLInputStreamFactory.newInstance().
-                newInputStream(reader);
-            System.out.print("...");
-
-        }
-        catch( Exception e )
-        {
-            e.printStackTrace();
-            morphedStream = null;
-        }
-
-        xpp = morphedStream;
-
-        while( xpp.hasNext() )
-        {
-            XMLEvent xppevent = xpp.peek();
-
-            System.out.println("   `" + xppevent + "'"); System.out.flush();
-            xppevent = xpp.next();
-        }
-
-        r2.close();
-    }
-
-    static void printError(XMLEvent xppevent, XMLEvent babelevent)
-    {
-        String sxpp = ""+xppevent;
-        String sbab = ""+babelevent;
-
-        System.out.println("ERROR-----");
-        if( !sxpp.trim().equals(sbab.trim()) )
-        {
-            System.out.println("xpp   :`" + sxpp + "'");
-            System.out.print("babel :`" + sbab + "'");
-        }
-        else
-        {
-            System.out.print("xpp   :");
-            for(int i=0; i<sxpp.length(); i++)
-            {
-                byte b = (byte)sxpp.charAt(i);
-                System.out.print(" #" + b);
-            }
-            System.out.print("\nbabel :");
-            for(int i=0; i<sbab.length(); i++)
-            {
-                byte b = (byte)sbab.charAt(i);
-                System.out.print(" #" + b);
-            }
-        }
-        System.out.println("\n----------");
-    }
-
-    static void compareDir(File dir)
-        throws Exception
-    {
-        if(!dir.isDirectory())
-            throw new Exception("compareDir: dir not a Directory");
-
-        File[] files = dir.listFiles();
-        for( int i=0; i<files.length; i++)
-            compareFile(files[i]);
-    }
-
-    static void comparePerf(File file)
-        throws Exception
-    {
-        long start;
-        double xstime = 0;
-        double xrtime = 0;
-        double babeltime = 0;
-
-        //babel
-        for( int i=0; i<TIMES; i++ )
-        {
-            Reader r = new BufferedReader( new FileReader(file));
-            start = new Date().getTime();
-            XMLInputStream babel = XMLInputStreamFactory.newInstance().
-                newInputStream(r);
-            while( babel.hasNext() )
-            {
-                XMLEvent babelevent = babel.peek();
-                babelevent = babel.next();
-            }
-            babeltime += new Date().getTime() - start;
-            r.close();
-            //System.out.print(".");
-        }
-
-        //xpp with direct acces to the xpp parser
-        for( int i=0; i<TIMES; i++ )
-        {
-            Reader r = new BufferedReader( new FileReader(file));
-            start = new Date().getTime();
-            MXParser xpp = (MXParser) new MXParserCachingStrings();
-            xpp.setFeature( MXParser.FEATURE_PROCESS_NAMESPACES, true);
-            xpp.setInput( r );
-            int eventType = xpp.getEventType();
-            while ( eventType != xpp.END_DOCUMENT )
-            {
-                eventType = xpp.nextToken();
-            }
-            xrtime += new Date().getTime() - start;
-            r.close();
-            //System.out.print("'");
-        }
-
-        //xpp with XppXmlStreamImpl
-        for( int i=0; i<TIMES; i++ )
-        {
-            Reader r = new BufferedReader( new FileReader(file));
-            //XMLInputStream xpp = new XppAdaptor().getStream(r2);
-            start = new Date().getTime();
-            XMLInputStream xpp = (XMLInputStream) new XppXmlStreamImpl(r);
-
-            while( xpp.hasNext() )
-            {
-                XMLEvent xppevent = xpp.peek();
-                xppevent = xpp.next();
-            }
-            xstime += new Date().getTime() - start;
-            r.close();
-            //System.out.print("`");
-        }
-
-        System.out.println("PERF:  babel/xppIS = " + dec(babeltime/xstime) +
-                           " \tbabel/xppRaw = " + dec(babeltime/xrtime) );
-    }
-
-    static String dec( double f)
-    {
-        return "" + ((double)Math.round(f*100))/100;
-    }
-}
diff --git a/v1/test/src/stsschema/sts.xsd b/v1/test/src/stsschema/sts.xsd
deleted file mode 100644
index 5caf7f6..0000000
--- a/v1/test/src/stsschema/sts.xsd
+++ /dev/null
@@ -1,49 +0,0 @@
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:sts="http://bea.com/internal/soap-test-script"
-  targetNamespace="http://bea.com/internal/soap-test-script"
-  elementFormDefault="qualified"
-  blockDefault="#all">
-  
-
-<xs:element name="soap-test-script">
-  <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element name="request" type="sts:requestSpec"/>
-        <xs:element name="event" type="sts:eventSpec"/>
-        <xs:element name="all" type="sts:setOfEvents"/>
-      </xs:choice>
-      <xs:attribute name="timeout" type="xs:int"/>
-  </xs:complexType>
-</xs:element>
-
-<xs:complexType name="setOfEvents">
-  <xs:choice minOccurs="0" maxOccurs="unbounded">
-    <xs:element name="event" type="sts:eventSpec"/>
-  </xs:choice>
-</xs:complexType>
-
-<xs:complexType name="requestSpec">
-  <xs:sequence>
-    <xs:element name="url" type="xs:anyURI"/>
-    <xs:choice minOccurs="0">
-      <xs:element name="start" type="xs:string"/>
-      <xs:element name="continue" type="xs:string"/>
-    </xs:choice>
-    <xs:element name="send" type="xs:string"/>
-    <xs:element name="expect" type="xs:string" minOccurs="0"/>
-  </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="eventSpec">
-  <xs:sequence>
-    <xs:choice>
-      <xs:element name="continue" type="xs:string"/>
-      <xs:element name="finish" type="xs:string"/>
-    </xs:choice>
-    <xs:element name="expect" type="xs:string" minOccurs="0"/>
-    <xs:element name="send" type="xs:string" minOccurs="0"/>
-  </xs:sequence>
-</xs:complexType>
-
-
-</xs:schema>
\ No newline at end of file
diff --git a/v1/test/src/teststore/com/bea/test/Test.java b/v1/test/src/teststore/com/bea/test/Test.java
deleted file mode 100644
index b688f20..0000000
--- a/v1/test/src/teststore/com/bea/test/Test.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package com.bea.test;
-
-import weblogic.xml.schema.model.parser.XSDParserFactory;
-import weblogic.xml.schema.model.parser.XSDParser;
-import weblogic.xml.schema.model.SchemaDocument;
-import weblogic.xml.schema.model.XSDSchema;
-import weblogic.xml.schema.model.XSDException;
-import weblogic.xml.stream.XMLInputStreamFactory;
-import weblogic.xml.stream.XMLStreamException;
-import weblogic.xml.stream.events.Name;
-
-import java.io.Reader;
-import java.io.FileReader;
-import java.io.FileNotFoundException;
-import java.io.OutputStreamWriter;
-import java.io.IOException;
-import java.io.File;
-
-import xml.util.SchemaType;
-import xml.util.SchemaTypeSystem;
-import org.apache.xmlbeans.schema.SchemaTypeSystemBuilder;
-import org.apache.xmlbeans.schema.SchemaTypeCodePrinter;
-import org.apache.xmlbeans.tool.CommandLine;
-import org.openuri.mytest.Simplicity;
-import org.openuri.mytest.Person;
-
-public class Test
-{
-    public static void main(String[] args)
-    {
-        /*
-        CommandLine cl = new CommandLine(args, null);
-        XSDParser xsdparser = XSDParserFactory.newInstance().createXSDParser();
-        XMLInputStreamFactory xmlparser = XMLInputStreamFactory.newInstance();
-        boolean simpletest = false;
-
-        SchemaTypeSystemBuilder builder = new SchemaTypeSystemBuilder("test");
-
-        args = cl.args();
-        for (int i = 0; i < args.length; i++)
-        {
-            try
-            {
-                Reader input = new FileReader(args[i]);
-                SchemaDocument sdoc = xsdparser.parseSchema(xmlparser.newInputStream(input));
-                XSDSchema s = sdoc.getSchema();
-                builder.addAllComponents(s);
-            }
-            catch (FileNotFoundException e)
-            {
-                System.out.println("Error opening file " + args[i] + ":\n" + e);
-            }
-            catch (XMLStreamException e)
-            {
-                System.out.println("Error parsing file " + args[i] + ":\n" + e);
-            }
-            catch (XSDException e)
-            {
-                System.out.println("Error parsing schema file " + args[i] + ":\n" + e);
-            }
-        }
-
-        builder.resolveAllTypes();
-        builder.javaizeAllTypes();
-
-        // OK, here we go
-
-        SchemaType[] gtypes = builder.globalTypes();
-        for (int i = 0; i < gtypes.length; i++)
-        {
-            SchemaType type = gtypes[i];
-
-            // print only types in this type system
-            if (!type.getSchemaTypeSystem().equals(builder))
-                continue;
-
-            try
-            {
-                System.err.println("Printing type");
-                SchemaTypeCodePrinter.printType(new OutputStreamWriter(System.out), type);
-            }
-            catch (IOException e)
-            {
-                System.err.println("IO Error " + e);
-            }
-        }
-        */
-
-        boolean simpletest = false;
-
-        if (simpletest)
-        {
-            TestStore store = new TestStore(org.openuri.mytest.SimpleDocument.type);
-            TestStore.Cursor cursor = store.newCursor();
-
-            System.err.println("Got store, filling it in...");
-            cursor.addChild(new Name("http://openuri.org/mytest", "simple"));
-            cursor.toFirstChild();
-            cursor.setAttribute(new Name(null, "note"), "a smallish number");
-            cursor.setText("143");
-            cursor.toRoot();
-            cursor.toFirstChild();
-            Simplicity simp = (Simplicity)cursor.obj();
-            System.err.println("The value of simplicity: " + simp.intValue());
-            System.err.println("And a note: " + simp.getNote());
-        }
-        else
-        {
-            TestStore store = new TestStore(org.openuri.mytest.CustomerDocument.type);
-            TestStore.Cursor cursor = store.newCursor();
-            System.err.println("Got store, filling it in...");
-            cursor.addChild(new Name("http://openuri.org/mytest", "customer"));
-            cursor.toFirstChild();
-            cursor.addChild(new Name("http://openuri.org/mytest", "firstname"));
-            cursor.addChild(new Name("http://openuri.org/mytest", "number"));
-            cursor.addChild(new Name("http://openuri.org/mytest", "number"));
-            cursor.addChild(new Name("http://openuri.org/mytest", "birthday"));
-            cursor.addChild(new Name("http://openuri.org/mytest", "number"));
-            cursor.addChild(new Name("http://openuri.org/mytest", "number"));
-            cursor.addChild(new Name("http://openuri.org/mytest", "birthday"));
-            cursor.toFirstChild();
-            cursor.setText("Howdy");
-            cursor.toNext();
-            cursor.setText("436");
-            cursor.toNext();
-            cursor.setText("123");
-            cursor.toNext();
-            cursor.setText("1998-08-26Z");
-            cursor.toNext();
-            cursor.setText("44");
-            cursor.toNext();
-            cursor.setText("933");
-            cursor.toNext();
-            cursor.setText("2000-08-06-08:00");
-            cursor.toRoot();
-            cursor.toFirstChild();
-            Person person = (Person)cursor.obj();
-            System.err.println("Person.getFirstname() = " + person.getFirstname());
-            int sum = 0;
-            for (int i = 0; i < person.countOfNumber(); i++)
-            {
-                System.err.println("Person.getNumber(" + i +") = " + person.getNumber(i));
-                sum += person.getNumber(i);
-            }
-            System.err.println("sum of numbers = " + sum);
-            for (int i = 0; i < person.countOfBirthday(); i++)
-            {
-                System.err.println("Person.getBirthday(" + i +") = " + person.getBirthday(i));
-                System.err.println("Person.xgetBirthday(" + i +") = " + person.xgetBirthday(i));
-                System.err.println("Person.xgetBirthday(" + i +").gDateValue().getDay() = " + person.xgetBirthday(i).gDateValue().getDay());
-                sum += person.getNumber(i);
-            }
-            System.err.println("Setting firstname to George");
-            person.setFirstname("George");
-            System.err.println("Person.getFirstname() = " + person.getFirstname());
-            System.err.flush();
-        }
-
-    }
-}
diff --git a/v1/test/src/teststore/com/bea/test/TestStore.java b/v1/test/src/teststore/com/bea/test/TestStore.java
deleted file mode 100644
index 49d9e0c..0000000
--- a/v1/test/src/teststore/com/bea/test/TestStore.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package com.bea.test;
-
-import weblogic.xml.stream.XMLName;
-import org.apache.xmlbeans.values.TypeStoreUserFactory;
-import xml.util.SchemaTypeSystem;
-import xml.util.XmlObject;
-import xml.util.SchemaType;
-
-import java.util.Iterator;
-import java.util.ArrayList;
-import java.util.HashMap;
-
-public class TestStore
-{
-    TestTypeStore _root;
-
-    public TestStore(SchemaType rootType)
-    {
-        _root = makeRootStore(rootType);
-    }
-
-    Cursor newCursor()
-    {
-        return new Cursor();
-    }
-
-    public class Cursor
-    {
-        TestTypeStore _curpos = _root;
-        int _curIndex = 0;
-
-        public XmlObject obj()
-        {
-            return (XmlObject)_curpos._user;
-        }
-
-        public boolean hasParent()
-        {
-            return _curpos._parent != null;
-        }
-
-        public boolean toRoot()
-        {
-            _curpos = _root;
-            _curIndex = 0;
-            return true;
-        }
-
-        public boolean toParent()
-        {
-            if (!hasParent())
-                return false;
-            _curpos = _curpos._parent;
-            return true;
-        }
-
-        public boolean hasNext()
-        {
-            if (_curpos._parent == null)
-                return false;
-            if (_curIndex + 1 < _curpos._parent._childElementTypeStores.size())
-                return true;
-            return false;
-        }
-
-        public boolean toNext()
-        {
-            if (!hasNext())
-                return false;
-            _curIndex++;
-            _curpos = (TestTypeStore)_curpos._parent._childElementTypeStores.get(_curIndex);
-            return true;
-        }
-
-        public boolean toPrev()
-        {
-            if (!hasPrev())
-                return false;
-            _curIndex--;
-            _curpos = (TestTypeStore)_curpos._parent._childElementTypeStores.get(_curIndex);
-            return true;
-        }
-
-        public boolean hasPrev()
-        {
-            if (_curpos._parent == null)
-                return false;
-            if (_curIndex - 1 > 0)
-                return true;
-            return false;
-        }
-
-        public boolean hasChild()
-        {
-            return _curpos._childElementTypeStores != null &&
-                   _curpos._childElementTypeStores.size() > 0;
-        }
-
-        public boolean toFirstChild()
-        {
-            if (!hasChild())
-                return false;
-            _curIndex = 0;
-            _curpos = (TestTypeStore)_curpos._childElementTypeStores.get(_curIndex);
-            return true;
-        }
-
-        public boolean toLastChild()
-        {
-            if (!hasChild())
-                return false;
-            _curIndex = _curpos._childElementTypeStores.size() - 1;
-            _curpos = (TestTypeStore)_curpos._childElementTypeStores.get(_curIndex);
-            return true;
-        }
-
-        public boolean toChildNamed(XMLName name, int index)
-        {
-            if (!hasChild())
-                return false;
-            int targetindex = 0;
-            for (Iterator i = _curpos._childElementTypeStores.iterator(); i.hasNext(); )
-            {
-                TestTypeStore store = (TestTypeStore)i.next();
-
-                if (store._name.equals(name))
-                {
-                    if (index == 0)
-                    {
-                        _curIndex = targetindex;
-                        _curpos = store;
-                        return true;
-                    }
-                    index--;
-                }
-                targetindex++;
-            }
-            return false;
-        }
-
-        public boolean toChildAt(int index)
-        {
-            if (!hasChild())
-                return false;
-            if (index < 0 || index >= _curpos._childElementTypeStores.size())
-                return false;
-            _curIndex = index;
-            _curpos = (TestTypeStore)_curpos._childElementTypeStores.get(index);
-            return true;
-        }
-
-        public void removeChildAt(int index)
-        {
-            if (!hasChild() || index < 0 || index >= _curpos._childElementTypeStores.size())
-                throw new ArrayIndexOutOfBoundsException();
-            TestTypeStore target = (TestTypeStore)_curpos._childElementTypeStores.get(index);
-            target.disconnect();
-            _curpos._childElementTypeStores.remove(index);
-        }
-
-        public void insertChildAt(int index, XMLName name)
-        {
-            if (index < 0 ||
-                    (_curpos._childElementTypeStores == null ?
-                    index > 0 : index > _curpos._childElementTypeStores.size()))
-                throw new ArrayIndexOutOfBoundsException();
-            _curpos._textLeafContent = null;
-            if (_curpos._childElementTypeStores == null)
-                _curpos._childElementTypeStores = new ArrayList();
-            _curpos._childElementTypeStores.add(index, _curpos.makeNewChild(name, false));
-        }
-
-        public void addChild(XMLName name)
-        {
-            _curpos._textLeafContent = null;
-            if (_curpos._childElementTypeStores == null)
-                _curpos._childElementTypeStores = new ArrayList();
-            _curpos._childElementTypeStores.add(_curpos.makeNewChild(name, false));
-        }
-
-        public int countChild()
-        {
-            if (_curpos._childElementTypeStores == null)
-                return 0;
-            return _curpos._childElementTypeStores.size();
-        }
-
-        public String getAttribute(XMLName name)
-        {
-            if (_curpos._childAttributeTypeStores == null)
-                return null;
-
-            TestTypeStore attr = (TestTypeStore)_curpos._childAttributeTypeStores.get(name);
-            if (attr == null)
-                return null;
-
-            String result = attr._textLeafContent;
-            return result == null ? "" : result;
-        }
-
-        public void clearAttribute(XMLName name)
-        {
-            if (_curpos._childAttributeTypeStores == null)
-                return;
-        }
-
-        public void setAttribute(XMLName name, String value)
-        {
-            if (_curpos._childAttributeTypeStores == null)
-                _curpos._childAttributeTypeStores = new HashMap();
-
-            TestTypeStore attr = _curpos.makeNewChild(name, true);
-
-            attr._textLeafContent = value;
-            _curpos._childAttributeTypeStores.put(name, attr);
-        }
-
-        public void setText(String text)
-        {
-            if (_curpos._childElementTypeStores != null)
-            {
-                for (Iterator i = _curpos._childElementTypeStores.iterator(); i.hasNext(); )
-                {
-                    TestTypeStore store = (TestTypeStore)i.next();
-                    store.disconnect();
-                }
-                _curpos._childElementTypeStores = null;
-            }
-            _curpos._textLeafContent = text;
-        }
-
-        public String getText()
-        {
-            if (_curpos._childElementTypeStores != null)
-                throw new IllegalStateException(); // in practice perhaps we want to concatenate flattened stripped text
-            String result = _curpos._textLeafContent;
-            return result == null ? "" : result;
-        }
-
-        Cursor newCursor()
-        {
-            Cursor result = new Cursor();
-            result._curIndex = _curIndex;
-            result._curpos = _curpos;
-            return result;
-        }
-    }
-
-    private TestTypeStore makeRootStore(SchemaType rootType)
-    {
-        TestTypeStore result = new TestTypeStore();
-        result._parent = null;
-        result._name = null;
-        result._isAttribute = false;
-        result._user = ((TypeStoreUserFactory)rootType).createTypeStoreUser();
-        if (result._user == null)
-            throw new IllegalStateException();
-        result._user.attach_store(result);
-        return result;
-    }
-}
diff --git a/v1/test/src/teststore/com/bea/test/TestTypeStore.java b/v1/test/src/teststore/com/bea/test/TestTypeStore.java
deleted file mode 100644
index a796ad0..0000000
--- a/v1/test/src/teststore/com/bea/test/TestTypeStore.java
+++ /dev/null
@@ -1,495 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package com.bea.test;
-
-import org.apache.xmlbeans.values.TypeStore;
-import org.apache.xmlbeans.values.TypeStoreUser;
-import org.apache.xmlbeans.values.TypeStoreVisitor;
-import weblogic.xml.stream.XMLName;
-
-import java.util.Map;
-import java.util.List;
-import java.util.Iterator;
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import xml.util.SchemaType;
-import xml.util.QNameSet;
-import xml.util.XmlCursor;
-
-public class TestTypeStore implements TypeStore
-{
-    TestTypeStore _parent;
-    TypeStoreUser _user;
-    XMLName _name;
-    boolean _isAttribute;
-    boolean _isNil;
-    String _textLeafContent;
-    List _childElementTypeStores;
-    Map _childAttributeTypeStores;
-
-    public XmlCursor new_cursor()
-    {
-        throw new RuntimeException("Not implemented");
-    }
-
-    public void invalidate_text(TypeStoreUser user)
-    {
-        assert(!hasElements());
-    }
-
-    public String fetch_text(int whitespaceRule)
-    {
-        assert(!hasElements());
-        return _textLeafContent == null ? "" : apply_wsr(_textLeafContent, whitespaceRule);
-    }
-
-    public void store_text(TypeStoreUser user, String text)
-    {
-        assert(!hasElements());
-        _textLeafContent = text;
-    }
-
-    /**
-     * Here the TypeStore is responsible for locating the default value.
-     * This is done as follows
-     * (1) go to the parent TypeStoreUser
-     * (2) ask it to get_default_element_text(qname) (or _attribute_), and return it if not null.
-     * (2) otherwise, grab a new TypeStoreUserVisitor via v = parentuser.new_visitor();
-     * (3) call v.visit(name) on _every_ element qname up to and including this one in order
-     * (4) return the result of v.get_default_text().
-     */
-    public String compute_default_text()
-    {
-        if (_parent == null)
-            return "";
-        String deftext =
-            _isAttribute ? _parent._user.get_default_attribute_text(_name) :
-                           _parent._user.get_default_element_text(_name);
-        if (deftext == null)
-        {
-            TypeStoreVisitor visitor = _parent._user.new_visitor();
-            for (Iterator i = _parent._childElementTypeStores.iterator(); i.hasNext(); )
-            {
-                TestTypeStore sibling = (TestTypeStore)i.next();
-                visitor.visit(sibling._name);
-                if (sibling == this)
-                    return visitor.get_default_text();
-            }
-            assert(false) : "Invariant error: parent doesn't have this as child.";
-        }
-        return deftext;
-    }
-
-    public int compute_elementflags()
-    {
-        if (_parent == null)
-            return 0;
-        int flags;
-        if (_isAttribute)
-        {
-            flags = _parent._user.get_attributeflags(_name);
-        }
-        else
-        {
-            flags = _parent._user.get_elementflags(_name);
-            if (flags == -1)
-            {
-                TypeStoreVisitor visitor = _parent._user.new_visitor();
-                for (Iterator i = _parent._childElementTypeStores.iterator(); i.hasNext(); )
-                {
-                    TestTypeStore sibling = (TestTypeStore)i.next();
-                    visitor.visit(sibling._name);
-                    if (sibling == this)
-                        return visitor.get_elementflags();
-                }
-                assert(false) : "Invariant error: parent doesn't have this as child.";
-                flags = 0;
-            }
-        }
-        return flags;
-    }
-
-    public void invalidate_nil(TypeStoreUser user)
-    {
-        // this could be done later
-        _isNil = _user.build_nil();
-    }
-
-    public boolean find_nil()
-    {
-        return _isNil;
-    }
-
-    public String find_prefix_for_nsuri(String nsuri, String suggested_prefix)
-    {
-        throw new RuntimeException("The test harness has no namespace support");
-    }
-
-    public int count_elements(XMLName name)
-    {
-        int count = 0;
-
-        for (Iterator i = _childElementTypeStores.iterator(); i.hasNext(); )
-        {
-            if (((TestTypeStore)i.next())._name.equals(name))
-                count++;
-        }
-
-        return count;
-    }
-
-    public TypeStoreUser find_element_user(XMLName name, int index)
-    {
-        for (Iterator i = _childElementTypeStores.iterator(); i.hasNext(); )
-        {
-            TestTypeStore store = (TestTypeStore)i.next();
-
-            if (store._name.equals(name))
-            {
-                if (index == 0)
-                    return store._user;
-                index--;
-            }
-        }
-
-        return null; // no exception please
-    }
-
-    public TypeStoreUser insert_element_user(XMLName name, int index)
-    {
-        TypeStoreUser target = null;
-        int insertindex = 0;
-
-        if (_childElementTypeStores == null)
-        {
-            _childElementTypeStores = new ArrayList();
-        }
-        else
-        {
-            int lastfoundat = 0;
-
-            for (Iterator i = _childElementTypeStores.iterator(); i.hasNext(); )
-            {
-                TestTypeStore store = (TestTypeStore)i.next();
-
-                if (store._name.equals(name))
-                {
-                    lastfoundat = insertindex;
-                    index--;
-                    if (index < 0)
-                        break;
-                }
-                insertindex++;
-            }
-
-            if (index < 0)
-            {
-                // found one; insert right before
-                insertindex = lastfoundat;
-            }
-            else if (index > 0)
-            {
-                // didn't find several; that's illegal.
-                throw new ArrayIndexOutOfBoundsException();
-            }
-            else
-            {
-                // found all but last one: we must be appending.
-                // but where to append?
-
-                QNameSet delimiters = _parent._user.get_element_ending_delimiters(name);
-
-                for (insertindex = lastfoundat + 1; insertindex < _childElementTypeStores.size(); insertindex++)
-                {
-                    TestTypeStore store = (TestTypeStore)_childElementTypeStores.get(insertindex);
-                    if (delimiters.contains(store._name))
-                        break; // insertindex is wherever the first delimiter is found
-                }
-
-                // if not found, insertindex is one past the end.
-            }
-        }
-
-        TestTypeStore newChild = makeNewChild(name, false);
-        _childElementTypeStores.add(insertindex, newChild);
-        return newChild._user;
-    }
-
-    TestTypeStore makeNewChild(XMLName name, boolean isAttribute)
-    {
-        TestTypeStore result = new TestTypeStore();
-        result._parent = this;
-        result._name = name;
-        result._isAttribute = isAttribute;
-        if (isAttribute)
-            result._user = _user.create_attribute_user(name);
-        else
-            result._user = _user.create_element_user(name, null); // no xsi:types for now
-        if (result._user == null)
-            throw new IllegalStateException();
-        result._user.attach_store(result);
-        return result;
-    }
-
-    void disconnect()
-    {
-        if (_childElementTypeStores != null)
-        {
-            for (Iterator i = _childElementTypeStores.iterator(); i.hasNext(); )
-            {
-                TestTypeStore store = (TestTypeStore)i.next();
-                store.disconnect();
-            }
-        }
-        _childElementTypeStores = null;
-        if (_childAttributeTypeStores != null)
-        {
-            for (Iterator i = _childAttributeTypeStores.values().iterator(); i.hasNext(); )
-            {
-                TestTypeStore store = (TestTypeStore)i.next();
-                store.disconnect();
-            }
-        }
-        _childAttributeTypeStores = null;
-        _user.disconnect_store();
-        _user = null;
-        _parent = null;
-        _name = null;
-        _textLeafContent = null;
-    }
-
-    public int findInsertIndexBasedOnOrder(XMLName[] order, XMLName nameToAdd)
-    {
-        int orderindex = 0;
-        int insertindex = 0;
-
-        for (Iterator i = _childElementTypeStores.iterator(); i.hasNext(); )
-        {
-            TestTypeStore store = (TestTypeStore)i.next();
-            while (orderindex < order.length && !order[orderindex].equals(store._name))
-            {
-                if (order[orderindex].equals(nameToAdd))
-                {
-                    return insertindex;
-                }
-                orderindex++;
-            }
-            insertindex++;
-        }
-        return insertindex;
-    }
-
-    public TypeStoreUser add_element_user(XMLName name)
-    {
-        return insert_element_user(name, count_elements(name));
-    }
-
-    public void remove_element(XMLName name, int index)
-    {
-        TypeStoreUser target = null;
-        int removeindex = 0;
-        boolean found = false;
-
-        for (Iterator i = _childElementTypeStores.iterator(); i.hasNext(); )
-        {
-            TestTypeStore store = (TestTypeStore)i.next();
-
-            if (store._name.equals(name))
-            {
-                if (index == 0)
-                {
-                    _childElementTypeStores.remove(removeindex);
-                    return;
-                }
-                index--;
-            }
-            removeindex++;
-        }
-
-        throw new ArrayIndexOutOfBoundsException();
-    }
-
-    public TypeStoreUser find_attribute_user(XMLName name)
-    {
-        if (_childAttributeTypeStores == null)
-            return null;
-
-        TestTypeStore store = (TestTypeStore)_childAttributeTypeStores.get(name);
-        if (store == null)
-            return null;
-
-        return store._user;
-    }
-
-    public TypeStoreUser add_attribute_user(XMLName name)
-    {
-        if (_childAttributeTypeStores != null && _childAttributeTypeStores.containsKey(name))
-            throw new IllegalArgumentException();
-
-        if (_childAttributeTypeStores == null)
-            _childAttributeTypeStores = new HashMap();
-
-        TestTypeStore newChild = makeNewChild(name, true);
-        _childAttributeTypeStores.put(name, newChild);
-        return newChild._user;
-    }
-
-    public void remove_attribute(XMLName name)
-    {
-        if (_childAttributeTypeStores == null || !_childAttributeTypeStores.containsKey(name))
-            throw new IllegalArgumentException();
-        _childAttributeTypeStores.remove(name);
-    }
-
-    public void visit_elements(TypeStoreVisitor visitor)
-    {
-        for (Iterator i = _childElementTypeStores.iterator(); i.hasNext(); )
-        {
-            TestTypeStore store = (TestTypeStore)i.next();
-            visitor.visit(store._name);
-        }
-        visitor.visit(null);
-    }
-
-
-    private boolean hasElements()
-    {
-        return _childElementTypeStores != null;
-    }
-
-    /**
-     * The algorithm used by apply_wscanon: sometimes used in impls.
-     */
-    protected static String apply_wsr(String v, int wsr)
-    {
-        if (wsr == SchemaType.WS_PRESERVE || wsr == SchemaType.WS_UNSPECIFIED)
-            return v;
-
-        if (v.indexOf('\n') >= 0)
-            v = v.replace('\n', ' ');
-        if (v.indexOf('\t') >= 0)
-            v = v.replace('\t', ' ');
-        if (v.indexOf('\r') >= 0)
-            v = v.replace('\r', ' ');
-
-        if (wsr == SchemaType.WS_REPLACE)
-            return v;
-
-        int j = 0;
-        int len = v.length();
-        if (len == 0)
-            return v;
-
-        /* a trick: examine every other character looking for pairs of spaces */
-        examine: if (v.charAt(0) != ' ')
-        {
-            for (j = 2; j < len; j += 2)
-            {
-                if (v.charAt(j) == ' ')
-                {
-                    if (v.charAt(j - 1) == ' ')
-                        break examine;
-                    if (j == len - 1)
-                        break examine;
-                    j++;
-                    if (v.charAt(j) == ' ')
-                        break examine;
-                }
-            }
-            if (j == len && v.charAt(j - 1) == ' ')
-                break examine;
-            return v;
-        }
-
-        /* j is pointing at the first ws to be removed, or past end */
-        char[] ch = v.toCharArray();
-        int i = j;
-
-        shifter: for (;;)
-        {
-            for (;;)
-            {
-                /* j was ws or past end */
-                j++;
-                if (j >= len)
-                    break shifter;
-                if (j != ' ')
-                    break;
-            }
-            for (;;)
-            {
-                /* j was nonws */
-                ch[i++] = ch[j++];
-                if (j >= len)
-                    break shifter;
-                if (ch[j] == ' ')
-                {
-                    ch[i++] = ch[j++];
-                    if (j >= len)
-                        break shifter;
-                    if (ch[j] == ' ')
-                        break;
-                }
-            }
-        }
-
-        return new String(ch, 0, (i == 0 || ch[i - 1] != ' ') ? i : i - 1);
-    }
-
-
-}
diff --git a/v1/test/src/unmarshal/com/bea/test/TestStructure.java b/v1/test/src/unmarshal/com/bea/test/TestStructure.java
deleted file mode 100644
index 131e552..0000000
--- a/v1/test/src/unmarshal/com/bea/test/TestStructure.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package com.bea.test;
-
-public class TestStructure
-{
-    public int varInt;
-    public float varFloat;
-    public String varString;
-}
diff --git a/v1/test/src/unmarshal/com/bea/test/Unmarshal.java b/v1/test/src/unmarshal/com/bea/test/Unmarshal.java
deleted file mode 100644
index 830969a..0000000
--- a/v1/test/src/unmarshal/com/bea/test/Unmarshal.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package com.bea.test;
-
-import org.apache.xmlbeans.unmarshal.MessagePlan;
-import org.apache.xmlbeans.unmarshal.UnmarshalPlan;
-import org.apache.xmlbeans.unmarshal.SimpleTypePlan;
-import org.apache.xmlbeans.unmarshal.StructurePlan;
-import org.apache.xmlbeans.unmarshal.UnmarshalContext;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlObject;
-
-import javax.xml.namespace.QName;
-
-import java.io.File;
-
-import weblogic.xml.stream.XMLInputStream;
-
-public class Unmarshal
-{
-    public static void main(String args[]) throws Exception
-    {
-        MessagePlan messagePlan = new MessagePlan(2);
-
-        SimpleTypePlan param1Plan = new SimpleTypePlan(SimpleTypePlan.JAVA_FLOAT, true, SchemaType.BTC_DOUBLE, null, 0);
-
-        StructurePlan param2Plan = new StructurePlan();
-
-        param2Plan.setTargetClass(com.bea.test.TestStructure.class);
-        param2Plan.setInfoForElement(new QName("varInt"), new StructurePlan.FieldInfo("varInt", false, "com.bea.test.TestStructure", null, StructurePlan.FieldInfo.SINGLETON, new SimpleTypePlan(SimpleTypePlan.JAVA_INT, true, SchemaType.BTC_INTEGER, null, 0)));
-        param2Plan.setInfoForElement(new QName("varFloat"), new StructurePlan.FieldInfo("varFloat", false, "com.bea.test.TestStructure", null, StructurePlan.FieldInfo.SINGLETON, new SimpleTypePlan(SimpleTypePlan.JAVA_FLOAT, true, SchemaType.BTC_FLOAT, null, 0)));
-        param2Plan.setInfoForElement(new QName("varString"), new StructurePlan.FieldInfo("varString", false, "com.bea.test.TestStructure", null, StructurePlan.FieldInfo.SINGLETON, new SimpleTypePlan(SimpleTypePlan.JAVA_STRING, false, SchemaType.BTC_STRING, null, 0)));
-
-        messagePlan.setInfoForElement(new QName("LastTradePrice"), new MessagePlan.ParamInfo(0, MessagePlan.ParamInfo.SINGLETON, param1Plan));
-        messagePlan.setInfoForElement(new QName("inputStruct"), new MessagePlan.ParamInfo(1, MessagePlan.ParamInfo.SINGLETON, param2Plan));
-
-        XmlObject xobj = XmlObject.Factory.parse(new File(args[0]));
-        XMLInputStream xinput = xobj.newXMLInputStream();
-        while (xinput.hasNext())
-        {
-            if (xinput.peek().isStartElement())
-                break;
-            xinput.skip();
-        }
-
-        UnmarshalContext context = new UnmarshalContext();
-        Object[] result = (Object[])messagePlan.unmarshal(xinput, context);
-        context.complete();
-
-        for (int i = 0; i < result.length; i++)
-        {
-            System.out.println("Result " + i + " = " + result[i]);
-            if (result[i] instanceof TestStructure)
-            {
-                TestStructure s = (TestStructure)result[i];
-                System.out.println("  varInt = " + s.varInt);
-                System.out.println("  varFloat = " + s.varFloat);
-                System.out.println("  varString = " + s.varString);
-            }
-        }
-    }
-}
diff --git a/v1/test/src/xmlpad/org/apache/xmlbeans/impl/xmlpad/XmlPad.java b/v1/test/src/xmlpad/org/apache/xmlbeans/impl/xmlpad/XmlPad.java
deleted file mode 100644
index 19c2a1b..0000000
--- a/v1/test/src/xmlpad/org/apache/xmlbeans/impl/xmlpad/XmlPad.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-* The Apache Software License, Version 1.1
-*
-*
-* Copyright (c) 2003 The Apache Software Foundation.  All rights 
-* reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer. 
-*
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in
-*    the documentation and/or other materials provided with the
-*    distribution.
-*
-* 3. The end-user documentation included with the redistribution,
-*    if any, must include the following acknowledgment:  
-*       "This product includes software developed by the
-*        Apache Software Foundation (http://www.apache.org/)."
-*    Alternately, this acknowledgment may appear in the software itself,
-*    if and wherever such third-party acknowledgments normally appear.
-*
-* 4. The names "Apache" and "Apache Software Foundation" must 
-*    not be used to endorse or promote products derived from this
-*    software without prior written permission. For written 
-*    permission, please contact apache@apache.org.
-*
-* 5. Products derived from this software may not be called "Apache 
-*    XMLBeans", nor may "Apache" appear in their name, without prior 
-*    written permission of the Apache Software Foundation.
-*
-* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-* ====================================================================
-*
-* This software consists of voluntary contributions made by many
-* individuals on behalf of the Apache Software Foundation and was
-* originally based on software copyright (c) 2000-2003 BEA Systems 
-* Inc., <http://www.bea.com/>. For more information on the Apache Software
-* Foundation, please see <http://www.apache.org/>.
-*/
-
-package org.apache.xmlbeans.impl.xmlpad;
-
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.impl.store.Root;
-
-public class XmlPad
-{
-    static public void main ( String[] args )
-    {
-        System.out.println( "Hi there!" );
-
-        new XmlPad().run();
-    }
-
-    void run ( )
-    {
-//        String s = new String( System.in.read();
-    }
-}
\ No newline at end of file
diff --git a/v1/test/src/xstypes/default.xsd b/v1/test/src/xstypes/default.xsd
deleted file mode 100644
index f4e8ae5..0000000
--- a/v1/test/src/xstypes/default.xsd
+++ /dev/null
@@ -1,46 +0,0 @@
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
-  <xs:element name="validElemDefault"   type="xs:int" default="1"/>
-<!-- BAU: we can't compile any more because it's invalid
-  <xs:element name="invalidElemDefault" type="xs:int" default="a"/>
--->
-  <xs:element name="validElemFixed"     type="xs:int" fixed="2"/>
-<!-- BAU: we can't compile any more because it's invalid
-  <xs:element name="invalidElemFixed"   type="xs:int" fixed="b"/>
--->
-
-  <xs:element name="validAttrDefault">
-    <xs:complexType>
-      <xs:attribute name="attr" type="xs:int" default="3"/>
-    </xs:complexType>
-  </xs:element>
-
-<!-- BAU: we can't compile any more because it's invalid
-  <xs:element name="invalidAttrDefault">
-    <xs:complexType>
-      <xs:attribute name="attr" type="xs:int" default="c"/>
-    </xs:complexType>
-  </xs:element>
--->
-
-  <xs:element name="validAttrFixed">
-    <xs:complexType>
-      <xs:attribute name="aricttr" type="xs:int" fixed="4"/>
-    </xs:complexType>
-  </xs:element>
-
-<!-- BAU: we can't compile any more because it's invalid
-  <xs:element name="invalidAttrFixed">
-    <xs:complexType>
-      <xs:attribute name="attr" type="xs:int" fixed="d"/>
-    </xs:complexType>
-  </xs:element>
--->    
-  <!-- types to help test nil -->
-
-  <xs:element name="canBeNil" nillable="true">
-    <xs:complexType>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>
diff --git a/v1/test/src/xstypes/person.xsd b/v1/test/src/xstypes/person.xsd
deleted file mode 100644
index a99c632..0000000
--- a/v1/test/src/xstypes/person.xsd
+++ /dev/null
@@ -1,104 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:mt="http://openuri.org/xstypes/test"
-   targetNamespace="http://openuri.org/xstypes/test"
-   elementFormDefault="qualified"
-   attributeFormDefault="unqualified" >
-
-  <xs:notation name="jpeg" public="JPEG" />
-  <xs:notation name="gif" public="GIF" />
-
-  <xs:complexType name="person">
-    <xs:sequence>
-      <xs:element name="firstname" type="xs:string"/>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element name="number">
-           <xs:simpleType>
-             <xs:restriction base="xs:integer">
-               <xs:minInclusive value="1"/>
-               <xs:maxInclusive value="1000"/>
-             </xs:restriction>
-           </xs:simpleType>
-        </xs:element>
-        <xs:element name="birthday" type="xs:date"/>
-        <!-- test that int-value does not collide with getIntValue() on SimpleValue -->
-        <xs:element name="int-value" type="xs:int"/>
-      </xs:choice>
-      <xs:element name="hex" type="xs:hexBinary"/>
-      <xs:element name="base64" type="xs:base64Binary"/>
-      <xs:element name="anyuri" type="xs:anyURI"/>
-      <xs:element name="qname" type="xs:QName"/>
-      <xs:element name="notation">
-        <xs:simpleType>
-          <xs:restriction base="xs:NOTATION">
-            <xs:enumeration value="jpeg" />
-            <xs:enumeration value="gif" />
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="gender">
-      <xs:simpleType>
-        <xs:restriction base="xs:NMTOKEN">
-          <xs:enumeration value="male"/>
-          <xs:enumeration value="female"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="hexAtt">
-      <xs:simpleType>
-        <xs:restriction base="xs:hexBinary">
-          <xs:pattern value="([45][0-9A-F])*"/>
-       </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="base64Att">
-      <xs:simpleType>
-        <xs:restriction base="xs:base64Binary">
-          <xs:whiteSpace value="collapse"/>
-          <xs:enumeration value="VGhpcyBzdHJpbmcgaXMgYmFzZTY0QmluYXJ5IGVuY29kZWQh"/>
-       </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="anyuriAtt">
-      <xs:simpleType>
-        <xs:restriction base="xs:anyURI">
-          <xs:whiteSpace value="collapse"/>
-          <xs:length value="100"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="qnameAtt">
-      <xs:simpleType>
-        <xs:restriction base="xs:QName">
-          <xs:whiteSpace value="collapse"/>
-       </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="notationAtt">
-      <xs:simpleType>
-        <xs:restriction base="xs:NOTATION">
-          <xs:enumeration value="jpeg"/>
-          <xs:enumeration value="gif"/>
-          <xs:length value="20"/>
-       </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:complexType>
-
-  <xs:element name="customer" type="mt:person"/>
-
-  <xs:element name="employee">
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="mt:person">
-          <xs:sequence>
-            <xs:element name="eid" type="xs:int"/>
-          </xs:sequence>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>
-
diff --git a/v1/test/src/xstypes/setters.xsd b/v1/test/src/xstypes/setters.xsd
deleted file mode 100644
index 5155cd7..0000000
--- a/v1/test/src/xstypes/setters.xsd
+++ /dev/null
@@ -1,6 +0,0 @@
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           xmlns:tns="setters" targetNamespace="setters"
-           elementFormDefault="qualified"
-           attributeFormDefault="unqualified">
-
-</xs:schema>
diff --git a/v1/test/src/xstypes/simplec.xsd b/v1/test/src/xstypes/simplec.xsd
deleted file mode 100644
index f7076a9..0000000
--- a/v1/test/src/xstypes/simplec.xsd
+++ /dev/null
@@ -1,27 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:mt="http://openuri.org/mytest"
-   targetNamespace="http://openuri.org/mytest"
-   elementFormDefault="qualified"
-   attributeFormDefault="unqualified"
->
-
-  <xs:complexType name="simplicity">
-    <xs:simpleContent>
-     <xs:extension base="mt:thousand">
-       <xs:attribute name="note" type="xs:string"/>
-     </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-
-  <xs:simpleType name="thousand">
-   <xs:restriction base="xs:integer">
-     <xs:minInclusive value="1"/>
-     <xs:maxInclusive value="1000"/>
-   </xs:restriction>
-  </xs:simpleType>
-
-  <xs:element name="simple" type="mt:simplicity"/>
-
-</xs:schema>
-
diff --git a/v1/test/src/xstypes/xstypes.xml b/v1/test/src/xstypes/xstypes.xml
deleted file mode 100644
index 8d30b88..0000000
--- a/v1/test/src/xstypes/xstypes.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-<customer xmlns="http://openuri.org/xstypes/test"
-   gender="male"
-   hexAtt="474749515457594747"
-   base64Att="        
-	VGhpcyBzdHJpbmcgaXMgYmFzZTY0QmluYXJ5IGVuY29kZWQh
-	"
-   anyuriAtt="http://dmoz.org/World/Français/"
-   qnameAtt="pref:localname" xmlns:pref="some_uri"
-   notationAtt="JPEG"
-  >
-  <firstname>Howdy</firstname>
-  <number>436</number>
-  <number>123</number>
-  <birthday>1998-08-26Z</birthday>
-  <number>44</number>
-  <number>933</number>
-  <birthday>2000-08-06-08:00</birthday>
-  <hex>454749515457595A4A</hex>
-  <base64>VGhpcyBzdHJpbmcgaXMgYmFzZTY0QmluYXJ5IGVuY29kZWQh</base64>
-  <anyuri>http://3space.org/space%20space/</anyuri>
-  <qname>openuri_org_localname</qname>
-  <notation>GIF</notation>
-</customer>
diff --git a/v1/xbeanenv.cmd b/v1/xbeanenv.cmd
deleted file mode 100644
index 0fd151f..0000000
--- a/v1/xbeanenv.cmd
+++ /dev/null
@@ -1 +0,0 @@
-SET XMLBEANS_HOME=%~dp0.
diff --git a/v1/xkit/README.txt b/v1/xkit/README.txt
deleted file mode 100644
index 53e55d5..0000000
--- a/v1/xkit/README.txt
+++ /dev/null
@@ -1,169 +0,0 @@
-XMLBeans Development Kit
-
-
-Welcome to XMLBeans!
-
-Apache XMLBeans is an effort undergoing incubation at the 
-Apache Software Foundation (ASF), sponsored by the XML project. 
-Incubation is required of all newly accepted projects until a 
-further review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner consistent 
-with other successful ASF projects. While incubation status is not 
-necessarily a reflection of the completeness or stability of the 
-code, it does indicate that the project has yet to be fully 
-endorsed by the ASF. 
-
-
-Kit contents:
-
-(1) One copy of xbean.jar, which contains XMLBeans.
-    Should work on any JDK 1.4.x.
-    ./lib/xbean.jar
-
-(2) License information for XML Beans and included libraries
-    ./license.txt
-
-(3) One folder full of command-line scripts, pointing to the
-    useful main() functions in the JAR.
-    ./bin
-
-(4) One bit of ant task documentation.
-    ./anttask.html
-
-(5) A copy of the plain javadoc tree for com.bea.xml.*
-    ./docs/reference
-
-(6) A preliminary collection of nicely formatted user-level
-    documentation HTML (includes reformatted and nicely
-    organized javadoc as well)
-    ./docs/guide
-
-(7) A few sample schemas
-    ./schemas
-
-
-Where to start?
-
-(1) Setup.
-
-    1. make sure you have a JDK 1.4.x installed; that java[.exe]
-       is on your path and that JAVA_HOME/bin contains java[.exe],
-       javac[.exe], and jar[.exe].
-
-    2. set your XMLBEANDIR env variable to point to the directory
-       containing xbean.jar (i.e., ./lib).
-
-    3. put the scripts in ./bin on your path.
-
-    4. run "scomp" with no arguments.  You should get a "usage"
-       message.
-
-(2) Try some schema compilation
-
-    1. In the ./schemas directory you'll find some collections of
-       schemas you can try out.
-
-         - easypo: a contrived simple starter "purchase order"
-         - cyclone: an actual customer schema (cyclonecommerce.com)
-         - s4s: the Schema for Schema
-         - j2ee: j2ee descriptor schemas
-
-       To compile them, you can just send the whole directory to
-       scomp, for example, "cd samples"; then "scomp easypo".
-       You will get an "xmltypes.jar" out that contains all the
-       compiled XMLBeans.  To pick your own JAR filename just say
-
-       scomp -out myeasypo.jar easypo
-
-
-    2. Especially as you get started, you will want to see the
-       .java source code for the generated code.  To get that,
-       use a command-line like
-
-       scomp -src mysrcdir -out myeasypo.jar easypo
-
-       The "mysrcdir" will contain all the .java source code
-       for the generated XMLBeans.
-
-(3) Try using your compiled XMLBeans
-
-    Now, armed with the XMLBeans source code and the basic
-    docs, you're ready to program.  Things you need to know:
-
-    * The org.apache.xmlbeans package has all the public classes
-      for XMLBeans.  Programs should not need to call anything
-      else in xbean.jar directly.
-
-    * XmlObject is the base class for all XMLBeans.  It
-      corresponds to xs:anyType.
-
-    * Every schema type corresponds to an XMLBean interface,
-      e.g., XmlAnySimpleType corresponds to xs:anySimpleType, and
-      XmlInt corresponds to xs:int, etc.. And of course this
-      extends to the XMLBean classes compiled from user-defined
-      schemas.
-
-    * Every XMLBean interface has an inner Factory class for
-      creating or parsing instances, e.g., to load a file of
-      generic type, use XmlObject.Factory.parse(myfile); to
-      parse a string you expect to be a purcahse-order, use
-      PurchaseOrderDocument.Factory.parse("<ep:purchase-o...");
-
-    * XmlCursor is the API for full XML infoset treewalking.
-      It is obtained via xmlobject.newCursor(). Using it is
-      less convenient, but faster than using XML Objects,
-      because it does not create objects as it traverses
-      the XML tree.
-
-    * SchemaType is the basic "schema reflection" API (just like
-      Class, but for Schema).  Get the actual schema type of any
-      instance by saying "xobj.schemaType();" get the static
-      constant schema type corresponding to any XMLBean class
-      by saying "MyPurchaseOrder.type" or "XmlInt.type".
-      (Analogous to "obj.getClass()" and "Object.class".)
-
-    * A number of utility methods are avaliable on
-      com.bea.xml.XmlBeans, including a function that can be
-      used to determine whether a Java class is an XmlBean and
-      functions to manage runtime-loading of schema type
-      systems.
-
-    With that, you're ready to navigate the javadoc and play
-    with the code.  Also, try reading some of our 
-    docs that are included in ./docs
-
-(3) Try some of the other utilities; you can also see a few
-    examples of XMLBean techniques in their source code.
-
-    1. "xpretty instance.xml" pretty-prints an XML instance
-       document.
-
-       The code is in xml.apache.org.tool.PrettyPrinter and is
-       a reasonable example of how to load and save out an
-       arbitrary XML document.  XmlOptions are used to produce
-       the pretty-printing.
-
-    2. "validate instance.xml schema.xsd" will validate the
-       instance against the schema.  XMLBeans is intended to
-       be a very accurate XML schema validator.
-
-       The code is in xml.apache.org.tool.InstanceValidator.
-       It is an excellent example of how to load a schema
-       type system dynamically at runtime, load and validate
-       an instance within that type system, and how to obtain
-       lists of and locations for validation errors.
-
-    3. "xsdtree easypo" will show the inheritance hierarchy
-       of the schema types in that directory.
-
-       The code is in xml.apache.org.tool.TypeHierarchyPrinter
-       and is a good introduction to how to traverse the
-       metadata in a schema type system.
-
-    4. "dumpxsb xbean.jar" or "dumpxsb myfile.xsb" will dump
-       the contents of "xsb" (binary schema metadata) files
-       in a human-readable form.  These .xsb files contain
-       the compiled metadata resulting from the .xsd files
-       of a type system.  They are analogous to .class files
-       for .java.
-
diff --git a/v1/xkit/bin/dumpxsb b/v1/xkit/bin/dumpxsb
deleted file mode 100644
index 6a18104..0000000
--- a/v1/xkit/bin/dumpxsb
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-#XSB file dumper
-#Prints the contents of an xsb file in human-readable form
-
-cp=
-cp=$cp:$XMLBEANDIR/xbean.jar
-
-java -classpath $cp xmlbeans.apache.org.tool.XsbDumper $*
-
diff --git a/v1/xkit/bin/dumpxsb.cmd b/v1/xkit/bin/dumpxsb.cmd
deleted file mode 100644
index 5166886..0000000
--- a/v1/xkit/bin/dumpxsb.cmd
+++ /dev/null
@@ -1,12 +0,0 @@
-@rem XSB file dumper
-@rem
-@rem Prints the contents of an xsb file in human-readable form
-
-@echo off
-
-set cp=
-set cp=%cp%;%XMLBEANDIR%\xbean.jar
-
-java -classpath %cp% xmlbeans.apache.org.tool.XsbDumper %*
-
-:done
diff --git a/v1/xkit/bin/scomp b/v1/xkit/bin/scomp
deleted file mode 100644
index a41f1c2..0000000
--- a/v1/xkit/bin/scomp
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-#Schema compiler
-#Builds XBean types from xsd files.
-
-
-cp=
-cp=$cp:$XMLBEANDIR/xbean.jar
-
-java -classpath $cp xmlbeans.apache.org.tool.SchemaCompiler $*
-
-
diff --git a/v1/xkit/bin/scomp.cmd b/v1/xkit/bin/scomp.cmd
deleted file mode 100644
index 719efc4..0000000
--- a/v1/xkit/bin/scomp.cmd
+++ /dev/null
@@ -1,12 +0,0 @@
-@rem Schema compiler
-@rem
-@rem Builds XBean types from xsd files.
-
-@echo off
-
-set cp=
-set cp=%cp%;%XMLBEANDIR%\xbean.jar
-
-java -classpath %cp% xmlbeans.apache.org.tool.SchemaCompiler %*
-
-:done
diff --git a/v1/xkit/bin/scopy b/v1/xkit/bin/scopy
deleted file mode 100644
index 5d8c020..0000000
--- a/v1/xkit/bin/scopy
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-cp=
-cp=$cp:$XMLBEANDIR/xbean.jar
-
-java -classpath $cp xml.apache.org.tool.SchemaCompiler $*
\ No newline at end of file
diff --git a/v1/xkit/bin/scopy.cmd b/v1/xkit/bin/scopy.cmd
deleted file mode 100644
index 48c713d..0000000
--- a/v1/xkit/bin/scopy.cmd
+++ /dev/null
@@ -1,12 +0,0 @@
-@rem Schema compiler
-@rem
-@rem Builds XBean types from xsd files.
-
-@echo off
-
-set cp=
-set cp=%cp%;%XMLBEANDIR%\xbean.jar
-
-java -classpath %cp% xmlbeans.apache.org.tool.SchemaCopy %*
-
-:done
diff --git a/v1/xkit/bin/sdownload b/v1/xkit/bin/sdownload
deleted file mode 100644
index 279af75..0000000
--- a/v1/xkit/bin/sdownload
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-cp=
-cp=$cp:$XMLBEANDIR/xbean.jar
-
-java -classpath $cp xml.apache.org.tool.SchemaResourceManager $*
\ No newline at end of file
diff --git a/v1/xkit/bin/sdownload.cmd b/v1/xkit/bin/sdownload.cmd
deleted file mode 100644
index 690aadb..0000000
--- a/v1/xkit/bin/sdownload.cmd
+++ /dev/null
@@ -1,8 +0,0 @@
-@echo off
-
-set cp=
-set cp=%cp%;%XMLBEANDIR%\xbean.jar
-
-java -classpath %cp% xml.apache.org.tool.SchemaResourceManager %*
-
-:done
diff --git a/v1/xkit/bin/sfactor b/v1/xkit/bin/sfactor
deleted file mode 100644
index 6604d80..0000000
--- a/v1/xkit/bin/sfactor
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-cp=
-cp=$cp:$XMLBEANDIR/xbean.jar
-
-java -classpath $cp xml.apache.org.tool.FactorImports $*
\ No newline at end of file
diff --git a/v1/xkit/bin/sfactor.cmd b/v1/xkit/bin/sfactor.cmd
deleted file mode 100644
index dfd220c..0000000
--- a/v1/xkit/bin/sfactor.cmd
+++ /dev/null
@@ -1,10 +0,0 @@
-@rem Factors overlapping schemas into schemas that use imports
-
-@echo off
-
-set cp=
-set cp=%cp%;%XMLBEANDIR%\xbean.jar
-
-java -classpath %cp% xml.apache.org.tool.FactorImports %*
-
-:done
diff --git a/v1/xkit/bin/validate b/v1/xkit/bin/validate
deleted file mode 100644
index 20a01f7..0000000
--- a/v1/xkit/bin/validate
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-#
-# Instance Validator
-#
-# Validates an instance against a schema.
-
-cp=
-cp=$cp:$XMLBEANDIR/xbean.jar
-
-java -classpath $cp xml.apache.org.tool.InstanceValidator $*
\ No newline at end of file
diff --git a/v1/xkit/bin/validate.cmd b/v1/xkit/bin/validate.cmd
deleted file mode 100644
index 15d13e9..0000000
--- a/v1/xkit/bin/validate.cmd
+++ /dev/null
@@ -1,12 +0,0 @@
-@rem Instance Validator
-@rem
-@rem Validates an instance against a schema.
-
-@echo off
-
-set cp=
-set cp=%cp%;%XMLBEANDIR%\xbean.jar
-
-java -classpath %cp% xml.apache.org.tool.InstanceValidator %*
-
-:done
diff --git a/v1/xkit/bin/xpretty b/v1/xkit/bin/xpretty
deleted file mode 100644
index c2d3c36..0000000
--- a/v1/xkit/bin/xpretty
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-cp=
-cp=$cp:$XMLBEANDIR/xbean.jar
-
-java -classpath $cp xml.apache.org.tool.PrettyPrinter $*
\ No newline at end of file
diff --git a/v1/xkit/bin/xpretty.cmd b/v1/xkit/bin/xpretty.cmd
deleted file mode 100644
index 43790d8..0000000
--- a/v1/xkit/bin/xpretty.cmd
+++ /dev/null
@@ -1,6 +0,0 @@
-@echo off
-
-set cp=
-set cp=%cp%;%XMLBEANDIR%\xbean.jar
-
-java -classpath %cp% xml.apache.org.tool.PrettyPrinter %*
diff --git a/v1/xkit/bin/xsdtree b/v1/xkit/bin/xsdtree
deleted file mode 100644
index 78f1362..0000000
--- a/v1/xkit/bin/xsdtree
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-cp=
-cp=$cp:$XMLBEANDIR/xbean.jar
-
-java -classpath $cp xml.apache.org.tool.TypeHierarchyPrinter $*
\ No newline at end of file
diff --git a/v1/xkit/bin/xsdtree.cmd b/v1/xkit/bin/xsdtree.cmd
deleted file mode 100644
index 5036d5b..0000000
--- a/v1/xkit/bin/xsdtree.cmd
+++ /dev/null
@@ -1,6 +0,0 @@
-@echo off
-
-set cp=
-set cp=%cp%;%XMLBEANDIR%\xbean.jar
-
-java -classpath %cp% xml.apache.org.tool.TypeHierarchyPrinter %*
diff --git a/v1/xkit/bin/xstc b/v1/xkit/bin/xstc
deleted file mode 100644
index 43ec31b..0000000
--- a/v1/xkit/bin/xstc
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-cp=
-cp=$cp:$XMLBEANDIR/xbean.jar
-
-java -classpath $cp xml.apache.org.tool.XSTCTester $*
\ No newline at end of file
diff --git a/v1/xkit/bin/xstc.cmd b/v1/xkit/bin/xstc.cmd
deleted file mode 100644
index 4742e1a..0000000
--- a/v1/xkit/bin/xstc.cmd
+++ /dev/null
@@ -1,6 +0,0 @@
-@echo off
-
-set cp=
-set cp=%cp%;%XMLBEANDIR%\xbean.jar
-
-java -classpath %cp% xml.apache.org.tool.XSTCTester %*
diff --git a/v1/xkit/schemas/cyclone/CycloneOrganizationProfile.xsd b/v1/xkit/schemas/cyclone/CycloneOrganizationProfile.xsd
deleted file mode 100644
index 31314c0..0000000
--- a/v1/xkit/schemas/cyclone/CycloneOrganizationProfile.xsd
+++ /dev/null
@@ -1,734 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema targetNamespace="http://www.cyclonecommerce.com/Schemas/2001/08/cop" xmlns="http://www.cyclonecommerce.com/Schemas/2001/08/cop" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
-	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
-	<xsd:annotation>
-		<xsd:documentation>This schema represents organization details required for trading.</xsd:documentation>
-	</xsd:annotation>
-	<!--General definitions used within the rest of the schema.-->
-	<xsd:element name="Comment">
-		<xsd:annotation>
-			<xsd:documentation>A freeform text field that can be used to provide descriptive information about an element.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:simpleContent>
-				<xsd:extension base="xsd:string">
-					<xsd:attribute name="lang" type="xsd:language" default="en"/>
-				</xsd:extension>
-			</xsd:simpleContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:simpleType name="Identifier">
-		<xsd:annotation>
-			<xsd:documentation>An id for an element.  Can't use xsd:ID because it won't allow them to begin with a number.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string"/>
-	</xsd:simpleType>
-	<xsd:simpleType name="IdentifierRef">
-		<xsd:annotation>
-			<xsd:documentation>A reference to an Identifier.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="Identifier"/>
-	</xsd:simpleType>
-	<xsd:simpleType name="OrganizationId">
-		<xsd:annotation>
-			<xsd:documentation>The server's unique internal identifier for an organization.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="Identifier">
-			<xsd:minLength value="1"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="CommunityId">
-		<xsd:annotation>
-			<xsd:documentation>The server's unique internal identifier for a community.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="Identifier">
-			<xsd:minLength value="1"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:element name="Community" nillable="true">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="CommunityName" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="BrokerId" type="OrganizationId" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="communityId" type="CommunityId" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<!--The following defines stuff for the Administrative Information-->
-	<xsd:element name="OrganizationName">
-		<xsd:annotation>
-			<xsd:documentation>The name of the organization.</xsd:documentation>
-		</xsd:annotation>
-	</xsd:element>
-	<xsd:element name="PersonName">
-		<xsd:annotation>
-			<xsd:documentation>The name of a person</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:simpleContent>
-				<xsd:extension base="xsd:string"/>
-			</xsd:simpleContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:complexType name="Phone" mixed="true">
-		<xsd:annotation>
-			<xsd:documentation>A phone number.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:simpleContent>
-			<xsd:extension base="xsd:string">
-				<xsd:attribute name="type" type="xsd:string" use="optional"/>
-			</xsd:extension>
-		</xsd:simpleContent>
-	</xsd:complexType>
-	<xsd:simpleType name="Email">
-		<xsd:annotation>
-			<xsd:documentation>An email address.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string"/>
-	</xsd:simpleType>
-	<xsd:element name="Contact">
-		<xsd:annotation>
-			<xsd:documentation>Information about a person.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Comment" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="PersonName"/>
-				<xsd:element name="Title" minOccurs="0"/>
-				<xsd:element name="Department" minOccurs="0"/>
-				<xsd:element name="Email" minOccurs="0" maxOccurs="unbounded">
-					<xsd:annotation>
-						<xsd:documentation>Email address.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:simpleContent>
-							<xsd:extension base="Email">
-								<xsd:attribute name="type" type="xsd:string" use="optional"/>
-							</xsd:extension>
-						</xsd:simpleContent>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="Phone" minOccurs="0" maxOccurs="unbounded">
-					<xsd:complexType>
-						<xsd:simpleContent>
-							<xsd:extension base="Phone"/>
-						</xsd:simpleContent>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element ref="PostalAddress" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="contactId" type="Identifier" use="optional"/>
-			<xsd:attribute name="type" type="xsd:string" use="optional"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="Contacts">
-		<xsd:annotation>
-			<xsd:documentation>Collection of Contact and ContactRefs.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Contact" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="PostalAddress">
-		<xsd:annotation>
-			<xsd:documentation>Postal mailing address.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Comment" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="Street" type="xsd:string">
-					<xsd:annotation>
-						<xsd:documentation>The street address.  This may resolve to what may be interpreted as multiple lines.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="City" type="xsd:string" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>City.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="Stateprov" type="xsd:string" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>State or province depending on the country.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="PostalCode" type="xsd:string">
-					<xsd:annotation>
-						<xsd:documentation>Postal or zip code.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="Country" type="xsd:string" default="US">
-					<xsd:annotation>
-						<xsd:documentation>Country code.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:simpleType name="RoutingIdType">
-		<xsd:annotation>
-			<xsd:documentation>The type of routing identifier, like DUNS, EDI, etc.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string">
-			<xsd:enumeration value="EDI"/>
-			<xsd:enumeration value="EDIFACT"/>
-			<xsd:enumeration value="DUNS"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:element name="RoutingId">
-		<xsd:annotation>
-			<xsd:documentation>An identifier such as DUNS or EDI used to uniquely identify a company for trading.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:simpleContent>
-				<xsd:extension base="xsd:string">
-					<xsd:attribute name="type" type="RoutingIdType" use="required"/>
-				</xsd:extension>
-			</xsd:simpleContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="Certificate">
-		<xsd:annotation>
-			<xsd:documentation>Information about a certificate. The initial version of each Interchange product only support the ds:KeyInfo/ds:X509Data section including ds:X509IssuerSerial and X509Certificate.  Any other elements used will be ignored, and if one of the two supported elements is not included the certificate will be considered invalid.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="ds:KeyInfo"/>
-			</xsd:sequence>
-			<xsd:attribute name="certId" type="Identifier" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="CertificatetRef">
-		<xsd:annotation>
-			<xsd:documentation>A reference to a Certificate.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:attribute name="certId" type="IdentifierRef" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="Certificates">
-		<xsd:annotation>
-			<xsd:documentation>Collection of Certificates.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Certificate" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-			<xsd:attribute name="preferredEncryptionCertId" type="IdentifierRef" use="optional"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="AdministrativeInfo">
-		<xsd:annotation>
-			<xsd:documentation>Information describing an organization useful to humans.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="OrganizationName"/>
-				<xsd:element ref="PostalAddress" minOccurs="0"/>
-				<xsd:element ref="Contacts" minOccurs="0"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<!--The following defines stuff for Transports-->
-	<xsd:element name="Username" type="xsd:string">
-		<xsd:annotation>
-			<xsd:documentation>Username used to access a resource.</xsd:documentation>
-		</xsd:annotation>
-	</xsd:element>
-	<xsd:element name="Password">
-		<xsd:annotation>
-			<xsd:documentation>Password used to access a secure resouce.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:simpleContent>
-				<xsd:extension base="xsd:string">
-					<xsd:attribute name="encrypted" type="xsd:boolean" use="required"/>
-				</xsd:extension>
-			</xsd:simpleContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:simpleType name="IPAddress">
-		<xsd:annotation>
-			<xsd:documentation>Internet Protocal address, ex:  12.34.56.78</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="(([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-9]){3}(.[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]))">
-				<xsd:annotation>
-					<xsd:documentation>This mess just restricts the value to standard IP addresses where each of four octets can have values 0-255.</xsd:documentation>
-				</xsd:annotation>
-			</xsd:pattern>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="DNSAddress">
-		<xsd:annotation>
-			<xsd:documentation>Domain Name Server address, ex: www.cyclonecommerce.com</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string"/>
-	</xsd:simpleType>
-	<xsd:simpleType name="SocketSecurityType">
-		<xsd:annotation>
-			<xsd:documentation>AUTHENTICATED or ANONYMOUS</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string">
-			<xsd:enumeration value="AUTHENTICATED"/>
-			<xsd:enumeration value="ANONYMOUS"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:element name="Host">
-		<xsd:annotation>
-			<xsd:documentation>A host address, either in DNS or IP, for a server.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:simpleType>
-			<xsd:union memberTypes="DNSAddress IPAddress"/>
-		</xsd:simpleType>
-	</xsd:element>
-	<xsd:element name="Port">
-		<xsd:annotation>
-			<xsd:documentation>Socket port number.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:simpleType>
-			<xsd:restriction base="xsd:integer">
-				<xsd:minInclusive value="1"/>
-				<xsd:maxInclusive value="65000"/>
-			</xsd:restriction>
-		</xsd:simpleType>
-	</xsd:element>
-	<xsd:simpleType name="Directory">
-		<xsd:annotation>
-			<xsd:documentation>A directory on a file system or server such as FTP.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string"/>
-	</xsd:simpleType>
-	<xsd:simpleType name="JMSConsumerType">
-		<xsd:annotation>
-			<xsd:documentation>For JMS, either a Queue or Topic.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string">
-			<xsd:enumeration value="QUEUE"/>
-			<xsd:enumeration value="TOPIC"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="FirewallAuthenticationType">
-		<xsd:annotation>
-			<xsd:documentation>Either S/Key or ClearText</xsd:documentation>
-		</xsd:annotation>
-		<xsd:restriction base="xsd:string">
-			<xsd:enumeration value="SKEY"/>
-			<xsd:enumeration value="CLEARTEXT"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:element name="Firewall">
-		<xsd:annotation>
-			<xsd:documentation>Information about a transport server's firewall.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Host"/>
-				<xsd:element ref="Port"/>
-				<xsd:element name="Authentication" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Optional S/Key or Clear text authentication.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element ref="Username"/>
-							<xsd:element ref="Password"/>
-						</xsd:sequence>
-						<xsd:attribute name="type" type="FirewallAuthenticationType" use="required"/>
-					</xsd:complexType>
-				</xsd:element>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="SocketSecurity">
-		<xsd:annotation>
-			<xsd:documentation>Type of SSL security.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element ref="CertificatetRef" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="type" type="SocketSecurityType" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:complexType name="Transport">
-		<xsd:annotation>
-			<xsd:documentation>Base definition for a trading transport server.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:sequence>
-			<xsd:element ref="Comment" minOccurs="0" maxOccurs="unbounded"/>
-			<xsd:element name="Schedules" minOccurs="0">
-				<xsd:annotation>
-					<xsd:documentation>Collection of schedules.</xsd:documentation>
-				</xsd:annotation>
-				<xsd:complexType>
-					<xsd:sequence>
-						<xsd:element name="schedule" minOccurs="0" maxOccurs="unbounded">
-							<xsd:annotation>
-								<xsd:documentation>Period of time including a start and stop time representing the period of time the transport is available.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:complexType>
-								<xsd:attribute name="startTime" type="xsd:time" use="required"/>
-								<xsd:attribute name="stopTime" type="xsd:time" use="required"/>
-							</xsd:complexType>
-						</xsd:element>
-					</xsd:sequence>
-				</xsd:complexType>
-			</xsd:element>
-		</xsd:sequence>
-		<xsd:attribute name="transportId" type="Identifier" use="optional"/>
-	</xsd:complexType>
-	<xsd:element name="TransportRef">
-		<xsd:annotation>
-			<xsd:documentation>A reference to a Transport defined elsewhere.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:attribute name="transportId" type="IdentifierRef" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="Transports">
-		<xsd:annotation>
-			<xsd:documentation>Collection of Transports defintions.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="FileTransport" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="FTPTransport" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="HTTPTransport" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="HTTPTransport_CI" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="SMTPTransport" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="SMTPTransport_CI" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="JMSTransport" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="MQSeriesTransport" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-			<xsd:attribute name="preferredTransportRef" type="IdentifierRef" use="optional"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="FileTransport">
-		<xsd:annotation>
-			<xsd:documentation>File system transport definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element name="Directory">
-							<xsd:annotation>
-								<xsd:documentation>The directory on the file system.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:complexType>
-								<xsd:simpleContent>
-									<xsd:extension base="Directory">
-										<xsd:attribute name="isLocal" type="xsd:boolean"/>
-									</xsd:extension>
-								</xsd:simpleContent>
-							</xsd:complexType>
-						</xsd:element>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="FTPTransport">
-		<xsd:annotation>
-			<xsd:documentation>File Transfer Protocol transport definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element ref="Host"/>
-						<xsd:element ref="Port"/>
-						<xsd:element ref="Username"/>
-						<xsd:element ref="Password"/>
-						<xsd:element name="TempDir" type="Directory">
-							<xsd:annotation>
-								<xsd:documentation>Directory on the FTP server where incoming documents are temporarily stored as they are transferred.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element name="PickupDir" type="Directory">
-							<xsd:annotation>
-								<xsd:documentation>Directory where the documents are moved after having been transferred to the TempDir.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element name="TransferType" default="BINARY">
-							<xsd:annotation>
-								<xsd:documentation>BINARY or ASCII</xsd:documentation>
-							</xsd:annotation>
-							<xsd:simpleType>
-								<xsd:restriction base="xsd:string">
-									<xsd:enumeration value="ASCII"/>
-									<xsd:enumeration value="BINARY"/>
-								</xsd:restriction>
-							</xsd:simpleType>
-						</xsd:element>
-						<xsd:element name="Mode" default="Passive">
-							<xsd:annotation>
-								<xsd:documentation>Port or Passive.  Passive means the FTP server selects the data port for the FTP data transfer. Port means the FTP client selects the data port for the FTP data transfer.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:simpleType>
-								<xsd:restriction base="xsd:string">
-									<xsd:enumeration value="Port"/>
-									<xsd:enumeration value="Passive"/>
-								</xsd:restriction>
-							</xsd:simpleType>
-						</xsd:element>
-						<xsd:element ref="Firewall" minOccurs="0"/>
-						<xsd:element ref="SocketSecurity" minOccurs="0"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="HTTPTransport">
-		<xsd:annotation>
-			<xsd:documentation>HyperText Transfer Protocol definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element name="URL" type="xsd:anyURI"/>
-						<xsd:element ref="Username" minOccurs="0"/>
-						<xsd:element ref="Password" minOccurs="0"/>
-						<xsd:element name="Method" default="POST">
-							<xsd:annotation>
-								<xsd:documentation>Either PUT or POST that the client should use to push docuemnts to the server.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:simpleType>
-								<xsd:restriction base="xsd:string">
-									<xsd:enumeration value="PUT"/>
-									<xsd:enumeration value="POST"/>
-								</xsd:restriction>
-							</xsd:simpleType>
-						</xsd:element>
-						<xsd:element name="DoubleMimeWrapped" type="xsd:boolean" default="false">
-							<xsd:annotation>
-								<xsd:documentation>Some servers will strip off MIME wrapping of a document requiring that the document be MIME wrapped twice.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element ref="Firewall" minOccurs="0"/>
-						<xsd:element ref="SocketSecurity" minOccurs="0"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="HTTPTransport_CI">
-		<xsd:annotation>
-			<xsd:documentation>Cyclone Interchange Enterprise's specialized version of HTTP.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element name="URL" type="xsd:anyURI"/>
-						<xsd:element ref="Firewall" minOccurs="0"/>
-						<xsd:element ref="SocketSecurity" minOccurs="0"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="SMTPTransport">
-		<xsd:annotation>
-			<xsd:documentation>Simple Mail Transport Protocol transport definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element ref="Host" minOccurs="0"/>
-						<xsd:element ref="Port" minOccurs="0"/>
-						<xsd:element ref="Username" minOccurs="0"/>
-						<xsd:element ref="Password" minOccurs="0"/>
-						<xsd:element name="Recipient" type="Email">
-							<xsd:annotation>
-								<xsd:documentation>Email address of the recipient.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element name="IsCompliant" type="xsd:boolean" default="true">
-							<xsd:annotation>
-								<xsd:documentation>Set to false for SMTP implementations that do not leave the MIME wrapping in tact.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element ref="Firewall" minOccurs="0"/>
-						<xsd:element ref="SocketSecurity" minOccurs="0"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="SMTPTransport_CI">
-		<xsd:annotation>
-			<xsd:documentation>Cyclone Interchange Enterprise's specialized version of SMTP.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element ref="Host" minOccurs="0"/>
-						<xsd:element ref="Port" minOccurs="0"/>
-						<xsd:element name="Recipient" type="Email">
-							<xsd:annotation>
-								<xsd:documentation>Email address of the recipient.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element ref="Firewall" minOccurs="0"/>
-						<xsd:element ref="SocketSecurity" minOccurs="0"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="JMSTransport">
-		<xsd:annotation>
-			<xsd:documentation>Java Message Service (JMS) transport definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element ref="Username" minOccurs="0"/>
-						<xsd:element ref="Password" minOccurs="0"/>
-						<xsd:element name="ConnectionFactory" type="xsd:string">
-							<xsd:annotation>
-								<xsd:documentation>The name of the connection factory.</xsd:documentation>
-							</xsd:annotation>
-						</xsd:element>
-						<xsd:element name="Consumer">
-							<xsd:annotation>
-								<xsd:documentation>The name of the Queue or Topic.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:complexType>
-								<xsd:simpleContent>
-									<xsd:extension base="xsd:string">
-										<xsd:attribute name="type" type="JMSConsumerType" default="QUEUE"/>
-									</xsd:extension>
-								</xsd:simpleContent>
-							</xsd:complexType>
-						</xsd:element>
-						<xsd:element name="JNDI">
-							<xsd:annotation>
-								<xsd:documentation>Java Naming and Directory Interface defintion to locate the JMS provider.</xsd:documentation>
-							</xsd:annotation>
-							<xsd:complexType>
-								<xsd:sequence>
-									<xsd:element name="Location" type="xsd:anyURI">
-										<xsd:annotation>
-											<xsd:documentation>The URI location of the JMS server.</xsd:documentation>
-										</xsd:annotation>
-									</xsd:element>
-									<xsd:element ref="Username" minOccurs="0"/>
-									<xsd:element ref="Password" minOccurs="0"/>
-									<xsd:element name="ContextFactory" type="xsd:string">
-										<xsd:annotation>
-											<xsd:documentation>The name of the JNDI context factory.</xsd:documentation>
-										</xsd:annotation>
-									</xsd:element>
-								</xsd:sequence>
-							</xsd:complexType>
-						</xsd:element>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="MQSeriesTransport">
-		<xsd:annotation>
-			<xsd:documentation>IBM's MQ Series</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:complexContent>
-				<xsd:extension base="Transport">
-					<xsd:sequence>
-						<xsd:element ref="Host"/>
-						<xsd:element ref="Port"/>
-						<xsd:element ref="Username" minOccurs="0"/>
-						<xsd:element ref="Password" minOccurs="0"/>
-						<xsd:element name="QueueManager" type="xsd:string"/>
-						<xsd:element name="Queue" type="xsd:string"/>
-						<xsd:element name="Channel" type="xsd:string"/>
-					</xsd:sequence>
-				</xsd:extension>
-			</xsd:complexContent>
-		</xsd:complexType>
-	</xsd:element>
-	<!--The following defines business protocol information -->
-	<xsd:complexType name="BusinessProtocol">
-		<xsd:annotation>
-			<xsd:documentation>Base definition for a business protocol.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:sequence>
-			<xsd:element ref="TransportRef" maxOccurs="unbounded"/>
-		</xsd:sequence>
-		<xsd:attribute name="businessProtocolId" type="Identifier" use="required"/>
-	</xsd:complexType>
-	<xsd:element name="BusinessProtocolRef">
-		<xsd:annotation>
-			<xsd:documentation>A reference to a business protocol definition.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:attribute name="businessProtocolId" type="IdentifierRef" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="BusinessProtocols">
-		<xsd:annotation>
-			<xsd:documentation>Collection of Business protocol definitions.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:all>
-				<xsd:element name="AS1Protocol" type="BusinessProtocol" minOccurs="0"/>
-				<xsd:element name="AS2Protocol" type="BusinessProtocol" minOccurs="0"/>
-				<xsd:element name="RosettaNetProtocol" type="BusinessProtocol" minOccurs="0"/>
-				<xsd:element name="ebXMLProtocol" type="BusinessProtocol" minOccurs="0"/>
-			</xsd:all>
-		</xsd:complexType>
-	</xsd:element>
-	<!--The following defines the top-level OrganizationData-->
-	<xsd:element name="OrganizationProfile">
-		<xsd:annotation>
-			<xsd:documentation>All information needed to trade with an organization.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="Comment" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="AdministrativeInfo" minOccurs="0"/>
-				<xsd:element name="RoutingIds" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Collection of RoutingIds</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element ref="RoutingId" minOccurs="0" maxOccurs="unbounded"/>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="BrokerId" type="OrganizationId" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Within this community, this organization trades through a broker (hub). This references another profile with this id.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="Communities" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Collection of communities the trading profile is actively a member of.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element ref="Community" minOccurs="0" maxOccurs="unbounded"/>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element ref="Transports" minOccurs="0"/>
-				<xsd:element ref="Certificates" minOccurs="0"/>
-				<xsd:element ref="BusinessProtocols" minOccurs="0"/>
-			</xsd:sequence>
-			<xsd:attribute name="id" type="OrganizationId" use="optional">
-				<xsd:annotation>
-					<xsd:documentation>The OrganizationId exists for valid profiles existing within the server.  If a client is sending a profile for an organization that is not already in the server's repository, this id will not be present as the server will be assigning one for it.</xsd:documentation>
-				</xsd:annotation>
-			</xsd:attribute>
-		</xsd:complexType>
-	</xsd:element>
-</xsd:schema>
diff --git a/v1/xkit/schemas/cyclone/InterchangePartnerConfig.xsd b/v1/xkit/schemas/cyclone/InterchangePartnerConfig.xsd
deleted file mode 100644
index f149b1d..0000000
--- a/v1/xkit/schemas/cyclone/InterchangePartnerConfig.xsd
+++ /dev/null
@@ -1,261 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Bob Krier (Cyclone COmmerce, Inc.) -->
-<!--W3C Schema generated by XML Spy v3.5 NT (http://www.xmlspy.com)-->
-<xsd:schema targetNamespace="http://www.cyclonecommerce.com/Schemas/2001/09/ipp" xmlns="http://www.cyclonecommerce.com/Schemas/2001/09/ipp" xmlns:cop="http://www.cyclonecommerce.com/Schemas/2001/08/cop" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
-	<xsd:import namespace="http://www.cyclonecommerce.com/Schemas/2001/08/cop" schemaLocation="http://www.cyclonecommerce.com/Schemas/2001/08/CycloneOrganizationProfile.xsd"/>
-	<xsd:element name="InterchangePartnerProfile">
-		<xsd:annotation>
-			<xsd:documentation>Cyclone Interchange partner profile.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="cop:OrganizationProfile" minOccurs="0"/>
-				<xsd:element name="SecondaryIds" minOccurs="0">
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="SecondaryId" type="xsd:string" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element ref="Preferences" minOccurs="0"/>
-				<xsd:element name="Firewall" minOccurs="0">
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="MinSKeyIterationCount">
-								<xsd:simpleType>
-									<xsd:restriction base="xsd:int">
-										<xsd:minInclusive value="0"/>
-										<xsd:maxInclusive value="65535"/>
-									</xsd:restriction>
-								</xsd:simpleType>
-							</xsd:element>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="Security" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Security parameters.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="DocumentSigning" type="xsd:boolean" minOccurs="0">
-								<xsd:annotation>
-									<xsd:documentation>Boolean value indicating if documents received by this partner should be signed.</xsd:documentation>
-								</xsd:annotation>
-							</xsd:element>
-							<xsd:element name="DocumentAcknowledgement" minOccurs="0">
-								<xsd:annotation>
-									<xsd:documentation>Document acknowledgement configuration.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:complexType>
-									<xsd:sequence>
-										<xsd:element name="RequestSigned" type="xsd:boolean">
-											<xsd:annotation>
-												<xsd:documentation>Boolean value indicating document acknowledgments should be signed.</xsd:documentation>
-											</xsd:annotation>
-										</xsd:element>
-										<xsd:element name="RequestSynchronous" type="xsd:boolean">
-											<xsd:annotation>
-												<xsd:documentation>Boolean value indicating if acknowledgements should be immediately received.  Requires bundled HTTP(S).</xsd:documentation>
-											</xsd:annotation>
-										</xsd:element>
-									</xsd:sequence>
-									<xsd:attribute name="value" type="xsd:boolean" use="required"/>
-								</xsd:complexType>
-							</xsd:element>
-							<xsd:element name="MessageDigest" minOccurs="0">
-								<xsd:annotation>
-									<xsd:documentation>Defines the document message digest algorithim to use.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:simpleType>
-									<xsd:restriction base="xsd:NMTOKEN">
-										<xsd:enumeration value="MD5"/>
-										<xsd:enumeration value="SHA1"/>
-									</xsd:restriction>
-								</xsd:simpleType>
-							</xsd:element>
-							<xsd:element name="DocumentEncryption" minOccurs="0">
-								<xsd:annotation>
-									<xsd:documentation>Defines the type of document encryption algorithim to use.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:complexType>
-									<xsd:choice>
-										<xsd:element name="RC2Encryption">
-											<xsd:annotation>
-												<xsd:documentation>RC2 Encryption algorithim.  Key length is required.</xsd:documentation>
-											</xsd:annotation>
-											<xsd:complexType>
-												<xsd:attribute name="keyLength" use="required">
-													<xsd:simpleType>
-														<xsd:restriction base="xsd:NMTOKEN">
-															<xsd:enumeration value="40"/>
-															<xsd:enumeration value="64"/>
-															<xsd:enumeration value="128"/>
-														</xsd:restriction>
-													</xsd:simpleType>
-												</xsd:attribute>
-											</xsd:complexType>
-										</xsd:element>
-										<xsd:element name="ARCFourEncryption">
-											<xsd:annotation>
-												<xsd:documentation>ARCFour Encryption algorithim.  Key length is required.</xsd:documentation>
-											</xsd:annotation>
-											<xsd:complexType>
-												<xsd:attribute name="keyLength" use="required">
-													<xsd:simpleType>
-														<xsd:restriction base="xsd:NMTOKEN">
-															<xsd:enumeration value="40"/>
-															<xsd:enumeration value="64"/>
-															<xsd:enumeration value="128"/>
-														</xsd:restriction>
-													</xsd:simpleType>
-												</xsd:attribute>
-											</xsd:complexType>
-										</xsd:element>
-										<xsd:element name="DESEncryption">
-											<xsd:annotation>
-												<xsd:documentation>DES Encryption algorithim.</xsd:documentation>
-											</xsd:annotation>
-											<xsd:complexType>
-												<xsd:attribute name="keyLength" type="xsd:int" use="optional" fixed="56"/>
-											</xsd:complexType>
-										</xsd:element>
-										<xsd:element name="TripleDESEncryption">
-											<xsd:annotation>
-												<xsd:documentation>Triple DES Encryption algorithim.</xsd:documentation>
-											</xsd:annotation>
-											<xsd:complexType>
-												<xsd:attribute name="keyLength" type="xsd:int" use="optional" fixed="168"/>
-											</xsd:complexType>
-										</xsd:element>
-									</xsd:choice>
-								</xsd:complexType>
-							</xsd:element>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="BinaryDirectories" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Defines a collection of binary companies.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="BinaryCompany" maxOccurs="unbounded">
-								<xsd:annotation>
-									<xsd:documentation>Defines a collection of binary directories for a company.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:complexType>
-									<xsd:sequence>
-										<xsd:element name="BinaryDirectory" maxOccurs="unbounded">
-											<xsd:annotation>
-												<xsd:documentation>Defines the inbound and outbound binary directories for a partner.</xsd:documentation>
-											</xsd:annotation>
-											<xsd:complexType>
-												<xsd:attribute name="partnerId" type="xsd:string" use="required"/>
-												<xsd:attribute name="inboundPath" type="xsd:string" use="required"/>
-												<xsd:attribute name="outboundPath" type="xsd:string" use="required"/>
-											</xsd:complexType>
-										</xsd:element>
-									</xsd:sequence>
-									<xsd:attribute name="companyId" type="xsd:string" use="required"/>
-								</xsd:complexType>
-							</xsd:element>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-			</xsd:sequence>
-			<xsd:attribute name="group" type="xsd:string" use="optional"/>
-			<xsd:attribute name="version" type="xsd:string" use="optional"/>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="Preferences">
-		<xsd:annotation>
-			<xsd:documentation>Partner profile transport and document settings.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="Schedule" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Specifies the schedule to use when sending documents to this partner.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="InboundFilePreservation" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Specifies if inbound files should be persisted with their original file name.  Option attribute allows for overwriting or sequencing files with duplicate file names.</xsd:documentation>
-					</xsd:annotation>
-				</xsd:element>
-				<xsd:element name="DocumentOptions" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Global document configuration options.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:sequence>
-							<xsd:element name="RejectDuplicateEDI" type="xsd:boolean">
-								<xsd:annotation>
-									<xsd:documentation>Boolean value indicating if EDI document recieved with duplicate control IDs should be rejected.</xsd:documentation>
-								</xsd:annotation>
-							</xsd:element>
-							<xsd:element name="Compression" default="NONE" nillable="false">
-								<xsd:annotation>
-									<xsd:documentation>Indicates the type of compression algorithim to use (NONE, GZIP or ZLIB). </xsd:documentation>
-								</xsd:annotation>
-								<xsd:simpleType>
-									<xsd:restriction base="xsd:string">
-										<xsd:enumeration value="GZIP"/>
-										<xsd:enumeration value="ZLIB"/>
-										<xsd:enumeration value="NONE"/>
-									</xsd:restriction>
-								</xsd:simpleType>
-							</xsd:element>
-							<xsd:element name="ResendAttempts">
-								<xsd:annotation>
-									<xsd:documentation>Integer value indicating the number of times a document should be resent if an acknowledment has not been recieved.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:simpleType>
-									<xsd:restriction base="xsd:int">
-										<xsd:minInclusive value="0"/>
-										<xsd:maxInclusive value="60"/>
-									</xsd:restriction>
-								</xsd:simpleType>
-							</xsd:element>
-							<xsd:element name="ResendInterval">
-								<xsd:annotation>
-									<xsd:documentation>Integer value indicating the duration (in hours) between resend attepts.</xsd:documentation>
-								</xsd:annotation>
-								<xsd:simpleType>
-									<xsd:restriction base="xsd:int">
-										<xsd:minInclusive value="1"/>
-										<xsd:maxInclusive value="9999"/>
-									</xsd:restriction>
-								</xsd:simpleType>
-							</xsd:element>
-						</xsd:sequence>
-					</xsd:complexType>
-				</xsd:element>
-				<xsd:element name="TransportRetries" minOccurs="0">
-					<xsd:annotation>
-						<xsd:documentation>Specifies the Transport retries option and interval.</xsd:documentation>
-					</xsd:annotation>
-					<xsd:complexType>
-						<xsd:attribute name="duration" type="xsd:integer" use="optional"/>
-						<xsd:attribute name="falloff" type="xsd:integer" use="required"/>
-					</xsd:complexType>
-				</xsd:element>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:complexType name="BusinessProtocol">
-		<xsd:annotation>
-			<xsd:documentation>Base definition for a business protocol.</xsd:documentation>
-		</xsd:annotation>
-		<xsd:sequence>
-			<xsd:element ref="TransportRef" maxOccurs="unbounded"/>
-		</xsd:sequence>
-		<xsd:attribute name="businessProtocolId" type="xsd:IDREF" use="required"/>
-	</xsd:complexType>
-	<xsd:element name="TransportRef">
-		<xsd:annotation>
-			<xsd:documentation>A reference to a Transport defined elsewhere.</xsd:documentation>
-		</xsd:annotation>
-	</xsd:element>
-</xsd:schema>
diff --git a/v1/xkit/schemas/cyclone/TPM.xsd b/v1/xkit/schemas/cyclone/TPM.xsd
deleted file mode 100644
index a2b62f4..0000000
--- a/v1/xkit/schemas/cyclone/TPM.xsd
+++ /dev/null
@@ -1,358 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ==================================================================== -->
-<!--	Copyright (c) 2000-2003 BEA Systems, Inc.                           -->
-<!--	All rights reserved                                                 -->
-<!--	THIS IS UNPUBLISHED PROPRIETARY                                     -->
-<!--	SOURCE CODE OF BEA Systems, Inc.                                    -->
-<!--	The copyright notice above does not                                 -->
-<!--	evidence any actual or intended                                     -->
-<!--	publication of such source code.                                    -->
-<!-- ==================================================================== -->
-<!-- $Id: TPM.xsd,v 1.1 2003/09/15 18:20:48 ericvas Exp $ -->
-<xs:schema
-  targetNamespace="http://www.bea.com/2003/03/wli/tpm"
-  xmlns="http://www.bea.com/2003/03/wli/tpm"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
-  elementFormDefault="qualified">
-	<xs:import
-    namespace="http://www.w3.org/2000/09/xmldsig#"
-    schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
-	<xs:element name="trading-partner-management">
-		<xs:annotation>
-			<xs:documentation>This is the root element in the TPM repository.</xs:documentation>
-		</xs:annotation>
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="trading-partner" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="service" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="message-tracking-default" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-						<xs:enumeration value="METADATA"/>
-						<xs:enumeration value="ALL"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="secure-audit-logging" type="xs:boolean" use="optional"/>
-			<xs:attribute name="test-mode" type="xs:boolean" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="trading-partner">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="address" minOccurs="0"/>
-				<xs:element ref="extended-property-set" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:choice minOccurs="0" maxOccurs="unbounded">
-					<xs:element ref="client-certificate" minOccurs="0" maxOccurs="unbounded"/>
-					<xs:element ref="server-certificate" minOccurs="0"/>
-					<xs:element ref="encryption-certificate" minOccurs="0" maxOccurs="unbounded"/>
-					<xs:element ref="signature-certificate" minOccurs="0" maxOccurs="unbounded"/>
-				</xs:choice>
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="ebxml-binding" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:element ref="rosettanet-binding" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:element ref="web-service-binding" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:choice>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="description" type="xs:string" use="optional"/>
-			<xs:attribute name="notes" type="xs:string" use="optional"/>
-			<xs:attribute name="type" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="LOCAL"/>
-						<xs:enumeration value="REMOTE"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="is-default" type="xs:boolean" use="optional"/>
-			<xs:attribute name="business-id-type" type="xs:string" use="optional"/>
-			<xs:attribute name="business-id" type="xs:string" use="optional"/>
-			<xs:attribute name="email" type="xs:string" use="optional"/>
-			<xs:attribute name="phone" type="xs:string" use="optional"/>
-			<xs:attribute name="fax" type="xs:string" use="optional"/>
-			<xs:attribute name="username" type="xs:string" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="address" type="xs:string"/>
-	<xs:element name="extended-property-set">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="xml-element" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="description" type="xs:string" use="optional"/>
-			<xs:attribute name="notes" type="xs:string" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="xml-element">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="xml-attribute" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="xml-element" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="xml-attribute">
-		<xs:complexType>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="value" type="xs:string" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="client-certificate">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="ds:KeyInfo" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="server-certificate">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="ds:KeyInfo" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="encryption-certificate">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="ds:KeyInfo" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="signature-certificate">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="ds:KeyInfo" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="ebxml-binding">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="signature-transforms" minOccurs="0"/>
-				<xs:element ref="transport" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="business-protocol-name" type="xs:string" use="optional"/>
-			<xs:attribute name="business-protocol-version" type="xs:string" use="optional"/>
-			<xs:attribute name="is-default" type="xs:boolean" use="optional"/>
-			<xs:attribute name="is-signature-required" type="xs:boolean" use="optional"/>
-			<xs:attribute name="is-receipt-signature-required" type="xs:boolean" use="optional"/>
-			<xs:attribute name="signature-certificate-name" type="reference" use="optional"/>
-			<xs:attribute name="delivery-semantics" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-					<xs:enumeration value="BestEffort"/>
-            <xs:enumeration value="BESTEFFORT"/>
-					<xs:enumeration value="OnceAndOnlyOnce"/>
-            <xs:enumeration value="ONCEANDONLYONCE"/>
-					<xs:enumeration value="AtLeastOnce"/>
-            <xs:enumeration value="ATLEASTONCE"/>
-					<xs:enumeration value="AtMostOnce"/>
-            <xs:enumeration value="ATMOSTONCE"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="retries" type="xs:nonNegativeInteger" use="optional"/>
-			<xs:attribute name="retry-interval" type="xs:nonNegativeInteger" use="optional"/>
-			<xs:attribute name="persist-duration" type="xs:nonNegativeInteger" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="signature-transforms">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="xpath" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="xpath"/>
-	<xs:element name="rosettanet-binding">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="failure-report-administrator" minOccurs="0"/>
-				<xs:element ref="failure-notifier" minOccurs="0"/>
-				<xs:element ref="transport" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="business-protocol-name" type="xs:string" use="optional"/>
-			<xs:attribute name="business-protocol-version" type="xs:string" use="optional"/>
-			<xs:attribute name="is-default" type="xs:boolean" use="optional"/>
-			<xs:attribute name="encryption-certificate-name" type="reference" use="optional"/>
-			<xs:attribute name="cipher-algorithm" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-						<xs:enumeration value="RC5"/>
-						<xs:enumeration value="DES"/>
-						<xs:enumeration value="TRIPLE_DES"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="encryption-level" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-						<xs:enumeration value="PAYLOAD"/>
-						<xs:enumeration value="ENTIRE_PAYLOAD"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="is-signature-required" type="xs:boolean" use="optional"/>
-			<xs:attribute name="is-receipt-signature-required" type="xs:boolean" use="optional"/>
-			<xs:attribute name="signature-certificate-name" type="reference" use="optional"/>
-			<xs:attribute name="retries" type="xs:nonNegativeInteger" use="optional"/>
-			<xs:attribute name="retry-interval" type="xs:nonNegativeInteger" use="optional"/>
-			<xs:attribute name="process-timeout" type="xs:nonNegativeInteger" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="failure-report-administrator">
-		<xs:complexType>
-			<xs:attribute name="trading-partner-name" type="reference" use="required"/>
-			<xs:attribute name="binding-name" type="reference" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="failure-notifier">
-		<xs:complexType>
-			<xs:attribute name="trading-partner-name" type="reference" use="required"/>
-			<xs:attribute name="binding-name" type="reference" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="web-service-binding">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="transport" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="transport">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="authentication" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-			<xs:attribute name="protocol" use="required">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="http"/>
-            <xs:enumeration value="HTTP"/>
-						<xs:enumeration value="https"/>
-            <xs:enumeration value="HTTPS"/>
-						<xs:enumeration value="jms"/>
-            <xs:enumeration value="JMS"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="protocol-version" type="xs:string" use="optional"/>
-			<xs:attribute name="endpoint" type="xs:anyURI" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="authentication">
-		<xs:complexType>
-			<xs:attribute name="client-partner-name" type="reference" use="optional"/>
-			<xs:attribute name="client-authentication" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-						<xs:enumeration value="BASIC"/>
-						<xs:enumeration value="SSL_CERT"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="username" type="xs:string" use="optional"/>
-			<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
-			<xs:attribute name="client-certificate-name" type="reference" use="optional"/>
-			<xs:attribute name="server-authentication" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-						<xs:enumeration value="SSL_CERT_MUTUAL"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="server-certificate-name" type="reference" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="service">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="service-profile" minOccurs="0" maxOccurs="unbounded"/>
-				<xs:element ref="rosettanet-service-defaults" minOccurs="0"/>
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required"/>
-			<xs:attribute name="version" type="xs:string" use="optional"/>
-			<xs:attribute name="description" type="xs:string" use="optional"/>
-			<xs:attribute name="notes" type="xs:string" use="optional"/>
-			<xs:attribute name="service-type" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="WEBSERVICE"/>
-						<xs:enumeration value="PROCESS"/>
-						<xs:enumeration value="SERVICECONTROL"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="business-protocol" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="WEBSERVICE"/>
-						<xs:enumeration value="EBXML"/>
-						<xs:enumeration value="ROSETTANET"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="service-profile">
-		<xs:complexType>
-			<xs:attribute name="local-trading-partner" type="reference" use="optional"/>
-			<xs:attribute name="local-binding" type="reference" use="optional"/>
-			<xs:attribute name="external-trading-partner" type="reference" use="required"/>
-			<xs:attribute name="external-binding" type="reference" use="optional"/>
-			<xs:attribute name="status" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="ENABLED"/>
-						<xs:enumeration value="DISABLED"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="message-tracking" use="optional">
-				<xs:simpleType>
-					<xs:restriction base="xs:NMTOKEN">
-						<xs:enumeration value="NONE"/>
-            <xs:enumeration value="DEFAULT"/>
-						<xs:enumeration value="METADATA"/>
-						<xs:enumeration value="ALL"/>
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="rosettanet-service-defaults">
-		<xs:complexType>
-			<xs:attribute name="service-content-schema" type="xs:string" use="optional"/>
-			<xs:attribute name="use-dtd-validation" type="xs:boolean" use="optional"/>
-			<xs:attribute name="validate-service-content" type="xs:boolean" use="optional"/>
-			<xs:attribute name="validate-service-header" type="xs:boolean" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:simpleType name="reference">
-		<xs:annotation>
-			<xs:documentation>Reference to another element in the TPM repository.</xs:documentation>
-		</xs:annotation>
-		<xs:restriction base="xs:string"/>
-	</xs:simpleType>
-</xs:schema>
diff --git a/v1/xkit/schemas/cyclone/dsig/xmldsig-core-schema.xsd b/v1/xkit/schemas/cyclone/dsig/xmldsig-core-schema.xsd
deleted file mode 100644
index 376e734..0000000
--- a/v1/xkit/schemas/cyclone/dsig/xmldsig-core-schema.xsd
+++ /dev/null
@@ -1,318 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE schema
-  PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd"
- [
-   <!ATTLIST schema 
-     xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#">
-   <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
-   <!ENTITY % p ''>
-   <!ENTITY % s ''>
-  ]>
-
-<!-- Schema for XML Signatures
-    http://www.w3.org/2000/09/xmldsig#
-    $Revision: 1.1 $ on $Date: 2003/09/15 18:20:48 $ by $Author: ericvas $
-
-    Copyright 2001 The Internet Society and W3C (Massachusetts Institute
-    of Technology, Institut National de Recherche en Informatique et en
-    Automatique, Keio University). All Rights Reserved.
-    http://www.w3.org/Consortium/Legal/
-
-    This document is governed by the W3C Software License [1] as described
-    in the FAQ [2].
-
-    [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
-    [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
--->
-
-
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
-        targetNamespace="http://www.w3.org/2000/09/xmldsig#"
-        version="0.1" elementFormDefault="qualified"> 
-
-<!-- Basic Types Defined for Signatures -->
-
-<simpleType name="CryptoBinary">
-  <restriction base="base64Binary">
-  </restriction>
-</simpleType>
-
-<!-- Start Signature -->
-
-<element name="Signature" type="ds:SignatureType"/>
-<complexType name="SignatureType">
-  <sequence> 
-    <element ref="ds:SignedInfo"/> 
-    <element ref="ds:SignatureValue"/> 
-    <element ref="ds:KeyInfo" minOccurs="0"/> 
-    <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/> 
-  </sequence>  
-  <attribute name="Id" type="ID" use="optional"/>
-</complexType>
-
-  <element name="SignatureValue" type="ds:SignatureValueType"/> 
-  <complexType name="SignatureValueType">
-    <simpleContent>
-      <extension base="base64Binary">
-        <attribute name="Id" type="ID" use="optional"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-<!-- Start SignedInfo -->
-
-<element name="SignedInfo" type="ds:SignedInfoType"/>
-<complexType name="SignedInfoType">
-  <sequence> 
-    <element ref="ds:CanonicalizationMethod"/> 
-    <element ref="ds:SignatureMethod"/> 
-    <element ref="ds:Reference" maxOccurs="unbounded"/> 
-  </sequence>  
-  <attribute name="Id" type="ID" use="optional"/> 
-</complexType>
-
-  <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/> 
-  <complexType name="CanonicalizationMethodType" mixed="true">
-    <sequence>
-      <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
-      <!-- (0,unbounded) elements from (1,1) namespace -->
-    </sequence>
-    <attribute name="Algorithm" type="anyURI" use="required"/> 
-  </complexType>
-
-  <element name="SignatureMethod" type="ds:SignatureMethodType"/>
-  <complexType name="SignatureMethodType" mixed="true">
-    <sequence>
-      <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
-      <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
-      <!-- (0,unbounded) elements from (1,1) external namespace -->
-    </sequence>
-    <attribute name="Algorithm" type="anyURI" use="required"/> 
-  </complexType>
-
-<!-- Start Reference -->
-
-<element name="Reference" type="ds:ReferenceType"/>
-<complexType name="ReferenceType">
-  <sequence> 
-    <element ref="ds:Transforms" minOccurs="0"/> 
-    <element ref="ds:DigestMethod"/> 
-    <element ref="ds:DigestValue"/> 
-  </sequence>
-  <attribute name="Id" type="ID" use="optional"/> 
-  <attribute name="URI" type="anyURI" use="optional"/> 
-  <attribute name="Type" type="anyURI" use="optional"/> 
-</complexType>
-
-  <element name="Transforms" type="ds:TransformsType"/>
-  <complexType name="TransformsType">
-    <sequence>
-      <element ref="ds:Transform" maxOccurs="unbounded"/>  
-    </sequence>
-  </complexType>
-
-  <element name="Transform" type="ds:TransformType"/>
-  <complexType name="TransformType" mixed="true">
-    <choice minOccurs="0" maxOccurs="unbounded"> 
-      <any namespace="##other" processContents="lax"/>
-      <!-- (1,1) elements from (0,unbounded) namespaces -->
-      <element name="XPath" type="string"/> 
-    </choice>
-    <attribute name="Algorithm" type="anyURI" use="required"/> 
-  </complexType>
-
-<!-- End Reference -->
-
-<element name="DigestMethod" type="ds:DigestMethodType"/>
-<complexType name="DigestMethodType" mixed="true"> 
-  <sequence>
-    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-  </sequence>    
-  <attribute name="Algorithm" type="anyURI" use="required"/> 
-</complexType>
-
-<element name="DigestValue" type="ds:DigestValueType"/>
-<simpleType name="DigestValueType">
-  <restriction base="base64Binary"/>
-</simpleType>
-
-<!-- End SignedInfo -->
-
-<!-- Start KeyInfo -->
-
-<element name="KeyInfo" type="ds:KeyInfoType"/> 
-<complexType name="KeyInfoType" mixed="true">
-  <choice maxOccurs="unbounded">     
-    <element ref="ds:KeyName"/> 
-    <element ref="ds:KeyValue"/> 
-    <element ref="ds:RetrievalMethod"/> 
-    <element ref="ds:X509Data"/> 
-    <element ref="ds:PGPData"/> 
-    <element ref="ds:SPKIData"/>
-    <element ref="ds:MgmtData"/>
-    <any processContents="lax" namespace="##other"/>
-    <!-- (1,1) elements from (0,unbounded) namespaces -->
-  </choice>
-  <attribute name="Id" type="ID" use="optional"/> 
-</complexType>
-
-  <element name="KeyName" type="string"/>
-  <element name="MgmtData" type="string"/>
-
-  <element name="KeyValue" type="ds:KeyValueType"/> 
-  <complexType name="KeyValueType" mixed="true">
-   <choice>
-     <element ref="ds:DSAKeyValue"/>
-     <element ref="ds:RSAKeyValue"/>
-     <any namespace="##other" processContents="lax"/>
-   </choice>
-  </complexType>
-
-  <element name="RetrievalMethod" type="ds:RetrievalMethodType"/> 
-  <complexType name="RetrievalMethodType">
-    <sequence>
-      <element ref="ds:Transforms" minOccurs="0"/> 
-    </sequence>  
-    <attribute name="URI" type="anyURI"/>
-    <attribute name="Type" type="anyURI" use="optional"/>
-  </complexType>
-
-<!-- Start X509Data -->
-
-<element name="X509Data" type="ds:X509DataType"/> 
-<complexType name="X509DataType">
-  <sequence maxOccurs="unbounded">
-    <choice>
-      <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
-      <element name="X509SKI" type="base64Binary"/>
-      <element name="X509SubjectName" type="string"/>
-      <element name="X509Certificate" type="base64Binary"/>
-      <element name="X509CRL" type="base64Binary"/>
-      <any namespace="##other" processContents="lax"/>
-    </choice>
-  </sequence>
-</complexType>
-
-<complexType name="X509IssuerSerialType"> 
-  <sequence> 
-    <element name="X509IssuerName" type="string"/> 
-    <element name="X509SerialNumber" type="integer"/> 
-  </sequence>
-</complexType>
-
-<!-- End X509Data -->
-
-<!-- Begin PGPData -->
-
-<element name="PGPData" type="ds:PGPDataType"/> 
-<complexType name="PGPDataType"> 
-  <choice>
-    <sequence>
-      <element name="PGPKeyID" type="base64Binary"/> 
-      <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/> 
-      <any namespace="##other" processContents="lax" minOccurs="0"
-       maxOccurs="unbounded"/>
-    </sequence>
-    <sequence>
-      <element name="PGPKeyPacket" type="base64Binary"/> 
-      <any namespace="##other" processContents="lax" minOccurs="0"
-       maxOccurs="unbounded"/>
-    </sequence>
-  </choice>
-</complexType>
-
-<!-- End PGPData -->
-
-<!-- Begin SPKIData -->
-
-<element name="SPKIData" type="ds:SPKIDataType"/> 
-<complexType name="SPKIDataType">
-  <sequence maxOccurs="unbounded">
-    <element name="SPKISexp" type="base64Binary"/>
-    <any namespace="##other" processContents="lax" minOccurs="0"/>
-  </sequence>
-</complexType> 
-
-<!-- End SPKIData -->
-
-<!-- End KeyInfo -->
-
-<!-- Start Object (Manifest, SignatureProperty) -->
-
-<element name="Object" type="ds:ObjectType"/> 
-<complexType name="ObjectType" mixed="true">
-  <sequence minOccurs="0" maxOccurs="unbounded">
-    <any namespace="##any" processContents="lax"/>
-  </sequence>
-  <attribute name="Id" type="ID" use="optional"/> 
-  <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
-  <attribute name="Encoding" type="anyURI" use="optional"/> 
-</complexType>
-
-<element name="Manifest" type="ds:ManifestType"/> 
-<complexType name="ManifestType">
-  <sequence>
-    <element ref="ds:Reference" maxOccurs="unbounded"/> 
-  </sequence>
-  <attribute name="Id" type="ID" use="optional"/> 
-</complexType>
-
-<element name="SignatureProperties" type="ds:SignaturePropertiesType"/> 
-<complexType name="SignaturePropertiesType">
-  <sequence>
-    <element ref="ds:SignatureProperty" maxOccurs="unbounded"/> 
-  </sequence>
-  <attribute name="Id" type="ID" use="optional"/> 
-</complexType>
-
-   <element name="SignatureProperty" type="ds:SignaturePropertyType"/> 
-   <complexType name="SignaturePropertyType" mixed="true">
-     <choice maxOccurs="unbounded">
-       <any namespace="##other" processContents="lax"/>
-       <!-- (1,1) elements from (1,unbounded) namespaces -->
-     </choice>
-     <attribute name="Target" type="anyURI" use="required"/> 
-     <attribute name="Id" type="ID" use="optional"/> 
-   </complexType>
-
-<!-- End Object (Manifest, SignatureProperty) -->
-
-<!-- Start Algorithm Parameters -->
-
-<simpleType name="HMACOutputLengthType">
-  <restriction base="integer"/>
-</simpleType>
-
-<!-- Start KeyValue Element-types -->
-
-<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
-<complexType name="DSAKeyValueType">
-  <sequence>
-    <sequence minOccurs="0">
-      <element name="P" type="ds:CryptoBinary"/>
-      <element name="Q" type="ds:CryptoBinary"/>
-    </sequence>
-    <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
-    <element name="Y" type="ds:CryptoBinary"/>
-    <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
-    <sequence minOccurs="0">
-      <element name="Seed" type="ds:CryptoBinary"/>
-      <element name="PgenCounter" type="ds:CryptoBinary"/>
-    </sequence>
-  </sequence>
-</complexType>
-
-<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
-<complexType name="RSAKeyValueType">
-  <sequence>
-    <element name="Modulus" type="ds:CryptoBinary"/> 
-    <element name="Exponent" type="ds:CryptoBinary"/> 
-  </sequence>
-</complexType> 
-
-<!-- End KeyValue Element-types -->
-
-<!-- End Signature -->
-
-</schema>
diff --git a/v1/xkit/schemas/easypo/easypo.xsd b/v1/xkit/schemas/easypo/easypo.xsd
deleted file mode 100644
index 812d1d6..0000000
--- a/v1/xkit/schemas/easypo/easypo.xsd
+++ /dev/null
@@ -1,42 +0,0 @@
-<xs:schema
-   xmlns:xs="http://www.w3.org/2001/XMLSchema"
-   xmlns:po="http://openuri.org/easypo"
-   targetNamespace="http://openuri.org/easypo"
-   elementFormDefault="qualified">
-
-  <xs:element name="purchase-order">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="customer" type="po:customer"/>
-        <xs:element name="date" type="xs:dateTime"/>
-        <xs:element name="line-item" type="po:line-item" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element name="shipper" type="po:shipper" minOccurs="0" maxOccurs="1"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:complexType name="customer">
-    <xs:sequence>
-      <xs:element name="name" type="xs:string"/>
-      <xs:element name="address" type="xs:string"/>
-    </xs:sequence>
-    <xs:attribute name="age" type="xs:int"/>
-  </xs:complexType>
-
-  <xs:complexType name="line-item">
-    <xs:sequence>
-      <xs:element name="description" type="xs:string"/>
-      <xs:element name="per-unit-ounces" type="xs:decimal"/>
-      <xs:element name="price" type="xs:decimal"/>
-      <xs:element name="quantity" type="xs:integer"/>
-    </xs:sequence>
-  </xs:complexType>
-
-  <xs:complexType name="shipper">
-    <xs:sequence>
-      <xs:element name="name" type="xs:string"/>
-      <xs:element name="per-ounce-rate" type="xs:decimal"/>
-    </xs:sequence>
-  </xs:complexType>
-
-</xs:schema>
diff --git a/v1/xkit/schemas/easypo/easypo.xsdconfig b/v1/xkit/schemas/easypo/easypo.xsdconfig
deleted file mode 100644
index dadb685..0000000
--- a/v1/xkit/schemas/easypo/easypo.xsdconfig
+++ /dev/null
@@ -1,13 +0,0 @@
-<xb:config xmlns:xb="http://www.bea.com/2002/09/xbean/config"
-           xmlns:ep="http://openuri.org/easypo">
-
-  <xb:namespace uri="http://openuri.org/easypo">
-    <xb:package>com.easypo</xb:package>
-  </xb:namespace>
-
-  <xb:namespace uri="##any">
-    <xb:prefix>Xml</xb:prefix>
-    <xb:suffix>Bean</xb:suffix>
-  </xb:namespace>
-
-</xb:config>
diff --git a/v1/xkit/schemas/j2ee/XML.xsd b/v1/xkit/schemas/j2ee/XML.xsd
deleted file mode 100644
index ff8add9..0000000
--- a/v1/xkit/schemas/j2ee/XML.xsd
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
-<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
-
- <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.
-  </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/2001/03/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.  In other words, if the XML Schema namespace changes, the version
-   of this document at
-   http://www.w3.org/2001/xml.xsd will change
-   accordingly; the version at
-   http://www.w3.org/2001/03/xml.xsd will not change.
-  </xs:documentation>
- </xs:annotation>
-
- <xs:attribute name="lang" type="xs:language">
-  <xs:annotation>
-   <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
-         codes as the enumerated possible values . . .</xs:documentation>
-  </xs:annotation>
- </xs:attribute>
-
- <xs:attribute name="space" default="preserve">
-  <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: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/v1/xkit/schemas/j2ee/application-client_1_4.xsd b/v1/xkit/schemas/j2ee/application-client_1_4.xsd
deleted file mode 100644
index ba04f84..0000000
--- a/v1/xkit/schemas/j2ee/application-client_1_4.xsd
+++ /dev/null
@@ -1,276 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="1.4">
-<xsd:annotation>
-<xsd:documentation>
-@(#)application-client_1_4.xsds	1.7 07/08/02
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the application client 1.4
-deployment descriptor.  All application client deployment
-descriptors must indicate the application client
-schema by using the J2EE namespace:
-
-http://java.sun.com/xml/ns/j2ee
-
-and by indicating the version of the schema by
-using the version element as shown below:
-
-    <application-client xmlns="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-       http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd"
-     version="1.4">
-
-    ...
-    </application-client>
-
-The instance documents may indicate the published version of
-the schema using the xsi:schemaLocation attribute for J2EE
-namespace with the following location:
-
-http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<include schemaLocation="j2ee_1_4.xsd"/>
-
-
-<!-- **************************************************** -->
-
-
-<xsd:element name="application-client" type="j2ee:application-clientType">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The application-client element is the root element of an
-    application client deployment descriptor.  The application
-    client deployment descriptor describes the EJB components
-    and external resources referenced by the application
-    client.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:unique name="env-entry-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The env-entry-name element contains the name of an
-    application client's environment entry.  The name is a JNDI
-    name relative to the java:comp/env context.  The name must
-    be unique within an application client.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:env-entry"/>
-        <xsd:field    xpath="j2ee:env-entry-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="ejb-ref-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The ejb-ref-name element contains the name of an EJB
-    reference. The EJB reference is an entry in the application
-    client's environment and is relative to the
-    java:comp/env context. The name must be unique within the
-    application client.
-
-    It is recommended that name is prefixed with "ejb/".
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:ejb-ref"/>
-        <xsd:field    xpath="j2ee:ejb-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="res-ref-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The res-ref-name element specifies the name of a
-    resource manager connection factory reference.The name
-    is a JNDI name relative to the java:comp/env context.
-    The name must be unique within an application client.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:resource-ref"/>
-        <xsd:field    xpath="j2ee:res-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="resource-env-ref-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The resource-env-ref-name element specifies the name of
-    a resource environment reference; its value is the
-    environment entry name used in the application client
-    code. The name is a JNDI name relative to the
-    java:comp/env context and must be unique within an
-    application client.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:resource-env-ref"/>
-        <xsd:field    xpath="j2ee:resource-env-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="message-destination-ref-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The message-destination-ref-name element specifies the
-    name of a message destination reference; its value is
-    the message destination reference name used in the
-    application client code. The name is a JNDI name
-    relative to the java:comp/env context and must be unique
-    within an application client.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:message-destination-ref"/>
-        <xsd:field    xpath="j2ee:message-destination-ref-name"/>
-    </xsd:unique>
-
-</xsd:element>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="application-clientType">
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="env-entry"
-                     type="j2ee:env-entryType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref"
-                     type="j2ee:ejb-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="resource-ref"
-                     type="j2ee:resource-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="resource-env-ref"
-                     type="j2ee:resource-env-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref"
-                     type="j2ee:message-destination-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="callback-handler"
-                     type="j2ee:fully-qualified-classType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The callback-handler element names a class provided by
-        the application.  The class must have a no args
-        constructor and must implement the
-        javax.security.auth.callback.CallbackHandler
-        interface.  The class will be instantiated by the
-        application client container and used by the container
-        to collect authentication information from the user.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="message-destination"
-                     type="j2ee:message-destinationType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-
-    </xsd:sequence>
-
-    <xsd:attribute name="version"
-                   type="j2ee:dewey-versionType"
-                   fixed="1.4"
-                   use="required">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The required value for the version is 1.4.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-    </xsd:attribute>
-
-</xsd:complexType>
-
-</xsd:schema>
-
diff --git a/v1/xkit/schemas/j2ee/application_1_4.xsd b/v1/xkit/schemas/j2ee/application_1_4.xsd
deleted file mode 100644
index b53113b..0000000
--- a/v1/xkit/schemas/j2ee/application_1_4.xsd
+++ /dev/null
@@ -1,329 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="1.4">
-<xsd:annotation>
-<xsd:documentation>
-@(#)application_1_4.xsds	1.6 08/09/02
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the application 1.4 deployment
-descriptor.  All application deployment descriptors must
-indicate that the schema by using the J2EE namespace
-
-http://java.sun.com/xml/ns/j2ee
-
-and by indicating the version of the schema by
-using the version element as shown below:
-
-    <application xmlns="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-        http://java.sun.com/xml/ns/j2ee/application_1_4.xsd"
-     version="1.4">
-
-    ...
-    </application>
-
-The instance documents may indicate the published version of
-the schema using the xsi:schemaLocation attribute for J2EE
-namespace with the following location:
-
-http://java.sun.com/xml/ns/j2ee/application_1_4.xsd
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:include schemaLocation="j2ee_1_4.xsd"/>
-
-
-<!-- **************************************************** -->
-
-
-<xsd:element name="application" type="j2ee:applicationType">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The application element is the root element of a J2EE
-    application deployment descriptor.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:unique name="context-root-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The context-root element content must be unique
-    in the ear.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:module/j2ee:web"/>
-        <xsd:field    xpath="j2ee:context-root"/>
-    </xsd:unique>
-
-    <xsd:unique name="security-role-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The security-role-name element content
-    must be unique in the ear.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:security-role"/>
-        <xsd:field    xpath="j2ee:role-name"/>
-    </xsd:unique>
-
-</xsd:element>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="applicationType">
-<xsd:annotation>
-<xsd:documentation>
-
-The applicationType defines the structure of the
-application.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="module"
-                     type="j2ee:moduleType"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The application deployment descriptor must have one
-        module element for each J2EE module in the
-        application package. A module element is defined
-        by moduleType definition.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="security-role"
-                     type="j2ee:security-roleType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="version"
-                   type="j2ee:dewey-versionType"
-                   fixed="1.4"
-                   use="required">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The required value for the version is 1.4.
-
-    </xsd:documentation>
-    </xsd:annotation>
-    </xsd:attribute>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="moduleType">
-<xsd:annotation>
-<xsd:documentation>
-
-The moduleType defines a single J2EE module and contains a
-connector, ejb, java, or web element, which indicates the
-module type and contains a path to the module file, and an
-optional alt-dd element, which specifies an optional URI to
-the post-assembly version of the deployment descriptor.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:choice>
-            <xsd:element name="connector"
-                         type="j2ee:pathType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The connector element specifies the URI of a
-            resource adapter archive file, relative to the
-            top level of the application package.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="ejb"
-                         type="j2ee:pathType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The ejb element specifies the URI of an ejb-jar,
-            relative to the top level of the application
-            package.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="java"
-                         type="j2ee:pathType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The java element specifies the URI of a java
-            application client module, relative to the top
-            level of the application package.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="web"
-                         type="j2ee:webType"/>
-        </xsd:choice>
-        <xsd:element name="alt-dd"
-                     type="j2ee:pathType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The alt-dd element specifies an optional URI to the
-        post-assembly version of the deployment descriptor
-        file for a particular J2EE module.  The URI must
-        specify the full pathname of the deployment
-        descriptor file relative to the application's root
-        directory. If alt-dd is not specified, the deployer
-        must read the deployment descriptor from the default
-        location and file name required by the respective
-        component specification.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="webType">
-<xsd:annotation>
-<xsd:documentation>
-
-The webType defines the web-uri and context-root of
-a web application module.
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="web-uri"
-                     type="j2ee:pathType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The web-uri element specifies the URI of a web
-        application file, relative to the top level of the
-        application package.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="context-root"
-                     type="j2ee:string">
-
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The context-root element specifies the context root
-        of a web application.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-</xsd:complexType>
-
-</xsd:schema>
-
diff --git a/v1/xkit/schemas/j2ee/connector_1_5.xsd b/v1/xkit/schemas/j2ee/connector_1_5.xsd
deleted file mode 100644
index abe55bd..0000000
--- a/v1/xkit/schemas/j2ee/connector_1_5.xsd
+++ /dev/null
@@ -1,1011 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="1.5">
-<xsd:annotation>
-<xsd:documentation>
-@(#)connector_1_5.xsds	1.16 07/06/02
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the Connector 1.5 deployment
-descriptor.  All Connector deployment descriptors must
-indicate the connector resource adapter schema by using the
-J2EE namespace:
-
-http://java.sun.com/xml/ns/j2ee
-
-and by indicating the version of the schema by
-using the version element as shown below:
-
-    <connector xmlns="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-         http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-     version="1.5">
-    ...
-    </connector>
-
-The instance documents may indicate the published version of
-the schema using the xsi:schemaLocation attribute for J2EE
-namespace with the following location:
-
-http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<include schemaLocation="j2ee_1_4.xsd"/>
-
-
-<!-- **************************************************** -->
-
-
-<xsd:element name="connector" type="j2ee:connectorType">
-<xsd:annotation>
-<xsd:documentation>
-
-The connector element is the root element of the deployment
-descriptor for the resource adapter. This element includes
-general information - vendor name, resource adapter version,
-icon - about the resource adapter module. It also includes
-information specific to the implementation of the resource
-adapter library as specified through the element
-resourceadapter.
-
-</xsd:documentation>
-</xsd:annotation>
-
-</xsd:element>
-
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="activationspecType">
-<xsd:annotation>
-<xsd:documentation>
-
-The activationspecType specifies an activation
-specification.  The information includes fully qualified
-Java class name of an activation specification and a set of
-required configuration property names.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="activationspec-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element activationspec-class specifies the fully
-        qualified Java class name of the activation
-        specification class. This class must implement the
-        javax.resource.spi.ActivationSpec interface. The
-        implementation of this class is required to be a
-        JavaBean.
-
-        Example:
-            <activationspec-class>com.wombat.ActivationSpecImpl
-            </activationspec-class>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="required-config-property"
-                     type="j2ee:required-config-propertyType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="adminobjectType">
-<xsd:annotation>
-<xsd:documentation>
-
-The adminobjectType specifies information about an
-administered object.  Administered objects are specific to a
-messaging style or message provider.  This contains
-information on the Java type of the interface implemented by
-an administered object, its Java class name and its
-configuration properties.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="adminobject-interface"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element adminobject-interface specifies the
-        fully qualified name of the Java type of the
-        interface implemented by an administered object.
-
-         Example:
-         <adminobject-interface>javax.jms.Destination
-         </adminobject-interface>
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="adminobject-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element adminobject-class specifies the fully
-        qualified Java class name of an administered object.
-
-        Example:
-            <adminobject-class>com.wombat.DestinationImpl
-            </adminobject-class>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="config-property"
-                     type="j2ee:config-propertyType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="authentication-mechanismType">
-<xsd:annotation>
-<xsd:documentation>
-
-The authentication-mechanismType specifies an authentication
-mechanism supported by the resource adapter. Note that this
-support is for the resource adapter and not for the
-underlying EIS instance. The optional description specifies
-any resource adapter specific requirement for the support of
-security contract and authentication mechanism.
-
-Note that BasicPassword mechanism type should support the
-javax.resource.spi.security.PasswordCredential interface.
-The Kerbv5 mechanism type should support the
-org.ietf.jgss.GSSCredential interface or the deprecated
-javax.resource.spi.security.GenericCredential interface.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="authentication-mechanism-type"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element authentication-mechanism-type specifies
-        type of an authentication mechanism.
-
-        The example values are:
-
-        <authentication-mechanism-type>BasicPassword
-        </authentication-mechanism-type>
-
-        <authentication-mechanism-type>Kerbv5
-        </authentication-mechanism-type>
-
-        Any additional security mechanisms are outside the
-        scope of the Connector architecture specification.
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="credential-interface"
-                     type="j2ee:credential-interfaceType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="config-property-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The config-property-nameType contains the name of a
-configuration property.
-
-The connector architecture defines a set of well-defined
-properties all of type java.lang.String. These are as
-follows.
-
-     ServerName
-     PortNumber
-     UserName
-     Password
-     ConnectionURL
-
-A resource adapter provider can extend this property set to
-include properties specific to the resource adapter and its
-underlying EIS.
-
-Possible values include
-        ServerName
-        PortNumber
-        UserName
-        Password
-        ConnectionURL
-
-Example: <config-property-name>ServerName</config-property-name>
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:restriction base="xsd:string">
-    </xsd:restriction>
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="config-property-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The config-property-typeType contains the fully
-qualified Java type of a configuration property.
-
-The following are the legal values:
-   java.lang.Boolean, java.lang.String, java.lang.Integer,
-   java.lang.Double, java.lang.Byte, java.lang.Short,
-   java.lang.Long, java.lang.Float, java.lang.Character
-
-Used in: config-property
-
-Example:
-<config-property-type>java.lang.String</config-property-type>
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="java.lang.Boolean"/>
-        <xsd:enumeration value="java.lang.String"/>
-        <xsd:enumeration value="java.lang.Integer"/>
-        <xsd:enumeration value="java.lang.Double"/>
-        <xsd:enumeration value="java.lang.Byte"/>
-        <xsd:enumeration value="java.lang.Short"/>
-        <xsd:enumeration value="java.lang.Long"/>
-        <xsd:enumeration value="java.lang.Float"/>
-        <xsd:enumeration value="java.lang.Character"/>
-    </xsd:restriction>
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="config-propertyType">
-<xsd:annotation>
-<xsd:documentation>
-
-The config-propertyType contains a declaration of a single
-configuration property that may be used for providing
-configuration information.
-
-The declaration consists of an optional description, name,
-type and an optional value of the configuration property. If
-the resource adapter provider does not specify a value than
-the deployer is responsible for providing a valid value for
-a configuration property.
-
-Any bounds or well-defined values of properties should be
-described in the description element.
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="config-property-name"
-                     type="j2ee:config-property-nameType"/>
-        <xsd:element name="config-property-type"
-                     type="j2ee:config-property-typeType"/>
-        <xsd:element name="config-property-value"
-                     type="xsd:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element config-property-value contains the value
-        of a configuration entry. Note, it is possible for a
-        resource adapter deployer to override this
-        configuration information during deployment.
-
-        Example:
-        <config-property-value>WombatServer</config-property-value>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="connection-definitionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The connection-definitionType defines a set of connection
-interfaces and classes pertaining to a particular connection
-type. This also includes configurable properties for
-ManagedConnectionFactory instances that may be produced out
-of this set.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="managedconnectionfactory-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element managedconnectionfactory-class specifies
-        the fully qualified name of the Java class that
-        implements the
-        javax.resource.spi.ManagedConnectionFactory interface.
-        This Java class is provided as part of resource
-        adapter's implementation of connector architecture
-        specified contracts. The implementation of this
-        class is required to be a JavaBean.
-
-        Example:
-        <managedconnectionfactory-class>
-            com.wombat.ManagedConnectionFactoryImpl
-        </managedconnectionfactory-class>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="config-property"
-                     type="j2ee:config-propertyType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="connectionfactory-interface"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element connectionfactory-interface specifies
-        the fully qualified name of the ConnectionFactory
-        interface supported by the resource adapter.
-
-        Example:
-        <connectionfactory-interface>com.wombat.ConnectionFactory
-        </connectionfactory-interface>
-
-        OR
-
-        <connectionfactory-interface>javax.resource.cci.ConnectionFactory
-        </connectionfactory-interface>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="connectionfactory-impl-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element connectionfactory-impl-class specifies
-        the fully qualified name of the ConnectionFactory
-        class that implements resource adapter
-        specific ConnectionFactory interface.
-
-        Example:
-
-        <connectionfactory-impl-class>com.wombat.ConnectionFactoryImpl
-        </connectionfactory-impl-class>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="connection-interface"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The connection-interface element specifies the fully
-        qualified name of the Connection interface supported
-        by the resource adapter.
-
-        Example:
-
-            <connection-interface>javax.resource.cci.Connection
-            </connection-interface>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="connection-impl-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The connection-impl-classType specifies the fully
-        qualified name of the Connection class that
-        implements resource adapter specific Connection
-        interface.  It is used by the connection-impl-class
-        elements.
-
-        Example:
-
-            <connection-impl-class>com.wombat.ConnectionImpl
-            </connection-impl-class>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="connectorType">
-<xsd:annotation>
-<xsd:documentation>
-
-The connectorType defines a resource adapter.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="vendor-name">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element vendor-name specifies the name of
-        resource adapter provider vendor.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="eis-type"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element eis-type contains information about the
-        type of the EIS. For example, the type of an EIS can
-        be product name of EIS independent of any version
-        info.
-
-        This helps in identifying EIS instances that can be
-        used with this resource adapter.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="resourceadapter-version"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element version specifies a string-based version
-        of the resource adapter from the resource adapter
-        provider.
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="license"
-                     type="j2ee:licenseType"
-                     minOccurs="0"/>
-        <xsd:element name="resourceadapter"
-                     type="j2ee:resourceadapterType"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        Resource adapter specific extensions can be
-        specified by using the deployment-extension
-        elements.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-    <xsd:attribute name="version"
-                   type="j2ee:dewey-versionType"
-                   fixed="1.5"
-                   use="required">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The version specifies the version of the
-    connector architecture specification that is
-    supported by this resource adapter. This information
-    enables deployer to configure the resource adapter to
-    support deployment and runtime requirements of the
-    corresponding connector architecture specification.
-
-    </xsd:documentation>
-    </xsd:annotation>
-    </xsd:attribute>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="credential-interfaceType">
-<xsd:annotation>
-<xsd:documentation>
-
-The credential-interfaceType specifies the
-interface that the resource adapter implementation
-supports for the representation of the
-credentials. This element(s) that use this type,
-i.e. credential-interface,  should be used by
-application server to find out the Credential
-interface it should use as part of the security
-contract.
-
-The possible values are:
-
-javax.resource.spi.security.PasswordCredential
-org.ietf.jgss.GSSCredential
-javax.resource.spi.security.GenericCredential
-
-</xsd:documentation>
-</xsd:annotation>
-
-  <xsd:restriction base="j2ee:fully-qualified-classType">
-        <xsd:enumeration
-            value="javax.resource.spi.security.PasswordCredential"/>
-        <xsd:enumeration
-            value="org.ietf.jgss.GSSCredential"/>
-        <xsd:enumeration
-            value="javax.resource.spi.security.GenericCredential"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="inbound-resourceadapterType">
-<xsd:annotation>
-<xsd:documentation>
-
-The inbound-resourceadapterType specifies information
-about an inbound resource adapter. This contains information
-specific to the implementation of the resource adapter
-library as specified through the messageadapter element.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="messageadapter"
-                     type="j2ee:messageadapterType"
-                     minOccurs="0">
-        <xsd:unique name="messagelistener-type-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The messagelistener-type element content must be
-        unique in the messageadapter. Several messagelisteners
-        can not use the same messagelistener-type.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        <xsd:selector xpath="j2ee:messagelistener"/>
-        <xsd:field    xpath="j2ee:messagelistener-type"/>
-        </xsd:unique>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="licenseType">
-<xsd:annotation>
-<xsd:documentation>
-
-The licenseType specifies licensing requirements for the
-resource adapter module. This type specifies whether a
-license is required to deploy and use this resource adapter,
-and an optional description of the licensing terms
-(examples: duration of license, number of connection
-restrictions). It is used by the license element.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-            <xsd:element name="description"
-                         type="j2ee:descriptionType"
-                         minOccurs="0"
-                         maxOccurs="unbounded"/>
-            <xsd:element name="license-required"
-                         type="j2ee:true-falseType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The element license-required specifies whether a
-            license is required to deploy and use the
-            resource adapter. This element must be one of
-            the following, "true" or "false".
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="messageadapterType">
-<xsd:annotation>
-<xsd:documentation>
-
-The messageadapterType specifies information about the
-messaging capabilities of the resource adapter. This
-contains information specific to the implementation of the
-resource adapter library as specified through the
-messagelistener element.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="messagelistener"
-                     type="j2ee:messagelistenerType"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="messagelistenerType">
-<xsd:annotation>
-<xsd:documentation>
-
-The messagelistenerType specifies information about a
-specific message listener supported by the messaging
-resource adapter. It contains information on the Java type
-of the message listener interface and an activation
-specification.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="messagelistener-type"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element messagelistener-type specifies the fully
-        qualified name of the Java type of a message
-        listener interface.
-
-        Example:
-
-          <messagelistener-type>javax.jms.MessageListener
-          </messagelistener-type>
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="activationspec"
-                     type="j2ee:activationspecType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="outbound-resourceadapterType">
-<xsd:annotation>
-<xsd:documentation>
-
-The outbound-resourceadapterType specifies information about
-an outbound resource adapter. The information includes fully
-qualified names of classes/interfaces required as part of
-the connector architecture specified contracts for
-connection management, level of transaction support
-provided, one or more authentication mechanisms supported
-and additional required security permissions.
-
-If there is no authentication-mechanism specified as part of
-resource adapter element then the resource adapter does not
-support any standard security authentication mechanisms as
-part of security contract. The application server ignores
-the security part of the system contracts in this case.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="connection-definition"
-                     type="j2ee:connection-definitionType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="transaction-support"
-                     type="j2ee:transaction-supportType"/>
-        <xsd:element name="authentication-mechanism"
-                     type="j2ee:authentication-mechanismType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="reauthentication-support"
-                     type="j2ee:true-falseType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element reauthentication-support specifies
-        whether the resource adapter implementation supports
-        re-authentication of existing Managed- Connection
-        instance. Note that this information is for the
-        resource adapter implementation and not for the
-        underlying EIS instance. This element must have
-        either a "true" or "false" value.
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="security-permission"
-                     type="j2ee:security-permissionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="required-config-propertyType">
-<xsd:annotation>
-<xsd:documentation>
-
-The required-config-propertyType contains a declaration
-of a single configuration property used for specifying a
-required configuration property name. It is used
-by required-config-property elements.
-
-Example:
-
-<required-config-property>Destination</required-config-property>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="config-property-name"
-                     type="j2ee:config-property-nameType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="resourceadapterType">
-<xsd:annotation>
-<xsd:documentation>
-
-The resourceadapterType specifies information about the
-resource adapter. The information includes fully qualified
-resource adapter Java class name, configuration properties,
-information specific to the implementation of the resource
-adapter library as specified through the
-outbound-resourceadapter and inbound-resourceadapter
-elements, and an optional set of administered objects.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="resourceadapter-class"
-                     type="j2ee:fully-qualified-classType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element resourceadapter-class specifies the
-        fully qualified name of a Java class that implements
-        the javax.resource.spi.ResourceAdapter
-        interface. This Java class is provided as part of
-        resource adapter's implementation of connector
-        architecture specified contracts. The implementation
-        of this class is required to be a JavaBean.
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        </xsd:element>
-        <xsd:element name="config-property"
-                     type="j2ee:config-propertyType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="outbound-resourceadapter"
-                     type="j2ee:outbound-resourceadapterType"
-                     minOccurs="0"/>
-        <xsd:element name="inbound-resourceadapter"
-                     type="j2ee:inbound-resourceadapterType"
-                     minOccurs="0"/>
-        <xsd:element name="adminobject"
-                     type="j2ee:adminobjectType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="security-permissionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The security-permissionType specifies a security
-permission that is required by the resource adapter code.
-
-The security permission listed in the deployment descriptor
-are ones that are different from those required by the
-default permission set as specified in the connector
-specification. The optional description can mention specific
-reason that resource adapter requires a given security
-permission.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="security-permission-spec"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The element permission-spec specifies a security
-        permission based on the Security policy file
-        syntax. Refer to the following URL for Sun's
-        implementation of the security permission
-        specification:
-
-        http://java.sun.com/products/jdk/1.4/docs/guide/security/PolicyFiles.html#FileSyntax
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="transaction-supportType">
-<xsd:annotation>
-<xsd:documentation>
-
-The transaction-supportType specifies the level of
-transaction support provided by the resource adapter. It is
-used by transaction-support elements.
-
-The value must be one of the following:
-
-    NoTransaction
-    LocalTransaction
-    XATransaction
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="NoTransaction"/>
-        <xsd:enumeration value="LocalTransaction"/>
-        <xsd:enumeration value="XATransaction"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/v1/xkit/schemas/j2ee/ejb-jar_2_1.xsd b/v1/xkit/schemas/j2ee/ejb-jar_2_1.xsd
deleted file mode 100644
index f16c12e..0000000
--- a/v1/xkit/schemas/j2ee/ejb-jar_2_1.xsd
+++ /dev/null
@@ -1,2383 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="2.1">
-<xsd:annotation>
-<xsd:documentation>
-@(#)ejb-jar_2_1.xsds	1.10 07/24/02
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the EJB 2.1 deployment
-descriptor.  All EJB deployment descriptors must indicate
-the ejb-jar schema by using the J2EE namespace:
-
-http://java.sun.com/xml/ns/j2ee
-
-and by indicating the version of the schema by
-using the version element as shown below:
-
-    <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-         http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
-     version="2.1">
-    ...
-    </ejb-jar>
-
-The instance documents may indicate the published version of
-the schema using the xsi:schemaLocation attribute for the
-J2EE namespace with the following location:
-
-http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<include schemaLocation="j2ee_1_4.xsd"/>
-
-
-<!-- **************************************************** -->
-
-
-<xsd:element name="ejb-jar" type="j2ee:ejb-jarType">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    This is the root of the ejb-jar deployment descriptor.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:key name="ejb-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The ejb-name element contains the name of an enterprise
-    bean. The name must be unique within the ejb-jar file.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:enterprise-beans/*"/>
-        <xsd:field    xpath="j2ee:ejb-name"/>
-    </xsd:key>
-
-    <xsd:keyref name="ejb-name-references"
-            refer="j2ee:ejb-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The keyref indicates the references from
-    relationship-role-source must be to a specific ejb-name
-    defined within the scope of enterprise-beans element.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector
-            xpath=".//j2ee:ejb-relationship-role/j2ee:relationship-role-source"/>
-        <xsd:field
-            xpath="j2ee:ejb-name"/>
-    </xsd:keyref>
-
-    <xsd:key name="role-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    A role-name-key is specified to allow the references
-    from the security-role-refs.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:enterprise-beans/*/j2ee:security-role"/>
-        <xsd:field    xpath="j2ee:role-name"/>
-    </xsd:key>
-
-    <xsd:keyref name="role-name-references"
-            refer="j2ee:role-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The keyref indicates the references from
-    security-role-ref to a specified role-name.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:enterprise-beans/*/j2ee:security-role-ref"/>
-        <xsd:field    xpath="j2ee:role-link"/>
-    </xsd:keyref>
-
-</xsd:element>
-
-
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="activation-config-propertyType">
-<xsd:annotation>
-<xsd:documentation>
-
-The activation-config-propertyType contains a name/value
-configuration property pair for a message-driven bean.
-
-The properties that are recognized for a particular
-message-driven bean are determined by the messaging type.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="activation-config-property-name"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The activation-config-property-name element contains
-        the name for an activation configuration property of
-        a message-driven bean.
-
-        For JMS message-driven beans, the following property
-        names are recognized: acknowledgeMode,
-        messageSelector, destinationType, subscriptionDurability
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="activation-config-property-value"
-                     type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The activation-config-property-value element
-        contains the value for an activation configuration
-        property of a message-driven bean.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="activation-configType">
-<xsd:annotation>
-<xsd:documentation>
-
-The activation-configType defines information about the
-expected configuration properties of the message-driven bean
-in its operational environment. This may include information
-about message acknowledgement, message selector, expected
-destination type, etc.
-
-The configuration information is expressed in terms of
-name/value configuration properties.
-
-The properties that are recognized for a particular
-message-driven bean are determined by the messaging type.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="activation-config-property"
-                     type="j2ee:activation-config-propertyType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="assembly-descriptorType">
-<xsd:annotation>
-<xsd:documentation>
-
-The assembly-descriptorType defines
-application-assembly information.
-
-The application-assembly information consists of the
-following parts: the definition of security roles, the
-definition of method permissions, the definition of
-transaction attributes for enterprise beans with
-container-managed transaction demarcation and a list of
-methods to be excluded from being invoked.
-
-All the parts are optional in the sense that they are
-omitted if the lists represented by them are empty.
-
-Providing an assembly-descriptor in the deployment
-descriptor is optional for the ejb-jar file producer.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="security-role"
-                     type="j2ee:security-roleType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="method-permission"
-                     type="j2ee:method-permissionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="container-transaction"
-                     type="j2ee:container-transactionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination"
-                     type="j2ee:message-destinationType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="exclude-list"
-                     type="j2ee:exclude-listType"
-                     minOccurs="0"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="cmp-fieldType">
-<xsd:annotation>
-<xsd:documentation>
-
-The cmp-fieldType describes a container-managed field. The
-cmp-fieldType contains an optional description of the field,
-and the name of the field.
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="field-name"
-                     type="j2ee:java-identifierType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The field-name element specifies the name of a
-        container managed field.
-
-        The name of the cmp-field of an entity bean with
-        cmp-version 2.x must begin with a lowercase
-        letter. This field is accessed by methods whose
-        names consists of the name of the field specified by
-        field-name in which the first letter is uppercased,
-        prefixed by "get" or "set".
-
-        The name of the cmp-field of an entity bean with
-        cmp-version 1.x must denote a public field of the
-        enterprise bean class or one of its superclasses.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="cmp-versionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The cmp-versionType specifies the version of an entity bean
-with container-managed persistence. It is used by
-cmp-version elements.
-
-The value must be one of the two following:
-
-    1.x
-    2.x
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="1.x"/>
-        <xsd:enumeration value="2.x"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="cmr-field-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The cmr-field-type element specifies the class of a
-collection-valued logical relationship field in the entity
-bean class. The value of an element using cmr-field-typeType
-must be either: java.util.Collection or java.util.Set.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="java.util.Collection"/>
-        <xsd:enumeration value="java.util.Set"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="cmr-fieldType">
-<xsd:annotation>
-<xsd:documentation>
-
-The cmr-fieldType describes the bean provider's view of
-a relationship. It consists of an optional description, and
-the name and the class type of a field in the source of a
-role of a relationship. The cmr-field-name element
-corresponds to the name used for the get and set accessor
-methods for the relationship. The cmr-field-type element is
-used only for collection-valued cmr-fields. It specifies the
-type of the collection that is used.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="cmr-field-name"
-                     type="j2ee:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The cmr-field-name element specifies the name of a
-        logical relationship field in the entity bean
-        class. The name of the cmr-field must begin with a
-        lowercase letter. This field is accessed by methods
-        whose names consist of the name of the field
-        specified by cmr-field-name in which the first
-        letter is uppercased, prefixed by "get" or "set".
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="cmr-field-type"
-                     type="j2ee:cmr-field-typeType"
-                     minOccurs="0"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="container-transactionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The container-transactionType specifies how the container
-must manage transaction scopes for the enterprise bean's
-method invocations. It defines an optional description, a
-list of method elements, and a transaction attribute. The
-transaction attribute is to be applied to all the specified
-methods.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="method"
-                     type="j2ee:methodType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="trans-attribute"
-                     type="j2ee:trans-attributeType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="ejb-classType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-classType contains the fully-qualified name of the
-enterprise bean's class. It is used by ejb-class elements.
-
-Example:
-
-    <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="ejb-jarType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-jarType defines the root element of the EJB
-deployment descriptor. It contains
-
-    - an optional description of the ejb-jar file
-    - an optional display name
-    - an optional icon that contains a small and a large
-      icon file name
-    - mandatory structural information about all included
-      enterprise beans
-    - a descriptor for container managed relationships,
-      if any
-    - an optional application-assembly descriptor
-    - an optional name of an ejb-client-jar file for the
-      ejb-jar.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="enterprise-beans"
-                     type="j2ee:enterprise-beansType"/>
-        <xsd:element name="relationships"
-                     type="j2ee:relationshipsType"
-                     minOccurs="0">
-        <xsd:unique name="relationship-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-relation-name contains the name of a
-        relation. The name must be unique within
-        relationships.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-relation"/>
-            <xsd:field    xpath="j2ee:ejb-relation-name"/>
-        </xsd:unique>
-        </xsd:element>
-        <xsd:element name="assembly-descriptor"
-                     type="j2ee:assembly-descriptorType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        Providing an assembly-descriptor in the deployment
-        descriptor is optional for the ejb-jar file
-        producer.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="ejb-client-jar"
-                     type="j2ee:pathType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The optional ejb-client-jar element specifies a JAR
-        file that contains the class files necessary for a
-        client program to access the
-        enterprise beans in the ejb-jar file.
-
-        Example:
-
-            <ejb-client-jar>employee_service_client.jar
-            </ejb-client-jar>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-
-    </xsd:sequence>
-    <xsd:attribute name="version"
-                   type="j2ee:dewey-versionType"
-                   fixed="2.1"
-                   use="required">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The version specifies the version of the
-    EJB specification that the instance document must
-    comply with. This information enables deployment tools
-    to validate a particular EJB Deployment
-    Descriptor with respect to a specific version of the EJB
-    schema.
-
-    </xsd:documentation>
-    </xsd:annotation>
-    </xsd:attribute>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="ejb-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-nameType specifies an enterprise bean's name. It is
-used by ejb-name elements. This name is assigned by the
-ejb-jar file producer to name the enterprise bean in the
-ejb-jar file's deployment descriptor. The name must be
-unique among the names of the enterprise beans in the same
-ejb-jar file.
-
-There is no architected relationship between the used
-ejb-name in the deployment descriptor and the JNDI name that
-the Deployer will assign to the enterprise bean's home.
-
-The name for an entity bean must conform to the lexical
-rules for an NMTOKEN.
-
-Example:
-
-<ejb-name>EmployeeService</ejb-name>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="xsd:NMTOKEN">
-        <xsd:whiteSpace value="collapse"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="ejb-relationType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-relationType describes a relationship between two
-entity beans with container-managed persistence.  It is used
-by ejb-relation elements. It contains a description; an
-optional ejb-relation-name element; and exactly two
-relationship role declarations, defined by the
-ejb-relationship-role elements. The name of the
-relationship, if specified, is unique within the ejb-jar
-file.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-relation-name"
-                     type="j2ee:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-relation-name element provides a unique name
-        within the ejb-jar file for a relationship.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="ejb-relationship-role"
-                     type="j2ee:ejb-relationship-roleType"/>
-        <xsd:element name="ejb-relationship-role"
-                     type="j2ee:ejb-relationship-roleType"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="ejb-relationship-roleType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-relationship-roleType describes a role within a
-relationship. There are two roles in each relationship.
-
-The ejb-relationship-roleType contains an optional
-description; an optional name for the relationship role; a
-specification of the multiplicity of the role; an optional
-specification of cascade-delete functionality for the role;
-the role source; and a declaration of the cmr-field, if any,
-by means of which the other side of the relationship is
-accessed from the perspective of the role source.
-
-The multiplicity and role-source element are mandatory.
-
-The relationship-role-source element designates an entity
-bean by means of an ejb-name element. For bidirectional
-relationships, both roles of a relationship must declare a
-relationship-role-source element that specifies a cmr-field
-in terms of which the relationship is accessed. The lack of
-a cmr-field element in an ejb-relationship-role specifies
-that the relationship is unidirectional in navigability and
-the entity bean that participates in the relationship is
-"not aware" of the relationship.
-
-Example:
-
-<ejb-relation>
-    <ejb-relation-name>Product-LineItem</ejb-relation-name>
-    <ejb-relationship-role>
-        <ejb-relationship-role-name>product-has-lineitems
-        </ejb-relationship-role-name>
-        <multiplicity>One</multiplicity>
-        <relationship-role-source>
-        <ejb-name>ProductEJB</ejb-name>
-        </relationship-role-source>
-     </ejb-relationship-role>
-</ejb-relation>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-relationship-role-name"
-                     type="j2ee:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-relationship-role-name element defines a
-        name for a role that is unique within an
-        ejb-relation. Different relationships can use the
-        same name for a role.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="multiplicity"
-                     type="j2ee:multiplicityType"/>
-        <xsd:element name="cascade-delete"
-                     type="j2ee:emptyType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The cascade-delete element specifies that, within a
-        particular relationship, the lifetime of one or more
-        entity beans is dependent upon the lifetime of
-        another entity bean. The cascade-delete element can
-        only be specified for an ejb-relationship-role
-        element contained in an ejb-relation element in
-        which the other ejb-relationship-role
-        element specifies a multiplicity of One.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="relationship-role-source"
-                     type="j2ee:relationship-role-sourceType"/>
-        <xsd:element name="cmr-field"
-                     type="j2ee:cmr-fieldType"
-                     minOccurs="0"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="enterprise-beansType">
-<xsd:annotation>
-<xsd:documentation>
-
-The enterprise-beansType declares one or more enterprise
-beans. Each bean can be a session, entity or message-driven
-bean.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:choice maxOccurs="unbounded">
-        <xsd:element name="session"
-                     type="j2ee:session-beanType">
-        <xsd:unique name="session-ejb-local-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of
-        an EJB reference. The EJB reference is an entry in
-        the component's environment and is relative to the
-        java:comp/env context.  The name must be unique within
-        the component.
-
-        It is recommended that name be prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-local-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="session-ejb-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of an EJB
-        reference. The EJB reference is an entry in the
-        component's environment and is relative to the
-        java:comp/env context. The name must be unique
-        within the component.
-
-        It is recommended that name is prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="session-resource-env-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The resource-env-ref-name element specifies the name
-        of a resource environment reference; its value is
-        the environment entry name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-env-ref"/>
-            <xsd:field    xpath="j2ee:resource-env-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="session-message-destination-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The message-destination-ref-name element specifies the name
-        of a message destination reference; its value is
-        the message destination reference name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:message-destination-ref"/>
-            <xsd:field    xpath="j2ee:message-destination-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="session-res-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The res-ref-name element specifies the name of a
-        resource manager connection factory reference.  The name
-        is a JNDI name relative to the java:comp/env context.
-        The name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-ref"/>
-            <xsd:field    xpath="j2ee:res-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="session-env-entry-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The env-entry-name element contains the name of a
-        component's environment entry.  The name is a JNDI
-        name relative to the java:comp/env context.  The
-        name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:env-entry"/>
-            <xsd:field    xpath="j2ee:env-entry-name"/>
-        </xsd:unique>
-        </xsd:element>
-
-        <xsd:element name="entity"
-                     type="j2ee:entity-beanType">
-        <xsd:unique name="entity-ejb-local-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of
-        an EJB reference. The EJB reference is an entry in
-        the component's environment and is relative to the
-        java:comp/env context.  The name must be unique within
-        the component.
-
-        It is recommended that name be prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-local-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="entity-ejb-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of an EJB
-        reference. The EJB reference is an entry in the
-        component's environment and is relative to the
-        java:comp/env context. The name must be unique
-        within the component.
-
-        It is recommended that name is prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="entity-resource-env-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The resource-env-ref-name element specifies the name
-        of a resource environment reference; its value is
-        the environment entry name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-env-ref"/>
-            <xsd:field    xpath="j2ee:resource-env-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="entity-message-destination-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The message-destination-ref-name element specifies the name
-        of a message destination reference; its value is
-        the message destination reference name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:message-destination-ref"/>
-            <xsd:field    xpath="j2ee:message-destination-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="entity-res-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The res-ref-name element specifies the name of a
-        resource manager connection factory reference.  The name
-        is a JNDI name relative to the java:comp/env context.
-        The name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-ref"/>
-            <xsd:field    xpath="j2ee:res-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="entity-env-entry-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The env-entry-name element contains the name of a
-        component's environment entry.  The name is a JNDI
-        name relative to the java:comp/env context.  The
-        name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:env-entry"/>
-            <xsd:field    xpath="j2ee:env-entry-name"/>
-        </xsd:unique>
-        </xsd:element>
-
-        <xsd:element name="message-driven"
-                     type="j2ee:message-driven-beanType">
-        <xsd:unique name="messaged-ejb-local-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of
-        an EJB reference. The EJB reference is an entry in
-        the component's environment and is relative to the
-        java:comp/env context.  The name must be unique within
-        the component.
-
-        It is recommended that name be prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-local-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="messaged-ejb-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-ref-name element contains the name of an EJB
-        reference. The EJB reference is an entry in the
-        component's environment and is relative to the
-        java:comp/env context. The name must be unique
-        within the component.
-
-        It is recommended that name is prefixed with "ejb/".
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:ejb-ref"/>
-            <xsd:field    xpath="j2ee:ejb-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="messaged-resource-env-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The resource-env-ref-name element specifies the name
-        of a resource environment reference; its value is
-        the environment entry name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-env-ref"/>
-            <xsd:field    xpath="j2ee:resource-env-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="messaged-message-destination-ref-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The message-destination-ref-name element specifies the name
-        of a message destination reference; its value is
-        the message destination reference name used in the component
-        code. The name is a JNDI name relative to the
-        java:comp/env context and must be unique within an
-        component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:message-destination-ref"/>
-            <xsd:field    xpath="j2ee:message-destination-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="messaged-res-ref-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The res-ref-name element specifies the name of a
-        resource manager connection factory reference.  The name
-        is a JNDI name relative to the java:comp/env context.
-        The name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:resource-ref"/>
-            <xsd:field    xpath="j2ee:res-ref-name"/>
-        </xsd:unique>
-
-        <xsd:unique name="messaged-env-entry-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The env-entry-name element contains the name of a
-        component's environment entry.  The name is a JNDI
-        name relative to the java:comp/env context.  The
-        name must be unique within an component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector xpath="j2ee:env-entry"/>
-            <xsd:field    xpath="j2ee:env-entry-name"/>
-        </xsd:unique>
-        </xsd:element>
-
-    </xsd:choice>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="entity-beanType">
-<xsd:annotation>
-<xsd:documentation>
-
-The entity-beanType declares an entity bean. The declaration
-consists of:
-
-    - an optional description
-    - an optional display name
-    - an optional icon element that contains a small and a large
-      icon file name
-    - a unique name assigned to the enterprise bean
-      in the deployment descriptor
-    - the names of the entity bean's remote home
-      and remote interfaces, if any
-    - the names of the entity bean's local home and local
-      interfaces, if any
-    - the entity bean's implementation class
-    - the entity bean's persistence management type
-    - the entity bean's primary key class name
-    - an indication of the entity bean's reentrancy
-    - an optional specification of the
-      entity bean's cmp-version
-    - an optional specification of the entity bean's
-      abstract schema name
-    - an optional list of container-managed fields
-    - an optional specification of the primary key
-      field
-    - an optional declaration of the bean's environment
-      entries
-    - an optional declaration of the bean's EJB
-      references
-    - an optional declaration of the bean's local
-      EJB references
-    - an optional declaration of the bean's web
-      service references
-    - an optional declaration of the security role
-      references
-    - an optional declaration of the security identity
-      to be used for the execution of the bean's methods
-    - an optional declaration of the bean's
-      resource manager connection factory references
-    - an optional declaration of the bean's
-      resource environment references
-    - an optional declaration of the bean's message
-      destination references
-    - an optional set of query declarations
-      for finder and select methods for an entity
-      bean with cmp-version 2.x.
-    - an optional set of deployment-extension
-      declarations.
-
-The optional abstract-schema-name element must be specified
-for an entity bean with container-managed persistence and
-cmp-version 2.x.
-
-The optional primkey-field may be present in the descriptor
-if the entity's persistence-type is Container.
-
-The optional cmp-version element may be present in the
-descriptor if the entity's persistence-type is Container. If
-the persistence-type is Container and the cmp-version
-element is not specified, its value defaults to 2.x.
-
-The optional home and remote elements must be specified if
-the entity bean cmp-version is 1.x.
-
-The optional home and remote elements must be specified if
-the entity bean has a remote home and remote interface.
-
-The optional local-home and local elements must be specified
-if the entity bean has a local home and local interface.
-
-Either both the local-home and the local elements or both
-the home and the remote elements must be specified.
-
-The optional query elements must be present if the
-persistence-type is Container and the cmp-version is 2.x and
-query methods other than findByPrimaryKey have been defined
-for the entity bean.
-
-The other elements that are optional are "optional" in the
-sense that they are omitted if the lists represented by them
-are empty.
-
-At least one cmp-field element must be present in the
-descriptor if the entity's persistence-type is Container and
-the cmp-version is 1.x, and none must not be present if the
-entity's persistence-type is Bean.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-name"
-                     type="j2ee:ejb-nameType"/>
-        <xsd:element name="home"
-                     type="j2ee:homeType"
-                     minOccurs="0"/>
-        <xsd:element name="remote"
-                     type="j2ee:remoteType"
-                     minOccurs="0"/>
-        <xsd:element name="local-home"
-                     type="j2ee:local-homeType"
-                     minOccurs="0"/>
-        <xsd:element name="local"
-                     type="j2ee:localType"
-                     minOccurs="0"/>
-        <xsd:element name="ejb-class"
-                     type="j2ee:ejb-classType"/>
-        <xsd:element name="persistence-type"
-                     type="j2ee:persistence-typeType"/>
-        <xsd:element name="prim-key-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The prim-key-class element contains the
-        fully-qualified name of an
-        entity bean's primary key class.
-
-        If the definition of the primary key class is
-        deferred to deployment time, the prim-key-class
-        element should specify java.lang.Object.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="reentrant"
-                     type="j2ee:true-falseType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The reentrant element specifies whether an entity
-        bean is reentrant or not.
-
-        The reentrant element must be one of the two
-        following: true or false
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="cmp-version"
-                     type="j2ee:cmp-versionType"
-                     minOccurs="0"/>
-        <xsd:element name="abstract-schema-name"
-                     type="j2ee:java-identifierType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The abstract-schema-name element specifies the name
-        of the abstract schema type of an entity bean with
-        cmp-version 2.x. It is used in EJB QL queries.
-
-        For example, the abstract-schema-name for an entity
-        bean whose local interface is
-        com.acme.commerce.Order might be Order.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="cmp-field"
-                     type="j2ee:cmp-fieldType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="primkey-field"
-                     type="j2ee:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The primkey-field element is used to specify the
-        name of the primary key field for an entity with
-        container-managed persistence.
-
-        The primkey-field must be one of the fields declared
-        in the cmp-field element, and the type of the field
-        must be the same as the primary key type.
-
-        The primkey-field element is not used if the primary
-        key maps to multiple container-managed fields
-        (i.e. the key is a compound key). In this case, the
-        fields of the primary key class must be public, and
-        their names must correspond to the field names of
-        the entity bean class that comprise the key.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="env-entry"
-                     type="j2ee:env-entryType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref"
-                     type="j2ee:ejb-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-local-ref"
-                     type="j2ee:ejb-local-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="service-ref"
-                     type="j2ee:service-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="security-role-ref"
-                     type="j2ee:security-role-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="security-identity"
-                     type="j2ee:security-identityType"
-                     minOccurs="0"/>
-        <xsd:element name="resource-ref"
-                     type="j2ee:resource-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="resource-env-ref"
-                     type="j2ee:resource-env-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref"
-                     type="j2ee:message-destination-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="query"
-                     type="j2ee:queryType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="exclude-listType">
-<xsd:annotation>
-<xsd:documentation>
-
-The exclude-listType specifies one or more methods which
-the Assembler marks to be uncallable.
-
-If the method permission relation contains methods that are
-in the exclude list, the Deployer should consider those
-methods to be uncallable.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="method"
-                     type="j2ee:methodType"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="java-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-This is a generic type that designates a Java primitive
-type or a fully qualified name of a Java interface/type.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:pattern value="[^\p{Z}]*"/>
-    </xsd:restriction>
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="message-driven-beanType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-driven element declares a message-driven
-bean. The declaration consists of:
-
-    - an optional description
-    - an optional display name
-    - an optional icon element that contains a small and a large
-      icon file name.
-    - a name assigned to the enterprise bean in
-      the deployment descriptor
-    - the message-driven bean's implementation class
-    - an optional declaration of the bean's messaging
-      type
-    - the message-driven bean's transaction management type
-    - an optional declaration of the bean's
-      message-destination-type
-    - an optional declaration of the bean's
-      message-destination-link
-    - an optional declaration of the message-driven bean's
-      activation configuration properties
-    - an optional declaration of the bean's environment
-      entries
-    - an optional declaration of the bean's EJB references
-    - an optional declaration of the bean's local EJB
-      references
-    - an optional declaration of the bean's web service
-      references
-    - an optional declaration of the security
-      identity to be used for the execution of the bean's
-      methods
-    - an optional declaration of the bean's
-      resource manager connection factory
-      references
-    - an optional declaration of the bean's resource
-      environment references.
-    - an optional declaration of the bean's message
-      destination references
-    - an optional declaration of deployment extensions
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"/>
-        <xsd:element name="ejb-name"
-                     type="j2ee:ejb-nameType"/>
-        <xsd:element name="ejb-class"
-                     type="j2ee:ejb-classType"/>
-        <xsd:element name="messaging-type"
-                     type="j2ee:fully-qualified-classType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The messaging-type element specifies the message
-        listener interface of the message-driven bean. If
-        the messaging-type element is not specified, it is
-        assumed to be javax.jms.MessageListener.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="transaction-type"
-                     type="j2ee:transaction-typeType"/>
-        <xsd:element name="message-destination-type"
-                     type="j2ee:message-destination-typeType"
-                     minOccurs="0"/>
-        <xsd:element name="message-destination-link"
-                     type="j2ee:message-destination-linkType"
-                     minOccurs="0"/>
-        <xsd:element name="activation-config"
-                     type="j2ee:activation-configType"
-                     minOccurs="0"/>
-        <xsd:element name="env-entry"
-                     type="j2ee:env-entryType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref"
-                     type="j2ee:ejb-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-local-ref"
-                     type="j2ee:ejb-local-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="service-ref"
-                     type="j2ee:service-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="security-identity"
-                     type="j2ee:security-identityType"
-                     minOccurs="0"/>
-        <xsd:element name="resource-ref"
-                     type="j2ee:resource-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="resource-env-ref"
-                     type="j2ee:resource-env-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref"
-                     type="j2ee:message-destination-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="method-intfType">
-
-<xsd:annotation>
-<xsd:documentation>
-
-The method-intf element allows a method element to
-differentiate between the methods with the same name and
-signature that are multiply defined across the home and
-component interfaces (e.g, in both an enterprise bean's
-remote and local interfaces or in both an enterprise bean's
-home and remote interfaces, etc.); the component and web
-service endpoint interfaces, and so on.
-
-The method-intf element must be one of the following:
-
-    Home
-    Remote
-    LocalHome
-    Local
-    ServiceEndpoint
-
-</xsd:documentation>
-</xsd:annotation>
-
-  <xsd:restriction base="j2ee:string">
-    <xsd:enumeration value="Home"/>
-    <xsd:enumeration value="Remote"/>
-    <xsd:enumeration value="LocalHome"/>
-    <xsd:enumeration value="Local"/>
-    <xsd:enumeration value="ServiceEndpoint"/>
-  </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="method-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The method-nameType contains a name of an enterprise
-bean method or the asterisk (*) character. The asterisk is
-used when the element denotes all the methods of an
-enterprise bean's client view interfaces.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="method-paramsType">
-<xsd:annotation>
-<xsd:documentation>
-
-The method-paramsType defines a list of the
-fully-qualified Java type names of the method parameters.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="method-param"
-                     type="j2ee:java-typeType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The method-param element contains a primitive
-        or a fully-qualified Java type name of a method
-        parameter.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="method-permissionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The method-permissionType specifies that one or more
-security roles are allowed to invoke one or more enterprise
-bean methods. The method-permissionType consists of an
-optional description, a list of security role names or an
-indicator to state that the method is unchecked for
-authorization, and a list of method elements.
-
-The security roles used in the method-permissionType
-must be defined in the security-role elements of the
-deployment descriptor, and the methods must be methods
-defined in the enterprise bean's home, component and/or web
-service endpoint interfaces.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:choice>
-            <xsd:element name="role-name"
-                         type="j2ee:role-nameType"
-                         maxOccurs="unbounded"/>
-            <xsd:element name="unchecked"
-                         type="j2ee:emptyType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The unchecked element specifies that a method is
-            not checked for authorization by the container
-            prior to invocation of the method.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-        </xsd:choice>
-        <xsd:element name="method"
-                     type="j2ee:methodType"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="methodType">
-<xsd:annotation>
-<xsd:documentation>
-
-The methodType is used to denote a method of an enterprise
-bean's home, component, and/or web service endpoint
-interface, or, in the case of a message-driven bean, the
-bean's message listener method, or a set of such
-methods. The ejb-name element must be the name of one of the
-enterprise beans declared in the deployment descriptor; the
-optional method-intf element allows to distinguish between a
-method with the same signature that is multiply defined
-across the home, component, and/or web service endpoint
-interfaces; the method-name element specifies the method
-name; and the optional method-params elements identify a
-single method among multiple methods with an overloaded
-method name.
-
-There are three possible styles of using methodType element
-within a method element:
-
-1.
-<method>
-    <ejb-name>EJBNAME</ejb-name>
-    <method-name>*</method-name>
-</method>
-
-   This style is used to refer to all the methods of the
-   specified enterprise bean's home, component, and/or web
-   service endpoint interfaces.
-
-2.
-<method>
-    <ejb-name>EJBNAME</ejb-name>
-    <method-name>METHOD</method-name>
-</method>>
-
-   This style is used to refer to the specified method of
-   the specified enterprise bean. If there are multiple
-   methods with the same overloaded name, the element of
-   this style refers to all the methods with the overloaded
-   name.
-
-3.
-<method>
-    <ejb-name>EJBNAME</ejb-name>
-    <method-name>METHOD</method-name>
-    <method-params>
-        <method-param>PARAM-1</method-param>
-        <method-param>PARAM-2</method-param>
-        ...
-        <method-param>PARAM-n</method-param>
-    </method-params>
-</method>
-
-   This style is used to refer to a single method within a
-   set of methods with an overloaded name. PARAM-1 through
-   PARAM-n are the fully-qualified Java types of the
-   method's input parameters (if the method has no input
-   arguments, the method-params element contains no
-   method-param elements). Arrays are specified by the
-   array element's type, followed by one or more pair of
-   square brackets (e.g. int[][]). If there are multiple
-   methods with the same overloaded name, this style refers
-   to all of the overloaded methods.
-
-Examples:
-
-Style 1: The following method element refers to all the
-methods of the EmployeeService bean's home, component,
-and/or web service endpoint interfaces:
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-name>*</method-name>
-</method>
-
-Style 2: The following method element refers to all the
-create methods of the EmployeeService bean's home
-interface(s).
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-name>create</method-name>
-</method>
-
-Style 3: The following method element refers to the
-create(String firstName, String LastName) method of the
-EmployeeService bean's home interface(s).
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-name>create</method-name>
-    <method-params>
-        <method-param>java.lang.String</method-param>
-        <method-param>java.lang.String</method-param>
-    </method-params>
-</method>
-
-The following example illustrates a Style 3 element with
-more complex parameter types. The method
-foobar(char s, int i, int[] iar, mypackage.MyClass mycl,
-mypackage.MyClass[][] myclaar) would be specified as:
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-name>foobar</method-name>
-    <method-params>
-        <method-param>char</method-param>
-        <method-param>int</method-param>
-        <method-param>int[]</method-param>
-        <method-param>mypackage.MyClass</method-param>
-        <method-param>mypackage.MyClass[][]</method-param>
-    </method-params>
-</method>
-
-The optional method-intf element can be used when it becomes
-necessary to differentiate between a method that is multiply
-defined across the enterprise bean's home, component, and/or
-web service endpoint interfaces with the same name and
-signature.
-
-For example, the method element
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-intf>Remote</method-intf>
-    <method-name>create</method-name>
-    <method-params>
-        <method-param>java.lang.String</method-param>
-        <method-param>java.lang.String</method-param>
-    </method-params>
-</method>
-
-can be used to differentiate the create(String, String)
-method defined in the remote interface from the
-create(String, String) method defined in the remote home
-interface, which would be defined as
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-intf>Home</method-intf>
-    <method-name>create</method-name>
-    <method-params>
-        <method-param>java.lang.String</method-param>
-        <method-param>java.lang.String</method-param>
-    </method-params>
-</method>
-
-and the create method that is defined in the local home
-interface which would be defined as
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-intf>LocalHome</method-intf>
-    <method-name>create</method-name>
-    <method-params>
-        <method-param>java.lang.String</method-param>
-        <method-param>java.lang.String</method-param>
-    </method-params>
-</method>
-
-The method-intf element can be used with all th ree Styles
-of the method element usage. For example, the following
-method element example could be used to refer to all the
-methods of the EmployeeService bean's remote home interface.
-
-<method>
-    <ejb-name>EmployeeService</ejb-name>
-    <method-intf>Home</method-intf>
-    <method-name>*</method-name>
-</method>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="ejb-name"
-                     type="j2ee:ejb-nameType"/>
-        <xsd:element name="method-intf"
-                     type="j2ee:method-intfType"
-                     minOccurs="0">
-        </xsd:element>
-        <xsd:element name="method-name"
-                     type="j2ee:method-nameType"/>
-        <xsd:element name="method-params"
-                     type="j2ee:method-paramsType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="multiplicityType">
-<xsd:annotation>
-<xsd:documentation>
-
-The multiplicityType describes the multiplicity of the
-role that participates in a relation.
-
-The value must be one of the two following:
-
-    One
-    Many
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="One"/>
-        <xsd:enumeration value="Many"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="persistence-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The persistence-typeType specifies an entity bean's persistence
-management type.
-
-The persistence-type element must be one of the two following:
-
-    Bean
-    Container
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Bean"/>
-        <xsd:enumeration value="Container"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="query-methodType">
-<xsd:annotation>
-<xsd:documentation>
-
-The query-method specifies the method for a finder or select
-query.
-
-The method-name element specifies the name of a finder or select
-method in the entity bean's implementation class.
-
-Each method-param must be defined for a query-method using the
-method-params element.
-
-It is used by the query-method element.
-
-Example:
-
-<query>
-    <description>Method finds large orders</description>
-    <query-method>
-        <method-name>findLargeOrders</method-name>
-        <method-params></method-params>
-    </query-method>
-    <ejb-ql>SELECT OBJECT(o) FROM Order o WHERE o.amount &gt; 1000</ejb-ql>
-</query>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="method-name"
-                     type="j2ee:method-nameType"/>
-        <xsd:element name="method-params"
-                     type="j2ee:method-paramsType"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="queryType">
-<xsd:annotation>
-<xsd:documentation>
-
-The queryType defines a finder or select
-query. It contains
-    - an optional description of the query
-    - the specification of the finder or select
-      method it is used by
-        - an optional specification of the result type
-          mapping, if the query is for a select method
-          and entity objects are returned.
-        - the EJB QL query string that defines the query.
-    - an optional declaration of deployment extensions
-
-Queries that are expressible in EJB QL must use the ejb-ql
-element to specify the query. If a query is not expressible
-in EJB QL, the description element should be used to
-describe the semantics of the query and the ejb-ql element
-should be empty.
-
-The result-type-mapping is an optional element. It can only
-be present if the query-method specifies a select method
-that returns entity objects.  The default value for the
-result-type-mapping element is "Local".
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType" minOccurs="0"/>
-        <xsd:element name="query-method"
-                     type="j2ee:query-methodType"/>
-        <xsd:element name="result-type-mapping"
-                     type="j2ee:result-type-mappingType"
-                     minOccurs="0"/>
-        <xsd:element name="ejb-ql"
-                     type="xsd:string"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="relationship-role-sourceType">
-<xsd:annotation>
-<xsd:documentation>
-
-The relationship-role-sourceType designates the source of a
-role that participates in a relationship. A
-relationship-role-sourceType is used by
-relationship-role-source elements to uniquely identify an
-entity bean.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-name"
-                     type="j2ee:ejb-nameType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="relationshipsType">
-<xsd:annotation>
-<xsd:documentation>
-
-The relationshipsType describes the relationships in
-which entity beans with container-managed persistence
-participate. The relationshipsType contains an optional
-description; and a list of ejb-relation elements, which
-specify the container managed relationships.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-relation"
-                     type="j2ee:ejb-relationType"
-                     maxOccurs="unbounded">
-
-        <xsd:unique name="role-name-uniqueness">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The ejb-relationship-role-name contains the name of a
-        relationship role. The name must be unique within
-        a relationship, but can be reused in different
-        relationships.
-
-        </xsd:documentation>
-        </xsd:annotation>
-            <xsd:selector
-                xpath=".//j2ee:ejb-relationship-role-name"/>
-            <xsd:field
-                xpath="."/>
-        </xsd:unique>
-        </xsd:element>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="result-type-mappingType">
-<xsd:annotation>
-<xsd:documentation>
-
-The result-type-mappingType is used in the query element to
-specify whether an abstract schema type returned by a query
-for a select method is to be mapped to an EJBLocalObject or
-EJBObject type.
-
-The value must be one of the following:
-
-    Local
-    Remote
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Local"/>
-        <xsd:enumeration value="Remote"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="security-identityType">
-<xsd:annotation>
-<xsd:documentation>
-
-The security-identityType specifies whether the caller's
-security identity is to be used for the execution of the
-methods of the enterprise bean or whether a specific run-as
-identity is to be used. It contains an optional description
-and a specification of the security identity to be used.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:choice>
-            <xsd:element name="use-caller-identity"
-                         type="j2ee:emptyType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The use-caller-identity element specifies that
-            the caller's security identity be used as the
-            security identity for the execution of the
-            enterprise bean's methods.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="run-as"
-                         type="j2ee:run-asType"/>
-        </xsd:choice>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="service-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-THIS IS A PLACEHOLDER TYPE which will
-be REPLACED. It will be defined based on
-definition to be supplied by JSR109.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:simpleContent>
-        <xsd:extension base="xsd:string">
-        </xsd:extension>
-    </xsd:simpleContent>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="session-beanType">
-<xsd:annotation>
-<xsd:documentation>
-
-The session-beanType declares an session bean. The
-declaration consists of:
-
-    - an optional description
-    - an optional display name
-    - an optional icon element that contains a small and a large
-      icon file name
-    - a name assigned to the enterprise bean
-      in the deployment description
-    - the names of the session bean's remote home and
-      remote interfaces, if any
-    - the names of the session bean's local home and
-      local interfaces, if any
-    - the name of the session bean's web service endpoint
-      interface, if any
-    - the session bean's implementation class
-    - the session bean's state management type
-    - the session bean's transaction management type
-    - an optional declaration of the bean's
-      environment entries
-    - an optional declaration of the bean's EJB references
-    - an optional declaration of the bean's local
-      EJB references
-    - an optional declaration of the bean's web
-      service references
-    - an optional declaration of the security role
-      references
-    - an optional declaration of the security identity
-      to be used for the execution of the bean's methods
-    - an optional declaration of the bean's resource
-      manager connection factory references
-    - an optional declaration of the bean's resource
-      environment references.
-    - an optional declaration of the bean's message
-      destination references
-    - an optional declaration deployment extensions
-
-The elements that are optional are "optional" in the sense
-that they are omitted when if lists represented by them are
-empty.
-
-Either both the local-home and the local elements or both
-the home and the remote elements must be specified for the
-session bean.
-
-The service-endpoint element may only be specified if the
-bean is a stateless session bean.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-name"
-                     type="j2ee:ejb-nameType"/>
-        <xsd:element name="home"
-                     type="j2ee:homeType"
-                     minOccurs="0"/>
-        <xsd:element name="remote"
-                     type="j2ee:remoteType"
-                     minOccurs="0"/>
-        <xsd:element name="local-home"
-                     type="j2ee:local-homeType"
-                     minOccurs="0"/>
-        <xsd:element name="local"
-                     type="j2ee:localType"
-                     minOccurs="0"/>
-        <xsd:element name="service-endpoint"
-                     type="j2ee:fully-qualified-classType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The service-endpoint element contains the
-        fully-qualified name of the enterprise bean's web
-        service endpoint interface. The service-endpoint
-        element may only be specified for a stateless
-        session bean. The specified interface must be a
-        valid JAX-RPC service endpoint interface.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="ejb-class"
-                     type="j2ee:ejb-classType"/>
-        <xsd:element name="session-type"
-                     type="j2ee:session-typeType"/>
-        <xsd:element name="transaction-type"
-                     type="j2ee:transaction-typeType"/>
-        <xsd:element name="env-entry"
-                     type="j2ee:env-entryType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref"
-                     type="j2ee:ejb-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-local-ref"
-                     type="j2ee:ejb-local-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="service-ref"
-                     type="j2ee:service-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="security-role-ref"
-                     type="j2ee:security-role-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="security-identity"
-                     type="j2ee:security-identityType"
-                     minOccurs="0"/>
-        <xsd:element name="resource-ref"
-                     type="j2ee:resource-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="resource-env-ref"
-                     type="j2ee:resource-env-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref"
-                     type="j2ee:message-destination-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="session-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The session-typeType describes whether the session bean is a
-stateful session or stateless session. It is used by
-session-type elements.
-
-The value must be one of the two following:
-
-    Stateful
-    Stateless
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Stateful"/>
-        <xsd:enumeration value="Stateless"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="trans-attributeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The trans-attributeType specifies how the container must
-manage the transaction boundaries when delegating a method
-invocation to an enterprise bean's business method.
-
-The value must be one of the following:
-
-    NotSupported
-    Supports
-    Required
-    RequiresNew
-    Mandatory
-    Never
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="NotSupported"/>
-        <xsd:enumeration value="Supports"/>
-        <xsd:enumeration value="Required"/>
-        <xsd:enumeration value="RequiresNew"/>
-        <xsd:enumeration value="Mandatory"/>
-        <xsd:enumeration value="Never"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="transaction-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The transaction-typeType specifies an enterprise bean's
-transaction management type.
-
-The transaction-type must be one of the two following:
-
-    Bean
-    Container
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Bean"/>
-        <xsd:enumeration value="Container"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/v1/xkit/schemas/j2ee/exported_build.xml b/v1/xkit/schemas/j2ee/exported_build.xml
deleted file mode 100644
index 6b7a38c..0000000
--- a/v1/xkit/schemas/j2ee/exported_build.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<project name="Schema project build" default="build">
-    
-  <property environment="env" />
-  <property name="typesystemname" value="Schema" />
-  <property name="class.path" value="C:/perforce/v2/bea/jdk141_02/jre/lib/rt.jar;C:/perforce/v2/bea/jdk141_02/lib/tools.jar;C:/perforce/v2/bea/weblogic81b/server/lib/knex.jar;C:/perforce/v2/bea/weblogic81b/common/lib/log4j.jar;C:/perforce/v2/bea/weblogic81b/server/lib/debugging.jar;C:/perforce/v2/bea/weblogic81b/server/lib/javelin.jar;C:/perforce/v2/bea/weblogic81b/server/lib/wlw-lang.jar;C:/perforce/v2/bea/weblogic81b/server/lib/weblogic.jar;C:/perforce/v2/bea/weblogic81b/common/eval/pointbase/lib/pbserver44.jar;C:/perforce/v2/bea/weblogic81b/common/eval/pointbase/lib/pbclient44.jar;C:/perforce/v2/bea/weblogic81b/server/lib/webservices.jar;C:/perforce/v2/bea/weblogic81b/server/lib/webserviceclient.jar;C:/perforce/v2/bea/weblogic81b/server/lib/webserviceclient+ssl.jar;C:/perforce/v2/bea/weblogic81b/server/lib/wli.jar;C:/perforce/v2/bea/weblogic81b/server/lib/xbean.jar;C:/perforce/v2/bea/weblogic81b/server/lib/wlxbean.jar;C:/perforce/v2/bea/weblogic81b/server/lib/xqrl.jar;C:/perforce/v2/bea/weblogic81b/server/lib/wlxtrt.jar;C:/perforce/v2/bea/weblogic81b/server/lib/netui/netui-compiler.jar;C:/perforce/v2/bea/weblogic81b/integration/lib/wlai-server.jar;C:/Documents and Settings/mbishop/My Documents/test/APP-INF/lib/Control.jar;C:/Documents and Settings/mbishop/My Documents/test/APP-INF/lib/JavaStuff.jar;C:/Documents and Settings/mbishop/My Documents/test/APP-INF/lib/Mac.jar;C:/Documents and Settings/mbishop/My Documents/test/APP-INF/lib/Schema.jar;C:/Documents and Settings/mbishop/My Documents/test/APP-INF/lib/SimpControlTwo.jar" />
-  <property name="src.path" value="C:/Documents and Settings/mbishop/My Documents/test/Schema/" />
-  <property name="jar.path" value="C:/Documents and Settings/mbishop/Local Settings/Temp/wlw_compile23217" />
-  <property name="jarname" value="Schema.jar" />
-  <property name="library.path" value="C:/Documents and Settings/mbishop/My Documents/test/APP-INF/lib/" />
-  <property name="wlhome.path" value="C:/perforce/v2/bea/weblogic81b/" />
-  
-  <path id="task.classpath">
-    <fileset dir="${wlhome.path}">
-      <include name="server/lib/xbean.jar" />
-      <include name="server/lib/weblogic.jar"/>
-    </fileset>
-  </path>
-  
-  <taskdef name="xmlbean" classname="xml.apache.org.tool.XMLBean" classpathref="task.classpath"/>
-  
-  <target name="build" description="Build the Schemas project and copy it to Libraries">
-  	
-    <mkdir dir="${jar.path}" />
-    <xmlbean
-      destfile="${jar.path}/${jarname}"
-      schema="${src.path}"
-      typesystemname="${typesystemname}"
-      classpath="${class.path}"
-      failonerror="true" />
-      <!-- With failonerror=true, an the target should abort before
-           here if there's an error.
-           Therefore if there's no jar, then it must mean that there
-           were no source files to compile, so delete the jar in libraries. -->
-    <available property="is-jar" file="${jar.path}/${jarname}"/>
-    <antcall target="move-jar"/>
-    <antcall target="check-cleanup-jar"/>
-  </target>
-  
-  <target name="move-jar" if="is-jar">
-    <move todir="${library.path}" file="${jar.path}/${jarname}" failonerror="false" />
-  </target>
-
-  <target name="check-cleanup-jar" unless="is-jar">
-      <antcall target="clean"/>
-  </target>
-
-  <target name="clean">
-      <delete file="${library.path}/${jarname}" failonerror="false"/>
-  </target>
-
-</project>
diff --git a/v1/xkit/schemas/j2ee/j2ee_1_4.xsd b/v1/xkit/schemas/j2ee/j2ee_1_4.xsd
deleted file mode 100644
index 6714272..0000000
--- a/v1/xkit/schemas/j2ee/j2ee_1_4.xsd
+++ /dev/null
@@ -1,1406 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Generated by Umit Yalcinalp March 2002-->
-<xsd:schema
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="1.4">
-<xsd:annotation>
-<xsd:documentation>
-@(#)j2ee_1_4.xsds	1.20 02/07/12
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following definitions that appear in the common
-shareable schema(s) of J2EE deployment descriptors should be
-interpreted with respect to the context they are included:
-
-Deployment Component may indicate one of the following:
-    j2ee application;
-    application client;
-    web application;
-    enterprise bean;
-    resource adapter;
-
-Deployment File may indicate one of the following:
-    ear file;
-    war file;
-    jar file;
-    rar file;
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:import namespace="http://www.w3.org/XML/1998/namespace"
-            schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="deployment-extensionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The deployment-extensionType is used to indicate
-extensions to the specific Deployment Component.
-
-It is used by deployment-extension elements to designate an
-extension block that is targeted to a specific extension
-designated by a set of extension elements that are declared
-by a namespace. The namespace identifies the extension to
-the deployment tool that processes the extension.
-
-The mustUnderstand attribute is provided by the Application
-Assembler to indicate whether the extension described is an
-essential extension that must exist in the container. If
-mustUnderstand is "true", the deployment tool must indicate
-an error when processing a deployment-extension element with
-a namespace it does not understand.  Extensions that are not
-essential are declared by default as optional extensions
-that need not be provided by a container.  Applications that
-use such extensions are portable to other containers because
-deployment tools will ignore extensions that they don't
-support.
-
-The type of the extension-element is abstract. Therefore, a
-concrete type must be specified by the deployment descriptor
-using xsi:type attribute for each extension-element.
-
-The value of the mustUnderstand attribute is "false"
-by default.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-    <xsd:element name="extension-element"
-                 type="j2ee:extensibleType"
-                 maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-    <xsd:attribute name="namespace"
-                   use="required"
-                   type="xsd:anyURI"/>
-    <xsd:attribute name="mustUnderstand"
-                   type="xsd:boolean"/>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="descriptionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The description type is used by a description element to
-provide text describing the parent element.  The elements
-that use this type should include any information that the
-Deployment Component's Deployment File file producer wants
-to provide to the consumer of the Deployment Component's
-Deployment File (i.e., to the Deployer). Typically, the
-tools used by such a Deployment File consumer will display
-the description when processing the parent element that
-contains the description.
-
-The lang attribute defines the language that the
-description is provided in. The default value is "en" (English).
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:simpleContent>
-        <xsd:extension base="xsd:string">
-        <xsd:attribute ref="xml:lang"/>
-        </xsd:extension>
-    </xsd:simpleContent>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="dewey-versionType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type defines a dewey decimal which is used
-to describe versions of documents.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="xsd:decimal">
-        <xsd:whiteSpace value="collapse"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="display-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The display-name type contains a short name that is intended
-to be displayed by tools. It is used by display-name
-elements.  The display name need not be unique.
-
-Example:
-
-...
-   <display-name xml:lang="en">Employee Self Service</display-name>
-
-The value of the xml:lang attribute is "en" (English) by default.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:simpleContent>
-        <xsd:extension base="j2ee:string">
-        <xsd:attribute ref="xml:lang"/>
-        </xsd:extension>
-    </xsd:simpleContent>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="ejb-linkType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-linkType is used by ejb-link
-elements in the ejb-ref or ejb-local-ref elements to specify
-that an EJB reference is linked to enterprise bean.
-
-The value of the ejb-link element must be the ejb-name of an
-enterprise bean in the same ejb-jar file or in another ejb-jar
-file in the same J2EE application unit.
-
-Alternatively, the name in the ejb-link element may be composed of a
-path name specifying the ejb-jar containing the referenced enterprise
-bean with the ejb-name of the target bean appended and separated from
-the path name by "#".  The path name is relative to the Deployment File
-containing Deployment Component that is referencing the enterprise bean.
-This allows multiple enterprise beans with the same ejb-name to be
-uniquely identified.
-
-Examples:
-
-    <ejb-link>EmployeeRecord</ejb-link>
-
-    <ejb-link>../products/product.jar#ProductEJB</ejb-link>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="ejb-local-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-local-refType is used by ejb-local-ref elements for
-the declaration of a reference to an enterprise bean's local
-home. The declaration consists of:
-
-    - an optional description
-    - the EJB reference name used in the code of the Deployment
-      Component that's referencing the enterprise bean
-    - the expected type of the referenced enterprise bean
-    - the expected local home and local interfaces of the
-      referenced enterprise bean
-    - optional ejb-link information, used to specify the
-      referenced enterprise bean
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref-name"
-                     type="j2ee:ejb-ref-nameType"/>
-        <xsd:element name="ejb-ref-type"
-                     type="j2ee:ejb-ref-typeType"/>
-        <xsd:element name="local-home"
-                     type="j2ee:local-homeType"/>
-        <xsd:element name="local"
-                     type="j2ee:localType"/>
-        <xsd:element name="ejb-link"
-                     type="j2ee:ejb-linkType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="ejb-ref-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-ref-name element contains the name of an EJB
-reference. The EJB reference is an entry in the
-Deployment Component's environment and is relative to the
-java:comp/env context.  The name must be unique within the
-Deployment Component.
-
-It is recommended that name is prefixed with "ejb/".
-
-Example:
-
-<ejb-ref-name>ejb/Payroll</ejb-ref-name>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:jndi-nameType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="ejb-ref-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-ref-typeType contains the expected type of the
-referenced enterprise bean.
-
-The ejb-ref-type designates a value
-that must be one of the following:
-
-    Entity
-    Session
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Entity"/>
-        <xsd:enumeration value="Session"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="ejb-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The ejb-refType is used by ejb-ref elements for the
-declaration of a reference to an enterprise bean's home. The
-declaration consists of:
-
-    - an optional description
-    - the EJB reference name used in the code of
-      the Deployment Component that's referencing the enterprise
-      bean
-    - the expected type of the referenced enterprise bean
-    - the expected home and remote interfaces of the referenced
-      enterprise bean
-    - optional ejb-link information, used to specify the
-      referenced enterprise bean
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref-name"
-                     type="j2ee:ejb-ref-nameType"/>
-        <xsd:element name="ejb-ref-type"
-                     type="j2ee:ejb-ref-typeType"/>
-
-        <xsd:element name="home"
-                     type="j2ee:homeType"/>
-        <xsd:element name="remote"
-                     type="j2ee:remoteType"/>
-        <xsd:element name="ejb-link"
-                     type="j2ee:ejb-linkType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="emptyType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type is used to designate an empty
-element when used.
-
-</xsd:documentation>
-</xsd:annotation>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="env-entry-type-valuesType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type contains the fully-qualified Java type of the
-environment entry value that is expected by the
-application's code.
-
-The following are the legal values of env-entry-type-valuesType:
-
-    java.lang.Boolean
-    java.lang.Byte
-    java.lang.Character
-    java.lang.String
-    java.lang.Short
-    java.lang.Integer
-    java.lang.Long
-    java.lang.Float
-    java.lang.Double
-
-Example:
-
-<env-entry-type>java.lang.Boolean</env-entry-type>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="java.lang.Boolean"/>
-        <xsd:enumeration value="java.lang.Byte"/>
-        <xsd:enumeration value="java.lang.Character"/>
-        <xsd:enumeration value="java.lang.String"/>
-        <xsd:enumeration value="java.lang.Short"/>
-        <xsd:enumeration value="java.lang.Integer"/>
-        <xsd:enumeration value="java.lang.Long"/>
-        <xsd:enumeration value="java.lang.Float"/>
-        <xsd:enumeration value="java.lang.Double"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="env-entryType">
-<xsd:annotation>
-<xsd:documentation>
-
-The env-entryType is used to declare an application's
-environment entry. The declaration consists of an optional
-description, the name of the environment entry, and an
-optional value.  If a value is not specified, one must be
-supplied during deployment.
-
-It is used by env-entry elements.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="env-entry-name"
-                     type="j2ee:jndi-nameType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The env-entry-name element contains the name of a
-        Deployment Component's environment entry.  The name
-        is a JNDI name relative to the java:comp/env
-        context.  The name must be unique within a
-        Deployment Component. The uniqueness
-        constraints must be defined within the declared
-        context.
-
-        Example:
-
-        <env-entry-name>minAmount</env-entry-name>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="env-entry-type"
-                     type="j2ee:env-entry-type-valuesType"/>
-
-        <xsd:element name="env-entry-value"
-                     type="xsd:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The env-entry-value designates the value of a
-        Deployment Component's environment entry. The value
-        must be a String that is valid for the
-        constructor of the specified type that takes a
-        single String parameter, or for java.lang.Character,
-        a single character.
-
-        Example:
-
-        <env-entry-value>100.00</env-entry-value>
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="extensibleType" abstract="true">
-<xsd:annotation>
-<xsd:documentation>
-
-The extensibleType is an abstract base type which is used to
-define the type of extension-elements. Instance documents
-must substitute a known type to define the extension by
-using xsi:type attribute to define the actual type of
-extension-elements.
-
-</xsd:documentation>
-</xsd:annotation>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="fully-qualified-classType">
-<xsd:annotation>
-<xsd:documentation>
-
-The elements that use this type designate the name of a
-Java class or interface.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="generic-booleanType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type defines four different values which can designate
-boolean values. This includes values yes and no which are
-not designated by xsd:boolean
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="true"/>
-        <xsd:enumeration value="false"/>
-        <xsd:enumeration value="yes"/>
-        <xsd:enumeration value="no"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="homeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The homeType defines the fully-qualified name of
-an enterprise bean's home interface.
-
-Example:
-
-    <home>com.aardvark.payroll.PayrollHome</home>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="iconType">
-<xsd:annotation>
-<xsd:documentation>
-
-The icon type contains small-icon and large-icon elements
-that specify the file names for small and large GIF or
-JPEG icon images used to represent the parent element in a
-GUI tool.
-
-The xml:lang attribute defines the language that the
-icon file names are provided in. Its value is "en" (English)
-by default.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="small-icon" type="j2ee:pathType"
-             minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-        The small-icon element contains the name of a file
-        containing a small (16 x 16) icon image. The file
-        name is a relative path within the Deployment
-        Component's Deployment File.
-
-        The image may be either in the JPEG or GIF format.
-        The icon can be used by tools.
-
-        Example:
-
-        <small-icon>employee-service-icon16x16.jpg</small-icon>
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="large-icon" type="j2ee:pathType"
-             minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The large-icon element contains the name of a file
-        containing a large
-        (32 x 32) icon image. The file name is a relative
-        path within the Deployment Component's Deployment
-        File.
-
-        The image may be either in the JPEG or GIF format.
-        The icon can be used by tools.
-
-        Example:
-
-        <large-icon>employee-service-icon32x32.jpg</large-icon>
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-
-    <xsd:attribute ref="xml:lang"/>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="java-identifierType">
-<xsd:annotation>
-<xsd:documentation>
-
-The java-identifierType defines a Java identifier.
-The users of this type should further verify that
-the content does not contain Java reserved keywords.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:pattern value="($|_|\p{L})(\p{L}|\p{Nd}|_|$)*"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="jndi-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The jndi-nameType type designates a JNDI name in the
-Deployment Component's environment and is relative to the
-java:comp/env context.  A JNDI name must be unique within the
-Deployment Component.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="local-homeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The local-homeType defines the fully-qualified
-name of an enterprise bean's local home interface.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="localType">
-<xsd:annotation>
-<xsd:documentation>
-
-The localType defines the fully-qualified name of an
-enterprise bean's local interface.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="message-destination-linkType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-destination-linkType is used to link a message
-destination reference or message-driven bean to a message
-destination.
-
-The Assembler sets the value to reflect the flow of messages
-between producers and consumers in the application.
-
-The value must be the message-destination-name of a message
-destination in the same Deployment File or in another
-Deployment File in the same J2EE application unit.
-
-Alternatively, the value may be composed of a path name
-specifying a Deployment File containing the referenced
-message destination with the message-destination-name of the
-destination appended and separated from the path name by
-"#". The path name is relative to the Deployment File
-containing Deployment Component that is referencing the
-message destination.  This allows multiple message
-destinations with the same name to be uniquely identified.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="message-destination-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-destination-ref element contains a declaration
-of Deployment Component's reference to a message destination
-associated with a resource in Deployment Component's
-environment. It consists of:
-
-        - an optional description
-        - the message destination reference name
-        - the message destination type
-        - a specification as to whether the
-          destination is used for
-          consuming or producing messages, or both
-        - a link to the message destination
-
-Examples:
-
-<message-destination-ref>
-        <message-destination-ref-name>jms/StockQueue
-        </message-destination-ref-name>
-        <message-destination-type>javax.jms.Queue
-        </message-destination-type>
-        <message-destination-usage>Consumes
-        </message-destination-usage>
-        <message-destination-link>CorporateStocks
-        </message-destination-link>
-</message-destination-ref>
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref-name"
-                     type="j2ee:jndi-nameType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The message-destination-ref-name element specifies
-        the name of a message destination reference; its
-        value is the environment entry name used in
-        Deployment Component code.  The name is a JNDI name
-        relative to the java:comp/env context and must be
-        unique within an ejb-jar (for enterprise beans) or a
-        Deployment File (for others).
-        %%%
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="message-destination-type"
-                     type="j2ee:message-destination-typeType"/>
-        <xsd:element name="message-destination-usage"
-                     type="j2ee:message-destination-usageType"/>
-        <xsd:element name="message-destination-link"
-                     type="j2ee:message-destination-linkType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="message-destination-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-destination-typeType specifies the type of
-the destination. The type is specified by the Java interface
-expected to be implemented by the destination.
-
-Example:
-
- <message-destination-type>javax.jms.Queue
- </message-destination-type>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="message-destination-usageType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-destination-usageType specifies the use of the
-message destination indicated by the reference.  The value
-indicates whether messages are consumed from the message
-destination, produced for the destination, or both.  The
-Assembler makes use of this information in linking producers
-of a destination with its consumers.
-
-The value of the message-destination-usage element must be
-one of the following:
-    Consumes
-    Produces
-    ConsumesProduces
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Consumes"/>
-        <xsd:enumeration value="Produces"/>
-        <xsd:enumeration value="ConsumesProduces"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="message-destinationType">
-<xsd:annotation>
-<xsd:documentation>
-
-The message-destinationType specifies a message
-destination. The logical destination described by this
-element is mapped to a physical destination by the Deployer.
-
-The message destination element contains:
-
-        - an optional description
-        - an optional display-name
-        - an optional icon
-        - a message destination name which must be unique
-          among message destination names within the same
-          Deployment File.
-
-Example:
-
-<message-destination>
-        <message-destination-name>CorporateStocks
-        </message-destination-name>
-</message-destination>
-
-</xsd:documentation>
-</xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-name"
-                     type="j2ee:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The message-destination-name element specifies a
-        name for a message destination.  This name must be
-        unique among the names of message destinations
-        within the Deployment File.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="param-valueType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type is a general type that can be used to declare
-parameter/value lists.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-             type="j2ee:descriptionType"
-             minOccurs="0"
-             maxOccurs="unbounded"/>
-        <xsd:element name="param-name"
-             type="j2ee:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The param-name element contains the name of a
-        parameter.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="param-value"
-             type="xsd:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The param-value element contains the value of a
-        parameter.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="pathType">
-<xsd:annotation>
-<xsd:documentation>
-
-The elements that use this type designate either a relative
-path or an absolute path starting with a "/".
-
-In elements that specify a pathname to a file within the
-same Deployment File, relative filenames (i.e., those not
-starting with "/") are considered relative to the root of
-the Deployment File's namespace.  Absolute filenames (i.e.,
-those starting with "/") also specify names in the root of
-the Deployment File's namespace.  In general, relative names
-are preferred.  The exception is .war files where absolute
-names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="remoteType">
-<xsd:annotation>
-<xsd:documentation>
-
-The remote element contains the fully-qualified name
-of the enterprise bean's remote interface.
-
-Example:
-
-    <remote>com.wombat.empl.EmployeeService</remote>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:fully-qualified-classType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="res-authType">
-<xsd:annotation>
-<xsd:documentation>
-
-The res-authType specifies whether the Deployment Component
-code signs on programmatically to the resource manager, or
-whether the Container will sign on to the resource manager
-on behalf of the Deployment Component. In the latter case,
-the Container uses information that is supplied by the
-Deployer.
-
-The value must be one of the two following:
-
-    Application
-    Container
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Application"/>
-        <xsd:enumeration value="Container"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="res-sharing-scopeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The res-sharing-scope type specifies whether connections
-obtained through the given resource manager connection
-factory reference can be shared. The value, if specified,
-must be one of the two following:
-
-    Shareable
-    Unshareable
-
-The default value is Shareable.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="Shareable"/>
-        <xsd:enumeration value="Unshareable"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="resource-env-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The resource-env-refType is used to define
-resource-env-type elements.  It contains a declaration of a
-Deployment Component's reference to an administered object
-associated with a resource in the Deployment Component's
-environment.  It consists of an optional description, the
-resource environment reference name, and an indication of
-the resource environment reference type expected by the
-Deployment Component code.
-
-Example:
-
-<resource-env-ref>
-    <resource-env-ref-name>jms/StockQueue
-    </resource-env-ref-name>
-    <resource-env-ref-type>javax.jms.Queue
-    </resource-env-ref-type>
-</resource-env-ref>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="resource-env-ref-name"
-                     type="j2ee:jndi-nameType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The resource-env-ref-name element specifies the name
-        of a resource environment reference; its value is
-        the environment entry name used in
-        the Deployment Component code.  The name is a JNDI
-        name relative to the java:comp/env context and must
-        be unique within a Deployment Component.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="resource-env-ref-type"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The resource-env-ref-type element specifies the type
-        of a resource environment reference.  It is the
-        fully qualified name of a Java language class or
-        interface.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="resource-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The resource-refType contains a declaration of a
-Deployment Component's reference to an external resource. It
-consists of an optional description, the resource manager
-connection factory reference name, the indication of the
-resource manager connection factory type expected by the
-Deployment Component code, the type of authentication
-(Application or Container), and an optional specification of
-the shareability of connections obtained from the resource
-(Shareable or Unshareable).
-
-Example:
-
-<resource-ref>
-    <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
-    <res-type>javax.sql.DataSource</res-type>
-    <res-auth>Container</res-auth>
-    <res-sharing-scope>Shareable</res-sharing-scope>
-</resource-ref>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="res-ref-name"
-                     type="j2ee:jndi-nameType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The res-ref-name element specifies the name of a
-        resource manager connection factory reference.
-        The name is a JNDI name relative to the
-        java:comp/env context.
-        The name must be unique within a Deployment File.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="res-type"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The res-type element specifies the type of the data
-        source. The type is specified by the fully qualified
-        Java language class or interface
-        expected to be implemented by the data source.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="res-auth"
-                     type="j2ee:res-authType"/>
-
-        <xsd:element name="res-sharing-scope"
-                     type="j2ee:res-sharing-scopeType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="role-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The role-nameType designates the name of a security role.
-
-The name must conform to the lexical rules for an NMTOKEN.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="xsd:NMTOKEN"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="run-asType">
-<xsd:annotation>
-<xsd:documentation>
-
-The run-asType specifies the run-as identity to be
-used for the execution of a component. It contains an
-optional description, and the name of a security role.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="role-name"
-                     type="j2ee:role-nameType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="security-role-refType">
-<xsd:annotation>
-<xsd:documentation>
-
-The security-role-refType contains the declaration of a
-security role reference in a component's or a
-Deployment Component's code. The declaration consists of an
-optional description, the security role name used in the
-code, and an optional link to a security role. If the
-security role is not specified, the Deployer must choose an
-appropriate security role.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="role-name"
-                     type="j2ee:role-nameType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The value of the role-name element must be the String used
-        as the parameter to the
-        EJBContext.isCallerInRole(String roleName) method or the
-        HttpServletRequest.isUserInRole(String role) method.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="role-link"
-                     type="j2ee:role-nameType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The role-link element is a reference to a defined
-        security role. The role-link element must contain
-        the name of one of the security roles defined in the
-        security-role elements.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="security-roleType">
-<xsd:annotation>
-<xsd:documentation>
-
-The security-roleType contains the definition of a security
-role. The definition consists of an optional description of the
-security role, and the security role name.
-
-Example:
-
-    <security-role>
-    <description>
-        This role includes all employees who are authorized
-        to access the employee service application.
-    </description>
-    <role-name>employee</role-name>
-    </security-role>
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="role-name"
-                     type="j2ee:role-nameType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="string">
-<xsd:annotation>
-<xsd:documentation>
-
-This is a special string datatype that is defined by J2EE as
-a base type for defining collapsed strings. When schemas
-require trailing/leading space elimination as well as
-collapsing the existing whitespace, this base type may be
-used.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="xsd:string">
-        <xsd:whiteSpace value="collapse"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="true-falseType">
-<xsd:annotation>
-<xsd:documentation>
-
-This simple type designates a boolean with only two
-permissible values
-
-- true
-- false
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="xsd:boolean">
-        <xsd:pattern value="(true|false)"/>
-    </xsd:restriction>
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="url-patternType">
-<xsd:annotation>
-<xsd:documentation>
-
-The url-patternType contains the url pattern of the mapping. It must
-follow the rules specified in Section 11.2 of the Servlet API
-Specification.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="war-pathType">
-<xsd:annotation>
-<xsd:documentation>
-
-The elements that use this type designate a path starting
-with a "/" and interpreted relative to the root of a WAR
-file.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:pattern value="/.*"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/v1/xkit/schemas/j2ee/jsp_2_0.xsd b/v1/xkit/schemas/j2ee/jsp_2_0.xsd
deleted file mode 100644
index 61d5668..0000000
--- a/v1/xkit/schemas/j2ee/jsp_2_0.xsd
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="2.0">
-<xsd:annotation>
-<xsd:documentation>
-@(#)jsp_2_0.xsds	1.10 08/20/02
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the JSP 2.0 deployment descriptor
-types.  The JSP 2.0 schema contains all the special
-structures and datatypes that are necessary to use JSP files
-from a web application.
-
-The contents of this schema is used by the web-app_2_4.xsd
-file to define JSP specific content.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:include schemaLocation="j2ee_1_4.xsd"/>
-
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="jsp-configType">
-<xsd:annotation>
-<xsd:documentation>
-
-The jsp-configType is used to provide global configuration
-information for the JSP files in a web application. It has
-two subelements, taglib and jsp-property-group.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="taglib"
-                     type="j2ee:taglibType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="jsp-property-group"
-                     type="j2ee:jsp-property-groupType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="jsp-fileType">
-<xsd:annotation>
-<xsd:documentation>
-
-The jsp-file element contains the full path to a JSP file
-within the web application beginning with a `/'.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:pathType"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="jsp-property-groupType">
-<xsd:annotation>
-<xsd:documentation>
-
-The jsp-property-groupType is used to group a number of
-files so they can be given global property information.
-All files so described are deemed to be JSP files.  The
-following additional properties can be described:
-
-    - Control enabling of EL evaluation.
-    - Control enabling of Scripting elements.
-    - Indicate pageEncoding information.
-    - Indicating that a resource is a JSP document
-    - Prelude and Coda automatic includes.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-	<xsd:element name="description"
-		     type="j2ee:descriptionType"
-		     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-		     type="j2ee:display-nameType"
-		     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="url-pattern"
-                     type="j2ee:url-patternType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="el-enabled"
-                     type="j2ee:true-falseType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        Can be used to easily set the isELEnabled
-        property of a group of JSP pages.  By default, the
-        EL evaluation is enabled for Web Applications using
-        a Servlet 2.4 or greater web.xml.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="page-encoding"
-                     type="j2ee:string"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The valid values of page-encoding are those of the
-        pageEncoding page directive. It is a
-        translation-time error to define the pageEncoding
-        of a JSP page through one value in the JSP
-        configuration element and then give it a different
-        value in a pageEncoding directive, but it is legal
-        to give it the same value.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="scripting-enabled"
-                     type="j2ee:true-falseType"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        Can be used to easily set the isScriptingEnabled
-        property of a group of JSP pages.  By default,
-        scripting is enabled.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-	<xsd:element name="is-xml"
-		     type="j2ee:true-falseType"
-		     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        If true, denotes that the group of resources
-	that match the URL pattern are JSP documents,
-	and thus must be interpreted as XML documents.
-	If false, the resources are assumed to not
-	be JSP documents, unless there is another
-	property group that indicates otherwise.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="include-prelude"
-                     type="j2ee:pathType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The include-prelude element is a context-relative
-        path that must correspond to an element in the
-        Web Application.  When the element is present,
-        the given path will be automatically included (as
-        in an include directive) at the beginning of each
-        JSP page in this jsp-property-group.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="include-coda"
-                     type="j2ee:pathType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The include-coda element is a context-relative
-        path that must correspond to an element in the
-        Web Application.  When the element is present,
-        the given path will be automatically included (as
-        in an include directive) at the end of each
-        JSP page in this jsp-property-group.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="taglibType">
-<xsd:annotation>
-<xsd:documentation>
-
-A taglib can be used to provide information on a tag
-library that is used by a JSP page within the Web
-Application.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="taglib-uri"
-                     type="j2ee:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        A taglib-uri element describes a URI identifying a
-        tag library used in the web application.  The body
-        of the taglib-uri element may be either an
-        absolute URI specification, or a relative URI.
-        There should be no entries in web.xml with the
-        same taglib-uri value.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="taglib-location"
-                     type="j2ee:pathType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        the taglib-location element contains the location
-        (as a resource relative to the root of the web
-        application) where to find the Tag Library
-        Description file for the tag library.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-
-</xsd:complexType>
-
-</xsd:schema>
-
diff --git a/v1/xkit/schemas/j2ee/web-app_2_4.xsd b/v1/xkit/schemas/j2ee/web-app_2_4.xsd
deleted file mode 100644
index 6c8c158..0000000
--- a/v1/xkit/schemas/j2ee/web-app_2_4.xsd
+++ /dev/null
@@ -1,1278 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-     targetNamespace="http://java.sun.com/xml/ns/j2ee"
-     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-     elementFormDefault="qualified"
-     attributeFormDefault="unqualified"
-     version="2.4">
-<xsd:annotation>
-<xsd:documentation>
-@(#)web-app_2_4.xsds	1.34 02/08/01
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-Road, Palo Alto, California 94303, U.S.A. All rights
-reserved.
-
-Sun Microsystems, Inc. has intellectual property rights
-relating to technology described in this document. In
-particular, and without limitation, these intellectual
-property rights may include one or more of the U.S. patents
-listed at http://www.sun.com/patents and one or more
-additional patents or pending patent applications in the
-U.S. and other countries.
-
-This document and the technology which it describes are
-distributed under licenses restricting their use, copying,
-distribution, and decompilation. No part of this document
-may be reproduced in any form by any means without prior
-written authorization of Sun and its licensors, if any.
-
-Third-party software, including font technology, is
-copyrighted and licensed from Sun suppliers.
-
-Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-Cup logo are trademarks or registered trademarks of Sun
-Microsystems, Inc. in the U.S. and other countries.
-
-Federal Acquisitions: Commercial Software - Government Users
-Subject to Standard License Terms and Conditions.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-This is the XML Schema for the Servlet 2.4 deployment
-descriptor.  All Servlet deployment descriptors must
-indicate the web application schema by using the J2EE
-namespace:
-
-http://java.sun.com/xml/ns/j2ee
-
-and by indicating the version of the schema by
-using the version element as shown below:
-
-    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="..."
-     version="2.4">
-    ...
-    </web-app>
-
-The instance documents may indicate the published version of
-the schema using the xsi:schemaLocation attribute for J2EE
-namespace with the following location:
-
-http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:annotation>
-<xsd:documentation>
-
-The following conventions apply to all J2EE
-deployment descriptor elements unless indicated otherwise.
-
-- In elements that specify a pathname to a file within the
-  same JAR file, relative filenames (i.e., those not
-  starting with "/") are considered relative to the root of
-  the JAR file's namespace.  Absolute filenames (i.e., those
-  starting with "/") also specify names in the root of the
-  JAR file's namespace.  In general, relative names are
-  preferred.  The exception is .war files where absolute
-  names are preferred for consistency with the Servlet API.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:include schemaLocation="j2ee_1_4.xsd"/>
-<xsd:include schemaLocation="jsp_2_0.xsd"/>
-
-
-<!-- **************************************************** -->
-
-
-<xsd:element name="web-app" type="j2ee:web-appType">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The web-app element is the root of the deployment
-    descriptor for a web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:unique name="servlet-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The servlet element contains the name of a servlet.
-    The name must be unique within the web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:servlet"/>
-        <xsd:field    xpath="j2ee:servlet-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="filter-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The filter element contains the name of a filter.
-    The name must be unique within the web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:filter"/>
-        <xsd:field    xpath="j2ee:filter-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="ejb-local-ref-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The ejb-local-ref-name element contains the name of an EJB
-    reference. The EJB reference is an entry in the web
-    application's environment and is relative to the
-    java:comp/env context.  The name must be unique within
-    the web application.
-
-    It is recommended that name is prefixed with "ejb/".
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:ejb-local-ref"/>
-        <xsd:field    xpath="j2ee:ejb-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="ejb-ref-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The ejb-ref-name element contains the name of an EJB
-    reference. The EJB reference is an entry in the web
-    application's environment and is relative to the
-    java:comp/env context.  The name must be unique within
-    the web application.
-
-    It is recommended that name is prefixed with "ejb/".
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:ejb-ref"/>
-        <xsd:field    xpath="j2ee:ejb-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="resource-env-ref-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The resource-env-ref-name element specifies the name of
-    a resource environment reference; its value is the
-    environment entry name used in the web application code.
-    The name is a JNDI name relative to the java:comp/env
-    context and must be unique within a web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:resource-env-ref"/>
-        <xsd:field    xpath="j2ee:resource-env-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="message-destination-ref-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The message-destination-ref-name element specifies the name of
-    a message destination reference; its value is the
-    environment entry name used in the web application code.
-    The name is a JNDI name relative to the java:comp/env
-    context and must be unique within a web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:message-destination-ref"/>
-        <xsd:field    xpath="j2ee:message-destination-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="res-ref-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The res-ref-name element specifies the name of a
-    resource manager connection factory reference.  The name
-    is a JNDI name relative to the java:comp/env context.
-    The name must be unique within a web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:resource-ref"/>
-        <xsd:field    xpath="j2ee:res-ref-name"/>
-    </xsd:unique>
-
-    <xsd:unique name="env-entry-name-uniqueness">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The env-entry-name element contains the name of a web
-    application's environment entry.  The name is a JNDI
-    name relative to the java:comp/env context.  The name
-    must be unique within a web application.
-
-    </xsd:documentation>
-    </xsd:annotation>
-
-        <xsd:selector xpath="j2ee:env-entry"/>
-        <xsd:field    xpath="j2ee:env-entry-name"/>
-        </xsd:unique>
-
-    <xsd:key name="role-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    A role-name-key is specified to allow the references
-    from the security-role-refs.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:security-role"/>
-        <xsd:field    xpath="j2ee:role-name"/>
-    </xsd:key>
-
-    <xsd:keyref name="role-name-references"
-            refer="j2ee:role-name-key">
-    <xsd:annotation>
-    <xsd:documentation>
-
-    The keyref indicates the references from
-    security-role-ref to a specified role-name.
-
-    </xsd:documentation>
-    </xsd:annotation>
-        <xsd:selector xpath="j2ee:servlet/j2ee:security-role-ref"/>
-        <xsd:field    xpath="j2ee:role-link"/>
-    </xsd:keyref>
-
-</xsd:element>
-
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="auth-constraintType">
-<xsd:annotation>
-<xsd:documentation>
-
-The auth-constraintType indicates the user roles that
-should be permitted access to this resource
-collection. The role-name used here must either correspond
-to the role-name of one of the security-role elements
-defined for this web application, or be the specially
-reserved role-name "*" that is a compact syntax for
-indicating all roles in the web application. If both "*"
-and rolenames appear, the container interprets this as all
-roles.  If no roles are defined, no user is allowed access
-to the portion of the web application described by the
-containing security-constraint.  The container matches
-role names case sensitively when determining access.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                 type="j2ee:descriptionType"
-                 minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="role-name"
-                 type="j2ee:role-nameType"
-                 minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="auth-methodType">
-<xsd:annotation>
-<xsd:documentation>
-
-The auth-methodType is used to configure the authentication
-mechanism for the web application. As a prerequisite to
-gaining access to any web resources which are protected by
-an authorization constraint, a user must have authenticated
-using the configured mechanism. Legal values are "BASIC",
-"DIGEST", "FORM", or "CLIENT-CERT".
-
-Used in: login-config
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="BASIC"/>
-        <xsd:enumeration value="DIGEST"/>
-        <xsd:enumeration value="FORM"/>
-        <xsd:enumeration value="CLIENT-CERT"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="dispatcherType">
-<xsd:annotation>
-<xsd:documentation>
-
-The dispatcher has three legal values, FORWARD and REQUEST
-and INCLUDE. A value of FORWARD means the Filter
-will be applied under RequestDispatcher.forward() calls.
-A value of REQUEST means the Filter will be applied
-under ordinary client calls to the path or servlet. A value of
-INCLUDE means the Filter will be applied under
-RequestDispatcher.include() calls.
-The absence of any dispatcher elements in a
-filter-mapping indicates a default of applying
-filters only under ordinary client calls to the path or servlet.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="FORWARD"/>
-    <xsd:enumeration value="INCLUDE"/>
-    <xsd:enumeration value="REQUEST"/>
-
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="error-codeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The error-code contains an HTTP error code, ex: 404
-
-Used in: error-page
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="positiveInteger"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="error-pageType">
-<xsd:annotation>
-<xsd:documentation>
-
-The error-pageType contains a mapping between an error code
-or exception type to the path of a resource in the web
-application.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <choice>
-        <xsd:element name="error-code"
-                     type="j2ee:error-codeType"/>
-
-        <xsd:element name="exception-type"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The exception-type contains a fully qualified class
-        name of a Java exception type.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        </choice>
-
-        <xsd:element name="location"
-                     type="j2ee:pathType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The location element contains the location of the
-        resource in the web application relative to the root of
-        the web application. The value of the location must have
-        a leading `/'.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="filter-mappingType">
-<xsd:annotation>
-<xsd:documentation>
-
-Declaration of the filter mappings in this web
-application is done by using filter-mappingType.
-The container uses the filter-mapping
-declarations to decide which filters to apply to a request,
-and in what order. The container matches the request URI to
-a Servlet in the normal way. To determine which filters to
-apply it matches filter-mapping declarations either on
-servlet-name, or on url-pattern for each filter-mapping
-element, depending on which style is used. The order in
-which filters are invoked is the order in which
-filter-mapping declarations that match a request URI for a
-servlet appear in the list of filter-mapping elements.The
-filter-name value must be the value of the filter-name
-sub-elements of one of the filter declarations in the
-deployment descriptor.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="filter-name"
-                 type="j2ee:filter-nameType"/>
-        <choice>
-            <xsd:element name="url-pattern"
-                     type="j2ee:url-patternType"/>
-            <xsd:element name="servlet-name"
-                     type="j2ee:servlet-nameType"/>
-        </choice>
-        <xsd:element name="dispatcher"
-                     type="j2ee:dispatcherType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="filter-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The logical name of the filter is declare
-by using filter-nameType. This name is used to map the
-filter.  Each filter name is unique within the web
-application.
-
-Used in: filter, filter-mapping
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="filterType">
-<xsd:annotation>
-<xsd:documentation>
-
-The filterType is used to declare a filter in the web
-application. The filter is mapped to either a servlet or a
-URL pattern in the filter-mapping element, using the
-filter-name value to reference. Filters can access the
-initialization parameters declared in the deployment
-descriptor at runtime via the FilterConfig interface.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="filter-name"
-                     type="j2ee:filter-nameType"/>
-        <xsd:element name="filter-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The fully qualified classname of the filter.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="init-param"
-                     type="j2ee:param-valueType"
-                     minOccurs="0" maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The init-param element contains a name/value pair as
-        an initialization param of a servlet filter
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="form-login-configType">
-<xsd:annotation>
-<xsd:documentation>
-
-The form-login-configType specifies the login and error
-pages that should be used in form based login. If form based
-authentication is not used, these elements are ignored.
-
-Used in: login-config
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-
-        <xsd:element name="form-login-page"
-                 type="j2ee:war-pathType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The form-login-page element defines the location in the web app
-        where the page that can be used for login can be found.
-        The path begins with a leading / and is
-        interpreted relative to the root of the WAR.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="form-error-page"
-                 type="j2ee:war-pathType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The form-error-page element defines the location in
-        the web app where the error page that is displayed
-        when login is not successful can be found.
-        The path begins with a leading / and is interpreted
-        relative to the root of the WAR.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="http-methodType">
-<xsd:annotation>
-
-<xsd:documentation>
-The http-method contains an HTTP method recognized by the web-app, i.e.
-(GET | POST |...).
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="GET"/>
-        <xsd:enumeration value="POST"/>
-        <xsd:enumeration value="PUT"/>
-        <xsd:enumeration value="DELETE"/>
-        <xsd:enumeration value="HEAD"/>
-        <xsd:enumeration value="OPTIONS"/>
-        <xsd:enumeration value="TRACE"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="listenerType">
-<xsd:annotation>
-<xsd:documentation>
-
-The listenerType indicates the deployment properties for a web
-application listener bean.
-
-Used in: web-app:listenerType
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="listener-class"
-                     type="j2ee:fully-qualified-classType">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The listener-class element declares a class in the
-        application must be registered as a web
-        application listener bean. The value is the fully
-        qualified classname of the listener class.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="locale-encoding-mapping-listType">
-<xsd:annotation>
-<xsd:documentation>
-
-The locale-encoding-mapping-list contains one or more
-locale-encoding-mapping(s).
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:sequence>
-    <xsd:element name="locale-encoding-mapping"
-        type="j2ee:locale-encoding-mappingType"
-        maxOccurs="unbounded"/>
-</xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="locale-encoding-mappingType">
-<xsd:annotation>
-<xsd:documentation>
-
-The locale-encoding-mapping contains locale name and
-encoding name. The locale name must be either "Language-code",
-such as "ja", defined by ISO-639 or "Language-code_Country-code",
-such as "ja_JP".  "Country code" is defined by ISO-3166.
-
-</xsd:documentation>
-</xsd:annotation>
-
-<xsd:sequence>
-    <xsd:element name="locale"
-        type="j2ee:string"/>
-    <xsd:element name="encoding"
-        type="j2ee:string"/>
-</xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="login-configType">
-<xsd:annotation>
-<xsd:documentation>
-
-The login-configType is used to configure the authentication
-method that should be used, the realm name that should be
-used for this application, and the attributes that are
-needed by the form login mechanism.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="auth-method"
-                     type="j2ee:auth-methodType"
-                     minOccurs="0"/>
-        <xsd:element name="realm-name"
-                     type="j2ee:string" minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The realm name element specifies the realm name to
-        use in HTTP Basic authorization.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="form-login-config"
-                     type="j2ee:form-login-configType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="mime-mappingType">
-<xsd:annotation>
-<xsd:documentation>
-
-The mime-mappingType defines a mapping between an extension
-and a mime type.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The extension element contains a string describing an
-        extension. example: "txt"
-
-        </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:element name="extension"
-                     type="j2ee:string"/>
-        <xsd:element name="mime-type"
-                     type="j2ee:mime-typeType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="mime-typeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The mime-typeType is used to indicate a defined mime type.
-
-Example:
-"text/plain"
-
-Used in: mime-mapping
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:pattern value="[\p{L}\-\p{Nd}]+/[\p{L}\-\p{Nd}\.]+"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="security-constraintType">
-<xsd:annotation>
-<xsd:documentation>
-
-The security-constraintType is used to associate
-security constraints with one or more web resource
-collections
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="web-resource-collection"
-                     type="j2ee:web-resource-collectionType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="auth-constraint"
-                     type="j2ee:auth-constraintType"
-                     minOccurs="0"/>
-        <xsd:element name="user-data-constraint"
-                     type="j2ee:user-data-constraintType"
-                     minOccurs="0"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="servlet-mappingType">
-<xsd:annotation>
-<xsd:documentation>
-
-The servlet-mappingType defines a mapping between a
-servlet and a url pattern.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="servlet-name"
-                     type="j2ee:servlet-nameType"/>
-        <xsd:element name="url-pattern"
-                     type="j2ee:url-patternType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="servlet-nameType">
-<xsd:annotation>
-<xsd:documentation>
-
-The servlet-name element contains the canonical name of the
-servlet. Each servlet name is unique within the web
-application.
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string"/>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="servletType">
-<xsd:annotation>
-<xsd:documentation>
-
-The servletType is used to declare a servlet.
-It contains the declarative data of a
-servlet. If a jsp-file is specified and the load-on-startup
-element is present, then the JSP should be precompiled and
-loaded.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="servlet-name"
-                     type="j2ee:servlet-nameType"/>
-        <choice>
-            <xsd:element name="servlet-class"
-                         type="j2ee:fully-qualified-classType">
-            <xsd:annotation>
-            <xsd:documentation>
-
-            The servlet-class element contains the fully
-            qualified class name of the servlet.
-
-            </xsd:documentation>
-            </xsd:annotation>
-            </xsd:element>
-
-            <xsd:element name="jsp-file"
-                         type="j2ee:jsp-fileType"/>
-
-        </choice>
-
-        <xsd:element name="init-param"
-                     type="j2ee:param-valueType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="load-on-startup"
-                     type="xsd:integer"
-                     minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The load-on-startup element indicates that this
-        servlet should be loaded (instantiated and have
-        its init() called) on the startup of the web
-        application. The optional contents of these
-        element must be an integer indicating the order in
-        which the servlet should be loaded. If the value
-        is a negative integer, or the element is not
-        present, the container is free to load the servlet
-        whenever it chooses. If the value is a positive
-        integer or 0, the container must load and
-        initialize the servlet as the application is
-        deployed. The container must guarantee that
-        servlets marked with lower integers are loaded
-        before servlets marked with higher integers. The
-        container may choose the order of loading of
-        servlets with the same load-on-start-up value.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="run-as"
-                     type="j2ee:run-asType"
-                     minOccurs="0"/>
-        <xsd:element name="security-role-ref"
-                     type="j2ee:security-role-refType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="session-configType">
-<xsd:annotation>
-<xsd:documentation>
-
-The session-configType defines the session parameters
-for this web application.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="session-timeout"
-                 type="xsd:nonNegativeInteger"
-                 minOccurs="0">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The session-timeout element defines the default
-        session timeout interval for all sessions created
-        in this web application. The specified timeout
-        must be expressed in a whole number of minutes.
-        If the timeout is 0 or less, the container ensures
-        the default behaviour of sessions is never to time
-        out. If this element is not specified, the container
-        must set its default timeout period.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="transport-guaranteeType">
-<xsd:annotation>
-<xsd:documentation>
-
-The transport-guaranteeType specifies that the communication
-between client and server should be NONE, INTEGRAL, or
-CONFIDENTIAL. NONE means that the application does not
-require any transport guarantees. A value of INTEGRAL means
-that the application requires that the data sent between the
-client and server be sent in such a way that it can't be
-changed in transit. CONFIDENTIAL means that the application
-requires that the data be transmitted in a fashion that
-prevents other entities from observing the contents of the
-transmission. In most cases, the presence of the INTEGRAL or
-CONFIDENTIAL flag will indicate that the use of SSL is
-required.
-
-Used in: user-data-constraint
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="NONE"/>
-        <xsd:enumeration value="INTEGRAL"/>
-        <xsd:enumeration value="CONFIDENTIAL"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="user-data-constraintType">
-<xsd:annotation>
-<xsd:documentation>
-
-The user-data-constraintType is used to indicate how
-data communicated between the client and container should be
-protected.
-
-Used in: security-constraint
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="transport-guarantee"
-                     type="j2ee:transport-guaranteeType"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:simpleType name="web-app-versionType">
-<xsd:annotation>
-<xsd:documentation>
-
-This type contains the recognized versions of
-web-application supported. It is used to designate the
-version of the web application.
-
-Example:
-
-<web-app>
-    <version>2.4</version>
-...
-</web-app>
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:restriction base="j2ee:string">
-        <xsd:enumeration value="2.4"/>
-    </xsd:restriction>
-
-</xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="web-appType">
-
-    <xsd:sequence>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="display-name"
-                     type="j2ee:display-nameType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="icon"
-                     type="j2ee:iconType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="distributable"
-                     type="j2ee:emptyType"
-                     minOccurs="0"/>
-        <xsd:element name="context-param"
-                     type="j2ee:param-valueType"
-                     minOccurs="0" maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The context-param element contains the declaration
-        of a web application's servlet context
-        initialization parameters.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-
-        <xsd:element name="filter"
-                     type="j2ee:filterType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="filter-mapping"
-                     type="j2ee:filter-mappingType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="listener"
-                     type="j2ee:listenerType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="servlet"
-                     type="j2ee:servletType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="servlet-mapping"
-                     type="j2ee:servlet-mappingType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="session-config"
-                     type="j2ee:session-configType"
-                     minOccurs="0"/>
-        <xsd:element name="mime-mapping"
-                     type="j2ee:mime-mappingType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="welcome-file-list"
-                     type="j2ee:welcome-file-listType"
-                     minOccurs="0"/>
-        <xsd:element name="error-page"
-                     type="j2ee:error-pageType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="jsp-config"
-                     type="j2ee:jsp-configType"
-                     minOccurs="0"/>
-        <xsd:element name="resource-env-ref"
-                     type="j2ee:resource-env-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination-ref"
-                     type="j2ee:message-destination-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="resource-ref"
-                     type="j2ee:resource-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="security-constraint"
-                     type="j2ee:security-constraintType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="login-config"
-                     type="j2ee:login-configType"
-                     minOccurs="0"/>
-        <xsd:element name="security-role"
-                     type="j2ee:security-roleType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="env-entry"
-                     type="j2ee:env-entryType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-ref"
-                     type="j2ee:ejb-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="ejb-local-ref"
-                     type="j2ee:ejb-local-refType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="message-destination"
-                     type="j2ee:message-destinationType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="locale-encoding-mapping-list"
-                     type="j2ee:locale-encoding-mapping-listType"
-                     minOccurs="0"
-                     maxOccurs="1"/>
-        <xsd:element name="deployment-extension"
-                     type="j2ee:deployment-extensionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-    <xsd:attribute name="version"
-                   type="j2ee:web-app-versionType"
-                   use="required"/>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="web-resource-collectionType">
-<xsd:annotation>
-<xsd:documentation>
-
-The web-resource-collectionType is used to identify a subset
-of the resources and HTTP methods on those resources within
-a web application to which a security constraint applies. If
-no HTTP methods are specified, then the security constraint
-applies to all HTTP methods.
-
-Used in: security-constraint
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="web-resource-name"
-                     type="j2ee:string">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The web-resource-name contains the name of this web
-        resource collection.
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="description"
-                     type="j2ee:descriptionType"
-                     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="url-pattern"
-                     type="j2ee:url-patternType"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="http-method"
-                     type="j2ee:http-methodType"
-                     minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="welcome-file-listType">
-<xsd:annotation>
-<xsd:documentation>
-
-The welcome-file-list contains an ordered list of welcome
-files elements.
-
-Used in: web-app
-
-</xsd:documentation>
-</xsd:annotation>
-
-    <xsd:sequence>
-        <xsd:element name="welcome-file"
-                     type="j2ee:string"
-                     maxOccurs="unbounded">
-        <xsd:annotation>
-        <xsd:documentation>
-
-        The welcome-file element contains file name to use
-        as a default welcome file, such as index.html
-
-        </xsd:documentation>
-        </xsd:annotation>
-        </xsd:element>
-    </xsd:sequence>
-
-</xsd:complexType>
-
-</xsd:schema>
-
diff --git a/v1/xkit/schemas/s4s/XML.xsd b/v1/xkit/schemas/s4s/XML.xsd
deleted file mode 100644
index ff8add9..0000000
--- a/v1/xkit/schemas/s4s/XML.xsd
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
-<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
-
- <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.
-  </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/2001/03/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.  In other words, if the XML Schema namespace changes, the version
-   of this document at
-   http://www.w3.org/2001/xml.xsd will change
-   accordingly; the version at
-   http://www.w3.org/2001/03/xml.xsd will not change.
-  </xs:documentation>
- </xs:annotation>
-
- <xs:attribute name="lang" type="xs:language">
-  <xs:annotation>
-   <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
-         codes as the enumerated possible values . . .</xs:documentation>
-  </xs:annotation>
- </xs:attribute>
-
- <xs:attribute name="space" default="preserve">
-  <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: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/v1/xkit/schemas/s4s/XMLSchema.xsd b/v1/xkit/schemas/s4s/XMLSchema.xsd
deleted file mode 100644
index 8f77251..0000000
--- a/v1/xkit/schemas/s4s/XMLSchema.xsd
+++ /dev/null
@@ -1,2501 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- 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 -->
-
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
-
-<!-- provide ID type information even for parsers which only read the
-     internal subset -->
-<!ATTLIST xs:schema          id  ID  #IMPLIED>
-<!ATTLIST xs:complexType     id  ID  #IMPLIED>
-<!ATTLIST xs:complexContent  id  ID  #IMPLIED>
-<!ATTLIST xs:simpleContent   id  ID  #IMPLIED>
-<!ATTLIST xs:extension       id  ID  #IMPLIED>
-<!ATTLIST xs:element         id  ID  #IMPLIED>
-<!ATTLIST xs:group           id  ID  #IMPLIED> 
-<!ATTLIST xs:all             id  ID  #IMPLIED>
-<!ATTLIST xs:choice          id  ID  #IMPLIED>
-<!ATTLIST xs:sequence        id  ID  #IMPLIED>
-<!ATTLIST xs:any             id  ID  #IMPLIED>
-<!ATTLIST xs:anyAttribute    id  ID  #IMPLIED>
-<!ATTLIST xs:attribute       id  ID  #IMPLIED>
-<!ATTLIST xs:attributeGroup  id  ID  #IMPLIED>
-<!ATTLIST xs:unique          id  ID  #IMPLIED>
-<!ATTLIST xs:key             id  ID  #IMPLIED>
-<!ATTLIST xs:keyref          id  ID  #IMPLIED>
-<!ATTLIST xs:selector        id  ID  #IMPLIED>
-<!ATTLIST xs:field           id  ID  #IMPLIED>
-<!ATTLIST xs:include         id  ID  #IMPLIED>
-<!ATTLIST xs:import          id  ID  #IMPLIED>
-<!ATTLIST xs:redefine        id  ID  #IMPLIED>
-<!ATTLIST xs:notation        id  ID  #IMPLIED>
-<!--
-     keep this schema XML1.0 DTD valid
-  -->
-        <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
-
-        <!ELEMENT hfp:hasFacet EMPTY>
-        <!ATTLIST hfp:hasFacet
-                name NMTOKEN #REQUIRED>
-
-        <!ELEMENT hfp:hasProperty EMPTY>
-        <!ATTLIST hfp:hasProperty
-                name NMTOKEN #REQUIRED
-                value CDATA #REQUIRED>
-<!--
-        Make sure that processors that do not read the external
-        subset will know about the various IDs we declare
-  -->
-        <!ATTLIST xs:simpleType id ID #IMPLIED>
-        <!ATTLIST xs:maxExclusive id ID #IMPLIED>
-        <!ATTLIST xs:minExclusive id ID #IMPLIED>
-        <!ATTLIST xs:maxInclusive id ID #IMPLIED>
-        <!ATTLIST xs:minInclusive id ID #IMPLIED>
-        <!ATTLIST xs:totalDigits id ID #IMPLIED>
-        <!ATTLIST xs:fractionDigits id ID #IMPLIED>
-        <!ATTLIST xs:length id ID #IMPLIED>
-        <!ATTLIST xs:minLength id ID #IMPLIED>
-        <!ATTLIST xs:maxLength id ID #IMPLIED>
-        <!ATTLIST xs:enumeration id ID #IMPLIED>
-        <!ATTLIST xs:pattern id ID #IMPLIED>
-        <!ATTLIST xs:appinfo id ID #IMPLIED>
-        <!ATTLIST xs:documentation id ID #IMPLIED>
-        <!ATTLIST xs:list id ID #IMPLIED>
-        <!ATTLIST xs:union id ID #IMPLIED>
-        ]>
-<xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema" blockDefault="#all" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="EN" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty">
- <xs:annotation>
-  <xs:documentation>
-    Part 1 version: Id: XMLSchema.xsd,v 1.53 2003/02/24 17:40:07 ht Exp 
-    Part 2 version: Id: datatypes.xsd,v 1.58 2003/02/26 14:01:29 ht Exp 
-  </xs:documentation>
- </xs:annotation>
-
-
- <xs:annotation>
-   <xs:documentation source="http://www.w3.org/XML/Group/2002/09/xmlschema-1/structures-with-errata.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</xs:documentation>
- </xs:annotation>
-
- <xs:annotation>
-   <xs:documentation>
-   The simpleType element and all of its members are defined
-      towards the end of this schema document</xs:documentation>
- </xs:annotation>
-
- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
-   <xs:annotation>
-     <xs:documentation>
-       Get access to the xml: attribute groups for xml:lang
-       as declared on 'schema' and 'documentation' below
-     </xs:documentation>
-   </xs:annotation>
- </xs:import>
-
- <xs:complexType name="openAttrs">
-   <xs:annotation>
-     <xs:documentation>
-       This type is extended by almost all schema types
-       to allow attributes from other namespaces to be
-       added to user schemas.
-     </xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-     <xs:restriction base="xs:anyType">
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-     </xs:restriction>
-   </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="annotated">
-   <xs:annotation>
-     <xs:documentation>
-       This type is extended by all types which allow annotation
-       other than &lt;schema&gt; itself
-     </xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-     <xs:extension base="xs:openAttrs">
-       <xs:sequence>
-         <xs:element ref="xs:annotation" minOccurs="0"/>
-       </xs:sequence>
-       <xs:attribute name="id" type="xs:ID"/>
-     </xs:extension>
-   </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="schemaTop">
-  <xs:annotation>
-   <xs: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.</xs:documentation>
-  </xs:annotation>
-  <xs:choice>
-   <xs:group ref="xs:redefinable"/>
-   <xs:element ref="xs:element"/>
-   <xs:element ref="xs:attribute"/>
-   <xs:element ref="xs:notation"/>
-  </xs:choice>
- </xs:group>
- 
- <xs:group name="redefinable">
-  <xs:annotation>
-   <xs:documentation>
-   This group is for the
-   elements which can self-redefine (see &lt;redefine> below).</xs:documentation>
-  </xs:annotation>
-  <xs:choice>
-   <xs:element ref="xs:simpleType"/>
-   <xs:element ref="xs:complexType"/>
-   <xs:element ref="xs:group"/>
-   <xs:element ref="xs:attributeGroup"/>
-  </xs:choice>
- </xs:group>
-
- <xs:simpleType name="formChoice">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:NMTOKEN">
-   <xs:enumeration value="qualified"/>
-   <xs:enumeration value="unqualified"/>
-  </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="reducedDerivationControl">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:derivationControl">
-   <xs:enumeration value="extension"/>
-   <xs:enumeration value="restriction"/>
-  </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="derivationSet">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-   <xs:documentation>
-   #all or (possibly empty) subset of {extension, restriction}</xs:documentation>
-  </xs:annotation>
-  <xs:union>
-   <xs:simpleType>    
-    <xs:restriction base="xs:token">
-     <xs:enumeration value="#all"/>
-    </xs:restriction>
-   </xs:simpleType>
-   <xs:simpleType>
-    <xs:list itemType="xs:reducedDerivationControl"/>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
- <xs:element name="schema" id="schema">
-  <xs:annotation>
-    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:openAttrs">
-     <xs:sequence>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-       <xs:element ref="xs:include"/>
-       <xs:element ref="xs:import"/>
-       <xs:element ref="xs:redefine"/>
-       <xs:element ref="xs:annotation"/>
-      </xs:choice>
-      <xs:sequence minOccurs="0" maxOccurs="unbounded">
-       <xs:group ref="xs:schemaTop"/>
-       <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-     </xs:sequence>
-     <xs:attribute name="targetNamespace" type="xs:anyURI"/>
-     <xs:attribute name="version" type="xs:normalizedString"/>
-     <xs:attribute name="finalDefault" type="xs:derivationSet" use="optional" default=""/>
-     <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/>
-     <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
-     <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
-     <xs:attribute name="id" type="xs:ID"/>
-     <xs:attribute ref="xml:lang"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
-
-  <xs:key name="element">
-   <xs:selector xpath="xs:element"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
-  <xs:key name="attribute">
-   <xs:selector xpath="xs:attribute"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
-  <xs:key name="type">
-   <xs:selector xpath="xs:complexType|xs:simpleType"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
- 
-  <xs:key name="group">
-   <xs:selector xpath="xs:group"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
- 
-  <xs:key name="attributeGroup">
-   <xs:selector xpath="xs:attributeGroup"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
- 
-  <xs:key name="notation">
-   <xs:selector xpath="xs:notation"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
-  <xs:key name="identityConstraint">
-   <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
-   <xs:field xpath="@name"/>
-  </xs:key>
-
- </xs:element>
-
- <xs:simpleType name="allNNI">
-  <xs:annotation><xs:documentation>
-   for maxOccurs</xs:documentation></xs:annotation>
-  <xs:union memberTypes="xs:nonNegativeInteger">
-   <xs:simpleType>
-    <xs:restriction base="xs:NMTOKEN">
-     <xs:enumeration value="unbounded"/>
-    </xs:restriction>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
- <xs:attributeGroup name="occurs">
-  <xs:annotation><xs:documentation>
-   for all particles</xs:documentation></xs:annotation>
-  <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
-  <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="defRef">
-  <xs:annotation><xs:documentation>
-   for element, group and attributeGroup,
-   which both define and reference</xs:documentation></xs:annotation>
-  <xs:attribute name="name" type="xs:NCName"/>
-  <xs:attribute name="ref" type="xs:QName"/>
- </xs:attributeGroup>
-
- <xs:group name="typeDefParticle">
-  <xs:annotation>
-    <xs:documentation>
-   'complexType' uses this</xs:documentation></xs:annotation>
-  <xs:choice>
-   <xs:element name="group" type="xs:groupRef"/>
-   <xs:element ref="xs:all"/>
-   <xs:element ref="xs:choice"/>
-   <xs:element ref="xs:sequence"/>
-  </xs:choice>
- </xs:group>
- 
- 
-
- <xs:group name="nestedParticle">
-  <xs:choice>
-   <xs:element name="element" type="xs:localElement"/>
-   <xs:element name="group" type="xs:groupRef"/>
-   <xs:element ref="xs:choice"/>
-   <xs:element ref="xs:sequence"/>
-   <xs:element ref="xs:any"/>
-  </xs:choice>
- </xs:group>
- 
- <xs:group name="particle">
-  <xs:choice>
-   <xs:element name="element" type="xs:localElement"/>
-   <xs:element name="group" type="xs:groupRef"/>
-   <xs:element ref="xs:all"/>
-   <xs:element ref="xs:choice"/>
-   <xs:element ref="xs:sequence"/>
-   <xs:element ref="xs:any"/>
-  </xs:choice>
- </xs:group>
- 
- <xs:complexType name="attribute">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
-    </xs:sequence>
-    <xs:attributeGroup ref="xs:defRef"/>
-    <xs:attribute name="type" type="xs:QName"/>
-    <xs:attribute name="use" use="optional" default="optional">
-     <xs:simpleType>
-      <xs:restriction base="xs:NMTOKEN">
-       <xs:enumeration value="prohibited"/>
-       <xs:enumeration value="optional"/>
-       <xs:enumeration value="required"/>
-      </xs:restriction>
-     </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="default" type="xs:string"/>
-    <xs:attribute name="fixed" type="xs:string"/>
-    <xs:attribute name="form" type="xs:formChoice"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="topLevelAttribute">
-  <xs:complexContent>
-   <xs:restriction base="xs:attribute">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:attribute name="form" use="prohibited"/>
-    <xs:attribute name="use" use="prohibited"/>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="attrDecls">
-  <xs:sequence>
-   <xs:choice minOccurs="0" maxOccurs="unbounded">
-    <xs:element name="attribute" type="xs:attribute"/>
-    <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
-   </xs:choice>
-   <xs:element ref="xs:anyAttribute" minOccurs="0"/>
-  </xs:sequence>
- </xs:group>
-
- <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:group name="complexTypeModel">
-  <xs:choice>
-      <xs:element ref="xs:simpleContent"/>
-      <xs:element ref="xs:complexContent"/>
-      <xs:sequence>
-       <xs:annotation>
-        <xs:documentation>
-   This branch is short for
-   &lt;complexContent>
-   &lt;restriction base="xs:anyType">
-   ...
-   &lt;/restriction>
-   &lt;/complexContent></xs:documentation>
-       </xs:annotation>
-       <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
-       <xs:group ref="xs:attrDecls"/>
-      </xs:sequence>
-  </xs:choice>
- </xs:group>
-
- <xs:complexType name="complexType" abstract="true">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:group ref="xs:complexTypeModel"/>
-    <xs:attribute name="name" type="xs:NCName">
-     <xs:annotation>
-      <xs:documentation>
-      Will be restricted to required or forbidden</xs:documentation>
-     </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
-     <xs:annotation>
-      <xs:documentation>
-      Not allowed if simpleContent child is chosen.
-      May be overriden by setting on complexContent child.</xs:documentation>
-    </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
-    <xs:attribute name="final" type="xs:derivationSet"/>
-    <xs:attribute name="block" type="xs:derivationSet"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="topLevelComplexType">
-  <xs:complexContent>
-   <xs:restriction base="xs:complexType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:complexTypeModel"/>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:NCName" use="required"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="localComplexType">
-  <xs:complexContent>
-   <xs:restriction base="xs:complexType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:complexTypeModel"/>
-    </xs:sequence>
-    <xs:attribute name="name" use="prohibited"/>
-    <xs:attribute name="abstract" use="prohibited"/>
-    <xs:attribute name="final" use="prohibited"/>
-    <xs:attribute name="block" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="restrictionType">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:choice minOccurs="0">
-      <xs:group ref="xs:typeDefParticle"/>
-      <xs:group ref="xs:simpleRestrictionModel"/>
-     </xs:choice>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:attribute name="base" type="xs:QName" use="required"/>
-   </xs:extension>
-  </xs:complexContent>       
- </xs:complexType>
-
- <xs:complexType name="complexRestrictionType">
-  <xs:complexContent>
-   <xs:restriction base="xs:restrictionType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:annotation>
-       <xs:documentation>This choice is added simply to
-                   make this a valid restriction per the REC</xs:documentation>
-      </xs:annotation>
-      <xs:group ref="xs:typeDefParticle"/>
-     </xs:choice>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>       
- </xs:complexType>
-
- <xs:complexType name="extensionType">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:attribute name="base" type="xs:QName" use="required"/>
-   </xs:extension>
-  </xs:complexContent>       
- </xs:complexType>
-
- <xs:element name="complexContent" id="complexContent">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:choice>
-      <xs:element name="restriction" type="xs:complexRestrictionType"/>
-      <xs:element name="extension" type="xs:extensionType"/>
-     </xs:choice>     
-     <xs:attribute name="mixed" type="xs:boolean">
-      <xs:annotation>
-       <xs:documentation>
-       Overrides any setting on complexType parent.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:complexType name="simpleRestrictionType">
-  <xs:complexContent>
-   <xs:restriction base="xs:restrictionType">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:annotation>
-       <xs:documentation>This choice is added simply to
-                   make this a valid restriction per the REC</xs:documentation>
-      </xs:annotation>
-      <xs:group ref="xs:simpleRestrictionModel"/>
-     </xs:choice>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="simpleExtensionType">
-  <xs:complexContent>
-   <xs:restriction base="xs:extensionType">
-    <xs:sequence>
-     <xs:annotation>
-      <xs:documentation>
-      No typeDefParticle group reference</xs:documentation>
-     </xs:annotation>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="simpleContent" id="simpleContent">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:choice>
-      <xs:element name="restriction" type="xs:simpleRestrictionType"/>
-      <xs:element name="extension" type="xs:simpleExtensionType"/>
-     </xs:choice>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
- 
- <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
-  </xs:annotation>
- </xs:element>
-
-
-  <xs:simpleType name="blockSet">
-   <xs:annotation>
-    <xs:documentation>
-    A utility type, not for public use</xs:documentation>
-    <xs:documentation>
-    #all or (possibly empty) subset of {substitution, extension,
-    restriction}</xs:documentation>
-   </xs:annotation>
-   <xs:union>
-    <xs:simpleType>    
-     <xs:restriction base="xs:token">
-      <xs:enumeration value="#all"/>
-     </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType>
-     <xs:list>
-      <xs:simpleType>
-       <xs:restriction base="xs:derivationControl">
-        <xs:enumeration value="extension"/>
-        <xs:enumeration value="restriction"/>
-        <xs:enumeration value="substitution"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:list>
-    </xs:simpleType>
-   </xs:union>  
-  </xs:simpleType>
-
- <xs:complexType name="element" abstract="true">
-  <xs:annotation>
-   <xs: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.</xs:documentation>
-  </xs:annotation>
-
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:choice minOccurs="0">
-      <xs:element name="simpleType" type="xs:localSimpleType"/>
-      <xs:element name="complexType" type="xs:localComplexType"/>
-     </xs:choice>
-     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attributeGroup ref="xs:defRef"/>
-    <xs:attribute name="type" type="xs:QName"/>
-    <xs:attribute name="substitutionGroup" type="xs:QName"/>
-    <xs:attributeGroup ref="xs:occurs"/>
-    <xs:attribute name="default" type="xs:string"/>
-    <xs:attribute name="fixed" type="xs:string"/>
-    <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>
-    <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
-    <xs:attribute name="final" type="xs:derivationSet"/>
-    <xs:attribute name="block" type="xs:blockSet"/>
-    <xs:attribute name="form" type="xs:formChoice"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="topLevelElement">
-  <xs:complexContent>
-   <xs:restriction base="xs:element">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:element name="simpleType" type="xs:localSimpleType"/>
-      <xs:element name="complexType" type="xs:localComplexType"/>
-     </xs:choice>
-     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:attribute name="form" use="prohibited"/>
-    <xs:attribute name="minOccurs" use="prohibited"/>
-    <xs:attribute name="maxOccurs" use="prohibited"/>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="localElement">
-  <xs:complexContent>
-   <xs:restriction base="xs:element">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0">
-      <xs:element name="simpleType" type="xs:localSimpleType"/>
-      <xs:element name="complexType" type="xs:localComplexType"/>
-     </xs:choice>
-     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="substitutionGroup" use="prohibited"/>
-    <xs:attribute name="final" use="prohibited"/>
-    <xs:attribute name="abstract" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="element" type="xs:topLevelElement" id="element">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:complexType name="group" abstract="true">
-  <xs:annotation>
-   <xs:documentation>
-   group type for explicit groups, named top-level groups and
-   group references</xs:documentation>
-  </xs:annotation>
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
-    <xs:attributeGroup ref="xs:defRef"/>
-    <xs:attributeGroup ref="xs:occurs"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="realGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:group">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="0" maxOccurs="1">
-      <xs:element ref="xs:all"/>
-      <xs:element ref="xs:choice"/>
-      <xs:element ref="xs:sequence"/>
-     </xs:choice>
-    </xs:sequence>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="namedGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:realGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:choice minOccurs="1" maxOccurs="1">
-      <xs:element name="all">
-       <xs:complexType>
-        <xs:complexContent>
-         <xs:restriction base="xs:all">
-          <xs:group ref="xs:allModel"/>
-          <xs:attribute name="minOccurs" use="prohibited"/>
-          <xs:attribute name="maxOccurs" use="prohibited"/>
-          <xs:anyAttribute namespace="##other" processContents="lax"/>
-         </xs:restriction>
-        </xs:complexContent>
-       </xs:complexType>
-      </xs:element>
-      <xs:element name="choice" type="xs:simpleExplicitGroup"/>
-      <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
-     </xs:choice>
-    </xs:sequence>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:attribute name="minOccurs" use="prohibited"/>
-    <xs:attribute name="maxOccurs" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="groupRef">
-  <xs:complexContent>
-   <xs:restriction base="xs:realGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="required" type="xs:QName"/>
-    <xs:attribute name="name" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="explicitGroup">
-  <xs:annotation>
-   <xs:documentation>
-   group type for the three kinds of group</xs:documentation>
-  </xs:annotation>
-  <xs:complexContent>
-   <xs:restriction base="xs:group">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
-    <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="simpleExplicitGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:explicitGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="minOccurs" use="prohibited"/>
-    <xs:attribute name="maxOccurs" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:group name="allModel">
-  <xs:sequence>
-      <xs:element ref="xs:annotation" minOccurs="0"/>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-       <xs:annotation>
-        <xs:documentation>This choice with min/max is here to
-                          avoid a pblm with the Elt:All/Choice/Seq
-                          Particle derivation constraint</xs:documentation>
-       </xs:annotation>
-       <xs:element name="element" type="xs:elementInAll"/>
-      </xs:choice>
-     </xs:sequence>
- </xs:group>
-
-  <xs:complexType name="elementInAll">
-   <xs:annotation>
-    <xs:documentation>restricted max/min</xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-    <xs:restriction base="xs:localElement">
-     <xs:sequence>
-      <xs:element ref="xs:annotation" minOccurs="0"/>
-      <xs:choice minOccurs="0">
-       <xs:element name="simpleType" type="xs:localSimpleType"/>
-       <xs:element name="complexType" type="xs:localComplexType"/>
-      </xs:choice>
-      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
-     </xs:sequence>
-     <xs:attribute name="minOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:nonNegativeInteger">
-        <xs:enumeration value="0"/>
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:attribute name="maxOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:allNNI">
-        <xs:enumeration value="0"/>
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-   </xs:complexContent>
-  </xs:complexType>    
-
-  <xs:complexType name="all">
-   <xs:annotation>
-    <xs:documentation>
-   Only elements allowed inside</xs:documentation>
-   </xs:annotation>
-   <xs:complexContent>
-    <xs:restriction base="xs:explicitGroup">
-     <xs:group ref="xs:allModel"/>
-     <xs:attribute name="minOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:nonNegativeInteger">
-        <xs:enumeration value="0"/>
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:attribute name="maxOccurs" use="optional" default="1">
-      <xs:simpleType>
-       <xs:restriction base="xs:allNNI">
-        <xs:enumeration value="1"/>
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-     <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-   </xs:complexContent>
-  </xs:complexType>
-
- <xs:element name="all" id="all" type="xs:all">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="choice" type="xs:explicitGroup" id="choice">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="group" type="xs:namedGroup" id="group">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:complexType name="wildcard">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>
-    <xs:attribute name="processContents" use="optional" default="strict">
-     <xs:simpleType>
-      <xs:restriction base="xs:NMTOKEN">
-       <xs:enumeration value="skip"/>
-       <xs:enumeration value="lax"/>
-       <xs:enumeration value="strict"/>
-      </xs:restriction>
-     </xs:simpleType>
-    </xs:attribute>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="any" id="any">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:wildcard">
-     <xs:attributeGroup ref="xs:occurs"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
-  <xs:annotation>
-   <xs:documentation>
-   simple type for the value of the 'namespace' attr of
-   'any' and 'anyAttribute'</xs:documentation>
-  </xs:annotation>
-  <xs:annotation>
-   <xs: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</xs:documentation>
-  </xs:annotation>
-
- <xs:simpleType name="namespaceList">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:union>
-   <xs:simpleType>
-    <xs:restriction base="xs:token">
-     <xs:enumeration value="##any"/>
-     <xs:enumeration value="##other"/>
-    </xs:restriction>
-   </xs:simpleType>
-   <xs:simpleType>
-    <xs:list>
-     <xs:simpleType>
-      <xs:union memberTypes="xs:anyURI">
-       <xs:simpleType>
-        <xs:restriction base="xs:token">
-         <xs:enumeration value="##targetNamespace"/>
-         <xs:enumeration value="##local"/>
-        </xs:restriction>
-       </xs:simpleType>
-      </xs:union>
-     </xs:simpleType>
-    </xs:list>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
- <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:complexType name="attributeGroup" abstract="true">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:group ref="xs:attrDecls"/>
-    <xs:attributeGroup ref="xs:defRef"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- 
- <xs:complexType name="namedAttributeGroup">
-  <xs:complexContent>
-   <xs:restriction base="xs:attributeGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-     <xs:group ref="xs:attrDecls"/>
-    </xs:sequence>
-    <xs:attribute name="name" use="required" type="xs:NCName"/>
-    <xs:attribute name="ref" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="attributeGroupRef">
-  <xs:complexContent>
-   <xs:restriction base="xs:attributeGroup">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute name="ref" use="required" type="xs:QName"/>
-    <xs:attribute name="name" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
-  </xs:annotation>
- </xs:element>
-
- <xs:element name="include" id="include">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="redefine" id="redefine">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:openAttrs">
-     <xs:choice minOccurs="0" maxOccurs="unbounded">
-      <xs:element ref="xs:annotation"/>
-      <xs:group ref="xs:redefinable"/>
-     </xs:choice>
-     <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
-     <xs:attribute name="id" type="xs:ID"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="import" id="import">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:attribute name="namespace" type="xs:anyURI"/>
-     <xs:attribute name="schemaLocation" type="xs:anyURI"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="selector" id="selector">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
-  </xs:annotation>
-  <xs:complexType>
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-     <xs:attribute name="xpath" use="required">
-      <xs:simpleType>
-       <xs:annotation>
-        <xs:documentation>A subset of XPath expressions for use
-in selectors</xs:documentation>
-        <xs:documentation>A utility type, not for public
-use</xs:documentation>
-       </xs:annotation>
-       <xs:restriction base="xs:token">
-        <xs:annotation>
-         <xs: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
-         </xs:documentation>
-        </xs:annotation>
-        <!-- TSH commented out since this incorrectly does not allow white space -->
-        <!-- <xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*"> 
-        </xs:pattern> -->
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="field" id="field">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
-  </xs:annotation>
-  <xs:complexType>
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-     <xs:attribute name="xpath" use="required">
-      <xs:simpleType>
-       <xs:annotation>
-        <xs:documentation>A subset of XPath expressions for use
-in fields</xs:documentation>
-        <xs:documentation>A utility type, not for public
-use</xs:documentation>
-       </xs:annotation>
-       <xs:restriction base="xs:token">
-        <xs:annotation>
-         <xs: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 ) 
-         </xs:documentation>
-        </xs:annotation>
-        <!-- TSH commented out since this incorrectly does not allow white space -->
-        <!-- <xs: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*|\*)))))*"> 
-        </xs:pattern>-->
-       </xs:restriction>
-      </xs:simpleType>
-     </xs:attribute>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:complexType name="keybase">
-  <xs:complexContent>
-   <xs:extension base="xs:annotated">
-    <xs:sequence>
-     <xs:element ref="xs:selector"/>
-     <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:NCName" use="required"/>
-   </xs:extension>
-  </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="identityConstraint">
-  <xs:annotation>
-   <xs:documentation>The three kinds of identity constraints, all with
-                     type of or derived from 'keybase'.
-   </xs:documentation>
-  </xs:annotation>
-  <xs:choice>
-   <xs:element ref="xs:unique"/>
-   <xs:element ref="xs:key"/>
-   <xs:element ref="xs:keyref"/>
-  </xs:choice>
- </xs:group>
-
- <xs:element name="unique" type="xs:keybase" id="unique">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
-  </xs:annotation>
- </xs:element>
- <xs:element name="key" type="xs:keybase" id="key">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
-  </xs:annotation>
- </xs:element>
- <xs:element name="keyref" id="keyref">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:keybase">
-     <xs:attribute name="refer" type="xs:QName" use="required"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:element name="notation" id="notation">
-  <xs:annotation>
-   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
-  </xs:annotation>
-  <xs:complexType>
-   <xs:complexContent>
-    <xs:extension base="xs:annotated">
-     <xs:attribute name="name" type="xs:NCName" use="required"/>
-     <xs:attribute name="public" type="xs:public"/>
-     <xs:attribute name="system" type="xs:anyURI"/>
-    </xs:extension>
-   </xs:complexContent>
-  </xs:complexType>
- </xs:element>
-
- <xs:simpleType name="public">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-   <xs:documentation>
-   A public identifier, per ISO 8879</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token"/>
- </xs:simpleType>
-
- <xs:element name="appinfo" id="appinfo">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
-   </xs:annotation>
-   <xs:complexType mixed="true">
-    <xs:sequence minOccurs="0" maxOccurs="unbounded">
-     <xs:any processContents="lax"/>
-    </xs:sequence>
-    <xs:attribute name="source" type="xs:anyURI"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:complexType>
- </xs:element>
-
- <xs:element name="documentation" id="documentation">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
-   </xs:annotation>
-   <xs:complexType mixed="true">
-    <xs:sequence minOccurs="0" maxOccurs="unbounded">
-     <xs:any processContents="lax"/>
-    </xs:sequence>
-    <xs:attribute name="source" type="xs:anyURI"/>
-    <xs:attribute ref="xml:lang"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:complexType>
- </xs:element>
-
- <xs:element name="annotation" id="annotation">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
-   </xs:annotation>
-   <xs:complexType>
-    <xs:complexContent>
-     <xs:extension base="xs:openAttrs">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-       <xs:element ref="xs:appinfo"/>
-       <xs:element ref="xs:documentation"/>
-      </xs:choice>
-      <xs:attribute name="id" type="xs:ID"/>
-     </xs:extension>
-    </xs:complexContent>
-   </xs:complexType>
- </xs:element>
-
- <xs:annotation>
-  <xs:documentation>
-   notations for use within XML Schema schemas</xs:documentation>
- </xs:annotation>
-
- <xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
- <xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
-  
- <xs:complexType name="anyType" mixed="true">
-  <xs:annotation>
-   <xs:documentation>
-   Not the real urType, but as close an approximation as we can
-   get in the XML representation</xs:documentation>
-  </xs:annotation>
-  <xs:sequence>
-   <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
-  </xs:sequence>
-  <xs:anyAttribute processContents="lax"/>
- </xs:complexType>
-
-  <xs:annotation>
-    <xs:documentation>
-      First the built-in primitive datatypes.  These definitions are for
-      information only, the real built-in definitions are magic.
-    </xs:documentation>
-
-    <xs:documentation>
-      For each built-in datatype in this schema (both primitive and
-      derived) can be uniquely addressed via a URI constructed
-      as follows:
-        1) the base URI is the URI of the XML Schema namespace
-        2) the fragment identifier is the name of the datatype
-
-      For example, to address the int datatype, the URI is:
-
-        http://www.w3.org/2001/XMLSchema#int
-
-      Additionally, each facet definition element can be uniquely
-      addressed via a URI constructed as follows:
-        1) the base URI is the URI of the XML Schema namespace
-        2) the fragment identifier is the name of the facet
-
-      For example, to address the maxInclusive facet, the URI is:
-
-        http://www.w3.org/2001/XMLSchema#maxInclusive
-
-      Additionally, each facet usage in a built-in datatype definition
-      can be uniquely addressed via a URI constructed as follows:
-        1) the base URI is the URI of the XML Schema namespace
-        2) the fragment identifier is the name of the datatype, followed
-           by a period (".") followed by the name of the facet
-
-      For example, to address the usage of the maxInclusive facet in
-      the definition of int, the URI is:
-
-        http://www.w3.org/2001/XMLSchema#int.maxInclusive
-
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:simpleType name="string" id="string">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality" value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-                source="http://www.w3.org/TR/xmlschema-2/#string"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="preserve" id="string.preserve"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="boolean" id="boolean">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="boolean.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="float" id="float">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="total"/>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-        <hfp:hasProperty name="numeric" value="true"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#float"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="float.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="double" id="double">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="total"/>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-        <hfp:hasProperty name="numeric" value="true"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#double"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="double.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="decimal" id="decimal">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="totalDigits"/>
-        <hfp:hasFacet name="fractionDigits"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="total"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="true"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="decimal.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
-   <xs:simpleType name="duration" id="duration">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#duration"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="duration.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
- <xs:simpleType name="dateTime" id="dateTime">
-    <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="dateTime.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="time" id="time">
-    <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#time"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="time.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="date" id="date">
-   <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#date"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="date.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="gYearMonth" id="gYearMonth">
-   <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="gYearMonth.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="gYear" id="gYear">
-    <xs:annotation>
-    <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="gYear.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
- <xs:simpleType name="gMonthDay" id="gMonthDay">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-       <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-         <xs:whiteSpace value="collapse" fixed="true"
-                id="gMonthDay.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="gDay" id="gDay">
-    <xs:annotation>
-  <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-         <xs:whiteSpace value="collapse"  fixed="true"
-                id="gDay.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
- <xs:simpleType name="gMonth" id="gMonth">
-    <xs:annotation>
-  <xs:appinfo>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasFacet name="maxInclusive"/>
-        <hfp:hasFacet name="maxExclusive"/>
-        <hfp:hasFacet name="minInclusive"/>
-        <hfp:hasFacet name="minExclusive"/>
-        <hfp:hasProperty name="ordered" value="partial"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-         <xs:whiteSpace value="collapse"  fixed="true"
-                id="gMonth.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-   <xs:simpleType name="hexBinary" id="hexBinary">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#binary"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="hexBinary.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
- <xs:simpleType name="base64Binary" id="base64Binary">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-                source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse" fixed="true"
-        id="base64Binary.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
-   <xs:simpleType name="anyURI" id="anyURI">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="anyURI.whiteSpace"/>
-    </xs:restriction>
-   </xs:simpleType>
-
-  <xs:simpleType name="QName" id="QName">
-    <xs:annotation>
-        <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#QName"/>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="QName.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-   <xs:simpleType name="NOTATION" id="NOTATION">
-    <xs:annotation>
-        <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="pattern"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
-      <xs:documentation>
-        NOTATION cannot be used directly in a schema; rather a type
-        must be derived from it by specifying at least one enumeration
-        facet whose value is the name of a NOTATION declared in the
-        schema.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:anySimpleType">
-      <xs:whiteSpace value="collapse"  fixed="true"
-        id="NOTATION.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:annotation>
-    <xs:documentation>
-      Now the derived primitive types
-    </xs:documentation>
-  </xs:annotation>
-
-  <xs:simpleType name="normalizedString" id="normalizedString">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:whiteSpace value="replace"
-        id="normalizedString.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="token" id="token">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#token"/>
-    </xs:annotation>
-    <xs:restriction base="xs:normalizedString">
-      <xs:whiteSpace value="collapse" id="token.whiteSpace"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="language" id="language">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#language"/>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:pattern
-        value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*"
-                id="language.pattern">
-        <xs:annotation>
-          <xs:documentation
-                source="http://www.w3.org/TR/REC-xml#NT-LanguageID">
-            pattern specifies the content of section 2.12 of XML 1.0e2
-            and RFC 3066 (Revised version of RFC 1766).
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="IDREFS" id="IDREFS">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
-    </xs:annotation>
-    <xs:restriction>
-      <xs:simpleType>
-        <xs:list itemType="xs:IDREF"/>
-      </xs:simpleType>
-        <xs:minLength value="1" id="IDREFS.minLength"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="ENTITIES" id="ENTITIES">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
-    </xs:annotation>
-    <xs:restriction>
-      <xs:simpleType>
-        <xs:list itemType="xs:ENTITY"/>
-      </xs:simpleType>
-        <xs:minLength value="1" id="ENTITIES.minLength"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="NMTOKEN" id="NMTOKEN">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:pattern value="\c+" id="NMTOKEN.pattern">
-        <xs:annotation>
-          <xs:documentation
-                source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
-            pattern matches production 7 from the XML spec
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="NMTOKENS" id="NMTOKENS">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasFacet name="length"/>
-        <hfp:hasFacet name="minLength"/>
-        <hfp:hasFacet name="maxLength"/>
-        <hfp:hasFacet name="enumeration"/>
-        <hfp:hasFacet name="whiteSpace"/>
-        <hfp:hasProperty name="ordered" value="false"/>
-        <hfp:hasProperty name="bounded" value="false"/>
-        <hfp:hasProperty name="cardinality"
-                value="countably infinite"/>
-        <hfp:hasProperty name="numeric" value="false"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
-    </xs:annotation>
-    <xs:restriction>
-      <xs:simpleType>
-        <xs:list itemType="xs:NMTOKEN"/>
-      </xs:simpleType>
-        <xs:minLength value="1" id="NMTOKENS.minLength"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="Name" id="Name">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#Name"/>
-    </xs:annotation>
-    <xs:restriction base="xs:token">
-      <xs:pattern value="\i\c*" id="Name.pattern">
-        <xs:annotation>
-          <xs:documentation
-                        source="http://www.w3.org/TR/REC-xml#NT-Name">
-            pattern matches production 5 from the XML spec
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="NCName" id="NCName">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
-    </xs:annotation>
-    <xs:restriction base="xs:Name">
-      <xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">
-        <xs:annotation>
-          <xs:documentation
-                source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
-            pattern matches production 4 from the Namespaces in XML spec
-          </xs:documentation>
-        </xs:annotation>
-      </xs:pattern>
-    </xs:restriction>
-  </xs:simpleType>
-
-   <xs:simpleType name="ID" id="ID">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#ID"/>
-    </xs:annotation>
-    <xs:restriction base="xs:NCName"/>
-   </xs:simpleType>
-
-   <xs:simpleType name="IDREF" id="IDREF">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
-    </xs:annotation>
-    <xs:restriction base="xs:NCName"/>
-   </xs:simpleType>
-
-   <xs:simpleType name="ENTITY" id="ENTITY">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
-    </xs:annotation>
-    <xs:restriction base="xs:NCName"/>
-   </xs:simpleType>
-
-  <xs:simpleType name="integer" id="integer">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#integer"/>
-    </xs:annotation>
-    <xs:restriction base="xs:decimal">
-      <xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/>
-      <xs:pattern value='[-+]?[0-9]+'/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:integer">
-      <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="negativeInteger" id="negativeInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:nonPositiveInteger">
-      <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="long" id="long">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#long"/>
-    </xs:annotation>
-    <xs:restriction base="xs:integer">
-      <xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>
-      <xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="int" id="int">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#int"/>
-    </xs:annotation>
-    <xs:restriction base="xs:long">
-      <xs:minInclusive value="-2147483648" id="int.minInclusive"/>
-      <xs:maxInclusive value="2147483647" id="int.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="short" id="short">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#short"/>
-    </xs:annotation>
-    <xs:restriction base="xs:int">
-      <xs:minInclusive value="-32768" id="short.minInclusive"/>
-      <xs:maxInclusive value="32767" id="short.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="byte" id="byte">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#byte"/>
-    </xs:annotation>
-    <xs:restriction base="xs:short">
-      <xs:minInclusive value="-128" id="byte.minInclusive"/>
-      <xs:maxInclusive value="127" id="byte.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:integer">
-      <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedLong" id="unsignedLong">
-    <xs:annotation>
-      <xs:appinfo>
-        <hfp:hasProperty name="bounded" value="true"/>
-        <hfp:hasProperty name="cardinality" value="finite"/>
-      </xs:appinfo>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
-    </xs:annotation>
-    <xs:restriction base="xs:nonNegativeInteger">
-      <xs:maxInclusive value="18446744073709551615"
-        id="unsignedLong.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedInt" id="unsignedInt">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
-    </xs:annotation>
-    <xs:restriction base="xs:unsignedLong">
-      <xs:maxInclusive value="4294967295"
-        id="unsignedInt.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedShort" id="unsignedShort">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
-    </xs:annotation>
-    <xs:restriction base="xs:unsignedInt">
-      <xs:maxInclusive value="65535"
-        id="unsignedShort.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="unsignedByte" id="unsignedByte">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
-    </xs:annotation>
-    <xs:restriction base="xs:unsignedShort">
-      <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:simpleType name="positiveInteger" id="positiveInteger">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
-    </xs:annotation>
-    <xs:restriction base="xs:nonNegativeInteger">
-      <xs:minInclusive value="1" id="positiveInteger.minInclusive"/>
-    </xs:restriction>
-  </xs:simpleType>
-
- <xs:simpleType name="derivationControl">
-  <xs:annotation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:NMTOKEN">
-   <xs:enumeration value="substitution"/>
-   <xs:enumeration value="extension"/>
-   <xs:enumeration value="restriction"/>
-   <xs:enumeration value="list"/>
-   <xs:enumeration value="union"/>
-  </xs:restriction>
- </xs:simpleType>
-
- <xs:group name="simpleDerivation">
-  <xs:choice>
-    <xs:element ref="xs:restriction"/>
-    <xs:element ref="xs:list"/>
-    <xs:element ref="xs:union"/>
-  </xs:choice>
- </xs:group>
-
- <xs:simpleType name="simpleDerivationSet">
-  <xs:annotation>
-   <xs:documentation>
-   #all or (possibly empty) subset of {restriction, union, list}
-   </xs:documentation>
-   <xs:documentation>
-   A utility type, not for public use</xs:documentation>
-  </xs:annotation>
-  <xs:union>
-   <xs:simpleType>
-    <xs:restriction base="xs:token">
-     <xs:enumeration value="#all"/>
-    </xs:restriction>
-   </xs:simpleType>
-   <xs:simpleType>
-    <xs:restriction base="xs:derivationControl">
-     <xs:enumeration value="list"/>
-     <xs:enumeration value="union"/>
-     <xs:enumeration value="restriction"/>
-    </xs:restriction>
-   </xs:simpleType>
-  </xs:union>
- </xs:simpleType>
-
-  <xs:complexType name="simpleType" abstract="true">
-    <xs:complexContent>
-      <xs:extension base="xs:annotated">
-        <xs:group ref="xs:simpleDerivation"/>
-        <xs:attribute name="final" type="xs:simpleDerivationSet"/>
-        <xs:attribute name="name" type="xs:NCName">
-          <xs:annotation>
-            <xs:documentation>
-              Can be restricted to required or forbidden
-            </xs:documentation>
-          </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="topLevelSimpleType">
-    <xs:complexContent>
-      <xs:restriction base="xs:simpleType">
-        <xs:sequence>
-          <xs:element ref="xs:annotation" minOccurs="0"/>
-          <xs:group ref="xs:simpleDerivation"/>
-        </xs:sequence>
-        <xs:attribute name="name" use="required"
-             type="xs:NCName">
-          <xs:annotation>
-            <xs:documentation>
-              Required at the top level
-            </xs:documentation>
-          </xs:annotation>
-        </xs:attribute>
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="localSimpleType">
-    <xs:complexContent>
-      <xs:restriction base="xs:simpleType">
-        <xs:sequence>
-          <xs:element ref="xs:annotation" minOccurs="0"/>
-          <xs:group ref="xs:simpleDerivation"/>
-        </xs:sequence>
-        <xs:attribute name="name" use="prohibited">
-          <xs:annotation>
-            <xs:documentation>
-              Forbidden when nested
-            </xs:documentation>
-          </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="final" use="prohibited"/>
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:group name="facets">
-   <xs:annotation>
-    <xs: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.
-    </xs:documentation>
-   </xs:annotation>
-   <xs:choice>
-    <xs:element ref="xs:minExclusive"/>
-    <xs:element ref="xs:minInclusive"/>
-    <xs:element ref="xs:maxExclusive"/>
-    <xs:element ref="xs:maxInclusive"/>
-    <xs:element ref="xs:totalDigits"/>
-    <xs:element ref="xs:fractionDigits"/>
-    <xs:element ref="xs:length"/>
-    <xs:element ref="xs:minLength"/>
-    <xs:element ref="xs:maxLength"/>
-    <xs:element ref="xs:enumeration"/>
-    <xs:element ref="xs:whiteSpace"/>
-    <xs:element ref="xs:pattern"/>
-   </xs:choice>
-  </xs:group>
-
-  <xs:group name="simpleRestrictionModel">
-   <xs:sequence>
-    <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
-    <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
-   </xs:sequence>
-  </xs:group>
-
-  <xs:element name="restriction" id="restriction">
-   <xs:complexType>
-    <xs:annotation>
-      <xs: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
-        </xs:documentation>
-      </xs:annotation>
-      <xs:complexContent>
-        <xs:extension base="xs:annotated">
-         <xs:group ref="xs:simpleRestrictionModel"/>
-         <xs:attribute name="base" type="xs:QName" use="optional"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="list" id="list">
-   <xs:complexType>
-    <xs:annotation>
-      <xs: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
-        </xs:documentation>
-      </xs:annotation>
-      <xs:complexContent>
-        <xs:extension base="xs:annotated">
-          <xs:sequence>
-            <xs:element name="simpleType" type="xs:localSimpleType"
-                minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="itemType" type="xs:QName" use="optional"/>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="union" id="union">
-   <xs:complexType>
-    <xs:annotation>
-      <xs: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
-        </xs:documentation>
-      </xs:annotation>
-      <xs:complexContent>
-        <xs:extension base="xs:annotated">
-          <xs:sequence>
-            <xs:element name="simpleType" type="xs:localSimpleType"
-                minOccurs="0" maxOccurs="unbounded"/>
-          </xs:sequence>
-          <xs:attribute name="memberTypes" use="optional">
-            <xs:simpleType>
-              <xs:list itemType="xs:QName"/>
-            </xs:simpleType>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:complexType name="facet">
-    <xs:complexContent>
-      <xs:extension base="xs:annotated">
-        <xs:attribute name="value" use="required"/>
-        <xs:attribute name="fixed" type="xs:boolean" use="optional"
-                      default="false"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
- <xs:complexType name="noFixedFacet">
-  <xs:complexContent>
-   <xs:restriction base="xs:facet">
-    <xs:sequence>
-     <xs:element ref="xs:annotation" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute name="fixed" use="prohibited"/>
-    <xs:anyAttribute namespace="##other" processContents="lax"/>
-   </xs:restriction>
-  </xs:complexContent>
- </xs:complexType>
-
-  <xs:element name="minExclusive" id="minExclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="minInclusive" id="minInclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="maxExclusive" id="maxExclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="maxInclusive" id="maxInclusive" type="xs:facet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:complexType name="numFacet">
-    <xs:complexContent>
-      <xs:restriction base="xs:facet">
-       <xs:sequence>
-         <xs:element ref="xs:annotation" minOccurs="0"/>
-       </xs:sequence>
-       <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
-       <xs:anyAttribute namespace="##other" processContents="lax"/>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:element name="totalDigits" id="totalDigits">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:restriction base="xs:numFacet">
-          <xs:sequence>
-            <xs:element ref="xs:annotation" minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="value" type="xs:positiveInteger" use="required"/>
-         <xs:anyAttribute namespace="##other" processContents="lax"/>
-        </xs:restriction>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="length" id="length" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="minLength" id="minLength" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="maxLength" id="maxLength" type="xs:numFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
-    </xs:annotation>
-  </xs:element>
-
-  <xs:element name="whiteSpace" id="whiteSpace">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:restriction base="xs:facet">
-          <xs:sequence>
-            <xs:element ref="xs:annotation" minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="value" use="required">
-            <xs:simpleType>
-              <xs:restriction base="xs:NMTOKEN">
-                <xs:enumeration value="preserve"/>
-                <xs:enumeration value="replace"/>
-                <xs:enumeration value="collapse"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-         <xs:anyAttribute namespace="##other" processContents="lax"/>
-        </xs:restriction>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="pattern" id="pattern">
-    <xs:annotation>
-      <xs:documentation
-        source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:restriction base="xs:noFixedFacet">
-          <xs:sequence>
-            <xs:element ref="xs:annotation" minOccurs="0"/>
-          </xs:sequence>
-          <xs:attribute name="value" type="xs:string" use="required"/>
-         <xs:anyAttribute namespace="##other" processContents="lax"/>
-        </xs:restriction>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-
-</xs:schema>